diff --git a/.bazelrc.common b/.bazelrc.common index e210b06ed2706..8d865f904d600 100644 --- a/.bazelrc.common +++ b/.bazelrc.common @@ -132,6 +132,9 @@ coverage --instrument_test_targets # Metadata settings build --workspace_status_command="node ./src/dev/bazel_workspace_status.js" +# Load remote cache settings, if they exist +try-import %workspace%/.bazelrc.cache + # Load any settings specific to the current user. # .bazelrc.user should appear in .gitignore so that settings are not shared with team members # This needs to be last statement in this diff --git a/.buildkite/pipelines/bazel_cache.yml b/.buildkite/pipelines/bazel_cache.yml index daf56eb712a8d..9aa961bcddbd2 100644 --- a/.buildkite/pipelines/bazel_cache.yml +++ b/.buildkite/pipelines/bazel_cache.yml @@ -1,5 +1,7 @@ steps: - label: ':pipeline: Create pipeline with priority' + agents: + queue: kibana-default concurrency_group: bazel_macos concurrency: 1 concurrency_method: eager diff --git a/.buildkite/pipelines/docker_context.yml b/.buildkite/pipelines/docker_context.yml new file mode 100644 index 0000000000000..f85b895e4780b --- /dev/null +++ b/.buildkite/pipelines/docker_context.yml @@ -0,0 +1,11 @@ + steps: + - command: .buildkite/scripts/steps/docker_context/build.sh + label: 'Docker Build Context' + agents: + queue: n2-4 + timeout_in_minutes: 30 + key: build-docker-context + retry: + automatic: + - exit_status: '*' + limit: 1 \ No newline at end of file diff --git a/.buildkite/pipelines/es_forward.yml b/.buildkite/pipelines/es_forward.yml new file mode 100755 index 0000000000000..5de7f91876298 --- /dev/null +++ b/.buildkite/pipelines/es_forward.yml @@ -0,0 +1,82 @@ +steps: + - command: .buildkite/scripts/lifecycle/pre_build.sh + label: Pre-Build + timeout_in_minutes: 10 + agents: + queue: kibana-default + + - wait + + - command: .buildkite/scripts/steps/build_kibana.sh + label: Build Kibana Distribution and Plugins + agents: + queue: c2-16 + key: build + if: "build.env('KIBANA_BUILD_ID') == null || build.env('KIBANA_BUILD_ID') == ''" + timeout_in_minutes: 60 + + - command: .buildkite/scripts/steps/functional/xpack_cigroup.sh + label: 'Default CI Group' + parallelism: 27 + agents: + queue: n2-4 + depends_on: build + timeout_in_minutes: 150 + key: default-cigroup + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: CI_GROUP=Docker .buildkite/scripts/steps/functional/xpack_cigroup.sh + label: 'Docker CI Group' + agents: + queue: n2-4 + depends_on: build + timeout_in_minutes: 120 + key: default-cigroup-docker + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: .buildkite/scripts/steps/functional/oss_cigroup.sh + label: 'OSS CI Group' + parallelism: 11 + agents: + queue: n2-4 + depends_on: build + timeout_in_minutes: 120 + key: oss-cigroup + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: .buildkite/scripts/steps/test/jest_integration.sh + label: 'Jest Integration Tests' + parallelism: 3 + agents: + queue: n2-4 + timeout_in_minutes: 120 + key: jest-integration + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: .buildkite/scripts/steps/test/api_integration.sh + label: 'API Integration Tests' + agents: + queue: n2-2 + timeout_in_minutes: 120 + key: api-integration + + - wait: ~ + continue_on_failure: true + + - command: .buildkite/scripts/lifecycle/post_build.sh + label: Post-Build + timeout_in_minutes: 10 + agents: + queue: kibana-default diff --git a/.buildkite/pipelines/es_snapshots/promote.yml b/.buildkite/pipelines/es_snapshots/promote.yml index 5a003321246a1..f2f7b423c94c2 100644 --- a/.buildkite/pipelines/es_snapshots/promote.yml +++ b/.buildkite/pipelines/es_snapshots/promote.yml @@ -10,3 +10,5 @@ steps: required: true - label: Promote Snapshot command: .buildkite/scripts/steps/es_snapshots/promote.sh + agents: + queue: kibana-default diff --git a/.buildkite/pipelines/es_snapshots/verify.yml b/.buildkite/pipelines/es_snapshots/verify.yml index 7d700b1e0f489..18f3440b4acf7 100755 --- a/.buildkite/pipelines/es_snapshots/verify.yml +++ b/.buildkite/pipelines/es_snapshots/verify.yml @@ -14,6 +14,8 @@ steps: - command: .buildkite/scripts/lifecycle/pre_build.sh label: Pre-Build timeout_in_minutes: 10 + agents: + queue: kibana-default - wait @@ -65,6 +67,7 @@ steps: - command: .buildkite/scripts/steps/test/jest_integration.sh label: 'Jest Integration Tests' + parallelism: 3 agents: queue: n2-4 timeout_in_minutes: 120 @@ -84,6 +87,8 @@ steps: - command: .buildkite/scripts/steps/es_snapshots/trigger_promote.sh label: Trigger promotion timeout_in_minutes: 10 + agents: + queue: kibana-default depends_on: - default-cigroup - default-cigroup-docker @@ -97,3 +102,5 @@ steps: - command: .buildkite/scripts/lifecycle/post_build.sh label: Post-Build timeout_in_minutes: 10 + agents: + queue: kibana-default diff --git a/.buildkite/pipelines/flaky_tests/pipeline.js b/.buildkite/pipelines/flaky_tests/pipeline.js index 68e19c8e275d7..b7f93412edb37 100644 --- a/.buildkite/pipelines/flaky_tests/pipeline.js +++ b/.buildkite/pipelines/flaky_tests/pipeline.js @@ -1,6 +1,14 @@ -const groups = /** @type {Array<{key: string, name: string, ciGroups: number }>} */( +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +const groups = /** @type {Array<{key: string, name: string, ciGroups: number }>} */ ( require('./groups.json').groups -) +); const stepInput = (key, nameOfSuite) => { return { @@ -22,10 +30,10 @@ const inputs = [ for (const group of groups) { if (!group.ciGroups) { - inputs.push(stepInput(group.key, group.name)) + inputs.push(stepInput(group.key, group.name)); } else { for (let i = 1; i <= group.ciGroups; i++) { - inputs.push(stepInput(`${group.key}/${i}`, `${group.name} ${i}`)) + inputs.push(stepInput(`${group.key}/${i}`, `${group.name} ${i}`)); } } } @@ -35,7 +43,7 @@ const pipeline = { { input: 'Number of Runs - Click Me', fields: inputs, - if: `build.env('KIBANA_FLAKY_TEST_RUNNER_CONFIG') == null` + if: `build.env('KIBANA_FLAKY_TEST_RUNNER_CONFIG') == null`, }, { wait: '~', @@ -43,6 +51,9 @@ const pipeline = { { command: '.buildkite/pipelines/flaky_tests/runner.sh', label: 'Create pipeline', + agents: { + queue: 'kibana-default', + }, }, ], }; diff --git a/.buildkite/pipelines/flaky_tests/runner.js b/.buildkite/pipelines/flaky_tests/runner.js index 54da6890b2b07..35872fcbf2c02 100644 --- a/.buildkite/pipelines/flaky_tests/runner.js +++ b/.buildkite/pipelines/flaky_tests/runner.js @@ -1,3 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + const { execSync } = require('child_process'); const concurrency = 25; @@ -10,7 +18,9 @@ function getTestSuitesFromMetadata() { .split('\n') .filter((k) => k.startsWith('ftsr-suite/')); - const overrideCount = execSync(`buildkite-agent meta-data get 'ftsr-override-count'`).toString().trim(); + const overrideCount = execSync(`buildkite-agent meta-data get 'ftsr-override-count'`) + .toString() + .trim(); const testSuites = []; for (const key of keys) { @@ -19,66 +29,66 @@ function getTestSuitesFromMetadata() { } const value = - overrideCount || execSync(`buildkite-agent meta-data get '${key}'`).toString().trim(); + overrideCount && overrideCount !== '0' + ? overrideCount + : execSync(`buildkite-agent meta-data get '${key}'`).toString().trim(); const count = value === '' ? defaultCount : parseInt(value); - totalJobs += count; - testSuites.push({ key: key.replace('ftsr-suite/', ''), count: count, }); } - return testSuites + return testSuites; } function getTestSuitesFromJson(json) { const fail = (errorMsg) => { - console.error('+++ Invalid test config provided') + console.error('+++ Invalid test config provided'); console.error(`${errorMsg}: ${json}`); process.exit(1); - } + }; let parsed; try { - parsed = JSON.parse(json) + parsed = JSON.parse(json); } catch (error) { - fail(`JSON test config did not parse correctly`) + fail(`JSON test config did not parse correctly`); } if (!Array.isArray(parsed)) { - fail(`JSON test config must be an array`) + fail(`JSON test config must be an array`); } /** @type {Array<{ key: string, count: number }>} */ - const testSuites = [] + const testSuites = []; for (const item of parsed) { if (typeof item !== 'object' || item === null) { - fail(`testSuites must be objects`) + fail(`testSuites must be objects`); } - const key = item.key + const key = item.key; if (typeof key !== 'string') { - fail(`testSuite.key must be a string`) + fail(`testSuite.key must be a string`); } const count = item.count; if (typeof count !== 'number') { - fail(`testSuite.count must be a number`) + fail(`testSuite.count must be a number`); } testSuites.push({ key, count, - }) + }); } - return testSuites + return testSuites; } const testSuites = process.env.KIBANA_FLAKY_TEST_RUNNER_CONFIG ? getTestSuitesFromJson(process.env.KIBANA_FLAKY_TEST_RUNNER_CONFIG) : getTestSuitesFromMetadata(); -let totalJobs = testSuites.reduce((acc, t) => acc + t.count, initialJobs); +const totalJobs = testSuites.reduce((acc, t) => acc + t.count, initialJobs); if (totalJobs > 500) { console.error('+++ Too many tests'); @@ -103,7 +113,7 @@ steps.push({ label: 'Build Kibana Distribution and Plugins', agents: { queue: 'c2-8' }, key: 'build', - if: "build.env('BUILD_ID_FOR_ARTIFACTS') == null || build.env('BUILD_ID_FOR_ARTIFACTS') == ''", + if: "build.env('KIBANA_BUILD_ID') == null || build.env('KIBANA_BUILD_ID') == ''", }); for (const testSuite of testSuites) { diff --git a/.buildkite/pipelines/hourly.yml b/.buildkite/pipelines/hourly.yml deleted file mode 100644 index e0a072684e033..0000000000000 --- a/.buildkite/pipelines/hourly.yml +++ /dev/null @@ -1,177 +0,0 @@ -env: - REPORT_FAILED_TESTS_TO_GITHUB: 'true' -steps: - - command: .buildkite/scripts/lifecycle/pre_build.sh - label: Pre-Build - timeout_in_minutes: 10 - - - wait - - - command: .buildkite/scripts/steps/build_kibana.sh - label: Build Kibana Distribution and Plugins - agents: - queue: c2-16 - key: build - if: "build.env('KIBANA_BUILD_ID') == null || build.env('KIBANA_BUILD_ID') == ''" - timeout_in_minutes: 60 - - - command: .buildkite/scripts/steps/functional/xpack_cigroup.sh - label: 'Default CI Group' - parallelism: 27 - agents: - queue: n2-4 - depends_on: build - timeout_in_minutes: 150 - key: default-cigroup - retry: - automatic: - - exit_status: '*' - limit: 1 - - - command: CI_GROUP=Docker .buildkite/scripts/steps/functional/xpack_cigroup.sh - label: 'Docker CI Group' - agents: - queue: n2-4 - depends_on: build - timeout_in_minutes: 120 - key: default-cigroup-docker - retry: - automatic: - - exit_status: '*' - limit: 1 - - - command: .buildkite/scripts/steps/functional/oss_cigroup.sh - label: 'OSS CI Group' - parallelism: 11 - agents: - queue: ci-group-4d - depends_on: build - timeout_in_minutes: 120 - key: oss-cigroup - retry: - automatic: - - exit_status: '*' - limit: 1 - - - command: .buildkite/scripts/steps/functional/oss_accessibility.sh - label: 'OSS Accessibility Tests' - agents: - queue: ci-group-4d - depends_on: build - timeout_in_minutes: 120 - retry: - automatic: - - exit_status: '*' - limit: 1 - - - command: .buildkite/scripts/steps/functional/xpack_accessibility.sh - label: 'Default Accessibility Tests' - agents: - queue: n2-4 - depends_on: build - timeout_in_minutes: 120 - retry: - automatic: - - exit_status: '*' - limit: 1 - - - command: .buildkite/scripts/steps/functional/oss_firefox.sh - label: 'OSS Firefox Tests' - agents: - queue: ci-group-4d - depends_on: build - timeout_in_minutes: 120 - retry: - automatic: - - exit_status: '*' - limit: 1 - - - command: .buildkite/scripts/steps/functional/xpack_firefox.sh - label: 'Default Firefox Tests' - agents: - queue: n2-4 - depends_on: build - timeout_in_minutes: 120 - retry: - automatic: - - exit_status: '*' - limit: 1 - - - command: .buildkite/scripts/steps/functional/oss_misc.sh - label: 'OSS Misc Functional Tests' - agents: - queue: n2-4 - depends_on: build - timeout_in_minutes: 120 - retry: - automatic: - - exit_status: '*' - limit: 1 - - - command: .buildkite/scripts/steps/functional/xpack_saved_object_field_metrics.sh - label: 'Saved Object Field Metrics' - agents: - queue: n2-4 - depends_on: build - timeout_in_minutes: 120 - retry: - automatic: - - exit_status: '*' - limit: 1 - - - command: .buildkite/scripts/steps/test/jest.sh - label: 'Jest Tests' - parallelism: 8 - agents: - queue: n2-4 - timeout_in_minutes: 90 - key: jest - - - command: .buildkite/scripts/steps/test/jest_integration.sh - label: 'Jest Integration Tests' - agents: - queue: n2-4 - timeout_in_minutes: 120 - key: jest-integration - - - command: .buildkite/scripts/steps/test/api_integration.sh - label: 'API Integration Tests' - agents: - queue: n2-2 - timeout_in_minutes: 120 - key: api-integration - - - command: .buildkite/scripts/steps/lint.sh - label: 'Linting' - agents: - queue: n2-2 - key: linting - timeout_in_minutes: 90 - - - command: .buildkite/scripts/steps/lint_with_types.sh - label: 'Linting (with types)' - agents: - queue: c2-16 - key: linting_with_types - timeout_in_minutes: 90 - - - command: .buildkite/scripts/steps/checks.sh - label: 'Checks' - agents: - queue: c2-8 - key: checks - timeout_in_minutes: 120 - - - command: .buildkite/scripts/steps/storybooks/build_and_upload.sh - label: 'Build Storybooks' - agents: - queue: c2-4 - key: storybooks - timeout_in_minutes: 60 - - - wait: ~ - continue_on_failure: true - - - command: .buildkite/scripts/lifecycle/post_build.sh - label: Post-Build - timeout_in_minutes: 10 diff --git a/.buildkite/pipelines/on_merge.yml b/.buildkite/pipelines/on_merge.yml index efe522f592ecd..3e54882d1ef62 100644 --- a/.buildkite/pipelines/on_merge.yml +++ b/.buildkite/pipelines/on_merge.yml @@ -5,20 +5,204 @@ steps: - command: .buildkite/scripts/lifecycle/pre_build.sh label: Pre-Build timeout_in_minutes: 10 + agents: + queue: kibana-default + retry: + automatic: + - exit_status: '*' + limit: 1 - wait - command: .buildkite/scripts/steps/on_merge_build_and_metrics.sh - label: Default Build and Metrics + label: Build Kibana Distribution and Plugins agents: - queue: c2-8 + queue: c2-16 + key: build timeout_in_minutes: 60 + retry: + automatic: + - exit_status: '*' + limit: 1 - command: .buildkite/scripts/steps/on_merge_ts_refs_api_docs.sh label: Build TS Refs and Check Public API Docs + key: public-api-docs agents: queue: c2-4 timeout_in_minutes: 80 + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: .buildkite/scripts/steps/ci_stats_ready.sh + label: Mark CI Stats as ready + agents: + queue: kibana-default + timeout_in_minutes: 10 + depends_on: + - build + - public-api-docs + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: .buildkite/scripts/steps/functional/xpack_cigroup.sh + label: 'Default CI Group' + parallelism: 27 + agents: + queue: n2-4 + depends_on: build + timeout_in_minutes: 150 + key: default-cigroup + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: CI_GROUP=Docker .buildkite/scripts/steps/functional/xpack_cigroup.sh + label: 'Docker CI Group' + agents: + queue: n2-4 + depends_on: build + timeout_in_minutes: 120 + key: default-cigroup-docker + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: .buildkite/scripts/steps/functional/oss_cigroup.sh + label: 'OSS CI Group' + parallelism: 11 + agents: + queue: ci-group-4d + depends_on: build + timeout_in_minutes: 120 + key: oss-cigroup + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: .buildkite/scripts/steps/functional/oss_accessibility.sh + label: 'OSS Accessibility Tests' + agents: + queue: ci-group-4d + depends_on: build + timeout_in_minutes: 120 + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: .buildkite/scripts/steps/functional/xpack_accessibility.sh + label: 'Default Accessibility Tests' + agents: + queue: n2-4 + depends_on: build + timeout_in_minutes: 120 + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: .buildkite/scripts/steps/functional/oss_firefox.sh + label: 'OSS Firefox Tests' + agents: + queue: ci-group-4d + depends_on: build + timeout_in_minutes: 120 + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: .buildkite/scripts/steps/functional/xpack_firefox.sh + label: 'Default Firefox Tests' + agents: + queue: n2-4 + depends_on: build + timeout_in_minutes: 120 + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: .buildkite/scripts/steps/functional/oss_misc.sh + label: 'OSS Misc Functional Tests' + agents: + queue: n2-4 + depends_on: build + timeout_in_minutes: 120 + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: .buildkite/scripts/steps/functional/xpack_saved_object_field_metrics.sh + label: 'Saved Object Field Metrics' + agents: + queue: n2-4 + depends_on: build + timeout_in_minutes: 120 + retry: + automatic: + - exit_status: '*' + limit: 1 + + - command: .buildkite/scripts/steps/test/jest.sh + label: 'Jest Tests' + parallelism: 8 + agents: + queue: n2-4 + timeout_in_minutes: 90 + key: jest + + - command: .buildkite/scripts/steps/test/jest_integration.sh + label: 'Jest Integration Tests' + parallelism: 3 + agents: + queue: n2-4 + timeout_in_minutes: 120 + key: jest-integration + + - command: .buildkite/scripts/steps/test/api_integration.sh + label: 'API Integration Tests' + agents: + queue: n2-2 + timeout_in_minutes: 120 + key: api-integration + + - command: .buildkite/scripts/steps/lint.sh + label: 'Linting' + agents: + queue: n2-2 + key: linting + timeout_in_minutes: 90 + + - command: .buildkite/scripts/steps/lint_with_types.sh + label: 'Linting (with types)' + agents: + queue: c2-16 + key: linting_with_types + timeout_in_minutes: 90 + + - command: .buildkite/scripts/steps/checks.sh + label: 'Checks' + agents: + queue: c2-8 + key: checks + timeout_in_minutes: 120 + + - command: .buildkite/scripts/steps/storybooks/build_and_upload.sh + label: 'Build Storybooks' + agents: + queue: c2-4 + key: storybooks + timeout_in_minutes: 60 - wait: ~ continue_on_failure: true @@ -26,3 +210,5 @@ steps: - command: .buildkite/scripts/lifecycle/post_build.sh label: Post-Build timeout_in_minutes: 10 + agents: + queue: kibana-default diff --git a/.buildkite/pipelines/package_testing.yml b/.buildkite/pipelines/package_testing.yml new file mode 100644 index 0000000000000..e9e1ca896c949 --- /dev/null +++ b/.buildkite/pipelines/package_testing.yml @@ -0,0 +1,27 @@ +steps: + - command: .buildkite/scripts/steps/package_testing/build.sh + label: Build Packages + agents: + queue: c2-16 + timeout_in_minutes: 60 + if: "build.env('KIBANA_BUILD_ID') == null || build.env('KIBANA_BUILD_ID') == ''" + + - wait + + - command: TEST_PACKAGE=deb .buildkite/scripts/steps/package_testing/test.sh + label: Package testing for deb + agents: + queue: n2-4-virt + timeout_in_minutes: 60 + + - command: TEST_PACKAGE=rpm .buildkite/scripts/steps/package_testing/test.sh + label: Package testing for rpm + agents: + queue: n2-4-virt + timeout_in_minutes: 60 + + - command: TEST_PACKAGE=docker .buildkite/scripts/steps/package_testing/test.sh + label: Package testing for docker + agents: + queue: n2-4-virt + timeout_in_minutes: 60 diff --git a/.buildkite/pipelines/performance/daily.yml b/.buildkite/pipelines/performance/daily.yml new file mode 100644 index 0000000000000..564bfb5e501b3 --- /dev/null +++ b/.buildkite/pipelines/performance/daily.yml @@ -0,0 +1,36 @@ +steps: + - block: ':gear: Performance Tests Configuration' + prompt: 'Fill out the details for performance test' + fields: + - text: ':arrows_counterclockwise: Iterations' + key: 'performance-test-iteration-count' + hint: 'How many times you want to run tests? ' + required: true + if: build.env('PERF_TEST_COUNT') == null + + - label: ':male-mechanic::skin-tone-2: Pre-Build' + command: .buildkite/scripts/lifecycle/pre_build.sh + agents: + queue: kibana-default + + - wait + + - label: ':factory_worker: Build Kibana Distribution and Plugins' + command: .buildkite/scripts/steps/build_kibana.sh + agents: + queue: c2-16 + key: build + + - label: ':muscle: Performance Tests with Playwright config' + command: .buildkite/scripts/steps/functional/performance_playwright.sh + agents: + queue: c2-16 + depends_on: build + + - wait: ~ + continue_on_failure: true + + - label: ':male_superhero::skin-tone-2: Post-Build' + command: .buildkite/scripts/lifecycle/post_build.sh + agents: + queue: kibana-default diff --git a/.buildkite/pipelines/performance/nightly.yml b/.buildkite/pipelines/performance/nightly.yml deleted file mode 100644 index dfee1061815c3..0000000000000 --- a/.buildkite/pipelines/performance/nightly.yml +++ /dev/null @@ -1,33 +0,0 @@ -steps: - - block: ":gear: Performance Tests Configuration" - prompt: "Fill out the details for performance test" - fields: - - text: ":arrows_counterclockwise: Iterations" - key: "performance-test-iteration-count" - hint: "How many times you want to run tests? " - required: true - if: build.env('ITERATION_COUNT_ENV') == null - - - label: ":male-mechanic::skin-tone-2: Pre-Build" - command: .buildkite/scripts/lifecycle/pre_build.sh - - - wait - - - label: ":factory_worker: Build Kibana Distribution and Plugins" - command: .buildkite/scripts/steps/build_kibana.sh - agents: - queue: c2-16 - key: build - - - label: ":muscle: Performance Tests" - command: .buildkite/scripts/steps/functional/performance.sh - agents: - queue: ci-group-6 - depends_on: build - - - wait: ~ - continue_on_failure: true - - - label: ":male_superhero::skin-tone-2: Post-Build" - command: .buildkite/scripts/lifecycle/post_build.sh - diff --git a/.buildkite/pipelines/pull_request.yml b/.buildkite/pipelines/pull_request.yml deleted file mode 100644 index 41c13bb403e1a..0000000000000 --- a/.buildkite/pipelines/pull_request.yml +++ /dev/null @@ -1,17 +0,0 @@ -env: - GITHUB_COMMIT_STATUS_ENABLED: 'true' - GITHUB_COMMIT_STATUS_CONTEXT: 'buildkite/kibana-pull-request' -steps: - - command: .buildkite/scripts/lifecycle/pre_build.sh - label: Pre-Build - - - wait - - - command: echo 'Hello World' - label: Test - - - wait: ~ - continue_on_failure: true - - - command: .buildkite/scripts/lifecycle/post_build.sh - label: Post-Build diff --git a/.buildkite/pipelines/pull_request/base.yml b/.buildkite/pipelines/pull_request/base.yml index b99473c23d746..8151455db65fe 100644 --- a/.buildkite/pipelines/pull_request/base.yml +++ b/.buildkite/pipelines/pull_request/base.yml @@ -2,6 +2,8 @@ steps: - command: .buildkite/scripts/lifecycle/pre_build.sh label: Pre-Build timeout_in_minutes: 10 + agents: + queue: kibana-default - wait @@ -127,6 +129,7 @@ steps: - command: .buildkite/scripts/steps/test/jest_integration.sh label: 'Jest Integration Tests' + parallelism: 3 agents: queue: n2-4 timeout_in_minutes: 120 @@ -166,3 +169,10 @@ steps: queue: c2-4 key: storybooks timeout_in_minutes: 60 + + - command: .buildkite/scripts/steps/build_api_docs.sh + label: 'Build API Docs' + agents: + queue: n2-4 + key: build_api_docs + timeout_in_minutes: 60 diff --git a/.buildkite/pipelines/pull_request/post_build.yml b/.buildkite/pipelines/pull_request/post_build.yml index 4f252bf8abc11..63f7169334584 100644 --- a/.buildkite/pipelines/pull_request/post_build.yml +++ b/.buildkite/pipelines/pull_request/post_build.yml @@ -4,3 +4,5 @@ steps: - command: .buildkite/scripts/lifecycle/post_build.sh label: Post-Build + agents: + queue: kibana-default diff --git a/.buildkite/pipelines/update_demo_env.yml b/.buildkite/pipelines/update_demo_env.yml index e2dfdd782fd41..12c4f296f5dfd 100644 --- a/.buildkite/pipelines/update_demo_env.yml +++ b/.buildkite/pipelines/update_demo_env.yml @@ -2,6 +2,8 @@ steps: - command: .buildkite/scripts/steps/demo_env/es_and_init.sh label: Initialize Environment and Deploy ES timeout_in_minutes: 10 + agents: + queue: kibana-default - command: .buildkite/scripts/steps/demo_env/kibana.sh label: Build and Deploy Kibana diff --git a/.buildkite/scripts/bootstrap.sh b/.buildkite/scripts/bootstrap.sh index d4e8434fe6df8..dbba709d883d1 100755 --- a/.buildkite/scripts/bootstrap.sh +++ b/.buildkite/scripts/bootstrap.sh @@ -15,11 +15,11 @@ if ! yarn kbn bootstrap; then rm -rf node_modules echo "--- yarn install and bootstrap, attempt 2" - yarn kbn bootstrap + yarn kbn bootstrap --force-install fi if [[ "$DISABLE_BOOTSTRAP_VALIDATION" != "true" ]]; then - verify_no_git_changes 'yarn kbn bootstrap' + check_for_changed_files 'yarn kbn bootstrap' fi ### diff --git a/.buildkite/scripts/build_kibana.sh b/.buildkite/scripts/build_kibana.sh index a7fbcc0ea4b92..482f730284a94 100755 --- a/.buildkite/scripts/build_kibana.sh +++ b/.buildkite/scripts/build_kibana.sh @@ -8,7 +8,7 @@ echo "--- Build Kibana Distribution" if [[ "${GITHUB_PR_LABELS:-}" == *"ci:build-all-platforms"* ]]; then node scripts/build --all-platforms --skip-os-packages elif [[ "${GITHUB_PR_LABELS:-}" == *"ci:build-os-packages"* ]]; then - node scripts/build --all-platforms + node scripts/build --all-platforms --docker-cross-compile else node scripts/build fi diff --git a/.buildkite/scripts/common/env.sh b/.buildkite/scripts/common/env.sh index 9430b12accaf0..20f0de8600b36 100755 --- a/.buildkite/scripts/common/env.sh +++ b/.buildkite/scripts/common/env.sh @@ -22,6 +22,9 @@ KIBANA_PKG_BRANCH="$(jq -r .branch "$KIBANA_DIR/package.json")" export KIBANA_PKG_BRANCH export KIBANA_BASE_BRANCH="$KIBANA_PKG_BRANCH" +KIBANA_PKG_VERSION="$(jq -r .version "$KIBANA_DIR/package.json")" +export KIBANA_PKG_VERSION + export GECKODRIVER_CDNURL="https://us-central1-elastic-kibana-184716.cloudfunctions.net/kibana-ci-proxy-cache" export CHROMEDRIVER_CDNURL="https://us-central1-elastic-kibana-184716.cloudfunctions.net/kibana-ci-proxy-cache" export RE2_DOWNLOAD_MIRROR="https://us-central1-elastic-kibana-184716.cloudfunctions.net/kibana-ci-proxy-cache" @@ -92,12 +95,3 @@ fi export BUILD_TS_REFS_DISABLE=true export DISABLE_BOOTSTRAP_VALIDATION=true - -export TEST_KIBANA_HOST=localhost -export TEST_KIBANA_PORT=6101 -export TEST_KIBANA_URL="http://elastic:changeme@localhost:6101" -export TEST_ES_URL="http://elastic:changeme@localhost:6102" -export TEST_ES_TRANSPORT_PORT=6301-6309 -export TEST_CORS_SERVER_PORT=6106 -export ALERTING_PROXY_PORT=6105 -export TEST_PROXY_SERVER_PORT=6107 diff --git a/.buildkite/scripts/common/setup_node.sh b/.buildkite/scripts/common/setup_node.sh index 06f466b61e456..b8716af226bdc 100755 --- a/.buildkite/scripts/common/setup_node.sh +++ b/.buildkite/scripts/common/setup_node.sh @@ -61,7 +61,14 @@ YARN_VERSION=$(node -e "console.log(String(require('./package.json').engines.yar export YARN_VERSION if [[ ! $(which yarn) || $(yarn --version) != "$YARN_VERSION" ]]; then - npm install -g "yarn@^${YARN_VERSION}" + rm -rf "$(npm root -g)/yarn" # in case the directory is in a bad state + if [[ ! $(npm install -g "yarn@^${YARN_VERSION}") ]]; then + # If this command is terminated early, e.g. because the build was cancelled in buildkite, + # a yarn directory is left behind in a bad state that can cause all subsequent installs to fail + rm -rf "$(npm root -g)/yarn" + echo "Trying again to install yarn..." + npm install -g "yarn@^${YARN_VERSION}" + fi fi yarn config set yarn-offline-mirror "$YARN_OFFLINE_CACHE" diff --git a/.buildkite/scripts/common/util.sh b/.buildkite/scripts/common/util.sh index 4a81506200cfa..d6aa988a4c696 100755 --- a/.buildkite/scripts/common/util.sh +++ b/.buildkite/scripts/common/util.sh @@ -14,17 +14,46 @@ is_pr() { false } -verify_no_git_changes() { +check_for_changed_files() { RED='\033[0;31m' YELLOW='\033[0;33m' C_RESET='\033[0m' # Reset color + SHOULD_AUTO_COMMIT_CHANGES="${2:-}" GIT_CHANGES="$(git ls-files --modified -- . ':!:.bazelrc')" + if [ "$GIT_CHANGES" ]; then - echo -e "\n${RED}ERROR: '$1' caused changes to the following files:${C_RESET}\n" - echo -e "$GIT_CHANGES\n" - echo -e "\n${YELLOW}TO FIX: Run '$1' locally, commit the changes and push to your branch${C_RESET}\n" - exit 1 + if [[ "$SHOULD_AUTO_COMMIT_CHANGES" == "true" && "${BUILDKITE_PULL_REQUEST:-}" ]]; then + NEW_COMMIT_MESSAGE="[CI] Auto-commit changed files from '$1'" + PREVIOUS_COMMIT_MESSAGE="$(git log -1 --pretty=%B)" + + if [[ "$NEW_COMMIT_MESSAGE" == "$PREVIOUS_COMMIT_MESSAGE" ]]; then + echo -e "\n${RED}ERROR: '$1' caused changes to the following files:${C_RESET}\n" + echo -e "$GIT_CHANGES\n" + echo -e "CI already attempted to commit these changes, but the file(s) seem to have changed again." + echo -e "Please review and fix manually." + exit 1 + fi + + echo "'$1' caused changes to the following files:" + echo "$GIT_CHANGES" + echo "" + echo "Auto-committing these changes now. A new build should start soon if successful." + + git config --global user.name kibanamachine + git config --global user.email '42973632+kibanamachine@users.noreply.github.com' + gh pr checkout "${BUILDKITE_PULL_REQUEST}" + git add -u -- . ':!.bazelrc' + + git commit -m "$NEW_COMMIT_MESSAGE" + git push + exit 1 + else + echo -e "\n${RED}ERROR: '$1' caused changes to the following files:${C_RESET}\n" + echo -e "$GIT_CHANGES\n" + echo -e "\n${YELLOW}TO FIX: Run '$1' locally, commit the changes and push to your branch${C_RESET}\n" + exit 1 + fi fi } diff --git a/.buildkite/scripts/lifecycle/annotate_test_failures.js b/.buildkite/scripts/lifecycle/annotate_test_failures.js index caf1e08c2bb4d..068ca4b8329f1 100644 --- a/.buildkite/scripts/lifecycle/annotate_test_failures.js +++ b/.buildkite/scripts/lifecycle/annotate_test_failures.js @@ -1,3 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +// eslint-disable-next-line import/no-unresolved const { TestFailures } = require('kibana-buildkite-library'); (async () => { diff --git a/.buildkite/scripts/lifecycle/build_status.js b/.buildkite/scripts/lifecycle/build_status.js index f2a5024c96013..6658cc4647864 100644 --- a/.buildkite/scripts/lifecycle/build_status.js +++ b/.buildkite/scripts/lifecycle/build_status.js @@ -1,3 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +// eslint-disable-next-line import/no-unresolved const { BuildkiteClient } = require('kibana-buildkite-library'); (async () => { diff --git a/.buildkite/scripts/lifecycle/ci_stats_complete.js b/.buildkite/scripts/lifecycle/ci_stats_complete.js index d9411178799ab..b8347fa606ebe 100644 --- a/.buildkite/scripts/lifecycle/ci_stats_complete.js +++ b/.buildkite/scripts/lifecycle/ci_stats_complete.js @@ -1,3 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +// eslint-disable-next-line import/no-unresolved const { CiStats } = require('kibana-buildkite-library'); (async () => { diff --git a/.buildkite/scripts/lifecycle/ci_stats_ready.js b/.buildkite/scripts/lifecycle/ci_stats_ready.js new file mode 100644 index 0000000000000..98b03a56d0023 --- /dev/null +++ b/.buildkite/scripts/lifecycle/ci_stats_ready.js @@ -0,0 +1,23 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +// eslint-disable-next-line import/no-unresolved +const { CiStats } = require('kibana-buildkite-library'); + +(async () => { + try { + await CiStats.onMetricsViable(); + } catch (ex) { + console.error('CI Stats Error', ex.message); + if (ex.response) { + console.error('HTTP Error Response Status', ex.response.status); + console.error('HTTP Error Response Body', ex.response.data); + } + process.exit(1); + } +})(); diff --git a/.buildkite/scripts/lifecycle/ci_stats_start.js b/.buildkite/scripts/lifecycle/ci_stats_start.js index ec0e4c713499e..ea23b2bc7ad32 100644 --- a/.buildkite/scripts/lifecycle/ci_stats_start.js +++ b/.buildkite/scripts/lifecycle/ci_stats_start.js @@ -1,3 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +// eslint-disable-next-line import/no-unresolved const { CiStats } = require('kibana-buildkite-library'); (async () => { diff --git a/.buildkite/scripts/lifecycle/pre_command.sh b/.buildkite/scripts/lifecycle/pre_command.sh index b1600f30dc989..804a670c707b0 100755 --- a/.buildkite/scripts/lifecycle/pre_command.sh +++ b/.buildkite/scripts/lifecycle/pre_command.sh @@ -9,8 +9,22 @@ export BUILDKITE_TOKEN echo '--- Install buildkite dependencies' cd '.buildkite' -retry 5 15 yarn install --production --pure-lockfile -cd - + +# If this yarn install is terminated early, e.g. if the build is cancelled in buildkite, +# A node module could end up in a bad state that can cause all future builds to fail +# So, let's cache clean and try again to make sure that's not what caused the error +install_deps() { + yarn install --production --pure-lockfile + EXIT=$? + if [[ "$EXIT" != "0" ]]; then + yarn cache clean + fi + return $EXIT +} + +retry 5 15 install_deps + +cd .. node .buildkite/scripts/lifecycle/print_agent_links.js || true diff --git a/.buildkite/scripts/lifecycle/print_agent_links.js b/.buildkite/scripts/lifecycle/print_agent_links.js index 59613946c1db4..f1cbff29398d9 100644 --- a/.buildkite/scripts/lifecycle/print_agent_links.js +++ b/.buildkite/scripts/lifecycle/print_agent_links.js @@ -1,3 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +// eslint-disable-next-line import/no-unresolved const { BuildkiteClient } = require('kibana-buildkite-library'); (async () => { diff --git a/.buildkite/scripts/pipelines/pull_request/pipeline.js b/.buildkite/scripts/pipelines/pull_request/pipeline.js index c5ed216042b68..7b5a5e7ba0fe7 100644 --- a/.buildkite/scripts/pipelines/pull_request/pipeline.js +++ b/.buildkite/scripts/pipelines/pull_request/pipeline.js @@ -1,5 +1,14 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + const execSync = require('child_process').execSync; const fs = require('fs'); +// eslint-disable-next-line import/no-unresolved const { areChangesSkippable, doAnyChangesMatch } = require('kibana-buildkite-library'); const SKIPPABLE_PATHS = [ diff --git a/.buildkite/scripts/steps/build_api_docs.sh b/.buildkite/scripts/steps/build_api_docs.sh new file mode 100755 index 0000000000000..00387fa657a59 --- /dev/null +++ b/.buildkite/scripts/steps/build_api_docs.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -euo pipefail + +.buildkite/scripts/bootstrap.sh + +echo "--- Build TS Refs" +node scripts/build_ts_refs \ + --clean \ + --no-cache \ + --force + +echo "--- Build API Docs" +node --max-old-space-size=12000 scripts/build_api_docs diff --git a/.buildkite/scripts/steps/checks.sh b/.buildkite/scripts/steps/checks.sh index 9e335fc3cdea3..1a2bf9381059f 100755 --- a/.buildkite/scripts/steps/checks.sh +++ b/.buildkite/scripts/steps/checks.sh @@ -12,7 +12,7 @@ export DISABLE_BOOTSTRAP_VALIDATION=false .buildkite/scripts/steps/checks/doc_api_changes.sh .buildkite/scripts/steps/checks/kbn_pm_dist.sh .buildkite/scripts/steps/checks/plugin_list_docs.sh -.buildkite/scripts/steps/checks/type_check_plugin_public_api_docs.sh +.buildkite/scripts/steps/checks/check_types.sh .buildkite/scripts/steps/checks/bundle_limits.sh .buildkite/scripts/steps/checks/i18n.sh .buildkite/scripts/steps/checks/file_casing.sh diff --git a/.buildkite/scripts/steps/checks/check_types.sh b/.buildkite/scripts/steps/checks/check_types.sh new file mode 100755 index 0000000000000..3b649a73e8060 --- /dev/null +++ b/.buildkite/scripts/steps/checks/check_types.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -euo pipefail + +source .buildkite/scripts/common/util.sh + +echo --- Check Types +checks-reporter-with-killswitch "Check Types" \ + node scripts/type_check diff --git a/.buildkite/scripts/steps/checks/kbn_pm_dist.sh b/.buildkite/scripts/steps/checks/kbn_pm_dist.sh index 61281bc136311..6f75bd9ea4e29 100755 --- a/.buildkite/scripts/steps/checks/kbn_pm_dist.sh +++ b/.buildkite/scripts/steps/checks/kbn_pm_dist.sh @@ -7,4 +7,4 @@ source .buildkite/scripts/common/util.sh echo "--- Building kbn-pm distributable" yarn kbn run build -i @kbn/pm -verify_no_git_changes 'yarn kbn run build -i @kbn/pm' +check_for_changed_files 'yarn kbn run build -i @kbn/pm' true diff --git a/.buildkite/scripts/steps/checks/plugin_list_docs.sh b/.buildkite/scripts/steps/checks/plugin_list_docs.sh index b422e478aaf7d..04797887a9006 100755 --- a/.buildkite/scripts/steps/checks/plugin_list_docs.sh +++ b/.buildkite/scripts/steps/checks/plugin_list_docs.sh @@ -7,4 +7,4 @@ source .buildkite/scripts/common/util.sh echo "--- Building plugin list docs" node scripts/build_plugin_list_docs -verify_no_git_changes 'node scripts/build_plugin_list_docs' +check_for_changed_files 'node scripts/build_plugin_list_docs' true diff --git a/.buildkite/scripts/steps/checks/type_check_plugin_public_api_docs.sh b/.buildkite/scripts/steps/checks/type_check_plugin_public_api_docs.sh deleted file mode 100755 index 5827fd5eb2284..0000000000000 --- a/.buildkite/scripts/steps/checks/type_check_plugin_public_api_docs.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -source .buildkite/scripts/common/util.sh - -echo --- Build TS Refs -checks-reporter-with-killswitch "Build TS Refs" \ - node scripts/build_ts_refs \ - --clean \ - --no-cache \ - --force - -checks-reporter-with-killswitch "Check Types" \ - node scripts/type_check &> target/check_types.log & -check_types_pid=$! - -node --max-old-space-size=12000 scripts/build_api_docs &> target/build_api_docs.log & -api_docs_pid=$! - -wait $check_types_pid -check_types_exit=$? - -wait $api_docs_pid -api_docs_exit=$? - -echo --- Check Types -cat target/check_types.log -if [[ "$check_types_exit" != "0" ]]; then echo "^^^ +++"; fi - -echo --- Building api docs -cat target/build_api_docs.log -if [[ "$api_docs_exit" != "0" ]]; then echo "^^^ +++"; fi - -if [[ "${api_docs_exit}${check_types_exit}" != "00" ]]; then - exit 1 -fi diff --git a/.buildkite/scripts/steps/ci_stats_ready.sh b/.buildkite/scripts/steps/ci_stats_ready.sh new file mode 100755 index 0000000000000..92ea6a70fd779 --- /dev/null +++ b/.buildkite/scripts/steps/ci_stats_ready.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -euo pipefail + +source .buildkite/scripts/common/util.sh + +node .buildkite/scripts/lifecycle/ci_stats_ready.js diff --git a/.buildkite/scripts/steps/demo_env/kibana.sh b/.buildkite/scripts/steps/demo_env/kibana.sh index f10ed4013bc0c..f38d43b5479e6 100755 --- a/.buildkite/scripts/steps/demo_env/kibana.sh +++ b/.buildkite/scripts/steps/demo_env/kibana.sh @@ -9,7 +9,7 @@ source "$(dirname "${0}")/config.sh" export KIBANA_IMAGE="gcr.io/elastic-kibana-184716/demo/kibana:$DEPLOYMENT_NAME-$(git rev-parse HEAD)" echo '--- Build Kibana' -node scripts/build --debug --docker-images --example-plugins --skip-os-packages --skip-docker-ubi +node scripts/build --debug --docker-images --example-plugins --skip-docker-ubi echo '--- Build Docker image with example plugins' cd target/example_plugins diff --git a/.buildkite/scripts/steps/docker_context/build.sh b/.buildkite/scripts/steps/docker_context/build.sh new file mode 100644 index 0000000000000..42152d005ffa9 --- /dev/null +++ b/.buildkite/scripts/steps/docker_context/build.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -euo pipefail + +.buildkite/scripts/bootstrap.sh + +echo "--- Create Kibana Docker contexts" +mkdir -p target +node scripts/build --skip-initialize --skip-generic-folders --skip-platform-folders --skip-archives + +echo "--- Build default context" +DOCKER_BUILD_FOLDER=$(mktemp -d) + +tar -xf target/kibana-[0-9]*-docker-build-context.tar.gz -C "$DOCKER_BUILD_FOLDER" +cd $DOCKER_BUILD_FOLDER +docker build . diff --git a/.buildkite/scripts/steps/es_snapshots/bucket_config.js b/.buildkite/scripts/steps/es_snapshots/bucket_config.js index a18d1182c4a89..6bbe80b60e764 100644 --- a/.buildkite/scripts/steps/es_snapshots/bucket_config.js +++ b/.buildkite/scripts/steps/es_snapshots/bucket_config.js @@ -1,3 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + module.exports = { BASE_BUCKET_DAILY: 'kibana-ci-es-snapshots-daily', BASE_BUCKET_PERMANENT: 'kibana-ci-es-snapshots-permanent', diff --git a/.buildkite/scripts/steps/es_snapshots/create_manifest.js b/.buildkite/scripts/steps/es_snapshots/create_manifest.js index 3173737e984e8..cb4ea29a9c534 100644 --- a/.buildkite/scripts/steps/es_snapshots/create_manifest.js +++ b/.buildkite/scripts/steps/es_snapshots/create_manifest.js @@ -1,3 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + const fs = require('fs'); const { execSync } = require('child_process'); const { BASE_BUCKET_DAILY } = require('./bucket_config.js'); @@ -47,7 +55,7 @@ const { BASE_BUCKET_DAILY } = require('./bucket_config.js'); version: parts[1], platform: parts[3], architecture: parts[4].split('.')[0], - license: parts[0] == 'oss' ? 'oss' : 'default', + license: parts[0] === 'oss' ? 'oss' : 'default', }; }); diff --git a/.buildkite/scripts/steps/es_snapshots/promote_manifest.js b/.buildkite/scripts/steps/es_snapshots/promote_manifest.js index ce14935dd1b84..d7ff670755712 100644 --- a/.buildkite/scripts/steps/es_snapshots/promote_manifest.js +++ b/.buildkite/scripts/steps/es_snapshots/promote_manifest.js @@ -1,3 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + const fs = require('fs'); const { execSync } = require('child_process'); const { BASE_BUCKET_DAILY, BASE_BUCKET_PERMANENT } = require('./bucket_config.js'); diff --git a/.buildkite/scripts/steps/functional/performance.sh b/.buildkite/scripts/steps/functional/performance_playwright.sh similarity index 52% rename from .buildkite/scripts/steps/functional/performance.sh rename to .buildkite/scripts/steps/functional/performance_playwright.sh index 8e3793733a6e8..c38ef5e56dbe4 100644 --- a/.buildkite/scripts/steps/functional/performance.sh +++ b/.buildkite/scripts/steps/functional/performance_playwright.sh @@ -2,20 +2,22 @@ set -uo pipefail -if [ -z "${ITERATION_COUNT_ENV+x}" ]; then - ITERATION_COUNT="$(buildkite-agent meta-data get performance-test-iteration-count)" +if [ -z "${PERF_TEST_COUNT+x}" ]; then + TEST_COUNT="$(buildkite-agent meta-data get performance-test-iteration-count)" else - ITERATION_COUNT=$ITERATION_COUNT_ENV + TEST_COUNT=$PERF_TEST_COUNT fi -tput setab 2; tput setaf 0; echo "Performance test will be run at ${BUILDKITE_BRANCH} ${ITERATION_COUNT} times" +tput setab 2; tput setaf 0; echo "Performance test will be run at ${BUILDKITE_BRANCH} ${TEST_COUNT} times" cat << EOF | buildkite-agent pipeline upload steps: - - command: .buildkite/scripts/steps/functional/performance_sub.sh - parallelism: "$ITERATION_COUNT" + - command: .buildkite/scripts/steps/functional/performance_sub_playwright.sh + parallelism: "$TEST_COUNT" concurrency: 20 concurrency_group: 'performance-test-group' + agents: + queue: c2-16 EOF diff --git a/.buildkite/scripts/steps/functional/performance_sub.sh b/.buildkite/scripts/steps/functional/performance_sub.sh deleted file mode 100644 index d3e6c0ba7304e..0000000000000 --- a/.buildkite/scripts/steps/functional/performance_sub.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -source .buildkite/scripts/common/util.sh - -.buildkite/scripts/bootstrap.sh -.buildkite/scripts/download_build_artifacts.sh - -cd "$XPACK_DIR" - -echo --- Run Performance Tests -checks-reporter-with-killswitch "Run Performance Tests" \ - node scripts/functional_tests \ - --debug --bail \ - --kibana-install-dir "$KIBANA_BUILD_LOCATION" \ - --config test/performance/config.ts; diff --git a/.buildkite/scripts/steps/functional/performance_sub_playwright.sh b/.buildkite/scripts/steps/functional/performance_sub_playwright.sh new file mode 100644 index 0000000000000..fee171aef9a48 --- /dev/null +++ b/.buildkite/scripts/steps/functional/performance_sub_playwright.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +set -euo pipefail + +source .buildkite/scripts/common/util.sh + +.buildkite/scripts/bootstrap.sh +.buildkite/scripts/download_build_artifacts.sh + +echo --- Run Performance Tests with Playwright config + +node scripts/es snapshot& + +esPid=$! + +export TEST_PERFORMANCE_PHASE=WARMUP +export TEST_ES_URL=http://elastic:changeme@localhost:9200 +export TEST_ES_DISABLE_STARTUP=true +export ELASTIC_APM_ACTIVE=false + +sleep 120 + +cd "$XPACK_DIR" + +# warmup round 1 +checks-reporter-with-killswitch "Run Performance Tests with Playwright Config (Phase: WARMUP)" \ + node scripts/functional_tests \ + --debug --bail \ + --kibana-install-dir "$KIBANA_BUILD_LOCATION" \ + --config "test/performance/config.playwright.ts"; + +export TEST_PERFORMANCE_PHASE=TEST +export ELASTIC_APM_ACTIVE=true + +checks-reporter-with-killswitch "Run Performance Tests with Playwright Config (Phase: TEST)" \ + node scripts/functional_tests \ + --debug --bail \ + --kibana-install-dir "$KIBANA_BUILD_LOCATION" \ + --config "test/performance/config.playwright.ts"; + +kill "$esPid" diff --git a/.buildkite/scripts/steps/on_merge_build_and_metrics.sh b/.buildkite/scripts/steps/on_merge_build_and_metrics.sh index 1f1e492f87bec..fb05bb99b0c54 100755 --- a/.buildkite/scripts/steps/on_merge_build_and_metrics.sh +++ b/.buildkite/scripts/steps/on_merge_build_and_metrics.sh @@ -4,5 +4,7 @@ set -euo pipefail .buildkite/scripts/bootstrap.sh .buildkite/scripts/build_kibana.sh +.buildkite/scripts/build_kibana_plugins.sh +.buildkite/scripts/post_build_kibana_plugins.sh .buildkite/scripts/post_build_kibana.sh .buildkite/scripts/saved_object_field_metrics.sh diff --git a/.buildkite/scripts/steps/package_testing/build.sh b/.buildkite/scripts/steps/package_testing/build.sh new file mode 100755 index 0000000000000..406070232f15d --- /dev/null +++ b/.buildkite/scripts/steps/package_testing/build.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +set -euo pipefail + +.buildkite/scripts/bootstrap.sh + +node scripts/build --all-platforms --debug + +DOCKER_FILE="kibana-$KIBANA_PKG_VERSION-SNAPSHOT-docker-image.tar.gz" + +cd target +buildkite-agent artifact upload "./$DOCKER_FILE;./*.deb;./*.rpm" +cd .. diff --git a/.buildkite/scripts/steps/package_testing/test.sh b/.buildkite/scripts/steps/package_testing/test.sh new file mode 100755 index 0000000000000..a9a46502d5b3b --- /dev/null +++ b/.buildkite/scripts/steps/package_testing/test.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +set -euo pipefail + +.buildkite/scripts/bootstrap.sh + +echo "--- Package Testing for $TEST_PACKAGE" + +mkdir -p target +cd target +if [[ "$TEST_PACKAGE" == "deb" ]]; then + buildkite-agent artifact download 'kibana-*.deb' . --build "${KIBANA_BUILD_ID:-$BUILDKITE_BUILD_ID}" + KIBANA_IP_ADDRESS="192.168.56.5" +elif [[ "$TEST_PACKAGE" == "rpm" ]]; then + buildkite-agent artifact download 'kibana-*.rpm' . --build "${KIBANA_BUILD_ID:-$BUILDKITE_BUILD_ID}" + KIBANA_IP_ADDRESS="192.168.56.6" +elif [[ "$TEST_PACKAGE" == "docker" ]]; then + buildkite-agent artifact download "kibana-$KIBANA_PKG_VERSION-SNAPSHOT-docker-image.tar.gz" . --build "${KIBANA_BUILD_ID:-$BUILDKITE_BUILD_ID}" + KIBANA_IP_ADDRESS="192.168.56.7" +fi +cd .. + +export VAGRANT_CWD=test/package +vagrant up "$TEST_PACKAGE" --no-provision + +node scripts/es snapshot \ + -E network.bind_host=127.0.0.1,192.168.56.1 \ + -E discovery.type=single-node \ + --license=trial & +while ! timeout 1 bash -c "echo > /dev/tcp/localhost/9200"; do sleep 30; done + +vagrant provision "$TEST_PACKAGE" + +export TEST_BROWSER_HEADLESS=1 +export TEST_KIBANA_URL="http://elastic:changeme@$KIBANA_IP_ADDRESS:5601" +export TEST_ES_URL=http://elastic:changeme@192.168.56.1:9200 + +cd x-pack +node scripts/functional_test_runner.js --include-tag=smoke diff --git a/.buildkite/scripts/steps/storybooks/build_and_upload.js b/.buildkite/scripts/steps/storybooks/build_and_upload.js index 89958fe08d6cc..86bfb4eeebf94 100644 --- a/.buildkite/scripts/steps/storybooks/build_and_upload.js +++ b/.buildkite/scripts/steps/storybooks/build_and_upload.js @@ -1,3 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + const execSync = require('child_process').execSync; const fs = require('fs'); const path = require('path'); @@ -73,7 +81,7 @@ const upload = () => { .trim() .split('\n') .map((path) => path.replace('/', '')) - .filter((path) => path != 'composite'); + .filter((path) => path !== 'composite'); const listHtml = storybooks .map((storybook) => `
  • ${storybook}
  • `) diff --git a/.buildkite/scripts/steps/test/jest.sh b/.buildkite/scripts/steps/test/jest.sh index d2d1ed10043d6..cbf8bce703cc6 100755 --- a/.buildkite/scripts/steps/test/jest.sh +++ b/.buildkite/scripts/steps/test/jest.sh @@ -10,4 +10,4 @@ is_test_execution_step echo '--- Jest' checks-reporter-with-killswitch "Jest Unit Tests $((BUILDKITE_PARALLEL_JOB+1))" \ - .buildkite/scripts/steps/test/jest_parallel.sh + .buildkite/scripts/steps/test/jest_parallel.sh jest.config.js diff --git a/.buildkite/scripts/steps/test/jest_integration.sh b/.buildkite/scripts/steps/test/jest_integration.sh index d07da0584d46d..13412881cb6fa 100755 --- a/.buildkite/scripts/steps/test/jest_integration.sh +++ b/.buildkite/scripts/steps/test/jest_integration.sh @@ -9,5 +9,5 @@ is_test_execution_step .buildkite/scripts/bootstrap.sh echo '--- Jest Integration Tests' -checks-reporter-with-killswitch "Jest Integration Tests" \ - node --max-old-space-size=6144 scripts/jest_integration --ci +checks-reporter-with-killswitch "Jest Integration Tests $((BUILDKITE_PARALLEL_JOB+1))" \ + .buildkite/scripts/steps/test/jest_parallel.sh jest.integration.config.js diff --git a/.buildkite/scripts/steps/test/jest_parallel.sh b/.buildkite/scripts/steps/test/jest_parallel.sh index c9e0e1aff5cf2..948a441185fca 100755 --- a/.buildkite/scripts/steps/test/jest_parallel.sh +++ b/.buildkite/scripts/steps/test/jest_parallel.sh @@ -13,7 +13,7 @@ exitCode=0 while read -r config; do if [ "$((i % JOB_COUNT))" -eq "$JOB" ]; then echo "--- $ node scripts/jest --config $config" - node --max-old-space-size=14336 ./node_modules/.bin/jest --config="$config" --runInBand --coverage=false + node --max-old-space-size=14336 ./node_modules/.bin/jest --config="$config" --runInBand --coverage=false --passWithNoTests lastCode=$? if [ $lastCode -ne 0 ]; then @@ -25,6 +25,6 @@ while read -r config; do ((i=i+1)) # uses heredoc to avoid the while loop being in a sub-shell thus unable to overwrite exitCode -done <<< "$(find src x-pack packages -name jest.config.js -not -path "*/__fixtures__/*" | sort)" +done <<< "$(find src x-pack packages -name "$1" -not -path "*/__fixtures__/*" | sort)" -exit $exitCode \ No newline at end of file +exit $exitCode diff --git a/.buildkite/yarn.lock b/.buildkite/yarn.lock index 0b92d21c87e26..c2d6928d30c5a 100644 --- a/.buildkite/yarn.lock +++ b/.buildkite/yarn.lock @@ -3,206 +3,178 @@ "@octokit/auth-token@^2.4.4": - version "2.4.4" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.4.tgz#ee31c69b01d0378c12fd3ffe406030f3d94d3b56" - integrity sha512-LNfGu3Ro9uFAYh10MUZVaT7X2CnNm2C8IDQmabx+3DygYIQjs9FwzFAHN/0t6mu5HEPhxcb1XOuxdpY82vCg2Q== + "integrity" "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==" + "resolved" "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz" + "version" "2.5.0" dependencies: - "@octokit/types" "^6.0.0" + "@octokit/types" "^6.0.3" -"@octokit/core@^3.5.1": - version "3.5.1" - resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.5.1.tgz#8601ceeb1ec0e1b1b8217b960a413ed8e947809b" - integrity sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw== +"@octokit/core@^3.5.1", "@octokit/core@>=2", "@octokit/core@>=3": + "integrity" "sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==" + "resolved" "https://registry.npmjs.org/@octokit/core/-/core-3.5.1.tgz" + "version" "3.5.1" dependencies: "@octokit/auth-token" "^2.4.4" "@octokit/graphql" "^4.5.8" "@octokit/request" "^5.6.0" "@octokit/request-error" "^2.0.5" "@octokit/types" "^6.0.3" - before-after-hook "^2.2.0" - universal-user-agent "^6.0.0" + "before-after-hook" "^2.2.0" + "universal-user-agent" "^6.0.0" "@octokit/endpoint@^6.0.1": - version "6.0.6" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.6.tgz#4f09f2b468976b444742a1d5069f6fa45826d999" - integrity sha512-7Cc8olaCoL/mtquB7j/HTbPM+sY6Ebr4k2X2y4JoXpVKQ7r5xB4iGQE0IoO58wIPsUk4AzoT65AMEpymSbWTgQ== + "integrity" "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==" + "resolved" "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz" + "version" "6.0.12" dependencies: - "@octokit/types" "^5.0.0" - is-plain-object "^5.0.0" - universal-user-agent "^6.0.0" + "@octokit/types" "^6.0.3" + "is-plain-object" "^5.0.0" + "universal-user-agent" "^6.0.0" "@octokit/graphql@^4.5.8": - version "4.5.8" - resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.5.8.tgz#d42373633c3015d0eafce64a8ce196be167fdd9b" - integrity sha512-WnCtNXWOrupfPJgXe+vSmprZJUr0VIu14G58PMlkWGj3cH+KLZEfKMmbUQ6C3Wwx6fdhzVW1CD5RTnBdUHxhhA== + "integrity" "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==" + "resolved" "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz" + "version" "4.8.0" dependencies: - "@octokit/request" "^5.3.0" - "@octokit/types" "^6.0.0" - universal-user-agent "^6.0.0" + "@octokit/request" "^5.6.0" + "@octokit/types" "^6.0.3" + "universal-user-agent" "^6.0.0" "@octokit/openapi-types@^11.2.0": - version "11.2.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-11.2.0.tgz#b38d7fc3736d52a1e96b230c1ccd4a58a2f400a6" - integrity sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA== - -"@octokit/openapi-types@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-2.2.0.tgz#123e0438a0bc718ccdac3b5a2e69b3dd00daa85b" - integrity sha512-274lNUDonw10kT8wHg8fCcUc1ZjZHbWv0/TbAwb0ojhBQqZYc1cQ/4yqTVTtPMDeZ//g7xVEYe/s3vURkRghPg== + "integrity" "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==" + "resolved" "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz" + "version" "11.2.0" "@octokit/plugin-paginate-rest@^2.16.8": - version "2.17.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz#32e9c7cab2a374421d3d0de239102287d791bce7" - integrity sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw== + "integrity" "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==" + "resolved" "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz" + "version" "2.17.0" dependencies: "@octokit/types" "^6.34.0" "@octokit/plugin-request-log@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" - integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== + "integrity" "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==" + "resolved" "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz" + "version" "1.0.4" "@octokit/plugin-rest-endpoint-methods@^5.12.0": - version "5.13.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz#8c46109021a3412233f6f50d28786f8e552427ba" - integrity sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA== + "integrity" "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==" + "resolved" "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz" + "version" "5.13.0" dependencies: "@octokit/types" "^6.34.0" - deprecation "^2.3.1" - -"@octokit/request-error@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.2.tgz#0e76b83f5d8fdda1db99027ea5f617c2e6ba9ed0" - integrity sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw== - dependencies: - "@octokit/types" "^5.0.1" - deprecation "^2.0.0" - once "^1.4.0" + "deprecation" "^2.3.1" "@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" - integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== + "integrity" "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==" + "resolved" "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz" + "version" "2.1.0" dependencies: "@octokit/types" "^6.0.3" - deprecation "^2.0.0" - once "^1.4.0" - -"@octokit/request@^5.3.0": - version "5.4.12" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.12.tgz#b04826fa934670c56b135a81447be2c1723a2ffc" - integrity sha512-MvWYdxengUWTGFpfpefBBpVmmEYfkwMoxonIB3sUGp5rhdgwjXL1ejo6JbgzG/QD9B/NYt/9cJX1pxXeSIUCkg== - dependencies: - "@octokit/endpoint" "^6.0.1" - "@octokit/request-error" "^2.0.0" - "@octokit/types" "^6.0.3" - deprecation "^2.0.0" - is-plain-object "^5.0.0" - node-fetch "^2.6.1" - once "^1.4.0" - universal-user-agent "^6.0.0" + "deprecation" "^2.0.0" + "once" "^1.4.0" "@octokit/request@^5.6.0": - version "5.6.2" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.2.tgz#1aa74d5da7b9e04ac60ef232edd9a7438dcf32d8" - integrity sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA== + "integrity" "sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA==" + "resolved" "https://registry.npmjs.org/@octokit/request/-/request-5.6.2.tgz" + "version" "5.6.2" dependencies: "@octokit/endpoint" "^6.0.1" "@octokit/request-error" "^2.1.0" "@octokit/types" "^6.16.1" - is-plain-object "^5.0.0" - node-fetch "^2.6.1" - universal-user-agent "^6.0.0" + "is-plain-object" "^5.0.0" + "node-fetch" "^2.6.1" + "universal-user-agent" "^6.0.0" "@octokit/rest@^18.10.0": - version "18.12.0" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.12.0.tgz#f06bc4952fc87130308d810ca9d00e79f6988881" - integrity sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q== + "integrity" "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==" + "resolved" "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz" + "version" "18.12.0" dependencies: "@octokit/core" "^3.5.1" "@octokit/plugin-paginate-rest" "^2.16.8" "@octokit/plugin-request-log" "^1.0.4" "@octokit/plugin-rest-endpoint-methods" "^5.12.0" -"@octokit/types@^5.0.0", "@octokit/types@^5.0.1": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-5.5.0.tgz#e5f06e8db21246ca102aa28444cdb13ae17a139b" - integrity sha512-UZ1pErDue6bZNjYOotCNveTXArOMZQFG6hKJfOnGnulVCMcVVi7YIIuuR4WfBhjo7zgpmzn/BkPDnUXtNx+PcQ== +"@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.34.0": + "integrity" "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==" + "resolved" "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz" + "version" "6.34.0" dependencies: - "@types/node" ">= 8" + "@octokit/openapi-types" "^11.2.0" -"@octokit/types@^6.0.0", "@octokit/types@^6.0.3": - version "6.2.1" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.2.1.tgz#7f881fe44475ab1825776a4a59ca1ae082ed1043" - integrity sha512-jHs9OECOiZxuEzxMZcXmqrEO8GYraHF+UzNVH2ACYh8e/Y7YoT+hUf9ldvVd6zIvWv4p3NdxbQ0xx3ku5BnSiA== +"axios@^0.21.4": + "integrity" "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==" + "resolved" "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz" + "version" "0.21.4" dependencies: - "@octokit/openapi-types" "^2.2.0" - "@types/node" ">= 8" + "follow-redirects" "^1.14.0" -"@octokit/types@^6.16.1", "@octokit/types@^6.34.0": - version "6.34.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.34.0.tgz#c6021333334d1ecfb5d370a8798162ddf1ae8218" - integrity sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw== - dependencies: - "@octokit/openapi-types" "^11.2.0" +"before-after-hook@^2.2.0": + "integrity" "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" + "resolved" "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz" + "version" "2.2.2" -"@types/node@>= 8": - version "16.10.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.10.2.tgz#5764ca9aa94470adb4e1185fe2e9f19458992b2e" - integrity sha512-zCclL4/rx+W5SQTzFs9wyvvyCwoK9QtBpratqz2IYJ3O8Umrn0m3nsTv0wQBk9sRGpvUe9CwPDrQFB10f1FIjQ== +"deprecation@^2.0.0", "deprecation@^2.3.1": + "integrity" "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + "resolved" "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz" + "version" "2.3.1" -axios@^0.21.4: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== - dependencies: - follow-redirects "^1.14.0" - -before-after-hook@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e" - integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== - -deprecation@^2.0.0, deprecation@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" - integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== - -follow-redirects@^1.14.0: - version "1.14.4" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379" - integrity sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g== - -is-plain-object@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" - integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== - -kibana-buildkite-library@elastic/kibana-buildkite-library: - version "1.0.0" - resolved "https://codeload.github.com/elastic/kibana-buildkite-library/tar.gz/ee34f75c00712b639124cbef60f68132fa662643" +"follow-redirects@^1.14.0": + "integrity" "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==" + "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz" + "version" "1.14.5" + +"is-plain-object@^5.0.0": + "integrity" "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" + "version" "5.0.0" + +"kibana-buildkite-library@github:elastic/kibana-buildkite-library": + "resolved" "git+ssh://git@github.com/elastic/kibana-buildkite-library.git#ccf5b824c4294d1fdf3569d32218d3bdb0958121" + "version" "1.0.0" dependencies: "@octokit/rest" "^18.10.0" - axios "^0.21.4" + "axios" "^0.21.4" -node-fetch@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== +"node-fetch@^2.6.1": + "integrity" "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==" + "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz" + "version" "2.6.6" + dependencies: + "whatwg-url" "^5.0.0" -once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= +"once@^1.4.0": + "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" + "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + "version" "1.4.0" dependencies: - wrappy "1" + "wrappy" "1" + +"tr46@~0.0.3": + "integrity" "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + "resolved" "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + "version" "0.0.3" + +"universal-user-agent@^6.0.0": + "integrity" "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + "resolved" "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz" + "version" "6.0.0" -universal-user-agent@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" - integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== +"webidl-conversions@^3.0.0": + "integrity" "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + "version" "3.0.1" + +"whatwg-url@^5.0.0": + "integrity" "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=" + "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "tr46" "~0.0.3" + "webidl-conversions" "^3.0.0" -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= +"wrappy@1": + "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + "version" "1.0.2" diff --git a/.ci/Dockerfile b/.ci/Dockerfile index 8e0d2d4351965..150e0925ae7bc 100644 --- a/.ci/Dockerfile +++ b/.ci/Dockerfile @@ -1,7 +1,7 @@ # NOTE: This Dockerfile is ONLY used to run certain tasks in CI. It is not used to run Kibana or as a distributable. # If you're looking for the Kibana Docker image distributable, please see: src/dev/build/tasks/os_packages/docker_generator/templates/dockerfile.template.ts -ARG NODE_VERSION=16.13.0 +ARG NODE_VERSION=16.14.2 FROM node:${NODE_VERSION} AS base diff --git a/.ci/package-testing/Jenkinsfile b/.ci/package-testing/Jenkinsfile deleted file mode 100644 index fec7dc9ea4cdc..0000000000000 --- a/.ci/package-testing/Jenkinsfile +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/groovy -library 'kibana-pipeline-library' -kibanaLibrary.load() -kibanaPipeline(timeoutMinutes: 120) { - slackNotifications.onFailure { - ciStats.trackBuild { - workers.ci(ramDisk: false, name: "package-build", size: 'l', runErrorReporter: false) { - withGcpServiceAccount.fromVaultSecret('secret/kibana-issues/dev/ci-artifacts-key', 'value') { - kibanaPipeline.bash("test/scripts/jenkins_xpack_package_build.sh", "Package builds") - } - } - def packageTypes = ['deb', 'docker', 'rpm'] - def workers = [:] - packageTypes.each { type -> - workers["package-${type}"] = { - testPackage(type) - } - } - parallel(workers) - } - } -} -def testPackage(packageType) { - workers.ci(ramDisk: false, name: "package-${packageType}", size: 's', runErrorReporter: false) { - withGcpServiceAccount.fromVaultSecret('secret/kibana-issues/dev/ci-artifacts-key', 'value') { - kibanaPipeline.bash("test/scripts/jenkins_xpack_package_${packageType}.sh", "Execute package testing for ${packageType}") - } - } -} diff --git a/.eslintignore b/.eslintignore index 040662604358f..5ae3fe7b0967d 100644 --- a/.eslintignore +++ b/.eslintignore @@ -17,6 +17,7 @@ snapshots.js !/.ci !/.eslintrc.js !.storybook +!.buildkite # plugin overrides /src/core/lib/kbn_internal_native_observable diff --git a/.eslintrc.js b/.eslintrc.js index 8f47462ddbfa5..055771dbbee24 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -285,12 +285,7 @@ module.exports = { * Licence headers */ { - files: [ - '**/*.{js,mjs,ts,tsx}', - '!plugins/**/*', - '!packages/elastic-datemath/**/*', - '!packages/elastic-eslint-config-kibana/**/*', - ], + files: ['**/*.{js,mjs,ts,tsx}'], rules: { '@kbn/eslint/require-license-header': [ 'error', diff --git a/.gitignore b/.gitignore index dd098d0758bff..85f8b062b939d 100644 --- a/.gitignore +++ b/.gitignore @@ -90,6 +90,7 @@ report.asciidoc /bazel /bazel-* .bazelrc.user +.bazelrc.cache # Exclude renovate config file (we only need it on master) renovate.json5 diff --git a/.node-version b/.node-version index 58a4133d910f4..d9f880069dc78 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -16.13.0 +16.14.2 diff --git a/.nvmrc b/.nvmrc index 5b0ad74a81023..d9f880069dc78 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -16.13.0 \ No newline at end of file +16.14.2 diff --git a/NOTICE.txt b/NOTICE.txt index 4ede43610ca7b..e18cfe6f0a1da 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -1,5 +1,5 @@ Kibana source code with Kibana X-Pack source code -Copyright 2012-2021 Elasticsearch B.V. +Copyright 2012-2022 Elasticsearch B.V. --- Pretty handling of logarithmic axes. diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index 08c5bfa551437..5c32759d72a53 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -27,14 +27,14 @@ check_rules_nodejs_version(minimum_version_string = "3.8.0") # we can update that rule. node_repositories( node_repositories = { - "16.13.0-darwin_amd64": ("node-v16.13.0-darwin-x64.tar.gz", "node-v16.13.0-darwin-x64", "37e09a8cf2352f340d1204c6154058d81362fef4ec488b0197b2ce36b3f0367a"), - "16.13.0-darwin_arm64": ("node-v16.13.0-darwin-arm64.tar.gz", "node-v16.13.0-darwin-arm64", "46d83fc0bd971db5050ef1b15afc44a6665dee40bd6c1cbaec23e1b40fa49e6d"), - "16.13.0-linux_arm64": ("node-v16.13.0-linux-arm64.tar.xz", "node-v16.13.0-linux-arm64", "93a0d03f9f802353cb7052bc97a02cd9642b49fa985671cdc16c99936c86d7d2"), - "16.13.0-linux_s390x": ("node-v16.13.0-linux-s390x.tar.xz", "node-v16.13.0-linux-s390x", "49e972bf3e969d621157df4c8f2fa18ff748c167d5ebd0efc87e1b9f0c6541cc"), - "16.13.0-linux_amd64": ("node-v16.13.0-linux-x64.tar.xz", "node-v16.13.0-linux-x64", "a876ce787133149abd1696afa54b0b5bc5ce3d5ae359081d407ff776e39b7ba8"), - "16.13.0-windows_amd64": ("node-v16.13.0-win-x64.zip", "node-v16.13.0-win-x64", "5a39ec5d4786c2814a6c04488bebac6423c2aaa12832b24f0882456f2e4674e1"), + "16.14.2-darwin_amd64": ("node-v16.14.2-darwin-x64.tar.gz", "node-v16.14.2-darwin-x64", "d3076ca7fcc7269c8ff9b03fe7d1c277d913a7e84a46a14eff4af7791ff9d055"), + "16.14.2-darwin_arm64": ("node-v16.14.2-darwin-arm64.tar.gz", "node-v16.14.2-darwin-arm64", "a66d9217d2003bd416d3dd06dfd2c7a044c4c9ff2e43a27865790bd0d59c682d"), + "16.14.2-linux_arm64": ("node-v16.14.2-linux-arm64.tar.xz", "node-v16.14.2-linux-arm64", "f7c5a573c06a520d6c2318f6ae204141b8420386553a692fc359f8ae3d88df96"), + "16.14.2-linux_s390x": ("node-v16.14.2-linux-s390x.tar.xz", "node-v16.14.2-linux-s390x", "3197925919ca357e17a31132dc6ef4e5afae819fa09905cfe9f7ff7924a00bf5"), + "16.14.2-linux_amd64": ("node-v16.14.2-linux-x64.tar.xz", "node-v16.14.2-linux-x64", "e40c6f81bfd078976d85296b5e657be19e06862497741ad82902d0704b34bb1b"), + "16.14.2-windows_amd64": ("node-v16.14.2-win-x64.zip", "node-v16.14.2-win-x64", "4731da4fbb2015d414e871fa9118cabb643bdb6dbdc8a69a3ed563266ac93229"), }, - node_version = "16.13.0", + node_version = "16.14.2", node_urls = [ "https://nodejs.org/dist/v{version}/{filename}", ], @@ -58,7 +58,6 @@ yarn_install( data = [ "//:.yarnrc", "//:preinstall_check.js", - "//:node_modules/.yarn-integrity", ], exports_directories_only = True, symlink_node_modules = True, diff --git a/dev_docs/contributing/standards.mdx b/dev_docs/contributing/standards.mdx index 172a83935b966..d2f31f3a4faa2 100644 --- a/dev_docs/contributing/standards.mdx +++ b/dev_docs/contributing/standards.mdx @@ -67,6 +67,14 @@ Every public API should have a release tag specified at the top of it’s docume Every team should be collecting telemetry metrics on it’s public API usage. This will be important for knowing when it’s safe to make breaking changes. The Core team will be looking into ways to make this easier and an automatic part of registration (see [#112291](https://github.com/elastic/kibana/issues/112291)). +### APM + +Kibana server and client are instrumented with APM node and APM RUM clients respectively, tracking serveral types of transactions by default, such as `page-load`, `request`, etc. +You may introduce custom transactions. Please refer to the [APM documentation](https://www.elastic.co/guide/en/apm/get-started/current/index.html) and follow these guidelines when doing so: + +- Use dashed syntax for transaction types and names: `my-transaction-type` and `my-transaction-name` +- [Refrain from adding too many custom labels](https://www.elastic.co/guide/en/apm/get-started/current/metadata.html) + ### Documentation Every public API should be documented inside the [docs/api](https://github.com/elastic/kibana/tree/main/docs/api) folder in asciidoc (this content will eventually be migrated to mdx to support the new docs system). If a public REST API is undocumented, you should either document it, or make it internal. diff --git a/dev_docs/tutorials/debugging.mdx b/dev_docs/tutorials/debugging.mdx index c612893e4f1f9..598c6119910cb 100644 --- a/dev_docs/tutorials/debugging.mdx +++ b/dev_docs/tutorials/debugging.mdx @@ -21,7 +21,9 @@ Next we will go over how to exactly enable the inspector for different aspects o You will need to run Jest directly from the Node script: -`node --inspect-brk scripts/jest [TestPathPattern]` +`node --inspect-brk node_modules/.bin/jest --runInBand --config [JestConfig] [TestPathPattern]` + +Additional information can be found in the [Jest troubleshooting documentation](https://jestjs.io/docs/troubleshooting). ### Functional Test Runner diff --git a/docs/CHANGELOG.asciidoc b/docs/CHANGELOG.asciidoc index f8db1fc265a90..e49584d87eb12 100644 --- a/docs/CHANGELOG.asciidoc +++ b/docs/CHANGELOG.asciidoc @@ -8,13 +8,18 @@ :issue: https://github.com/elastic/kibana/issues/ :pull: https://github.com/elastic/kibana/pull/ -Review important information about the {kib} 7.16.x releases. +Review important information about the {kib} 7.17.x releases. // Best practices: // * When there are changes to kibana.yml settings, include the links to the new settings. -* <> -* <> +* <> +* <> +* <> +//* <> +//* <> +//* <> +//* <> //* <> //* <> //* <> @@ -68,6 +73,239 @@ Review important information about the {kib} 7.16.x releases. -- +[[release-notes-7.17.2]] +== {kib} 7.17.2 + +Review the following information about the 7.17.2 release. + +[float] +[[breaking-changes-v7.17.2]] +=== Breaking changes + +// tag::notable-breaking-changes[] +There are no breaking changes in the 7.17.2 release. +// end::notable-breaking-changes[] + +To review the breaking changes in previous versions, refer to the following: + +{kibana-ref-all}/7.16/release-notes-7.16.0.html#breaking-changes-7.16.0[7.16] | {kibana-ref-all}/7.15/release-notes-7.15.0.html#breaking-changes-7.15.0[7.15] | {kibana-ref-all}/7.14/release-notes-7.14.0.html#breaking-changes-7.14.0[7.14] | {kibana-ref-all}/7.13/release-notes-7.13.0.html#breaking-changes-7.13.0[7.13] | +{kibana-ref-all}/7.12/release-notes-7.12.0.html#breaking-changes-7.12.0[7.12] | {kibana-ref-all}/7.11/breaking-changes-7.11.html[7.11] | +{kibana-ref-all}/7.10/breaking-changes-7.10.html[7.10] | {kibana-ref-all}/7.9/breaking-changes-7.9.html[7.9] | {kibana-ref-all}/7.8/breaking-changes-7.8.html[7.8] | +{kibana-ref-all}/7.7/breaking-changes-7.7.html[7.7] | {kibana-ref-all}/7.6/breaking-changes-7.6.html[7.6] | {kibana-ref-all}/7.5/breaking-changes-7.5.html[7.5] | +{kibana-ref-all}/7.4/breaking-changes-7.4.html[7.4] | {kibana-ref-all}/7.3/breaking-changes-7.3.html[7.3] | {kibana-ref-all}/7.2/breaking-changes-7.2.html[7.2] | +{kibana-ref-all}/7.1/breaking-changes-7.1.html[7.1] | {kibana-ref-all}/7.0/breaking-changes-7.0.html[7.0] + +[float] +[[fixes-v7.17.2]] +=== Bug Fixes +Dashboard:: +Use debounce instead of async url update to remove app state from URL {kibana-pull}127083[#127083] + +Discover:: +Improves doc viewer source tab performance by limiting height {kibana-pull}127439[#127439] + +Elastic Security:: +For the Elastic Security 7.17.2 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. + +Fleet:: +* Use validated fields for `default_fields` index setting {kibana-pull}128094[#128094] +* Fixes links to Agent logs for apm, endpoint, synthetics, osquery {kibana-pull}127480[#127480] +* Makes input IDs unique in agent policy yaml {kibana-pull}127343[#127343] + +Machine Learning:: +Anomaly Detection: Update annotation directly using the index it is stored in {kibana-pull}126573[#126573] + +Management:: +* Resolves errors seen when creating a runtime field with a user that has access to a limit set of indices {kibana-pull}127523[#127523] +* Fixes field format color editor crash on invalid color value {kibana-pull}127292[#127292] +* Adds deprecation logging as step on overview page of Upgrade Assistant {kibana-pull}126277[#126277] +* Upgrade Assistant will show a reindex warning if Elasticsearch is low on disk space {kibana-pull}125572[#125572] + +Observability:: +* Fixes pings over time histogram when filters are defined {kibana-pull}127757[#127757] +* Checks for latest Snapshot count document {kibana-pull}127676[#127676] +* Optimization for Metric Threshold Rule for 7.17 {kibana-pull}126545[#126545] + +[[release-notes-7.17.1]] +== {kib} 7.17.1 + +Review the following information about the 7.17.1 release. + +[float] +[[breaking-changes-v7.17.1]] +=== Breaking changes + +There are no breaking changes in the 7.17.1 release. + +To review the breaking changes in previous versions, refer to the following: + +{kibana-ref-all}/7.16/release-notes-7.16.0.html#breaking-changes-7.16.0[7.16] | {kibana-ref-all}/7.15/release-notes-7.15.0.html#breaking-changes-7.15.0[7.15] | {kibana-ref-all}/7.14/release-notes-7.14.0.html#breaking-changes-7.14.0[7.14] | {kibana-ref-all}/7.13/release-notes-7.13.0.html#breaking-changes-7.13.0[7.13] | +{kibana-ref-all}/7.12/release-notes-7.12.0.html#breaking-changes-7.12.0[7.12] | {kibana-ref-all}/7.11/breaking-changes-7.11.html[7.11] | +{kibana-ref-all}/7.10/breaking-changes-7.10.html[7.10] | {kibana-ref-all}/7.9/breaking-changes-7.9.html[7.9] | {kibana-ref-all}/7.8/breaking-changes-7.8.html[7.8] | +{kibana-ref-all}/7.7/breaking-changes-7.7.html[7.7] | {kibana-ref-all}/7.6/breaking-changes-7.6.html[7.6] | {kibana-ref-all}/7.5/breaking-changes-7.5.html[7.5] | +{kibana-ref-all}/7.4/breaking-changes-7.4.html[7.4] | {kibana-ref-all}/7.3/breaking-changes-7.3.html[7.3] | {kibana-ref-all}/7.2/breaking-changes-7.2.html[7.2] | +{kibana-ref-all}/7.1/breaking-changes-7.1.html[7.1] | {kibana-ref-all}/7.0/breaking-changes-7.0.html[7.0] + +[float] +[[fixes-v7.17.1]] +=== Bug fixes +Elastic Security:: +For the Elastic Security 7.17.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. +Lens & Visualizations:: +* Removes tabify performance issue {kibana-pull}124931[#124931] +* Fixes an issue where shard failures were not reported in *TSVB* {kibana-pull}123474[#123474] +Machine Learning:: +* Fixes anomaly detector jobs list filter delay {kibana-pull}124328[#124328] +Management:: +* You can now use the search bar in the snapshots list of the Snapshot & Restore app with date strings {kibana-pull}125234[#125234] +* Adds warning when remote clusters are configured {kibana-pull}125138[#125138] +* Updates logic for handling reindex failures {kibana-pull}124571[#124571] +* Fixes redirect to the wizard {kibana-pull}124337[#124337] +* Fixes cross cluster search when using the `fields` search request parameter for versions of {es} prior to 7.0 {kibana-pull}123267[#123267] +Maps:: +Fixes an issue where layers from WMS capabilities for a specific URL were unable to load {kibana-pull}123386[#123386] +Security:: +* Prevents repeated calls to extend session when Kibana is unavailable {kibana-pull}125973[#125973] +* Changed deprecation warning for elasticsearch.username {kibana-pull}124717[#124717] + +[[release-notes-7.17.0]] +== {kib} 7.17.0 + +Review the following information about the 7.17.0 release. + +[float] +[[breaking-changes-v7.17.0]] +=== Breaking changes + +There are no breaking changes in the 7.17.0 release. + +To review the breaking changes in previous versions, refer to the following: + +{kibana-ref-all}/7.16/release-notes-7.16.0.html#breaking-changes-7.16.0[7.16] | {kibana-ref-all}/7.15/release-notes-7.15.0.html#breaking-changes-7.15.0[7.15] | {kibana-ref-all}/7.14/release-notes-7.14.0.html#breaking-changes-7.14.0[7.14] | {kibana-ref-all}/7.13/release-notes-7.13.0.html#breaking-changes-7.13.0[7.13] | +{kibana-ref-all}/7.12/release-notes-7.12.0.html#breaking-changes-7.12.0[7.12] | {kibana-ref-all}/7.11/breaking-changes-7.11.html[7.11] | +{kibana-ref-all}/7.10/breaking-changes-7.10.html[7.10] | {kibana-ref-all}/7.9/breaking-changes-7.9.html[7.9] | {kibana-ref-all}/7.8/breaking-changes-7.8.html[7.8] | +{kibana-ref-all}/7.7/breaking-changes-7.7.html[7.7] | {kibana-ref-all}/7.6/breaking-changes-7.6.html[7.6] | {kibana-ref-all}/7.5/breaking-changes-7.5.html[7.5] | +{kibana-ref-all}/7.4/breaking-changes-7.4.html[7.4] | {kibana-ref-all}/7.3/breaking-changes-7.3.html[7.3] | {kibana-ref-all}/7.2/breaking-changes-7.2.html[7.2] | +{kibana-ref-all}/7.1/breaking-changes-7.1.html[7.1] | {kibana-ref-all}/7.0/breaking-changes-7.0.html[7.0] + +[float] +[[enhancements-and-bug-fixes-v7.17.0]] +=== Enhancements and bug fixes + +For detailed information about the 7.17.0 release, review the enhancements and bug fixes. + +[float] +[[enhancement-v7.17.0]] +==== Enhancements +Elastic Security:: +For the Elastic Security 7.17.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. +Lens & Visualizations:: +* Allow users to not render suggestions in *Lens* {kibana-pull}115946[#115946] +* Avoid to compute over time suggestion for expensive configurations in *Lens* {kibana-pull}115932[#115932] +Monitoring:: +Adds telemetry stats for legacy notifications system {kibana-pull}122472[#122472] +Operations:: +Replaces CentOS base image with Ubuntu {kibana-pull}118928[#118928] +Platform:: +* Response logs emitted by the elasticsearch service include the size of the response body {kibana-pull}123173[#123173] +* Adds event loop delay histogram percentiles to `metrics.ops` logger message and meta field {kibana-pull}120451[#120451] +* Displays event loop delay metrics in the Status page to assist with performance monitoring {kibana-pull}121052[#121052] + +[float] +[[fixes-v7.17.0]] +==== Bug Fixes +Alerting:: +Fixes call to update index alias to hidden {kibana-pull}122882[#122882] +Canvas:: +* Fixes an issue where a workpad element was breaking after changing the expression from expression editor and resizing {kibana-pull}122154[#122154] +* Repeat image bug with image height fixed {kibana-pull}121497[#121497] +Discover:: +* Fixes saved search hidden chart can't be opened when returning to Discover {kibana-pull}122745[#122745] +* Fixes page up and down navigation in classic table {kibana-pull}122742[#122742] +* Fixes context view for document ids containing special characters {kibana-pull}122737[#122737] +* Adds {kib} services provider for embeddable {kibana-pull}121621[#121621] +Elastic Security:: +For the Elastic Security 7.17.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. +Lens & Visualizations:: +* Fixes y-axis visibility for Percentile aggregation in XY charts {kibana-pull}122162[#122162] +* Runs the migration correctly for the drop last bucket in *TSVB* {kibana-pull}121734[#121734] +* Fixes percentage mode behavior when multiple metrics are placed on the same axis in XY charts {kibana-pull}121610[#121610] +* "Bucket script" and "Series Agg" should be active for "timerange" mode in *TSVB* {kibana-pull}121301[#121301] +Machine Learning:: +Fixes Anomaly detection's custom url with special characters {kibana-pull}121411[#121411] +Management:: +* Fixes runtime field validations not supporting special script types {kibana-pull}122469[#122469] +* Allows fields named `_timestamp` to be non-date types {kibana-pull}121772[#121772] +Maps:: +Fixes map application crashes when leaving map while drawing filter {kibana-pull}122353[#122353] +Monitoring:: +Fixes telemetry for cases attached to alerts to work across spaces {kibana-pull}122477[#122477] +Observability:: +* Fixes Uptime alerting fly outs within alerting app {kibana-pull}123031[#123031] +* Overview link to Exploratory View should not filter by monitor in Uptime {kibana-pull}122907[#122907] +* Adds a global filter to exploratory view when there is only one series in Uptime {kibana-pull}122301[#122301] +* Fixes a problem in which the exploratory view would crash if no date ranges were selected in Uptime {kibana-pull}122163[#122163] +* Fixes a bug where the monitor step details would send more requests than necessary in Uptime {kibana-pull}121889[#121889] +* Drop requests for overview page data when filter not initialized in Uptime {kibana-pull}120031[#120031] +* Restores default chart `timezone` to `'local'` in XY charts {kibana-pull}123264[#123264] +Security:: +* Adds tooltip for usernames on API Key management page {kibana-pull}122488[#122488] +* Kibana now shows a more helpful error message when the browser prevents it from using cookies {kibana-pull}120944[#120944] + +For information about the features introduced in 7.17.0, refer to <>. + +///// +[[release-notes-7.16.3]] +== {kib} 7.16.3 + +Review the following information about the 7.16.3 release. + +[float] +[[breaking-changes-v7.16.3]] +=== Breaking changes +Breaking changes can prevent your application from optimal operation and performance. Before you upgrade to 7.16.2, review the <>. + +To review the breaking changes in previous versions, refer to the following: + +{kibana-ref-all}/7.15/release-notes-7.15.0.html#breaking-changes-7.15.0[7.15] | {kibana-ref-all}/7.14/release-notes-7.14.0.html#breaking-changes-7.14.0[7.14] | {kibana-ref-all}/7.13/release-notes-7.13.0.html#breaking-changes-7.13.0[7.13] | +{kibana-ref-all}/7.12/release-notes-7.12.0.html#breaking-changes-7.12.0[7.12] | {kibana-ref-all}/7.11/breaking-changes-7.11.html[7.11] | +{kibana-ref-all}/7.10/breaking-changes-7.10.html[7.10] | {kibana-ref-all}/7.9/breaking-changes-7.9.html[7.9] | {kibana-ref-all}/7.8/breaking-changes-7.8.html[7.8] | +{kibana-ref-all}/7.7/breaking-changes-7.7.html[7.7] | {kibana-ref-all}/7.6/breaking-changes-7.6.html[7.6] | {kibana-ref-all}/7.5/breaking-changes-7.5.html[7.5] | +{kibana-ref-all}/7.4/breaking-changes-7.4.html[7.4] | {kibana-ref-all}/7.3/breaking-changes-7.3.html[7.3] | {kibana-ref-all}/7.2/breaking-changes-7.2.html[7.2] | +{kibana-ref-all}/7.1/breaking-changes-7.1.html[7.1] | {kibana-ref-all}/7.0/breaking-changes-7.0.html[7.0] + +[float] +[[fixes-v7.16.3]] +=== Bug fix + +The 7.16.3 release includes the following bug fix. + +Security:: +Fixes P12 parsing for certificates with "Basic constraints" {kibana-pull}122056[#122056] + +[[release-notes-7.16.2]] +== {kib} 7.16.2 + +Review the following information about the 7.16.2 release. + +[float] +[[breaking-changes-v7.16.2]] +=== Breaking changes +Breaking changes can prevent your application from optimal operation and performance. Before you upgrade to 7.16.2, review the <>. + +[float] +[[fixes-v7.16.2]] +=== Bug Fixes + +The 7.16.2 release includes the following bug fixes. + +Fleet:: +* Omits `elasticsearch` field for policy update API (partial backport of {kibana-pull}121412[#121412]) +Lens & Visualizations:: +* Fixes the broken chart when an agg is placed in another axis and then is hidden {kibana-pull}121488[#121488] +Metrics:: +* Adds migrations for saved object references {kibana-pull}121214[#121214] + [[release-notes-7.16.1]] == {kib} 7.16.1 @@ -133,8 +371,6 @@ For information about the {kib} 7.16.0 release, review the following information Breaking changes can prevent your application from optimal operation and performance. Before you upgrade to 7.16.0, review the breaking changes, then mitigate the impact to your application. - -// tag::notable-breaking-changes[] [discrete] [[breaking-112523]] @@ -162,6 +398,8 @@ Use the following supported browsers: The legacy aggregation-based data table and `vis_type_table.legacyVisEnabled` setting are no longer supported. For more information, refer to {kibana-pull}111339[#111339]. *Impact* + +When you upgrade to 7.16.0, {kib} automatically uses the new data table. + To auto-fit the table row height, create an {kibana-ref}/add-aggregation-based-visualization-panels.html#create-aggregation-based-panel[aggregation-based data table], click *Options*, then select *Auto fit rows to content*. ==== @@ -174,7 +412,7 @@ To auto-fit the table row height, create an {kibana-ref}/add-aggregation-based-v The legacy aggregation-based area, bar, and line charts are no longer supported. For more information, refer to {kibana-pull}110786[#110786]. *Impact* + -When you upgrade to 7.16.0, you are only able to create area, bar, and line charts using the new implementation. +When you upgrade to 7.16.0, {kib} automatically uses the new area, bar, and line charts. ==== [discrete] @@ -203,8 +441,6 @@ Queries in the updated packs are scheduled for the same agent policy as the orig scheduled query group. Action IDs for scheduled queries in a pack have the format `pack__`. ==== - -// end::notable-breaking-changes[] [float] [[deprecations-7.16.0]] @@ -545,7 +781,6 @@ Reporting:: Security:: * Adds custom error message when receiving 401 response to avoid confusion with Kibana session timeout {kibana-pull}113460[#113460] -///// [[release-notes-7.15.2]] == {kib} 7.15.2 @@ -731,8 +966,6 @@ Disable metrics powered transactions with `xpack.apm.searchAggregatedTransaction Breaking changes can prevent your application from optimal operation and performance. Before you upgrade to 7.15.0, review the breaking changes, then mitigate the impact to your application. -// tag::notable-breaking-changes[] - [discrete] [[breaking-osquery]] .New scheduled query action ID format for Osquery Manager @@ -763,8 +996,6 @@ If you have changed the default {kibana-ref}/advanced-options.html#kibana-visual . Deselect *Legacy charts library*. ==== -// end::notable-breaking-changes[] - [float] [[deprecations-7.15.0]] === Deprecations diff --git a/docs/api/cases.asciidoc b/docs/api/cases.asciidoc new file mode 100644 index 0000000000000..5e412c61926db --- /dev/null +++ b/docs/api/cases.asciidoc @@ -0,0 +1,28 @@ +[[cases-api]] +== Cases APIs + +You can create, manage, configure, and send cases to external systems with +these APIs: + +* {security-guide}/cases-api-add-comment.html[Add comment] +* {security-guide}/cases-api-create.html[Create case] +* {security-guide}/cases-api-delete-case.html[Delete case] +* {security-guide}/cases-api-delete-all-comments.html[Delete all comments] +* {security-guide}/cases-api-delete-comment.html[Delete comment] +* {security-guide}/cases-api-find-alert.html[Find all alerts attached to a case] +* {security-guide}/cases-api-find-cases.html[Find cases] +* {security-guide}/cases-api-find-cases-by-alert.html[Find cases by alert] +* {security-guide}/cases-api-find-connectors.html[Find connectors] +* {security-guide}/cases-api-get-case-activity.html[Get all case activity] +* {security-guide}/cases-api-get-all-case-comments.html[Get all case comments] +* {security-guide}/cases-api-get-case.html[Get case] +* {security-guide}/cases-api-get-comment.html[Get comment] +* {security-guide}/cases-get-connector.html[Get current connector] +* {security-guide}/cases-api-get-reporters.html[Get reporters] +* {security-guide}/cases-api-get-status.html[Get status] +* {security-guide}/cases-api-get-tag.html[Get tags] +* {security-guide}/cases-api-push.html[Push case] +* {security-guide}/assign-connector.html[Set default Elastic Security UI connector] +* {security-guide}/case-api-update-connector.html[Update case configurations] +* {security-guide}/cases-api-update.html[Update case] +* {security-guide}/cases-api-update-comment.html[Update comment] diff --git a/docs/api/saved-objects.asciidoc b/docs/api/saved-objects.asciidoc index 0625beb793c31..7c4fa07c613ad 100644 --- a/docs/api/saved-objects.asciidoc +++ b/docs/api/saved-objects.asciidoc @@ -26,6 +26,8 @@ The following saved objects APIs are available: * <> to update the attributes for existing {kib} saved objects +* <> to update the attributes for multiple existing {kib} saved objects + * <> to remove {kib} saved objects * <> to retrieve sets of saved objects that you want to import into {kib} @@ -42,6 +44,7 @@ include::saved-objects/find.asciidoc[] include::saved-objects/create.asciidoc[] include::saved-objects/bulk_create.asciidoc[] include::saved-objects/update.asciidoc[] +include::saved-objects/bulk_update.asciidoc[] include::saved-objects/delete.asciidoc[] include::saved-objects/export.asciidoc[] include::saved-objects/import.asciidoc[] diff --git a/docs/api/saved-objects/bulk_update.asciidoc b/docs/api/saved-objects/bulk_update.asciidoc new file mode 100644 index 0000000000000..28695b55cd298 --- /dev/null +++ b/docs/api/saved-objects/bulk_update.asciidoc @@ -0,0 +1,112 @@ +[[saved-objects-api-bulk-update]] +=== Bulk update object API +++++ +Bulk update objects +++++ + +experimental[] Update the attributes for multiple existing {kib} saved objects. + +[[saved-objects-api-bulk-update-request]] +==== Request + +`PUT :/api/saved_objects/_bulk_update` + +`PUT :/s//api/saved_objects/_bulk_update` + +[[saved-objects-api-bulk-update-path-params]] +==== Path parameters + +`space_id`:: + (Optional, string) An identifier for the space. If `space_id` is not provided in the URL, the default space is used. + +[[saved-objects-api-bulk-update-request-body]] +==== Request body + +`type`:: + (Required, string) Valid options include `visualization`, `dashboard`, `search`, `index-pattern`, `config`. + +`id`:: + (Required, string) The object ID to update. + +`attributes`:: + (Required, object) The data to persist. ++ +WARNING: When you update, attributes are not validated, which allows you to pass arbitrary and ill-formed data into the API and break {kib}. Make sure any data that you send to the API is properly formed. + +`references`:: + (Optional, array) Objects with `name`, `id`, and `type` properties that describe the other saved objects this object references. To refer to the other saved object, use `name` in the attributes, but never the `id`, which automatically updates during migrations or import/export. + +`version`:: + (Optional, number) Ensures the version matches that of the persisted object. + +`namespace`:: (Optional, string) Identifier for the space in which to update this object. If this is defined, it will supersede the space ID that is in the URL. + +[[saved-objects-api-bulk-update-codes]] +==== Response code + +`200`:: + Indicates a successful call. Note, this HTTP response code indicates that the bulk operation succeeded. Errors pertaining to individual + objects will be returned in the response body. Refer to the example below for details. + +[[saved-objects-api-bulk-update-example]] +==== Example + +Update three saved objects, where one of them does not exist: + +[source,sh] +-------------------------------------------------- +$ curl -X PUT api/saved_objects/_bulk_update +[ + { + type: 'visualization', + id: 'not an id', + attributes: { + title: 'An existing visualization', + }, + }, + { + type: 'dashboard', + id: 'be3733a0-9efe-11e7-acb3-3dab96693fab', + attributes: { + title: 'An existing dashboard', + }, + { + type: 'index-pattern', + id: 'logstash-*', + attributes: { title: 'my-logstash-pattern' } + } +] +-------------------------------------------------- +// KIBANA + +The API returns the following: + +[source,sh] +-------------------------------------------------- +[ + { + "type": "visualization", + "id": "not an id", + "error": { + "statusCode": 404, + "error": "Not Found", + "message": "Saved object [visualization/not an id] not found", + }, + }, + { + "type": "dashboard", + "id": "be3733a0-9efe-11e7-acb3-3dab96693fab", + "version": 2, + "attributes": { + "title": "An existing dashboard", + }, + }, + { + "type": "index-pattern", + "id": "logstash-*", + "attributes": { + "title": "my-logstash-pattern", + } + } +] +-------------------------------------------------- diff --git a/docs/api/upgrade-assistant/status.asciidoc b/docs/api/upgrade-assistant/status.asciidoc index b0c11939ca784..aec280e8d16f9 100644 --- a/docs/api/upgrade-assistant/status.asciidoc +++ b/docs/api/upgrade-assistant/status.asciidoc @@ -31,22 +31,8 @@ The API returns the following: "cluster": [ { "message": "Cluster deprecated issue", - "details": "...", - "level": "warning", - "url": "https://docs.elastic.co/..." - } - ], - "indices": [ - { - "message": "Index was created before 6.0", - "details": "...", - "index": "myIndex", - "level": "critical", - "reindex": true, <1> - "url": "https://docs.elastic.co/..." + "details":"You have 2 system indices that must be migrated and 5 Elasticsearch deprecation issues and 0 Kibana deprecation issues that must be resolved before upgrading." } ] } -------------------------------------------------- - -<1> To fix indices with the `reindex` attribute, set to `true` using the <>. diff --git a/docs/concepts/kuery.asciidoc b/docs/concepts/kuery.asciidoc index 53d445b932d62..947dd96315a36 100644 --- a/docs/concepts/kuery.asciidoc +++ b/docs/concepts/kuery.asciidoc @@ -144,6 +144,20 @@ but in some cases you might need to search on dates. Include the date range in q @timestamp < "2021" ------------------- +KQL supports date math expressions. + +[source,yaml] +------------------- +@timestamp < now-1d +------------------- + +[source,yaml] +------------------- +updated_at > 2022-02-17||+1M/d +------------------- + +Check the +{ref}/common-options.html#date-math[date math documentation] for more examples. [discrete] === Exist queries diff --git a/docs/dev-tools/console/console.asciidoc b/docs/dev-tools/console/console.asciidoc index f0e3f377040ec..1c1a4a02255a0 100644 --- a/docs/dev-tools/console/console.asciidoc +++ b/docs/dev-tools/console/console.asciidoc @@ -139,8 +139,9 @@ to `false` in your `kibana.yml` configuration file. Changing this setting causes the server to regenerate assets on the next startup, which might cause a delay before pages start being served. +[float] === Disable Console (before 8.0) deprecated:[7.16.0,"In 8.0 and later, this setting will no longer be supported."] If you don’t want to use *Console*, you can disable it by setting `console.enabled` -to `false` in your `kibana.yml` configuration file. \ No newline at end of file +to `false` in your `kibana.yml` configuration file. diff --git a/docs/developer/advanced/development-es-snapshots.asciidoc b/docs/developer/advanced/development-es-snapshots.asciidoc index 38146e65b6326..ad9eb17ec309c 100644 --- a/docs/developer/advanced/development-es-snapshots.asciidoc +++ b/docs/developer/advanced/development-es-snapshots.asciidoc @@ -13,6 +13,7 @@ https://ci.kibana.dev/es-snapshots[A dashboard] is available that shows the curr 2. Each snapshot is uploaded to a public Google Cloud Storage bucket, `kibana-ci-es-snapshots-daily`. ** At this point, the snapshot is not automatically used in CI or local development. It needs to be tested/verified first. 3. Each snapshot is tested with the latest commit of the corresponding {kib} branch, using the full CI suite. +3a. If a test fails during snapshot verification the Kibana Operations team will skip it and create an issue for the team to fix the test, or work with the Elasticsearch team to get a fix implemented there. Once the fix is ready a Kibana PR can be opened to unskip the test. 4. After CI ** If the snapshot passes, it is promoted and automatically used in CI and local development. ** If the snapshot fails, the issue must be investigated and resolved. A new incompatibility may exist between {es} and {kib}. diff --git a/docs/developer/contributing/development-functional-tests.asciidoc b/docs/developer/contributing/development-functional-tests.asciidoc index 5dc6f2dee5a44..f1455b511e1df 100644 --- a/docs/developer/contributing/development-functional-tests.asciidoc +++ b/docs/developer/contributing/development-functional-tests.asciidoc @@ -515,3 +515,12 @@ macOS users on a machine with a discrete graphics card may see significant speed * Open "Advanced GPU Settings..." * Uncheck the "Prefer integrated to discrete GPU" option * Restart iTerm + +[discrete] +== Flaky Test Runner + +If your functional tests are flaky then the Operations team might skip them and ask that you make them less flaky before enabling them once again. This process usually involves looking at the failures which are logged on the relevant Github issue and finding incorrect assumptions or conditions which need to be awaited at some point in the test. To determine if your changes make the test fail less often you can run your tests in the Flaky Test Runner. This tool runs up to 500 executions of a specific ciGroup. To start a build of the Flaky Test Runner create a PR with your changes and then visit https://ci-stats.kibana.dev/trigger_flaky_test_runner, select your PR, choose the CI Group that your tests are in, and trigger the build. + +This will take you to Buildkite where your build will run and tell you if it failed in any execution. + +A flaky test may only fail once in 1000 runs, so keep this in mind and make sure you use enough executions to really prove that a test isn't flaky anymore. diff --git a/docs/developer/contributing/development-package-tests.asciidoc b/docs/developer/contributing/development-package-tests.asciidoc index 7883ce2d83209..2b43013992878 100644 --- a/docs/developer/contributing/development-package-tests.asciidoc +++ b/docs/developer/contributing/development-package-tests.asciidoc @@ -27,9 +27,9 @@ pip3 install --user ansible [cols=",,",options="header",] |=== |Hostname |IP |Description -|deb |192.168.50.5 |Installation of Kibana’s deb package -|rpm |192.168.50.6 |Installation of Kibana’s rpm package -|docker |192.168.50.7 |Installation of Kibana’s docker image +|deb |192.168.56.5 |Installation of Kibana’s deb package +|rpm |192.168.56.6 |Installation of Kibana’s rpm package +|docker |192.168.56.7 |Installation of Kibana’s docker image |=== === Running @@ -49,11 +49,11 @@ vagrant provision # Running functional tests node scripts/es snapshot \ - -E network.bind_host=127.0.0.1,192.168.50.1 \ + -E network.bind_host=127.0.0.1,192.168.56.1 \ -E discovery.type=single-node \ --license=trial TEST_KIBANA_URL=http://elastic:changeme@:5601 \ -TEST_ES_URL=http://elastic:changeme@192.168.50.1:9200 \ +TEST_ES_URL=http://elastic:changeme@192.168.56.1:9200 \ node scripts/functional_test_runner.js --include-tag=smoke ``` diff --git a/docs/developer/index.asciidoc b/docs/developer/index.asciidoc index cfa25e5cb315a..fd899b2e10fd6 100644 --- a/docs/developer/index.asciidoc +++ b/docs/developer/index.asciidoc @@ -31,7 +31,6 @@ include::advanced/index.asciidoc[] include::plugin-list.asciidoc[] -include::plugin-api-changes/plugin-api-changes-7_12.asciidoc[] +include::plugin-api-changes/plugin-api-changes.asciidoc[] include::telemetry.asciidoc[] - diff --git a/docs/developer/plugin-api-changes/plugin-api-changes-7_12.asciidoc b/docs/developer/plugin-api-changes/plugin-api-changes-7_12.asciidoc deleted file mode 100644 index a6940fba1121f..0000000000000 --- a/docs/developer/plugin-api-changes/plugin-api-changes-7_12.asciidoc +++ /dev/null @@ -1,81 +0,0 @@ -[[plugin-api-changes]] -== Plugin API changes in {minor-version} -++++ -Plugin API changes -++++ - -This page discusses the plugin API changes that you need to be aware of when migrating -your application to {kib} {minor-version}. - -Other versions: {kibana-ref-all}/7.15/plugin-api-changes.html[7.15] | -{kibana-ref-all}/7.14/plugin-api-changes.html[7.14] | -{kibana-ref-all}/7.13/plugin-api-changes.html[7.13] | -{kibana-ref-all}/7.12/plugin-api-changes.html[7.12] | -{kibana-ref-all}/7.11/plugin-api-changes-7-11.html[7.11] | -{kibana-ref-all}/7.10/breaking-changes-7.10.html#general-plugin-API-changes-7-10[7.10] | -{kibana-ref-all}/7.9/breaking-changes-7.9.html#general-plugin-API-changes-79[7.9] | -{kibana-ref-all}/7.8/breaking-changes-7.8.html#general-plugin-API-changes-78[7.8] - -[[breaking_plugin_v7.16.0_112602]] -.Deprecation warnings logged for plugins that cannot be disabled -[%collapsible] -==== - -The ability for most plugins to be disabled using the `{plugin_name}.enabled` -config option has been deprecated. In 8.0, most {kib} plugins can no longer -be disabled using this option. - -You can still opt-in to this feature by explicitly adding an -`enabled` property to your config schema. However, we recommend against -this when possible. This change affects whether or not a plugin's code is loaded by -{kib}'s core, introducing complexity and creating a new set of configuration -scenarios that must be tested. - -To allow some aspects of your plugin to be disabled, -for example the ability to remove it from the {kib} UI, -we recommend creating "nested" configuration options. For example, use -`{plugin_name}.ui.enabled` instead of `{plugin_name}.enabled`, and then read -from the configuration at runtime to conditionally render your application. -This gives you similar functionality without preventing your plugin code from loading altogether. - -Refer to https://github.com/elastic/kibana/pull/112602[#112602]. - -==== - -[[breaking_plugin_v7.16.0_109368]] -.Angular removed from doc viewer -[%collapsible] -==== - -You can no longer use the `directive` property when registering a `DocView` via -the `addDocView()` method in *Discover* to register an Angular doc view. -Going forward, we no longer support Angular in our plugin APIs. - -Refer to https://github.com/elastic/kibana/pull/109368[#109368]. - -==== - -[[breaking_plugin_v7.16.0_109243]] -.`LegacyRequest` type removed from Core API -[%collapsible] -==== - -The Core API no longer accepts `LegacyRequest` in `BasePath` and `ScopeableRequet` types. - -Refer to https://github.com/elastic/kibana/pull/109243[#109243]. - -==== - -[[breaking_plugin_v7.16.0_107619]] -.Legacy {es} client removed -[%collapsible] -==== - -The legacy {es} client is no longer available in `CoreSetup` and -`RequestHandlerContext` interfaces. Use the -https://www.elastic.co/guide/en/kibana/current/elasticsearch-service.html[new client] -instead. - -Refer to https://github.com/elastic/kibana/pull/107619[#107619]. - -==== diff --git a/docs/developer/plugin-api-changes/plugin-api-changes.asciidoc b/docs/developer/plugin-api-changes/plugin-api-changes.asciidoc new file mode 100644 index 0000000000000..0adfb9f6cad92 --- /dev/null +++ b/docs/developer/plugin-api-changes/plugin-api-changes.asciidoc @@ -0,0 +1,17 @@ +[[plugin-api-changes]] +== Plugin API changes in {minor-version} +++++ +Plugin API changes +++++ + +There are no plugin API changes for {kib} {minor-version}. + +Other versions: {kibana-ref-all}/7.16/plugin-api-changes.html[7.16] | +{kibana-ref-all}/7.15/plugin-api-changes.html[7.15] | +{kibana-ref-all}/7.14/plugin-api-changes.html[7.14] | +{kibana-ref-all}/7.13/plugin-api-changes.html[7.13] | +{kibana-ref-all}/7.12/plugin-api-changes.html[7.12] | +{kibana-ref-all}/7.11/plugin-api-changes-7-11.html[7.11] | +{kibana-ref-all}/7.10/breaking-changes-7.10.html#general-plugin-API-changes-7-10[7.10] | +{kibana-ref-all}/7.9/breaking-changes-7.9.html#general-plugin-API-changes-79[7.9] | +{kibana-ref-all}/7.8/breaking-changes-7.8.html#general-plugin-API-changes-78[7.8] diff --git a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md index 3e9be72eb8750..3e6c7e7af6dc8 100644 --- a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md +++ b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md @@ -11,7 +11,8 @@ readonly links: { readonly settings: string; readonly elasticStackGetStarted: string; readonly upgrade: { - readonly upgradingElasticStack: string; + readonly upgradingStackOnPrem: string; + readonly upgradingStackOnCloud: string; }; readonly apm: { readonly kibanaSettings: string; diff --git a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md index 180cf6e42eae1..5103639576b3d 100644 --- a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md +++ b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md @@ -17,5 +17,5 @@ export interface DocLinksStart | --- | --- | --- | | [DOC\_LINK\_VERSION](./kibana-plugin-core-public.doclinksstart.doc_link_version.md) | string | | | [ELASTIC\_WEBSITE\_URL](./kibana-plugin-core-public.doclinksstart.elastic_website_url.md) | string | | -| [links](./kibana-plugin-core-public.doclinksstart.links.md) | { readonly settings: string; readonly elasticStackGetStarted: string; readonly upgrade: { readonly upgradingElasticStack: string; }; readonly apm: { readonly kibanaSettings: string; readonly supportedServiceMaps: string; readonly customLinks: string; readonly droppedTransactionSpans: string; readonly upgrading: string; readonly metaData: string; }; readonly canvas: { readonly guide: string; }; readonly dashboard: { readonly guide: string; readonly drilldowns: string; readonly drilldownsTriggerPicker: string; readonly urlDrilldownTemplateSyntax: string; readonly urlDrilldownVariables: string; }; readonly discover: Record<string, string>; readonly filebeat: { readonly base: string; readonly installation: string; readonly configuration: string; readonly elasticsearchOutput: string; readonly elasticsearchModule: string; readonly startup: string; readonly exportedFields: string; readonly suricataModule: string; readonly zeekModule: string; }; readonly auditbeat: { readonly base: string; readonly auditdModule: string; readonly systemModule: string; }; readonly metricbeat: { readonly base: string; readonly configure: string; readonly httpEndpoint: string; readonly install: string; readonly start: string; }; readonly enterpriseSearch: { readonly base: string; readonly appSearchBase: string; readonly workplaceSearchBase: string; }; readonly heartbeat: { readonly base: string; }; readonly libbeat: { readonly getStarted: string; }; readonly logstash: { readonly base: string; }; readonly functionbeat: { readonly base: string; }; readonly winlogbeat: { readonly base: string; }; readonly aggs: { readonly composite: string; readonly composite\_missing\_bucket: string; readonly date\_histogram: string; readonly date\_range: string; readonly date\_format\_pattern: string; readonly filter: string; readonly filters: string; readonly geohash\_grid: string; readonly histogram: string; readonly ip\_range: string; readonly range: string; readonly significant\_terms: string; readonly terms: string; readonly terms\_doc\_count\_error: string; readonly avg: string; readonly avg\_bucket: string; readonly max\_bucket: string; readonly min\_bucket: string; readonly sum\_bucket: string; readonly cardinality: string; readonly count: string; readonly cumulative\_sum: string; readonly derivative: string; readonly geo\_bounds: string; readonly geo\_centroid: string; readonly max: string; readonly median: string; readonly min: string; readonly moving\_avg: string; readonly percentile\_ranks: string; readonly serial\_diff: string; readonly std\_dev: string; readonly sum: string; readonly top\_hits: string; }; readonly runtimeFields: { readonly overview: string; readonly mapping: string; }; readonly scriptedFields: { readonly scriptFields: string; readonly scriptAggs: string; readonly painless: string; readonly painlessApi: string; readonly painlessLangSpec: string; readonly painlessSyntax: string; readonly painlessWalkthrough: string; readonly luceneExpressions: string; }; readonly search: { readonly sessions: string; readonly sessionLimits: string; }; readonly indexPatterns: { readonly introduction: string; readonly fieldFormattersNumber: string; readonly fieldFormattersString: string; readonly runtimeFields: string; }; readonly addData: string; readonly kibana: string; readonly upgradeAssistant: { readonly overview: string; readonly batchReindex: string; readonly remoteReindex: string; }; readonly rollupJobs: string; readonly elasticsearch: Record<string, string>; readonly siem: { readonly privileges: string; readonly guide: string; readonly gettingStarted: string; readonly ml: string; readonly ruleChangeLog: string; readonly detectionsReq: string; readonly networkMap: string; readonly troubleshootGaps: string; }; readonly securitySolution: { readonly trustedApps: string; }; readonly query: { readonly eql: string; readonly kueryQuerySyntax: string; readonly luceneQuerySyntax: string; readonly percolate: string; readonly queryDsl: string; readonly autocompleteChanges: string; }; readonly date: { readonly dateMath: string; readonly dateMathIndexNames: string; }; readonly management: Record<string, string>; readonly ml: Record<string, string>; readonly transforms: Record<string, string>; readonly visualize: Record<string, string>; readonly apis: Readonly<{ bulkIndexAlias: string; byteSizeUnits: string; createAutoFollowPattern: string; createFollower: string; createIndex: string; createSnapshotLifecyclePolicy: string; createRoleMapping: string; createRoleMappingTemplates: string; createRollupJobsRequest: string; createApiKey: string; createPipeline: string; createTransformRequest: string; cronExpressions: string; executeWatchActionModes: string; indexExists: string; openIndex: string; putComponentTemplate: string; painlessExecute: string; painlessExecuteAPIContexts: string; putComponentTemplateMetadata: string; putSnapshotLifecyclePolicy: string; putIndexTemplateV1: string; putWatch: string; simulatePipeline: string; timeUnits: string; updateTransform: string; }>; readonly observability: Readonly<{ guide: string; infrastructureThreshold: string; logsThreshold: string; metricsThreshold: string; monitorStatus: string; monitorUptime: string; tlsCertificate: string; uptimeDurationAnomaly: string; }>; readonly alerting: Record<string, string>; readonly maps: Readonly<{ guide: string; importGeospatialPrivileges: string; }>; readonly monitoring: Record<string, string>; readonly security: Readonly<{ apiKeyServiceSettings: string; clusterPrivileges: string; elasticsearchSettings: string; elasticsearchEnableSecurity: string; elasticsearchEnableApiKeys: string; indicesPrivileges: string; kibanaTLS: string; kibanaPrivileges: string; mappingRoles: string; mappingRolesFieldRules: string; runAsPrivilege: string; }>; readonly spaces: Readonly<{ kibanaLegacyUrlAliases: string; kibanaDisableLegacyUrlAliasesApi: string; }>; readonly watcher: Record<string, string>; readonly ccs: Record<string, string>; readonly plugins: Record<string, string>; readonly snapshotRestore: Record<string, string>; readonly ingest: Record<string, string>; readonly fleet: Readonly<{ beatsAgentComparison: string; guide: string; fleetServer: string; fleetServerAddFleetServer: string; settings: string; settingsFleetServerHostSettings: string; settingsFleetServerProxySettings: string; troubleshooting: string; elasticAgent: string; datastreams: string; datastreamsNamingScheme: string; installElasticAgent: string; upgradeElasticAgent: string; upgradeElasticAgent712lower: string; learnMoreBlog: string; apiKeysLearnMore: string; onPremRegistry: string; }>; readonly ecs: { readonly guide: string; }; readonly clients: { readonly guide: string; readonly goOverview: string; readonly javaIndex: string; readonly jsIntro: string; readonly netGuide: string; readonly perlGuide: string; readonly phpGuide: string; readonly pythonGuide: string; readonly rubyOverview: string; readonly rustGuide: string; }; readonly endpoints: { readonly troubleshooting: string; }; } | | +| [links](./kibana-plugin-core-public.doclinksstart.links.md) | { readonly settings: string; readonly elasticStackGetStarted: string; readonly upgrade: { readonly upgradingStackOnPrem: string; readonly upgradingStackOnCloud: string; }; readonly apm: { readonly kibanaSettings: string; readonly supportedServiceMaps: string; readonly customLinks: string; readonly droppedTransactionSpans: string; readonly upgrading: string; readonly metaData: string; }; readonly canvas: { readonly guide: string; }; readonly dashboard: { readonly guide: string; readonly drilldowns: string; readonly drilldownsTriggerPicker: string; readonly urlDrilldownTemplateSyntax: string; readonly urlDrilldownVariables: string; }; readonly discover: Record<string, string>; readonly filebeat: { readonly base: string; readonly installation: string; readonly configuration: string; readonly elasticsearchOutput: string; readonly elasticsearchModule: string; readonly startup: string; readonly exportedFields: string; readonly suricataModule: string; readonly zeekModule: string; }; readonly auditbeat: { readonly base: string; readonly auditdModule: string; readonly systemModule: string; }; readonly metricbeat: { readonly base: string; readonly configure: string; readonly httpEndpoint: string; readonly install: string; readonly start: string; }; readonly enterpriseSearch: { readonly base: string; readonly appSearchBase: string; readonly workplaceSearchBase: string; }; readonly heartbeat: { readonly base: string; }; readonly libbeat: { readonly getStarted: string; }; readonly logstash: { readonly base: string; }; readonly functionbeat: { readonly base: string; }; readonly winlogbeat: { readonly base: string; }; readonly aggs: { readonly composite: string; readonly composite\_missing\_bucket: string; readonly date\_histogram: string; readonly date\_range: string; readonly date\_format\_pattern: string; readonly filter: string; readonly filters: string; readonly geohash\_grid: string; readonly histogram: string; readonly ip\_range: string; readonly range: string; readonly significant\_terms: string; readonly terms: string; readonly avg: string; readonly avg\_bucket: string; readonly max\_bucket: string; readonly min\_bucket: string; readonly sum\_bucket: string; readonly cardinality: string; readonly count: string; readonly cumulative\_sum: string; readonly derivative: string; readonly geo\_bounds: string; readonly geo\_centroid: string; readonly max: string; readonly median: string; readonly min: string; readonly moving\_avg: string; readonly percentile\_ranks: string; readonly serial\_diff: string; readonly std\_dev: string; readonly sum: string; readonly top\_hits: string; }; readonly runtimeFields: { readonly overview: string; readonly mapping: string; }; readonly scriptedFields: { readonly scriptFields: string; readonly scriptAggs: string; readonly painless: string; readonly painlessApi: string; readonly painlessLangSpec: string; readonly painlessSyntax: string; readonly painlessWalkthrough: string; readonly luceneExpressions: string; }; readonly search: { readonly sessions: string; readonly sessionLimits: string; }; readonly indexPatterns: { readonly introduction: string; readonly fieldFormattersNumber: string; readonly fieldFormattersString: string; readonly runtimeFields: string; }; readonly addData: string; readonly kibana: string; readonly upgradeAssistant: { readonly overview: string; readonly batchReindex: string; readonly remoteReindex: string; }; readonly rollupJobs: string; readonly elasticsearch: Record<string, string>; readonly siem: { readonly privileges: string; readonly guide: string; readonly gettingStarted: string; readonly ml: string; readonly ruleChangeLog: string; readonly detectionsReq: string; readonly networkMap: string; readonly troubleshootGaps: string; }; readonly securitySolution: { readonly trustedApps: string; }; readonly query: { readonly eql: string; readonly kueryQuerySyntax: string; readonly luceneQuerySyntax: string; readonly percolate: string; readonly queryDsl: string; readonly autocompleteChanges: string; }; readonly date: { readonly dateMath: string; readonly dateMathIndexNames: string; }; readonly management: Record<string, string>; readonly ml: Record<string, string>; readonly transforms: Record<string, string>; readonly visualize: Record<string, string>; readonly apis: Readonly<{ bulkIndexAlias: string; byteSizeUnits: string; createAutoFollowPattern: string; createFollower: string; createIndex: string; createSnapshotLifecyclePolicy: string; createRoleMapping: string; createRoleMappingTemplates: string; createRollupJobsRequest: string; createApiKey: string; createPipeline: string; createTransformRequest: string; cronExpressions: string; executeWatchActionModes: string; indexExists: string; openIndex: string; putComponentTemplate: string; painlessExecute: string; painlessExecuteAPIContexts: string; putComponentTemplateMetadata: string; putSnapshotLifecyclePolicy: string; putIndexTemplateV1: string; putWatch: string; simulatePipeline: string; timeUnits: string; updateTransform: string; }>; readonly observability: Readonly<{ guide: string; infrastructureThreshold: string; logsThreshold: string; metricsThreshold: string; monitorStatus: string; monitorUptime: string; tlsCertificate: string; uptimeDurationAnomaly: string; }>; readonly alerting: Record<string, string>; readonly maps: Record<string, string>; readonly monitoring: Record<string, string>; readonly security: Readonly<{ apiKeyServiceSettings: string; clusterPrivileges: string; elasticsearchSettings: string; elasticsearchEnableSecurity: string; elasticsearchEnableApiKeys: string; indicesPrivileges: string; kibanaTLS: string; kibanaPrivileges: string; mappingRoles: string; mappingRolesFieldRules: string; runAsPrivilege: string; }>; readonly spaces: Readonly<{ kibanaLegacyUrlAliases: string; kibanaDisableLegacyUrlAliasesApi: string; }>; readonly watcher: Record<string, string>; readonly ccs: Record<string, string>; readonly plugins: { azureRepo: string; gcsRepo: string; hdfsRepo: string; s3Repo: string; snapshotRestoreRepos: string; mapperSize: string; }; readonly snapshotRestore: Record<string, string>; readonly ingest: Record<string, string>; readonly fleet: Readonly<{ beatsAgentComparison: string; guide: string; fleetServer: string; fleetServerAddFleetServer: string; settings: string; settingsFleetServerHostSettings: string; settingsFleetServerProxySettings: string; troubleshooting: string; elasticAgent: string; datastreams: string; datastreamsNamingScheme: string; installElasticAgent: string; upgradeElasticAgent: string; upgradeElasticAgent712lower: string; learnMoreBlog: string; apiKeysLearnMore: string; onPremRegistry: string; }>; readonly ecs: { readonly guide: string; }; readonly clients: { readonly guide: string; readonly goOverview: string; readonly javaIndex: string; readonly jsIntro: string; readonly netGuide: string; readonly perlGuide: string; readonly phpGuide: string; readonly pythonGuide: string; readonly rubyOverview: string; readonly rustGuide: string; }; readonly endpoints: { readonly troubleshooting: string; }; } | | diff --git a/docs/development/core/server/kibana-plugin-core-server.eventloopdelaysmonitor.collect.md b/docs/development/core/server/kibana-plugin-core-server.eventloopdelaysmonitor.collect.md index 36cb2d2d20944..ff9c57787f71d 100644 --- a/docs/development/core/server/kibana-plugin-core-server.eventloopdelaysmonitor.collect.md +++ b/docs/development/core/server/kibana-plugin-core-server.eventloopdelaysmonitor.collect.md @@ -6,6 +6,8 @@ Collect gathers event loop delays metrics from nodejs perf\_hooks.monitorEventLoopDelay the histogram calculations start from the last time `reset` was called or this EventLoopDelaysMonitor instance was created. +Returns metrics in milliseconds. + Signature: ```typescript diff --git a/docs/development/core/server/kibana-plugin-core-server.eventloopdelaysmonitor.md b/docs/development/core/server/kibana-plugin-core-server.eventloopdelaysmonitor.md index 21bbd8b48840c..e5d35547d3bdb 100644 --- a/docs/development/core/server/kibana-plugin-core-server.eventloopdelaysmonitor.md +++ b/docs/development/core/server/kibana-plugin-core-server.eventloopdelaysmonitor.md @@ -20,7 +20,7 @@ export declare class EventLoopDelaysMonitor | Method | Modifiers | Description | | --- | --- | --- | -| [collect()](./kibana-plugin-core-server.eventloopdelaysmonitor.collect.md) | | Collect gathers event loop delays metrics from nodejs perf\_hooks.monitorEventLoopDelay the histogram calculations start from the last time reset was called or this EventLoopDelaysMonitor instance was created. | +| [collect()](./kibana-plugin-core-server.eventloopdelaysmonitor.collect.md) | | Collect gathers event loop delays metrics from nodejs perf\_hooks.monitorEventLoopDelay the histogram calculations start from the last time reset was called or this EventLoopDelaysMonitor instance was created.Returns metrics in milliseconds. | | [reset()](./kibana-plugin-core-server.eventloopdelaysmonitor.reset.md) | | Resets the collected histogram data. | | [stop()](./kibana-plugin-core-server.eventloopdelaysmonitor.stop.md) | | Disables updating the interval timer for collecting new data points. | diff --git a/docs/development/core/server/kibana-plugin-core-server.exposedtobrowserdescriptor.md b/docs/development/core/server/kibana-plugin-core-server.exposedtobrowserdescriptor.md new file mode 100644 index 0000000000000..b2bb3f5928dcc --- /dev/null +++ b/docs/development/core/server/kibana-plugin-core-server.exposedtobrowserdescriptor.md @@ -0,0 +1,16 @@ + + +[Home](./index.md) > [kibana-plugin-core-server](./kibana-plugin-core-server.md) > [ExposedToBrowserDescriptor](./kibana-plugin-core-server.exposedtobrowserdescriptor.md) + +## ExposedToBrowserDescriptor type + +Type defining the list of configuration properties that will be exposed on the client-side Object properties can either be fully exposed + +Signature: + +```typescript +export declare type ExposedToBrowserDescriptor = { + [Key in keyof T]?: T[Key] extends Maybe ? boolean : T[Key] extends Maybe ? // can be nested for objects + ExposedToBrowserDescriptor | boolean : boolean; +}; +``` diff --git a/docs/development/core/server/kibana-plugin-core-server.intervalhistogram.md b/docs/development/core/server/kibana-plugin-core-server.intervalhistogram.md index 39f2d570cd259..56a87a1577e98 100644 --- a/docs/development/core/server/kibana-plugin-core-server.intervalhistogram.md +++ b/docs/development/core/server/kibana-plugin-core-server.intervalhistogram.md @@ -4,7 +4,7 @@ ## IntervalHistogram interface -an IntervalHistogram object that samples and reports the event loop delay over time. The delays will be reported in nanoseconds. +an IntervalHistogram object that samples and reports the event loop delay over time. The delays will be reported in milliseconds. Signature: diff --git a/docs/development/core/server/kibana-plugin-core-server.md b/docs/development/core/server/kibana-plugin-core-server.md index d12580d07afa7..23ecf23896e81 100644 --- a/docs/development/core/server/kibana-plugin-core-server.md +++ b/docs/development/core/server/kibana-plugin-core-server.md @@ -100,7 +100,7 @@ The plugin integrates with the core system via lifecycle events: `setup` | [IExternalUrlPolicy](./kibana-plugin-core-server.iexternalurlpolicy.md) | A policy describing whether access to an external destination is allowed. | | [IKibanaResponse](./kibana-plugin-core-server.ikibanaresponse.md) | A response data object, expected to returned as a result of [RequestHandler](./kibana-plugin-core-server.requesthandler.md) execution | | [IKibanaSocket](./kibana-plugin-core-server.ikibanasocket.md) | A tiny abstraction for TCP socket. | -| [IntervalHistogram](./kibana-plugin-core-server.intervalhistogram.md) | an IntervalHistogram object that samples and reports the event loop delay over time. The delays will be reported in nanoseconds. | +| [IntervalHistogram](./kibana-plugin-core-server.intervalhistogram.md) | an IntervalHistogram object that samples and reports the event loop delay over time. The delays will be reported in milliseconds. | | [IRenderOptions](./kibana-plugin-core-server.irenderoptions.md) | | | [IRouter](./kibana-plugin-core-server.irouter.md) | Registers route handlers for specified resource path and method. See [RouteConfig](./kibana-plugin-core-server.routeconfig.md) and [RequestHandler](./kibana-plugin-core-server.requesthandler.md) for more information about arguments to route registrations. | | [ISavedObjectsPointInTimeFinder](./kibana-plugin-core-server.isavedobjectspointintimefinder.md) | | @@ -253,6 +253,7 @@ The plugin integrates with the core system via lifecycle events: `setup` | [ElasticsearchClient](./kibana-plugin-core-server.elasticsearchclient.md) | Client used to query the elasticsearch cluster. | | [ElasticsearchClientConfig](./kibana-plugin-core-server.elasticsearchclientconfig.md) | Configuration options to be used to create a [cluster client](./kibana-plugin-core-server.iclusterclient.md) using the [createClient API](./kibana-plugin-core-server.elasticsearchservicestart.createclient.md) | | [ExecutionContextStart](./kibana-plugin-core-server.executioncontextstart.md) | | +| [ExposedToBrowserDescriptor](./kibana-plugin-core-server.exposedtobrowserdescriptor.md) | Type defining the list of configuration properties that will be exposed on the client-side Object properties can either be fully exposed | | [GetAuthHeaders](./kibana-plugin-core-server.getauthheaders.md) | Get headers to authenticate a user against Elasticsearch. | | [GetAuthState](./kibana-plugin-core-server.getauthstate.md) | Gets authentication state for a request. Returned by auth interceptor. | | [HandlerContextType](./kibana-plugin-core-server.handlercontexttype.md) | Extracts the type of the first argument of a [HandlerFunction](./kibana-plugin-core-server.handlerfunction.md) to represent the type of the context. | diff --git a/docs/development/core/server/kibana-plugin-core-server.pluginconfigdescriptor.exposetobrowser.md b/docs/development/core/server/kibana-plugin-core-server.pluginconfigdescriptor.exposetobrowser.md index bf124b97502d4..212a0d1c9a26b 100644 --- a/docs/development/core/server/kibana-plugin-core-server.pluginconfigdescriptor.exposetobrowser.md +++ b/docs/development/core/server/kibana-plugin-core-server.pluginconfigdescriptor.exposetobrowser.md @@ -9,7 +9,5 @@ List of configuration properties that will be available on the client-side plugi Signature: ```typescript -exposeToBrowser?: { - [P in keyof T]?: boolean; - }; +exposeToBrowser?: ExposedToBrowserDescriptor; ``` diff --git a/docs/development/core/server/kibana-plugin-core-server.pluginconfigdescriptor.md b/docs/development/core/server/kibana-plugin-core-server.pluginconfigdescriptor.md index b9cf0eea3362d..f5d18c9f40f4d 100644 --- a/docs/development/core/server/kibana-plugin-core-server.pluginconfigdescriptor.md +++ b/docs/development/core/server/kibana-plugin-core-server.pluginconfigdescriptor.md @@ -44,7 +44,7 @@ export const config: PluginConfigDescriptor = { | Property | Type | Description | | --- | --- | --- | | [deprecations?](./kibana-plugin-core-server.pluginconfigdescriptor.deprecations.md) | ConfigDeprecationProvider | (Optional) Provider for the to apply to the plugin configuration. | -| [exposeToBrowser?](./kibana-plugin-core-server.pluginconfigdescriptor.exposetobrowser.md) | { \[P in keyof T\]?: boolean; } | (Optional) List of configuration properties that will be available on the client-side plugin. | +| [exposeToBrowser?](./kibana-plugin-core-server.pluginconfigdescriptor.exposetobrowser.md) | ExposedToBrowserDescriptor<T> | (Optional) List of configuration properties that will be available on the client-side plugin. | | [exposeToUsage?](./kibana-plugin-core-server.pluginconfigdescriptor.exposetousage.md) | MakeUsageFromSchema<T> | (Optional) Expose non-default configs to usage collection to be sent via telemetry. set a config to true to report the actual changed config value. set a config to false to report the changed config value as \[redacted\].All changed configs except booleans and numbers will be reported as \[redacted\] unless otherwise specified.[MakeUsageFromSchema](./kibana-plugin-core-server.makeusagefromschema.md) | | [schema](./kibana-plugin-core-server.pluginconfigdescriptor.schema.md) | PluginConfigSchema<T> | Schema to use to validate the plugin configuration.[PluginConfigSchema](./kibana-plugin-core-server.pluginconfigschema.md) | diff --git a/docs/index-extra-title-page.html b/docs/index-extra-title-page.html index 7917f8bfbf8c3..799303ff4b4b3 100644 --- a/docs/index-extra-title-page.html +++ b/docs/index-extra-title-page.html @@ -4,9 +4,9 @@ get the most of your data.

    - What's newWhat's new        Release notes        "` format. See the https://nodemailer.com/message/addresses/[Nodemailer address documentation] for more information. +Sender:: The from address for all emails sent with this connector. This must be specified in `user@host-name` format. See the https://nodemailer.com/message/addresses/[Nodemailer address documentation] for more information. Service:: The name of the email service. If `service` is one of Nodemailer's https://nodemailer.com/smtp/well-known/[well-known email service providers], the `host`, `port`, and `secure` properties are defined with the default values and disabled for modification. If `service` is `MS Exchange Server`, the `host`, `port`, and `secure` properties are ignored and `tenantId`, `clientId`, `clientSecret` are required instead. If `service` is `other`, the `host` and `port` properties must be defined. Host:: Host name of the service provider. If you are using the <> setting, make sure this hostname is added to the allowed hosts. Port:: The port to connect to on the service provider. diff --git a/docs/management/connectors/action-types/servicenow-sir.asciidoc b/docs/management/connectors/action-types/servicenow-sir.asciidoc index 70500b26c16e6..81db72be0fb38 100644 --- a/docs/management/connectors/action-types/servicenow-sir.asciidoc +++ b/docs/management/connectors/action-types/servicenow-sir.asciidoc @@ -5,7 +5,7 @@ ServiceNow SecOps ++++ -The {sn} SecOps connector uses the https://docs.servicenow.com/bundle/orlando-application-development/page/integrate/inbound-rest/concept/c_TableAPI.html[V2 Table API] to create {sn} security incidents. +The {sn} SecOps connector uses the https://developer.servicenow.com/dev.do#!/reference/api/sandiego/rest/c_ImportSetAPI[Import Set API] to create {sn} security incidents. [float] [[servicenow-sir-connector-prerequisites]] diff --git a/docs/management/connectors/action-types/servicenow.asciidoc b/docs/management/connectors/action-types/servicenow.asciidoc index 73e3baaca2ad1..333a26c075c49 100644 --- a/docs/management/connectors/action-types/servicenow.asciidoc +++ b/docs/management/connectors/action-types/servicenow.asciidoc @@ -5,7 +5,7 @@ ServiceNow ITSM ++++ -The {sn} ITSM connector uses the https://docs.servicenow.com/bundle/orlando-application-development/page/integrate/inbound-rest/concept/c_TableAPI.html[V2 Table API] to create {sn} incidents. +The {sn} ITSM connector uses the https://developer.servicenow.com/dev.do#!/reference/api/sandiego/rest/c_ImportSetAPI[Import Set API] to create {sn} incidents. [float] [[servicenow-itsm-connector-prerequisites]] diff --git a/docs/management/connectors/action-types/slack.asciidoc b/docs/management/connectors/action-types/slack.asciidoc index 6dffebd9d9354..19abf9119b837 100644 --- a/docs/management/connectors/action-types/slack.asciidoc +++ b/docs/management/connectors/action-types/slack.asciidoc @@ -76,5 +76,3 @@ URL, set up an an **Incoming Webhook Integration** through the Slack console: image::images/slack-add-webhook-integration.png[] . Click *Add Incoming Webhook Integration*. . Copy the generated webhook URL so you can paste it into your Slack connector form. -+ -image::images/slack-copy-webhook-url.png[] diff --git a/docs/management/connectors/images/slack-copy-webhook-url.png b/docs/management/connectors/images/slack-copy-webhook-url.png deleted file mode 100644 index 805f5719980da..0000000000000 Binary files a/docs/management/connectors/images/slack-copy-webhook-url.png and /dev/null differ diff --git a/docs/management/connectors/pre-configured-connectors.asciidoc b/docs/management/connectors/pre-configured-connectors.asciidoc index 4d304cdd6c5a2..aaef1b673d0b6 100644 --- a/docs/management/connectors/pre-configured-connectors.asciidoc +++ b/docs/management/connectors/pre-configured-connectors.asciidoc @@ -11,6 +11,8 @@ action are predefined, including the connector name and ID. - Appear in all spaces because they are not saved objects. - Cannot be edited or deleted. +NOTE: Preconfigured connectors cannot be used with cases. + [float] [[preconfigured-connector-example]] ==== Preconfigured connectors example @@ -70,4 +72,4 @@ image::images/pre-configured-connectors-managing.png[Connectors managing tab wit Clicking a preconfigured connector shows the description, but not the configuration. A message indicates that this is a preconfigured connector. [role="screenshot"] -image::images/pre-configured-connectors-view-screen.png[Pre-configured connector view details] \ No newline at end of file +image::images/pre-configured-connectors-view-screen.png[Pre-configured connector view details] diff --git a/docs/management/upgrade-assistant/index.asciidoc b/docs/management/upgrade-assistant/index.asciidoc index 57c146fe5e4dd..304bec04407ce 100644 --- a/docs/management/upgrade-assistant/index.asciidoc +++ b/docs/management/upgrade-assistant/index.asciidoc @@ -10,12 +10,11 @@ The assistant identifies deprecated settings in your configuration, enables you to see if you are using deprecated features, and guides you through the process of resolving issues. +IMPORTANT: To upgrade to 8.0 or later, **you must first upgrade to {version}**. + If you have indices that were created prior to 7.0, you can use the assistant to reindex them so they can be accessed from 8.0. -IMPORTANT: To see the most up-to-date deprecation information before -upgrading to 8.0, upgrade to the latest 7.n release. - [discrete] === Required permissions diff --git a/docs/management/watcher-ui/index.asciidoc b/docs/management/watcher-ui/index.asciidoc index 4f68ac83d9622..4e874c362606f 100644 --- a/docs/management/watcher-ui/index.asciidoc +++ b/docs/management/watcher-ui/index.asciidoc @@ -8,7 +8,7 @@ Watches are helpful for analyzing mission-critical and business-critical streaming data. For example, you might watch application logs for performance outages or audit access logs for security threats. -To get started, open then main menu, +To get started, open the main menu, then click *Stack Management > Watcher*. With this UI, you can: @@ -43,7 +43,7 @@ and either of these watcher roles: * `watcher_admin`. You can perform all Watcher actions, including create and edit watches. * `watcher_user`. You can view watches, but not create or edit them. -To manage roles, open then main menu, then click *Stack Management > Roles*, or use the +To manage roles, open the main menu, then click *Stack Management > Roles*, or use the <>. Watches are shared between all users with the same role. diff --git a/docs/maps/images/drawing_layer.png b/docs/maps/images/drawing_layer.png new file mode 100644 index 0000000000000..5e6a6d5c33b89 Binary files /dev/null and b/docs/maps/images/drawing_layer.png differ diff --git a/docs/maps/import-geospatial-data.asciidoc b/docs/maps/import-geospatial-data.asciidoc index 58d9ca2255dd3..fae479b45c4e7 100644 --- a/docs/maps/import-geospatial-data.asciidoc +++ b/docs/maps/import-geospatial-data.asciidoc @@ -19,7 +19,7 @@ spaces in **{stack-manage-app}** in {kib}. For more information, see {ref}/security-privileges.html[Security privileges], <>, and <>. -To upload GeoJSON files in {kib} with *Maps*, you must have: +To upload GeoJSON files and draw features in {kib} with *Maps*, you must have: * The `all` {kib} privilege for *Maps* * The `all` {kib} privilege for *{ipm-app}* @@ -58,6 +58,55 @@ On the {kib} home page, you can upload a file and import it into an {es} index w . Use the file chooser to select a GeoJSON file. . Click *Import file*. +[discrete] +=== Draw features in a map + +Upload features into {es} by drawing lines, polygons, circles, bounding boxes, and points in a map. + +To create a new index for drawing: + +. <>. +. Click *Add layer*. +. Select *Create index*. +. Set *Index name*. +. Click *Create index*. + +To open an existing index for drawing: + +. <>. + +. Click *Add layer*. + +. Select *Documents*. + +. Select the index pattern that points to your index. A <> can point to one or more indices. For feature editing, the data view must point to a single index. + +. Click *Add layer*. + +. Set *Scaling* to *Limit results to 10,000*. + +. In **Filtering**: +** Clear the *Apply global search to layer data* checkbox. +** If your data view contains a default time field, clear the *Apply global time to layer data* checkbox. + +. Click *Save & close*. + +. In the legend, click the layer name and select *Edit features*. + +When feature editing is open, a feature editing toolbox is displayed on the left side of the map. + +[role="screenshot"] +image::maps/images/drawing_layer.png[] + +To draw features: + +. Click on the line, polygon, circle, bounding box, or point icon. +. Move the mouse cursor over the map and follow the on screen instructions to draw a feature. ++ +When a feature is complete, the feature is added to the index as a new document. +. Repeat to draw additional features. +. When you are finished adding features, go to the legend, and click *Exit* under the layer name. + [discrete] === Upload data with IP addresses diff --git a/docs/maps/search.asciidoc b/docs/maps/search.asciidoc index af6939eb8ae11..91de36e119f3e 100644 --- a/docs/maps/search.asciidoc +++ b/docs/maps/search.asciidoc @@ -133,7 +133,7 @@ If the map is a dashboard panel with drilldowns, you can apply a phrase filter t You can apply a search request to individual layers by setting `Filters` in the layer details panel. Click the *Add filter* button to add a filter to a layer. -NOTE: Layer filters are not applied to *term joins*. You can apply a search request to *term joins* by setting the *where* clause in the join definition. +NOTE: Layer filters are not applied to the right side of *term joins*. You can apply a search request to the right side of *term joins* by setting the *where* clause in the join definition. For example, suppose you have a layer with a term join where the left side is roads and the right side is traffic volume measurements. A layer filter of `roadType is "highway"` is applied to the roads index, but not to the traffic volume measurements index. [role="screenshot"] image::maps/images/layer_search.png[] diff --git a/docs/osquery/images/live-query-check-results.png b/docs/osquery/images/live-query-check-results.png index df292309e0853..33e31f0ce54f0 100644 Binary files a/docs/osquery/images/live-query-check-results.png and b/docs/osquery/images/live-query-check-results.png differ diff --git a/docs/osquery/osquery.asciidoc b/docs/osquery/osquery.asciidoc index 500dc6959fc00..c82f1fb9bdb67 100644 --- a/docs/osquery/osquery.asciidoc +++ b/docs/osquery/osquery.asciidoc @@ -121,11 +121,18 @@ image::images/scheduled-pack.png[Shows queries in the pack and details about eac [float] [[osquery-manage-query]] -== Edit saved queries +== Save queries -Add or edit saved queries from the *Saved queries* tab. +You can save queries in two ways: -. Go to the saved queries, then click **Add saved query** or the edit icon. +* After running a live query, click the *Save for later* link. +* From the *Saved queries* tab, click the **Add saved query** button. + +Once you save a query, you can only edit it from the *Saved queries* tab. + +To add or edit saved queries from the *Saved queries* tab: + +. Go to *Saved queries*, and then click **Add saved query** or the edit icon. . Provide the following fields: * The unique identifier. @@ -148,7 +155,7 @@ Add or edit saved queries from the *Saved queries* tab. * From the *Test query* panel, select agents or groups to test the query, then click *Submit* to run a live query. Result columns with the image:images/mapped-icon.png[mapping] icon are mapped. Hover over the icon to see the mapped ECS field. -. Click **Save query**. +. Click *Save* or *Update*. [float] [[osquery-map-fields]] @@ -175,11 +182,7 @@ and the mapped ECS fields. For example, if you update a query to map `osquery.na ** **Static value**: Enter a static value. When the query runs, the ECS field is set to the value entered. For example, static fields can be used to apply `tags` or your preferred `event.category` to the query results. -. Map more fields, as needed. - -** To add a new row for additional fields to map, click the plus icon. - -** To remove any mapped rows, click the trash icon. +. Map more fields, as needed. To remove any mapped rows, click the delete icon. . Save your changes. @@ -270,12 +273,18 @@ for an agent policy through Fleet. This integration supports x64 architecture on Windows, MacOS, and Linux platforms, and ARM64 architecture on Linux. -NOTE: The original {filebeat-ref}/filebeat-module-osquery.html[Filebeat Osquery module] +[NOTE] +========================= + +* The original {filebeat-ref}/filebeat-module-osquery.html[Filebeat Osquery module] and the https://docs.elastic.co/en/integrations/osquery[Osquery] integration collect logs from self-managed Osquery deployments. The *Osquery Manager* integration manages Osquery deployments and supports running and scheduling queries from {kib}. +* *Osquery Manager* cannot be integrated with an Elastic Agent in standalone mode. +========================= + [float] === Customize Osquery sub-feature privileges @@ -314,7 +323,7 @@ While this allows you to use advanced Osquery functionality like pack discovery . Edit the *Osquery config* JSON field to apply your preferred Osquery configuration. Note the following: -* The field may already have content if you have scheduled packs for this agent policy. To keep these packs scheduled, do not edit the `packs` section. +* The field may already have content if you have scheduled packs for this agent policy. To keep these packs scheduled, do not remove the `packs` section. * Refer to the https://osquery.readthedocs.io/en/stable/[Osquery documentation] for configuration options. @@ -344,14 +353,12 @@ https://www.elastic.co/guide/en/fleet/master/upgrade-elastic-agent.html[upgrade [float] === Debug issues -If you encounter issues with *Osquery Manager*, find the relevant logs for the {elastic-agent} -and Osquerybeat in the installed agent directory, then adjust the agent path for your setup. - -The relevant logs look similar to the following example paths: +If you encounter issues with *Osquery Manager*, find the relevant logs for {elastic-agent} +and Osquerybeat in the agent directory. Refer to the {fleet-guide}/installation-layout.html[Fleet Installation layout] to find the log file location for your OS. ```ts -`/data/elastic-agent-054e22/logs/elastic-agent-json.log-*` -`/data/elastic-agent-054e22/logs/default/osquerybeat-json.log` +../data/elastic-agent-*/logs/elastic-agent-json.log-* +../data/elastic-agent-*/logs/default/osquerybeat-json.log ``` To get more details in the logs, change the agent logging level to debug: diff --git a/docs/settings/fleet-settings.asciidoc b/docs/settings/fleet-settings.asciidoc index c96c5f57a00cd..cad5c423d1b89 100644 --- a/docs/settings/fleet-settings.asciidoc +++ b/docs/settings/fleet-settings.asciidoc @@ -10,7 +10,7 @@ In {ecloud}, {fleet} flags are already configured. ==== -You can configure `xpack.fleet` settings in your `kibana.yml`. +You can configure `xpack.fleet` settings in your `kibana.yml`. By default, {fleet} is enabled. To use {fleet}, you also need to configure {kib} and {es} hosts. See the {fleet-guide}/index.html[{fleet}] docs for more information. @@ -24,7 +24,7 @@ See the {fleet-guide}/index.html[{fleet}] docs for more information. | deprecated:[7.16.0,"In 8.0 and later, this setting will no longer be supported."] Set to `true` (default) to enable {fleet}. | `xpack.fleet.agents.enabled` {ess-icon} - | Set to `true` (default) to enable {fleet}. + | Set to `true` (default) to enable {fleet}. |=== [[fleet-data-visualizer-settings]] @@ -36,7 +36,8 @@ See the {fleet-guide}/index.html[{fleet}] docs for more information. | `xpack.fleet.registryUrl` | The address to use to reach the {package-manager} registry. | `xpack.fleet.registryProxyUrl` - | The proxy address to use to reach the {package-manager} registry. + | The proxy address to use to reach the {package-manager} registry if an internet connection is not directly available. + Refer to {fleet-guide}/air-gapped.html[Air-gapped environments] for details. |=== @@ -65,7 +66,7 @@ want {fleet} to load up by default. | `xpack.fleet.packages` | List of integrations that are installed when the {fleet} app starts up for the first time. Required properties are: - + `name`:: Name of the integration from the package registry. `version`:: Either an exact semantic version, or the keyword `latest` to fetch the latest integration version. @@ -78,12 +79,12 @@ Required properties are: `name`:: Policy name. Optional properties are: - + `description`:: Text description of this policy. `namespace`:: String identifying this policy's namespace. `monitoring_enabled`:: List of keywords that specify the monitoring data to collect. Valid values include `['logs']`, `['metrics']`, and `['logs', 'metrics']`. - `is_managed`:: If `true`, this policy is editable by the user and can only + `is_managed`:: If `true`, this policy is not editable by the user and can only be changed by updating the {kib} config. `is_default`:: If `true`, this policy is the default agent policy. `is_default_fleet_server`:: If `true`, this policy is the default {fleet-server} agent policy. diff --git a/docs/settings/monitoring-settings.asciidoc b/docs/settings/monitoring-settings.asciidoc index 7ce15be9f74bd..57b2757f21d89 100644 --- a/docs/settings/monitoring-settings.asciidoc +++ b/docs/settings/monitoring-settings.asciidoc @@ -29,61 +29,68 @@ For more information, see [[monitoring-general-settings]] ==== General monitoring settings -[cols="2*<"] -|=== -| `monitoring.enabled` - | deprecated:[7.16.0,"In 8.0 and later, this setting will no longer be supported."] - Set to `true` (default) to enable the {monitor-features} in {kib}. Unlike the - <> setting, when this setting is `false`, the - monitoring back-end does not run and {kib} stats are not sent to the monitoring - cluster. - -| `monitoring.ui.ccs.enabled` - | Set to `true` (default) to enable {ref}/modules-cross-cluster-search.html[cross-cluster search] of your monitoring data. The {ref}/modules-remote-clusters.html#remote-cluster-settings[`remote_cluster_client`] role must exist on each node. - - -| `monitoring.ui.elasticsearch.hosts` - | Specifies the location of the {es} cluster where your monitoring data is stored. - By default, this is the same as <>. This setting enables - you to use a single {kib} instance to search and visualize data in your - production cluster as well as monitor data sent to a dedicated monitoring - cluster. - -| `monitoring.ui.elasticsearch.username` - | Specifies the username used by {kib} monitoring to establish a persistent connection - in {kib} to the {es} monitoring cluster and to verify licensing status on the {es} - monitoring cluster. + - + - Every other request performed by *{stack-monitor-app}* to the monitoring {es} - cluster uses the authenticated user's credentials, which must be the same on - both the {es} monitoring cluster and the {es} production cluster. + - + - If not set, {kib} uses the value of the <> setting. - -| `monitoring.ui.elasticsearch.password` - | Specifies the password used by {kib} monitoring to establish a persistent connection - in {kib} to the {es} monitoring cluster and to verify licensing status on the {es} - monitoring cluster. + - + - Every other request performed by *{stack-monitor-app}* to the monitoring {es} - cluster uses the authenticated user's credentials, which must be the same on - both the {es} monitoring cluster and the {es} production cluster. + - + - If not set, {kib} uses the value of the <> setting. - -| `monitoring.ui.elasticsearch.pingTimeout` - | Specifies the time in milliseconds to wait for {es} to respond to internal - health checks. By default, it matches the <> setting, - which has a default value of `30000`. - -| `monitoring.ui.elasticsearch.ssl` - | Shares the same configuration as <>. These settings configure encrypted communication between {kib} and the monitoring cluster. - -| `monitoring.cluster_alerts.allowedSpaces` {ess-icon} - | deprecated:[7.16.0,"In 8.0 and later, this setting will no longer be supported."] - Specifies the spaces where cluster Stack Monitoring alerts can be created. You must specify all spaces where you want to generate alerts, including the default space. Defaults to `[ "default" ]`. - -|=== +`monitoring.cluster_alerts.email_notifications.enabled`:: +deprecated:[7.11.0] +When enabled, sends email notifications for Watcher alerts to the specified email address. The default is `true`. + +`monitoring.cluster_alerts.email_notifications.email_address` {ess-icon}:: +deprecated:[7.11.0] +When enabled, specifies the email address where you want to receive cluster alert notifications. + +`monitoring.enabled`:: +deprecated:[7.16.0,"In 8.0 and later, this setting will no longer be supported."] +Set to `true` (default) to enable the {monitor-features} in {kib}. Unlike the +<> setting, when this setting is `false`, the +monitoring back-end does not run and {kib} stats are not sent to the monitoring +cluster. + +`monitoring.ui.ccs.enabled`:: +Set to `true` (default) to enable {ref}/modules-cross-cluster-search.html[cross-cluster search] of your monitoring data. The {ref}/modules-remote-clusters.html#remote-cluster-settings[`remote_cluster_client`] role must exist on each node. + +`monitoring.ui.elasticsearch.hosts`:: +Specifies the location of the {es} cluster where your monitoring data is stored. ++ +By default, this is the same as <>. This setting enables +you to use a single {kib} instance to search and visualize data in your +production cluster as well as monitor data sent to a dedicated monitoring +cluster. + +`monitoring.ui.elasticsearch.username`:: +Specifies the username used by {kib} monitoring to establish a persistent connection +in {kib} to the {es} monitoring cluster and to verify licensing status on the {es} +monitoring cluster when using `monitoring.ui.elasticsearch.hosts`. ++ +All other requests performed by *{stack-monitor-app}* to the monitoring {es} +cluster uses the authenticated user's credentials, which must be the same on +both the {es} monitoring cluster and the {es} production cluster. ++ +If not set, {kib} uses the value of the <> setting. + +`monitoring.ui.elasticsearch.password`:: +Specifies the password used by {kib} monitoring to establish a persistent connection +in {kib} to the {es} monitoring cluster and to verify licensing status on the {es} +monitoring cluster when using `monitoring.ui.elasticsearch.hosts`. ++ +All other requests performed by *{stack-monitor-app}* to the monitoring {es} +cluster use the authenticated user's credentials, which must be the same on +both the {es} monitoring cluster and the {es} production cluster. ++ +If not set, {kib} uses the value of the <> setting. + +`monitoring.ui.elasticsearch.serviceAccountToken`:: +Specifies a {ref}/security-api-create-service-token.html[service account token] for the {es} cluster where your monitoring data is stored when using `monitoring.ui.elasticsearch.hosts`. This setting is an alternative to using `monitoring.ui.elasticsearch.username` and `monitoring.ui.elasticsearch.password`. + +`monitoring.ui.elasticsearch.pingTimeout`:: +Specifies the time in milliseconds to wait for {es} to respond to internal +health checks. By default, it matches the <> setting, +which has a default value of `30000`. + +`monitoring.ui.elasticsearch.ssl`:: +Shares the same configuration as <>. These settings configure encrypted communication between {kib} and the monitoring cluster. + +`monitoring.cluster_alerts.allowedSpaces` {ess-icon}:: +deprecated:[7.16.0,"In 8.0 and later, this setting will no longer be supported."] +Specifies the spaces where cluster Stack Monitoring alerts can be created. You must specify all spaces where you want to generate alerts, including the default space. Defaults to `[ "default" ]`. [float] [[monitoring-collection-settings]] @@ -91,18 +98,14 @@ For more information, see These settings control how data is collected from {kib}. -[cols="2*<"] -|=== -| `monitoring.kibana.collection.enabled` - | Set to `true` (default) to enable data collection from the {kib} NodeJS server - for {kib} dashboards to be featured in *{stack-monitor-app}*. +`monitoring.kibana.collection.enabled`:: +Set to `true` (default) to enable data collection from the {kib} NodeJS server +for {kib} dashboards to be featured in *{stack-monitor-app}*. -| `monitoring.kibana.collection.interval` {ess-icon} - | Specifies the number of milliseconds to wait in between data sampling on the - {kib} NodeJS server for the metrics that are displayed in the {kib} dashboards. - Defaults to `10000` (10 seconds). - -|=== +`monitoring.kibana.collection.interval` {ess-icon}:: +Specifies the number of milliseconds to wait in between data sampling on the +{kib} NodeJS server for the metrics that are displayed in the {kib} dashboards. +Defaults to `10000` (10 seconds). [float] [[monitoring-ui-settings]] @@ -113,36 +116,32 @@ However, the defaults work best in most circumstances. For more information about configuring {kib}, see {kibana-ref}/settings.html[Setting {kib} server properties]. -[cols="2*<"] -|=== -| `monitoring.ui.elasticsearch.logFetchCount` - | Specifies the number of log entries to display in *{stack-monitor-app}*. - Defaults to `10`. The maximum value is `50`. - -|[[monitoring-ui-enabled]] `monitoring.ui.enabled` - | Set to `false` to hide *{stack-monitor-app}*. The monitoring back-end - continues to run as an agent for sending {kib} stats to the monitoring - cluster. Defaults to `true`. - -| `monitoring.ui.logs.index` - | Specifies the name of the indices that are shown on the - <> page in *{stack-monitor-app}*. The default value - is `filebeat-*`. - -| `monitoring.ui.max_bucket_size` - | Specifies the number of term buckets to return out of the overall terms list when - performing terms aggregations to retrieve index and node metrics. For more - information about the `size` parameter, see - {ref}/search-aggregations-bucket-terms-aggregation.html#search-aggregations-bucket-terms-aggregation-size[Terms Aggregation]. - Defaults to `10000`. - -| `monitoring.ui.min_interval_seconds` {ess-icon} - | Specifies the minimum number of seconds that a time bucket in a chart can - represent. Defaults to 10. If you modify the - `monitoring.ui.collection.interval` in `elasticsearch.yml`, use the same - value in this setting. - -|=== +`monitoring.ui.elasticsearch.logFetchCount`:: +Specifies the number of log entries to display in *{stack-monitor-app}*. +Defaults to `10`. The maximum value is `50`. + +[[monitoring-ui-enabled]] `monitoring.ui.enabled`:: +Set to `false` to hide *{stack-monitor-app}*. The monitoring back-end +continues to run as an agent for sending {kib} stats to the monitoring +cluster. Defaults to `true`. + +`monitoring.ui.logs.index`:: +Specifies the name of the indices that are shown on the +<> page in *{stack-monitor-app}*. The default value +is `filebeat-*`. + +`monitoring.ui.max_bucket_size`:: +Specifies the number of term buckets to return out of the overall terms list when +performing terms aggregations to retrieve index and node metrics. For more +information about the `size` parameter, see +{ref}/search-aggregations-bucket-terms-aggregation.html#search-aggregations-bucket-terms-aggregation-size[Terms Aggregation]. +Defaults to `10000`. + +`monitoring.ui.min_interval_seconds` {ess-icon}:: +Specifies the minimum number of seconds that a time bucket in a chart can +represent. Defaults to 10. If you modify the +`monitoring.ui.collection.interval` in `elasticsearch.yml`, use the same +value in this setting. [float] [[monitoring-ui-cgroup-settings]] @@ -153,20 +152,16 @@ better decisions about your container performance, rather than guessing based on the overall machine performance. If you are not running your applications in a container, then Cgroup statistics are not useful. -[cols="2*<"] -|=== -| `monitoring.ui.container.elasticsearch.enabled` {ess-icon} - | For {es} clusters that are running in containers, this setting changes the - *Node Listing* to display the CPU utilization based on the reported Cgroup - statistics. It also adds the calculated Cgroup CPU utilization to the - *Node Overview* page instead of the overall operating system's CPU - utilization. Defaults to `false`. - -| `monitoring.ui.container.logstash.enabled` - | For {ls} nodes that are running in containers, this setting - changes the {ls} *Node Listing* to display the CPU utilization - based on the reported Cgroup statistics. It also adds the - calculated Cgroup CPU utilization to the {ls} node detail - pages instead of the overall operating system’s CPU utilization. Defaults to `false`. - -|=== +`monitoring.ui.container.elasticsearch.enabled` {ess-icon}:: +For {es} clusters that are running in containers, this setting changes the +*Node Listing* to display the CPU utilization based on the reported Cgroup +statistics. It also adds the calculated Cgroup CPU utilization to the +*Node Overview* page instead of the overall operating system's CPU +utilization. Defaults to `false`. + +`monitoring.ui.container.logstash.enabled`:: +For {ls} nodes that are running in containers, this setting +changes the {ls} *Node Listing* to display the CPU utilization +based on the reported Cgroup statistics. It also adds the +calculated Cgroup CPU utilization to the {ls} node detail +pages instead of the overall operating system’s CPU utilization. Defaults to `false`. diff --git a/docs/settings/reporting-settings.asciidoc b/docs/settings/reporting-settings.asciidoc index 2ea5e4f31bf1b..35c3fce3c009b 100644 --- a/docs/settings/reporting-settings.asciidoc +++ b/docs/settings/reporting-settings.asciidoc @@ -12,18 +12,27 @@ You can configure `xpack.reporting` settings in your `kibana.yml` to: * <> * <> * <> -* <> * <> * <> * <> * <> +* <> [float] [[general-reporting-settings]] ==== Enable reporting [[xpack-enable-reporting]]`xpack.reporting.enabled` {ess-icon}:: -When `true`, enables the {report-features}. The {report-features} are automatically enabled in {kib}. The default is `true`. +When `true`, enables the {report-features}. Set this to `false` to disable {report-features} entirely. The default is `true`. + +[NOTE] +============ +Disabling the {report-features} is discouraged. If you need to turn off the ability to generate reports, +configure the roles and spaces in the <>. + +If needed, you can also prevent a {kib} instance from claiming reporting work by setting +<>. +============ [float] [[encryption-keys]] @@ -72,44 +81,6 @@ xpack.reporting.encryptionKey: "something_secret" NOTE: If security is enabled, the `xpack.reporting.index` setting should begin with `.reporting-` for the `kibana_system` role to have the necessary privileges over the index. -[float] -[[reporting-kibana-server-settings]] -==== {kib} server settings - -Reporting opens the {kib} web interface in a server process to generate -screenshots of {kib} visualizations. In most cases, the default settings -work and you don't need to configure the {report-features} to communicate with {kib}. - -If your {kib} instance requires a reverse proxy (such as NGINX, Apache, etc.) for -access, because of rewrite rules or special headers being added by the proxy, -you must configure the `xpack.reporting.kibanaServer` settings to make -the headless browser process connect to the proxy. - -[NOTE] -============ -If a reverse proxy carries encrypted traffic from user -clients back to a {kib} server, the proxy port, protocol, and hostname -in `xpack.reporting.kibanaServer` must be valid for the encryption that the Reporting -browser receives. Encrypted communications fail if there are -mismatches in the host information between the request and the certificate on the server. - -Configuring the `xpack.reporting.kibanaServer` settings to point to a -proxy host requires that the {kib} server has network access to the proxy. -============ - -`xpack.reporting.kibanaServer.port`:: The port for accessing {kib}, if different from the <> value. - -`xpack.reporting.kibanaServer.protocol`:: -The protocol for accessing {kib}, typically `http` or `https`. - -[[xpack-kibanaServer-hostname]] `xpack.reporting.kibanaServer.hostname`:: -The hostname for accessing {kib}, if different from the <> value. - -NOTE: Reporting authenticates requests on the {kib} page only when the hostname matches the -<> setting. Therefore Reporting fails if the -set value redirects to another server. For that reason, `"0"` is an invalid setting -because, in the Reporting browser, it becomes an automatic redirect to `"0.0.0.0"`. - [float] [[reporting-job-queue-settings]] ==== Background job settings @@ -121,8 +92,11 @@ reports, you might need to change the following settings. `xpack.reporting.queue.indexInterval`:: How often the index that stores reporting jobs rolls over to a new index. Valid values are `year`, `month`, `week`, `day`, and `hour`. Defaults to `week`. -`xpack.reporting.queue.pollEnabled` {ess-icon}:: -Set to `true` (default) to enable the {kib} instance to poll the index for pending jobs and claim them for execution. Setting this to `false` allows the {kib} instance to only add new jobs to the reporting queue, list jobs, and provide the downloads to completed report through the UI. +[[xpack-reportingQueue-pollEnabled]] `xpack.reporting.queue.pollEnabled` {ess-icon}:: +When `true`, enables the {kib} instance to poll {es} for pending jobs and claim them for +execution. When `false`, allows the {kib} instance to only add new jobs to the reporting queue, list +jobs, and provide the downloads to completed reports through the UI. This requires a deployment where at least +one other {kib} instance in the Elastic cluster has this setting to `true`. The default is `true`. NOTE: Running multiple instances of {kib} in a cluster for load balancing of reporting requires identical values for <> and, if @@ -283,7 +257,7 @@ With Security enabled, Reporting has two forms of access control: each user can [NOTE] ============================================================================ -The `xpack.reporting.roles` settings are for a deprecated system of access control in Reporting. It does not allow API Keys to generate reports, and it doesn't allow {kib} application privileges. We recommend you explicitly turn off reporting's deprecated access control feature by adding `xpack.reporting.roles.enabled: false` in kibana.yml. This will enable you to create custom roles that provide application privileges for reporting, as described in <>. +The `xpack.reporting.roles` settings are for a deprecated system of access control in Reporting. Turning off this feature allows API Keys to generate reports, and allows reporting access through {kib} application privileges. We recommend you explicitly turn off reporting's deprecated access control feature by adding `xpack.reporting.roles.enabled: false` in kibana.yml. This will enable you to create custom roles that provide application privileges for reporting, as described in <>. ============================================================================ [[xpack-reporting-roles-enabled]] `xpack.reporting.roles.enabled`:: @@ -291,3 +265,26 @@ deprecated:[7.14.0,The default for this setting will be `false` in an upcoming v `xpack.reporting.roles.allow`:: deprecated:[7.14.0] In addition to superusers, specifies the roles that can generate reports using the {ref}/security-api.html#security-role-apis[{es} role management APIs]. Requires `xpack.reporting.roles.enabled` to be `true`. Defaults to `[ "reporting_user" ]`. + +[float] +[[reporting-kibana-server-settings]] +==== {kib} server settings + +To generate screenshots for PNG and PDF reports, Reporting opens the {kib} web interface using a local +connection on the server. In most cases, using a local connection to the {kib} server presents no issue. If +you prefer the headless browser to connect to {kib} using a specific hostname, there are a number of +settings that allow the headless browser to connect to {kib} through a proxy, rather than directly. + +[NOTE] +============ +The `xpack.reporting.kibanaServer` settings are optional. Take caution when editing these settings. Adding +these settings can cause the {report-features} to fail. If report fail, +inspect the server logs. The full {kib} URL that Reporting is attempting to + open is logged during report execution. +============ + +`xpack.reporting.kibanaServer.port`:: The port for accessing {kib}.port`>> value. + +`xpack.reporting.kibanaServer.protocol`:: The protocol for accessing {kib}, typically `http` or `https`. + +[[xpack-kibanaServer-hostname]] `xpack.reporting.kibanaServer.hostname`:: The hostname for accessing {kib}. diff --git a/docs/settings/task-manager-settings.asciidoc b/docs/settings/task-manager-settings.asciidoc index 32aaaf8a3a071..d0c200db62bd7 100644 --- a/docs/settings/task-manager-settings.asciidoc +++ b/docs/settings/task-manager-settings.asciidoc @@ -43,6 +43,11 @@ These non-persisted action tasks have a risk that they won't be run at all if th `xpack.task_manager.ephemeral_tasks.request_capacity`:: Sets the size of the ephemeral queue defined above. Defaults to 10. +`xpack.task_manager.event_loop_delay.monitor`:: +Enables event loop delay monitoring, which will log a warning when a task causes an event loop delay which exceeds the `warn_threshold` setting. Defaults to true. + +`xpack.task_manager.event_loop_delay.warn_threshold`:: +Sets the amount of event loop delay during a task execution which will cause a warning to be logged. Defaults to 5000 milliseconds (5 seconds). [float] [[task-manager-health-settings]] diff --git a/docs/setup/access.asciidoc b/docs/setup/access.asciidoc index 3fc1aa43f9f29..77ad6ffb9c602 100644 --- a/docs/setup/access.asciidoc +++ b/docs/setup/access.asciidoc @@ -16,7 +16,7 @@ If you are using a self-managed deployment, access {kib} through the web applica . Point your web browser to the machine where you are running {kib} and specify the port number. For example, `localhost:5601` or `http://YOURDOMAIN.com:5601`. + -To remotely connect to {kib}, set > to a non-loopback address. +To remotely connect to {kib}, set <> to a non-loopback address. . Log on to your account. diff --git a/docs/setup/configuring-reporting.asciidoc b/docs/setup/configuring-reporting.asciidoc index 6d209092d3338..c5ffe9141a72e 100644 --- a/docs/setup/configuring-reporting.asciidoc +++ b/docs/setup/configuring-reporting.asciidoc @@ -6,7 +6,16 @@ Configure reporting ++++ -To enable users to manually and automatically generate reports, install the reporting packages, grant users access to the {report-features}, and secure the reporting endpoints. +For security, you grant users access to the {report-features} and secure the reporting endpoints +with TLS/SSL encryption. Additionally, you can install graphical packages into the operating system +to enable the {kib} server to have screenshotting capabilities. + +* <> +* <> +* <> +* <> +* <> +* <> [float] [[install-reporting-packages]] @@ -30,8 +39,9 @@ If you are using Ubuntu/Debian systems, install the following packages: * `fonts-liberation` * `libfontconfig1` +* `libnss3` -If the system is missing dependencies, *Reporting* fails in a non-deterministic way. {kib} runs a self-test at server startup, and +If the system is missing dependencies, a screenshot report job may fail in a non-deterministic way. {kib} runs a self-test at server startup, and if it encounters errors, logs them in the Console. The error message does not include information about why Chromium failed to run. The most common error message is `Error: connect ECONNREFUSED`, which indicates that {kib} could not connect to the Chromium process. @@ -41,7 +51,7 @@ To troubleshoot the problem, start the {kib} server with environment variables t [float] [[grant-user-access]] === Grant users access to reporting -When security is enabled, you grant users access to generate reports with <>, which allow you to create custom roles that control the spaces and applications where users generate reports. +When security is enabled, you grant users access to {report-features} with <>, which allow you to create custom roles that control the spaces and applications where users generate reports. . Enable application privileges in Reporting. To enable, turn off the default user access control features in `kibana.yml`: + @@ -52,7 +62,7 @@ xpack.reporting.roles.enabled: false + NOTE: If you use the default settings, you can still create a custom role that grants reporting privileges. The default role is `reporting_user`. This behavior is being deprecated and does not allow application-level access controls for {report-features}, and does not allow API keys or authentication tokens to authorize report generation. Refer to <> for information and caveats about the deprecated access control features. -. Create the reporting role. +. Create the reporting role. .. Open the main menu, then click *Stack Management*. @@ -60,7 +70,6 @@ NOTE: If you use the default settings, you can still create a custom role that g . Specify the role settings. - .. Enter the *Role name*. For example, `custom_reporting_user`. .. Specify the *Indices* and *Privileges*. @@ -77,9 +86,13 @@ For more information, refer to {ref}/security-privileges.html[Security privilege .. Click *Customize*, then click *Analytics*. -.. Next to the applications you want to grant reporting privileges, click *All*. +.. For each application, select *All*, or to customize the privileges, select *Read* and *Customize sub-feature privileges*. ++ +NOTE: If you have a Basic license, sub-feature privileges are unavailable. For details, check out <>. +[role="screenshot"] +image::user/reporting/images/kibana-privileges-with-reporting.png["Kibana privileges with Reporting options, Gold or higher license"] + -If the *Reporting* option is unavailable, contact your administrator, or <>. +NOTE: If the *Reporting* options for application features are unavailable, and the cluster license is higher than Basic, contact your administrator, or <>. .. Click *Add {kib} privilege*. @@ -89,7 +102,7 @@ If the *Reporting* option is unavailable, contact your administrator, or <> enabled in Reporting, you can also use the {ref}/security-api-put-role.html[role API] to grant access to the {report-features}. Grant custom reporting roles to users in combination with other roles that grant read access to the data in {es}, and at least read access in the applications where users can generate reports. +With <> enabled in Reporting, you can also use the {ref}/security-api-put-role.html[role API] to grant access to the {report-features}, using *All* privileges, or sub-feature privileges. -[source, sh] +NOTE: If you have a Basic license, sub-feature privileges are unavailable. For details, check out the API command to grant *All* privileges in <>. + +Grant users custom Reporting roles, other roles that grant read access to the data in {es}, and at least read access in the applications where users can generate reports. + +[source, json] --------------------------------------------------------------- -POST /_security/role/custom_reporting_user +PUT localhost:5601/api/security/role/custom_reporting_user { - metadata: {}, - elasticsearch: { cluster: [], indices: [], run_as: [] }, - kibana: [ + "elasticsearch": { "cluster": [], "indices": [], "run_as": [] }, + "kibana": [ { - base: [], - feature: { - dashboard: [ - 'generate_report', <1> - 'download_csv_report' <2> + "base": [], + "feature": { + "dashboard": [ + "minimal_read", + "generate_report", <1> + "download_csv_report" <2> + ], + "discover": [ + "minimal_read", + "generate_report" <3> + ], + "canvas": [ + "minimal_read", + "generate_report" <4> ], - discover: ['generate_report'], <3> - canvas: ['generate_report'], <4> - visualize: ['generate_report'], <5> + "visualize": [ + "minimal_read", + "generate_report" <5> + ] }, - spaces: ['*'], + "spaces": [ "*" ] } - ] + ], + "metadata": {} // optional } --------------------------------------------------------------- // CONSOLE @@ -134,6 +161,41 @@ POST /_security/role/custom_reporting_user <5> Grants access to generate PNG and PDF reports in *Visualize Library*. [float] +[[grant-user-access-basic]] +=== Grant users access with a Basic license + +With a Basic license, you can grant users access with custom roles to {report-features} with <>. However, with a Basic license, sub-feature privileges are unavailable. <>, then select *All* privileges for the applications where users can create reports. + +[role="screenshot"] +image::user/reporting/images/kibana-privileges-with-reporting-basic.png["Kibana privileges with Reporting options, Basic license"] + +With a Basic license, sub-feature application privileges are unavailable, but you can use the {ref}/security-api-put-role.html[role API] to grant access to CSV {report-features}: + +[source, sh] +--------------------------------------------------------------- +PUT localhost:5601/api/security/role/custom_reporting_user +{ + "elasticsearch": { "cluster": [], "indices": [], "run_as": [] }, + "kibana": [ + { + "base": [], + "feature": { + "dashboard": [ "all" ], <1> + "discover": [ "all" ], <2> + }, + "spaces": [ "*" ] + } + ], + "metadata": {} // optional +} +--------------------------------------------------------------- +// CONSOLE + +<1> Grants access to generate CSV reports from saved searches in *Discover*. +<2> Grants access to download CSV reports from saved search panels in *Dashboard*. + +[float] +[[grant-user-access-external-provider]] ==== Grant access using an external provider If you are using an external identity provider, such as LDAP or Active Directory, you can assign roles to individual users or groups of users. Role mappings are configured in {ref}/mapping-roles.html[`config/role_mapping.yml`]. diff --git a/docs/setup/docker.asciidoc b/docs/setup/docker.asciidoc index 3c81a1ff1a4b1..a9450a4269e09 100644 --- a/docs/setup/docker.asciidoc +++ b/docs/setup/docker.asciidoc @@ -4,8 +4,8 @@ Install with Docker ++++ -Docker images for Kibana are available from the Elastic Docker registry. The -base image is https://hub.docker.com/_/centos/[centos:7]. +Docker images for {kib} are available from the Elastic Docker registry. The +base image is https://hub.docker.com/_/ubuntu[ubuntu:20.04]. A list of all published Docker images and tags is available at https://www.docker.elastic.co[www.docker.elastic.co]. The source code is in diff --git a/docs/setup/settings.asciidoc b/docs/setup/settings.asciidoc index fd28a9f12e759..81828bfbdee29 100644 --- a/docs/setup/settings.asciidoc +++ b/docs/setup/settings.asciidoc @@ -290,7 +290,7 @@ on the {kib} index at startup. {kib} users still need to authenticate with {es}, which is proxied through the {kib} server. |[[elasticsearch-service-account-token]] `elasticsearch.serviceAccountToken:` - | beta[]. If your {es} is protected with basic authentication, this token provides the credentials + | If your {es} is protected with basic authentication, this token provides the credentials that the {kib} server uses to perform maintenance on the {kib} index at startup. This setting is an alternative to `elasticsearch.username` and `elasticsearch.password`. diff --git a/docs/setup/upgrade.asciidoc b/docs/setup/upgrade.asciidoc index a711b22cb21dc..3f395acd7320b 100644 --- a/docs/setup/upgrade.asciidoc +++ b/docs/setup/upgrade.asciidoc @@ -23,7 +23,7 @@ ifeval::[ "{version}" != "{minor-version}.0" ] |Upgrade to {version} endif::[] -|7.0–7.13 +|7.0–7.16 |Upgrade to {version} |6.8 @@ -49,10 +49,9 @@ a| . Upgrade to {version} |==== -[WARNING] -==== -The upgrade path from 6.8 to 7.0 is *not* supported. -==== +// tag::7.0-upgrade-warning[] +WARNING: Upgrading from 6.8 to 7.0 is *not* supported. Upgrade directly to {version} instead. +// end::7.0-upgrade-warning[] [float] [[upgrade-before-you-begin]] @@ -73,20 +72,19 @@ Before you upgrade {kib}: the same Elasticseach index is unsupported. Upgrading while older {kib} instances are running can cause data loss or upgrade failures. -To identify the changes you need to make to upgrade, and to enable you to -perform an Elasticsearch rolling upgrade with no downtime, you must upgrade to -6.7 before you upgrade to 7.0. - For a comprehensive overview of the upgrade process, refer to *{stack-ref}/upgrading-elastic-stack.html[Upgrading the Elastic Stack]*. [float] [[upgrade-5x-earlier]] -=== Upgrade from 5.x or earlier -{es} can read indices created in the previous major version. Before you upgrade -to 7.0.0, you must reindex or delete any indices created in 5.x or earlier. -For more information, refer to +=== Upgrade from 5.6 or earlier +To identify the changes you need to make to upgrade, and to enable you to +perform an Elasticsearch rolling upgrade with no downtime, you must upgrade to +6.8 before you upgrade to {version}. + +{es} {version} can't read indices created in 5.6 or earlier versions. Before you +upgrade from 6.8 to {version}, you must reindex or delete these indices. For more information, refer to {stack-ref}/upgrading-elastic-stack.html#oss-stack-upgrade[Upgrading the Elastic Stack]. When your reindex is complete, follow the <> @@ -94,34 +92,39 @@ instructions. [float] [[upgrade-6x]] -=== Upgrade from 6.x +=== Upgrade from 6.7 or earlier -The recommended path is to upgrade to 6.8 before upgrading to 7.0. This makes it -easier to identify the required changes, and enables you to use the Upgrade -Assistant to prepare for your upgrade to 7.0. +The recommended path is to upgrade to 6.8 before upgrading to {version}. This +makes it easier to identify the required changes and enables you to use the +Upgrade Assistant to prepare for your upgrade. -TIP: The ability to import {kib} 6.x saved searches, visualizations, and -dashboards is supported. +include::upgrade.asciidoc[tag=7.0-upgrade-warning] + +You can import {kib} 6.x saved searches, visualizations, and +dashboards in {version}. [float] [[upgrade-67]] === Upgrade from 6.8 -To help you prepare for your upgrade to 7.0, 6.8 includes an https://www.elastic.co/guide/en/kibana/6.8/upgrade-assistant.html[Upgrade Assistant] -To access the assistant, go to *Management > 7.0 Upgrade Assistant*. +To help you prepare for your upgrade to {version}, 6.8 includes an +https://www.elastic.co/guide/en/kibana/6.8/upgrade-assistant.html[Upgrade +Assistant]. To access the assistant, go to *Management > 7.0 Upgrade Assistant*. + +include::upgrade.asciidoc[tag=7.0-upgrade-warning] After you have addressed any issues that were identified by the Upgrade -Assistant, <>. +Assistant, <>. [float] === Known issues [float] ==== "shard failed" error when viewing {beats} dashboards in {kib} -After upgrading to {es} 7.0, any indices created by {beats} 6.6 or older will not +After upgrading to {es} {version}, any indices created by {beats} 6.6 or older will not work in {kib} dashboards until the `index.query.default_field` setting is added to each index. Indices created in {beats} 6.7 or later are unaffected. To add the setting to the index, you can use the 7.0 -{kibana-ref}/upgrade-assistant.html[Upgrade Assistant], or +{kibana-ref-all}/6.8/upgrade-assistant.html[Upgrade Assistant] before upgrading, or //{beats-ref}/upgrading.html#dashboard-shard-failed[ add the setting manually //] diff --git a/docs/setup/upgrade/upgrade-migrations.asciidoc b/docs/setup/upgrade/upgrade-migrations.asciidoc index cfcca93f7e5fd..04340c422f3c7 100644 --- a/docs/setup/upgrade/upgrade-migrations.asciidoc +++ b/docs/setup/upgrade/upgrade-migrations.asciidoc @@ -135,13 +135,13 @@ For {kib} versions prior to 7.5.1, if the task manager index is set to `.tasks` If {kib} terminates unexpectedly while migrating a saved object index it will automatically attempt to perform the migration again once the process has restarted. Do not delete any saved objects indices to attempt to fix a failed migration. Unlike previous versions, {kib} version 7.12.0 and later does not require deleting any indices to release a failed migration lock. -If upgrade migrations fail repeatedly, follow the advice in (preventing migration failures)[preventing-migration-failures]. Once the root cause for the migration failure has been addressed, {kib} will automatically retry the migration without any further intervention. If you're unable to resolve a failed migration following these steps, please contact support. +If upgrade migrations fail repeatedly, follow the advice in <>. Once the root cause for the migration failure has been addressed, {kib} will automatically retry the migration without any further intervention. If you're unable to resolve a failed migration following these steps, please contact support. [float] [[upgrade-migrations-rolling-back]] ==== Rolling back to a previous version of {kib} -If you've followed the advice in (preventing migration failures)[preventing-migration-failures] and (resolving migration failures)[resolve-migrations-failures] and {kib} is still not able to upgrade successfully, you might choose to rollback {kib} until you're able to identify and fix the root cause. +If you've followed the advice in <> and <> and {kib} is still not able to upgrade successfully, you might choose to rollback {kib} until you're able to identify and fix the root cause. WARNING: Before rolling back {kib}, ensure that the version you wish to rollback to is compatible with your {es} cluster. If the version you're rolling back to is not compatible, you will have to also rollback {es}. + Any changes made after an upgrade will be lost when rolling back to a previous version. diff --git a/docs/user/alerting/rule-types/es-query.asciidoc b/docs/user/alerting/rule-types/es-query.asciidoc index 65d39ba170c3c..dba8a4878cb26 100644 --- a/docs/user/alerting/rule-types/es-query.asciidoc +++ b/docs/user/alerting/rule-types/es-query.asciidoc @@ -2,12 +2,17 @@ [[rule-type-es-query]] === {es} query -The {es} query rule type runs a user-configured {es} query, compares the number of matches to a configured threshold, and schedules actions to run when the threshold condition is met. +The {es} query rule type runs a user-configured query, compares the number of +matches to a configured threshold, and schedules actions to run when the +threshold condition is met. + [float] ==== Create the rule -Fill in the <>, then select *{es} query*. +Fill in the <>, then select +*{es} query*. + [float] ==== Define the conditions @@ -17,30 +22,55 @@ Define properties to detect the condition. [role="screenshot"] image::user/alerting/images/rule-types-es-query-conditions.png[Five clauses define the condition to detect] -Index:: This clause requires an *index or index pattern* and a *time field* that will be used for the *time window*. -Size:: This clause specifies the number of documents to pass to the configured actions when the the threshold condition is met. -{es} query:: This clause specifies the ES DSL query to execute. The number of documents that match this query will be evaulated against the threshold -condition. Aggregations are not supported at this time. -Threshold:: This clause defines a threshold value and a comparison operator (`is above`, `is above or equals`, `is below`, `is below or equals`, or `is between`). The number of documents that match the specified query is compared to this threshold. -Time window:: This clause determines how far back to search for documents, using the *time field* set in the *index* clause. Generally this value should be set to a value higher than the *check every* value in the <>, to avoid gaps in detection. +Index:: Specifies an *index or data view* and a *time field* that is used for +the *time window*. +Size:: Specifies the number of documents to pass to the configured actions when +the threshold condition is met. +{es} query:: Specifies the ES DSL query to execute. The number of documents that +match this query is evaluated against the threshold condition. Only the `query` +field is used, other DSL fields are not considered. +Threshold:: Defines a threshold value and a comparison operator (`is above`, +`is above or equals`, `is below`, `is below or equals`, or `is between`). The +number of documents that match the specified query is compared to this +threshold. +Time window:: Defines how far back to search for documents, using the +*time field* set in the *index* clause. Generally this value should be set to a +value higher than the *check every* value in the +<>, to avoid gaps in +detection. + [float] ==== Add action variables -<> to run when the rule condition is met. The following variables are specific to the {es} query rule. You can also specify <>. +<> to run when the rule condition +is met. The following variables are specific to the {es} query rule. You can +also specify +<>. + +`context.title`:: A preconstructed title for the rule. Example: +`rule term match alert query matched`. -`context.title`:: A preconstructed title for the rule. Example: `rule term match alert query matched`. `context.message`:: A preconstructed message for the rule. Example: + -`rule 'term match alert' is active:` + -`- Value: 42` + -`- Conditions Met: count greater than 4 over 5m` + -`- Timestamp: 2020-01-01T00:00:00.000Z` +`rule 'my es-query' is active:` + +`- Value: 2` + +`- Conditions Met: Number of matching documents is greater than 1 over 5m` + +`- Timestamp: 2022-02-03T20:29:27.732Z` + +`context.group`:: The name of the action group associated with the condition. +Example: `query matched`. + +`context.date`:: The date, in ISO format, that the rule met the condition. +Example: `2022-02-03T20:29:27.732Z`. -`context.group`:: The name of the action group associated with the condition. Example: `query matched`. -`context.date`:: The date, in ISO format, that the rule met the condition. Example: `2020-01-01T00:00:00.000Z`. `context.value`:: The value of the rule that met the condition. -`context.conditions`:: A description of the condition. Example: `count greater than 4`. -`context.hits`:: The most recent ES documents that matched the query. Using the https://mustache.github.io/[Mustache] template array syntax, you can iterate over these hits to get values from the ES documents into your actions. + +`context.conditions`:: A description of the condition. Example: +`count greater than 4`. + +`context.hits`:: The most recent documents that matched the query. Using the +https://mustache.github.io/[Mustache] template array syntax, you can iterate +over these hits to get values from the ES documents into your actions. + [role="screenshot"] image::images/rule-types-es-query-example-action-variable.png[Iterate over hits using Mustache template syntax] @@ -51,8 +81,8 @@ image::images/rule-types-es-query-example-action-variable.png[Iterate over hits Use the *Test query* feature to verify that your query DSL is valid. -* Valid queries are executed against the configured *index* using the configured *time window*. The number of documents that -match the query will be displayed. +* Valid queries are executed against the configured *index* using the configured +*time window*. The number of documents that match the query is displayed. + [role="screenshot"] image::user/alerting/images/rule-types-es-query-valid.png[Test {es} query returns number of matches when valid] @@ -63,29 +93,35 @@ image::user/alerting/images/rule-types-es-query-valid.png[Test {es} query return image::user/alerting/images/rule-types-es-query-invalid.png[Test {es} query shows error when invalid] [float] -==== Match de-duplication +==== Handling multiple matches of the same document + +This rule type checks for duplication of document matches across rule +executions. If you configure the rule with a schedule interval smaller than the +time window, and a document matches a query in multiple rule executions, it is +alerted on only once. -The {es} query rule type performs de-duplication of document matches across rule executions. If you configure the rule with a schedule interval smaller than the time window, and a document matches a query in multiple rule executions, it will be alerted on only once. +The rule uses the timestamp of the matches to avoid alerting on the same match +multiple times. The timestamp of the latest match is used for evaluating the +rule conditions when the rule is executed. Only matches between the latest +timestamp from the previous execution and the actual rule execution are +considered. -Suppose you have a rule configured to run every minute. The rule uses a time window of 1 hour and checks if there are more than 99 matches for the query. The {es} query rule type will do the following: +Suppose you have a rule configured to run every minute. The rule uses a time +window of 1 hour and checks if there are more than 99 matches for the query. The +{es} query rule type does the following: [cols="3*<"] |=== - | `Execution 1 (0:00)` | Rule finds 113 matches in the last hour: `113 > 99` -| Rule is active and user will be alerted. - +| Rule is active and user is alerted. | `Execution 2 (0:01)` -| Rule finds 127 matches in the last hour. 105 of the matches are duplicates that were alerted on in Execution 1, so you actually have 22 matches: `22 !> 99` +| Rule finds 127 matches in the last hour. 105 of the matches are duplicates that were already alerted on previously, so you actually have 22 matches: `22 !> 99` | No alert. - | `Execution 3 (0:02)` -| Rule finds 159 matches in the last hour. 88 of the matches are duplicates that were alerted on in Execution 1, so you actually have 71 matches: `71 !> 99` +| Rule finds 159 matches in the last hour. 88 of the matches are duplicates that were already alerted on previously, so you actually have 71 matches: `71 !> 99` | No alert. - | `Execution 4 (0:03)` -| Rule finds 190 matches in the last hour. 71 of them are duplicates that were alerted on in Exeuction 1, so you actually have 119 matches: `119 > 99` -| Rule is active and user will be alerted. - +| Rule finds 190 matches in the last hour. 71 of them are duplicates that were already alerted on previously, so you actually have 119 matches: `119 > 99` +| Rule is active and user is alerted. |=== \ No newline at end of file diff --git a/docs/user/api.asciidoc b/docs/user/api.asciidoc index e17d52675437e..9b1a12daf3ef1 100644 --- a/docs/user/api.asciidoc +++ b/docs/user/api.asciidoc @@ -94,6 +94,7 @@ include::{kib-repo-dir}/api/saved-objects.asciidoc[] include::{kib-repo-dir}/api/index-patterns.asciidoc[] include::{kib-repo-dir}/api/alerting.asciidoc[] include::{kib-repo-dir}/api/actions-and-connectors.asciidoc[] +include::{kib-repo-dir}/api/cases.asciidoc[] include::{kib-repo-dir}/api/dashboard-api.asciidoc[] include::{kib-repo-dir}/api/logstash-configuration-management.asciidoc[] include::{kib-repo-dir}/api/machine-learning.asciidoc[] diff --git a/docs/user/dashboard/aggregation-based.asciidoc b/docs/user/dashboard/aggregation-based.asciidoc index 351e1f5d0825a..5f8a40476ba75 100644 --- a/docs/user/dashboard/aggregation-based.asciidoc +++ b/docs/user/dashboard/aggregation-based.asciidoc @@ -111,6 +111,8 @@ Choose the type of visualization you want to create, then use the editor to conf .. Select the visualization type you want to create. .. Select the data source you want to visualize. ++ +NOTE: There is no performance impact on the data source you select. For example, *Discover* saved searches perform the same as {data-sources}. . Add the <> you want to visualize using the editor, then click *Update*. + diff --git a/docs/user/dashboard/make-dashboards-interactive.asciidoc b/docs/user/dashboard/make-dashboards-interactive.asciidoc index 54a723f63e253..2c6fff7157b92 100644 --- a/docs/user/dashboard/make-dashboards-interactive.asciidoc +++ b/docs/user/dashboard/make-dashboards-interactive.asciidoc @@ -48,7 +48,7 @@ To create *Controls* panels: . Select the control panel type from the dropdown, then click *Add*. -. Enter the *Control Label*, then select the *{Data-Source}* and *Field*. +. Enter the *Control Label*, then select the *{data-source-caps}* and *Field*. . If you are adding a *Range slider*, enter the *Step Size* and *Decimal Places*. diff --git a/docs/user/dashboard/vega-reference.asciidoc b/docs/user/dashboard/vega-reference.asciidoc index 591cc1aad379b..bb8f8ace2b0fd 100644 --- a/docs/user/dashboard/vega-reference.asciidoc +++ b/docs/user/dashboard/vega-reference.asciidoc @@ -102,6 +102,8 @@ Tokens include the following: * `"%dashboard_context-filter_clause%"`: String replaced by an object containing filters * `"%dashboard_context-must_not_clause%"`: String replaced by an object containing filters +NOTE: Vega supports the `interval` parameter, which is unsupported {es} 8.0.0 and later. To use intervals, use `fixed_interval` or `calendar_interval` instead. + For example, the following query counts the number of documents in a specific index: [source,yaml] diff --git a/docs/user/ml/index.asciidoc b/docs/user/ml/index.asciidoc index 3327bc763e4ed..849b0f34570b8 100644 --- a/docs/user/ml/index.asciidoc +++ b/docs/user/ml/index.asciidoc @@ -26,7 +26,8 @@ If {stack-security-features} are enabled, users must have the necessary privileges to use {ml-features}. Refer to {ml-docs}/setup.html#setup-privileges[Set up {ml-features}]. -NOTE: There are limitations in {ml-features} that affect {kib}. For more information, refer to {ml-docs}/ml-limitations.html[Machine learning]. +NOTE: There are limitations in {ml-features} that affect {kib}. For more +information, refer to {ml-docs}/ml-limitations.html[{ml-cap}]. -- @@ -85,8 +86,6 @@ and {ml-docs}/xpack-ml.html[{ml-cap} {anomaly-detect}]. [[xpack-ml-dfanalytics]] == {dfanalytics-cap} -experimental[] - The Elastic {ml} {dfanalytics} feature enables you to analyze your data using {classification}, {oldetection}, and {regression} algorithms and generate new indices that contain the results alongside your source data. diff --git a/docs/user/monitoring/xpack-monitoring.asciidoc b/docs/user/monitoring/xpack-monitoring.asciidoc index c3aafe7f90db9..751710d1e74f5 100644 --- a/docs/user/monitoring/xpack-monitoring.asciidoc +++ b/docs/user/monitoring/xpack-monitoring.asciidoc @@ -17,9 +17,6 @@ instance, and Beat is considered unique based on its persistent UUID, which is written to the <> directory when the node or instance starts. -NOTE: Watcher must be enabled to view cluster alerts. If you have a Basic -license, Top Cluster Alerts are not displayed. - For more information, see <> and {ref}/monitor-elasticsearch-cluster.html[Monitor a cluster]. diff --git a/docs/user/production-considerations/production.asciidoc b/docs/user/production-considerations/production.asciidoc index 43e08f42f12a4..d4dafbab8b6a4 100644 --- a/docs/user/production-considerations/production.asciidoc +++ b/docs/user/production-considerations/production.asciidoc @@ -16,6 +16,11 @@ separate from your {es} data or master nodes. To distribute {kib} traffic across the nodes in your {es} cluster, you can configure {kib} to use a list of {es} hosts. +[WARNING] +==== +{kib} does not support rolling upgrades, and deploying mixed versions of {kib} can result in data loss or upgrade failures. Please shut down all instances of {kib} before performing an upgrade, and ensure all running {kib} instances have matching versions. +==== + [float] [[load-balancing-kibana]] === Load balancing across multiple {kib} instances @@ -59,13 +64,18 @@ bin/kibana -c config/instance2.yml === Accessing multiple load-balanced {kib} clusters To access multiple load-balanced {kib} clusters from the same browser, -set `xpack.security.cookieName` in the configuration. +explicitly set `xpack.security.cookieName` to the same value in the {kib} configuration +of each {kib} instance. + +Each {kib} cluster must have a different value of `xpack.security.cookieName`. + This avoids conflicts between cookies from the different {kib} instances. -In each cluster, {kib} instances should have the same `cookieName` -value. This will achieve seamless high availability and keep the session +This will achieve seamless high availability and keep the session active in case of failure from the currently used instance. + + [float] [[high-availability]] === High availability across multiple {es} nodes diff --git a/docs/user/reporting/images/kibana-privileges-with-reporting-basic.png b/docs/user/reporting/images/kibana-privileges-with-reporting-basic.png new file mode 100644 index 0000000000000..6d2c3ba645b54 Binary files /dev/null and b/docs/user/reporting/images/kibana-privileges-with-reporting-basic.png differ diff --git a/docs/user/reporting/images/kibana-privileges-with-reporting.png b/docs/user/reporting/images/kibana-privileges-with-reporting.png new file mode 100644 index 0000000000000..0675d893e4af9 Binary files /dev/null and b/docs/user/reporting/images/kibana-privileges-with-reporting.png differ diff --git a/docs/user/reporting/reporting-troubleshooting.asciidoc b/docs/user/reporting/reporting-troubleshooting.asciidoc index 4b59cad38fd9a..6f525567cc28c 100644 --- a/docs/user/reporting/reporting-troubleshooting.asciidoc +++ b/docs/user/reporting/reporting-troubleshooting.asciidoc @@ -1,6 +1,7 @@ [role="xpack"] [[reporting-troubleshooting]] == Reporting troubleshooting + ++++ Troubleshooting ++++ diff --git a/docs/user/security/api-keys/index.asciidoc b/docs/user/security/api-keys/index.asciidoc index 94301568b6438..e4f71d740a2aa 100644 --- a/docs/user/security/api-keys/index.asciidoc +++ b/docs/user/security/api-keys/index.asciidoc @@ -27,11 +27,7 @@ The {es} API key service is automatically enabled when you configure {ref}/configuring-tls.html#tls-http[TLS on the HTTP interface]. This ensures that clients are unable to send API keys in clear-text. -When HTTPS connections are not enabled between {kib} and {es}, -you cannot create or manage API keys, and you get an error message. -For more information, see the -{ref}/security-api-create-api-key.html[{es} API key documentation], -or contact your system administrator. +When TLS on the HTTP interface between {kib} and {es} isn't configured, you must {ref}/security-api-create-api-key.html#security-api-create-api-key-desc[enable the API key service explicitly]. Otherwise, you cannot create or manage API keys, and you will get an error message when trying to use API keys in {kib}. [float] [[api-keys-security-privileges]] diff --git a/docs/user/security/audit-logging.asciidoc b/docs/user/security/audit-logging.asciidoc index 42900bb87056f..705d876df3e41 100644 --- a/docs/user/security/audit-logging.asciidoc +++ b/docs/user/security/audit-logging.asciidoc @@ -55,8 +55,9 @@ For information on how to configure `xpack.security.audit.appender`, refer to Refer to the table of events that can be logged for auditing purposes. -Each event is broken down into <>, <>, <> and <> fields -to make it easy to filter, query and aggregate the resulting logs. +Each event is broken down into <>, <>, <> and +<> fields to make it easy to filter, query and aggregate the resulting logs. The <> +field can be used to correlate multiple events that originate from the same request. Refer to <> for a table of fields that get logged with audit event. @@ -81,6 +82,9 @@ Refer to the corresponding {es} logs for potential write errors. | `success` | User has logged in successfully. | `failure` | Failed login attempt (e.g. due to invalid credentials). +| `user_logout` +| `unknown` | User is logging out. + 3+a| ===== Category: database ====== Type: creation @@ -445,7 +449,57 @@ Example: `https` | *Field* | *Description* -| `trace.id` +| [[field-trace-id]] `trace.id` | Unique identifier allowing events of the same transaction from {kib} and {es} to be be correlated. |====== + +[[xpack-security-ecs-audit-correlation]] +==== Correlating ECS audit events + +Audit events can be correlated in two ways: + +1. Multiple {kib} audit events that resulted from the same request can be correlated together. +2. If {ref}/enable-audit-logging.html[{es} audit logging] is enabled, {kib} audit events from one request can be correlated with backend + calls that create {es} audit events. + +NOTE: The examples below are simplified, many fields have been omitted and values have been shortened for clarity. + +===== Example 1: correlating multiple {kib} audit events + +When "thom" creates a new alerting rule, five audit events are written: + +[source,json] +------------- +{"event":{"action":"http_request","category":["web"],"outcome":"unknown"},"http":{"request":{"method":"post"}},"url":{"domain":"localhost","path":"/api/alerting/rule","port":5601,"scheme":"https"},"user":{"name":"thom","roles":["superuser"]},"kibana":{"space_id":"default","session_id":"3dHCZRB..."},"@timestamp":"2022-01-25T13:05:34.449-05:00","message":"User is requesting [/api/alerting/rule] endpoint","trace":{"id":"e300e06..."}} +{"event":{"action":"space_get","category":["database"],"type":["access"],"outcome":"success"},"kibana":{"space_id":"default","session_id":"3dHCZRB...","saved_object":{"type":"space","id":"default"}},"user":{"name":"thom","roles":["superuser"]},"@timestamp":"2022-01-25T13:05:34.454-05:00","message":"User has accessed space [id=default]","trace":{"id":"e300e06..."}} +{"event":{"action":"connector_get","category":["database"],"type":["access"],"outcome":"success"},"kibana":{"space_id":"default","session_id":"3dHCZRB...","saved_object":{"type":"action","id":"5e3b1ae..."}},"user":{"name":"thom","roles":["superuser"]},"@timestamp":"2022-01-25T13:05:34.948-05:00","message":"User has accessed connector [id=5e3b1ae...]","trace":{"id":"e300e06..."}} +{"event":{"action":"connector_get","category":["database"],"type":["access"],"outcome":"success"},"kibana":{"space_id":"default","session_id":"3dHCZRB...","saved_object":{"type":"action","id":"5e3b1ae..."}},"user":{"name":"thom","roles":["superuser"]},"@timestamp":"2022-01-25T13:05:34.956-05:00","message":"User has accessed connector [id=5e3b1ae...]","trace":{"id":"e300e06..."}} +{"event":{"action":"rule_create","category":["database"],"type":["creation"],"outcome":"unknown"},"kibana":{"space_id":"default","session_id":"3dHCZRB...","saved_object":{"type":"alert","id":"64517c3..."}},"user":{"name":"thom","roles":["superuser"]},"@timestamp":"2022-01-25T13:05:34.956-05:00","message":"User is creating rule [id=64517c3...]","trace":{"id":"e300e06..."}} +------------- + +All of these audit events can be correlated together by the same `trace.id` value `"e300e06..."`. The first event is the HTTP API call, the +next audit events are checks to validate the space and the connectors, and the last audit event is the actual rule creation. + +===== Example 2: correlating a {kib} audit event with {es} audit events + +When "thom" logs in, a "user_login" {kib} audit event is written: + +[source,json] +------------- +{"event":{"action":"user_login","category":["authentication"],"outcome":"success"},"user":{"name":"thom","roles":["superuser"]},"@timestamp":"2022-01-25T09:40:39.267-05:00","message":"User [thom] has logged in using basic provider [name=basic]","trace":{"id":"818cbf3..."}} +------------- + +The `trace.id` value `"818cbf3..."` in the {kib} audit event can be correlated with the `opaque_id` value in these six {es} audit events: + +[source,json] +------------- +{"type":"audit", "timestamp":"2022-01-25T09:40:38,604-0500", "event.action":"access_granted", "user.name":"thom", "user.roles":["superuser"], "request.id":"YCx8wxs...", "action":"cluster:admin/xpack/security/user/authenticate", "request.name":"AuthenticateRequest", "opaque_id":"818cbf3..."} +{"type":"audit", "timestamp":"2022-01-25T09:40:38,613-0500", "event.action":"access_granted", "user.name":"kibana_system", "user.roles":["kibana_system"], "request.id":"Ksx73Ad...", "action":"indices:data/write/index", "request.name":"IndexRequest", "indices":[".kibana_security_session_1"], "opaque_id":"818cbf3..."} +{"type":"audit", "timestamp":"2022-01-25T09:40:38,613-0500", "event.action":"access_granted", "user.name":"kibana_system", "user.roles":["kibana_system"], "request.id":"Ksx73Ad...", "action":"indices:data/write/bulk", "request.name":"BulkRequest", "opaque_id":"818cbf3..."} +{"type":"audit", "timestamp":"2022-01-25T09:40:38,613-0500", "event.action":"access_granted", "user.name":"kibana_system", "user.roles":["kibana_system"], "request.id":"Ksx73Ad...", "action":"indices:data/write/bulk[s]", "request.name":"BulkShardRequest", "indices":[".kibana_security_session_1"], "opaque_id":"818cbf3..."} +{"type":"audit", "timestamp":"2022-01-25T09:40:38,613-0500", "event.action":"access_granted", "user.name":"kibana_system", "user.roles":["kibana_system"], "request.id":"Ksx73Ad...", "action":"indices:data/write/index:op_type/create", "request.name":"BulkItemRequest", "indices":[".kibana_security_session_1"], "opaque_id":"818cbf3..."} +{"type":"audit", "timestamp":"2022-01-25T09:40:38,613-0500", "event.action":"access_granted", "user.name":"kibana_system", "user.roles":["kibana_system"], "request.id":"Ksx73Ad...", "action":"indices:data/write/bulk[s][p]", "request.name":"BulkShardRequest", "indices":[".kibana_security_session_1"], "opaque_id":"818cbf3..."} +------------- + +The {es} audit events show that "thom" authenticated, then subsequently "kibana_system" created a session for that user. diff --git a/docs/user/security/authentication/index.asciidoc b/docs/user/security/authentication/index.asciidoc index 2f2b279389799..446de62326f8e 100644 --- a/docs/user/security/authentication/index.asciidoc +++ b/docs/user/security/authentication/index.asciidoc @@ -5,7 +5,7 @@ Authentication ++++ :keywords: administrator, concept, security, authentication -:description: A list of the supported authentication mechanisms in {kib}. +:description: A list of the supported authentication mechanisms in {kib}. {kib} supports the following authentication mechanisms: @@ -483,4 +483,4 @@ To make this iframe leverage anonymous access automatically, you will need to mo NOTE: `auth_provider_hint` query string parameter goes *before* the hash URL fragment. -For more information on how to embed, refer to <>. +For more information, refer to <>. diff --git a/docs/user/security/secure-saved-objects.asciidoc b/docs/user/security/secure-saved-objects.asciidoc index 3b15a576500f1..1093aa1de0d05 100644 --- a/docs/user/security/secure-saved-objects.asciidoc +++ b/docs/user/security/secure-saved-objects.asciidoc @@ -16,7 +16,7 @@ xpack.encryptedSavedObjects: [IMPORTANT] ============================================================================ -If you don't specify an encryption key, {kib} automatically generates a random key at startup. Every time you restart {kib}, it uses a new ephemeral encryption key and is unable to decrypt saved objects encrypted with another key. To prevent data loss, {kib} might disable features that rely on this encryption until you explicitly set an encryption key. +If you don't specify an encryption key, {kib} might disable features that rely on encrypted saved objects. ============================================================================ [[encryption-key-rotation]] diff --git a/docs/user/whats-new.asciidoc b/docs/user/whats-new.asciidoc index a1e0b4c15423e..be1929715fb83 100644 --- a/docs/user/whats-new.asciidoc +++ b/docs/user/whats-new.asciidoc @@ -1,128 +1,17 @@ [[whats-new]] == What's new in {minor-version} -Here are the highlights of what's new and improved in {minor-version}. -For detailed information about this release, -check out the <>. +{kib} {minor-version} is a compatibility release for the {minor-version} Elastic Stack +and contains no major features. +For detailed information about this release, refer to the {kibana-ref}/release-notes.html[release notes]. -Other versions: {kibana-ref-all}/7.15/whats-new.html[7.15] | {kibana-ref-all}/7.14/whats-new.html[7.14] | {kibana-ref-all}/7.13/whats-new.html[7.13] | {kibana-ref-all}/7.12/whats-new.html[7.12] | {kibana-ref-all}/7.11/whats-new.html[7.11] | +// tag::notable-highlights[] + +// end::notable-highlights[] + +Previous versions: {kibana-ref-all}/7.16/whats-new.html[7.16] | +{kibana-ref-all}/7.15/whats-new.html[7.15] | {kibana-ref-all}/7.14/whats-new.html[7.14] | {kibana-ref-all}/7.13/whats-new.html[7.13] | {kibana-ref-all}/7.12/whats-new.html[7.12] | {kibana-ref-all}/7.11/whats-new.html[7.11] | {kibana-ref-all}/7.10/whats-new.html[7.10] | {kibana-ref-all}/7.9/whats-new.html[7.9] | {kibana-ref-all}/7.8/whats-new.html[7.8] | {kibana-ref-all}/7.7/release-highlights-7.7.0.html[7.7] | {kibana-ref-all}/7.6/release-highlights-7.6.0.html[7.6] | {kibana-ref-all}/7.5/release-highlights-7.5.0.html[7.5] | {kibana-ref-all}/7.4/release-highlights-7.4.0.html[7.4] | {kibana-ref-all}/7.3/release-highlights-7.3.0.html[7.3] | {kibana-ref-all}/7.2/release-highlights-7.2.0.html[7.2] | {kibana-ref-all}/7.1/release-highlights-7.1.0.html[7.1] | {kibana-ref-all}/7.0/release-highlights-7.0.0.html[7.0] - -//NOTE: The notable-highlights tagged regions are re-used in the -//Installation and Upgrade Guide - -// tag::notable-highlights[] - -[float] -=== Upgrade Assistant for 8.x - -*Upgrade Assistant* is your one-stop shop to help you prepare for upgrading to 8.x. -Review and address {es} and {kib} deprecation issues, analyze {es} deprecation logs, -migrate system indices, and back up your data before upgrading, all from this app. - -[role="screenshot"] -image::images/upgrade-assistant-7.16.png[Upgrade Assistant to help you prepare for upgrading to 8.x] - - -[float] -=== Unified integrations view - -All ingest options for Elastic have been moved to a single *Integrations* view. -This provides a more consistent experience for onboarding to Elastic and increases -the discoverability of integrations. -All entry points for adding integrations now route to this page. - -[role="screenshot"] -image::images/integrations-view-7.16.png[View of all ingest options for Elastic] - - -[float] -=== Reference lines in Lens - -Reference lines are now available in *Lens* to help you easily identify -important values in your visualizations. Create reference lines with static -values, dynamic data using {es} *Quick Functions*, or define with a -custom *Formula*. Reference lines can come from separate index patterns, -such as a goal dataset that is independent of the source data. - -With reference lines, you can: - -* Track metrics against goals, warning zones, and more. -* Add display options, such as color, icons, and labels. -* Apply color to the area above or below the reference line. -+ -[role="screenshot"] -image::images/reference-line-7.16.png[View of all ingest options for Elastic] - -[float] -=== Enhancements to visualization editors - -{kib} offers even more ways to work with your visualizations: - -* *Apply custom field formats in TSVB.* -Take advantage of the field formatters from your index pattern in -*TSVB*—or override the format for a specific visualization. -* *Filter in TSVB.* -You always had the ability to ignore global filters in *TSVB* layers, -and now you can also change them. This makes it easier to explore your data -in *TSVB* without having to edit the filters for each series. -* *View data and requests in Lens.* -View the data in visualizations and the requests that collected the data right in the *Lens* editor. -* *View requests in Console.* -View the requests that collect the data in visualizations in *Console*. -* *Auto fit rows to content.* -Automatically resize *Aggregation-based* data table rows so that text and images are fully visible. - -[float] -=== New and updated connectors in Alerting - -Alerting has grown its collection of connectors with the addition of the ServiceNow ITOM -connector, which allows for easy integration with ServiceNow event management. In addition, -{kib} provides a more efficient integration for ServiceNow ITSM and SecOps connectors -with certified applications on the ServiceNow store. Also added -is the ability to authenticate the email connector with OAuth 2.0 -Client Credentials for the MS Exchange email service. - -[float] -=== Rule duration on display - -In *Rules and Connectors*, the *Rules* view now includes the rule duration field, which shows how long a rule is taking to -complete execution. This helps you identify rules that run longer than you anticipate. - -[role="screenshot"] -image::images/rules-view-7.16.png[View of all ingest options for Elastic] - -You can observe the duration for the last 30 executions -on the rules detail page. - -[role="screenshot"] -image::images/rule-details-7.16.png[View of all ingest options for Elastic] - -[float] -=== Osquery Manager now generally available - -With the GA release, *Osquery Manager* is now fully supported and available -for use in production. In addition, the 7.16 release offers the following new capabilities: - -* Customize the osquery configuration. -* Map saved query results to ECS. -* Test out queries when editing saved queries. -* Map static values to ECS. -* Schedule query packs for one or more agent policies. -* Set custom namespace values for the integration. -* Query three new Kubernetes tables. - -For more information, refer to {kibana-ref}/osquery.html[Osquery]. - -[float] -=== Transform health alerting rules - -beta:[] A new rule type notifies you when continuous transforms -experience operational issues. It enables you to detect when a transform stops -indexing data or is in a failed state. For more details, refer to -{ref}/transform-alerts.html[Generating alerts for transforms]. - -// end::notable-highlights[] diff --git a/examples/embeddable_examples/public/book/book_embeddable.tsx b/examples/embeddable_examples/public/book/book_embeddable.tsx index 0f25d564e5580..024d9d90448eb 100644 --- a/examples/embeddable_examples/public/book/book_embeddable.tsx +++ b/examples/embeddable_examples/public/book/book_embeddable.tsx @@ -92,13 +92,11 @@ export class BookEmbeddable }; readonly getInputAsValueType = async (): Promise => { - const input = this.attributeService.getExplicitInputFromEmbeddable(this); - return this.attributeService.getInputAsValueType(input); + return this.attributeService.getInputAsValueType(this.getExplicitInput()); }; readonly getInputAsRefType = async (): Promise => { - const input = this.attributeService.getExplicitInputFromEmbeddable(this); - return this.attributeService.getInputAsRefType(input, { + return this.attributeService.getInputAsRefType(this.getExplicitInput(), { showSaveModal: true, saveModalTitle: this.getTitle(), }); diff --git a/examples/embeddable_examples/public/book/edit_book_action.tsx b/examples/embeddable_examples/public/book/edit_book_action.tsx index edf04901e4e0d..ab5694d7782fa 100644 --- a/examples/embeddable_examples/public/book/edit_book_action.tsx +++ b/examples/embeddable_examples/public/book/edit_book_action.tsx @@ -71,7 +71,7 @@ export const createEditBookAction = (getStartServices: () => Promise/src', - '/packages', - ...Fs.readdirSync(Path.resolve(__dirname, 'x-pack')).flatMap((name) => { - // create roots for all x-pack/* dirs except for test - if (name !== 'test' && Fs.statSync(Path.resolve(__dirname, 'x-pack', name)).isDirectory()) { - return [`/x-pack/${name}`]; - } - - return []; - }), - ], -}; diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index ae07034c10781..0000000000000 --- a/jest.config.js +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -module.exports = { - preset: '@kbn/test', - rootDir: '.', - projects: [ - '/packages/*/jest.config.js', - '/src/*/jest.config.js', - '/src/plugins/*/jest.config.js', - '/src/plugins/chart_expressions/*/jest.config.js', - '/src/plugins/vis_types/*/jest.config.js', - '/test/*/jest.config.js', - '/x-pack/plugins/*/jest.config.js', - '/x-pack/plugins/security_solution/*/jest.config.js', - '/x-pack/plugins/security_solution/public/*/jest.config.js', - '/x-pack/plugins/security_solution/server/*/jest.config.js', - ], -}; diff --git a/package.json b/package.json index 07f439ad67bde..418cf8b90ea52 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,8 @@ "dashboarding" ], "private": true, - "version": "7.16.2", - "branch": "7.16", + "version": "7.17.3", + "branch": "7.17", "types": "./kibana.d.ts", "tsdocMetadata": "./build/tsdoc-metadata.json", "build": { @@ -66,30 +66,33 @@ "url": "https://github.com/elastic/kibana.git" }, "engines": { - "node": "16.13.0", + "node": "16.14.2", "yarn": "^1.21.1" }, "resolutions": { "**/@babel/runtime": "^7.16.3", - "**/@types/node": "16.10.2", + "**/@types/node": "16.11.7", "**/chokidar": "^3.4.3", "**/deepmerge": "^4.2.2", "**/fast-deep-equal": "^3.1.1", "**/handlebars/uglify-js": "^3.14.3", "**/hoist-non-react-statics": "^3.3.2", "**/html-minifier/uglify-js": "^3.14.3", - "**/isomorphic-fetch/node-fetch": "^2.6.1", + "**/isomorphic-fetch/node-fetch": "^2.6.7", "**/istanbul-instrumenter-loader/schema-utils": "1.0.0", "**/json-schema": "^0.4.0", - "**/minimist": "^1.2.5", - "**/node-jose/node-forge": "^0.10.0", + "**/minimatch": "^3.1.2", + "**/minimist": "^1.2.6", + "**/node-forge": "^1.3.0", "**/pdfkit/crypto-js": "4.0.0", "**/react-syntax-highlighter": "^15.3.1", "**/react-syntax-highlighter/**/highlight.js": "^10.4.1", + "**/refractor/prismjs": "~1.27.0", "**/trim": "1.0.1", "**/typescript": "4.1.3", "**/underscore": "^1.13.1", - "globby/fast-glob": "3.2.5" + "globby/fast-glob": "3.2.5", + "puppeteer/node-fetch": "^2.6.7" }, "dependencies": { "@babel/runtime": "^7.16.3", @@ -99,7 +102,7 @@ "@elastic/apm-rum": "^5.9.1", "@elastic/apm-rum-react": "^1.3.1", "@elastic/apm-synthtrace": "link:bazel-bin/packages/elastic-apm-synthtrace", - "@elastic/charts": "38.0.5", + "@elastic/charts": "40.3.0", "@elastic/datemath": "link:bazel-bin/packages/elastic-datemath", "@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@^7.16.0-canary.7", "@elastic/ems-client": "7.16.0", @@ -110,7 +113,7 @@ "@elastic/node-crypto": "1.2.1", "@elastic/numeral": "^2.5.1", "@elastic/react-search-ui": "^1.6.0", - "@elastic/request-crypto": "1.1.4", + "@elastic/request-crypto": "2.0.0", "@elastic/safer-lodash-set": "link:bazel-bin/packages/elastic-safer-lodash-set", "@elastic/search-ui-app-search-connector": "^1.6.0", "@emotion/react": "^11.4.0", @@ -193,7 +196,7 @@ "base64-js": "^1.3.1", "bluebird": "3.5.5", "brace": "0.11.1", - "broadcast-channel": "^4.7.1", + "broadcast-channel": "^4.10.0", "chalk": "^4.1.0", "cheerio": "^1.0.0-rc.10", "chokidar": "^3.4.3", @@ -265,7 +268,7 @@ "js-search": "^1.4.3", "js-sha256": "^0.9.0", "js-sql-parser": "^1.4.1", - "js-yaml": "^3.14.0", + "js-yaml": "^3.14.1", "json-stable-stringify": "^1.0.1", "json-stringify-pretty-compact": "1.2.0", "json-stringify-safe": "5.0.1", @@ -283,14 +286,14 @@ "lz-string": "^1.4.4", "mapbox-gl-draw-rectangle-mode": "1.0.4", "maplibre-gl": "1.15.2", - "markdown-it": "^10.0.0", + "markdown-it": "^12.3.2", "md5": "^2.1.0", "mdast-util-to-hast": "10.0.1", "memoize-one": "^5.0.0", "mime": "^2.4.4", "mime-types": "^2.1.27", "mini-css-extract-plugin": "1.1.0", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "moment": "^2.24.0", "moment-duration-format": "^2.3.2", "moment-timezone": "^0.5.27", @@ -298,8 +301,8 @@ "mustache": "^2.3.2", "ngreact": "^0.5.1", "nock": "12.0.3", - "node-fetch": "^2.6.1", - "node-forge": "^0.10.0", + "node-fetch": "^2.6.7", + "node-forge": "^1.3.0", "nodemailer": "^6.6.2", "normalize-path": "^3.0.0", "object-hash": "^1.3.1", @@ -435,7 +438,7 @@ "@babel/register": "^7.16.0", "@babel/traverse": "^7.16.3", "@babel/types": "^7.16.0", - "@bazel/ibazel": "^0.15.10", + "@bazel/ibazel": "^0.16.2", "@bazel/typescript": "^3.8.0", "@cypress/snapshot": "^2.1.7", "@cypress/webpack-preprocessor": "^5.6.0", @@ -447,6 +450,7 @@ "@emotion/babel-preset-css-prop": "^11.2.0", "@emotion/jest": "^11.3.0", "@istanbuljs/schema": "^0.1.2", + "@jest/console": "^26.6.2", "@jest/reporters": "^26.6.2", "@kbn/babel-code-parser": "link:bazel-bin/packages/kbn-babel-code-parser", "@kbn/babel-preset": "link:bazel-bin/packages/kbn-babel-preset", @@ -500,7 +504,7 @@ "@types/bluebird": "^3.1.1", "@types/chance": "^1.0.0", "@types/chroma-js": "^1.4.2", - "@types/chromedriver": "^81.0.0", + "@types/chromedriver": "^81.0.1", "@types/classnames": "^2.2.9", "@types/cmd-shim": "^2.0.0", "@types/color": "^3.0.0", @@ -563,22 +567,22 @@ "@types/lodash": "^4.14.159", "@types/lru-cache": "^5.1.0", "@types/lz-string": "^1.3.34", - "@types/markdown-it": "^0.0.7", + "@types/markdown-it": "^12.2.3", "@types/md5": "^2.2.0", "@types/memoize-one": "^4.1.0", "@types/mime": "^2.0.1", "@types/mime-types": "^2.1.0", "@types/minimatch": "^2.0.29", - "@types/minimist": "^1.2.1", - "@types/mocha": "^8.2.0", + "@types/minimist": "^1.2.2", + "@types/mocha": "^9.1.0", "@types/mock-fs": "^4.13.1", "@types/moment-timezone": "^0.5.12", "@types/mustache": "^0.8.31", "@types/ncp": "^2.0.1", "@types/nock": "^10.0.3", - "@types/node": "16.10.2", - "@types/node-fetch": "^2.5.7", - "@types/node-forge": "^0.10.5", + "@types/node": "16.11.7", + "@types/node-fetch": "^2.6.0", + "@types/node-forge": "^1.0.1", "@types/nodemailer": "^6.4.0", "@types/normalize-path": "^3.0.0", "@types/object-hash": "^1.3.0", @@ -612,7 +616,7 @@ "@types/redux-actions": "^2.6.1", "@types/redux-logger": "^3.0.8", "@types/seedrandom": ">=2.0.0 <4.0.0", - "@types/selenium-webdriver": "^4.0.15", + "@types/selenium-webdriver": "^4.0.18", "@types/semver": "^7", "@types/set-value": "^2.0.0", "@types/sinon": "^7.0.13", @@ -669,7 +673,7 @@ "callsites": "^3.1.0", "chai": "3.5.0", "chance": "1.0.18", - "chromedriver": "^96.0.0", + "chromedriver": "^100.0.0", "clean-webpack-plugin": "^3.0.0", "cmd-shim": "^2.1.0", "compression-webpack-plugin": "^4.0.0", @@ -705,7 +709,7 @@ "eslint-plugin-import": "^2.24.2", "eslint-plugin-jest": "^24.5.0", "eslint-plugin-jsx-a11y": "^6.4.1", - "eslint-plugin-mocha": "^9.0.0", + "eslint-plugin-mocha": "^10.0.3", "eslint-plugin-no-unsanitized": "^3.1.5", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prefer-object-spread": "^1.2.1", @@ -721,7 +725,7 @@ "fetch-mock": "^7.3.9", "file-loader": "^4.2.0", "form-data": "^4.0.0", - "geckodriver": "^2.0.4", + "geckodriver": "^3.0.1", "glob-watcher": "5.0.3", "gulp": "4.0.2", "gulp-babel": "^8.0.0", @@ -762,15 +766,15 @@ "lmdb-store": "^1.6.11", "marge": "^1.0.1", "micromatch": "3.1.10", - "minimist": "^1.2.5", + "minimist": "^1.2.6", "mkdirp": "0.5.1", - "mocha": "^8.2.1", - "mocha-junit-reporter": "^2.0.0", - "mochawesome": "^6.2.1", - "mochawesome-merge": "^4.2.0", + "mocha": "^9.1.0", + "mocha-junit-reporter": "^2.0.2", + "mochawesome": "^7.0.1", + "mochawesome-merge": "^4.2.1", "mock-fs": "^5.1.1", "mock-http-server": "1.3.0", - "ms-chromium-edge-driver": "^0.4.2", + "ms-chromium-edge-driver": "^0.4.3", "multimatch": "^4.0.0", "mutation-observer": "^1.0.3", "ncp": "^2.0.0", @@ -783,6 +787,7 @@ "pbf": "3.2.1", "pirates": "^4.0.1", "pixelmatch": "^5.1.0", + "playwright": "^1.17.1", "postcss": "^7.0.32", "postcss-loader": "^3.0.0", "postcss-prefix-selector": "^1.7.2", @@ -796,7 +801,7 @@ "rxjs-marbles": "^5.0.6", "sass-loader": "^10.2.0", "sass-resources-loader": "^2.0.1", - "selenium-webdriver": "^4.0.0", + "selenium-webdriver": "^4.1.1", "serve-static": "1.14.1", "shelljs": "^0.8.4", "simple-git": "1.116.0", diff --git a/packages/kbn-dev-utils/src/ci_stats_reporter/ci_stats_client.ts b/packages/kbn-dev-utils/src/ci_stats_reporter/ci_stats_client.ts new file mode 100644 index 0000000000000..77b3769fe62c1 --- /dev/null +++ b/packages/kbn-dev-utils/src/ci_stats_reporter/ci_stats_client.ts @@ -0,0 +1,89 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import Axios from 'axios'; +import { ToolingLog } from '../tooling_log'; + +import { parseConfig, Config } from './ci_stats_config'; +import { CiStatsMetadata } from './ci_stats_metadata'; + +interface LatestTestGroupStatsOptions { + /** The Kibana branch to get stats for, eg "main" */ + branch: string; + /** The CI job names to filter builds by, eg "kibana-hourly" */ + ciJobNames: string[]; + /** Filter test groups by group type */ + testGroupType?: string; +} + +interface CompleteSuccessBuildSource { + jobName: string; + jobRunner: string; + completedAt: string; + commit: string; + startedAt: string; + branch: string; + result: 'SUCCESS'; + jobId: string; + targetBranch: string | null; + fromKibanaCiProduction: boolean; + requiresValidMetrics: boolean | null; + jobUrl: string; + mergeBase: string | null; +} + +interface TestGroupSource { + '@timestamp': string; + buildId: string; + name: string; + type: string; + startTime: string; + durationMs: number; + meta: CiStatsMetadata; +} + +interface LatestTestGroupStatsResp { + build: CompleteSuccessBuildSource & { id: string }; + testGroups: Array; +} + +export class CiStatsClient { + /** + * Create a CiStatsReporter by inspecting the ENV for the necessary config + */ + static fromEnv(log: ToolingLog) { + return new CiStatsClient(parseConfig(log)); + } + + constructor(private readonly config?: Config) {} + + isEnabled() { + return !!this.config?.apiToken; + } + + async getLatestTestGroupStats(options: LatestTestGroupStatsOptions) { + if (!this.config || !this.config.apiToken) { + throw new Error('No ciStats config available, call `isEnabled()` before using the client'); + } + + const resp = await Axios.request({ + baseURL: 'https://ci-stats.kibana.dev', + url: '/v1/test_group_stats', + params: { + branch: options.branch, + ci_job_name: options.ciJobNames.join(','), + test_group_type: options.testGroupType, + }, + headers: { + Authentication: `token ${this.config.apiToken}`, + }, + }); + + return resp.data; + } +} diff --git a/packages/kbn-dev-utils/src/ci_stats_reporter/ci_stats_metadata.ts b/packages/kbn-dev-utils/src/ci_stats_reporter/ci_stats_metadata.ts new file mode 100644 index 0000000000000..edf78eed64974 --- /dev/null +++ b/packages/kbn-dev-utils/src/ci_stats_reporter/ci_stats_metadata.ts @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +/** Container for metadata that can be attached to different ci-stats objects */ +export interface CiStatsMetadata { + /** + * Arbitrary key-value pairs which can be attached to CiStatsTiming and CiStatsMetric + * objects stored in the ci-stats service + */ + [key: string]: string | string[] | number | boolean | undefined; +} diff --git a/packages/kbn-dev-utils/src/ci_stats_reporter/ci_stats_reporter.ts b/packages/kbn-dev-utils/src/ci_stats_reporter/ci_stats_reporter.ts index 3dff5acdc228a..f710f7ec70843 100644 --- a/packages/kbn-dev-utils/src/ci_stats_reporter/ci_stats_reporter.ts +++ b/packages/kbn-dev-utils/src/ci_stats_reporter/ci_stats_reporter.ts @@ -11,16 +11,20 @@ import Os from 'os'; import Fs from 'fs'; import Path from 'path'; import crypto from 'crypto'; + import execa from 'execa'; -import Axios from 'axios'; +import Axios, { AxiosRequestConfig } from 'axios'; // @ts-expect-error not "public", but necessary to prevent Jest shimming from breaking things import httpAdapter from 'axios/lib/adapters/http'; import { ToolingLog } from '../tooling_log'; import { parseConfig, Config } from './ci_stats_config'; +import type { CiStatsTestGroupInfo, CiStatsTestRun } from './ci_stats_test_group_types'; +import { CiStatsMetadata } from './ci_stats_metadata'; const BASE_URL = 'https://ci-stats.kibana.dev'; +/** A ci-stats metric record */ export interface CiStatsMetric { /** Top-level categorization for the metric, e.g. "page load bundle size" */ group: string; @@ -40,13 +44,7 @@ export interface CiStatsMetric { meta?: CiStatsMetadata; } -export interface CiStatsMetadata { - /** - * Arbitrary key-value pairs which can be attached to CiStatsTiming and CiStatsMetric - * objects stored in the ci-stats service - */ - [key: string]: string | string[] | number | boolean | undefined; -} +/** A ci-stats timing event */ export interface CiStatsTiming { /** Top-level categorization for the timing, e.g. "scripts/foo", process type, etc. */ group: string; @@ -58,13 +56,7 @@ export interface CiStatsTiming { meta?: CiStatsMetadata; } -interface ReqOptions { - auth: boolean; - path: string; - body: any; - bodyDesc: string; -} - +/** Options for reporting timings to ci-stats */ export interface TimingsOptions { /** list of timings to record */ timings: CiStatsTiming[]; @@ -74,10 +66,41 @@ export interface TimingsOptions { kibanaUuid?: string | null; } +/** Options for reporting metrics to ci-stats */ export interface MetricsOptions { /** Default metadata to add to each metric */ defaultMeta?: CiStatsMetadata; } + +/** Options for reporting tests to ci-stats */ +export interface CiStatsReportTestsOptions { + /** + * Information about the group of tests that were run + */ + group: CiStatsTestGroupInfo; + /** + * Information about each test that ran, including failure information + */ + testRuns: CiStatsTestRun[]; +} + +/* @internal */ +interface ReportTestsResponse { + buildId: string; + groupId: string; + testRunCount: number; +} + +/* @internal */ +interface ReqOptions { + auth: boolean; + path: string; + body: any; + bodyDesc: string; + query?: AxiosRequestConfig['params']; +} + +/** Object that helps report data to the ci-stats service */ export class CiStatsReporter { /** * Create a CiStatsReporter by inspecting the ENV for the necessary config @@ -86,7 +109,7 @@ export class CiStatsReporter { return new CiStatsReporter(parseConfig(log), log); } - constructor(private config: Config | undefined, private log: ToolingLog) {} + constructor(private readonly config: Config | undefined, private readonly log: ToolingLog) {} /** * Determine if CI_STATS is explicitly disabled by the environment. To determine @@ -165,7 +188,7 @@ export class CiStatsReporter { this.log.debug('CIStatsReporter committerHash: %s', defaultMeta.committerHash); - return await this.req({ + return !!(await this.req({ auth: !!buildId, path: '/v1/timings', body: { @@ -175,7 +198,7 @@ export class CiStatsReporter { timings, }, bodyDesc: timings.length === 1 ? `${timings.length} timing` : `${timings.length} timings`, - }); + })); } /** @@ -188,12 +211,11 @@ export class CiStatsReporter { } const buildId = this.config?.buildId; - if (!buildId) { - throw new Error(`CiStatsReporter can't be authorized without a buildId`); + throw new Error(`metrics can't be reported without a buildId`); } - return await this.req({ + return !!(await this.req({ auth: true, path: '/v1/metrics', body: { @@ -204,6 +226,30 @@ export class CiStatsReporter { bodyDesc: `metrics: ${metrics .map(({ group, id, value }) => `[${group}/${id}=${value}]`) .join(' ')}`, + })); + } + + /** + * Send test reports to ci-stats + */ + async reportTests({ group, testRuns }: CiStatsReportTestsOptions) { + if (!this.config?.buildId || !this.config?.apiToken) { + throw new Error( + 'unable to report tests unless buildId is configured and auth config available' + ); + } + + return await this.req({ + auth: true, + path: '/v1/test_group', + query: { + buildId: this.config?.buildId, + }, + bodyDesc: `[${group.name}/${group.type}] test groups with ${testRuns.length} tests`, + body: [ + JSON.stringify({ group }), + ...testRuns.map((testRun) => JSON.stringify({ testRun })), + ].join('\n'), }); } @@ -241,7 +287,7 @@ export class CiStatsReporter { } } - private async req({ auth, body, bodyDesc, path }: ReqOptions) { + private async req({ auth, body, bodyDesc, path, query }: ReqOptions) { let attempt = 0; const maxAttempts = 5; @@ -251,23 +297,24 @@ export class CiStatsReporter { Authorization: `token ${this.config.apiToken}`, }; } else if (auth) { - throw new Error('this.req() shouldnt be called with auth=true if this.config is defined'); + throw new Error('this.req() shouldnt be called with auth=true if this.config is not defined'); } while (true) { attempt += 1; try { - await Axios.request({ + const resp = await Axios.request({ method: 'POST', url: path, baseURL: BASE_URL, headers, data: body, + params: query, adapter: httpAdapter, }); - return true; + return resp.data; } catch (error) { if (!error?.request) { // not an axios error, must be a usage error that we should notify user about diff --git a/packages/kbn-dev-utils/src/ci_stats_reporter/ci_stats_test_group_types.ts b/packages/kbn-dev-utils/src/ci_stats_reporter/ci_stats_test_group_types.ts new file mode 100644 index 0000000000000..b786981fb8437 --- /dev/null +++ b/packages/kbn-dev-utils/src/ci_stats_reporter/ci_stats_test_group_types.ts @@ -0,0 +1,90 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { CiStatsMetadata } from './ci_stats_metadata'; + +export type CiStatsTestResult = 'fail' | 'pass' | 'skip'; +export type CiStatsTestType = + | 'after all hook' + | 'after each hook' + | 'before all hook' + | 'before each hook' + | 'test'; + +export interface CiStatsTestRun { + /** + * ISO-8601 formatted datetime representing when the tests started running + */ + startTime: string; + /** + * Duration of the tests in milliseconds + */ + durationMs: number; + /** + * A sequence number, this is used to order the tests in a specific test run + */ + seq: number; + /** + * The type of this "test run", usually this is just "test" but when reporting issues in hooks it can be set to the type of hook + */ + type: CiStatsTestType; + /** + * "fail", "pass" or "skip", the result of the tests + */ + result: CiStatsTestResult; + /** + * The list of suite names containing this test, the first being the outermost suite + */ + suites: string[]; + /** + * The name of this specific test run + */ + name: string; + /** + * Relative path from the root of the repo contianing this test + */ + file: string; + /** + * Error message if the test failed + */ + error?: string; + /** + * Debug output/stdout produced by the test + */ + stdout?: string; + /** + * Screenshots captured during the test run + */ + screenshots?: Array<{ + name: string; + base64Png: string; + }>; +} + +export interface CiStatsTestGroupInfo { + /** + * ISO-8601 formatted datetime representing when the group of tests started running + */ + startTime: string; + /** + * The number of miliseconds that the tests ran for + */ + durationMs: number; + /** + * The type of tests run in this group, any value is valid but test groups are groupped by type in the UI so use something consistent + */ + type: string; + /** + * The name of this specific group (within the "type") + */ + name: string; + /** + * Arbitrary metadata associated with this group. We currently look for a ciGroup metadata property for highlighting that when appropriate + */ + meta: CiStatsMetadata; +} diff --git a/packages/kbn-dev-utils/src/ci_stats_reporter/index.ts b/packages/kbn-dev-utils/src/ci_stats_reporter/index.ts index 318a2921517f1..fab2e61755a5c 100644 --- a/packages/kbn-dev-utils/src/ci_stats_reporter/index.ts +++ b/packages/kbn-dev-utils/src/ci_stats_reporter/index.ts @@ -10,3 +10,5 @@ export * from './ci_stats_reporter'; export type { Config } from './ci_stats_config'; export * from './ship_ci_stats_cli'; export { getTimeReporter } from './report_time'; +export * from './ci_stats_test_group_types'; +export * from './ci_stats_client'; diff --git a/packages/kbn-dev-utils/src/serializers/recursive_serializer.ts b/packages/kbn-dev-utils/src/serializers/recursive_serializer.ts index 6e6572addbc83..15d3f033a85a1 100644 --- a/packages/kbn-dev-utils/src/serializers/recursive_serializer.ts +++ b/packages/kbn-dev-utils/src/serializers/recursive_serializer.ts @@ -6,11 +6,26 @@ * Side Public License, v 1. */ -export function createRecursiveSerializer(test: (v: any) => boolean, print: (v: any) => string) { +class RawPrint { + static fromString(s: string) { + return new RawPrint(s); + } + constructor(public readonly v: string) {} +} + +export function createRecursiveSerializer( + test: (v: any) => boolean, + print: (v: any, printRaw: (v: string) => RawPrint) => string | RawPrint +) { return { test: (v: any) => test(v), serialize: (v: any, ...rest: any[]) => { - const replacement = print(v); + const replacement = print(v, RawPrint.fromString); + + if (replacement instanceof RawPrint) { + return replacement.v; + } + const printer = rest.pop()!; return printer(replacement, ...rest); }, diff --git a/packages/kbn-es-archiver/src/actions/load.ts b/packages/kbn-es-archiver/src/actions/load.ts index 87a844b263123..58cacd399203d 100644 --- a/packages/kbn-es-archiver/src/actions/load.ts +++ b/packages/kbn-es-archiver/src/actions/load.ts @@ -85,15 +85,17 @@ export async function loadAction({ progress.deactivate(); const result = stats.toJSON(); + const indicesWithDocs: string[] = []; for (const [index, { docs }] of Object.entries(result)) { if (docs && docs.indexed > 0) { log.info('[%s] Indexed %d docs into %j', name, docs.indexed, index); + indicesWithDocs.push(index); } } await client.indices.refresh( { - index: '_all', + index: indicesWithDocs.join(','), allow_no_indices: true, }, { diff --git a/packages/kbn-es-archiver/src/cli.ts b/packages/kbn-es-archiver/src/cli.ts index f7d8f36b0c5ea..235d244babae4 100644 --- a/packages/kbn-es-archiver/src/cli.ts +++ b/packages/kbn-es-archiver/src/cli.ts @@ -18,7 +18,7 @@ import readline from 'readline'; import Fs from 'fs'; import { RunWithCommands, createFlagError, CA_CERT_PATH } from '@kbn/dev-utils'; -import { readConfigFile, KbnClient } from '@kbn/test'; +import { readConfigFile, KbnClient, EsVersion } from '@kbn/test'; import { Client } from '@elastic/elasticsearch'; import { EsArchiver } from './es_archiver'; @@ -45,7 +45,7 @@ export function runCli() { if (typeof configPath !== 'string') { throw createFlagError('--config must be a string'); } - const config = await readConfigFile(log, Path.resolve(configPath)); + const config = await readConfigFile(log, EsVersion.getDefault(), Path.resolve(configPath)); statsMeta.set('ftrConfigPath', configPath); let esUrl = flags['es-url']; diff --git a/packages/kbn-es-archiver/src/lib/docs/generate_doc_records_stream.test.ts b/packages/kbn-es-archiver/src/lib/docs/generate_doc_records_stream.test.ts index 0a82d8e950583..eea703ddba0d7 100644 --- a/packages/kbn-es-archiver/src/lib/docs/generate_doc_records_stream.test.ts +++ b/packages/kbn-es-archiver/src/lib/docs/generate_doc_records_stream.test.ts @@ -27,7 +27,6 @@ interface SearchResponses { total: number; hits: Array<{ _index: string; - _type: string; _id: string; _source: Record; }>; @@ -59,9 +58,9 @@ describe('esArchiver: createGenerateDocRecordsStream()', () => { hits: { total: 5, hits: [ - { _index: 'foo', _type: '_doc', _id: '0', _source: {} }, - { _index: 'foo', _type: '_doc', _id: '1', _source: {} }, - { _index: 'foo', _type: '_doc', _id: '2', _source: {} }, + { _index: 'foo', _id: '0', _source: {} }, + { _index: 'foo', _id: '1', _source: {} }, + { _index: 'foo', _id: '2', _source: {} }, ], }, }, @@ -71,8 +70,8 @@ describe('esArchiver: createGenerateDocRecordsStream()', () => { hits: { total: 5, hits: [ - { _index: 'foo', _type: '_doc', _id: '3', _source: {} }, - { _index: 'foo', _type: '_doc', _id: '4', _source: {} }, + { _index: 'foo', _id: '3', _source: {} }, + { _index: 'foo', _id: '4', _source: {} }, ], }, }, @@ -84,8 +83,8 @@ describe('esArchiver: createGenerateDocRecordsStream()', () => { hits: { total: 2, hits: [ - { _index: 'bar', _type: '_doc', _id: '0', _source: {} }, - { _index: 'bar', _type: '_doc', _id: '1', _source: {} }, + { _index: 'bar', _id: '0', _source: {} }, + { _index: 'bar', _id: '1', _source: {} }, ], }, }, @@ -108,7 +107,6 @@ describe('esArchiver: createGenerateDocRecordsStream()', () => { createMapStream((record: any) => { expect(record).toHaveProperty('type', 'doc'); expect(record.value.source).toEqual({}); - expect(record.value.type).toBe('_doc'); expect(record.value.index).toMatch(/^(foo|bar)$/); expect(record.value.id).toMatch(/^\d+$/); return `${record.value.index}:${record.value.id}`; @@ -224,7 +222,7 @@ describe('esArchiver: createGenerateDocRecordsStream()', () => { describe('keepIndexNames', () => { it('changes .kibana* index names if keepIndexNames is not enabled', async () => { - const hits = [{ _index: '.kibana_7.16.0_001', _type: '_doc', _id: '0', _source: {} }]; + const hits = [{ _index: '.kibana_7.16.0_001', _id: '0', _source: {} }]; const responses = { ['.kibana_7.16.0_001']: [{ body: { hits: { hits, total: hits.length } } }], }; @@ -248,7 +246,7 @@ describe('esArchiver: createGenerateDocRecordsStream()', () => { }); it('does not change non-.kibana* index names if keepIndexNames is not enabled', async () => { - const hits = [{ _index: '.foo', _type: '_doc', _id: '0', _source: {} }]; + const hits = [{ _index: '.foo', _id: '0', _source: {} }]; const responses = { ['.foo']: [{ body: { hits: { hits, total: hits.length } } }], }; @@ -272,7 +270,7 @@ describe('esArchiver: createGenerateDocRecordsStream()', () => { }); it('does not change .kibana* index names if keepIndexNames is enabled', async () => { - const hits = [{ _index: '.kibana_7.16.0_001', _type: '_doc', _id: '0', _source: {} }]; + const hits = [{ _index: '.kibana_7.16.0_001', _id: '0', _source: {} }]; const responses = { ['.kibana_7.16.0_001']: [{ body: { hits: { hits, total: hits.length } } }], }; diff --git a/packages/kbn-es-archiver/src/lib/docs/generate_doc_records_stream.ts b/packages/kbn-es-archiver/src/lib/docs/generate_doc_records_stream.ts index c6c8841b64969..f63fb75b4ab34 100644 --- a/packages/kbn-es-archiver/src/lib/docs/generate_doc_records_stream.ts +++ b/packages/kbn-es-archiver/src/lib/docs/generate_doc_records_stream.ts @@ -67,7 +67,6 @@ export function createGenerateDocRecordsStream({ // when it is loaded it can skip migration, if possible index: hit._index.startsWith('.kibana') && !keepIndexNames ? '.kibana_1' : hit._index, - type: hit._type, id: hit._id, source: hit._source, }, diff --git a/packages/kbn-es-archiver/src/lib/docs/index_doc_records_stream.ts b/packages/kbn-es-archiver/src/lib/docs/index_doc_records_stream.ts index a5a011ad2a9fe..028ff16c9afb2 100644 --- a/packages/kbn-es-archiver/src/lib/docs/index_doc_records_stream.ts +++ b/packages/kbn-es-archiver/src/lib/docs/index_doc_records_stream.ts @@ -32,7 +32,6 @@ export function createIndexDocRecordsStream( ops.set(body, { [operation]: { _index: doc.index, - _type: doc.type, _id: doc.id, }, }); diff --git a/packages/kbn-es-archiver/src/lib/indices/create_index_stream.test.ts b/packages/kbn-es-archiver/src/lib/indices/create_index_stream.test.ts index bdeefe30be52b..870466cc8542c 100644 --- a/packages/kbn-es-archiver/src/lib/indices/create_index_stream.test.ts +++ b/packages/kbn-es-archiver/src/lib/indices/create_index_stream.test.ts @@ -132,7 +132,6 @@ describe('esArchiver: createCreateIndexStream()', () => { sinon.assert.calledWith(client.indices.create as sinon.SinonSpy, { index: 'index', - include_type_name: false, body: { settings: undefined, mappings: undefined, diff --git a/packages/kbn-es-archiver/src/lib/indices/create_index_stream.ts b/packages/kbn-es-archiver/src/lib/indices/create_index_stream.ts index edf9093a57a7f..02c96c9636388 100644 --- a/packages/kbn-es-archiver/src/lib/indices/create_index_stream.ts +++ b/packages/kbn-es-archiver/src/lib/indices/create_index_stream.ts @@ -56,9 +56,6 @@ export function createCreateIndexStream({ async function handleIndex(record: DocRecord) { const { index, settings, mappings, aliases } = record.value; - - // Determine if the mapping belongs to a pre-7.0 instance, for BWC tests, mainly - const isPre7Mapping = !!mappings && Object.keys(mappings).length > 0 && !mappings.properties; const isKibanaTaskManager = index.startsWith('.kibana_task_manager'); const isKibana = index.startsWith('.kibana') && !isKibanaTaskManager; @@ -79,7 +76,6 @@ export function createCreateIndexStream({ await client.indices.create( { index, - include_type_name: isPre7Mapping, body: { settings, mappings, diff --git a/packages/kbn-es-archiver/src/lib/indices/kibana_index.ts b/packages/kbn-es-archiver/src/lib/indices/kibana_index.ts index 9374931465903..850f014e250b2 100644 --- a/packages/kbn-es-archiver/src/lib/indices/kibana_index.ts +++ b/packages/kbn-es-archiver/src/lib/indices/kibana_index.ts @@ -114,7 +114,6 @@ export async function cleanKibanaIndices({ bool: { must_not: { ids: { - type: '_doc', values: ['space:default'], }, }, @@ -159,7 +158,6 @@ export async function createDefaultSpace({ await client.create( { index, - type: '_doc', id: 'space:default', refresh: 'wait_for', body: { diff --git a/packages/kbn-es/jest.config.js b/packages/kbn-es/jest.config.js index 7ca76c8104a64..02aa1ca63facf 100644 --- a/packages/kbn-es/jest.config.js +++ b/packages/kbn-es/jest.config.js @@ -7,7 +7,7 @@ */ module.exports = { - preset: '@kbn/test', + preset: '@kbn/test/jest_node', rootDir: '../..', roots: ['/packages/kbn-es'], }; diff --git a/packages/kbn-es/jest.integration.config.js b/packages/kbn-es/jest.integration.config.js new file mode 100644 index 0000000000000..664cee8512fc1 --- /dev/null +++ b/packages/kbn-es/jest.integration.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_integration_node', + rootDir: '../..', + roots: ['/packages/kbn-es'], +}; diff --git a/packages/kbn-es/src/cluster.js b/packages/kbn-es/src/cluster.js index dd9c17055fb18..ec689e67cefcb 100644 --- a/packages/kbn-es/src/cluster.js +++ b/packages/kbn-es/src/cluster.js @@ -18,7 +18,7 @@ const { createCliError } = require('./errors'); const { promisify } = require('util'); const treeKillAsync = promisify(require('tree-kill')); const { parseSettings, SettingsFilter } = require('./settings'); -const { CA_CERT_PATH, ES_P12_PATH, ES_P12_PASSWORD, extract } = require('@kbn/dev-utils'); +const { CA_CERT_PATH, ES_NOPASSWORD_P12_PATH, extract } = require('@kbn/dev-utils'); const readFile = util.promisify(fs.readFile); // listen to data on stream until map returns anything but undefined @@ -252,14 +252,16 @@ exports.Cluster = class Cluster { const esArgs = [ 'action.destructive_requires_name=true', 'ingest.geoip.downloader.enabled=false', + 'cluster.routing.allocation.disk.threshold_enabled=false', ].concat(options.esArgs || []); // Add to esArgs if ssl is enabled if (this._ssl) { esArgs.push('xpack.security.http.ssl.enabled=true'); - esArgs.push(`xpack.security.http.ssl.keystore.path=${ES_P12_PATH}`); + esArgs.push(`xpack.security.http.ssl.keystore.path=${ES_NOPASSWORD_P12_PATH}`); esArgs.push(`xpack.security.http.ssl.keystore.type=PKCS12`); - esArgs.push(`xpack.security.http.ssl.keystore.password=${ES_P12_PASSWORD}`); + // We are explicitly using ES_NOPASSWORD_P12_PATH instead of ES_P12_PATH + ES_P12_PASSWORD. The reasoning for this is that setting + // the keystore password using environment variables causes Elasticsearch to emit deprecation warnings. } const args = parseSettings(extractConfigFiles(esArgs, installPath, { log: this._log }), { diff --git a/packages/kbn-es/src/index.ts b/packages/kbn-es/src/index.ts index 68fd931794c0c..d6f82df5d2012 100644 --- a/packages/kbn-es/src/index.ts +++ b/packages/kbn-es/src/index.ts @@ -10,3 +10,4 @@ export { run } from './cli'; // @ts-expect-error not typed yet export { Cluster } from './cluster'; +export { SYSTEM_INDICES_SUPERUSER } from './utils'; diff --git a/packages/kbn-es/src/integration_tests/__fixtures__/es_bin.js b/packages/kbn-es/src/integration_tests/__fixtures__/es_bin.js index 7ec57b65d6d98..5ef6145698811 100644 --- a/packages/kbn-es/src/integration_tests/__fixtures__/es_bin.js +++ b/packages/kbn-es/src/integration_tests/__fixtures__/es_bin.js @@ -69,6 +69,16 @@ const { ES_KEY_PATH, ES_CERT_PATH } = require('@kbn/dev-utils'); }); } + if (url.pathname === '/_cluster/health') { + return send( + 200, + { + status: 'green', + }, + { 'x-elastic-product': 'Elasticsearch' } + ); + } + return send(404, { error: { reason: 'not found', diff --git a/packages/kbn-es/src/integration_tests/cluster.test.js b/packages/kbn-es/src/integration_tests/cluster.test.js index 0cdbac310bbb1..f3bdd49103614 100644 --- a/packages/kbn-es/src/integration_tests/cluster.test.js +++ b/packages/kbn-es/src/integration_tests/cluster.test.js @@ -9,8 +9,7 @@ const { ToolingLog, ToolingLogCollectingWriter, - ES_P12_PATH, - ES_P12_PASSWORD, + ES_NOPASSWORD_P12_PATH, createAnyInstanceSerializer, createStripAnsiSerializer, } = require('@kbn/dev-utils'); @@ -292,9 +291,8 @@ describe('#start(installPath)', () => { const config = extractConfigFiles.mock.calls[0][0]; expect(config).toContain('xpack.security.http.ssl.enabled=true'); - expect(config).toContain(`xpack.security.http.ssl.keystore.path=${ES_P12_PATH}`); + expect(config).toContain(`xpack.security.http.ssl.keystore.path=${ES_NOPASSWORD_P12_PATH}`); expect(config).toContain(`xpack.security.http.ssl.keystore.type=PKCS12`); - expect(config).toContain(`xpack.security.http.ssl.keystore.password=${ES_P12_PASSWORD}`); }); it(`doesn't setup SSL when disabled`, async () => { @@ -311,6 +309,7 @@ describe('#start(installPath)', () => { Array [ "action.destructive_requires_name=true", "ingest.geoip.downloader.enabled=false", + "cluster.routing.allocation.disk.threshold_enabled=false", ], undefined, Object { @@ -371,9 +370,8 @@ describe('#run()', () => { const config = extractConfigFiles.mock.calls[0][0]; expect(config).toContain('xpack.security.http.ssl.enabled=true'); - expect(config).toContain(`xpack.security.http.ssl.keystore.path=${ES_P12_PATH}`); + expect(config).toContain(`xpack.security.http.ssl.keystore.path=${ES_NOPASSWORD_P12_PATH}`); expect(config).toContain(`xpack.security.http.ssl.keystore.type=PKCS12`); - expect(config).toContain(`xpack.security.http.ssl.keystore.password=${ES_P12_PASSWORD}`); }); it(`doesn't setup SSL when disabled`, async () => { @@ -390,6 +388,7 @@ describe('#run()', () => { Array [ "action.destructive_requires_name=true", "ingest.geoip.downloader.enabled=false", + "cluster.routing.allocation.disk.threshold_enabled=false", ], undefined, Object { diff --git a/packages/kbn-es/src/utils/index.ts b/packages/kbn-es/src/utils/index.ts index ce0a222dafd3b..4b4ae1bc05259 100644 --- a/packages/kbn-es/src/utils/index.ts +++ b/packages/kbn-es/src/utils/index.ts @@ -14,6 +14,6 @@ export { findMostRecentlyChanged } from './find_most_recently_changed'; // @ts-expect-error not typed yet export { extractConfigFiles } from './extract_config_files'; // @ts-expect-error not typed yet -export { NativeRealm } from './native_realm'; +export { NativeRealm, SYSTEM_INDICES_SUPERUSER } from './native_realm'; export { buildSnapshot } from './build_snapshot'; export { archiveForPlatform } from './build_snapshot'; diff --git a/packages/kbn-es/src/utils/native_realm.js b/packages/kbn-es/src/utils/native_realm.js index a5051cdb0d89a..576b50c1dc1aa 100644 --- a/packages/kbn-es/src/utils/native_realm.js +++ b/packages/kbn-es/src/utils/native_realm.js @@ -11,6 +11,9 @@ const chalk = require('chalk'); const { log: defaultLog } = require('./log'); +export const SYSTEM_INDICES_SUPERUSER = + process.env.TEST_ES_SYSTEM_INDICES_USER || 'system_indices_superuser'; + exports.NativeRealm = class NativeRealm { constructor({ elasticPassword, port, log = defaultLog, ssl = false, caCert }) { this._client = new Client({ @@ -53,18 +56,33 @@ exports.NativeRealm = class NativeRealm { }); } + async clusterReady() { + return await this._autoRetry({ maxAttempts: 10 }, async () => { + const { + body: { status: status }, + } = await this._client.cluster.health({ wait_for_status: 'yellow' }); + + if (status === 'red') { + throw new Error(`not ready, cluster health is ${status}`); + } + }); + } + async setPasswords(options) { + await this.clusterReady(); + if (!(await this.isSecurityEnabled())) { this._log.info('security is not enabled, unable to set native realm passwords'); return; } const reservedUsers = await this.getReservedUsers(); - await Promise.all( - reservedUsers.map(async (user) => { + await Promise.all([ + ...reservedUsers.map(async (user) => { await this.setPassword(user, options[`password.${user}`]); - }) - ); + }), + this._createSystemIndicesUser(), + ]); } async getReservedUsers(retryOpts = {}) { @@ -100,7 +118,7 @@ exports.NativeRealm = class NativeRealm { } async _autoRetry(opts, fn) { - const { attempt = 1, maxAttempts = 3 } = opts; + const { attempt = 1, maxAttempts = 3, sleep = 1000 } = opts; try { return await fn(attempt); @@ -111,7 +129,7 @@ exports.NativeRealm = class NativeRealm { const sec = 1.5 * attempt; this._log.warning(`assuming ES isn't initialized completely, trying again in ${sec} seconds`); - await new Promise((resolve) => setTimeout(resolve, sec * 1000)); + await new Promise((resolve) => setTimeout(resolve, sleep)); const nextOpts = { ...opts, @@ -120,4 +138,43 @@ exports.NativeRealm = class NativeRealm { return await this._autoRetry(nextOpts, fn); } } + + async _createSystemIndicesUser() { + if (!(await this.isSecurityEnabled())) { + this._log.info('security is not enabled, unable to create role and user'); + return; + } + + await this._client.security.putRole({ + name: SYSTEM_INDICES_SUPERUSER, + refresh: 'wait_for', + body: { + cluster: ['all'], + indices: [ + { + names: ['*'], + privileges: ['all'], + allow_restricted_indices: true, + }, + ], + applications: [ + { + application: '*', + privileges: ['*'], + resources: ['*'], + }, + ], + run_as: ['*'], + }, + }); + + await this._client.security.putUser({ + username: SYSTEM_INDICES_SUPERUSER, + refresh: 'wait_for', + body: { + password: this._elasticPassword, + roles: [SYSTEM_INDICES_SUPERUSER], + }, + }); + } }; diff --git a/packages/kbn-es/src/utils/native_realm.test.js b/packages/kbn-es/src/utils/native_realm.test.js index 6d07b1e73b547..0465ed1c8a242 100644 --- a/packages/kbn-es/src/utils/native_realm.test.js +++ b/packages/kbn-es/src/utils/native_realm.test.js @@ -18,9 +18,14 @@ const mockClient = { xpack: { info: jest.fn(), }, + cluster: { + health: jest.fn(), + }, security: { changePassword: jest.fn(), getUser: jest.fn(), + putRole: jest.fn(), + putUser: jest.fn(), }, }; Client.mockImplementation(() => mockClient); @@ -49,6 +54,12 @@ function mockXPackInfo(available, enabled) { })); } +function mockClusterStatus(status) { + mockClient.cluster.health.mockImplementation(() => { + return { body: status }; + }); +} + describe('isSecurityEnabled', () => { test('returns true if enabled and available', async () => { mockXPackInfo(true, true); @@ -95,6 +106,7 @@ describe('isSecurityEnabled', () => { describe('setPasswords', () => { it('uses provided passwords', async () => { mockXPackInfo(true, true); + mockClusterStatus('green'); mockClient.security.getUser.mockImplementation(() => ({ body: { @@ -127,49 +139,51 @@ describe('setPasswords', () => { })); await nativeRealm.setPasswords({ - 'password.kibana_system': 'bar', + body: { + 'password.kibana_system': 'bar', + }, }); expect(mockClient.security.changePassword.mock.calls).toMatchInlineSnapshot(` -Array [ - Array [ - Object { - "body": Object { - "password": "bar", - }, - "refresh": "wait_for", - "username": "kibana_system", - }, - ], - Array [ - Object { - "body": Object { - "password": "changeme", - }, - "refresh": "wait_for", - "username": "logstash_system", - }, - ], - Array [ - Object { - "body": Object { - "password": "changeme", - }, - "refresh": "wait_for", - "username": "elastic", - }, - ], - Array [ - Object { - "body": Object { - "password": "changeme", - }, - "refresh": "wait_for", - "username": "beats_system", - }, - ], -] -`); + Array [ + Array [ + Object { + "body": Object { + "password": "changeme", + }, + "refresh": "wait_for", + "username": "kibana_system", + }, + ], + Array [ + Object { + "body": Object { + "password": "changeme", + }, + "refresh": "wait_for", + "username": "logstash_system", + }, + ], + Array [ + Object { + "body": Object { + "password": "changeme", + }, + "refresh": "wait_for", + "username": "elastic", + }, + ], + Array [ + Object { + "body": Object { + "password": "changeme", + }, + "refresh": "wait_for", + "username": "beats_system", + }, + ], + ] + `); }); }); diff --git a/packages/kbn-optimizer/jest.config.js b/packages/kbn-optimizer/jest.config.js index 91218bf815992..c7e938a072660 100644 --- a/packages/kbn-optimizer/jest.config.js +++ b/packages/kbn-optimizer/jest.config.js @@ -7,7 +7,7 @@ */ module.exports = { - preset: '@kbn/test', + preset: '@kbn/test/jest_node', rootDir: '../..', roots: ['/packages/kbn-optimizer'], }; diff --git a/packages/kbn-optimizer/jest.integration.config.js b/packages/kbn-optimizer/jest.integration.config.js new file mode 100644 index 0000000000000..a51f4c588af8c --- /dev/null +++ b/packages/kbn-optimizer/jest.integration.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_integration_node', + rootDir: '../..', + roots: ['/packages/kbn-optimizer'], +}; diff --git a/packages/kbn-plugin-generator/jest.config.js b/packages/kbn-plugin-generator/jest.config.js index 34f1be77b4893..f27dfa6ca42db 100644 --- a/packages/kbn-plugin-generator/jest.config.js +++ b/packages/kbn-plugin-generator/jest.config.js @@ -7,7 +7,7 @@ */ module.exports = { - preset: '@kbn/test', + preset: '@kbn/test/jest_node', rootDir: '../..', roots: ['/packages/kbn-plugin-generator'], }; diff --git a/packages/kbn-plugin-generator/jest.integration.config.js b/packages/kbn-plugin-generator/jest.integration.config.js new file mode 100644 index 0000000000000..3031e2c7bd03a --- /dev/null +++ b/packages/kbn-plugin-generator/jest.integration.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_integration_node', + rootDir: '../..', + roots: ['/packages/kbn-plugin-generator'], +}; diff --git a/packages/kbn-plugin-helpers/jest.integration.config.js b/packages/kbn-plugin-helpers/jest.integration.config.js new file mode 100644 index 0000000000000..eb7de8ae1596e --- /dev/null +++ b/packages/kbn-plugin-helpers/jest.integration.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_integration_node', + rootDir: '../..', + roots: ['/packages/kbn-plugin-helpers'], +}; diff --git a/packages/kbn-plugin-helpers/src/integration_tests/build.test.ts b/packages/kbn-plugin-helpers/src/integration_tests/build.test.ts index 65cbdaf88034c..2d7664aa13326 100644 --- a/packages/kbn-plugin-helpers/src/integration_tests/build.test.ts +++ b/packages/kbn-plugin-helpers/src/integration_tests/build.test.ts @@ -43,8 +43,14 @@ it('builds a generated plugin into a viable archive', async () => { all: true, } ); + const filterLogs = (logs: string | undefined) => { + return logs + ?.split('\n') + .filter((l) => !l.includes('failed to reach ci-stats service')) + .join('\n'); + }; - expect(generateProc.all).toMatchInlineSnapshot(` + expect(filterLogs(generateProc.all)).toMatchInlineSnapshot(` " succ 🎉 Your plugin has been created in plugins/foo_test_plugin @@ -60,7 +66,7 @@ it('builds a generated plugin into a viable archive', async () => { } ); - expect(buildProc.all).toMatchInlineSnapshot(` + expect(filterLogs(buildProc.all)).toMatchInlineSnapshot(` " info deleting the build and target directories info running @kbn/optimizer │ info initialized, 0 bundles cached diff --git a/packages/kbn-pm/dist/index.js b/packages/kbn-pm/dist/index.js index d4f3dc726d8b5..4ff6cedfbc095 100644 --- a/packages/kbn-pm/dist/index.js +++ b/packages/kbn-pm/dist/index.js @@ -94,7 +94,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _cli__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "run", function() { return _cli__WEBPACK_IMPORTED_MODULE_0__["run"]; }); -/* harmony import */ var _production__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(562); +/* harmony import */ var _production__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(563); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "buildBazelProductionProjects", function() { return _production__WEBPACK_IMPORTED_MODULE_1__["buildBazelProductionProjects"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "buildNonBazelProductionProjects", function() { return _production__WEBPACK_IMPORTED_MODULE_1__["buildNonBazelProductionProjects"]; }); @@ -108,7 +108,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _utils_package_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(343); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "transformDependencies", function() { return _utils_package_json__WEBPACK_IMPORTED_MODULE_4__["transformDependencies"]; }); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(561); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(562); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getProjectPaths", function() { return _config__WEBPACK_IMPORTED_MODULE_5__["getProjectPaths"]; }); /* @@ -141,7 +141,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _kbn_dev_utils_tooling_log__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5); /* harmony import */ var _kbn_dev_utils_tooling_log__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_kbn_dev_utils_tooling_log__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _commands__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(129); -/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(556); +/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(557); /* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(220); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one @@ -8819,11 +8819,11 @@ exports.ToolingLogCollectingWriter = ToolingLogCollectingWriter; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "commands", function() { return commands; }); /* harmony import */ var _bootstrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(130); -/* harmony import */ var _build__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(527); -/* harmony import */ var _clean__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(528); -/* harmony import */ var _reset__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(552); -/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(553); -/* harmony import */ var _watch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(555); +/* harmony import */ var _build__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528); +/* harmony import */ var _clean__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(529); +/* harmony import */ var _reset__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(553); +/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(554); +/* harmony import */ var _watch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(556); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -8865,6 +8865,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _utils_sort_package_json__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(411); /* harmony import */ var _utils_validate_dependencies__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(419); /* harmony import */ var _utils_bazel__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(421); +/* harmony import */ var _utils_bazel_setup_remote_cache__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(527); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -8888,6 +8889,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope + const BootstrapCommand = { description: 'Install dependencies and crosslink projects', name: 'bootstrap', @@ -8908,16 +8910,13 @@ const BootstrapCommand = { const kibanaProjectPath = ((_projects$get = projects.get('kibana')) === null || _projects$get === void 0 ? void 0 : _projects$get.path) || ''; const runOffline = (options === null || options === void 0 ? void 0 : options.offline) === true; const reporter = _kbn_dev_utils_ci_stats_reporter__WEBPACK_IMPORTED_MODULE_1__["CiStatsReporter"].fromEnv(_utils_log__WEBPACK_IMPORTED_MODULE_2__["log"]); - const timings = []; // Force install is set in case a flag is passed or - // if the `.yarn-integrity` file is not found which - // will be indicated by the return of yarnIntegrityFileExists. + const timings = []; // Force install is set in case a flag is passed into yarn kbn bootstrap - const forceInstall = !!options && options['force-install'] === true || !(await Object(_utils_bazel__WEBPACK_IMPORTED_MODULE_9__["yarnIntegrityFileExists"])(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(kibanaProjectPath, 'node_modules'))); // Ensure we have a `node_modules/.yarn-integrity` file as we depend on it - // for bazel to know it has to re-install the node_modules after a reset or a clean + const forceInstall = !!options && options['force-install'] === true; // Install bazel machinery tools if needed - await Object(_utils_bazel__WEBPACK_IMPORTED_MODULE_9__["ensureYarnIntegrityFileExists"])(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(kibanaProjectPath, 'node_modules')); // Install bazel machinery tools if needed + await Object(_utils_bazel__WEBPACK_IMPORTED_MODULE_9__["installBazelTools"])(rootPath); // Setup remote cache settings in .bazelrc.cache if needed - await Object(_utils_bazel__WEBPACK_IMPORTED_MODULE_9__["installBazelTools"])(rootPath); // Bootstrap process for Bazel packages + await Object(_utils_bazel_setup_remote_cache__WEBPACK_IMPORTED_MODULE_10__["setupRemoteCache"])(rootPath); // Bootstrap process for Bazel packages // Bazel is now managing dependencies so yarn install // will happen as part of this // @@ -8929,7 +8928,14 @@ const BootstrapCommand = { if (forceInstall) { const forceInstallStartTime = Date.now(); - await Object(_utils_bazel__WEBPACK_IMPORTED_MODULE_9__["runBazel"])(['run', '@nodejs//:yarn'], runOffline); + await Object(_utils_bazel__WEBPACK_IMPORTED_MODULE_9__["removeYarnIntegrityFileIfExists"])(Object(path__WEBPACK_IMPORTED_MODULE_0__["resolve"])(kibanaProjectPath, 'node_modules')); + await Object(_utils_bazel__WEBPACK_IMPORTED_MODULE_9__["runBazel"])(['clean']); + await Object(_utils_bazel__WEBPACK_IMPORTED_MODULE_9__["runBazel"])(['run', '@nodejs//:yarn'], runOffline, { + env: { + SASS_BINARY_SITE: 'https://us-central1-elastic-kibana-184716.cloudfunctions.net/kibana-ci-proxy-cache/node-sass', + RE2_DOWNLOAD_MIRROR: 'https://us-central1-elastic-kibana-184716.cloudfunctions.net/kibana-ci-proxy-cache/node-re2' + } + }); timings.push({ id: 'force install dependencies', ms: Date.now() - forceInstallStartTime @@ -9044,7 +9050,9 @@ var _ci_stats_config = __webpack_require__(218); */ // @ts-expect-error not "public", but necessary to prevent Jest shimming from breaking things const BASE_URL = 'https://ci-stats.kibana.dev'; +/** A ci-stats metric record */ +/** Object that helps report data to the ci-stats service */ class CiStatsReporter { /** * Create a CiStatsReporter by inspecting the ENV for the necessary config @@ -9141,7 +9149,7 @@ class CiStatsReporter { totalMem: _os.default.totalmem() }; this.log.debug('CIStatsReporter committerHash: %s', defaultMeta.committerHash); - return await this.req({ + return !!(await this.req({ auth: !!buildId, path: '/v1/timings', body: { @@ -9151,7 +9159,7 @@ class CiStatsReporter { timings }, bodyDesc: timings.length === 1 ? `${timings.length} timing` : `${timings.length} timings` - }); + })); } /** * Report metrics data to the ci-stats service. If running outside of CI this method @@ -9169,10 +9177,10 @@ class CiStatsReporter { const buildId = (_this$config4 = this.config) === null || _this$config4 === void 0 ? void 0 : _this$config4.buildId; if (!buildId) { - throw new Error(`CiStatsReporter can't be authorized without a buildId`); + throw new Error(`metrics can't be reported without a buildId`); } - return await this.req({ + return !!(await this.req({ auth: true, path: '/v1/metrics', body: { @@ -9185,6 +9193,35 @@ class CiStatsReporter { id, value }) => `[${group}/${id}=${value}]`).join(' ')}` + })); + } + /** + * Send test reports to ci-stats + */ + + + async reportTests({ + group, + testRuns + }) { + var _this$config5, _this$config6, _this$config7; + + if (!((_this$config5 = this.config) !== null && _this$config5 !== void 0 && _this$config5.buildId) || !((_this$config6 = this.config) !== null && _this$config6 !== void 0 && _this$config6.apiToken)) { + throw new Error('unable to report tests unless buildId is configured and auth config available'); + } + + return await this.req({ + auth: true, + path: '/v1/test_group', + query: { + buildId: (_this$config7 = this.config) === null || _this$config7 === void 0 ? void 0 : _this$config7.buildId + }, + bodyDesc: `[${group.name}/${group.type}] test groups with ${testRuns.length} tests`, + body: [JSON.stringify({ + group + }), ...testRuns.map(testRun => JSON.stringify({ + testRun + }))].join('\n') }); } /** @@ -9234,7 +9271,8 @@ class CiStatsReporter { auth, body, bodyDesc, - path + path, + query }) { let attempt = 0; const maxAttempts = 5; @@ -9245,22 +9283,23 @@ class CiStatsReporter { Authorization: `token ${this.config.apiToken}` }; } else if (auth) { - throw new Error('this.req() shouldnt be called with auth=true if this.config is defined'); + throw new Error('this.req() shouldnt be called with auth=true if this.config is not defined'); } while (true) { attempt += 1; try { - await _axios.default.request({ + const resp = await _axios.default.request({ method: 'POST', url: path, baseURL: BASE_URL, headers, data: body, + params: query, adapter: _http.default }); - return true; + return resp.data; } catch (error) { var _error$response; @@ -10382,50 +10421,44 @@ const mimicFn = __webpack_require__(153); const calledFunctions = new WeakMap(); -const oneTime = (fn, options = {}) => { - if (typeof fn !== 'function') { +const onetime = (function_, options = {}) => { + if (typeof function_ !== 'function') { throw new TypeError('Expected a function'); } - let ret; - let isCalled = false; + let returnValue; let callCount = 0; - const functionName = fn.displayName || fn.name || ''; + const functionName = function_.displayName || function_.name || ''; - const onetime = function (...args) { + const onetime = function (...arguments_) { calledFunctions.set(onetime, ++callCount); - if (isCalled) { - if (options.throw === true) { - throw new Error(`Function \`${functionName}\` can only be called once`); - } - - return ret; + if (callCount === 1) { + returnValue = function_.apply(this, arguments_); + function_ = null; + } else if (options.throw === true) { + throw new Error(`Function \`${functionName}\` can only be called once`); } - isCalled = true; - ret = fn.apply(this, args); - fn = null; - - return ret; + return returnValue; }; - mimicFn(onetime, fn); + mimicFn(onetime, function_); calledFunctions.set(onetime, callCount); return onetime; }; -module.exports = oneTime; +module.exports = onetime; // TODO: Remove this for the next major release -module.exports.default = oneTime; +module.exports.default = onetime; -module.exports.callCount = fn => { - if (!calledFunctions.has(fn)) { - throw new Error(`The given function \`${fn.name}\` is not wrapped by the \`onetime\` package`); +module.exports.callCount = function_ => { + if (!calledFunctions.has(function_)) { + throw new Error(`The given function \`${function_.name}\` is not wrapped by the \`onetime\` package`); } - return calledFunctions.get(fn); + return calledFunctions.get(function_); }; @@ -11149,158 +11182,203 @@ module.exports = { // Note: since nyc uses this module to output coverage, any lines // that are in the direct sync flow of nyc's outputCoverage are // ignored, since we can never get coverage for them. -var assert = __webpack_require__(162) -var signals = __webpack_require__(163) - -var EE = __webpack_require__(164) +// grab a reference to node's real process object right away +var process = global.process + +const processOk = function (process) { + return process && + typeof process === 'object' && + typeof process.removeListener === 'function' && + typeof process.emit === 'function' && + typeof process.reallyExit === 'function' && + typeof process.listeners === 'function' && + typeof process.kill === 'function' && + typeof process.pid === 'number' && + typeof process.on === 'function' +} + +// some kind of non-node environment, just no-op /* istanbul ignore if */ -if (typeof EE !== 'function') { - EE = EE.EventEmitter -} - -var emitter -if (process.__signal_exit_emitter__) { - emitter = process.__signal_exit_emitter__ +if (!processOk(process)) { + module.exports = function () { + return function () {} + } } else { - emitter = process.__signal_exit_emitter__ = new EE() - emitter.count = 0 - emitter.emitted = {} -} - -// Because this emitter is a global, we have to check to see if a -// previous version of this library failed to enable infinite listeners. -// I know what you're about to say. But literally everything about -// signal-exit is a compromise with evil. Get used to it. -if (!emitter.infinite) { - emitter.setMaxListeners(Infinity) - emitter.infinite = true -} + var assert = __webpack_require__(162) + var signals = __webpack_require__(163) + var isWin = /^win/i.test(process.platform) -module.exports = function (cb, opts) { - assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler') + var EE = __webpack_require__(164) + /* istanbul ignore if */ + if (typeof EE !== 'function') { + EE = EE.EventEmitter + } - if (loaded === false) { - load() + var emitter + if (process.__signal_exit_emitter__) { + emitter = process.__signal_exit_emitter__ + } else { + emitter = process.__signal_exit_emitter__ = new EE() + emitter.count = 0 + emitter.emitted = {} } - var ev = 'exit' - if (opts && opts.alwaysLast) { - ev = 'afterexit' + // Because this emitter is a global, we have to check to see if a + // previous version of this library failed to enable infinite listeners. + // I know what you're about to say. But literally everything about + // signal-exit is a compromise with evil. Get used to it. + if (!emitter.infinite) { + emitter.setMaxListeners(Infinity) + emitter.infinite = true } - var remove = function () { - emitter.removeListener(ev, cb) - if (emitter.listeners('exit').length === 0 && - emitter.listeners('afterexit').length === 0) { - unload() + module.exports = function (cb, opts) { + /* istanbul ignore if */ + if (!processOk(global.process)) { + return function () {} } - } - emitter.on(ev, cb) + assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler') - return remove -} + if (loaded === false) { + load() + } -module.exports.unload = unload -function unload () { - if (!loaded) { - return - } - loaded = false + var ev = 'exit' + if (opts && opts.alwaysLast) { + ev = 'afterexit' + } - signals.forEach(function (sig) { - try { - process.removeListener(sig, sigListeners[sig]) - } catch (er) {} - }) - process.emit = originalProcessEmit - process.reallyExit = originalProcessReallyExit - emitter.count -= 1 -} + var remove = function () { + emitter.removeListener(ev, cb) + if (emitter.listeners('exit').length === 0 && + emitter.listeners('afterexit').length === 0) { + unload() + } + } + emitter.on(ev, cb) -function emit (event, code, signal) { - if (emitter.emitted[event]) { - return + return remove } - emitter.emitted[event] = true - emitter.emit(event, code, signal) -} - -// { : , ... } -var sigListeners = {} -signals.forEach(function (sig) { - sigListeners[sig] = function listener () { - // If there are no other listeners, an exit is coming! - // Simplest way: remove us and then re-send the signal. - // We know that this will kill the process, so we can - // safely emit now. - var listeners = process.listeners(sig) - if (listeners.length === emitter.count) { - unload() - emit('exit', null, sig) - /* istanbul ignore next */ - emit('afterexit', null, sig) - /* istanbul ignore next */ - process.kill(process.pid, sig) + + var unload = function unload () { + if (!loaded || !processOk(global.process)) { + return } - } -}) + loaded = false -module.exports.signals = function () { - return signals -} + signals.forEach(function (sig) { + try { + process.removeListener(sig, sigListeners[sig]) + } catch (er) {} + }) + process.emit = originalProcessEmit + process.reallyExit = originalProcessReallyExit + emitter.count -= 1 + } + module.exports.unload = unload -module.exports.load = load + var emit = function emit (event, code, signal) { + /* istanbul ignore if */ + if (emitter.emitted[event]) { + return + } + emitter.emitted[event] = true + emitter.emit(event, code, signal) + } -var loaded = false + // { : , ... } + var sigListeners = {} + signals.forEach(function (sig) { + sigListeners[sig] = function listener () { + /* istanbul ignore if */ + if (!processOk(global.process)) { + return + } + // If there are no other listeners, an exit is coming! + // Simplest way: remove us and then re-send the signal. + // We know that this will kill the process, so we can + // safely emit now. + var listeners = process.listeners(sig) + if (listeners.length === emitter.count) { + unload() + emit('exit', null, sig) + /* istanbul ignore next */ + emit('afterexit', null, sig) + /* istanbul ignore next */ + if (isWin && sig === 'SIGHUP') { + // "SIGHUP" throws an `ENOSYS` error on Windows, + // so use a supported signal instead + sig = 'SIGINT' + } + /* istanbul ignore next */ + process.kill(process.pid, sig) + } + } + }) -function load () { - if (loaded) { - return + module.exports.signals = function () { + return signals } - loaded = true - // This is the number of onSignalExit's that are in play. - // It's important so that we can count the correct number of - // listeners on signals, and don't wait for the other one to - // handle it instead of us. - emitter.count += 1 + var loaded = false - signals = signals.filter(function (sig) { - try { - process.on(sig, sigListeners[sig]) - return true - } catch (er) { - return false + var load = function load () { + if (loaded || !processOk(global.process)) { + return } - }) + loaded = true - process.emit = processEmit - process.reallyExit = processReallyExit -} + // This is the number of onSignalExit's that are in play. + // It's important so that we can count the correct number of + // listeners on signals, and don't wait for the other one to + // handle it instead of us. + emitter.count += 1 -var originalProcessReallyExit = process.reallyExit -function processReallyExit (code) { - process.exitCode = code || 0 - emit('exit', process.exitCode, null) - /* istanbul ignore next */ - emit('afterexit', process.exitCode, null) - /* istanbul ignore next */ - originalProcessReallyExit.call(process, process.exitCode) -} + signals = signals.filter(function (sig) { + try { + process.on(sig, sigListeners[sig]) + return true + } catch (er) { + return false + } + }) -var originalProcessEmit = process.emit -function processEmit (ev, arg) { - if (ev === 'exit') { - if (arg !== undefined) { - process.exitCode = arg + process.emit = processEmit + process.reallyExit = processReallyExit + } + module.exports.load = load + + var originalProcessReallyExit = process.reallyExit + var processReallyExit = function processReallyExit (code) { + /* istanbul ignore if */ + if (!processOk(global.process)) { + return } - var ret = originalProcessEmit.apply(this, arguments) + process.exitCode = code || /* istanbul ignore next */ 0 emit('exit', process.exitCode, null) /* istanbul ignore next */ emit('afterexit', process.exitCode, null) - return ret - } else { - return originalProcessEmit.apply(this, arguments) + /* istanbul ignore next */ + originalProcessReallyExit.call(process, process.exitCode) + } + + var originalProcessEmit = process.emit + var processEmit = function processEmit (ev, arg) { + if (ev === 'exit' && processOk(global.process)) { + /* istanbul ignore else */ + if (arg !== undefined) { + process.exitCode = arg + } + var ret = originalProcessEmit.apply(this, arguments) + /* istanbul ignore next */ + emit('exit', process.exitCode, null) + /* istanbul ignore next */ + emit('afterexit', process.exitCode, null) + /* istanbul ignore next */ + return ret + } else { + return originalProcessEmit.apply(this, arguments) + } } } @@ -13890,8 +13968,9 @@ var assert = __webpack_require__(162); var debug = __webpack_require__(204); // Create handlers that pass events from native requests +var events = ["abort", "aborted", "connect", "error", "socket", "timeout"]; var eventHandlers = Object.create(null); -["abort", "aborted", "connect", "error", "socket", "timeout"].forEach(function (event) { +events.forEach(function (event) { eventHandlers[event] = function (arg1, arg2, arg3) { this._redirectable.emit(event, arg1, arg2, arg3); }; @@ -13900,7 +13979,7 @@ var eventHandlers = Object.create(null); // Error types with codes var RedirectionError = createErrorType( "ERR_FR_REDIRECTION_FAILURE", - "" + "Redirected request failed" ); var TooManyRedirectsError = createErrorType( "ERR_FR_TOO_MANY_REDIRECTS", @@ -13944,6 +14023,11 @@ function RedirectableRequest(options, responseCallback) { } RedirectableRequest.prototype = Object.create(Writable.prototype); +RedirectableRequest.prototype.abort = function () { + abortRequest(this._currentRequest); + this.emit("abort"); +}; + // Writes buffered data to the current native request RedirectableRequest.prototype.write = function (data, encoding, callback) { // Writing is not allowed if end has been called @@ -14023,40 +14107,72 @@ RedirectableRequest.prototype.removeHeader = function (name) { // Global timeout for all underlying requests RedirectableRequest.prototype.setTimeout = function (msecs, callback) { + var self = this; + + // Destroys the socket on timeout + function destroyOnTimeout(socket) { + socket.setTimeout(msecs); + socket.removeListener("timeout", socket.destroy); + socket.addListener("timeout", socket.destroy); + } + + // Sets up a timer to trigger a timeout event + function startTimer(socket) { + if (self._timeout) { + clearTimeout(self._timeout); + } + self._timeout = setTimeout(function () { + self.emit("timeout"); + clearTimer(); + }, msecs); + destroyOnTimeout(socket); + } + + // Stops a timeout from triggering + function clearTimer() { + // Clear the timeout + if (self._timeout) { + clearTimeout(self._timeout); + self._timeout = null; + } + + // Clean up all attached listeners + self.removeListener("abort", clearTimer); + self.removeListener("error", clearTimer); + self.removeListener("response", clearTimer); + if (callback) { + self.removeListener("timeout", callback); + } + if (!self.socket) { + self._currentRequest.removeListener("socket", startTimer); + } + } + + // Attach callback if passed if (callback) { - this.once("timeout", callback); + this.on("timeout", callback); } + // Start the timer if or when the socket is opened if (this.socket) { - startTimer(this, msecs); + startTimer(this.socket); } else { - var self = this; - this._currentRequest.once("socket", function () { - startTimer(self, msecs); - }); + this._currentRequest.once("socket", startTimer); } - this.once("response", clearTimer); - this.once("error", clearTimer); + // Clean up on events + this.on("socket", destroyOnTimeout); + this.on("abort", clearTimer); + this.on("error", clearTimer); + this.on("response", clearTimer); return this; }; -function startTimer(request, msecs) { - clearTimeout(request._timeout); - request._timeout = setTimeout(function () { - request.emit("timeout"); - }, msecs); -} - -function clearTimer() { - clearTimeout(this._timeout); -} - // Proxy all other public ClientRequest methods [ - "abort", "flushHeaders", "getHeader", + "flushHeaders", "getHeader", "setNoDelay", "setSocketKeepAlive", ].forEach(function (method) { RedirectableRequest.prototype[method] = function (a, b) { @@ -14126,11 +14242,8 @@ RedirectableRequest.prototype._performRequest = function () { // Set up event handlers request._redirectable = this; - for (var event in eventHandlers) { - /* istanbul ignore else */ - if (event) { - request.on(event, eventHandlers[event]); - } + for (var e = 0; e < events.length; e++) { + request.on(events[e], eventHandlers[events[e]]); } // End a redirected request @@ -14184,86 +14297,101 @@ RedirectableRequest.prototype._processResponse = function (response) { // the user agent MAY automatically redirect its request to the URI // referenced by the Location field value, // even if the specific status code is not understood. + + // If the response is not a redirect; return it as-is var location = response.headers.location; - if (location && this._options.followRedirects !== false && - statusCode >= 300 && statusCode < 400) { - // Abort the current request - this._currentRequest.removeAllListeners(); - this._currentRequest.on("error", noop); - this._currentRequest.abort(); - // Discard the remainder of the response to avoid waiting for data - response.destroy(); - - // RFC7231§6.4: A client SHOULD detect and intervene - // in cyclical redirections (i.e., "infinite" redirection loops). - if (++this._redirectCount > this._options.maxRedirects) { - this.emit("error", new TooManyRedirectsError()); - return; - } + if (!location || this._options.followRedirects === false || + statusCode < 300 || statusCode >= 400) { + response.responseUrl = this._currentUrl; + response.redirects = this._redirects; + this.emit("response", response); - // RFC7231§6.4: Automatic redirection needs to done with - // care for methods not known to be safe, […] - // RFC7231§6.4.2–3: For historical reasons, a user agent MAY change - // the request method from POST to GET for the subsequent request. - if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || - // RFC7231§6.4.4: The 303 (See Other) status code indicates that - // the server is redirecting the user agent to a different resource […] - // A user agent can perform a retrieval request targeting that URI - // (a GET or HEAD request if using HTTP) […] - (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) { - this._options.method = "GET"; - // Drop a possible entity and headers related to it - this._requestBodyBuffers = []; - removeMatchingHeaders(/^content-/i, this._options.headers); - } - - // Drop the Host header, as the redirect might lead to a different host - var previousHostName = removeMatchingHeaders(/^host$/i, this._options.headers) || - url.parse(this._currentUrl).hostname; - - // Create the redirected request - var redirectUrl = url.resolve(this._currentUrl, location); - debug("redirecting to", redirectUrl); - this._isRedirect = true; - var redirectUrlParts = url.parse(redirectUrl); - Object.assign(this._options, redirectUrlParts); - - // Drop the Authorization header if redirecting to another host - if (redirectUrlParts.hostname !== previousHostName) { - removeMatchingHeaders(/^authorization$/i, this._options.headers); - } - - // Evaluate the beforeRedirect callback - if (typeof this._options.beforeRedirect === "function") { - var responseDetails = { headers: response.headers }; - try { - this._options.beforeRedirect.call(null, this._options, responseDetails); - } - catch (err) { - this.emit("error", err); - return; - } - this._sanitizeOptions(this._options); - } + // Clean up + this._requestBodyBuffers = []; + return; + } + + // The response is a redirect, so abort the current request + abortRequest(this._currentRequest); + // Discard the remainder of the response to avoid waiting for data + response.destroy(); - // Perform the redirected request + // RFC7231§6.4: A client SHOULD detect and intervene + // in cyclical redirections (i.e., "infinite" redirection loops). + if (++this._redirectCount > this._options.maxRedirects) { + this.emit("error", new TooManyRedirectsError()); + return; + } + + // RFC7231§6.4: Automatic redirection needs to done with + // care for methods not known to be safe, […] + // RFC7231§6.4.2–3: For historical reasons, a user agent MAY change + // the request method from POST to GET for the subsequent request. + if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || + // RFC7231§6.4.4: The 303 (See Other) status code indicates that + // the server is redirecting the user agent to a different resource […] + // A user agent can perform a retrieval request targeting that URI + // (a GET or HEAD request if using HTTP) […] + (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) { + this._options.method = "GET"; + // Drop a possible entity and headers related to it + this._requestBodyBuffers = []; + removeMatchingHeaders(/^content-/i, this._options.headers); + } + + // Drop the Host header, as the redirect might lead to a different host + var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers); + + // If the redirect is relative, carry over the host of the last request + var currentUrlParts = url.parse(this._currentUrl); + var currentHost = currentHostHeader || currentUrlParts.host; + var currentUrl = /^\w+:/.test(location) ? this._currentUrl : + url.format(Object.assign(currentUrlParts, { host: currentHost })); + + // Determine the URL of the redirection + var redirectUrl; + try { + redirectUrl = url.resolve(currentUrl, location); + } + catch (cause) { + this.emit("error", new RedirectionError(cause)); + return; + } + + // Create the redirected request + debug("redirecting to", redirectUrl); + this._isRedirect = true; + var redirectUrlParts = url.parse(redirectUrl); + Object.assign(this._options, redirectUrlParts); + + // Drop confidential headers when redirecting to a less secure protocol + // or to a different domain that is not a superdomain + if (redirectUrlParts.protocol !== currentUrlParts.protocol && + redirectUrlParts.protocol !== "https:" || + redirectUrlParts.host !== currentHost && + !isSubdomain(redirectUrlParts.host, currentHost)) { + removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers); + } + + // Evaluate the beforeRedirect callback + if (typeof this._options.beforeRedirect === "function") { + var responseDetails = { headers: response.headers }; try { - this._performRequest(); + this._options.beforeRedirect.call(null, this._options, responseDetails); } - catch (cause) { - var error = new RedirectionError("Redirected request failed: " + cause.message); - error.cause = cause; - this.emit("error", error); + catch (err) { + this.emit("error", err); + return; } + this._sanitizeOptions(this._options); } - else { - // The response is not a redirect; return it as-is - response.responseUrl = this._currentUrl; - response.redirects = this._redirects; - this.emit("response", response); - // Clean up - this._requestBodyBuffers = []; + // Perform the redirected request + try { + this._performRequest(); + } + catch (cause) { + this.emit("error", new RedirectionError(cause)); } }; @@ -14283,7 +14411,7 @@ function wrap(protocols) { var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol); // Executes a request, following redirects - wrappedProtocol.request = function (input, options, callback) { + function request(input, options, callback) { // Parse parameters if (typeof input === "string") { var urlStr = input; @@ -14318,14 +14446,20 @@ function wrap(protocols) { assert.equal(options.protocol, protocol, "protocol mismatch"); debug("options", options); return new RedirectableRequest(options, callback); - }; + } // Executes a GET request, following redirects - wrappedProtocol.get = function (input, options, callback) { - var request = wrappedProtocol.request(input, options, callback); - request.end(); - return request; - }; + function get(input, options, callback) { + var wrappedRequest = wrappedProtocol.request(input, options, callback); + wrappedRequest.end(); + return wrappedRequest; + } + + // Expose the properties on the wrapped protocol + Object.defineProperties(wrappedProtocol, { + request: { value: request, configurable: true, enumerable: true, writable: true }, + get: { value: get, configurable: true, enumerable: true, writable: true }, + }); }); return exports; } @@ -14361,13 +14495,20 @@ function removeMatchingHeaders(regex, headers) { delete headers[header]; } } - return lastValue; + return (lastValue === null || typeof lastValue === "undefined") ? + undefined : String(lastValue).trim(); } function createErrorType(code, defaultMessage) { - function CustomError(message) { + function CustomError(cause) { Error.captureStackTrace(this, this.constructor); - this.message = message || defaultMessage; + if (!cause) { + this.message = defaultMessage; + } + else { + this.message = defaultMessage + ": " + cause.message; + this.cause = cause; + } } CustomError.prototype = new Error(); CustomError.prototype.constructor = CustomError; @@ -14376,6 +14517,19 @@ function createErrorType(code, defaultMessage) { return CustomError; } +function abortRequest(request) { + for (var e = 0; e < events.length; e++) { + request.removeListener(events[e], eventHandlers[events[e]]); + } + request.on("error", noop); + request.abort(); +} + +function isSubdomain(subdomain, domain) { + const dot = subdomain.length - domain.length - 1; + return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain); +} + // Exports module.exports = wrap({ http: http, https: https }); module.exports.wrap = wrap; @@ -14392,14 +14546,20 @@ module.exports = require("url"); /***/ (function(module, exports, __webpack_require__) { var debug; -try { - /* eslint global-require: off */ - debug = __webpack_require__(205)("follow-redirects"); -} -catch (error) { - debug = function () { /* */ }; -} -module.exports = debug; + +module.exports = function () { + if (!debug) { + try { + /* eslint global-require: off */ + debug = __webpack_require__(205)("follow-redirects"); + } + catch (error) { /* */ } + if (typeof debug !== "function") { + debug = function () { /* */ }; + } + } + debug.apply(null, arguments); +}; /***/ }), @@ -16277,7 +16437,7 @@ module.exports = function (args, opts) { var o = obj; for (var i = 0; i < keys.length-1; i++) { var key = keys[i]; - if (key === '__proto__') return; + if (isConstructorOrProto(o, key)) return; if (o[key] === undefined) o[key] = {}; if (o[key] === Object.prototype || o[key] === Number.prototype || o[key] === String.prototype) o[key] = {}; @@ -16286,7 +16446,7 @@ module.exports = function (args, opts) { } var key = keys[keys.length - 1]; - if (key === '__proto__') return; + if (isConstructorOrProto(o, key)) return; if (o === Object.prototype || o === Number.prototype || o === String.prototype) o = {}; if (o === Array.prototype) o = []; @@ -16451,6 +16611,10 @@ function isNumber (x) { } +function isConstructorOrProto (obj, key) { + return key === 'constructor' && typeof obj[key] === 'function' || key === '__proto__'; +} + /***/ }), /* 229 */ @@ -18483,7 +18647,6 @@ function pauseStreams (streams, options) { module.exports = glob -var fs = __webpack_require__(132) var rp = __webpack_require__(245) var minimatch = __webpack_require__(247) var Minimatch = minimatch.Minimatch @@ -18494,8 +18657,6 @@ var assert = __webpack_require__(162) var isAbsolute = __webpack_require__(253) var globSync = __webpack_require__(254) var common = __webpack_require__(255) -var alphasort = common.alphasort -var alphasorti = common.alphasorti var setopts = common.setopts var ownProp = common.ownProp var inflight = __webpack_require__(256) @@ -18946,7 +19107,7 @@ Glob.prototype._readdirInGlobStar = function (abs, cb) { var lstatcb = inflight(lstatkey, lstatcb_) if (lstatcb) - fs.lstat(abs, lstatcb) + self.fs.lstat(abs, lstatcb) function lstatcb_ (er, lstat) { if (er && er.code === 'ENOENT') @@ -18987,7 +19148,7 @@ Glob.prototype._readdir = function (abs, inGlobStar, cb) { } var self = this - fs.readdir(abs, readdirCb(this, abs, cb)) + self.fs.readdir(abs, readdirCb(this, abs, cb)) } function readdirCb (self, abs, cb) { @@ -19191,13 +19352,13 @@ Glob.prototype._stat = function (f, cb) { var self = this var statcb = inflight('stat\0' + abs, lstatcb_) if (statcb) - fs.lstat(abs, statcb) + self.fs.lstat(abs, statcb) function lstatcb_ (er, lstat) { if (lstat && lstat.isSymbolicLink()) { // If it's a symlink, then treat it as the target, unless // the target does not exist, then treat it as a file. - return fs.stat(abs, function (er, stat) { + return self.fs.stat(abs, function (er, stat) { if (er) self._stat2(f, abs, null, lstat, cb) else @@ -19621,10 +19782,10 @@ exports.realpath = function realpath(p, cache, cb) { module.exports = minimatch minimatch.Minimatch = Minimatch -var path = { sep: '/' } -try { - path = __webpack_require__(4) -} catch (er) {} +var path = (function () { try { return __webpack_require__(4) } catch (e) {}}()) || { + sep: '/' +} +minimatch.sep = path.sep var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} var expand = __webpack_require__(248) @@ -19676,43 +19837,64 @@ function filter (pattern, options) { } function ext (a, b) { - a = a || {} b = b || {} var t = {} - Object.keys(b).forEach(function (k) { - t[k] = b[k] - }) Object.keys(a).forEach(function (k) { t[k] = a[k] }) + Object.keys(b).forEach(function (k) { + t[k] = b[k] + }) return t } minimatch.defaults = function (def) { - if (!def || !Object.keys(def).length) return minimatch + if (!def || typeof def !== 'object' || !Object.keys(def).length) { + return minimatch + } var orig = minimatch var m = function minimatch (p, pattern, options) { - return orig.minimatch(p, pattern, ext(def, options)) + return orig(p, pattern, ext(def, options)) } m.Minimatch = function Minimatch (pattern, options) { return new orig.Minimatch(pattern, ext(def, options)) } + m.Minimatch.defaults = function defaults (options) { + return orig.defaults(ext(def, options)).Minimatch + } + + m.filter = function filter (pattern, options) { + return orig.filter(pattern, ext(def, options)) + } + + m.defaults = function defaults (options) { + return orig.defaults(ext(def, options)) + } + + m.makeRe = function makeRe (pattern, options) { + return orig.makeRe(pattern, ext(def, options)) + } + + m.braceExpand = function braceExpand (pattern, options) { + return orig.braceExpand(pattern, ext(def, options)) + } + + m.match = function (list, pattern, options) { + return orig.match(list, pattern, ext(def, options)) + } return m } Minimatch.defaults = function (def) { - if (!def || !Object.keys(def).length) return Minimatch return minimatch.defaults(def).Minimatch } function minimatch (p, pattern, options) { - if (typeof pattern !== 'string') { - throw new TypeError('glob pattern string required') - } + assertValidPattern(pattern) if (!options) options = {} @@ -19721,9 +19903,6 @@ function minimatch (p, pattern, options) { return false } - // "" only matches "" - if (pattern.trim() === '') return p === '' - return new Minimatch(pattern, options).match(p) } @@ -19732,15 +19911,14 @@ function Minimatch (pattern, options) { return new Minimatch(pattern, options) } - if (typeof pattern !== 'string') { - throw new TypeError('glob pattern string required') - } + assertValidPattern(pattern) if (!options) options = {} + pattern = pattern.trim() // windows support: need to use /, not \ - if (path.sep !== '/') { + if (!options.allowWindowsEscape && path.sep !== '/') { pattern = pattern.split(path.sep).join('/') } @@ -19751,6 +19929,7 @@ function Minimatch (pattern, options) { this.negate = false this.comment = false this.empty = false + this.partial = !!options.partial // make the set of regexps etc. this.make() @@ -19760,9 +19939,6 @@ Minimatch.prototype.debug = function () {} Minimatch.prototype.make = make function make () { - // don't do it more than once. - if (this._made) return - var pattern = this.pattern var options = this.options @@ -19782,7 +19958,7 @@ function make () { // step 2: expand braces var set = this.globSet = this.braceExpand() - if (options.debug) this.debug = console.error + if (options.debug) this.debug = function debug() { console.error.apply(console, arguments) } this.debug(this.pattern, set) @@ -19862,12 +20038,11 @@ function braceExpand (pattern, options) { pattern = typeof pattern === 'undefined' ? this.pattern : pattern - if (typeof pattern === 'undefined') { - throw new TypeError('undefined pattern') - } + assertValidPattern(pattern) - if (options.nobrace || - !pattern.match(/\{.*\}/)) { + // Thanks to Yeting Li for + // improving this regexp to avoid a ReDOS vulnerability. + if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { // shortcut. no need to expand. return [pattern] } @@ -19875,6 +20050,17 @@ function braceExpand (pattern, options) { return expand(pattern) } +var MAX_PATTERN_LENGTH = 1024 * 64 +var assertValidPattern = function (pattern) { + if (typeof pattern !== 'string') { + throw new TypeError('invalid pattern') + } + + if (pattern.length > MAX_PATTERN_LENGTH) { + throw new TypeError('pattern is too long') + } +} + // parse a component of the expanded set. // At this point, no pattern may contain "/" in it // so we're going to return a 2d array, where each entry is the full @@ -19889,14 +20075,17 @@ function braceExpand (pattern, options) { Minimatch.prototype.parse = parse var SUBPARSE = {} function parse (pattern, isSub) { - if (pattern.length > 1024 * 64) { - throw new TypeError('pattern is too long') - } + assertValidPattern(pattern) var options = this.options // shortcuts - if (!options.noglobstar && pattern === '**') return GLOBSTAR + if (pattern === '**') { + if (!options.noglobstar) + return GLOBSTAR + else + pattern = '*' + } if (pattern === '') return '' var re = '' @@ -19952,10 +20141,12 @@ function parse (pattern, isSub) { } switch (c) { - case '/': + /* istanbul ignore next */ + case '/': { // completely not allowed, even escaped. // Should already be path-split by now. return false + } case '\\': clearStateChar() @@ -20074,25 +20265,23 @@ function parse (pattern, isSub) { // handle the case where we left a class open. // "[z-a]" is valid, equivalent to "\[z-a\]" - if (inClass) { - // split where the last [ was, make sure we don't have - // an invalid re. if so, re-walk the contents of the - // would-be class to re-translate any characters that - // were passed through as-is - // TODO: It would probably be faster to determine this - // without a try/catch and a new RegExp, but it's tricky - // to do safely. For now, this is safe and works. - var cs = pattern.substring(classStart + 1, i) - try { - RegExp('[' + cs + ']') - } catch (er) { - // not a valid class! - var sp = this.parse(cs, SUBPARSE) - re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]' - hasMagic = hasMagic || sp[1] - inClass = false - continue - } + // split where the last [ was, make sure we don't have + // an invalid re. if so, re-walk the contents of the + // would-be class to re-translate any characters that + // were passed through as-is + // TODO: It would probably be faster to determine this + // without a try/catch and a new RegExp, but it's tricky + // to do safely. For now, this is safe and works. + var cs = pattern.substring(classStart + 1, i) + try { + RegExp('[' + cs + ']') + } catch (er) { + // not a valid class! + var sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]' + hasMagic = hasMagic || sp[1] + inClass = false + continue } // finish up the class. @@ -20176,9 +20365,7 @@ function parse (pattern, isSub) { // something that could conceivably capture a dot var addPatternStart = false switch (re.charAt(0)) { - case '.': - case '[': - case '(': addPatternStart = true + case '[': case '.': case '(': addPatternStart = true } // Hack to work around lack of negative lookbehind in JS @@ -20240,7 +20427,7 @@ function parse (pattern, isSub) { var flags = options.nocase ? 'i' : '' try { var regExp = new RegExp('^' + re + '$', flags) - } catch (er) { + } catch (er) /* istanbul ignore next - should be impossible */ { // If it was an invalid regular expression, then it can't match // anything. This trick looks for a character after the end of // the string, which is of course impossible, except in multi-line @@ -20298,7 +20485,7 @@ function makeRe () { try { this.regexp = new RegExp(re, flags) - } catch (ex) { + } catch (ex) /* istanbul ignore next - should be impossible */ { this.regexp = false } return this.regexp @@ -20316,8 +20503,8 @@ minimatch.match = function (list, pattern, options) { return list } -Minimatch.prototype.match = match -function match (f, partial) { +Minimatch.prototype.match = function match (f, partial) { + if (typeof partial === 'undefined') partial = this.partial this.debug('match', f, this.pattern) // short-circuit in the case of busted things. // comments, etc. @@ -20399,6 +20586,7 @@ Minimatch.prototype.matchOne = function (file, pattern, partial) { // should be impossible. // some invalid regexp stuff in the set. + /* istanbul ignore if */ if (p === false) return false if (p === GLOBSTAR) { @@ -20472,6 +20660,7 @@ Minimatch.prototype.matchOne = function (file, pattern, partial) { // no match was found. // However, in partial mode, we can't say this is necessarily over. // If there's more *pattern* left, then + /* istanbul ignore if */ if (partial) { // ran out of file this.debug('\n>>> no match, partial?', file, fr, pattern, pr) @@ -20485,11 +20674,7 @@ Minimatch.prototype.matchOne = function (file, pattern, partial) { // patterns with magic have been turned into regexps. var hit if (typeof p === 'string') { - if (options.nocase) { - hit = f.toLowerCase() === p.toLowerCase() - } else { - hit = f === p - } + hit = f === p this.debug('string match', p, f, hit) } else { hit = f.match(p) @@ -20520,16 +20705,16 @@ Minimatch.prototype.matchOne = function (file, pattern, partial) { // this is ok if we're doing the match as part of // a glob fs traversal. return partial - } else if (pi === pl) { + } else /* istanbul ignore else */ if (pi === pl) { // ran out of pattern, still have file left. // this is only acceptable if we're on the very last // empty segment of a file with a trailing slash. // a/* should match a/b/ - var emptyFileEnd = (fi === fl - 1) && (file[fi] === '') - return emptyFileEnd + return (fi === fl - 1) && (file[fi] === '') } // should be unreachable. + /* istanbul ignore next */ throw new Error('wtf?') } @@ -20917,7 +21102,6 @@ module.exports.win32 = win32; module.exports = globSync globSync.GlobSync = GlobSync -var fs = __webpack_require__(132) var rp = __webpack_require__(245) var minimatch = __webpack_require__(247) var Minimatch = minimatch.Minimatch @@ -20927,8 +21111,6 @@ var path = __webpack_require__(4) var assert = __webpack_require__(162) var isAbsolute = __webpack_require__(253) var common = __webpack_require__(255) -var alphasort = common.alphasort -var alphasorti = common.alphasorti var setopts = common.setopts var ownProp = common.ownProp var childrenIgnored = common.childrenIgnored @@ -21164,7 +21346,7 @@ GlobSync.prototype._readdirInGlobStar = function (abs) { var lstat var stat try { - lstat = fs.lstatSync(abs) + lstat = this.fs.lstatSync(abs) } catch (er) { if (er.code === 'ENOENT') { // lstat failed, doesn't exist @@ -21201,7 +21383,7 @@ GlobSync.prototype._readdir = function (abs, inGlobStar) { } try { - return this._readdirEntries(abs, fs.readdirSync(abs)) + return this._readdirEntries(abs, this.fs.readdirSync(abs)) } catch (er) { this._readdirError(abs, er) return null @@ -21360,7 +21542,7 @@ GlobSync.prototype._stat = function (f) { if (!stat) { var lstat try { - lstat = fs.lstatSync(abs) + lstat = this.fs.lstatSync(abs) } catch (er) { if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) { this.statCache[abs] = false @@ -21370,7 +21552,7 @@ GlobSync.prototype._stat = function (f) { if (lstat && lstat.isSymbolicLink()) { try { - stat = fs.statSync(abs) + stat = this.fs.statSync(abs) } catch (er) { stat = lstat } @@ -21406,8 +21588,6 @@ GlobSync.prototype._makeAbs = function (f) { /* 255 */ /***/ (function(module, exports, __webpack_require__) { -exports.alphasort = alphasort -exports.alphasorti = alphasorti exports.setopts = setopts exports.ownProp = ownProp exports.makeAbs = makeAbs @@ -21420,17 +21600,14 @@ function ownProp (obj, field) { return Object.prototype.hasOwnProperty.call(obj, field) } +var fs = __webpack_require__(132) var path = __webpack_require__(4) var minimatch = __webpack_require__(247) var isAbsolute = __webpack_require__(253) var Minimatch = minimatch.Minimatch -function alphasorti (a, b) { - return a.toLowerCase().localeCompare(b.toLowerCase()) -} - function alphasort (a, b) { - return a.localeCompare(b) + return a.localeCompare(b, 'en') } function setupIgnores (self, options) { @@ -21489,6 +21666,7 @@ function setopts (self, pattern, options) { self.stat = !!options.stat self.noprocess = !!options.noprocess self.absolute = !!options.absolute + self.fs = options.fs || fs self.maxLength = options.maxLength || Infinity self.cache = options.cache || Object.create(null) @@ -21558,7 +21736,7 @@ function finish (self) { all = Object.keys(all) if (!self.nosort) - all = all.sort(self.nocase ? alphasorti : alphasort) + all = all.sort(alphasort) // at *some* point we statted all of these if (self.mark) { @@ -52378,25 +52556,23 @@ function addProjectToTree(tree, pathParts, project) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _yarn_integrity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(422); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "yarnIntegrityFileExists", function() { return _yarn_integrity__WEBPACK_IMPORTED_MODULE_0__["yarnIntegrityFileExists"]; }); +/* harmony import */ var _get_cache_folders__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(422); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getBazelDiskCacheFolder", function() { return _get_cache_folders__WEBPACK_IMPORTED_MODULE_0__["getBazelDiskCacheFolder"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ensureYarnIntegrityFileExists", function() { return _yarn_integrity__WEBPACK_IMPORTED_MODULE_0__["ensureYarnIntegrityFileExists"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getBazelRepositoryCacheFolder", function() { return _get_cache_folders__WEBPACK_IMPORTED_MODULE_0__["getBazelRepositoryCacheFolder"]; }); -/* harmony import */ var _get_cache_folders__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(423); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getBazelDiskCacheFolder", function() { return _get_cache_folders__WEBPACK_IMPORTED_MODULE_1__["getBazelDiskCacheFolder"]; }); +/* harmony import */ var _install_tools__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(423); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isBazelBinAvailable", function() { return _install_tools__WEBPACK_IMPORTED_MODULE_1__["isBazelBinAvailable"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getBazelRepositoryCacheFolder", function() { return _get_cache_folders__WEBPACK_IMPORTED_MODULE_1__["getBazelRepositoryCacheFolder"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "installBazelTools", function() { return _install_tools__WEBPACK_IMPORTED_MODULE_1__["installBazelTools"]; }); -/* harmony import */ var _install_tools__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(424); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isBazelBinAvailable", function() { return _install_tools__WEBPACK_IMPORTED_MODULE_2__["isBazelBinAvailable"]; }); +/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(424); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "runBazel", function() { return _run__WEBPACK_IMPORTED_MODULE_2__["runBazel"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "installBazelTools", function() { return _install_tools__WEBPACK_IMPORTED_MODULE_2__["installBazelTools"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "runIBazel", function() { return _run__WEBPACK_IMPORTED_MODULE_2__["runIBazel"]; }); -/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(425); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "runBazel", function() { return _run__WEBPACK_IMPORTED_MODULE_3__["runBazel"]; }); - -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "runIBazel", function() { return _run__WEBPACK_IMPORTED_MODULE_3__["runIBazel"]; }); +/* harmony import */ var _yarn_integrity__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(526); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "removeYarnIntegrityFileIfExists", function() { return _yarn_integrity__WEBPACK_IMPORTED_MODULE_3__["removeYarnIntegrityFileIfExists"]; }); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one @@ -52414,53 +52590,6 @@ __webpack_require__.r(__webpack_exports__); /* 422 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "yarnIntegrityFileExists", function() { return yarnIntegrityFileExists; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ensureYarnIntegrityFileExists", function() { return ensureYarnIntegrityFileExists; }); -/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); -/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(231); -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - - -async function yarnIntegrityFileExists(nodeModulesPath) { - try { - const nodeModulesRealPath = await Object(_fs__WEBPACK_IMPORTED_MODULE_1__["tryRealpath"])(nodeModulesPath); - const yarnIntegrityFilePath = Object(path__WEBPACK_IMPORTED_MODULE_0__["join"])(nodeModulesRealPath, '.yarn-integrity'); // check if the file already exists - - if (await Object(_fs__WEBPACK_IMPORTED_MODULE_1__["isFile"])(yarnIntegrityFilePath)) { - return true; - } - } catch {// no-op - } - - return false; -} -async function ensureYarnIntegrityFileExists(nodeModulesPath) { - try { - const nodeModulesRealPath = await Object(_fs__WEBPACK_IMPORTED_MODULE_1__["tryRealpath"])(nodeModulesPath); - const yarnIntegrityFilePath = Object(path__WEBPACK_IMPORTED_MODULE_0__["join"])(nodeModulesRealPath, '.yarn-integrity'); // ensure node_modules folder is created - - await Object(_fs__WEBPACK_IMPORTED_MODULE_1__["mkdirp"])(nodeModulesRealPath); // write a blank file in case it doesn't exists - - await Object(_fs__WEBPACK_IMPORTED_MODULE_1__["writeFile"])(yarnIntegrityFilePath, '', { - flag: 'wx' - }); - } catch {// no-op - } -} - -/***/ }), -/* 423 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getBazelDiskCacheFolder", function() { return getBazelDiskCacheFolder; }); @@ -52495,7 +52624,7 @@ async function getBazelRepositoryCacheFolder() { } /***/ }), -/* 424 */ +/* 423 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -52614,7 +52743,7 @@ async function installBazelTools(repoRootPath) { } /***/ }), -/* 425 */ +/* 424 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -52624,8 +52753,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(114); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9); -/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(426); -/* harmony import */ var _kbn_dev_utils_stdio__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(524); +/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(425); +/* harmony import */ var _kbn_dev_utils_stdio__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(523); /* harmony import */ var _kbn_dev_utils_stdio__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_kbn_dev_utils_stdio__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _child_process__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(221); /* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(220); @@ -52670,6 +52799,7 @@ async function runBazelCommandWithRunner(bazelCommandRunner, bazelArgs, offline try { await bazelProc; } catch { + _log__WEBPACK_IMPORTED_MODULE_5__["log"].error('HINT: If experiencing problems with node_modules try `yarn kbn bootstrap --force-install` or as last resort `yarn kbn reset && yarn kbn bootstrap`'); throw new _errors__WEBPACK_IMPORTED_MODULE_6__["CliError"](`The bazel command that was running failed to complete.`); } @@ -52691,141 +52821,141 @@ async function runIBazel(bazelArgs, offline = false, runOpts = {}) { } /***/ }), -/* 426 */ +/* 425 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_operators_audit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(427); +/* harmony import */ var _internal_operators_audit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(426); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "audit", function() { return _internal_operators_audit__WEBPACK_IMPORTED_MODULE_0__["audit"]; }); -/* harmony import */ var _internal_operators_auditTime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(428); +/* harmony import */ var _internal_operators_auditTime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(427); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "auditTime", function() { return _internal_operators_auditTime__WEBPACK_IMPORTED_MODULE_1__["auditTime"]; }); -/* harmony import */ var _internal_operators_buffer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(429); +/* harmony import */ var _internal_operators_buffer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(428); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "buffer", function() { return _internal_operators_buffer__WEBPACK_IMPORTED_MODULE_2__["buffer"]; }); -/* harmony import */ var _internal_operators_bufferCount__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(430); +/* harmony import */ var _internal_operators_bufferCount__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(429); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bufferCount", function() { return _internal_operators_bufferCount__WEBPACK_IMPORTED_MODULE_3__["bufferCount"]; }); -/* harmony import */ var _internal_operators_bufferTime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(431); +/* harmony import */ var _internal_operators_bufferTime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(430); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bufferTime", function() { return _internal_operators_bufferTime__WEBPACK_IMPORTED_MODULE_4__["bufferTime"]; }); -/* harmony import */ var _internal_operators_bufferToggle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(432); +/* harmony import */ var _internal_operators_bufferToggle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(431); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bufferToggle", function() { return _internal_operators_bufferToggle__WEBPACK_IMPORTED_MODULE_5__["bufferToggle"]; }); -/* harmony import */ var _internal_operators_bufferWhen__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(433); +/* harmony import */ var _internal_operators_bufferWhen__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(432); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bufferWhen", function() { return _internal_operators_bufferWhen__WEBPACK_IMPORTED_MODULE_6__["bufferWhen"]; }); -/* harmony import */ var _internal_operators_catchError__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(434); +/* harmony import */ var _internal_operators_catchError__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(433); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "catchError", function() { return _internal_operators_catchError__WEBPACK_IMPORTED_MODULE_7__["catchError"]; }); -/* harmony import */ var _internal_operators_combineAll__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(435); +/* harmony import */ var _internal_operators_combineAll__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(434); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "combineAll", function() { return _internal_operators_combineAll__WEBPACK_IMPORTED_MODULE_8__["combineAll"]; }); -/* harmony import */ var _internal_operators_combineLatest__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(436); +/* harmony import */ var _internal_operators_combineLatest__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(435); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "combineLatest", function() { return _internal_operators_combineLatest__WEBPACK_IMPORTED_MODULE_9__["combineLatest"]; }); -/* harmony import */ var _internal_operators_concat__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(437); +/* harmony import */ var _internal_operators_concat__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(436); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concat", function() { return _internal_operators_concat__WEBPACK_IMPORTED_MODULE_10__["concat"]; }); /* harmony import */ var _internal_operators_concatAll__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(81); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concatAll", function() { return _internal_operators_concatAll__WEBPACK_IMPORTED_MODULE_11__["concatAll"]; }); -/* harmony import */ var _internal_operators_concatMap__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(438); +/* harmony import */ var _internal_operators_concatMap__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(437); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concatMap", function() { return _internal_operators_concatMap__WEBPACK_IMPORTED_MODULE_12__["concatMap"]; }); -/* harmony import */ var _internal_operators_concatMapTo__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(439); +/* harmony import */ var _internal_operators_concatMapTo__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(438); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concatMapTo", function() { return _internal_operators_concatMapTo__WEBPACK_IMPORTED_MODULE_13__["concatMapTo"]; }); -/* harmony import */ var _internal_operators_count__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(440); +/* harmony import */ var _internal_operators_count__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(439); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "count", function() { return _internal_operators_count__WEBPACK_IMPORTED_MODULE_14__["count"]; }); -/* harmony import */ var _internal_operators_debounce__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(441); +/* harmony import */ var _internal_operators_debounce__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(440); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "debounce", function() { return _internal_operators_debounce__WEBPACK_IMPORTED_MODULE_15__["debounce"]; }); -/* harmony import */ var _internal_operators_debounceTime__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(442); +/* harmony import */ var _internal_operators_debounceTime__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(441); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "debounceTime", function() { return _internal_operators_debounceTime__WEBPACK_IMPORTED_MODULE_16__["debounceTime"]; }); -/* harmony import */ var _internal_operators_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(443); +/* harmony import */ var _internal_operators_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(442); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "defaultIfEmpty", function() { return _internal_operators_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_17__["defaultIfEmpty"]; }); -/* harmony import */ var _internal_operators_delay__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(444); +/* harmony import */ var _internal_operators_delay__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(443); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "delay", function() { return _internal_operators_delay__WEBPACK_IMPORTED_MODULE_18__["delay"]; }); -/* harmony import */ var _internal_operators_delayWhen__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(446); +/* harmony import */ var _internal_operators_delayWhen__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(445); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "delayWhen", function() { return _internal_operators_delayWhen__WEBPACK_IMPORTED_MODULE_19__["delayWhen"]; }); -/* harmony import */ var _internal_operators_dematerialize__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(447); +/* harmony import */ var _internal_operators_dematerialize__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(446); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dematerialize", function() { return _internal_operators_dematerialize__WEBPACK_IMPORTED_MODULE_20__["dematerialize"]; }); -/* harmony import */ var _internal_operators_distinct__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(448); +/* harmony import */ var _internal_operators_distinct__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(447); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "distinct", function() { return _internal_operators_distinct__WEBPACK_IMPORTED_MODULE_21__["distinct"]; }); -/* harmony import */ var _internal_operators_distinctUntilChanged__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(449); +/* harmony import */ var _internal_operators_distinctUntilChanged__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(448); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "distinctUntilChanged", function() { return _internal_operators_distinctUntilChanged__WEBPACK_IMPORTED_MODULE_22__["distinctUntilChanged"]; }); -/* harmony import */ var _internal_operators_distinctUntilKeyChanged__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(450); +/* harmony import */ var _internal_operators_distinctUntilKeyChanged__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(449); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "distinctUntilKeyChanged", function() { return _internal_operators_distinctUntilKeyChanged__WEBPACK_IMPORTED_MODULE_23__["distinctUntilKeyChanged"]; }); -/* harmony import */ var _internal_operators_elementAt__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(451); +/* harmony import */ var _internal_operators_elementAt__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(450); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "elementAt", function() { return _internal_operators_elementAt__WEBPACK_IMPORTED_MODULE_24__["elementAt"]; }); -/* harmony import */ var _internal_operators_endWith__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(454); +/* harmony import */ var _internal_operators_endWith__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(453); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "endWith", function() { return _internal_operators_endWith__WEBPACK_IMPORTED_MODULE_25__["endWith"]; }); -/* harmony import */ var _internal_operators_every__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(455); +/* harmony import */ var _internal_operators_every__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(454); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "every", function() { return _internal_operators_every__WEBPACK_IMPORTED_MODULE_26__["every"]; }); -/* harmony import */ var _internal_operators_exhaust__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(456); +/* harmony import */ var _internal_operators_exhaust__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(455); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "exhaust", function() { return _internal_operators_exhaust__WEBPACK_IMPORTED_MODULE_27__["exhaust"]; }); -/* harmony import */ var _internal_operators_exhaustMap__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(457); +/* harmony import */ var _internal_operators_exhaustMap__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(456); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "exhaustMap", function() { return _internal_operators_exhaustMap__WEBPACK_IMPORTED_MODULE_28__["exhaustMap"]; }); -/* harmony import */ var _internal_operators_expand__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(458); +/* harmony import */ var _internal_operators_expand__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(457); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "expand", function() { return _internal_operators_expand__WEBPACK_IMPORTED_MODULE_29__["expand"]; }); /* harmony import */ var _internal_operators_filter__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(106); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "filter", function() { return _internal_operators_filter__WEBPACK_IMPORTED_MODULE_30__["filter"]; }); -/* harmony import */ var _internal_operators_finalize__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(459); +/* harmony import */ var _internal_operators_finalize__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(458); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "finalize", function() { return _internal_operators_finalize__WEBPACK_IMPORTED_MODULE_31__["finalize"]; }); -/* harmony import */ var _internal_operators_find__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(460); +/* harmony import */ var _internal_operators_find__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(459); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "find", function() { return _internal_operators_find__WEBPACK_IMPORTED_MODULE_32__["find"]; }); -/* harmony import */ var _internal_operators_findIndex__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(461); +/* harmony import */ var _internal_operators_findIndex__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(460); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "findIndex", function() { return _internal_operators_findIndex__WEBPACK_IMPORTED_MODULE_33__["findIndex"]; }); -/* harmony import */ var _internal_operators_first__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(462); +/* harmony import */ var _internal_operators_first__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(461); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "first", function() { return _internal_operators_first__WEBPACK_IMPORTED_MODULE_34__["first"]; }); /* harmony import */ var _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(32); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "groupBy", function() { return _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_35__["groupBy"]; }); -/* harmony import */ var _internal_operators_ignoreElements__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(463); +/* harmony import */ var _internal_operators_ignoreElements__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(462); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ignoreElements", function() { return _internal_operators_ignoreElements__WEBPACK_IMPORTED_MODULE_36__["ignoreElements"]; }); -/* harmony import */ var _internal_operators_isEmpty__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(464); +/* harmony import */ var _internal_operators_isEmpty__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(463); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isEmpty", function() { return _internal_operators_isEmpty__WEBPACK_IMPORTED_MODULE_37__["isEmpty"]; }); -/* harmony import */ var _internal_operators_last__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(465); +/* harmony import */ var _internal_operators_last__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(464); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "last", function() { return _internal_operators_last__WEBPACK_IMPORTED_MODULE_38__["last"]; }); /* harmony import */ var _internal_operators_map__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(67); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "map", function() { return _internal_operators_map__WEBPACK_IMPORTED_MODULE_39__["map"]; }); -/* harmony import */ var _internal_operators_mapTo__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(467); +/* harmony import */ var _internal_operators_mapTo__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(466); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mapTo", function() { return _internal_operators_mapTo__WEBPACK_IMPORTED_MODULE_40__["mapTo"]; }); -/* harmony import */ var _internal_operators_materialize__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(468); +/* harmony import */ var _internal_operators_materialize__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(467); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "materialize", function() { return _internal_operators_materialize__WEBPACK_IMPORTED_MODULE_41__["materialize"]; }); -/* harmony import */ var _internal_operators_max__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(469); +/* harmony import */ var _internal_operators_max__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(468); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "max", function() { return _internal_operators_max__WEBPACK_IMPORTED_MODULE_42__["max"]; }); -/* harmony import */ var _internal_operators_merge__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(472); +/* harmony import */ var _internal_operators_merge__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(471); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "merge", function() { return _internal_operators_merge__WEBPACK_IMPORTED_MODULE_43__["merge"]; }); /* harmony import */ var _internal_operators_mergeAll__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(82); @@ -52836,175 +52966,175 @@ __webpack_require__.r(__webpack_exports__); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "flatMap", function() { return _internal_operators_mergeMap__WEBPACK_IMPORTED_MODULE_45__["flatMap"]; }); -/* harmony import */ var _internal_operators_mergeMapTo__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(473); +/* harmony import */ var _internal_operators_mergeMapTo__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(472); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeMapTo", function() { return _internal_operators_mergeMapTo__WEBPACK_IMPORTED_MODULE_46__["mergeMapTo"]; }); -/* harmony import */ var _internal_operators_mergeScan__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(474); +/* harmony import */ var _internal_operators_mergeScan__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(473); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeScan", function() { return _internal_operators_mergeScan__WEBPACK_IMPORTED_MODULE_47__["mergeScan"]; }); -/* harmony import */ var _internal_operators_min__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(475); +/* harmony import */ var _internal_operators_min__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(474); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "min", function() { return _internal_operators_min__WEBPACK_IMPORTED_MODULE_48__["min"]; }); -/* harmony import */ var _internal_operators_multicast__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(476); +/* harmony import */ var _internal_operators_multicast__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(475); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "multicast", function() { return _internal_operators_multicast__WEBPACK_IMPORTED_MODULE_49__["multicast"]; }); /* harmony import */ var _internal_operators_observeOn__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(42); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "observeOn", function() { return _internal_operators_observeOn__WEBPACK_IMPORTED_MODULE_50__["observeOn"]; }); -/* harmony import */ var _internal_operators_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(477); +/* harmony import */ var _internal_operators_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(476); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "onErrorResumeNext", function() { return _internal_operators_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_51__["onErrorResumeNext"]; }); -/* harmony import */ var _internal_operators_pairwise__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(478); +/* harmony import */ var _internal_operators_pairwise__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(477); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pairwise", function() { return _internal_operators_pairwise__WEBPACK_IMPORTED_MODULE_52__["pairwise"]; }); -/* harmony import */ var _internal_operators_partition__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(479); +/* harmony import */ var _internal_operators_partition__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(478); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "partition", function() { return _internal_operators_partition__WEBPACK_IMPORTED_MODULE_53__["partition"]; }); -/* harmony import */ var _internal_operators_pluck__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(480); +/* harmony import */ var _internal_operators_pluck__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(479); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pluck", function() { return _internal_operators_pluck__WEBPACK_IMPORTED_MODULE_54__["pluck"]; }); -/* harmony import */ var _internal_operators_publish__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(481); +/* harmony import */ var _internal_operators_publish__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(480); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "publish", function() { return _internal_operators_publish__WEBPACK_IMPORTED_MODULE_55__["publish"]; }); -/* harmony import */ var _internal_operators_publishBehavior__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(482); +/* harmony import */ var _internal_operators_publishBehavior__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(481); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "publishBehavior", function() { return _internal_operators_publishBehavior__WEBPACK_IMPORTED_MODULE_56__["publishBehavior"]; }); -/* harmony import */ var _internal_operators_publishLast__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(483); +/* harmony import */ var _internal_operators_publishLast__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(482); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "publishLast", function() { return _internal_operators_publishLast__WEBPACK_IMPORTED_MODULE_57__["publishLast"]; }); -/* harmony import */ var _internal_operators_publishReplay__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(484); +/* harmony import */ var _internal_operators_publishReplay__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(483); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "publishReplay", function() { return _internal_operators_publishReplay__WEBPACK_IMPORTED_MODULE_58__["publishReplay"]; }); -/* harmony import */ var _internal_operators_race__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(485); +/* harmony import */ var _internal_operators_race__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(484); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "race", function() { return _internal_operators_race__WEBPACK_IMPORTED_MODULE_59__["race"]; }); -/* harmony import */ var _internal_operators_reduce__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(470); +/* harmony import */ var _internal_operators_reduce__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(469); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reduce", function() { return _internal_operators_reduce__WEBPACK_IMPORTED_MODULE_60__["reduce"]; }); -/* harmony import */ var _internal_operators_repeat__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(486); +/* harmony import */ var _internal_operators_repeat__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(485); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "repeat", function() { return _internal_operators_repeat__WEBPACK_IMPORTED_MODULE_61__["repeat"]; }); -/* harmony import */ var _internal_operators_repeatWhen__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(487); +/* harmony import */ var _internal_operators_repeatWhen__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(486); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "repeatWhen", function() { return _internal_operators_repeatWhen__WEBPACK_IMPORTED_MODULE_62__["repeatWhen"]; }); -/* harmony import */ var _internal_operators_retry__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(488); +/* harmony import */ var _internal_operators_retry__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(487); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "retry", function() { return _internal_operators_retry__WEBPACK_IMPORTED_MODULE_63__["retry"]; }); -/* harmony import */ var _internal_operators_retryWhen__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(489); +/* harmony import */ var _internal_operators_retryWhen__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(488); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "retryWhen", function() { return _internal_operators_retryWhen__WEBPACK_IMPORTED_MODULE_64__["retryWhen"]; }); /* harmony import */ var _internal_operators_refCount__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(31); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "refCount", function() { return _internal_operators_refCount__WEBPACK_IMPORTED_MODULE_65__["refCount"]; }); -/* harmony import */ var _internal_operators_sample__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(490); +/* harmony import */ var _internal_operators_sample__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(489); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sample", function() { return _internal_operators_sample__WEBPACK_IMPORTED_MODULE_66__["sample"]; }); -/* harmony import */ var _internal_operators_sampleTime__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(491); +/* harmony import */ var _internal_operators_sampleTime__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(490); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sampleTime", function() { return _internal_operators_sampleTime__WEBPACK_IMPORTED_MODULE_67__["sampleTime"]; }); -/* harmony import */ var _internal_operators_scan__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(471); +/* harmony import */ var _internal_operators_scan__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(470); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "scan", function() { return _internal_operators_scan__WEBPACK_IMPORTED_MODULE_68__["scan"]; }); -/* harmony import */ var _internal_operators_sequenceEqual__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(492); +/* harmony import */ var _internal_operators_sequenceEqual__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(491); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sequenceEqual", function() { return _internal_operators_sequenceEqual__WEBPACK_IMPORTED_MODULE_69__["sequenceEqual"]; }); -/* harmony import */ var _internal_operators_share__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(493); +/* harmony import */ var _internal_operators_share__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(492); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "share", function() { return _internal_operators_share__WEBPACK_IMPORTED_MODULE_70__["share"]; }); -/* harmony import */ var _internal_operators_shareReplay__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(494); +/* harmony import */ var _internal_operators_shareReplay__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(493); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "shareReplay", function() { return _internal_operators_shareReplay__WEBPACK_IMPORTED_MODULE_71__["shareReplay"]; }); -/* harmony import */ var _internal_operators_single__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(495); +/* harmony import */ var _internal_operators_single__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(494); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "single", function() { return _internal_operators_single__WEBPACK_IMPORTED_MODULE_72__["single"]; }); -/* harmony import */ var _internal_operators_skip__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(496); +/* harmony import */ var _internal_operators_skip__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(495); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "skip", function() { return _internal_operators_skip__WEBPACK_IMPORTED_MODULE_73__["skip"]; }); -/* harmony import */ var _internal_operators_skipLast__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(497); +/* harmony import */ var _internal_operators_skipLast__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(496); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "skipLast", function() { return _internal_operators_skipLast__WEBPACK_IMPORTED_MODULE_74__["skipLast"]; }); -/* harmony import */ var _internal_operators_skipUntil__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(498); +/* harmony import */ var _internal_operators_skipUntil__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(497); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "skipUntil", function() { return _internal_operators_skipUntil__WEBPACK_IMPORTED_MODULE_75__["skipUntil"]; }); -/* harmony import */ var _internal_operators_skipWhile__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(499); +/* harmony import */ var _internal_operators_skipWhile__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(498); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "skipWhile", function() { return _internal_operators_skipWhile__WEBPACK_IMPORTED_MODULE_76__["skipWhile"]; }); -/* harmony import */ var _internal_operators_startWith__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(500); +/* harmony import */ var _internal_operators_startWith__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(499); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "startWith", function() { return _internal_operators_startWith__WEBPACK_IMPORTED_MODULE_77__["startWith"]; }); -/* harmony import */ var _internal_operators_subscribeOn__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(501); +/* harmony import */ var _internal_operators_subscribeOn__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(500); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "subscribeOn", function() { return _internal_operators_subscribeOn__WEBPACK_IMPORTED_MODULE_78__["subscribeOn"]; }); -/* harmony import */ var _internal_operators_switchAll__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(503); +/* harmony import */ var _internal_operators_switchAll__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(502); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "switchAll", function() { return _internal_operators_switchAll__WEBPACK_IMPORTED_MODULE_79__["switchAll"]; }); -/* harmony import */ var _internal_operators_switchMap__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(504); +/* harmony import */ var _internal_operators_switchMap__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(503); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "switchMap", function() { return _internal_operators_switchMap__WEBPACK_IMPORTED_MODULE_80__["switchMap"]; }); -/* harmony import */ var _internal_operators_switchMapTo__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(505); +/* harmony import */ var _internal_operators_switchMapTo__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(504); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "switchMapTo", function() { return _internal_operators_switchMapTo__WEBPACK_IMPORTED_MODULE_81__["switchMapTo"]; }); -/* harmony import */ var _internal_operators_take__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(453); +/* harmony import */ var _internal_operators_take__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(452); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "take", function() { return _internal_operators_take__WEBPACK_IMPORTED_MODULE_82__["take"]; }); -/* harmony import */ var _internal_operators_takeLast__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(466); +/* harmony import */ var _internal_operators_takeLast__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(465); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeLast", function() { return _internal_operators_takeLast__WEBPACK_IMPORTED_MODULE_83__["takeLast"]; }); -/* harmony import */ var _internal_operators_takeUntil__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(506); +/* harmony import */ var _internal_operators_takeUntil__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(505); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeUntil", function() { return _internal_operators_takeUntil__WEBPACK_IMPORTED_MODULE_84__["takeUntil"]; }); -/* harmony import */ var _internal_operators_takeWhile__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(507); +/* harmony import */ var _internal_operators_takeWhile__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(506); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeWhile", function() { return _internal_operators_takeWhile__WEBPACK_IMPORTED_MODULE_85__["takeWhile"]; }); -/* harmony import */ var _internal_operators_tap__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(508); +/* harmony import */ var _internal_operators_tap__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(507); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "tap", function() { return _internal_operators_tap__WEBPACK_IMPORTED_MODULE_86__["tap"]; }); -/* harmony import */ var _internal_operators_throttle__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(509); +/* harmony import */ var _internal_operators_throttle__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(508); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "throttle", function() { return _internal_operators_throttle__WEBPACK_IMPORTED_MODULE_87__["throttle"]; }); -/* harmony import */ var _internal_operators_throttleTime__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(510); +/* harmony import */ var _internal_operators_throttleTime__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(509); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "throttleTime", function() { return _internal_operators_throttleTime__WEBPACK_IMPORTED_MODULE_88__["throttleTime"]; }); -/* harmony import */ var _internal_operators_throwIfEmpty__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(452); +/* harmony import */ var _internal_operators_throwIfEmpty__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(451); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "throwIfEmpty", function() { return _internal_operators_throwIfEmpty__WEBPACK_IMPORTED_MODULE_89__["throwIfEmpty"]; }); -/* harmony import */ var _internal_operators_timeInterval__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(511); +/* harmony import */ var _internal_operators_timeInterval__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(510); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timeInterval", function() { return _internal_operators_timeInterval__WEBPACK_IMPORTED_MODULE_90__["timeInterval"]; }); -/* harmony import */ var _internal_operators_timeout__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(512); +/* harmony import */ var _internal_operators_timeout__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(511); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timeout", function() { return _internal_operators_timeout__WEBPACK_IMPORTED_MODULE_91__["timeout"]; }); -/* harmony import */ var _internal_operators_timeoutWith__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(513); +/* harmony import */ var _internal_operators_timeoutWith__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(512); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timeoutWith", function() { return _internal_operators_timeoutWith__WEBPACK_IMPORTED_MODULE_92__["timeoutWith"]; }); -/* harmony import */ var _internal_operators_timestamp__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(514); +/* harmony import */ var _internal_operators_timestamp__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(513); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timestamp", function() { return _internal_operators_timestamp__WEBPACK_IMPORTED_MODULE_93__["timestamp"]; }); -/* harmony import */ var _internal_operators_toArray__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(515); +/* harmony import */ var _internal_operators_toArray__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(514); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "toArray", function() { return _internal_operators_toArray__WEBPACK_IMPORTED_MODULE_94__["toArray"]; }); -/* harmony import */ var _internal_operators_window__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(516); +/* harmony import */ var _internal_operators_window__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(515); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "window", function() { return _internal_operators_window__WEBPACK_IMPORTED_MODULE_95__["window"]; }); -/* harmony import */ var _internal_operators_windowCount__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(517); +/* harmony import */ var _internal_operators_windowCount__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(516); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "windowCount", function() { return _internal_operators_windowCount__WEBPACK_IMPORTED_MODULE_96__["windowCount"]; }); -/* harmony import */ var _internal_operators_windowTime__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(518); +/* harmony import */ var _internal_operators_windowTime__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(517); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "windowTime", function() { return _internal_operators_windowTime__WEBPACK_IMPORTED_MODULE_97__["windowTime"]; }); -/* harmony import */ var _internal_operators_windowToggle__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(519); +/* harmony import */ var _internal_operators_windowToggle__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(518); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "windowToggle", function() { return _internal_operators_windowToggle__WEBPACK_IMPORTED_MODULE_98__["windowToggle"]; }); -/* harmony import */ var _internal_operators_windowWhen__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(520); +/* harmony import */ var _internal_operators_windowWhen__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(519); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "windowWhen", function() { return _internal_operators_windowWhen__WEBPACK_IMPORTED_MODULE_99__["windowWhen"]; }); -/* harmony import */ var _internal_operators_withLatestFrom__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(521); +/* harmony import */ var _internal_operators_withLatestFrom__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(520); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "withLatestFrom", function() { return _internal_operators_withLatestFrom__WEBPACK_IMPORTED_MODULE_100__["withLatestFrom"]; }); -/* harmony import */ var _internal_operators_zip__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(522); +/* harmony import */ var _internal_operators_zip__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(521); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "zip", function() { return _internal_operators_zip__WEBPACK_IMPORTED_MODULE_101__["zip"]; }); -/* harmony import */ var _internal_operators_zipAll__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(523); +/* harmony import */ var _internal_operators_zipAll__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(522); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "zipAll", function() { return _internal_operators_zipAll__WEBPACK_IMPORTED_MODULE_102__["zipAll"]; }); /** PURE_IMPORTS_START PURE_IMPORTS_END */ @@ -53115,7 +53245,7 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/* 427 */ +/* 426 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53194,14 +53324,14 @@ var AuditSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 428 */ +/* 427 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "auditTime", function() { return auditTime; }); /* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(56); -/* harmony import */ var _audit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(427); +/* harmony import */ var _audit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(426); /* harmony import */ var _observable_timer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(109); /** PURE_IMPORTS_START _scheduler_async,_audit,_observable_timer PURE_IMPORTS_END */ @@ -53217,7 +53347,7 @@ function auditTime(duration, scheduler) { /***/ }), -/* 429 */ +/* 428 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53264,7 +53394,7 @@ var BufferSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 430 */ +/* 429 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53365,7 +53495,7 @@ var BufferSkipCountSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 431 */ +/* 430 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53526,7 +53656,7 @@ function dispatchBufferClose(arg) { /***/ }), -/* 432 */ +/* 431 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53645,7 +53775,7 @@ var BufferToggleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 433 */ +/* 432 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53738,7 +53868,7 @@ var BufferWhenSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 434 */ +/* 433 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53798,7 +53928,7 @@ var CatchSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 435 */ +/* 434 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53814,7 +53944,7 @@ function combineAll(project) { /***/ }), -/* 436 */ +/* 435 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53846,7 +53976,7 @@ function combineLatest() { /***/ }), -/* 437 */ +/* 436 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53866,7 +53996,7 @@ function concat() { /***/ }), -/* 438 */ +/* 437 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53882,13 +54012,13 @@ function concatMap(project, resultSelector) { /***/ }), -/* 439 */ +/* 438 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "concatMapTo", function() { return concatMapTo; }); -/* harmony import */ var _concatMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(438); +/* harmony import */ var _concatMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(437); /** PURE_IMPORTS_START _concatMap PURE_IMPORTS_END */ function concatMapTo(innerObservable, resultSelector) { @@ -53898,7 +54028,7 @@ function concatMapTo(innerObservable, resultSelector) { /***/ }), -/* 440 */ +/* 439 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -53963,7 +54093,7 @@ var CountSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 441 */ +/* 440 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54048,7 +54178,7 @@ var DebounceSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 442 */ +/* 441 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54124,7 +54254,7 @@ function dispatchNext(subscriber) { /***/ }), -/* 443 */ +/* 442 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54174,7 +54304,7 @@ var DefaultIfEmptySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 444 */ +/* 443 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54182,7 +54312,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "delay", function() { return delay; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13); /* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(56); -/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(445); +/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(444); /* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12); /* harmony import */ var _Notification__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(43); /** PURE_IMPORTS_START tslib,_scheduler_async,_util_isDate,_Subscriber,_Notification PURE_IMPORTS_END */ @@ -54281,7 +54411,7 @@ var DelayMessage = /*@__PURE__*/ (function () { /***/ }), -/* 445 */ +/* 444 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54295,7 +54425,7 @@ function isDate(value) { /***/ }), -/* 446 */ +/* 445 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54441,7 +54571,7 @@ var SubscriptionDelaySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 447 */ +/* 446 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54479,7 +54609,7 @@ var DeMaterializeSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 448 */ +/* 447 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54555,7 +54685,7 @@ var DistinctSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 449 */ +/* 448 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54626,13 +54756,13 @@ var DistinctUntilChangedSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 450 */ +/* 449 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "distinctUntilKeyChanged", function() { return distinctUntilKeyChanged; }); -/* harmony import */ var _distinctUntilChanged__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(449); +/* harmony import */ var _distinctUntilChanged__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(448); /** PURE_IMPORTS_START _distinctUntilChanged PURE_IMPORTS_END */ function distinctUntilKeyChanged(key, compare) { @@ -54642,7 +54772,7 @@ function distinctUntilKeyChanged(key, compare) { /***/ }), -/* 451 */ +/* 450 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54650,9 +54780,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "elementAt", function() { return elementAt; }); /* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63); /* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(106); -/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(452); -/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(443); -/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(453); +/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(451); +/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(442); +/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(452); /** PURE_IMPORTS_START _util_ArgumentOutOfRangeError,_filter,_throwIfEmpty,_defaultIfEmpty,_take PURE_IMPORTS_END */ @@ -54674,7 +54804,7 @@ function elementAt(index, defaultValue) { /***/ }), -/* 452 */ +/* 451 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54740,7 +54870,7 @@ function defaultErrorFactory() { /***/ }), -/* 453 */ +/* 452 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54802,7 +54932,7 @@ var TakeSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 454 */ +/* 453 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54824,7 +54954,7 @@ function endWith() { /***/ }), -/* 455 */ +/* 454 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54886,7 +55016,7 @@ var EverySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 456 */ +/* 455 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54940,7 +55070,7 @@ var SwitchFirstSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 457 */ +/* 456 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55034,7 +55164,7 @@ var ExhaustMapSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 458 */ +/* 457 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55146,7 +55276,7 @@ var ExpandSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 459 */ +/* 458 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55184,7 +55314,7 @@ var FinallySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 460 */ +/* 459 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55256,13 +55386,13 @@ var FindValueSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 461 */ +/* 460 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findIndex", function() { return findIndex; }); -/* harmony import */ var _operators_find__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(460); +/* harmony import */ var _operators_find__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(459); /** PURE_IMPORTS_START _operators_find PURE_IMPORTS_END */ function findIndex(predicate, thisArg) { @@ -55272,7 +55402,7 @@ function findIndex(predicate, thisArg) { /***/ }), -/* 462 */ +/* 461 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55280,9 +55410,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "first", function() { return first; }); /* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64); /* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(106); -/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(453); -/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(443); -/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(452); +/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(452); +/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(442); +/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(451); /* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(26); /** PURE_IMPORTS_START _util_EmptyError,_filter,_take,_defaultIfEmpty,_throwIfEmpty,_util_identity PURE_IMPORTS_END */ @@ -55299,7 +55429,7 @@ function first(predicate, defaultValue) { /***/ }), -/* 463 */ +/* 462 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55336,7 +55466,7 @@ var IgnoreElementsSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 464 */ +/* 463 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55380,7 +55510,7 @@ var IsEmptySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 465 */ +/* 464 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55388,9 +55518,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "last", function() { return last; }); /* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64); /* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(106); -/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(466); -/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(452); -/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(443); +/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(465); +/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(451); +/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(442); /* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(26); /** PURE_IMPORTS_START _util_EmptyError,_filter,_takeLast,_throwIfEmpty,_defaultIfEmpty,_util_identity PURE_IMPORTS_END */ @@ -55407,7 +55537,7 @@ function last(predicate, defaultValue) { /***/ }), -/* 466 */ +/* 465 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55484,7 +55614,7 @@ var TakeLastSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 467 */ +/* 466 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55523,7 +55653,7 @@ var MapToSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 468 */ +/* 467 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55573,13 +55703,13 @@ var MaterializeSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 469 */ +/* 468 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "max", function() { return max; }); -/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(470); +/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(469); /** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */ function max(comparer) { @@ -55592,15 +55722,15 @@ function max(comparer) { /***/ }), -/* 470 */ +/* 469 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reduce", function() { return reduce; }); -/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(471); -/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(466); -/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(443); +/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(470); +/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(465); +/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(442); /* harmony import */ var _util_pipe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(25); /** PURE_IMPORTS_START _scan,_takeLast,_defaultIfEmpty,_util_pipe PURE_IMPORTS_END */ @@ -55621,7 +55751,7 @@ function reduce(accumulator, seed) { /***/ }), -/* 471 */ +/* 470 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55703,7 +55833,7 @@ var ScanSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 472 */ +/* 471 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55723,7 +55853,7 @@ function merge() { /***/ }), -/* 473 */ +/* 472 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55748,7 +55878,7 @@ function mergeMapTo(innerObservable, resultSelector, concurrent) { /***/ }), -/* 474 */ +/* 473 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55857,13 +55987,13 @@ var MergeScanSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 475 */ +/* 474 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "min", function() { return min; }); -/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(470); +/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(469); /** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */ function min(comparer) { @@ -55876,7 +56006,7 @@ function min(comparer) { /***/ }), -/* 476 */ +/* 475 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -55925,7 +56055,7 @@ var MulticastOperator = /*@__PURE__*/ (function () { /***/ }), -/* 477 */ +/* 476 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56015,7 +56145,7 @@ var OnErrorResumeNextSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 478 */ +/* 477 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56063,7 +56193,7 @@ var PairwiseSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 479 */ +/* 478 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56086,7 +56216,7 @@ function partition(predicate, thisArg) { /***/ }), -/* 480 */ +/* 479 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56126,14 +56256,14 @@ function plucker(props, length) { /***/ }), -/* 481 */ +/* 480 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "publish", function() { return publish; }); /* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(28); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(476); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(475); /** PURE_IMPORTS_START _Subject,_multicast PURE_IMPORTS_END */ @@ -56146,14 +56276,14 @@ function publish(selector) { /***/ }), -/* 482 */ +/* 481 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "publishBehavior", function() { return publishBehavior; }); /* harmony import */ var _BehaviorSubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(33); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(476); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(475); /** PURE_IMPORTS_START _BehaviorSubject,_multicast PURE_IMPORTS_END */ @@ -56164,14 +56294,14 @@ function publishBehavior(value) { /***/ }), -/* 483 */ +/* 482 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "publishLast", function() { return publishLast; }); /* harmony import */ var _AsyncSubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(476); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(475); /** PURE_IMPORTS_START _AsyncSubject,_multicast PURE_IMPORTS_END */ @@ -56182,14 +56312,14 @@ function publishLast() { /***/ }), -/* 484 */ +/* 483 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "publishReplay", function() { return publishReplay; }); /* harmony import */ var _ReplaySubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(476); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(475); /** PURE_IMPORTS_START _ReplaySubject,_multicast PURE_IMPORTS_END */ @@ -56205,7 +56335,7 @@ function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) { /***/ }), -/* 485 */ +/* 484 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56232,7 +56362,7 @@ function race() { /***/ }), -/* 486 */ +/* 485 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56297,7 +56427,7 @@ var RepeatSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 487 */ +/* 486 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56391,7 +56521,7 @@ var RepeatWhenSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 488 */ +/* 487 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56444,7 +56574,7 @@ var RetrySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 489 */ +/* 488 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56530,7 +56660,7 @@ var RetryWhenSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 490 */ +/* 489 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56585,7 +56715,7 @@ var SampleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 491 */ +/* 490 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56645,7 +56775,7 @@ function dispatchNotification(state) { /***/ }), -/* 492 */ +/* 491 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56768,13 +56898,13 @@ var SequenceEqualCompareToSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 493 */ +/* 492 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "share", function() { return share; }); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(476); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(475); /* harmony import */ var _refCount__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(31); /* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(28); /** PURE_IMPORTS_START _multicast,_refCount,_Subject PURE_IMPORTS_END */ @@ -56791,7 +56921,7 @@ function share() { /***/ }), -/* 494 */ +/* 493 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56860,7 +56990,7 @@ function shareReplayOperator(_a) { /***/ }), -/* 495 */ +/* 494 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56940,7 +57070,7 @@ var SingleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 496 */ +/* 495 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -56982,7 +57112,7 @@ var SkipSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 497 */ +/* 496 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57044,7 +57174,7 @@ var SkipLastSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 498 */ +/* 497 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57101,7 +57231,7 @@ var SkipUntilSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 499 */ +/* 498 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57157,7 +57287,7 @@ var SkipWhileSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 500 */ +/* 499 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57186,13 +57316,13 @@ function startWith() { /***/ }), -/* 501 */ +/* 500 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "subscribeOn", function() { return subscribeOn; }); -/* harmony import */ var _observable_SubscribeOnObservable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(502); +/* harmony import */ var _observable_SubscribeOnObservable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(501); /** PURE_IMPORTS_START _observable_SubscribeOnObservable PURE_IMPORTS_END */ function subscribeOn(scheduler, delay) { @@ -57217,7 +57347,7 @@ var SubscribeOnOperator = /*@__PURE__*/ (function () { /***/ }), -/* 502 */ +/* 501 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57281,13 +57411,13 @@ var SubscribeOnObservable = /*@__PURE__*/ (function (_super) { /***/ }), -/* 503 */ +/* 502 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "switchAll", function() { return switchAll; }); -/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(504); +/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(503); /* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26); /** PURE_IMPORTS_START _switchMap,_util_identity PURE_IMPORTS_END */ @@ -57299,7 +57429,7 @@ function switchAll() { /***/ }), -/* 504 */ +/* 503 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57387,13 +57517,13 @@ var SwitchMapSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 505 */ +/* 504 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "switchMapTo", function() { return switchMapTo; }); -/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(504); +/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(503); /** PURE_IMPORTS_START _switchMap PURE_IMPORTS_END */ function switchMapTo(innerObservable, resultSelector) { @@ -57403,7 +57533,7 @@ function switchMapTo(innerObservable, resultSelector) { /***/ }), -/* 506 */ +/* 505 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57451,7 +57581,7 @@ var TakeUntilSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 507 */ +/* 506 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57519,7 +57649,7 @@ var TakeWhileSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 508 */ +/* 507 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57607,7 +57737,7 @@ var TapSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 509 */ +/* 508 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57709,7 +57839,7 @@ var ThrottleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 510 */ +/* 509 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57718,7 +57848,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13); /* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12); /* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(56); -/* harmony import */ var _throttle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(509); +/* harmony import */ var _throttle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(508); /** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async,_throttle PURE_IMPORTS_END */ @@ -57807,7 +57937,7 @@ function dispatchNext(arg) { /***/ }), -/* 511 */ +/* 510 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57815,7 +57945,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeInterval", function() { return timeInterval; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TimeInterval", function() { return TimeInterval; }); /* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(56); -/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(471); +/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(470); /* harmony import */ var _observable_defer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(92); /* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(67); /** PURE_IMPORTS_START _scheduler_async,_scan,_observable_defer,_map PURE_IMPORTS_END */ @@ -57851,7 +57981,7 @@ var TimeInterval = /*@__PURE__*/ (function () { /***/ }), -/* 512 */ +/* 511 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57859,7 +57989,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeout", function() { return timeout; }); /* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(56); /* harmony import */ var _util_TimeoutError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65); -/* harmony import */ var _timeoutWith__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(513); +/* harmony import */ var _timeoutWith__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(512); /* harmony import */ var _observable_throwError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(50); /** PURE_IMPORTS_START _scheduler_async,_util_TimeoutError,_timeoutWith,_observable_throwError PURE_IMPORTS_END */ @@ -57876,7 +58006,7 @@ function timeout(due, scheduler) { /***/ }), -/* 513 */ +/* 512 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57884,7 +58014,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeoutWith", function() { return timeoutWith; }); /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13); /* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(56); -/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(445); +/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(444); /* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(91); /** PURE_IMPORTS_START tslib,_scheduler_async,_util_isDate,_innerSubscribe PURE_IMPORTS_END */ @@ -57955,7 +58085,7 @@ var TimeoutWithSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 514 */ +/* 513 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -57985,13 +58115,13 @@ var Timestamp = /*@__PURE__*/ (function () { /***/ }), -/* 515 */ +/* 514 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toArray", function() { return toArray; }); -/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(470); +/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(469); /** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */ function toArrayReducer(arr, item, index) { @@ -58008,7 +58138,7 @@ function toArray() { /***/ }), -/* 516 */ +/* 515 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -58086,7 +58216,7 @@ var WindowSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 517 */ +/* 516 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -58176,7 +58306,7 @@ var WindowCountSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 518 */ +/* 517 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -58346,7 +58476,7 @@ function dispatchWindowClose(state) { /***/ }), -/* 519 */ +/* 518 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -58489,7 +58619,7 @@ var WindowToggleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 520 */ +/* 519 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -58586,7 +58716,7 @@ var WindowSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 521 */ +/* 520 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -58681,7 +58811,7 @@ var WithLatestFromSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 522 */ +/* 521 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -58703,7 +58833,7 @@ function zip() { /***/ }), -/* 523 */ +/* 522 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -58719,7 +58849,7 @@ function zipAll(project) { /***/ }), -/* 524 */ +/* 523 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -58729,7 +58859,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _observe_lines = __webpack_require__(525); +var _observe_lines = __webpack_require__(524); Object.keys(_observe_lines).forEach(function (key) { if (key === "default" || key === "__esModule") return; @@ -58742,7 +58872,7 @@ Object.keys(_observe_lines).forEach(function (key) { }); }); -var _observe_readable = __webpack_require__(526); +var _observe_readable = __webpack_require__(525); Object.keys(_observe_readable).forEach(function (key) { if (key === "default" || key === "__esModule") return; @@ -58756,7 +58886,7 @@ Object.keys(_observe_readable).forEach(function (key) { }); /***/ }), -/* 525 */ +/* 524 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -58769,9 +58899,9 @@ exports.observeLines = observeLines; var Rx = _interopRequireWildcard(__webpack_require__(9)); -var _operators = __webpack_require__(426); +var _operators = __webpack_require__(425); -var _observe_readable = __webpack_require__(526); +var _observe_readable = __webpack_require__(525); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } @@ -58834,7 +58964,7 @@ function observeLines(readable) { } /***/ }), -/* 526 */ +/* 525 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -58847,7 +58977,7 @@ exports.observeReadable = observeReadable; var Rx = _interopRequireWildcard(__webpack_require__(9)); -var _operators = __webpack_require__(426); +var _operators = __webpack_require__(425); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } @@ -58870,10 +59000,144 @@ function observeReadable(readable) { return Rx.race(Rx.fromEvent(readable, 'end').pipe((0, _operators.first)(), (0, _operators.ignoreElements)()), Rx.fromEvent(readable, 'error').pipe((0, _operators.first)(), (0, _operators.mergeMap)(err => Rx.throwError(err)))); } +/***/ }), +/* 526 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeYarnIntegrityFileIfExists", function() { return removeYarnIntegrityFileIfExists; }); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(231); +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + + +async function removeYarnIntegrityFileIfExists(nodeModulesPath) { + try { + const nodeModulesRealPath = await Object(_fs__WEBPACK_IMPORTED_MODULE_1__["tryRealpath"])(nodeModulesPath); + const yarnIntegrityFilePath = Object(path__WEBPACK_IMPORTED_MODULE_0__["join"])(nodeModulesRealPath, '.yarn-integrity'); // check if the file exists and delete it in that case + + if (await Object(_fs__WEBPACK_IMPORTED_MODULE_1__["isFile"])(yarnIntegrityFilePath)) { + await Object(_fs__WEBPACK_IMPORTED_MODULE_1__["unlink"])(yarnIntegrityFilePath); + } + } catch {// no-op + } +} + /***/ }), /* 527 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setupRemoteCache", function() { return setupRemoteCache; }); +/* harmony import */ var dedent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); +/* harmony import */ var dedent__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dedent__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(132); +/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); +/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _child_process__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(221); +/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(220); +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + + + + + + +async function isVaultAvailable() { + try { + await Object(_child_process__WEBPACK_IMPORTED_MODULE_3__["spawn"])('vault', ['--version'], { + stdio: 'pipe' + }); + return true; + } catch { + return false; + } +} + +async function isElasticCommitter() { + try { + const { + stdout: email + } = await Object(_child_process__WEBPACK_IMPORTED_MODULE_3__["spawn"])('git', ['config', 'user.email'], { + stdio: 'pipe' + }); + return email.trim().endsWith('@elastic.co'); + } catch { + return false; + } +} + +async function setupRemoteCache(repoRootPath) { + // The remote cache is only for Elastic employees working locally (CI cache settings are handled elsewhere) + if (process.env.CI || !(await isElasticCommitter())) { + return; + } + + _log__WEBPACK_IMPORTED_MODULE_4__["log"].debug(`[bazel_tools] setting up remote cache settings if necessary`); + const settingsPath = Object(path__WEBPACK_IMPORTED_MODULE_2__["resolve"])(repoRootPath, '.bazelrc.cache'); + + if (Object(fs__WEBPACK_IMPORTED_MODULE_1__["existsSync"])(settingsPath)) { + _log__WEBPACK_IMPORTED_MODULE_4__["log"].debug(`[bazel_tools] remote cache settings already exist, skipping`); + return; + } + + if (!(await isVaultAvailable())) { + _log__WEBPACK_IMPORTED_MODULE_4__["log"].info('[bazel_tools] vault is not available, unable to setup remote cache settings.'); + _log__WEBPACK_IMPORTED_MODULE_4__["log"].info('[bazel_tools] building packages will work, but will be slower in many cases.'); + _log__WEBPACK_IMPORTED_MODULE_4__["log"].info('[bazel_tools] reach out to Operations if you need assistance with this.'); + return; + } + + let apiKey = ''; + + try { + const { + stdout + } = await Object(_child_process__WEBPACK_IMPORTED_MODULE_3__["spawn"])('vault', ['read', '-field=readonly-key', 'secret/ui-team/kibana-bazel-remote-cache'], { + stdio: 'pipe' + }); + apiKey = stdout.trim(); + } catch (ex) { + _log__WEBPACK_IMPORTED_MODULE_4__["log"].info('[bazel_tools] unable to read bazel remote cache key from vault, are you authenticated?'); + _log__WEBPACK_IMPORTED_MODULE_4__["log"].info('[bazel_tools] building packages will work, but will be slower in many cases.'); + _log__WEBPACK_IMPORTED_MODULE_4__["log"].info('[bazel_tools] reach out to Operations if you need assistance with this.'); + _log__WEBPACK_IMPORTED_MODULE_4__["log"].info(`[bazel_tools] ${ex}`); + return; + } + + const contents = dedent__WEBPACK_IMPORTED_MODULE_0___default.a` + # V1 - This file is automatically generated by 'yarn kbn bootstrap' + # To regenerate this file, delete it and run 'yarn kbn bootstrap' again. + build --bes_results_url=https://app.buildbuddy.io/invocation/ + build --bes_backend=grpcs://cloud.buildbuddy.io + build --remote_cache=grpcs://cloud.buildbuddy.io + build --remote_timeout=3600 + build --remote_header=${apiKey} + `; + Object(fs__WEBPACK_IMPORTED_MODULE_1__["writeFileSync"])(settingsPath, contents); + _log__WEBPACK_IMPORTED_MODULE_4__["log"].info(`[bazel_tools] remote cache settings written to ${settingsPath}`); +} + +/***/ }), +/* 528 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BuildCommand", function() { return BuildCommand; }); @@ -58905,7 +59169,7 @@ const BuildCommand = { }; /***/ }), -/* 528 */ +/* 529 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -58915,7 +59179,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var dedent__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dedent__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(240); /* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(del__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(529); +/* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(530); /* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(ora__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_3__); @@ -58937,7 +59201,7 @@ __webpack_require__.r(__webpack_exports__); const CleanCommand = { - description: 'Deletes output directories, node_modules and resets internal caches.', + description: 'Deletes output directories and resets internal caches.', name: 'clean', reportTiming: { group: 'scripts/kbn clean', @@ -58946,20 +59210,15 @@ const CleanCommand = { async run(projects) { _utils_log__WEBPACK_IMPORTED_MODULE_6__["log"].warning(dedent__WEBPACK_IMPORTED_MODULE_0___default.a` - This command is only necessary for the rare circumstance where you need to recover a consistent + This command is only necessary for the circumstance where you need to recover a consistent state when problems arise. If you need to run this command often, please let us know by - filling out this form: https://ela.st/yarn-kbn-clean + filling out this form: https://ela.st/yarn-kbn-clean. + Please not it might not solve problems with node_modules. To solve problems around node_modules + you might need to run 'yarn kbn reset'. `); const toDelete = []; for (const project of projects.values()) { - if (await Object(_utils_fs__WEBPACK_IMPORTED_MODULE_5__["isDirectory"])(project.nodeModulesLocation)) { - toDelete.push({ - cwd: project.path, - pattern: Object(path__WEBPACK_IMPORTED_MODULE_3__["relative"])(project.path, project.nodeModulesLocation) - }); - } - if (await Object(_utils_fs__WEBPACK_IMPORTED_MODULE_5__["isDirectory"])(project.targetLocation)) { toDelete.push({ cwd: project.path, @@ -59022,20 +59281,20 @@ const CleanCommand = { }; /***/ }), -/* 529 */ +/* 530 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const readline = __webpack_require__(530); -const chalk = __webpack_require__(531); -const cliCursor = __webpack_require__(534); -const cliSpinners = __webpack_require__(536); -const logSymbols = __webpack_require__(538); -const stripAnsi = __webpack_require__(544); -const wcwidth = __webpack_require__(546); -const isInteractive = __webpack_require__(550); -const MuteStream = __webpack_require__(551); +const readline = __webpack_require__(531); +const chalk = __webpack_require__(532); +const cliCursor = __webpack_require__(535); +const cliSpinners = __webpack_require__(537); +const logSymbols = __webpack_require__(539); +const stripAnsi = __webpack_require__(545); +const wcwidth = __webpack_require__(547); +const isInteractive = __webpack_require__(551); +const MuteStream = __webpack_require__(552); const TEXT = Symbol('text'); const PREFIX_TEXT = Symbol('prefixText'); @@ -59388,13 +59647,13 @@ module.exports.promise = (action, options) => { /***/ }), -/* 530 */ +/* 531 */ /***/ (function(module, exports) { module.exports = require("readline"); /***/ }), -/* 531 */ +/* 532 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -59404,7 +59663,7 @@ const {stdout: stdoutColor, stderr: stderrColor} = __webpack_require__(121); const { stringReplaceAll, stringEncaseCRLFWithFirstIndex -} = __webpack_require__(532); +} = __webpack_require__(533); // `supportsColor.level` → `ansiStyles.color[name]` mapping const levelMapping = [ @@ -59605,7 +59864,7 @@ const chalkTag = (chalk, ...strings) => { } if (template === undefined) { - template = __webpack_require__(533); + template = __webpack_require__(534); } return template(chalk, parts.join('')); @@ -59634,7 +59893,7 @@ module.exports = chalk; /***/ }), -/* 532 */ +/* 533 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -59680,7 +59939,7 @@ module.exports = { /***/ }), -/* 533 */ +/* 534 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -59821,12 +60080,12 @@ module.exports = (chalk, temporary) => { /***/ }), -/* 534 */ +/* 535 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const restoreCursor = __webpack_require__(535); +const restoreCursor = __webpack_require__(536); let isHidden = false; @@ -59863,7 +60122,7 @@ exports.toggle = (force, writableStream) => { /***/ }), -/* 535 */ +/* 536 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -59879,13 +60138,13 @@ module.exports = onetime(() => { /***/ }), -/* 536 */ +/* 537 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const spinners = Object.assign({}, __webpack_require__(537)); +const spinners = Object.assign({}, __webpack_require__(538)); const spinnersList = Object.keys(spinners); @@ -59903,18 +60162,18 @@ module.exports.default = spinners; /***/ }), -/* 537 */ +/* 538 */ /***/ (function(module) { module.exports = JSON.parse("{\"dots\":{\"interval\":80,\"frames\":[\"⠋\",\"⠙\",\"⠹\",\"⠸\",\"⠼\",\"⠴\",\"⠦\",\"⠧\",\"⠇\",\"⠏\"]},\"dots2\":{\"interval\":80,\"frames\":[\"⣾\",\"⣽\",\"⣻\",\"⢿\",\"⡿\",\"⣟\",\"⣯\",\"⣷\"]},\"dots3\":{\"interval\":80,\"frames\":[\"⠋\",\"⠙\",\"⠚\",\"⠞\",\"⠖\",\"⠦\",\"⠴\",\"⠲\",\"⠳\",\"⠓\"]},\"dots4\":{\"interval\":80,\"frames\":[\"⠄\",\"⠆\",\"⠇\",\"⠋\",\"⠙\",\"⠸\",\"⠰\",\"⠠\",\"⠰\",\"⠸\",\"⠙\",\"⠋\",\"⠇\",\"⠆\"]},\"dots5\":{\"interval\":80,\"frames\":[\"⠋\",\"⠙\",\"⠚\",\"⠒\",\"⠂\",\"⠂\",\"⠒\",\"⠲\",\"⠴\",\"⠦\",\"⠖\",\"⠒\",\"⠐\",\"⠐\",\"⠒\",\"⠓\",\"⠋\"]},\"dots6\":{\"interval\":80,\"frames\":[\"⠁\",\"⠉\",\"⠙\",\"⠚\",\"⠒\",\"⠂\",\"⠂\",\"⠒\",\"⠲\",\"⠴\",\"⠤\",\"⠄\",\"⠄\",\"⠤\",\"⠴\",\"⠲\",\"⠒\",\"⠂\",\"⠂\",\"⠒\",\"⠚\",\"⠙\",\"⠉\",\"⠁\"]},\"dots7\":{\"interval\":80,\"frames\":[\"⠈\",\"⠉\",\"⠋\",\"⠓\",\"⠒\",\"⠐\",\"⠐\",\"⠒\",\"⠖\",\"⠦\",\"⠤\",\"⠠\",\"⠠\",\"⠤\",\"⠦\",\"⠖\",\"⠒\",\"⠐\",\"⠐\",\"⠒\",\"⠓\",\"⠋\",\"⠉\",\"⠈\"]},\"dots8\":{\"interval\":80,\"frames\":[\"⠁\",\"⠁\",\"⠉\",\"⠙\",\"⠚\",\"⠒\",\"⠂\",\"⠂\",\"⠒\",\"⠲\",\"⠴\",\"⠤\",\"⠄\",\"⠄\",\"⠤\",\"⠠\",\"⠠\",\"⠤\",\"⠦\",\"⠖\",\"⠒\",\"⠐\",\"⠐\",\"⠒\",\"⠓\",\"⠋\",\"⠉\",\"⠈\",\"⠈\"]},\"dots9\":{\"interval\":80,\"frames\":[\"⢹\",\"⢺\",\"⢼\",\"⣸\",\"⣇\",\"⡧\",\"⡗\",\"⡏\"]},\"dots10\":{\"interval\":80,\"frames\":[\"⢄\",\"⢂\",\"⢁\",\"⡁\",\"⡈\",\"⡐\",\"⡠\"]},\"dots11\":{\"interval\":100,\"frames\":[\"⠁\",\"⠂\",\"⠄\",\"⡀\",\"⢀\",\"⠠\",\"⠐\",\"⠈\"]},\"dots12\":{\"interval\":80,\"frames\":[\"⢀⠀\",\"⡀⠀\",\"⠄⠀\",\"⢂⠀\",\"⡂⠀\",\"⠅⠀\",\"⢃⠀\",\"⡃⠀\",\"⠍⠀\",\"⢋⠀\",\"⡋⠀\",\"⠍⠁\",\"⢋⠁\",\"⡋⠁\",\"⠍⠉\",\"⠋⠉\",\"⠋⠉\",\"⠉⠙\",\"⠉⠙\",\"⠉⠩\",\"⠈⢙\",\"⠈⡙\",\"⢈⠩\",\"⡀⢙\",\"⠄⡙\",\"⢂⠩\",\"⡂⢘\",\"⠅⡘\",\"⢃⠨\",\"⡃⢐\",\"⠍⡐\",\"⢋⠠\",\"⡋⢀\",\"⠍⡁\",\"⢋⠁\",\"⡋⠁\",\"⠍⠉\",\"⠋⠉\",\"⠋⠉\",\"⠉⠙\",\"⠉⠙\",\"⠉⠩\",\"⠈⢙\",\"⠈⡙\",\"⠈⠩\",\"⠀⢙\",\"⠀⡙\",\"⠀⠩\",\"⠀⢘\",\"⠀⡘\",\"⠀⠨\",\"⠀⢐\",\"⠀⡐\",\"⠀⠠\",\"⠀⢀\",\"⠀⡀\"]},\"dots8Bit\":{\"interval\":80,\"frames\":[\"⠀\",\"⠁\",\"⠂\",\"⠃\",\"⠄\",\"⠅\",\"⠆\",\"⠇\",\"⡀\",\"⡁\",\"⡂\",\"⡃\",\"⡄\",\"⡅\",\"⡆\",\"⡇\",\"⠈\",\"⠉\",\"⠊\",\"⠋\",\"⠌\",\"⠍\",\"⠎\",\"⠏\",\"⡈\",\"⡉\",\"⡊\",\"⡋\",\"⡌\",\"⡍\",\"⡎\",\"⡏\",\"⠐\",\"⠑\",\"⠒\",\"⠓\",\"⠔\",\"⠕\",\"⠖\",\"⠗\",\"⡐\",\"⡑\",\"⡒\",\"⡓\",\"⡔\",\"⡕\",\"⡖\",\"⡗\",\"⠘\",\"⠙\",\"⠚\",\"⠛\",\"⠜\",\"⠝\",\"⠞\",\"⠟\",\"⡘\",\"⡙\",\"⡚\",\"⡛\",\"⡜\",\"⡝\",\"⡞\",\"⡟\",\"⠠\",\"⠡\",\"⠢\",\"⠣\",\"⠤\",\"⠥\",\"⠦\",\"⠧\",\"⡠\",\"⡡\",\"⡢\",\"⡣\",\"⡤\",\"⡥\",\"⡦\",\"⡧\",\"⠨\",\"⠩\",\"⠪\",\"⠫\",\"⠬\",\"⠭\",\"⠮\",\"⠯\",\"⡨\",\"⡩\",\"⡪\",\"⡫\",\"⡬\",\"⡭\",\"⡮\",\"⡯\",\"⠰\",\"⠱\",\"⠲\",\"⠳\",\"⠴\",\"⠵\",\"⠶\",\"⠷\",\"⡰\",\"⡱\",\"⡲\",\"⡳\",\"⡴\",\"⡵\",\"⡶\",\"⡷\",\"⠸\",\"⠹\",\"⠺\",\"⠻\",\"⠼\",\"⠽\",\"⠾\",\"⠿\",\"⡸\",\"⡹\",\"⡺\",\"⡻\",\"⡼\",\"⡽\",\"⡾\",\"⡿\",\"⢀\",\"⢁\",\"⢂\",\"⢃\",\"⢄\",\"⢅\",\"⢆\",\"⢇\",\"⣀\",\"⣁\",\"⣂\",\"⣃\",\"⣄\",\"⣅\",\"⣆\",\"⣇\",\"⢈\",\"⢉\",\"⢊\",\"⢋\",\"⢌\",\"⢍\",\"⢎\",\"⢏\",\"⣈\",\"⣉\",\"⣊\",\"⣋\",\"⣌\",\"⣍\",\"⣎\",\"⣏\",\"⢐\",\"⢑\",\"⢒\",\"⢓\",\"⢔\",\"⢕\",\"⢖\",\"⢗\",\"⣐\",\"⣑\",\"⣒\",\"⣓\",\"⣔\",\"⣕\",\"⣖\",\"⣗\",\"⢘\",\"⢙\",\"⢚\",\"⢛\",\"⢜\",\"⢝\",\"⢞\",\"⢟\",\"⣘\",\"⣙\",\"⣚\",\"⣛\",\"⣜\",\"⣝\",\"⣞\",\"⣟\",\"⢠\",\"⢡\",\"⢢\",\"⢣\",\"⢤\",\"⢥\",\"⢦\",\"⢧\",\"⣠\",\"⣡\",\"⣢\",\"⣣\",\"⣤\",\"⣥\",\"⣦\",\"⣧\",\"⢨\",\"⢩\",\"⢪\",\"⢫\",\"⢬\",\"⢭\",\"⢮\",\"⢯\",\"⣨\",\"⣩\",\"⣪\",\"⣫\",\"⣬\",\"⣭\",\"⣮\",\"⣯\",\"⢰\",\"⢱\",\"⢲\",\"⢳\",\"⢴\",\"⢵\",\"⢶\",\"⢷\",\"⣰\",\"⣱\",\"⣲\",\"⣳\",\"⣴\",\"⣵\",\"⣶\",\"⣷\",\"⢸\",\"⢹\",\"⢺\",\"⢻\",\"⢼\",\"⢽\",\"⢾\",\"⢿\",\"⣸\",\"⣹\",\"⣺\",\"⣻\",\"⣼\",\"⣽\",\"⣾\",\"⣿\"]},\"line\":{\"interval\":130,\"frames\":[\"-\",\"\\\\\",\"|\",\"/\"]},\"line2\":{\"interval\":100,\"frames\":[\"⠂\",\"-\",\"–\",\"—\",\"–\",\"-\"]},\"pipe\":{\"interval\":100,\"frames\":[\"┤\",\"┘\",\"┴\",\"└\",\"├\",\"┌\",\"┬\",\"┐\"]},\"simpleDots\":{\"interval\":400,\"frames\":[\". \",\".. \",\"...\",\" \"]},\"simpleDotsScrolling\":{\"interval\":200,\"frames\":[\". \",\".. \",\"...\",\" ..\",\" .\",\" \"]},\"star\":{\"interval\":70,\"frames\":[\"✶\",\"✸\",\"✹\",\"✺\",\"✹\",\"✷\"]},\"star2\":{\"interval\":80,\"frames\":[\"+\",\"x\",\"*\"]},\"flip\":{\"interval\":70,\"frames\":[\"_\",\"_\",\"_\",\"-\",\"`\",\"`\",\"'\",\"´\",\"-\",\"_\",\"_\",\"_\"]},\"hamburger\":{\"interval\":100,\"frames\":[\"☱\",\"☲\",\"☴\"]},\"growVertical\":{\"interval\":120,\"frames\":[\"▁\",\"▃\",\"▄\",\"▅\",\"▆\",\"▇\",\"▆\",\"▅\",\"▄\",\"▃\"]},\"growHorizontal\":{\"interval\":120,\"frames\":[\"▏\",\"▎\",\"▍\",\"▌\",\"▋\",\"▊\",\"▉\",\"▊\",\"▋\",\"▌\",\"▍\",\"▎\"]},\"balloon\":{\"interval\":140,\"frames\":[\" \",\".\",\"o\",\"O\",\"@\",\"*\",\" \"]},\"balloon2\":{\"interval\":120,\"frames\":[\".\",\"o\",\"O\",\"°\",\"O\",\"o\",\".\"]},\"noise\":{\"interval\":100,\"frames\":[\"▓\",\"▒\",\"░\"]},\"bounce\":{\"interval\":120,\"frames\":[\"⠁\",\"⠂\",\"⠄\",\"⠂\"]},\"boxBounce\":{\"interval\":120,\"frames\":[\"▖\",\"▘\",\"▝\",\"▗\"]},\"boxBounce2\":{\"interval\":100,\"frames\":[\"▌\",\"▀\",\"▐\",\"▄\"]},\"triangle\":{\"interval\":50,\"frames\":[\"◢\",\"◣\",\"◤\",\"◥\"]},\"arc\":{\"interval\":100,\"frames\":[\"◜\",\"◠\",\"◝\",\"◞\",\"◡\",\"◟\"]},\"circle\":{\"interval\":120,\"frames\":[\"◡\",\"⊙\",\"◠\"]},\"squareCorners\":{\"interval\":180,\"frames\":[\"◰\",\"◳\",\"◲\",\"◱\"]},\"circleQuarters\":{\"interval\":120,\"frames\":[\"◴\",\"◷\",\"◶\",\"◵\"]},\"circleHalves\":{\"interval\":50,\"frames\":[\"◐\",\"◓\",\"◑\",\"◒\"]},\"squish\":{\"interval\":100,\"frames\":[\"╫\",\"╪\"]},\"toggle\":{\"interval\":250,\"frames\":[\"⊶\",\"⊷\"]},\"toggle2\":{\"interval\":80,\"frames\":[\"▫\",\"▪\"]},\"toggle3\":{\"interval\":120,\"frames\":[\"□\",\"■\"]},\"toggle4\":{\"interval\":100,\"frames\":[\"■\",\"□\",\"▪\",\"▫\"]},\"toggle5\":{\"interval\":100,\"frames\":[\"▮\",\"▯\"]},\"toggle6\":{\"interval\":300,\"frames\":[\"ဝ\",\"၀\"]},\"toggle7\":{\"interval\":80,\"frames\":[\"⦾\",\"⦿\"]},\"toggle8\":{\"interval\":100,\"frames\":[\"◍\",\"◌\"]},\"toggle9\":{\"interval\":100,\"frames\":[\"◉\",\"◎\"]},\"toggle10\":{\"interval\":100,\"frames\":[\"㊂\",\"㊀\",\"㊁\"]},\"toggle11\":{\"interval\":50,\"frames\":[\"⧇\",\"⧆\"]},\"toggle12\":{\"interval\":120,\"frames\":[\"☗\",\"☖\"]},\"toggle13\":{\"interval\":80,\"frames\":[\"=\",\"*\",\"-\"]},\"arrow\":{\"interval\":100,\"frames\":[\"←\",\"↖\",\"↑\",\"↗\",\"→\",\"↘\",\"↓\",\"↙\"]},\"arrow2\":{\"interval\":80,\"frames\":[\"⬆️ \",\"↗️ \",\"➡️ \",\"↘️ \",\"⬇️ \",\"↙️ \",\"⬅️ \",\"↖️ \"]},\"arrow3\":{\"interval\":120,\"frames\":[\"▹▹▹▹▹\",\"▸▹▹▹▹\",\"▹▸▹▹▹\",\"▹▹▸▹▹\",\"▹▹▹▸▹\",\"▹▹▹▹▸\"]},\"bouncingBar\":{\"interval\":80,\"frames\":[\"[ ]\",\"[= ]\",\"[== ]\",\"[=== ]\",\"[ ===]\",\"[ ==]\",\"[ =]\",\"[ ]\",\"[ =]\",\"[ ==]\",\"[ ===]\",\"[====]\",\"[=== ]\",\"[== ]\",\"[= ]\"]},\"bouncingBall\":{\"interval\":80,\"frames\":[\"( ● )\",\"( ● )\",\"( ● )\",\"( ● )\",\"( ●)\",\"( ● )\",\"( ● )\",\"( ● )\",\"( ● )\",\"(● )\"]},\"smiley\":{\"interval\":200,\"frames\":[\"😄 \",\"😝 \"]},\"monkey\":{\"interval\":300,\"frames\":[\"🙈 \",\"🙈 \",\"🙉 \",\"🙊 \"]},\"hearts\":{\"interval\":100,\"frames\":[\"💛 \",\"💙 \",\"💜 \",\"💚 \",\"❤️ \"]},\"clock\":{\"interval\":100,\"frames\":[\"🕛 \",\"🕐 \",\"🕑 \",\"🕒 \",\"🕓 \",\"🕔 \",\"🕕 \",\"🕖 \",\"🕗 \",\"🕘 \",\"🕙 \",\"🕚 \"]},\"earth\":{\"interval\":180,\"frames\":[\"🌍 \",\"🌎 \",\"🌏 \"]},\"material\":{\"interval\":17,\"frames\":[\"█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"███████▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"████████▁▁▁▁▁▁▁▁▁▁▁▁\",\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\"██████████▁▁▁▁▁▁▁▁▁▁\",\"███████████▁▁▁▁▁▁▁▁▁\",\"█████████████▁▁▁▁▁▁▁\",\"██████████████▁▁▁▁▁▁\",\"██████████████▁▁▁▁▁▁\",\"▁██████████████▁▁▁▁▁\",\"▁██████████████▁▁▁▁▁\",\"▁██████████████▁▁▁▁▁\",\"▁▁██████████████▁▁▁▁\",\"▁▁▁██████████████▁▁▁\",\"▁▁▁▁█████████████▁▁▁\",\"▁▁▁▁██████████████▁▁\",\"▁▁▁▁██████████████▁▁\",\"▁▁▁▁▁██████████████▁\",\"▁▁▁▁▁██████████████▁\",\"▁▁▁▁▁██████████████▁\",\"▁▁▁▁▁▁██████████████\",\"▁▁▁▁▁▁██████████████\",\"▁▁▁▁▁▁▁█████████████\",\"▁▁▁▁▁▁▁█████████████\",\"▁▁▁▁▁▁▁▁████████████\",\"▁▁▁▁▁▁▁▁████████████\",\"▁▁▁▁▁▁▁▁▁███████████\",\"▁▁▁▁▁▁▁▁▁███████████\",\"▁▁▁▁▁▁▁▁▁▁██████████\",\"▁▁▁▁▁▁▁▁▁▁██████████\",\"▁▁▁▁▁▁▁▁▁▁▁▁████████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁███████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████\",\"█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████\",\"██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███\",\"██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███\",\"███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███\",\"████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██\",\"█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\"█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\"██████▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\"████████▁▁▁▁▁▁▁▁▁▁▁▁\",\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\"███████████▁▁▁▁▁▁▁▁▁\",\"████████████▁▁▁▁▁▁▁▁\",\"████████████▁▁▁▁▁▁▁▁\",\"██████████████▁▁▁▁▁▁\",\"██████████████▁▁▁▁▁▁\",\"▁██████████████▁▁▁▁▁\",\"▁██████████████▁▁▁▁▁\",\"▁▁▁█████████████▁▁▁▁\",\"▁▁▁▁▁████████████▁▁▁\",\"▁▁▁▁▁████████████▁▁▁\",\"▁▁▁▁▁▁███████████▁▁▁\",\"▁▁▁▁▁▁▁▁█████████▁▁▁\",\"▁▁▁▁▁▁▁▁█████████▁▁▁\",\"▁▁▁▁▁▁▁▁▁█████████▁▁\",\"▁▁▁▁▁▁▁▁▁█████████▁▁\",\"▁▁▁▁▁▁▁▁▁▁█████████▁\",\"▁▁▁▁▁▁▁▁▁▁▁████████▁\",\"▁▁▁▁▁▁▁▁▁▁▁████████▁\",\"▁▁▁▁▁▁▁▁▁▁▁▁███████▁\",\"▁▁▁▁▁▁▁▁▁▁▁▁███████▁\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁███████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁███████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\"]},\"moon\":{\"interval\":80,\"frames\":[\"🌑 \",\"🌒 \",\"🌓 \",\"🌔 \",\"🌕 \",\"🌖 \",\"🌗 \",\"🌘 \"]},\"runner\":{\"interval\":140,\"frames\":[\"🚶 \",\"🏃 \"]},\"pong\":{\"interval\":80,\"frames\":[\"▐⠂ ▌\",\"▐⠈ ▌\",\"▐ ⠂ ▌\",\"▐ ⠠ ▌\",\"▐ ⡀ ▌\",\"▐ ⠠ ▌\",\"▐ ⠂ ▌\",\"▐ ⠈ ▌\",\"▐ ⠂ ▌\",\"▐ ⠠ ▌\",\"▐ ⡀ ▌\",\"▐ ⠠ ▌\",\"▐ ⠂ ▌\",\"▐ ⠈ ▌\",\"▐ ⠂▌\",\"▐ ⠠▌\",\"▐ ⡀▌\",\"▐ ⠠ ▌\",\"▐ ⠂ ▌\",\"▐ ⠈ ▌\",\"▐ ⠂ ▌\",\"▐ ⠠ ▌\",\"▐ ⡀ ▌\",\"▐ ⠠ ▌\",\"▐ ⠂ ▌\",\"▐ ⠈ ▌\",\"▐ ⠂ ▌\",\"▐ ⠠ ▌\",\"▐ ⡀ ▌\",\"▐⠠ ▌\"]},\"shark\":{\"interval\":120,\"frames\":[\"▐|\\\\____________▌\",\"▐_|\\\\___________▌\",\"▐__|\\\\__________▌\",\"▐___|\\\\_________▌\",\"▐____|\\\\________▌\",\"▐_____|\\\\_______▌\",\"▐______|\\\\______▌\",\"▐_______|\\\\_____▌\",\"▐________|\\\\____▌\",\"▐_________|\\\\___▌\",\"▐__________|\\\\__▌\",\"▐___________|\\\\_▌\",\"▐____________|\\\\▌\",\"▐____________/|▌\",\"▐___________/|_▌\",\"▐__________/|__▌\",\"▐_________/|___▌\",\"▐________/|____▌\",\"▐_______/|_____▌\",\"▐______/|______▌\",\"▐_____/|_______▌\",\"▐____/|________▌\",\"▐___/|_________▌\",\"▐__/|__________▌\",\"▐_/|___________▌\",\"▐/|____________▌\"]},\"dqpb\":{\"interval\":100,\"frames\":[\"d\",\"q\",\"p\",\"b\"]},\"weather\":{\"interval\":100,\"frames\":[\"☀️ \",\"☀️ \",\"☀️ \",\"🌤 \",\"⛅️ \",\"🌥 \",\"☁️ \",\"🌧 \",\"🌨 \",\"🌧 \",\"🌨 \",\"🌧 \",\"🌨 \",\"⛈ \",\"🌨 \",\"🌧 \",\"🌨 \",\"☁️ \",\"🌥 \",\"⛅️ \",\"🌤 \",\"☀️ \",\"☀️ \"]},\"christmas\":{\"interval\":400,\"frames\":[\"🌲\",\"🎄\"]},\"grenade\":{\"interval\":80,\"frames\":[\"، \",\"′ \",\" ´ \",\" ‾ \",\" ⸌\",\" ⸊\",\" |\",\" ⁎\",\" ⁕\",\" ෴ \",\" ⁓\",\" \",\" \",\" \"]},\"point\":{\"interval\":125,\"frames\":[\"∙∙∙\",\"●∙∙\",\"∙●∙\",\"∙∙●\",\"∙∙∙\"]},\"layer\":{\"interval\":150,\"frames\":[\"-\",\"=\",\"≡\"]},\"betaWave\":{\"interval\":80,\"frames\":[\"ρββββββ\",\"βρβββββ\",\"ββρββββ\",\"βββρβββ\",\"ββββρββ\",\"βββββρβ\",\"ββββββρ\"]},\"aesthetic\":{\"interval\":80,\"frames\":[\"▰▱▱▱▱▱▱\",\"▰▰▱▱▱▱▱\",\"▰▰▰▱▱▱▱\",\"▰▰▰▰▱▱▱\",\"▰▰▰▰▰▱▱\",\"▰▰▰▰▰▰▱\",\"▰▰▰▰▰▰▰\",\"▰▱▱▱▱▱▱\"]}}"); /***/ }), -/* 538 */ +/* 539 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const chalk = __webpack_require__(539); +const chalk = __webpack_require__(540); const isSupported = process.platform !== 'win32' || process.env.CI || process.env.TERM === 'xterm-256color'; @@ -59936,16 +60195,16 @@ module.exports = isSupported ? main : fallbacks; /***/ }), -/* 539 */ +/* 540 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const escapeStringRegexp = __webpack_require__(357); -const ansiStyles = __webpack_require__(540); -const stdoutColor = __webpack_require__(541).stdout; +const ansiStyles = __webpack_require__(541); +const stdoutColor = __webpack_require__(542).stdout; -const template = __webpack_require__(543); +const template = __webpack_require__(544); const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); @@ -60171,7 +60430,7 @@ module.exports.default = module.exports; // For TypeScript /***/ }), -/* 540 */ +/* 541 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60344,13 +60603,13 @@ Object.defineProperty(module, 'exports', { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(116)(module))) /***/ }), -/* 541 */ +/* 542 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const os = __webpack_require__(122); -const hasFlag = __webpack_require__(542); +const hasFlag = __webpack_require__(543); const env = process.env; @@ -60482,7 +60741,7 @@ module.exports = { /***/ }), -/* 542 */ +/* 543 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60497,7 +60756,7 @@ module.exports = (flag, argv) => { /***/ }), -/* 543 */ +/* 544 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60632,18 +60891,18 @@ module.exports = (chalk, tmp) => { /***/ }), -/* 544 */ +/* 545 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const ansiRegex = __webpack_require__(545); +const ansiRegex = __webpack_require__(546); module.exports = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string; /***/ }), -/* 545 */ +/* 546 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60660,14 +60919,14 @@ module.exports = ({onlyFirst = false} = {}) => { /***/ }), -/* 546 */ +/* 547 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var defaults = __webpack_require__(547) -var combining = __webpack_require__(549) +var defaults = __webpack_require__(548) +var combining = __webpack_require__(550) var DEFAULTS = { nul: 0, @@ -60766,10 +61025,10 @@ function bisearch(ucs) { /***/ }), -/* 547 */ +/* 548 */ /***/ (function(module, exports, __webpack_require__) { -var clone = __webpack_require__(548); +var clone = __webpack_require__(549); module.exports = function(options, defaults) { options = options || {}; @@ -60784,7 +61043,7 @@ module.exports = function(options, defaults) { }; /***/ }), -/* 548 */ +/* 549 */ /***/ (function(module, exports, __webpack_require__) { var clone = (function() { @@ -60956,7 +61215,7 @@ if ( true && module.exports) { /***/ }), -/* 549 */ +/* 550 */ /***/ (function(module, exports) { module.exports = [ @@ -61012,7 +61271,7 @@ module.exports = [ /***/ }), -/* 550 */ +/* 551 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -61028,7 +61287,7 @@ module.exports = ({stream = process.stdout} = {}) => { /***/ }), -/* 551 */ +/* 552 */ /***/ (function(module, exports, __webpack_require__) { var Stream = __webpack_require__(173) @@ -61179,7 +61438,7 @@ MuteStream.prototype.close = proxy('close') /***/ }), -/* 552 */ +/* 553 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -61189,7 +61448,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var dedent__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dedent__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(240); /* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(del__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(529); +/* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(530); /* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(ora__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_3__); @@ -61221,7 +61480,8 @@ const ResetCommand = { async run(projects) { _utils_log__WEBPACK_IMPORTED_MODULE_6__["log"].warning(dedent__WEBPACK_IMPORTED_MODULE_0___default.a` In most cases, 'yarn kbn clean' is all that should be needed to recover a consistent state when - problems arise. If you need to use this command, please let us know, as it should not be necessary. + problems arise. However for the rare cases where something get corrupt on node_modules you might need this command. + If you think you need to use this command very often (which is not normal), please let us know. `); const toDelete = []; @@ -61302,7 +61562,7 @@ const ResetCommand = { }; /***/ }), -/* 553 */ +/* 554 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -61312,7 +61572,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var dedent__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dedent__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _utils_errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(341); /* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(220); -/* harmony import */ var _utils_parallelize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(554); +/* harmony import */ var _utils_parallelize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(555); /* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(340); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one @@ -61371,7 +61631,7 @@ const RunCommand = { }; /***/ }), -/* 554 */ +/* 555 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -61426,7 +61686,7 @@ async function parallelize(items, fn, concurrency = 4) { } /***/ }), -/* 555 */ +/* 556 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -61463,7 +61723,7 @@ const WatchCommand = { }; /***/ }), -/* 556 */ +/* 557 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -61475,7 +61735,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(220); /* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(340); /* harmony import */ var _utils_projects_tree__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(420); -/* harmony import */ var _utils_kibana__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(557); +/* harmony import */ var _utils_kibana__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(558); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -61594,7 +61854,7 @@ function toArray(value) { } /***/ }), -/* 557 */ +/* 558 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -61604,13 +61864,13 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(132); /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var multimatch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(558); +/* harmony import */ var multimatch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(559); /* harmony import */ var multimatch__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(multimatch__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var is_path_inside__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(333); /* harmony import */ var is_path_inside__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(is_path_inside__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _yarn_lock__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(408); /* harmony import */ var _projects__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(340); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(561); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(562); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -61774,15 +62034,15 @@ class Kibana { } /***/ }), -/* 558 */ +/* 559 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const minimatch = __webpack_require__(247); const arrayUnion = __webpack_require__(242); -const arrayDiffer = __webpack_require__(559); -const arrify = __webpack_require__(560); +const arrayDiffer = __webpack_require__(560); +const arrify = __webpack_require__(561); module.exports = (list, patterns, options = {}) => { list = arrify(list); @@ -61806,7 +62066,7 @@ module.exports = (list, patterns, options = {}) => { /***/ }), -/* 559 */ +/* 560 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -61821,7 +62081,7 @@ module.exports = arrayDiffer; /***/ }), -/* 560 */ +/* 561 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -61851,7 +62111,7 @@ module.exports = arrify; /***/ }), -/* 561 */ +/* 562 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -61911,15 +62171,15 @@ function getProjectPaths({ } /***/ }), -/* 562 */ +/* 563 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _build_bazel_production_projects__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(563); +/* harmony import */ var _build_bazel_production_projects__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(564); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "buildBazelProductionProjects", function() { return _build_bazel_production_projects__WEBPACK_IMPORTED_MODULE_0__["buildBazelProductionProjects"]; }); -/* harmony import */ var _build_non_bazel_production_projects__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(804); +/* harmony import */ var _build_non_bazel_production_projects__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(805); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "buildNonBazelProductionProjects", function() { return _build_non_bazel_production_projects__WEBPACK_IMPORTED_MODULE_1__["buildNonBazelProductionProjects"]; }); /* @@ -61933,19 +62193,19 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/* 563 */ +/* 564 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildBazelProductionProjects", function() { return buildBazelProductionProjects; }); -/* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(564); +/* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(565); /* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cpy__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var globby__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(776); +/* harmony import */ var globby__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(777); /* harmony import */ var globby__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(globby__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _build_non_bazel_production_projects__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(804); +/* harmony import */ var _build_non_bazel_production_projects__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(805); /* harmony import */ var _utils_bazel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(421); /* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(231); /* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(220); @@ -62040,7 +62300,7 @@ async function applyCorrectPermissions(project, kibanaRoot, buildRoot) { } /***/ }), -/* 564 */ +/* 565 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62048,14 +62308,14 @@ async function applyCorrectPermissions(project, kibanaRoot, buildRoot) { const EventEmitter = __webpack_require__(164); const path = __webpack_require__(4); const os = __webpack_require__(122); -const pMap = __webpack_require__(565); -const arrify = __webpack_require__(560); -const globby = __webpack_require__(568); -const hasGlob = __webpack_require__(760); -const cpFile = __webpack_require__(762); -const junk = __webpack_require__(772); -const pFilter = __webpack_require__(773); -const CpyError = __webpack_require__(775); +const pMap = __webpack_require__(566); +const arrify = __webpack_require__(561); +const globby = __webpack_require__(569); +const hasGlob = __webpack_require__(761); +const cpFile = __webpack_require__(763); +const junk = __webpack_require__(773); +const pFilter = __webpack_require__(774); +const CpyError = __webpack_require__(776); const defaultOptions = { ignoreJunk: true @@ -62206,12 +62466,12 @@ module.exports = (source, destination, { /***/ }), -/* 565 */ +/* 566 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const AggregateError = __webpack_require__(566); +const AggregateError = __webpack_require__(567); module.exports = async ( iterable, @@ -62294,12 +62554,12 @@ module.exports = async ( /***/ }), -/* 566 */ +/* 567 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const indentString = __webpack_require__(567); +const indentString = __webpack_require__(568); const cleanStack = __webpack_require__(338); const cleanInternalStack = stack => stack.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g, ''); @@ -62348,7 +62608,7 @@ module.exports = AggregateError; /***/ }), -/* 567 */ +/* 568 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62390,17 +62650,17 @@ module.exports = (string, count = 1, options) => { /***/ }), -/* 568 */ +/* 569 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const fs = __webpack_require__(132); -const arrayUnion = __webpack_require__(569); +const arrayUnion = __webpack_require__(570); const glob = __webpack_require__(244); -const fastGlob = __webpack_require__(571); -const dirGlob = __webpack_require__(754); -const gitignore = __webpack_require__(757); +const fastGlob = __webpack_require__(572); +const dirGlob = __webpack_require__(755); +const gitignore = __webpack_require__(758); const DEFAULT_FILTER = () => false; @@ -62545,12 +62805,12 @@ module.exports.gitignore = gitignore; /***/ }), -/* 569 */ +/* 570 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var arrayUniq = __webpack_require__(570); +var arrayUniq = __webpack_require__(571); module.exports = function () { return arrayUniq([].concat.apply([], arguments)); @@ -62558,7 +62818,7 @@ module.exports = function () { /***/ }), -/* 570 */ +/* 571 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62627,10 +62887,10 @@ if ('Set' in global) { /***/ }), -/* 571 */ +/* 572 */ /***/ (function(module, exports, __webpack_require__) { -const pkg = __webpack_require__(572); +const pkg = __webpack_require__(573); module.exports = pkg.async; module.exports.default = pkg.async; @@ -62643,19 +62903,19 @@ module.exports.generateTasks = pkg.generateTasks; /***/ }), -/* 572 */ +/* 573 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var optionsManager = __webpack_require__(573); -var taskManager = __webpack_require__(574); -var reader_async_1 = __webpack_require__(725); -var reader_stream_1 = __webpack_require__(749); -var reader_sync_1 = __webpack_require__(750); -var arrayUtils = __webpack_require__(752); -var streamUtils = __webpack_require__(753); +var optionsManager = __webpack_require__(574); +var taskManager = __webpack_require__(575); +var reader_async_1 = __webpack_require__(726); +var reader_stream_1 = __webpack_require__(750); +var reader_sync_1 = __webpack_require__(751); +var arrayUtils = __webpack_require__(753); +var streamUtils = __webpack_require__(754); /** * Synchronous API. */ @@ -62721,7 +62981,7 @@ function isString(source) { /***/ }), -/* 573 */ +/* 574 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62759,13 +63019,13 @@ exports.prepare = prepare; /***/ }), -/* 574 */ +/* 575 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var patternUtils = __webpack_require__(575); +var patternUtils = __webpack_require__(576); /** * Generate tasks based on parent directory of each pattern. */ @@ -62856,16 +63116,16 @@ exports.convertPatternGroupToTask = convertPatternGroupToTask; /***/ }), -/* 575 */ +/* 576 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var path = __webpack_require__(4); -var globParent = __webpack_require__(576); +var globParent = __webpack_require__(577); var isGlob = __webpack_require__(266); -var micromatch = __webpack_require__(579); +var micromatch = __webpack_require__(580); var GLOBSTAR = '**'; /** * Return true for static pattern. @@ -63011,15 +63271,15 @@ exports.matchAny = matchAny; /***/ }), -/* 576 */ +/* 577 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var path = __webpack_require__(4); -var isglob = __webpack_require__(577); -var pathDirname = __webpack_require__(578); +var isglob = __webpack_require__(578); +var pathDirname = __webpack_require__(579); var isWin32 = __webpack_require__(122).platform() === 'win32'; module.exports = function globParent(str) { @@ -63042,7 +63302,7 @@ module.exports = function globParent(str) { /***/ }), -/* 577 */ +/* 578 */ /***/ (function(module, exports, __webpack_require__) { /*! @@ -63073,7 +63333,7 @@ module.exports = function isGlob(str) { /***/ }), -/* 578 */ +/* 579 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -63223,7 +63483,7 @@ module.exports.win32 = win32; /***/ }), -/* 579 */ +/* 580 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -63234,18 +63494,18 @@ module.exports.win32 = win32; */ var util = __webpack_require__(113); -var braces = __webpack_require__(580); -var toRegex = __webpack_require__(581); -var extend = __webpack_require__(693); +var braces = __webpack_require__(581); +var toRegex = __webpack_require__(582); +var extend = __webpack_require__(694); /** * Local dependencies */ -var compilers = __webpack_require__(695); -var parsers = __webpack_require__(721); -var cache = __webpack_require__(722); -var utils = __webpack_require__(723); +var compilers = __webpack_require__(696); +var parsers = __webpack_require__(722); +var cache = __webpack_require__(723); +var utils = __webpack_require__(724); var MAX_LENGTH = 1024 * 64; /** @@ -64107,7 +64367,7 @@ module.exports = micromatch; /***/ }), -/* 580 */ +/* 581 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -64117,18 +64377,18 @@ module.exports = micromatch; * Module dependencies */ -var toRegex = __webpack_require__(581); -var unique = __webpack_require__(601); -var extend = __webpack_require__(602); +var toRegex = __webpack_require__(582); +var unique = __webpack_require__(602); +var extend = __webpack_require__(603); /** * Local dependencies */ -var compilers = __webpack_require__(604); -var parsers = __webpack_require__(619); -var Braces = __webpack_require__(624); -var utils = __webpack_require__(605); +var compilers = __webpack_require__(605); +var parsers = __webpack_require__(620); +var Braces = __webpack_require__(625); +var utils = __webpack_require__(606); var MAX_LENGTH = 1024 * 64; var cache = {}; @@ -64432,16 +64692,16 @@ module.exports = braces; /***/ }), -/* 581 */ +/* 582 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var safe = __webpack_require__(582); -var define = __webpack_require__(588); -var extend = __webpack_require__(594); -var not = __webpack_require__(598); +var safe = __webpack_require__(583); +var define = __webpack_require__(589); +var extend = __webpack_require__(595); +var not = __webpack_require__(599); var MAX_LENGTH = 1024 * 64; /** @@ -64594,10 +64854,10 @@ module.exports.makeRe = makeRe; /***/ }), -/* 582 */ +/* 583 */ /***/ (function(module, exports, __webpack_require__) { -var parse = __webpack_require__(583); +var parse = __webpack_require__(584); var types = parse.types; module.exports = function (re, opts) { @@ -64643,13 +64903,13 @@ function isRegExp (x) { /***/ }), -/* 583 */ +/* 584 */ /***/ (function(module, exports, __webpack_require__) { -var util = __webpack_require__(584); -var types = __webpack_require__(585); -var sets = __webpack_require__(586); -var positions = __webpack_require__(587); +var util = __webpack_require__(585); +var types = __webpack_require__(586); +var sets = __webpack_require__(587); +var positions = __webpack_require__(588); module.exports = function(regexpStr) { @@ -64931,11 +65191,11 @@ module.exports.types = types; /***/ }), -/* 584 */ +/* 585 */ /***/ (function(module, exports, __webpack_require__) { -var types = __webpack_require__(585); -var sets = __webpack_require__(586); +var types = __webpack_require__(586); +var sets = __webpack_require__(587); // All of these are private and only used by randexp. @@ -65048,7 +65308,7 @@ exports.error = function(regexp, msg) { /***/ }), -/* 585 */ +/* 586 */ /***/ (function(module, exports) { module.exports = { @@ -65064,10 +65324,10 @@ module.exports = { /***/ }), -/* 586 */ +/* 587 */ /***/ (function(module, exports, __webpack_require__) { -var types = __webpack_require__(585); +var types = __webpack_require__(586); var INTS = function() { return [{ type: types.RANGE , from: 48, to: 57 }]; @@ -65152,10 +65412,10 @@ exports.anyChar = function() { /***/ }), -/* 587 */ +/* 588 */ /***/ (function(module, exports, __webpack_require__) { -var types = __webpack_require__(585); +var types = __webpack_require__(586); exports.wordBoundary = function() { return { type: types.POSITION, value: 'b' }; @@ -65175,7 +65435,7 @@ exports.end = function() { /***/ }), -/* 588 */ +/* 589 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -65188,8 +65448,8 @@ exports.end = function() { -var isobject = __webpack_require__(589); -var isDescriptor = __webpack_require__(590); +var isobject = __webpack_require__(590); +var isDescriptor = __webpack_require__(591); var define = (typeof Reflect !== 'undefined' && Reflect.defineProperty) ? Reflect.defineProperty : Object.defineProperty; @@ -65220,7 +65480,7 @@ module.exports = function defineProperty(obj, key, val) { /***/ }), -/* 589 */ +/* 590 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -65239,7 +65499,7 @@ module.exports = function isObject(val) { /***/ }), -/* 590 */ +/* 591 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -65252,9 +65512,9 @@ module.exports = function isObject(val) { -var typeOf = __webpack_require__(591); -var isAccessor = __webpack_require__(592); -var isData = __webpack_require__(593); +var typeOf = __webpack_require__(592); +var isAccessor = __webpack_require__(593); +var isData = __webpack_require__(594); module.exports = function isDescriptor(obj, key) { if (typeOf(obj) !== 'object') { @@ -65268,7 +65528,7 @@ module.exports = function isDescriptor(obj, key) { /***/ }), -/* 591 */ +/* 592 */ /***/ (function(module, exports) { var toString = Object.prototype.toString; @@ -65403,7 +65663,7 @@ function isBuffer(val) { /***/ }), -/* 592 */ +/* 593 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -65416,7 +65676,7 @@ function isBuffer(val) { -var typeOf = __webpack_require__(591); +var typeOf = __webpack_require__(592); // accessor descriptor properties var accessor = { @@ -65479,7 +65739,7 @@ module.exports = isAccessorDescriptor; /***/ }), -/* 593 */ +/* 594 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -65492,7 +65752,7 @@ module.exports = isAccessorDescriptor; -var typeOf = __webpack_require__(591); +var typeOf = __webpack_require__(592); module.exports = function isDataDescriptor(obj, prop) { // data descriptor properties @@ -65535,14 +65795,14 @@ module.exports = function isDataDescriptor(obj, prop) { /***/ }), -/* 594 */ +/* 595 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(595); -var assignSymbols = __webpack_require__(597); +var isExtendable = __webpack_require__(596); +var assignSymbols = __webpack_require__(598); module.exports = Object.assign || function(obj/*, objects*/) { if (obj === null || typeof obj === 'undefined') { @@ -65602,7 +65862,7 @@ function isEnum(obj, key) { /***/ }), -/* 595 */ +/* 596 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -65615,7 +65875,7 @@ function isEnum(obj, key) { -var isPlainObject = __webpack_require__(596); +var isPlainObject = __webpack_require__(597); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -65623,7 +65883,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 596 */ +/* 597 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -65636,7 +65896,7 @@ module.exports = function isExtendable(val) { -var isObject = __webpack_require__(589); +var isObject = __webpack_require__(590); function isObjectObject(o) { return isObject(o) === true @@ -65667,7 +65927,7 @@ module.exports = function isPlainObject(o) { /***/ }), -/* 597 */ +/* 598 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -65714,14 +65974,14 @@ module.exports = function(receiver, objects) { /***/ }), -/* 598 */ +/* 599 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var extend = __webpack_require__(599); -var safe = __webpack_require__(582); +var extend = __webpack_require__(600); +var safe = __webpack_require__(583); /** * The main export is a function that takes a `pattern` string and an `options` object. @@ -65793,14 +66053,14 @@ module.exports = toRegex; /***/ }), -/* 599 */ +/* 600 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(600); -var assignSymbols = __webpack_require__(597); +var isExtendable = __webpack_require__(601); +var assignSymbols = __webpack_require__(598); module.exports = Object.assign || function(obj/*, objects*/) { if (obj === null || typeof obj === 'undefined') { @@ -65860,7 +66120,7 @@ function isEnum(obj, key) { /***/ }), -/* 600 */ +/* 601 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -65873,7 +66133,7 @@ function isEnum(obj, key) { -var isPlainObject = __webpack_require__(596); +var isPlainObject = __webpack_require__(597); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -65881,7 +66141,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 601 */ +/* 602 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -65931,13 +66191,13 @@ module.exports.immutable = function uniqueImmutable(arr) { /***/ }), -/* 602 */ +/* 603 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(603); +var isObject = __webpack_require__(604); module.exports = function extend(o/*, objects*/) { if (!isObject(o)) { o = {}; } @@ -65971,7 +66231,7 @@ function hasOwn(obj, key) { /***/ }), -/* 603 */ +/* 604 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -65991,13 +66251,13 @@ module.exports = function isExtendable(val) { /***/ }), -/* 604 */ +/* 605 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(605); +var utils = __webpack_require__(606); module.exports = function(braces, options) { braces.compiler @@ -66280,25 +66540,25 @@ function hasQueue(node) { /***/ }), -/* 605 */ +/* 606 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var splitString = __webpack_require__(606); +var splitString = __webpack_require__(607); var utils = module.exports; /** * Module dependencies */ -utils.extend = __webpack_require__(602); -utils.flatten = __webpack_require__(609); -utils.isObject = __webpack_require__(589); -utils.fillRange = __webpack_require__(610); -utils.repeat = __webpack_require__(618); -utils.unique = __webpack_require__(601); +utils.extend = __webpack_require__(603); +utils.flatten = __webpack_require__(610); +utils.isObject = __webpack_require__(590); +utils.fillRange = __webpack_require__(611); +utils.repeat = __webpack_require__(619); +utils.unique = __webpack_require__(602); utils.define = function(obj, key, val) { Object.defineProperty(obj, key, { @@ -66630,7 +66890,7 @@ utils.escapeRegex = function(str) { /***/ }), -/* 606 */ +/* 607 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -66643,7 +66903,7 @@ utils.escapeRegex = function(str) { -var extend = __webpack_require__(607); +var extend = __webpack_require__(608); module.exports = function(str, options, fn) { if (typeof str !== 'string') { @@ -66808,14 +67068,14 @@ function keepEscaping(opts, str, idx) { /***/ }), -/* 607 */ +/* 608 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(608); -var assignSymbols = __webpack_require__(597); +var isExtendable = __webpack_require__(609); +var assignSymbols = __webpack_require__(598); module.exports = Object.assign || function(obj/*, objects*/) { if (obj === null || typeof obj === 'undefined') { @@ -66875,7 +67135,7 @@ function isEnum(obj, key) { /***/ }), -/* 608 */ +/* 609 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -66888,7 +67148,7 @@ function isEnum(obj, key) { -var isPlainObject = __webpack_require__(596); +var isPlainObject = __webpack_require__(597); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -66896,7 +67156,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 609 */ +/* 610 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -66925,7 +67185,7 @@ function flat(arr, res) { /***/ }), -/* 610 */ +/* 611 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -66939,10 +67199,10 @@ function flat(arr, res) { var util = __webpack_require__(113); -var isNumber = __webpack_require__(611); -var extend = __webpack_require__(614); -var repeat = __webpack_require__(616); -var toRegex = __webpack_require__(617); +var isNumber = __webpack_require__(612); +var extend = __webpack_require__(615); +var repeat = __webpack_require__(617); +var toRegex = __webpack_require__(618); /** * Return a range of numbers or letters. @@ -67140,7 +67400,7 @@ module.exports = fillRange; /***/ }), -/* 611 */ +/* 612 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67153,7 +67413,7 @@ module.exports = fillRange; -var typeOf = __webpack_require__(612); +var typeOf = __webpack_require__(613); module.exports = function isNumber(num) { var type = typeOf(num); @@ -67169,10 +67429,10 @@ module.exports = function isNumber(num) { /***/ }), -/* 612 */ +/* 613 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(613); +var isBuffer = __webpack_require__(614); var toString = Object.prototype.toString; /** @@ -67291,7 +67551,7 @@ module.exports = function kindOf(val) { /***/ }), -/* 613 */ +/* 614 */ /***/ (function(module, exports) { /*! @@ -67318,13 +67578,13 @@ function isSlowBuffer (obj) { /***/ }), -/* 614 */ +/* 615 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(615); +var isObject = __webpack_require__(616); module.exports = function extend(o/*, objects*/) { if (!isObject(o)) { o = {}; } @@ -67358,7 +67618,7 @@ function hasOwn(obj, key) { /***/ }), -/* 615 */ +/* 616 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67378,7 +67638,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 616 */ +/* 617 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67455,7 +67715,7 @@ function repeat(str, num) { /***/ }), -/* 617 */ +/* 618 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67468,8 +67728,8 @@ function repeat(str, num) { -var repeat = __webpack_require__(616); -var isNumber = __webpack_require__(611); +var repeat = __webpack_require__(617); +var isNumber = __webpack_require__(612); var cache = {}; function toRegexRange(min, max, options) { @@ -67756,7 +68016,7 @@ module.exports = toRegexRange; /***/ }), -/* 618 */ +/* 619 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67781,14 +68041,14 @@ module.exports = function repeat(ele, num) { /***/ }), -/* 619 */ +/* 620 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var Node = __webpack_require__(620); -var utils = __webpack_require__(605); +var Node = __webpack_require__(621); +var utils = __webpack_require__(606); /** * Braces parsers @@ -68148,15 +68408,15 @@ function concatNodes(pos, node, parent, options) { /***/ }), -/* 620 */ +/* 621 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(589); -var define = __webpack_require__(621); -var utils = __webpack_require__(622); +var isObject = __webpack_require__(590); +var define = __webpack_require__(622); +var utils = __webpack_require__(623); var ownNames; /** @@ -68647,7 +68907,7 @@ exports = module.exports = Node; /***/ }), -/* 621 */ +/* 622 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -68660,7 +68920,7 @@ exports = module.exports = Node; -var isDescriptor = __webpack_require__(590); +var isDescriptor = __webpack_require__(591); module.exports = function defineProperty(obj, prop, val) { if (typeof obj !== 'object' && typeof obj !== 'function') { @@ -68685,13 +68945,13 @@ module.exports = function defineProperty(obj, prop, val) { /***/ }), -/* 622 */ +/* 623 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var typeOf = __webpack_require__(623); +var typeOf = __webpack_require__(624); var utils = module.exports; /** @@ -69711,10 +69971,10 @@ function assert(val, message) { /***/ }), -/* 623 */ +/* 624 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(613); +var isBuffer = __webpack_require__(614); var toString = Object.prototype.toString; /** @@ -69833,17 +70093,17 @@ module.exports = function kindOf(val) { /***/ }), -/* 624 */ +/* 625 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var extend = __webpack_require__(602); -var Snapdragon = __webpack_require__(625); -var compilers = __webpack_require__(604); -var parsers = __webpack_require__(619); -var utils = __webpack_require__(605); +var extend = __webpack_require__(603); +var Snapdragon = __webpack_require__(626); +var compilers = __webpack_require__(605); +var parsers = __webpack_require__(620); +var utils = __webpack_require__(606); /** * Customize Snapdragon parser and renderer @@ -69944,17 +70204,17 @@ module.exports = Braces; /***/ }), -/* 625 */ +/* 626 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var Base = __webpack_require__(626); -var define = __webpack_require__(656); -var Compiler = __webpack_require__(667); -var Parser = __webpack_require__(690); -var utils = __webpack_require__(670); +var Base = __webpack_require__(627); +var define = __webpack_require__(657); +var Compiler = __webpack_require__(668); +var Parser = __webpack_require__(691); +var utils = __webpack_require__(671); var regexCache = {}; var cache = {}; @@ -70125,20 +70385,20 @@ module.exports.Parser = Parser; /***/ }), -/* 626 */ +/* 627 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var util = __webpack_require__(113); -var define = __webpack_require__(627); -var CacheBase = __webpack_require__(628); -var Emitter = __webpack_require__(629); -var isObject = __webpack_require__(589); -var merge = __webpack_require__(650); -var pascal = __webpack_require__(653); -var cu = __webpack_require__(654); +var define = __webpack_require__(628); +var CacheBase = __webpack_require__(629); +var Emitter = __webpack_require__(630); +var isObject = __webpack_require__(590); +var merge = __webpack_require__(651); +var pascal = __webpack_require__(654); +var cu = __webpack_require__(655); /** * Optionally define a custom `cache` namespace to use. @@ -70567,7 +70827,7 @@ module.exports.namespace = namespace; /***/ }), -/* 627 */ +/* 628 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -70580,7 +70840,7 @@ module.exports.namespace = namespace; -var isDescriptor = __webpack_require__(590); +var isDescriptor = __webpack_require__(591); module.exports = function defineProperty(obj, prop, val) { if (typeof obj !== 'object' && typeof obj !== 'function') { @@ -70605,21 +70865,21 @@ module.exports = function defineProperty(obj, prop, val) { /***/ }), -/* 628 */ +/* 629 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(589); -var Emitter = __webpack_require__(629); -var visit = __webpack_require__(630); -var toPath = __webpack_require__(633); -var union = __webpack_require__(635); -var del = __webpack_require__(641); -var get = __webpack_require__(638); -var has = __webpack_require__(646); -var set = __webpack_require__(649); +var isObject = __webpack_require__(590); +var Emitter = __webpack_require__(630); +var visit = __webpack_require__(631); +var toPath = __webpack_require__(634); +var union = __webpack_require__(636); +var del = __webpack_require__(642); +var get = __webpack_require__(639); +var has = __webpack_require__(647); +var set = __webpack_require__(650); /** * Create a `Cache` constructor that when instantiated will @@ -70873,7 +71133,7 @@ module.exports.namespace = namespace; /***/ }), -/* 629 */ +/* 630 */ /***/ (function(module, exports, __webpack_require__) { @@ -71042,7 +71302,7 @@ Emitter.prototype.hasListeners = function(event){ /***/ }), -/* 630 */ +/* 631 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -71055,8 +71315,8 @@ Emitter.prototype.hasListeners = function(event){ -var visit = __webpack_require__(631); -var mapVisit = __webpack_require__(632); +var visit = __webpack_require__(632); +var mapVisit = __webpack_require__(633); module.exports = function(collection, method, val) { var result; @@ -71079,7 +71339,7 @@ module.exports = function(collection, method, val) { /***/ }), -/* 631 */ +/* 632 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -71092,7 +71352,7 @@ module.exports = function(collection, method, val) { -var isObject = __webpack_require__(589); +var isObject = __webpack_require__(590); module.exports = function visit(thisArg, method, target, val) { if (!isObject(thisArg) && typeof thisArg !== 'function') { @@ -71119,14 +71379,14 @@ module.exports = function visit(thisArg, method, target, val) { /***/ }), -/* 632 */ +/* 633 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var util = __webpack_require__(113); -var visit = __webpack_require__(631); +var visit = __webpack_require__(632); /** * Map `visit` over an array of objects. @@ -71163,7 +71423,7 @@ function isObject(val) { /***/ }), -/* 633 */ +/* 634 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -71176,7 +71436,7 @@ function isObject(val) { -var typeOf = __webpack_require__(634); +var typeOf = __webpack_require__(635); module.exports = function toPath(args) { if (typeOf(args) !== 'arguments') { @@ -71203,10 +71463,10 @@ function filter(arr) { /***/ }), -/* 634 */ +/* 635 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(613); +var isBuffer = __webpack_require__(614); var toString = Object.prototype.toString; /** @@ -71325,16 +71585,16 @@ module.exports = function kindOf(val) { /***/ }), -/* 635 */ +/* 636 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(636); -var union = __webpack_require__(637); -var get = __webpack_require__(638); -var set = __webpack_require__(639); +var isObject = __webpack_require__(637); +var union = __webpack_require__(638); +var get = __webpack_require__(639); +var set = __webpack_require__(640); module.exports = function unionValue(obj, prop, value) { if (!isObject(obj)) { @@ -71362,7 +71622,7 @@ function arrayify(val) { /***/ }), -/* 636 */ +/* 637 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -71382,7 +71642,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 637 */ +/* 638 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -71418,7 +71678,7 @@ module.exports = function union(init) { /***/ }), -/* 638 */ +/* 639 */ /***/ (function(module, exports) { /*! @@ -71474,7 +71734,7 @@ function toString(val) { /***/ }), -/* 639 */ +/* 640 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -71487,10 +71747,10 @@ function toString(val) { -var split = __webpack_require__(606); -var extend = __webpack_require__(640); -var isPlainObject = __webpack_require__(596); -var isObject = __webpack_require__(636); +var split = __webpack_require__(607); +var extend = __webpack_require__(641); +var isPlainObject = __webpack_require__(597); +var isObject = __webpack_require__(637); module.exports = function(obj, prop, val) { if (!isObject(obj)) { @@ -71536,13 +71796,13 @@ function isValidKey(key) { /***/ }), -/* 640 */ +/* 641 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(636); +var isObject = __webpack_require__(637); module.exports = function extend(o/*, objects*/) { if (!isObject(o)) { o = {}; } @@ -71576,7 +71836,7 @@ function hasOwn(obj, key) { /***/ }), -/* 641 */ +/* 642 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -71589,8 +71849,8 @@ function hasOwn(obj, key) { -var isObject = __webpack_require__(589); -var has = __webpack_require__(642); +var isObject = __webpack_require__(590); +var has = __webpack_require__(643); module.exports = function unset(obj, prop) { if (!isObject(obj)) { @@ -71615,7 +71875,7 @@ module.exports = function unset(obj, prop) { /***/ }), -/* 642 */ +/* 643 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -71628,9 +71888,9 @@ module.exports = function unset(obj, prop) { -var isObject = __webpack_require__(643); -var hasValues = __webpack_require__(645); -var get = __webpack_require__(638); +var isObject = __webpack_require__(644); +var hasValues = __webpack_require__(646); +var get = __webpack_require__(639); module.exports = function(obj, prop, noZero) { if (isObject(obj)) { @@ -71641,7 +71901,7 @@ module.exports = function(obj, prop, noZero) { /***/ }), -/* 643 */ +/* 644 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -71654,7 +71914,7 @@ module.exports = function(obj, prop, noZero) { -var isArray = __webpack_require__(644); +var isArray = __webpack_require__(645); module.exports = function isObject(val) { return val != null && typeof val === 'object' && isArray(val) === false; @@ -71662,7 +71922,7 @@ module.exports = function isObject(val) { /***/ }), -/* 644 */ +/* 645 */ /***/ (function(module, exports) { var toString = {}.toString; @@ -71673,7 +71933,7 @@ module.exports = Array.isArray || function (arr) { /***/ }), -/* 645 */ +/* 646 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -71716,7 +71976,7 @@ module.exports = function hasValue(o, noZero) { /***/ }), -/* 646 */ +/* 647 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -71729,9 +71989,9 @@ module.exports = function hasValue(o, noZero) { -var isObject = __webpack_require__(589); -var hasValues = __webpack_require__(647); -var get = __webpack_require__(638); +var isObject = __webpack_require__(590); +var hasValues = __webpack_require__(648); +var get = __webpack_require__(639); module.exports = function(val, prop) { return hasValues(isObject(val) && prop ? get(val, prop) : val); @@ -71739,7 +71999,7 @@ module.exports = function(val, prop) { /***/ }), -/* 647 */ +/* 648 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -71752,8 +72012,8 @@ module.exports = function(val, prop) { -var typeOf = __webpack_require__(648); -var isNumber = __webpack_require__(611); +var typeOf = __webpack_require__(649); +var isNumber = __webpack_require__(612); module.exports = function hasValue(val) { // is-number checks for NaN and other edge cases @@ -71806,10 +72066,10 @@ module.exports = function hasValue(val) { /***/ }), -/* 648 */ +/* 649 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(613); +var isBuffer = __webpack_require__(614); var toString = Object.prototype.toString; /** @@ -71931,7 +72191,7 @@ module.exports = function kindOf(val) { /***/ }), -/* 649 */ +/* 650 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -71944,10 +72204,10 @@ module.exports = function kindOf(val) { -var split = __webpack_require__(606); -var extend = __webpack_require__(640); -var isPlainObject = __webpack_require__(596); -var isObject = __webpack_require__(636); +var split = __webpack_require__(607); +var extend = __webpack_require__(641); +var isPlainObject = __webpack_require__(597); +var isObject = __webpack_require__(637); module.exports = function(obj, prop, val) { if (!isObject(obj)) { @@ -71993,14 +72253,14 @@ function isValidKey(key) { /***/ }), -/* 650 */ +/* 651 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(651); -var forIn = __webpack_require__(652); +var isExtendable = __webpack_require__(652); +var forIn = __webpack_require__(653); function mixinDeep(target, objects) { var len = arguments.length, i = 0; @@ -72064,7 +72324,7 @@ module.exports = mixinDeep; /***/ }), -/* 651 */ +/* 652 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -72077,7 +72337,7 @@ module.exports = mixinDeep; -var isPlainObject = __webpack_require__(596); +var isPlainObject = __webpack_require__(597); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -72085,7 +72345,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 652 */ +/* 653 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -72108,7 +72368,7 @@ module.exports = function forIn(obj, fn, thisArg) { /***/ }), -/* 653 */ +/* 654 */ /***/ (function(module, exports) { /*! @@ -72135,14 +72395,14 @@ module.exports = pascalcase; /***/ }), -/* 654 */ +/* 655 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var util = __webpack_require__(113); -var utils = __webpack_require__(655); +var utils = __webpack_require__(656); /** * Expose class utils @@ -72507,7 +72767,7 @@ cu.bubble = function(Parent, events) { /***/ }), -/* 655 */ +/* 656 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -72521,10 +72781,10 @@ var utils = {}; * Lazily required module dependencies */ -utils.union = __webpack_require__(637); -utils.define = __webpack_require__(656); -utils.isObj = __webpack_require__(589); -utils.staticExtend = __webpack_require__(663); +utils.union = __webpack_require__(638); +utils.define = __webpack_require__(657); +utils.isObj = __webpack_require__(590); +utils.staticExtend = __webpack_require__(664); /** @@ -72535,7 +72795,7 @@ module.exports = utils; /***/ }), -/* 656 */ +/* 657 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -72548,7 +72808,7 @@ module.exports = utils; -var isDescriptor = __webpack_require__(657); +var isDescriptor = __webpack_require__(658); module.exports = function defineProperty(obj, prop, val) { if (typeof obj !== 'object' && typeof obj !== 'function') { @@ -72573,7 +72833,7 @@ module.exports = function defineProperty(obj, prop, val) { /***/ }), -/* 657 */ +/* 658 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -72586,9 +72846,9 @@ module.exports = function defineProperty(obj, prop, val) { -var typeOf = __webpack_require__(658); -var isAccessor = __webpack_require__(659); -var isData = __webpack_require__(661); +var typeOf = __webpack_require__(659); +var isAccessor = __webpack_require__(660); +var isData = __webpack_require__(662); module.exports = function isDescriptor(obj, key) { if (typeOf(obj) !== 'object') { @@ -72602,7 +72862,7 @@ module.exports = function isDescriptor(obj, key) { /***/ }), -/* 658 */ +/* 659 */ /***/ (function(module, exports) { var toString = Object.prototype.toString; @@ -72755,7 +73015,7 @@ function isBuffer(val) { /***/ }), -/* 659 */ +/* 660 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -72768,7 +73028,7 @@ function isBuffer(val) { -var typeOf = __webpack_require__(660); +var typeOf = __webpack_require__(661); // accessor descriptor properties var accessor = { @@ -72831,10 +73091,10 @@ module.exports = isAccessorDescriptor; /***/ }), -/* 660 */ +/* 661 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(613); +var isBuffer = __webpack_require__(614); var toString = Object.prototype.toString; /** @@ -72953,7 +73213,7 @@ module.exports = function kindOf(val) { /***/ }), -/* 661 */ +/* 662 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -72966,7 +73226,7 @@ module.exports = function kindOf(val) { -var typeOf = __webpack_require__(662); +var typeOf = __webpack_require__(663); // data descriptor properties var data = { @@ -73015,10 +73275,10 @@ module.exports = isDataDescriptor; /***/ }), -/* 662 */ +/* 663 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(613); +var isBuffer = __webpack_require__(614); var toString = Object.prototype.toString; /** @@ -73137,7 +73397,7 @@ module.exports = function kindOf(val) { /***/ }), -/* 663 */ +/* 664 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -73150,8 +73410,8 @@ module.exports = function kindOf(val) { -var copy = __webpack_require__(664); -var define = __webpack_require__(656); +var copy = __webpack_require__(665); +var define = __webpack_require__(657); var util = __webpack_require__(113); /** @@ -73234,15 +73494,15 @@ module.exports = extend; /***/ }), -/* 664 */ +/* 665 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var typeOf = __webpack_require__(665); -var copyDescriptor = __webpack_require__(666); -var define = __webpack_require__(656); +var typeOf = __webpack_require__(666); +var copyDescriptor = __webpack_require__(667); +var define = __webpack_require__(657); /** * Copy static properties, prototype properties, and descriptors from one object to another. @@ -73415,10 +73675,10 @@ module.exports.has = has; /***/ }), -/* 665 */ +/* 666 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(613); +var isBuffer = __webpack_require__(614); var toString = Object.prototype.toString; /** @@ -73537,7 +73797,7 @@ module.exports = function kindOf(val) { /***/ }), -/* 666 */ +/* 667 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -73625,16 +73885,16 @@ function isObject(val) { /***/ }), -/* 667 */ +/* 668 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var use = __webpack_require__(668); -var define = __webpack_require__(656); +var use = __webpack_require__(669); +var define = __webpack_require__(657); var debug = __webpack_require__(205)('snapdragon:compiler'); -var utils = __webpack_require__(670); +var utils = __webpack_require__(671); /** * Create a new `Compiler` with the given `options`. @@ -73788,7 +74048,7 @@ Compiler.prototype = { // source map support if (opts.sourcemap) { - var sourcemaps = __webpack_require__(689); + var sourcemaps = __webpack_require__(690); sourcemaps(this); this.mapVisit(this.ast.nodes); this.applySourceMaps(); @@ -73809,7 +74069,7 @@ module.exports = Compiler; /***/ }), -/* 668 */ +/* 669 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -73822,7 +74082,7 @@ module.exports = Compiler; -var utils = __webpack_require__(669); +var utils = __webpack_require__(670); module.exports = function base(app, opts) { if (!utils.isObject(app) && typeof app !== 'function') { @@ -73937,7 +74197,7 @@ module.exports = function base(app, opts) { /***/ }), -/* 669 */ +/* 670 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -73951,8 +74211,8 @@ var utils = {}; * Lazily required module dependencies */ -utils.define = __webpack_require__(656); -utils.isObject = __webpack_require__(589); +utils.define = __webpack_require__(657); +utils.isObject = __webpack_require__(590); utils.isString = function(val) { @@ -73967,7 +74227,7 @@ module.exports = utils; /***/ }), -/* 670 */ +/* 671 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -73977,9 +74237,9 @@ module.exports = utils; * Module dependencies */ -exports.extend = __webpack_require__(640); -exports.SourceMap = __webpack_require__(671); -exports.sourceMapResolve = __webpack_require__(682); +exports.extend = __webpack_require__(641); +exports.SourceMap = __webpack_require__(672); +exports.sourceMapResolve = __webpack_require__(683); /** * Convert backslash in the given string to forward slashes @@ -74022,7 +74282,7 @@ exports.last = function(arr, n) { /***/ }), -/* 671 */ +/* 672 */ /***/ (function(module, exports, __webpack_require__) { /* @@ -74030,13 +74290,13 @@ exports.last = function(arr, n) { * Licensed under the New BSD license. See LICENSE.txt or: * http://opensource.org/licenses/BSD-3-Clause */ -exports.SourceMapGenerator = __webpack_require__(672).SourceMapGenerator; -exports.SourceMapConsumer = __webpack_require__(678).SourceMapConsumer; -exports.SourceNode = __webpack_require__(681).SourceNode; +exports.SourceMapGenerator = __webpack_require__(673).SourceMapGenerator; +exports.SourceMapConsumer = __webpack_require__(679).SourceMapConsumer; +exports.SourceNode = __webpack_require__(682).SourceNode; /***/ }), -/* 672 */ +/* 673 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -74046,10 +74306,10 @@ exports.SourceNode = __webpack_require__(681).SourceNode; * http://opensource.org/licenses/BSD-3-Clause */ -var base64VLQ = __webpack_require__(673); -var util = __webpack_require__(675); -var ArraySet = __webpack_require__(676).ArraySet; -var MappingList = __webpack_require__(677).MappingList; +var base64VLQ = __webpack_require__(674); +var util = __webpack_require__(676); +var ArraySet = __webpack_require__(677).ArraySet; +var MappingList = __webpack_require__(678).MappingList; /** * An instance of the SourceMapGenerator represents a source map which is @@ -74458,7 +74718,7 @@ exports.SourceMapGenerator = SourceMapGenerator; /***/ }), -/* 673 */ +/* 674 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -74498,7 +74758,7 @@ exports.SourceMapGenerator = SourceMapGenerator; * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -var base64 = __webpack_require__(674); +var base64 = __webpack_require__(675); // A single base 64 digit can contain 6 bits of data. For the base 64 variable // length quantities we use in the source map spec, the first bit is the sign, @@ -74604,7 +74864,7 @@ exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { /***/ }), -/* 674 */ +/* 675 */ /***/ (function(module, exports) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -74677,7 +74937,7 @@ exports.decode = function (charCode) { /***/ }), -/* 675 */ +/* 676 */ /***/ (function(module, exports) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -75100,7 +75360,7 @@ exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflate /***/ }), -/* 676 */ +/* 677 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -75110,7 +75370,7 @@ exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflate * http://opensource.org/licenses/BSD-3-Clause */ -var util = __webpack_require__(675); +var util = __webpack_require__(676); var has = Object.prototype.hasOwnProperty; var hasNativeMap = typeof Map !== "undefined"; @@ -75227,7 +75487,7 @@ exports.ArraySet = ArraySet; /***/ }), -/* 677 */ +/* 678 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -75237,7 +75497,7 @@ exports.ArraySet = ArraySet; * http://opensource.org/licenses/BSD-3-Clause */ -var util = __webpack_require__(675); +var util = __webpack_require__(676); /** * Determine whether mappingB is after mappingA with respect to generated @@ -75312,7 +75572,7 @@ exports.MappingList = MappingList; /***/ }), -/* 678 */ +/* 679 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -75322,11 +75582,11 @@ exports.MappingList = MappingList; * http://opensource.org/licenses/BSD-3-Clause */ -var util = __webpack_require__(675); -var binarySearch = __webpack_require__(679); -var ArraySet = __webpack_require__(676).ArraySet; -var base64VLQ = __webpack_require__(673); -var quickSort = __webpack_require__(680).quickSort; +var util = __webpack_require__(676); +var binarySearch = __webpack_require__(680); +var ArraySet = __webpack_require__(677).ArraySet; +var base64VLQ = __webpack_require__(674); +var quickSort = __webpack_require__(681).quickSort; function SourceMapConsumer(aSourceMap) { var sourceMap = aSourceMap; @@ -76400,7 +76660,7 @@ exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; /***/ }), -/* 679 */ +/* 680 */ /***/ (function(module, exports) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -76517,7 +76777,7 @@ exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { /***/ }), -/* 680 */ +/* 681 */ /***/ (function(module, exports) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -76637,7 +76897,7 @@ exports.quickSort = function (ary, comparator) { /***/ }), -/* 681 */ +/* 682 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -76647,8 +76907,8 @@ exports.quickSort = function (ary, comparator) { * http://opensource.org/licenses/BSD-3-Clause */ -var SourceMapGenerator = __webpack_require__(672).SourceMapGenerator; -var util = __webpack_require__(675); +var SourceMapGenerator = __webpack_require__(673).SourceMapGenerator; +var util = __webpack_require__(676); // Matches a Windows-style `\r\n` newline or a `\n` newline used by all other // operating systems these days (capturing the result). @@ -77056,17 +77316,17 @@ exports.SourceNode = SourceNode; /***/ }), -/* 682 */ +/* 683 */ /***/ (function(module, exports, __webpack_require__) { // Copyright 2014, 2015, 2016, 2017 Simon Lydell // X11 (“MIT”) Licensed. (See LICENSE.) -var sourceMappingURL = __webpack_require__(683) -var resolveUrl = __webpack_require__(684) -var decodeUriComponent = __webpack_require__(685) -var urix = __webpack_require__(687) -var atob = __webpack_require__(688) +var sourceMappingURL = __webpack_require__(684) +var resolveUrl = __webpack_require__(685) +var decodeUriComponent = __webpack_require__(686) +var urix = __webpack_require__(688) +var atob = __webpack_require__(689) @@ -77364,7 +77624,7 @@ module.exports = { /***/ }), -/* 683 */ +/* 684 */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;// Copyright 2014 Simon Lydell @@ -77427,7 +77687,7 @@ void (function(root, factory) { /***/ }), -/* 684 */ +/* 685 */ /***/ (function(module, exports, __webpack_require__) { // Copyright 2014 Simon Lydell @@ -77445,13 +77705,13 @@ module.exports = resolveUrl /***/ }), -/* 685 */ +/* 686 */ /***/ (function(module, exports, __webpack_require__) { // Copyright 2017 Simon Lydell // X11 (“MIT”) Licensed. (See LICENSE.) -var decodeUriComponent = __webpack_require__(686) +var decodeUriComponent = __webpack_require__(687) function customDecodeUriComponent(string) { // `decodeUriComponent` turns `+` into ` `, but that's not wanted. @@ -77462,7 +77722,7 @@ module.exports = customDecodeUriComponent /***/ }), -/* 686 */ +/* 687 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -77563,7 +77823,7 @@ module.exports = function (encodedURI) { /***/ }), -/* 687 */ +/* 688 */ /***/ (function(module, exports, __webpack_require__) { // Copyright 2014 Simon Lydell @@ -77586,7 +77846,7 @@ module.exports = urix /***/ }), -/* 688 */ +/* 689 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -77600,7 +77860,7 @@ module.exports = atob.atob = atob; /***/ }), -/* 689 */ +/* 690 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -77608,8 +77868,8 @@ module.exports = atob.atob = atob; var fs = __webpack_require__(132); var path = __webpack_require__(4); -var define = __webpack_require__(656); -var utils = __webpack_require__(670); +var define = __webpack_require__(657); +var utils = __webpack_require__(671); /** * Expose `mixin()`. @@ -77752,19 +78012,19 @@ exports.comment = function(node) { /***/ }), -/* 690 */ +/* 691 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var use = __webpack_require__(668); +var use = __webpack_require__(669); var util = __webpack_require__(113); -var Cache = __webpack_require__(691); -var define = __webpack_require__(656); +var Cache = __webpack_require__(692); +var define = __webpack_require__(657); var debug = __webpack_require__(205)('snapdragon:parser'); -var Position = __webpack_require__(692); -var utils = __webpack_require__(670); +var Position = __webpack_require__(693); +var utils = __webpack_require__(671); /** * Create a new `Parser` with the given `input` and `options`. @@ -78292,7 +78552,7 @@ module.exports = Parser; /***/ }), -/* 691 */ +/* 692 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -78399,13 +78659,13 @@ MapCache.prototype.del = function mapDelete(key) { /***/ }), -/* 692 */ +/* 693 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var define = __webpack_require__(656); +var define = __webpack_require__(657); /** * Store position for a node @@ -78420,14 +78680,14 @@ module.exports = function Position(start, parser) { /***/ }), -/* 693 */ +/* 694 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(694); -var assignSymbols = __webpack_require__(597); +var isExtendable = __webpack_require__(695); +var assignSymbols = __webpack_require__(598); module.exports = Object.assign || function(obj/*, objects*/) { if (obj === null || typeof obj === 'undefined') { @@ -78487,7 +78747,7 @@ function isEnum(obj, key) { /***/ }), -/* 694 */ +/* 695 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -78500,7 +78760,7 @@ function isEnum(obj, key) { -var isPlainObject = __webpack_require__(596); +var isPlainObject = __webpack_require__(597); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -78508,14 +78768,14 @@ module.exports = function isExtendable(val) { /***/ }), -/* 695 */ +/* 696 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var nanomatch = __webpack_require__(696); -var extglob = __webpack_require__(710); +var nanomatch = __webpack_require__(697); +var extglob = __webpack_require__(711); module.exports = function(snapdragon) { var compilers = snapdragon.compiler.compilers; @@ -78592,7 +78852,7 @@ function escapeExtglobs(compiler) { /***/ }), -/* 696 */ +/* 697 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -78603,17 +78863,17 @@ function escapeExtglobs(compiler) { */ var util = __webpack_require__(113); -var toRegex = __webpack_require__(581); -var extend = __webpack_require__(697); +var toRegex = __webpack_require__(582); +var extend = __webpack_require__(698); /** * Local dependencies */ -var compilers = __webpack_require__(699); -var parsers = __webpack_require__(700); -var cache = __webpack_require__(703); -var utils = __webpack_require__(705); +var compilers = __webpack_require__(700); +var parsers = __webpack_require__(701); +var cache = __webpack_require__(704); +var utils = __webpack_require__(706); var MAX_LENGTH = 1024 * 64; /** @@ -79437,14 +79697,14 @@ module.exports = nanomatch; /***/ }), -/* 697 */ +/* 698 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(698); -var assignSymbols = __webpack_require__(597); +var isExtendable = __webpack_require__(699); +var assignSymbols = __webpack_require__(598); module.exports = Object.assign || function(obj/*, objects*/) { if (obj === null || typeof obj === 'undefined') { @@ -79504,7 +79764,7 @@ function isEnum(obj, key) { /***/ }), -/* 698 */ +/* 699 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -79517,7 +79777,7 @@ function isEnum(obj, key) { -var isPlainObject = __webpack_require__(596); +var isPlainObject = __webpack_require__(597); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -79525,7 +79785,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 699 */ +/* 700 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -79871,15 +80131,15 @@ module.exports = function(nanomatch, options) { /***/ }), -/* 700 */ +/* 701 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var regexNot = __webpack_require__(598); -var toRegex = __webpack_require__(581); -var isOdd = __webpack_require__(701); +var regexNot = __webpack_require__(599); +var toRegex = __webpack_require__(582); +var isOdd = __webpack_require__(702); /** * Characters to use in negation regex (we want to "not" match @@ -80265,7 +80525,7 @@ module.exports.not = NOT_REGEX; /***/ }), -/* 701 */ +/* 702 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -80278,7 +80538,7 @@ module.exports.not = NOT_REGEX; -var isNumber = __webpack_require__(702); +var isNumber = __webpack_require__(703); module.exports = function isOdd(i) { if (!isNumber(i)) { @@ -80292,7 +80552,7 @@ module.exports = function isOdd(i) { /***/ }), -/* 702 */ +/* 703 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -80320,14 +80580,14 @@ module.exports = function isNumber(num) { /***/ }), -/* 703 */ +/* 704 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = new (__webpack_require__(704))(); +module.exports = new (__webpack_require__(705))(); /***/ }), -/* 704 */ +/* 705 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -80340,7 +80600,7 @@ module.exports = new (__webpack_require__(704))(); -var MapCache = __webpack_require__(691); +var MapCache = __webpack_require__(692); /** * Create a new `FragmentCache` with an optional object to use for `caches`. @@ -80462,7 +80722,7 @@ exports = module.exports = FragmentCache; /***/ }), -/* 705 */ +/* 706 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -80475,14 +80735,14 @@ var path = __webpack_require__(4); * Module dependencies */ -var isWindows = __webpack_require__(706)(); -var Snapdragon = __webpack_require__(625); -utils.define = __webpack_require__(707); -utils.diff = __webpack_require__(708); -utils.extend = __webpack_require__(697); -utils.pick = __webpack_require__(709); -utils.typeOf = __webpack_require__(591); -utils.unique = __webpack_require__(601); +var isWindows = __webpack_require__(707)(); +var Snapdragon = __webpack_require__(626); +utils.define = __webpack_require__(708); +utils.diff = __webpack_require__(709); +utils.extend = __webpack_require__(698); +utils.pick = __webpack_require__(710); +utils.typeOf = __webpack_require__(592); +utils.unique = __webpack_require__(602); /** * Returns true if the given value is effectively an empty string @@ -80848,7 +81108,7 @@ utils.unixify = function(options) { /***/ }), -/* 706 */ +/* 707 */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! @@ -80876,7 +81136,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 707 */ +/* 708 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -80889,8 +81149,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ -var isobject = __webpack_require__(589); -var isDescriptor = __webpack_require__(590); +var isobject = __webpack_require__(590); +var isDescriptor = __webpack_require__(591); var define = (typeof Reflect !== 'undefined' && Reflect.defineProperty) ? Reflect.defineProperty : Object.defineProperty; @@ -80921,7 +81181,7 @@ module.exports = function defineProperty(obj, key, val) { /***/ }), -/* 708 */ +/* 709 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -80975,7 +81235,7 @@ function diffArray(one, two) { /***/ }), -/* 709 */ +/* 710 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -80988,7 +81248,7 @@ function diffArray(one, two) { -var isObject = __webpack_require__(589); +var isObject = __webpack_require__(590); module.exports = function pick(obj, keys) { if (!isObject(obj) && typeof obj !== 'function') { @@ -81017,7 +81277,7 @@ module.exports = function pick(obj, keys) { /***/ }), -/* 710 */ +/* 711 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -81027,18 +81287,18 @@ module.exports = function pick(obj, keys) { * Module dependencies */ -var extend = __webpack_require__(640); -var unique = __webpack_require__(601); -var toRegex = __webpack_require__(581); +var extend = __webpack_require__(641); +var unique = __webpack_require__(602); +var toRegex = __webpack_require__(582); /** * Local dependencies */ -var compilers = __webpack_require__(711); -var parsers = __webpack_require__(717); -var Extglob = __webpack_require__(720); -var utils = __webpack_require__(719); +var compilers = __webpack_require__(712); +var parsers = __webpack_require__(718); +var Extglob = __webpack_require__(721); +var utils = __webpack_require__(720); var MAX_LENGTH = 1024 * 64; /** @@ -81355,13 +81615,13 @@ module.exports = extglob; /***/ }), -/* 711 */ +/* 712 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var brackets = __webpack_require__(712); +var brackets = __webpack_require__(713); /** * Extglob compilers @@ -81531,7 +81791,7 @@ module.exports = function(extglob) { /***/ }), -/* 712 */ +/* 713 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -81541,17 +81801,17 @@ module.exports = function(extglob) { * Local dependencies */ -var compilers = __webpack_require__(713); -var parsers = __webpack_require__(715); +var compilers = __webpack_require__(714); +var parsers = __webpack_require__(716); /** * Module dependencies */ var debug = __webpack_require__(205)('expand-brackets'); -var extend = __webpack_require__(640); -var Snapdragon = __webpack_require__(625); -var toRegex = __webpack_require__(581); +var extend = __webpack_require__(641); +var Snapdragon = __webpack_require__(626); +var toRegex = __webpack_require__(582); /** * Parses the given POSIX character class `pattern` and returns a @@ -81749,13 +82009,13 @@ module.exports = brackets; /***/ }), -/* 713 */ +/* 714 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var posix = __webpack_require__(714); +var posix = __webpack_require__(715); module.exports = function(brackets) { brackets.compiler @@ -81843,7 +82103,7 @@ module.exports = function(brackets) { /***/ }), -/* 714 */ +/* 715 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -81872,14 +82132,14 @@ module.exports = { /***/ }), -/* 715 */ +/* 716 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(716); -var define = __webpack_require__(656); +var utils = __webpack_require__(717); +var define = __webpack_require__(657); /** * Text regex @@ -82098,14 +82358,14 @@ module.exports.TEXT_REGEX = TEXT_REGEX; /***/ }), -/* 716 */ +/* 717 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var toRegex = __webpack_require__(581); -var regexNot = __webpack_require__(598); +var toRegex = __webpack_require__(582); +var regexNot = __webpack_require__(599); var cached; /** @@ -82139,15 +82399,15 @@ exports.createRegex = function(pattern, include) { /***/ }), -/* 717 */ +/* 718 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var brackets = __webpack_require__(712); -var define = __webpack_require__(718); -var utils = __webpack_require__(719); +var brackets = __webpack_require__(713); +var define = __webpack_require__(719); +var utils = __webpack_require__(720); /** * Characters to use in text regex (we want to "not" match @@ -82302,7 +82562,7 @@ module.exports = parsers; /***/ }), -/* 718 */ +/* 719 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -82315,7 +82575,7 @@ module.exports = parsers; -var isDescriptor = __webpack_require__(590); +var isDescriptor = __webpack_require__(591); module.exports = function defineProperty(obj, prop, val) { if (typeof obj !== 'object' && typeof obj !== 'function') { @@ -82340,14 +82600,14 @@ module.exports = function defineProperty(obj, prop, val) { /***/ }), -/* 719 */ +/* 720 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var regex = __webpack_require__(598); -var Cache = __webpack_require__(704); +var regex = __webpack_require__(599); +var Cache = __webpack_require__(705); /** * Utils @@ -82416,7 +82676,7 @@ utils.createRegex = function(str) { /***/ }), -/* 720 */ +/* 721 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -82426,16 +82686,16 @@ utils.createRegex = function(str) { * Module dependencies */ -var Snapdragon = __webpack_require__(625); -var define = __webpack_require__(718); -var extend = __webpack_require__(640); +var Snapdragon = __webpack_require__(626); +var define = __webpack_require__(719); +var extend = __webpack_require__(641); /** * Local dependencies */ -var compilers = __webpack_require__(711); -var parsers = __webpack_require__(717); +var compilers = __webpack_require__(712); +var parsers = __webpack_require__(718); /** * Customize Snapdragon parser and renderer @@ -82501,16 +82761,16 @@ module.exports = Extglob; /***/ }), -/* 721 */ +/* 722 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var extglob = __webpack_require__(710); -var nanomatch = __webpack_require__(696); -var regexNot = __webpack_require__(598); -var toRegex = __webpack_require__(581); +var extglob = __webpack_require__(711); +var nanomatch = __webpack_require__(697); +var regexNot = __webpack_require__(599); +var toRegex = __webpack_require__(582); var not; /** @@ -82591,14 +82851,14 @@ function textRegex(pattern) { /***/ }), -/* 722 */ +/* 723 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = new (__webpack_require__(704))(); +module.exports = new (__webpack_require__(705))(); /***/ }), -/* 723 */ +/* 724 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -82611,13 +82871,13 @@ var path = __webpack_require__(4); * Module dependencies */ -var Snapdragon = __webpack_require__(625); -utils.define = __webpack_require__(724); -utils.diff = __webpack_require__(708); -utils.extend = __webpack_require__(693); -utils.pick = __webpack_require__(709); -utils.typeOf = __webpack_require__(591); -utils.unique = __webpack_require__(601); +var Snapdragon = __webpack_require__(626); +utils.define = __webpack_require__(725); +utils.diff = __webpack_require__(709); +utils.extend = __webpack_require__(694); +utils.pick = __webpack_require__(710); +utils.typeOf = __webpack_require__(592); +utils.unique = __webpack_require__(602); /** * Returns true if the platform is windows, or `path.sep` is `\\`. @@ -82914,7 +83174,7 @@ utils.unixify = function(options) { /***/ }), -/* 724 */ +/* 725 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -82927,8 +83187,8 @@ utils.unixify = function(options) { -var isobject = __webpack_require__(589); -var isDescriptor = __webpack_require__(590); +var isobject = __webpack_require__(590); +var isDescriptor = __webpack_require__(591); var define = (typeof Reflect !== 'undefined' && Reflect.defineProperty) ? Reflect.defineProperty : Object.defineProperty; @@ -82959,7 +83219,7 @@ module.exports = function defineProperty(obj, key, val) { /***/ }), -/* 725 */ +/* 726 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -82978,9 +83238,9 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var readdir = __webpack_require__(726); -var reader_1 = __webpack_require__(739); -var fs_stream_1 = __webpack_require__(743); +var readdir = __webpack_require__(727); +var reader_1 = __webpack_require__(740); +var fs_stream_1 = __webpack_require__(744); var ReaderAsync = /** @class */ (function (_super) { __extends(ReaderAsync, _super); function ReaderAsync() { @@ -83041,15 +83301,15 @@ exports.default = ReaderAsync; /***/ }), -/* 726 */ +/* 727 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const readdirSync = __webpack_require__(727); -const readdirAsync = __webpack_require__(735); -const readdirStream = __webpack_require__(738); +const readdirSync = __webpack_require__(728); +const readdirAsync = __webpack_require__(736); +const readdirStream = __webpack_require__(739); module.exports = exports = readdirAsyncPath; exports.readdir = exports.readdirAsync = exports.async = readdirAsyncPath; @@ -83133,7 +83393,7 @@ function readdirStreamStat (dir, options) { /***/ }), -/* 727 */ +/* 728 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -83141,11 +83401,11 @@ function readdirStreamStat (dir, options) { module.exports = readdirSync; -const DirectoryReader = __webpack_require__(728); +const DirectoryReader = __webpack_require__(729); let syncFacade = { - fs: __webpack_require__(733), - forEach: __webpack_require__(734), + fs: __webpack_require__(734), + forEach: __webpack_require__(735), sync: true }; @@ -83174,7 +83434,7 @@ function readdirSync (dir, options, internalOptions) { /***/ }), -/* 728 */ +/* 729 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -83183,9 +83443,9 @@ function readdirSync (dir, options, internalOptions) { const Readable = __webpack_require__(173).Readable; const EventEmitter = __webpack_require__(164).EventEmitter; const path = __webpack_require__(4); -const normalizeOptions = __webpack_require__(729); -const stat = __webpack_require__(731); -const call = __webpack_require__(732); +const normalizeOptions = __webpack_require__(730); +const stat = __webpack_require__(732); +const call = __webpack_require__(733); /** * Asynchronously reads the contents of a directory and streams the results @@ -83561,14 +83821,14 @@ module.exports = DirectoryReader; /***/ }), -/* 729 */ +/* 730 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); -const globToRegExp = __webpack_require__(730); +const globToRegExp = __webpack_require__(731); module.exports = normalizeOptions; @@ -83745,7 +84005,7 @@ function normalizeOptions (options, internalOptions) { /***/ }), -/* 730 */ +/* 731 */ /***/ (function(module, exports) { module.exports = function (glob, opts) { @@ -83882,13 +84142,13 @@ module.exports = function (glob, opts) { /***/ }), -/* 731 */ +/* 732 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const call = __webpack_require__(732); +const call = __webpack_require__(733); module.exports = stat; @@ -83963,7 +84223,7 @@ function symlinkStat (fs, path, lstats, callback) { /***/ }), -/* 732 */ +/* 733 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84024,14 +84284,14 @@ function callOnce (fn) { /***/ }), -/* 733 */ +/* 734 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const fs = __webpack_require__(132); -const call = __webpack_require__(732); +const call = __webpack_require__(733); /** * A facade around {@link fs.readdirSync} that allows it to be called @@ -84095,7 +84355,7 @@ exports.lstat = function (path, callback) { /***/ }), -/* 734 */ +/* 735 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84124,7 +84384,7 @@ function syncForEach (array, iterator, done) { /***/ }), -/* 735 */ +/* 736 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84132,12 +84392,12 @@ function syncForEach (array, iterator, done) { module.exports = readdirAsync; -const maybe = __webpack_require__(736); -const DirectoryReader = __webpack_require__(728); +const maybe = __webpack_require__(737); +const DirectoryReader = __webpack_require__(729); let asyncFacade = { fs: __webpack_require__(132), - forEach: __webpack_require__(737), + forEach: __webpack_require__(738), async: true }; @@ -84179,7 +84439,7 @@ function readdirAsync (dir, options, callback, internalOptions) { /***/ }), -/* 736 */ +/* 737 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84206,7 +84466,7 @@ module.exports = function maybe (cb, promise) { /***/ }), -/* 737 */ +/* 738 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84242,7 +84502,7 @@ function asyncForEach (array, iterator, done) { /***/ }), -/* 738 */ +/* 739 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84250,11 +84510,11 @@ function asyncForEach (array, iterator, done) { module.exports = readdirStream; -const DirectoryReader = __webpack_require__(728); +const DirectoryReader = __webpack_require__(729); let streamFacade = { fs: __webpack_require__(132), - forEach: __webpack_require__(737), + forEach: __webpack_require__(738), async: true }; @@ -84274,16 +84534,16 @@ function readdirStream (dir, options, internalOptions) { /***/ }), -/* 739 */ +/* 740 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var path = __webpack_require__(4); -var deep_1 = __webpack_require__(740); -var entry_1 = __webpack_require__(742); -var pathUtil = __webpack_require__(741); +var deep_1 = __webpack_require__(741); +var entry_1 = __webpack_require__(743); +var pathUtil = __webpack_require__(742); var Reader = /** @class */ (function () { function Reader(options) { this.options = options; @@ -84349,14 +84609,14 @@ exports.default = Reader; /***/ }), -/* 740 */ +/* 741 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var pathUtils = __webpack_require__(741); -var patternUtils = __webpack_require__(575); +var pathUtils = __webpack_require__(742); +var patternUtils = __webpack_require__(576); var DeepFilter = /** @class */ (function () { function DeepFilter(options, micromatchOptions) { this.options = options; @@ -84439,7 +84699,7 @@ exports.default = DeepFilter; /***/ }), -/* 741 */ +/* 742 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84470,14 +84730,14 @@ exports.makeAbsolute = makeAbsolute; /***/ }), -/* 742 */ +/* 743 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var pathUtils = __webpack_require__(741); -var patternUtils = __webpack_require__(575); +var pathUtils = __webpack_require__(742); +var patternUtils = __webpack_require__(576); var EntryFilter = /** @class */ (function () { function EntryFilter(options, micromatchOptions) { this.options = options; @@ -84562,7 +84822,7 @@ exports.default = EntryFilter; /***/ }), -/* 743 */ +/* 744 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84582,8 +84842,8 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var stream = __webpack_require__(173); -var fsStat = __webpack_require__(744); -var fs_1 = __webpack_require__(748); +var fsStat = __webpack_require__(745); +var fs_1 = __webpack_require__(749); var FileSystemStream = /** @class */ (function (_super) { __extends(FileSystemStream, _super); function FileSystemStream() { @@ -84633,14 +84893,14 @@ exports.default = FileSystemStream; /***/ }), -/* 744 */ +/* 745 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const optionsManager = __webpack_require__(745); -const statProvider = __webpack_require__(747); +const optionsManager = __webpack_require__(746); +const statProvider = __webpack_require__(748); /** * Asynchronous API. */ @@ -84671,13 +84931,13 @@ exports.statSync = statSync; /***/ }), -/* 745 */ +/* 746 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const fsAdapter = __webpack_require__(746); +const fsAdapter = __webpack_require__(747); function prepare(opts) { const options = Object.assign({ fs: fsAdapter.getFileSystemAdapter(opts ? opts.fs : undefined), @@ -84690,7 +84950,7 @@ exports.prepare = prepare; /***/ }), -/* 746 */ +/* 747 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84713,7 +84973,7 @@ exports.getFileSystemAdapter = getFileSystemAdapter; /***/ }), -/* 747 */ +/* 748 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84765,7 +85025,7 @@ exports.isFollowedSymlink = isFollowedSymlink; /***/ }), -/* 748 */ +/* 749 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84796,7 +85056,7 @@ exports.default = FileSystem; /***/ }), -/* 749 */ +/* 750 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84816,9 +85076,9 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var stream = __webpack_require__(173); -var readdir = __webpack_require__(726); -var reader_1 = __webpack_require__(739); -var fs_stream_1 = __webpack_require__(743); +var readdir = __webpack_require__(727); +var reader_1 = __webpack_require__(740); +var fs_stream_1 = __webpack_require__(744); var TransformStream = /** @class */ (function (_super) { __extends(TransformStream, _super); function TransformStream(reader) { @@ -84886,7 +85146,7 @@ exports.default = ReaderStream; /***/ }), -/* 750 */ +/* 751 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84905,9 +85165,9 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var readdir = __webpack_require__(726); -var reader_1 = __webpack_require__(739); -var fs_sync_1 = __webpack_require__(751); +var readdir = __webpack_require__(727); +var reader_1 = __webpack_require__(740); +var fs_sync_1 = __webpack_require__(752); var ReaderSync = /** @class */ (function (_super) { __extends(ReaderSync, _super); function ReaderSync() { @@ -84967,7 +85227,7 @@ exports.default = ReaderSync; /***/ }), -/* 751 */ +/* 752 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84986,8 +85246,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var fsStat = __webpack_require__(744); -var fs_1 = __webpack_require__(748); +var fsStat = __webpack_require__(745); +var fs_1 = __webpack_require__(749); var FileSystemSync = /** @class */ (function (_super) { __extends(FileSystemSync, _super); function FileSystemSync() { @@ -85033,7 +85293,7 @@ exports.default = FileSystemSync; /***/ }), -/* 752 */ +/* 753 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -85049,7 +85309,7 @@ exports.flatten = flatten; /***/ }), -/* 753 */ +/* 754 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -85070,13 +85330,13 @@ exports.merge = merge; /***/ }), -/* 754 */ +/* 755 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); -const pathType = __webpack_require__(755); +const pathType = __webpack_require__(756); const getExtensions = extensions => extensions.length > 1 ? `{${extensions.join(',')}}` : extensions[0]; @@ -85142,13 +85402,13 @@ module.exports.sync = (input, opts) => { /***/ }), -/* 755 */ +/* 756 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const fs = __webpack_require__(132); -const pify = __webpack_require__(756); +const pify = __webpack_require__(757); function type(fn, fn2, fp) { if (typeof fp !== 'string') { @@ -85191,7 +85451,7 @@ exports.symlinkSync = typeSync.bind(null, 'lstatSync', 'isSymbolicLink'); /***/ }), -/* 756 */ +/* 757 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -85282,17 +85542,17 @@ module.exports = (obj, opts) => { /***/ }), -/* 757 */ +/* 758 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const fs = __webpack_require__(132); const path = __webpack_require__(4); -const fastGlob = __webpack_require__(571); -const gitIgnore = __webpack_require__(758); +const fastGlob = __webpack_require__(572); +const gitIgnore = __webpack_require__(759); const pify = __webpack_require__(404); -const slash = __webpack_require__(759); +const slash = __webpack_require__(760); const DEFAULT_IGNORE = [ '**/node_modules/**', @@ -85390,7 +85650,7 @@ module.exports.sync = options => { /***/ }), -/* 758 */ +/* 759 */ /***/ (function(module, exports) { // A simple implementation of make-array @@ -85859,7 +86119,7 @@ module.exports = options => new IgnoreBase(options) /***/ }), -/* 759 */ +/* 760 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -85877,7 +86137,7 @@ module.exports = input => { /***/ }), -/* 760 */ +/* 761 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -85890,7 +86150,7 @@ module.exports = input => { -var isGlob = __webpack_require__(761); +var isGlob = __webpack_require__(762); module.exports = function hasGlob(val) { if (val == null) return false; @@ -85910,7 +86170,7 @@ module.exports = function hasGlob(val) { /***/ }), -/* 761 */ +/* 762 */ /***/ (function(module, exports, __webpack_require__) { /*! @@ -85941,17 +86201,17 @@ module.exports = function isGlob(str) { /***/ }), -/* 762 */ +/* 763 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); const {constants: fsConstants} = __webpack_require__(132); -const pEvent = __webpack_require__(763); -const CpFileError = __webpack_require__(766); -const fs = __webpack_require__(768); -const ProgressEmitter = __webpack_require__(771); +const pEvent = __webpack_require__(764); +const CpFileError = __webpack_require__(767); +const fs = __webpack_require__(769); +const ProgressEmitter = __webpack_require__(772); const cpFileAsync = async (source, destination, options, progressEmitter) => { let readError; @@ -86065,12 +86325,12 @@ module.exports.sync = (source, destination, options) => { /***/ }), -/* 763 */ +/* 764 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const pTimeout = __webpack_require__(764); +const pTimeout = __webpack_require__(765); const symbolAsyncIterator = Symbol.asyncIterator || '@@asyncIterator'; @@ -86361,12 +86621,12 @@ module.exports.iterator = (emitter, event, options) => { /***/ }), -/* 764 */ +/* 765 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const pFinally = __webpack_require__(765); +const pFinally = __webpack_require__(766); class TimeoutError extends Error { constructor(message) { @@ -86412,7 +86672,7 @@ module.exports.TimeoutError = TimeoutError; /***/ }), -/* 765 */ +/* 766 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -86434,12 +86694,12 @@ module.exports = (promise, onFinally) => { /***/ }), -/* 766 */ +/* 767 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const NestedError = __webpack_require__(767); +const NestedError = __webpack_require__(768); class CpFileError extends NestedError { constructor(message, nested) { @@ -86453,7 +86713,7 @@ module.exports = CpFileError; /***/ }), -/* 767 */ +/* 768 */ /***/ (function(module, exports, __webpack_require__) { var inherits = __webpack_require__(113).inherits; @@ -86509,16 +86769,16 @@ module.exports = NestedError; /***/ }), -/* 768 */ +/* 769 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const {promisify} = __webpack_require__(113); const fs = __webpack_require__(233); -const makeDir = __webpack_require__(769); -const pEvent = __webpack_require__(763); -const CpFileError = __webpack_require__(766); +const makeDir = __webpack_require__(770); +const pEvent = __webpack_require__(764); +const CpFileError = __webpack_require__(767); const stat = promisify(fs.stat); const lstat = promisify(fs.lstat); @@ -86615,7 +86875,7 @@ exports.copyFileSync = (source, destination, flags) => { /***/ }), -/* 769 */ +/* 770 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -86623,7 +86883,7 @@ exports.copyFileSync = (source, destination, flags) => { const fs = __webpack_require__(132); const path = __webpack_require__(4); const {promisify} = __webpack_require__(113); -const semver = __webpack_require__(770); +const semver = __webpack_require__(771); const useNativeRecursiveOption = semver.satisfies(process.version, '>=10.12.0'); @@ -86778,7 +87038,7 @@ module.exports.sync = (input, options) => { /***/ }), -/* 770 */ +/* 771 */ /***/ (function(module, exports) { exports = module.exports = SemVer @@ -88380,7 +88640,7 @@ function coerce (version, options) { /***/ }), -/* 771 */ +/* 772 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -88421,7 +88681,7 @@ module.exports = ProgressEmitter; /***/ }), -/* 772 */ +/* 773 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -88467,12 +88727,12 @@ exports.default = module.exports; /***/ }), -/* 773 */ +/* 774 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const pMap = __webpack_require__(774); +const pMap = __webpack_require__(775); const pFilter = async (iterable, filterer, options) => { const values = await pMap( @@ -88489,7 +88749,7 @@ module.exports.default = pFilter; /***/ }), -/* 774 */ +/* 775 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -88568,12 +88828,12 @@ module.exports.default = pMap; /***/ }), -/* 775 */ +/* 776 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const NestedError = __webpack_require__(767); +const NestedError = __webpack_require__(768); class CpyError extends NestedError { constructor(message, nested) { @@ -88587,7 +88847,7 @@ module.exports = CpyError; /***/ }), -/* 776 */ +/* 777 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -88595,10 +88855,10 @@ module.exports = CpyError; const fs = __webpack_require__(132); const arrayUnion = __webpack_require__(242); const merge2 = __webpack_require__(243); -const fastGlob = __webpack_require__(777); +const fastGlob = __webpack_require__(778); const dirGlob = __webpack_require__(326); -const gitignore = __webpack_require__(802); -const {FilterStream, UniqueStream} = __webpack_require__(803); +const gitignore = __webpack_require__(803); +const {FilterStream, UniqueStream} = __webpack_require__(804); const DEFAULT_FILTER = () => false; @@ -88775,17 +89035,17 @@ module.exports.gitignore = gitignore; /***/ }), -/* 777 */ +/* 778 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const taskManager = __webpack_require__(778); -const async_1 = __webpack_require__(788); -const stream_1 = __webpack_require__(798); -const sync_1 = __webpack_require__(799); -const settings_1 = __webpack_require__(801); -const utils = __webpack_require__(779); +const taskManager = __webpack_require__(779); +const async_1 = __webpack_require__(789); +const stream_1 = __webpack_require__(799); +const sync_1 = __webpack_require__(800); +const settings_1 = __webpack_require__(802); +const utils = __webpack_require__(780); async function FastGlob(source, options) { assertPatternsInput(source); const works = getWorks(source, async_1.default, options); @@ -88849,14 +89109,14 @@ module.exports = FastGlob; /***/ }), -/* 778 */ +/* 779 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.convertPatternGroupToTask = exports.convertPatternGroupsToTasks = exports.groupPatternsByBaseDirectory = exports.getNegativePatternsAsPositive = exports.getPositivePatterns = exports.convertPatternsToTasks = exports.generate = void 0; -const utils = __webpack_require__(779); +const utils = __webpack_require__(780); function generate(patterns, settings) { const positivePatterns = getPositivePatterns(patterns); const negativePatterns = getNegativePatternsAsPositive(patterns, settings.ignore); @@ -88921,31 +89181,31 @@ exports.convertPatternGroupToTask = convertPatternGroupToTask; /***/ }), -/* 779 */ +/* 780 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.string = exports.stream = exports.pattern = exports.path = exports.fs = exports.errno = exports.array = void 0; -const array = __webpack_require__(780); +const array = __webpack_require__(781); exports.array = array; -const errno = __webpack_require__(781); +const errno = __webpack_require__(782); exports.errno = errno; -const fs = __webpack_require__(782); +const fs = __webpack_require__(783); exports.fs = fs; -const path = __webpack_require__(783); +const path = __webpack_require__(784); exports.path = path; -const pattern = __webpack_require__(784); +const pattern = __webpack_require__(785); exports.pattern = pattern; -const stream = __webpack_require__(786); +const stream = __webpack_require__(787); exports.stream = stream; -const string = __webpack_require__(787); +const string = __webpack_require__(788); exports.string = string; /***/ }), -/* 780 */ +/* 781 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -88974,7 +89234,7 @@ exports.splitWhen = splitWhen; /***/ }), -/* 781 */ +/* 782 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -88988,7 +89248,7 @@ exports.isEnoentCodeError = isEnoentCodeError; /***/ }), -/* 782 */ +/* 783 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -89014,7 +89274,7 @@ exports.createDirentFromStats = createDirentFromStats; /***/ }), -/* 783 */ +/* 784 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -89054,7 +89314,7 @@ exports.removeLeadingDotSegment = removeLeadingDotSegment; /***/ }), -/* 784 */ +/* 785 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -89063,7 +89323,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.matchAny = exports.convertPatternsToRe = exports.makeRe = exports.getPatternParts = exports.expandBraceExpansion = exports.expandPatternsWithBraceExpansion = exports.isAffectDepthOfReadingPattern = exports.endsWithSlashGlobStar = exports.hasGlobStar = exports.getBaseDirectory = exports.getPositivePatterns = exports.getNegativePatterns = exports.isPositivePattern = exports.isNegativePattern = exports.convertToNegativePattern = exports.convertToPositivePattern = exports.isDynamicPattern = exports.isStaticPattern = void 0; const path = __webpack_require__(4); const globParent = __webpack_require__(265); -const micromatch = __webpack_require__(785); +const micromatch = __webpack_require__(786); const picomatch = __webpack_require__(279); const GLOBSTAR = '**'; const ESCAPE_SYMBOL = '\\'; @@ -89193,7 +89453,7 @@ exports.matchAny = matchAny; /***/ }), -/* 785 */ +/* 786 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -89667,7 +89927,7 @@ module.exports = micromatch; /***/ }), -/* 786 */ +/* 787 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -89691,7 +89951,7 @@ function propagateCloseEventToSources(streams) { /***/ }), -/* 787 */ +/* 788 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -89709,14 +89969,14 @@ exports.isEmpty = isEmpty; /***/ }), -/* 788 */ +/* 789 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const stream_1 = __webpack_require__(789); -const provider_1 = __webpack_require__(791); +const stream_1 = __webpack_require__(790); +const provider_1 = __webpack_require__(792); class ProviderAsync extends provider_1.default { constructor() { super(...arguments); @@ -89744,7 +90004,7 @@ exports.default = ProviderAsync; /***/ }), -/* 789 */ +/* 790 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -89753,7 +90013,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); const stream_1 = __webpack_require__(173); const fsStat = __webpack_require__(289); const fsWalk = __webpack_require__(294); -const reader_1 = __webpack_require__(790); +const reader_1 = __webpack_require__(791); class ReaderStream extends reader_1.default { constructor() { super(...arguments); @@ -89806,7 +90066,7 @@ exports.default = ReaderStream; /***/ }), -/* 790 */ +/* 791 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -89814,7 +90074,7 @@ exports.default = ReaderStream; Object.defineProperty(exports, "__esModule", { value: true }); const path = __webpack_require__(4); const fsStat = __webpack_require__(289); -const utils = __webpack_require__(779); +const utils = __webpack_require__(780); class Reader { constructor(_settings) { this._settings = _settings; @@ -89846,17 +90106,17 @@ exports.default = Reader; /***/ }), -/* 791 */ +/* 792 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const path = __webpack_require__(4); -const deep_1 = __webpack_require__(792); -const entry_1 = __webpack_require__(795); -const error_1 = __webpack_require__(796); -const entry_2 = __webpack_require__(797); +const deep_1 = __webpack_require__(793); +const entry_1 = __webpack_require__(796); +const error_1 = __webpack_require__(797); +const entry_2 = __webpack_require__(798); class Provider { constructor(_settings) { this._settings = _settings; @@ -89901,14 +90161,14 @@ exports.default = Provider; /***/ }), -/* 792 */ +/* 793 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(779); -const partial_1 = __webpack_require__(793); +const utils = __webpack_require__(780); +const partial_1 = __webpack_require__(794); class DeepFilter { constructor(_settings, _micromatchOptions) { this._settings = _settings; @@ -89970,13 +90230,13 @@ exports.default = DeepFilter; /***/ }), -/* 793 */ +/* 794 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const matcher_1 = __webpack_require__(794); +const matcher_1 = __webpack_require__(795); class PartialMatcher extends matcher_1.default { match(filepath) { const parts = filepath.split('/'); @@ -90015,13 +90275,13 @@ exports.default = PartialMatcher; /***/ }), -/* 794 */ +/* 795 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(779); +const utils = __webpack_require__(780); class Matcher { constructor(_patterns, _settings, _micromatchOptions) { this._patterns = _patterns; @@ -90072,13 +90332,13 @@ exports.default = Matcher; /***/ }), -/* 795 */ +/* 796 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(779); +const utils = __webpack_require__(780); class EntryFilter { constructor(_settings, _micromatchOptions) { this._settings = _settings; @@ -90135,13 +90395,13 @@ exports.default = EntryFilter; /***/ }), -/* 796 */ +/* 797 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(779); +const utils = __webpack_require__(780); class ErrorFilter { constructor(_settings) { this._settings = _settings; @@ -90157,13 +90417,13 @@ exports.default = ErrorFilter; /***/ }), -/* 797 */ +/* 798 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(779); +const utils = __webpack_require__(780); class EntryTransformer { constructor(_settings) { this._settings = _settings; @@ -90190,15 +90450,15 @@ exports.default = EntryTransformer; /***/ }), -/* 798 */ +/* 799 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const stream_1 = __webpack_require__(173); -const stream_2 = __webpack_require__(789); -const provider_1 = __webpack_require__(791); +const stream_2 = __webpack_require__(790); +const provider_1 = __webpack_require__(792); class ProviderStream extends provider_1.default { constructor() { super(...arguments); @@ -90228,14 +90488,14 @@ exports.default = ProviderStream; /***/ }), -/* 799 */ +/* 800 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const sync_1 = __webpack_require__(800); -const provider_1 = __webpack_require__(791); +const sync_1 = __webpack_require__(801); +const provider_1 = __webpack_require__(792); class ProviderSync extends provider_1.default { constructor() { super(...arguments); @@ -90258,7 +90518,7 @@ exports.default = ProviderSync; /***/ }), -/* 800 */ +/* 801 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -90266,7 +90526,7 @@ exports.default = ProviderSync; Object.defineProperty(exports, "__esModule", { value: true }); const fsStat = __webpack_require__(289); const fsWalk = __webpack_require__(294); -const reader_1 = __webpack_require__(790); +const reader_1 = __webpack_require__(791); class ReaderSync extends reader_1.default { constructor() { super(...arguments); @@ -90308,7 +90568,7 @@ exports.default = ReaderSync; /***/ }), -/* 801 */ +/* 802 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -90372,7 +90632,7 @@ exports.default = Settings; /***/ }), -/* 802 */ +/* 803 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -90380,7 +90640,7 @@ exports.default = Settings; const {promisify} = __webpack_require__(113); const fs = __webpack_require__(132); const path = __webpack_require__(4); -const fastGlob = __webpack_require__(777); +const fastGlob = __webpack_require__(778); const gitIgnore = __webpack_require__(329); const slash = __webpack_require__(330); @@ -90499,7 +90759,7 @@ module.exports.sync = options => { /***/ }), -/* 803 */ +/* 804 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -90552,7 +90812,7 @@ module.exports = { /***/ }), -/* 804 */ +/* 805 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -90560,13 +90820,13 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildNonBazelProductionProjects", function() { return buildNonBazelProductionProjects; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getProductionProjects", function() { return getProductionProjects; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildProject", function() { return buildProject; }); -/* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(564); +/* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(565); /* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cpy__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(240); /* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(del__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(561); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(562); /* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(231); /* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(220); /* harmony import */ var _utils_package_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(343); diff --git a/packages/kbn-pm/src/commands/bootstrap.ts b/packages/kbn-pm/src/commands/bootstrap.ts index 12034a9f4a094..b5a9645047c09 100644 --- a/packages/kbn-pm/src/commands/bootstrap.ts +++ b/packages/kbn-pm/src/commands/bootstrap.ts @@ -17,12 +17,8 @@ import { ICommand } from './'; import { readYarnLock } from '../utils/yarn_lock'; import { sortPackageJson } from '../utils/sort_package_json'; import { validateDependencies } from '../utils/validate_dependencies'; -import { - ensureYarnIntegrityFileExists, - installBazelTools, - runBazel, - yarnIntegrityFileExists, -} from '../utils/bazel'; +import { installBazelTools, removeYarnIntegrityFileIfExists, runBazel } from '../utils/bazel'; +import { setupRemoteCache } from '../utils/bazel/setup_remote_cache'; export const BootstrapCommand: ICommand = { description: 'Install dependencies and crosslink projects', @@ -41,20 +37,15 @@ export const BootstrapCommand: ICommand = { const reporter = CiStatsReporter.fromEnv(log); const timings = []; - // Force install is set in case a flag is passed or - // if the `.yarn-integrity` file is not found which - // will be indicated by the return of yarnIntegrityFileExists. - const forceInstall = - (!!options && options['force-install'] === true) || - !(await yarnIntegrityFileExists(resolve(kibanaProjectPath, 'node_modules'))); - - // Ensure we have a `node_modules/.yarn-integrity` file as we depend on it - // for bazel to know it has to re-install the node_modules after a reset or a clean - await ensureYarnIntegrityFileExists(resolve(kibanaProjectPath, 'node_modules')); + // Force install is set in case a flag is passed into yarn kbn bootstrap + const forceInstall = !!options && options['force-install'] === true; // Install bazel machinery tools if needed await installBazelTools(rootPath); + // Setup remote cache settings in .bazelrc.cache if needed + await setupRemoteCache(rootPath); + // Bootstrap process for Bazel packages // Bazel is now managing dependencies so yarn install // will happen as part of this @@ -67,7 +58,16 @@ export const BootstrapCommand: ICommand = { if (forceInstall) { const forceInstallStartTime = Date.now(); - await runBazel(['run', '@nodejs//:yarn'], runOffline); + await removeYarnIntegrityFileIfExists(resolve(kibanaProjectPath, 'node_modules')); + await runBazel(['clean']); + await runBazel(['run', '@nodejs//:yarn'], runOffline, { + env: { + SASS_BINARY_SITE: + 'https://us-central1-elastic-kibana-184716.cloudfunctions.net/kibana-ci-proxy-cache/node-sass', + RE2_DOWNLOAD_MIRROR: + 'https://us-central1-elastic-kibana-184716.cloudfunctions.net/kibana-ci-proxy-cache/node-re2', + }, + }); timings.push({ id: 'force install dependencies', ms: Date.now() - forceInstallStartTime, diff --git a/packages/kbn-pm/src/commands/clean.ts b/packages/kbn-pm/src/commands/clean.ts index 89552946faeea..12f6d674ca9e6 100644 --- a/packages/kbn-pm/src/commands/clean.ts +++ b/packages/kbn-pm/src/commands/clean.ts @@ -17,7 +17,7 @@ import { log } from '../utils/log'; import { ICommand } from './'; export const CleanCommand: ICommand = { - description: 'Deletes output directories, node_modules and resets internal caches.', + description: 'Deletes output directories and resets internal caches.', name: 'clean', reportTiming: { @@ -27,20 +27,15 @@ export const CleanCommand: ICommand = { async run(projects) { log.warning(dedent` - This command is only necessary for the rare circumstance where you need to recover a consistent + This command is only necessary for the circumstance where you need to recover a consistent state when problems arise. If you need to run this command often, please let us know by - filling out this form: https://ela.st/yarn-kbn-clean + filling out this form: https://ela.st/yarn-kbn-clean. + Please not it might not solve problems with node_modules. To solve problems around node_modules + you might need to run 'yarn kbn reset'. `); const toDelete = []; for (const project of projects.values()) { - if (await isDirectory(project.nodeModulesLocation)) { - toDelete.push({ - cwd: project.path, - pattern: relative(project.path, project.nodeModulesLocation), - }); - } - if (await isDirectory(project.targetLocation)) { toDelete.push({ cwd: project.path, diff --git a/packages/kbn-pm/src/commands/reset.ts b/packages/kbn-pm/src/commands/reset.ts index 0d5fd72427a9f..1a3f7c748f79e 100644 --- a/packages/kbn-pm/src/commands/reset.ts +++ b/packages/kbn-pm/src/commands/reset.ts @@ -34,7 +34,8 @@ export const ResetCommand: ICommand = { async run(projects) { log.warning(dedent` In most cases, 'yarn kbn clean' is all that should be needed to recover a consistent state when - problems arise. If you need to use this command, please let us know, as it should not be necessary. + problems arise. However for the rare cases where something get corrupt on node_modules you might need this command. + If you think you need to use this command very often (which is not normal), please let us know. `); const toDelete = []; diff --git a/packages/kbn-pm/src/utils/bazel/index.ts b/packages/kbn-pm/src/utils/bazel/index.ts index a3651039161b8..84e26a0b914e1 100644 --- a/packages/kbn-pm/src/utils/bazel/index.ts +++ b/packages/kbn-pm/src/utils/bazel/index.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -export * from './yarn_integrity'; export * from './get_cache_folders'; export * from './install_tools'; export * from './run'; +export * from './yarn_integrity'; diff --git a/packages/kbn-pm/src/utils/bazel/run.ts b/packages/kbn-pm/src/utils/bazel/run.ts index c030081e53daa..18a6cacdf6d2a 100644 --- a/packages/kbn-pm/src/utils/bazel/run.ts +++ b/packages/kbn-pm/src/utils/bazel/run.ts @@ -52,6 +52,9 @@ async function runBazelCommandWithRunner( try { await bazelProc; } catch { + log.error( + 'HINT: If experiencing problems with node_modules try `yarn kbn bootstrap --force-install` or as last resort `yarn kbn reset && yarn kbn bootstrap`' + ); throw new CliError(`The bazel command that was running failed to complete.`); } await bazelLogs$.toPromise(); diff --git a/packages/kbn-pm/src/utils/bazel/setup_remote_cache.ts b/packages/kbn-pm/src/utils/bazel/setup_remote_cache.ts new file mode 100644 index 0000000000000..0e740e674b7d8 --- /dev/null +++ b/packages/kbn-pm/src/utils/bazel/setup_remote_cache.ts @@ -0,0 +1,92 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import dedent from 'dedent'; +import { existsSync, writeFileSync } from 'fs'; +import { resolve } from 'path'; +import { spawn } from '../child_process'; +import { log } from '../log'; + +async function isVaultAvailable() { + try { + await spawn('vault', ['--version'], { stdio: 'pipe' }); + + return true; + } catch { + return false; + } +} + +async function isElasticCommitter() { + try { + const { stdout: email } = await spawn('git', ['config', 'user.email'], { + stdio: 'pipe', + }); + + return email.trim().endsWith('@elastic.co'); + } catch { + return false; + } +} + +export async function setupRemoteCache(repoRootPath: string) { + // The remote cache is only for Elastic employees working locally (CI cache settings are handled elsewhere) + if (process.env.CI || !(await isElasticCommitter())) { + return; + } + + log.debug(`[bazel_tools] setting up remote cache settings if necessary`); + + const settingsPath = resolve(repoRootPath, '.bazelrc.cache'); + + if (existsSync(settingsPath)) { + log.debug(`[bazel_tools] remote cache settings already exist, skipping`); + return; + } + + if (!(await isVaultAvailable())) { + log.info('[bazel_tools] vault is not available, unable to setup remote cache settings.'); + log.info('[bazel_tools] building packages will work, but will be slower in many cases.'); + log.info('[bazel_tools] reach out to Operations if you need assistance with this.'); + return; + } + + let apiKey = ''; + + try { + const { stdout } = await spawn( + 'vault', + ['read', '-field=readonly-key', 'secret/ui-team/kibana-bazel-remote-cache'], + { + stdio: 'pipe', + } + ); + apiKey = stdout.trim(); + } catch (ex: unknown) { + log.info( + '[bazel_tools] unable to read bazel remote cache key from vault, are you authenticated?' + ); + log.info('[bazel_tools] building packages will work, but will be slower in many cases.'); + log.info('[bazel_tools] reach out to Operations if you need assistance with this.'); + log.info(`[bazel_tools] ${ex}`); + + return; + } + + const contents = dedent` + # V1 - This file is automatically generated by 'yarn kbn bootstrap' + # To regenerate this file, delete it and run 'yarn kbn bootstrap' again. + build --bes_results_url=https://app.buildbuddy.io/invocation/ + build --bes_backend=grpcs://cloud.buildbuddy.io + build --remote_cache=grpcs://cloud.buildbuddy.io + build --remote_timeout=3600 + build --remote_header=${apiKey} + `; + + writeFileSync(settingsPath, contents); + log.info(`[bazel_tools] remote cache settings written to ${settingsPath}`); +} diff --git a/packages/kbn-pm/src/utils/bazel/yarn_integrity.ts b/packages/kbn-pm/src/utils/bazel/yarn_integrity.ts index 3a72f5ca080b8..1ac9bfeba1e3b 100644 --- a/packages/kbn-pm/src/utils/bazel/yarn_integrity.ts +++ b/packages/kbn-pm/src/utils/bazel/yarn_integrity.ts @@ -7,35 +7,18 @@ */ import { join } from 'path'; -import { isFile, mkdirp, tryRealpath, writeFile } from '../fs'; +import { isFile, tryRealpath, unlink } from '../fs'; -export async function yarnIntegrityFileExists(nodeModulesPath: string) { +export async function removeYarnIntegrityFileIfExists(nodeModulesPath: string) { try { const nodeModulesRealPath = await tryRealpath(nodeModulesPath); const yarnIntegrityFilePath = join(nodeModulesRealPath, '.yarn-integrity'); - // check if the file already exists + // check if the file exists and delete it in that case if (await isFile(yarnIntegrityFilePath)) { - return true; + await unlink(yarnIntegrityFilePath); } } catch { // no-op } - - return false; -} - -export async function ensureYarnIntegrityFileExists(nodeModulesPath: string) { - try { - const nodeModulesRealPath = await tryRealpath(nodeModulesPath); - const yarnIntegrityFilePath = join(nodeModulesRealPath, '.yarn-integrity'); - - // ensure node_modules folder is created - await mkdirp(nodeModulesRealPath); - - // write a blank file in case it doesn't exists - await writeFile(yarnIntegrityFilePath, '', { flag: 'wx' }); - } catch { - // no-op - } } diff --git a/packages/kbn-test/BUILD.bazel b/packages/kbn-test/BUILD.bazel index efaf01f7137d9..70af3be022afe 100644 --- a/packages/kbn-test/BUILD.bazel +++ b/packages/kbn-test/BUILD.bazel @@ -30,6 +30,8 @@ NPM_MODULE_EXTRA_FILES = [ "jest/package.json", "jest-preset.js", "jest_integration/jest-preset.js", + "jest_integration_node/jest-preset.js", + "jest_node/jest-preset.js", "jest.config.js", "README.md", "package.json", @@ -41,8 +43,10 @@ RUNTIME_DEPS = [ "//packages/kbn-std", "//packages/kbn-utils", "@npm//@elastic/elasticsearch", - "@npm//axios", "@npm//@babel/traverse", + "@npm//@jest/console", + "@npm//@jest/reporters", + "@npm//axios", "@npm//chance", "@npm//del", "@npm//enzyme", @@ -56,7 +60,6 @@ RUNTIME_DEPS = [ "@npm//jest-cli", "@npm//jest-snapshot", "@npm//jest-styled-components", - "@npm//@jest/reporters", "@npm//joi", "@npm//mustache", "@npm//parse-link-header", @@ -66,6 +69,7 @@ RUNTIME_DEPS = [ "@npm//react-router-dom", "@npm//redux", "@npm//rxjs", + "@npm//semver", "@npm//strip-ansi", "@npm//xmlbuilder", "@npm//xml2js", @@ -76,6 +80,10 @@ TYPES_DEPS = [ "//packages/kbn-i18n", "//packages/kbn-utils", "@npm//@elastic/elasticsearch", + "@npm//@jest/console", + "@npm//@jest/reporters", + "@npm//axios", + "@npm//elastic-apm-node", "@npm//del", "@npm//form-data", "@npm//jest", @@ -98,6 +106,7 @@ TYPES_DEPS = [ "@npm//@types/react-dom", "@npm//@types/react-redux", "@npm//@types/react-router-dom", + "@npm//@types/semver", "@npm//@types/xml2js", ] diff --git a/packages/kbn-test/jest-preset.js b/packages/kbn-test/jest-preset.js index db64f070b37d9..1b3b77edeba95 100644 --- a/packages/kbn-test/jest-preset.js +++ b/packages/kbn-test/jest-preset.js @@ -54,19 +54,26 @@ module.exports = { rootDirectory: '.', }, ], + [ + '@kbn/test/target_node/jest/ci_stats_jest_reporter', + { + testGroupType: 'Jest Unit Tests', + }, + ], ], // The paths to modules that run some code to configure or set up the testing environment before each test setupFiles: [ '/node_modules/@kbn/test/target_node/jest/setup/babel_polyfill.js', - '/node_modules/@kbn/test/target_node/jest/setup/polyfills.js', + '/node_modules/@kbn/test/target_node/jest/setup/polyfills.jsdom.js', '/node_modules/@kbn/test/target_node/jest/setup/enzyme.js', ], // A list of paths to modules that run some code to configure or set up the testing framework before each test setupFilesAfterEnv: [ '/node_modules/@kbn/test/target_node/jest/setup/setup_test.js', - '/node_modules/@kbn/test/target_node/jest/setup/mocks.js', + '/node_modules/@kbn/test/target_node/jest/setup/mocks.moment_timezone.js', + '/node_modules/@kbn/test/target_node/jest/setup/mocks.eui.js', '/node_modules/@kbn/test/target_node/jest/setup/react_testing_library.js', ], diff --git a/packages/kbn-test/jest.config.js b/packages/kbn-test/jest.config.js index 6a4847174dde0..ad5513c7ef31c 100644 --- a/packages/kbn-test/jest.config.js +++ b/packages/kbn-test/jest.config.js @@ -7,7 +7,7 @@ */ module.exports = { - preset: '@kbn/test', + preset: '@kbn/test/jest_node', rootDir: '../..', roots: ['/packages/kbn-test'], }; diff --git a/packages/kbn-test/jest.integration.config.js b/packages/kbn-test/jest.integration.config.js new file mode 100644 index 0000000000000..0141c86e8fa59 --- /dev/null +++ b/packages/kbn-test/jest.integration.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_integration_node', + rootDir: '../..', + roots: ['/packages/kbn-test'], +}; diff --git a/packages/kbn-test/jest_integration/jest-preset.js b/packages/kbn-test/jest_integration/jest-preset.js index 7504dec9e7a20..f5593e3f57fb6 100644 --- a/packages/kbn-test/jest_integration/jest-preset.js +++ b/packages/kbn-test/jest_integration/jest-preset.js @@ -16,11 +16,24 @@ module.exports = { ), setupFilesAfterEnv: [ '/node_modules/@kbn/test/target_node/jest/setup/after_env.integration.js', - '/node_modules/@kbn/test/target_node/jest/setup/mocks.js', + '/node_modules/@kbn/test/target_node/jest/setup/mocks.moment_timezone.js', + '/node_modules/@kbn/test/target_node/jest/setup/mocks.eui.js', ], reporters: [ 'default', - ['@kbn/test/target_node/jest/junit_reporter', { reportName: 'Jest Integration Tests' }], + [ + '@kbn/test/target_node/jest/junit_reporter', + { + rootDirectory: '.', + reportName: 'Jest Integration Tests', + }, + ], + [ + '@kbn/test/target_node/jest/ci_stats_jest_reporter', + { + testGroupType: 'Jest Integration Tests', + }, + ], ], coverageReporters: !!process.env.CI ? [['json', { file: 'jest-integration.json' }]] diff --git a/packages/kbn-test/jest_integration_node/jest-preset.js b/packages/kbn-test/jest_integration_node/jest-preset.js new file mode 100644 index 0000000000000..50f097f0386d3 --- /dev/null +++ b/packages/kbn-test/jest_integration_node/jest-preset.js @@ -0,0 +1,46 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +const preset = require('../jest-preset'); + +/** @typedef {import("@jest/types").Config.InitialOptions} JestConfig */ +/** @type {JestConfig} */ +module.exports = { + ...preset, + testMatch: ['**/integration_tests**/*.test.{js,mjs,ts,tsx}'], + testPathIgnorePatterns: preset.testPathIgnorePatterns.filter( + (pattern) => !pattern.includes('integration_tests') + ), + setupFilesAfterEnv: [ + '/node_modules/@kbn/test/target_node/jest/setup/after_env.integration.js', + '/node_modules/@kbn/test/target_node/jest/setup/mocks.moment_timezone.js', + ], + reporters: [ + 'default', + [ + '@kbn/test/target_node/jest/junit_reporter', + { + rootDirectory: '.', + reportName: 'Jest Integration Tests', + }, + ], + [ + '@kbn/test/target_node/jest/ci_stats_jest_reporter', + { + testGroupType: 'Jest Integration Tests', + }, + ], + ], + coverageReporters: !!process.env.CI + ? [['json', { file: 'jest-integration.json' }]] + : ['html', 'text'], + + testEnvironment: 'node', + snapshotSerializers: [], + setupFiles: ['/node_modules/@kbn/test/target_node/jest/setup/babel_polyfill.js'], +}; diff --git a/packages/kbn-test/jest_node/jest-preset.js b/packages/kbn-test/jest_node/jest-preset.js new file mode 100644 index 0000000000000..9a0e9a16321e4 --- /dev/null +++ b/packages/kbn-test/jest_node/jest-preset.js @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +const preset = require('../jest-preset'); + +module.exports = { + ...preset, + testEnvironment: 'node', + snapshotSerializers: [], + setupFiles: ['/node_modules/@kbn/test/target_node/jest/setup/babel_polyfill.js'], +}; diff --git a/packages/kbn-test/src/es/es_client_for_testing.ts b/packages/kbn-test/src/es/es_client_for_testing.ts new file mode 100644 index 0000000000000..3bfad09dca626 --- /dev/null +++ b/packages/kbn-test/src/es/es_client_for_testing.ts @@ -0,0 +1,60 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import * as Url from 'url'; +import * as Fs from 'fs'; + +import { CA_CERT_PATH } from '@kbn/dev-utils'; +import { Client as EsClient, ClientOptions } from '@elastic/elasticsearch'; +import type { Config } from '../functional_test_runner'; + +/** options for creating es instances used in functional testing scenarios */ +export interface EsClientForTestingOptions extends Omit { + /** url of es instance */ + esUrl: string; + /** overwrite the auth embedded in the url to use a different user in this client instance */ + authOverride?: { username: string; password: string }; + /** + * are we running tests against cloud? this is automatically determined + * by checking for the TEST_CLOUD environment variable but can be overriden + * for special cases + */ + isCloud?: boolean; +} + +export function createEsClientForFtrConfig( + config: Config, + overrides?: Omit +) { + const esUrl = Url.format(config.get('servers.elasticsearch')); + return createEsClientForTesting({ + esUrl, + requestTimeout: config.get('timeouts.esRequestTimeout'), + ...overrides, + }); +} + +export function createEsClientForTesting(options: EsClientForTestingOptions) { + const { esUrl, authOverride, isCloud = !!process.env.TEST_CLOUD, ...otherOptions } = options; + + const url = options.authOverride + ? Url.format({ + ...Url.parse(options.esUrl), + auth: `${options.authOverride.username}:${options.authOverride.password}`, + }) + : options.esUrl; + + return new EsClient({ + ssl: isCloud ? undefined : { ca: Fs.readFileSync(CA_CERT_PATH) }, + + ...otherOptions, + + // force nodes config + nodes: [url], + }); +} diff --git a/packages/kbn-test/src/es/es_test_config.ts b/packages/kbn-test/src/es/es_test_config.ts index db5d705710a75..da6e67885733d 100644 --- a/packages/kbn-test/src/es/es_test_config.ts +++ b/packages/kbn-test/src/es/es_test_config.ts @@ -8,7 +8,7 @@ import { kibanaPackageJson as pkg } from '@kbn/dev-utils'; import Url from 'url'; -import { adminTestUser } from '../kbn'; +import { systemIndicesSuperuser } from '../kbn'; class EsTestConfig { getVersion() { @@ -51,8 +51,8 @@ class EsTestConfig { }; } - const username = process.env.TEST_ES_USERNAME || adminTestUser.username; - const password = process.env.TEST_ES_PASSWORD || adminTestUser.password; + const username = process.env.TEST_ES_USERNAME || systemIndicesSuperuser.username; + const password = process.env.TEST_ES_PASSWORD || systemIndicesSuperuser.password; const port = process.env.TEST_ES_PORT ? parseInt(process.env.TEST_ES_PORT, 10) : 9220; diff --git a/packages/kbn-test/src/es/index.ts b/packages/kbn-test/src/es/index.ts index ccfec67dae848..641253acc3647 100644 --- a/packages/kbn-test/src/es/index.ts +++ b/packages/kbn-test/src/es/index.ts @@ -9,3 +9,5 @@ export { createTestEsCluster } from './test_es_cluster'; export type { CreateTestEsClusterOptions, EsTestCluster, ICluster } from './test_es_cluster'; export { esTestConfig } from './es_test_config'; +export { createEsClientForTesting, createEsClientForFtrConfig } from './es_client_for_testing'; +export type { EsClientForTestingOptions } from './es_client_for_testing'; diff --git a/packages/kbn-test/src/es/test_es_cluster.ts b/packages/kbn-test/src/es/test_es_cluster.ts index 026a57ff0a7a9..7ca19d6082871 100644 --- a/packages/kbn-test/src/es/test_es_cluster.ts +++ b/packages/kbn-test/src/es/test_es_cluster.ts @@ -63,6 +63,10 @@ export type EsTestCluster { + const esVersion = flags['es-version'] || undefined; // convert "" to undefined + if (esVersion !== undefined && typeof esVersion !== 'string') { + throw createFlagError('expected --es-version to be a string'); + } + const functionalTestRunner = new FunctionalTestRunner( log, makeAbsolutePath(flags.config as string), { mochaOpts: { bail: flags.bail, + dryRun: flags['dry-run'], grep: flags.grep || undefined, invert: flags.invert, }, @@ -57,7 +63,8 @@ export function runFtrCli() { }, updateBaselines: flags.updateBaselines || flags.u, updateSnapshots: flags.updateSnapshots || flags.u, - } + }, + esVersion ); let teardownRun = false; @@ -123,8 +130,17 @@ export function runFtrCli() { 'include-tag', 'exclude-tag', 'kibana-install-dir', + 'es-version', + ], + boolean: [ + 'bail', + 'invert', + 'test-stats', + 'updateBaselines', + 'updateSnapshots', + 'u', + 'dry-run', ], - boolean: ['bail', 'invert', 'test-stats', 'updateBaselines', 'updateSnapshots', 'u'], default: { config: 'test/functional/config.js', }, @@ -133,6 +149,7 @@ export function runFtrCli() { --bail stop tests after the first failure --grep pattern used to select which tests to run --invert invert grep to exclude tests + --es-version the elasticsearch version, formatted as "x.y.z" --include-tag=tag a tag to be included, pass multiple times for multiple tags. Only suites which have one of the passed include-tag tags will be executed. When combined with the --exclude-tag flag both conditions must be met @@ -147,6 +164,7 @@ export function runFtrCli() { --updateSnapshots replace inline and file snapshots with whatever is generated from the test -u replace both baseline screenshots and snapshots --kibana-install-dir directory where the Kibana install being tested resides + --dry-run report tests without executing them `, }, } diff --git a/packages/kbn-test/src/functional_test_runner/fake_mocha_types.ts b/packages/kbn-test/src/functional_test_runner/fake_mocha_types.ts index dec381fb04b56..96ebcd79c4e43 100644 --- a/packages/kbn-test/src/functional_test_runner/fake_mocha_types.ts +++ b/packages/kbn-test/src/functional_test_runner/fake_mocha_types.ts @@ -31,6 +31,7 @@ export interface Test { file?: string; parent?: Suite; isPassed: () => boolean; + pending?: boolean; } export interface Runner extends EventEmitter { diff --git a/packages/kbn-test/src/functional_test_runner/functional_test_runner.ts b/packages/kbn-test/src/functional_test_runner/functional_test_runner.ts index 4130cd8d138b8..6bde620b8f4fe 100644 --- a/packages/kbn-test/src/functional_test_runner/functional_test_runner.ts +++ b/packages/kbn-test/src/functional_test_runner/functional_test_runner.ts @@ -6,13 +6,16 @@ * Side Public License, v 1. */ +import { writeFileSync, mkdirSync } from 'fs'; +import Path, { dirname } from 'path'; import { ToolingLog } from '@kbn/dev-utils'; +import { REPO_ROOT } from '@kbn/utils'; import { Suite, Test } from './fake_mocha_types'; import { Lifecycle, LifecyclePhase, - FailureMetadata, + TestMetadata, readConfigFile, ProviderCollection, readProviderSpec, @@ -21,17 +24,21 @@ import { DockerServersService, Config, SuiteTracker, + EsVersion, } from './lib'; +import { createEsClientForFtrConfig } from '../es'; export class FunctionalTestRunner { public readonly lifecycle = new Lifecycle(); - public readonly failureMetadata = new FailureMetadata(this.lifecycle); + public readonly testMetadata = new TestMetadata(this.lifecycle); private closed = false; + private readonly esVersion: EsVersion; constructor( private readonly log: ToolingLog, private readonly configFile: string, - private readonly configOverrides: any + private readonly configOverrides: any, + esVersion?: string | EsVersion ) { for (const [key, value] of Object.entries(this.lifecycle)) { if (value instanceof LifecyclePhase) { @@ -39,6 +46,12 @@ export class FunctionalTestRunner { value.after$.subscribe(() => log.verbose('starting %j lifecycle phase', key)); } } + this.esVersion = + esVersion === undefined + ? EsVersion.getDefault() + : esVersion instanceof EsVersion + ? esVersion + : new EsVersion(esVersion); } async run() { @@ -51,6 +64,9 @@ export class FunctionalTestRunner { ...readProviderSpec('PageObject', config.get('pageObjects')), ]); + if (providers.hasService('es')) { + await this.validateEsVersion(config); + } await providers.loadAll(); const customTestRunner = config.get('testRunner'); @@ -61,7 +77,37 @@ export class FunctionalTestRunner { return (await providers.invokeProviderFn(customTestRunner)) || 0; } - const mocha = await setupMocha(this.lifecycle, this.log, config, providers); + let reporter; + let reporterOptions; + if (config.get('mochaOpts.dryRun')) { + // override default reporter for dryRun results + const targetFile = Path.resolve(REPO_ROOT, 'target/functional-tests/dryRunOutput.json'); + reporter = 'json'; + reporterOptions = { + output: targetFile, + }; + this.log.info(`Dry run results will be stored in ${targetFile}`); + } + + const mocha = await setupMocha( + this.lifecycle, + this.log, + config, + providers, + this.esVersion, + reporter, + reporterOptions + ); + + // there's a bug in mocha's dry run, see https://github.com/mochajs/mocha/issues/4838 + // until we can update to a mocha version where this is fixed, we won't actually + // execute the mocha dry run but simulate it by reading the suites and tests of + // the mocha object and writing a report file with similar structure to the json report + // (just leave out some execution details like timing, retry and erros) + if (config.get('mochaOpts.dryRun')) { + return this.simulateMochaDryRun(mocha); + } + await this.lifecycle.beforeTests.trigger(mocha.suite); this.log.info('Starting tests'); @@ -69,6 +115,33 @@ export class FunctionalTestRunner { }); } + private async validateEsVersion(config: Config) { + const es = createEsClientForFtrConfig(config); + + let esInfo; + try { + esInfo = await es.info(); + } catch (error) { + throw new Error( + `attempted to use the "es" service to fetch Elasticsearch version info but the request failed: ${error.stack}` + ); + } finally { + try { + await es.close(); + } catch { + // noop + } + } + + if (!this.esVersion.eql(esInfo.body.version.number)) { + throw new Error( + `ES reports a version number "${ + esInfo.body.version.number + }" which doesn't match supplied es version "${this.esVersion.toString()}"` + ); + } + } + async getTestStats() { return await this._run(async (config, coreProviders) => { if (config.get('testRunner')) { @@ -107,14 +180,14 @@ export class FunctionalTestRunner { ...readStubbedProviderSpec('PageObject', config.get('pageObjects'), []), ]); - const mocha = await setupMocha(this.lifecycle, this.log, config, providers); + const mocha = await setupMocha(this.lifecycle, this.log, config, providers, this.esVersion); const countTests = (suite: Suite): number => suite.suites.reduce((sum, s) => sum + countTests(s), suite.tests.length); return { testCount: countTests(mocha.suite), - excludedTests: mocha.excludedTests.map((t: Test) => t.fullTitle()), + testsExcludedByTag: mocha.testsExcludedByTag.map((t: Test) => t.fullTitle()), }; }); } @@ -125,7 +198,12 @@ export class FunctionalTestRunner { let runErrorOccurred = false; try { - const config = await readConfigFile(this.log, this.configFile, this.configOverrides); + const config = await readConfigFile( + this.log, + this.esVersion, + this.configFile, + this.configOverrides + ); this.log.info('Config loaded'); if ( @@ -145,9 +223,10 @@ export class FunctionalTestRunner { const coreProviders = readProviderSpec('Service', { lifecycle: () => this.lifecycle, log: () => this.log, - failureMetadata: () => this.failureMetadata, + testMetadata: () => this.testMetadata, config: () => config, dockerServers: () => dockerServers, + esVersion: () => this.esVersion, }); return await handler(config, coreProviders); @@ -175,4 +254,62 @@ export class FunctionalTestRunner { this.closed = true; await this.lifecycle.cleanup.trigger(); } + + simulateMochaDryRun(mocha: any) { + interface TestEntry { + file: string; + title: string; + fullTitle: string; + } + + const getFullTitle = (node: Test | Suite): string => { + const parentTitle = node.parent && getFullTitle(node.parent); + return parentTitle ? `${parentTitle} ${node.title}` : node.title; + }; + + let suiteCount = 0; + const passes: TestEntry[] = []; + const pending: TestEntry[] = []; + + const collectTests = (suite: Suite) => { + for (const subSuite of suite.suites) { + suiteCount++; + for (const test of subSuite.tests) { + const testEntry = { + title: test.title, + fullTitle: getFullTitle(test), + file: test.file || '', + }; + if (test.pending) { + pending.push(testEntry); + } else { + passes.push(testEntry); + } + } + collectTests(subSuite); + } + }; + + collectTests(mocha.suite); + + const reportData = { + stats: { + suites: suiteCount, + tests: passes.length + pending.length, + passes: passes.length, + pending: pending.length, + failures: 0, + }, + tests: [...passes, ...pending], + passes, + pending, + failures: [], + }; + + const reportPath = mocha.options.reporterOptions.output; + mkdirSync(dirname(reportPath), { recursive: true }); + writeFileSync(reportPath, JSON.stringify(reportData, null, 2), 'utf8'); + + return 0; + } } diff --git a/packages/kbn-test/src/functional_test_runner/index.ts b/packages/kbn-test/src/functional_test_runner/index.ts index 268c6b2bd9a67..e67e72fd5801a 100644 --- a/packages/kbn-test/src/functional_test_runner/index.ts +++ b/packages/kbn-test/src/functional_test_runner/index.ts @@ -7,7 +7,8 @@ */ export { FunctionalTestRunner } from './functional_test_runner'; -export { readConfigFile, Config } from './lib'; +export { readConfigFile, Config, EsVersion, Lifecycle, LifecyclePhase } from './lib'; +export type { ScreenshotRecord } from './lib'; export { runFtrCli } from './cli'; export * from './lib/docker_servers'; export * from './public_types'; diff --git a/packages/kbn-test/src/functional_test_runner/integration_tests/__fixtures__/failure_hooks/config.js b/packages/kbn-test/src/functional_test_runner/integration_tests/__fixtures__/failure_hooks/config.js index 0b9cfd88b4cbb..b6aa2669be681 100644 --- a/packages/kbn-test/src/functional_test_runner/integration_tests/__fixtures__/failure_hooks/config.js +++ b/packages/kbn-test/src/functional_test_runner/integration_tests/__fixtures__/failure_hooks/config.js @@ -35,6 +35,7 @@ export default function () { }, mochaReporter: { captureLogOutput: false, + sendToCiStats: false, }, }; } diff --git a/packages/kbn-test/src/functional_test_runner/integration_tests/__fixtures__/simple_project/config.js b/packages/kbn-test/src/functional_test_runner/integration_tests/__fixtures__/simple_project/config.js index 7163058b78523..4c87b53b5753b 100644 --- a/packages/kbn-test/src/functional_test_runner/integration_tests/__fixtures__/simple_project/config.js +++ b/packages/kbn-test/src/functional_test_runner/integration_tests/__fixtures__/simple_project/config.js @@ -10,4 +10,7 @@ import { resolve } from 'path'; export default () => ({ testFiles: [resolve(__dirname, 'tests.js')], + mochaReporter: { + sendToCiStats: false, + }, }); diff --git a/packages/kbn-test/src/functional_test_runner/lib/config/config.ts b/packages/kbn-test/src/functional_test_runner/lib/config/config.ts index 1d4af9c33fb79..d6248b9628e73 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/config/config.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/config/config.ts @@ -20,6 +20,7 @@ interface Options { } export class Config { + public readonly path: string; private [$values]: Record; constructor(options: Options) { @@ -29,6 +30,7 @@ export class Config { throw new TypeError('path is a required option'); } + this.path = path; const { error, value } = schema.validate(settings, { abortEarly: false, context: { diff --git a/packages/kbn-test/src/functional_test_runner/lib/config/read_config_file.test.js b/packages/kbn-test/src/functional_test_runner/lib/config/read_config_file.test.js index 60c307b58aee6..27434ce5a09ca 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/config/read_config_file.test.js +++ b/packages/kbn-test/src/functional_test_runner/lib/config/read_config_file.test.js @@ -9,34 +9,41 @@ import { ToolingLog } from '@kbn/dev-utils'; import { readConfigFile } from './read_config_file'; import { Config } from './config'; +import { EsVersion } from '../es_version'; const log = new ToolingLog(); +const esVersion = new EsVersion('8.0.0'); describe('readConfigFile()', () => { it('reads config from a file, returns an instance of Config class', async () => { - const config = await readConfigFile(log, require.resolve('./__fixtures__/config.1')); + const config = await readConfigFile(log, esVersion, require.resolve('./__fixtures__/config.1')); expect(config instanceof Config).toBeTruthy(); expect(config.get('testFiles')).toEqual(['config.1']); }); it('merges setting overrides into log', async () => { - const config = await readConfigFile(log, require.resolve('./__fixtures__/config.1'), { - screenshots: { - directory: 'foo.bar', - }, - }); + const config = await readConfigFile( + log, + esVersion, + require.resolve('./__fixtures__/config.1'), + { + screenshots: { + directory: 'foo.bar', + }, + } + ); expect(config.get('screenshots.directory')).toBe('foo.bar'); }); it('supports loading config files from within config files', async () => { - const config = await readConfigFile(log, require.resolve('./__fixtures__/config.2')); + const config = await readConfigFile(log, esVersion, require.resolve('./__fixtures__/config.2')); expect(config.get('testFiles')).toEqual(['config.1', 'config.2']); }); it('throws if settings are invalid', async () => { try { - await readConfigFile(log, require.resolve('./__fixtures__/config.invalid')); + await readConfigFile(log, esVersion, require.resolve('./__fixtures__/config.invalid')); throw new Error('expected readConfigFile() to fail'); } catch (err) { expect(err.message).toMatch(/"foo"/); diff --git a/packages/kbn-test/src/functional_test_runner/lib/config/read_config_file.ts b/packages/kbn-test/src/functional_test_runner/lib/config/read_config_file.ts index 374edea7a8db7..fd836f338edf0 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/config/read_config_file.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/config/read_config_file.ts @@ -10,10 +10,16 @@ import { ToolingLog } from '@kbn/dev-utils'; import { defaultsDeep } from 'lodash'; import { Config } from './config'; +import { EsVersion } from '../es_version'; const cache = new WeakMap(); -async function getSettingsFromFile(log: ToolingLog, path: string, settingOverrides: any) { +async function getSettingsFromFile( + log: ToolingLog, + esVersion: EsVersion, + path: string, + settingOverrides: any +) { const configModule = require(path); // eslint-disable-line @typescript-eslint/no-var-requires const configProvider = configModule.__esModule ? configModule.default : configModule; @@ -23,9 +29,10 @@ async function getSettingsFromFile(log: ToolingLog, path: string, settingOverrid configProvider, configProvider({ log, + esVersion, async readConfigFile(p: string, o: any) { return new Config({ - settings: await getSettingsFromFile(log, p, o), + settings: await getSettingsFromFile(log, esVersion, p, o), primary: false, path: p, }); @@ -43,9 +50,14 @@ async function getSettingsFromFile(log: ToolingLog, path: string, settingOverrid return settingsWithDefaults; } -export async function readConfigFile(log: ToolingLog, path: string, settingOverrides: any = {}) { +export async function readConfigFile( + log: ToolingLog, + esVersion: EsVersion, + path: string, + settingOverrides: any = {} +) { return new Config({ - settings: await getSettingsFromFile(log, path, settingOverrides), + settings: await getSettingsFromFile(log, esVersion, path, settingOverrides), primary: true, path, }); diff --git a/packages/kbn-test/src/functional_test_runner/lib/config/schema.ts b/packages/kbn-test/src/functional_test_runner/lib/config/schema.ts index a9ceaa643a60f..4f4ce0d5bb04e 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/config/schema.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/config/schema.ts @@ -100,6 +100,7 @@ export const schema = Joi.object() try: Joi.number().default(120000), waitFor: Joi.number().default(20000), esRequestTimeout: Joi.number().default(30000), + kibanaReportCompletion: Joi.number().default(60_000), kibanaStabilize: Joi.number().default(15000), navigateStatusPageCheck: Joi.number().default(250), @@ -123,6 +124,7 @@ export const schema = Joi.object() mochaOpts: Joi.object() .keys({ bail: Joi.boolean().default(false), + dryRun: Joi.boolean().default(false), grep: Joi.string(), invert: Joi.boolean().default(false), slow: Joi.number().default(30000), @@ -151,7 +153,10 @@ export const schema = Joi.object() mochaReporter: Joi.object() .keys({ - captureLogOutput: Joi.boolean().default(!!process.env.CI), + captureLogOutput: Joi.boolean().default( + !!process.env.CI && !process.env.DISABLE_CI_LOG_OUTPUT_CAPTURE + ), + sendToCiStats: Joi.boolean().default(!!process.env.CI), }) .default(), diff --git a/packages/kbn-test/src/functional_test_runner/lib/es_version.ts b/packages/kbn-test/src/functional_test_runner/lib/es_version.ts new file mode 100644 index 0000000000000..8b3acde47a4dc --- /dev/null +++ b/packages/kbn-test/src/functional_test_runner/lib/es_version.ts @@ -0,0 +1,55 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import semver from 'semver'; +import { kibanaPackageJson } from '@kbn/utils'; + +export class EsVersion { + static getDefault() { + // example: https://storage.googleapis.com/kibana-ci-es-snapshots-daily/8.0.0/manifest-latest-verified.json + const manifestUrl = process.env.ES_SNAPSHOT_MANIFEST; + if (manifestUrl) { + const match = manifestUrl.match(/\d+\.\d+\.\d+/); + if (!match) { + throw new Error('unable to extract es version from ES_SNAPSHOT_MANIFEST_URL'); + } + return new EsVersion(match[0]); + } + + return new EsVersion(process.env.TEST_ES_BRANCH || kibanaPackageJson.version); + } + + public readonly parsed: semver.SemVer; + + constructor(version: string) { + const parsed = semver.coerce(version); + if (!parsed) { + throw new Error(`unable to parse es version [${version}]`); + } + this.parsed = parsed; + } + + toString() { + return this.parsed.version; + } + + /** + * Determine if the ES version matches a semver range, like >=7 or ^8.1.0 + */ + matchRange(range: string) { + return semver.satisfies(this.parsed, range); + } + + /** + * Determine if the ES version matches a specific version, ignores things like -SNAPSHOT + */ + eql(version: string) { + const other = semver.coerce(version); + return other && semver.compareLoose(this.parsed, other) === 0; + } +} diff --git a/packages/kbn-test/src/functional_test_runner/lib/failure_metadata.test.ts b/packages/kbn-test/src/functional_test_runner/lib/failure_metadata.test.ts deleted file mode 100644 index b40f6a5c83688..0000000000000 --- a/packages/kbn-test/src/functional_test_runner/lib/failure_metadata.test.ts +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import { Lifecycle } from './lifecycle'; -import { FailureMetadata } from './failure_metadata'; -import { Test } from '../fake_mocha_types'; - -it('collects metadata for the current test', async () => { - const lifecycle = new Lifecycle(); - const failureMetadata = new FailureMetadata(lifecycle); - - const test1 = {} as Test; - await lifecycle.beforeEachRunnable.trigger(test1); - failureMetadata.add({ foo: 'bar' }); - - expect(failureMetadata.get(test1)).toMatchInlineSnapshot(` - Object { - "foo": "bar", - } - `); - - const test2 = {} as Test; - await lifecycle.beforeEachRunnable.trigger(test2); - failureMetadata.add({ test: 2 }); - - expect(failureMetadata.get(test1)).toMatchInlineSnapshot(` - Object { - "foo": "bar", - } - `); - expect(failureMetadata.get(test2)).toMatchInlineSnapshot(` - Object { - "test": 2, - } - `); -}); - -it('adds messages to the messages state', () => { - const lifecycle = new Lifecycle(); - const failureMetadata = new FailureMetadata(lifecycle); - - const test1 = {} as Test; - lifecycle.beforeEachRunnable.trigger(test1); - failureMetadata.addMessages(['foo', 'bar']); - failureMetadata.addMessages(['baz']); - - expect(failureMetadata.get(test1)).toMatchInlineSnapshot(` - Object { - "messages": Array [ - "foo", - "bar", - "baz", - ], - } - `); -}); diff --git a/packages/kbn-test/src/functional_test_runner/lib/failure_metadata.ts b/packages/kbn-test/src/functional_test_runner/lib/failure_metadata.ts deleted file mode 100644 index a766c73f4c727..0000000000000 --- a/packages/kbn-test/src/functional_test_runner/lib/failure_metadata.ts +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import Path from 'path'; - -import { REPO_ROOT } from '@kbn/utils'; - -import { Lifecycle } from './lifecycle'; - -interface Metadata { - [key: string]: unknown; -} - -export class FailureMetadata { - // mocha's global types mean we can't import Mocha or it will override the global jest types.............. - private currentRunnable?: any; - private readonly allMetadata = new Map(); - - constructor(lifecycle: Lifecycle) { - if (!process.env.GCS_UPLOAD_PREFIX && process.env.CI) { - throw new Error( - 'GCS_UPLOAD_PREFIX environment variable is not set and must always be set on CI' - ); - } - - lifecycle.beforeEachRunnable.add((runnable) => { - this.currentRunnable = runnable; - }); - } - - add(metadata: Metadata | ((current: Metadata) => Metadata)) { - if (!this.currentRunnable) { - throw new Error('no current runnable to associate metadata with'); - } - - const current = this.allMetadata.get(this.currentRunnable); - this.allMetadata.set(this.currentRunnable, { - ...current, - ...(typeof metadata === 'function' ? metadata(current || {}) : metadata), - }); - } - - addMessages(messages: string[]) { - this.add((current) => ({ - messages: [...(Array.isArray(current.messages) ? current.messages : []), ...messages], - })); - } - - /** - * @param name Name to label the URL with - * @param repoPath absolute path, within the repo, that will be uploaded - */ - addScreenshot(name: string, repoPath: string) { - const prefix = process.env.GCS_UPLOAD_PREFIX; - - if (!prefix) { - return; - } - - const slash = prefix.endsWith('/') ? '' : '/'; - const urlPath = Path.relative(REPO_ROOT, repoPath) - .split(Path.sep) - .map((c) => encodeURIComponent(c)) - .join('/'); - - if (urlPath.startsWith('..')) { - throw new Error( - `Only call addUploadLink() with paths that are within the repo root, received ${repoPath} and repo root is ${REPO_ROOT}` - ); - } - - const url = `https://storage.googleapis.com/${prefix}${slash}${urlPath}`; - const screenshot = { - name, - url, - }; - - this.add((current) => ({ - screenshots: [...(Array.isArray(current.screenshots) ? current.screenshots : []), screenshot], - })); - - return screenshot; - } - - get(runnable: any) { - return this.allMetadata.get(runnable); - } -} diff --git a/packages/kbn-test/src/functional_test_runner/lib/index.ts b/packages/kbn-test/src/functional_test_runner/lib/index.ts index 1cb1e58a265d5..e387fd156fe8a 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/index.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/index.ts @@ -12,8 +12,9 @@ export { readConfigFile, Config } from './config'; export { readProviderSpec, ProviderCollection } from './providers'; // @internal export { runTests, setupMocha } from './mocha'; -export { FailureMetadata } from './failure_metadata'; +export * from './test_metadata'; export * from './docker_servers'; export { SuiteTracker } from './suite_tracker'; export type { Provider } from './providers'; +export * from './es_version'; diff --git a/packages/kbn-test/src/functional_test_runner/lib/lifecycle.ts b/packages/kbn-test/src/functional_test_runner/lib/lifecycle.ts index 17dcaa8d7447d..e683ec23a8d84 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/lifecycle.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/lifecycle.ts @@ -11,15 +11,23 @@ import { LifecyclePhase } from './lifecycle_phase'; import { Suite, Test } from '../fake_mocha_types'; export class Lifecycle { + /** lifecycle phase that will run handlers once before tests execute */ public readonly beforeTests = new LifecyclePhase<[Suite]>({ singular: true, }); + /** lifecycle phase that runs handlers before each runnable (test and hooks) */ public readonly beforeEachRunnable = new LifecyclePhase<[Test]>(); + /** lifecycle phase that runs handlers before each suite */ public readonly beforeTestSuite = new LifecyclePhase<[Suite]>(); + /** lifecycle phase that runs handlers before each test */ public readonly beforeEachTest = new LifecyclePhase<[Test]>(); + /** lifecycle phase that runs handlers after each suite */ public readonly afterTestSuite = new LifecyclePhase<[Suite]>(); + /** lifecycle phase that runs handlers after a test fails */ public readonly testFailure = new LifecyclePhase<[Error, Test]>(); + /** lifecycle phase that runs handlers after a hook fails */ public readonly testHookFailure = new LifecyclePhase<[Error, Test]>(); + /** lifecycle phase that runs handlers at the very end of execution */ public readonly cleanup = new LifecyclePhase<[]>({ singular: true, }); diff --git a/packages/kbn-test/src/functional_test_runner/lib/mocha/decorate_mocha_ui.js b/packages/kbn-test/src/functional_test_runner/lib/mocha/decorate_mocha_ui.js index 7610ca9128694..e12ffdc8cd616 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/mocha/decorate_mocha_ui.js +++ b/packages/kbn-test/src/functional_test_runner/lib/mocha/decorate_mocha_ui.js @@ -84,6 +84,9 @@ export function decorateMochaUi(log, lifecycle, context, { isDockerGroup, rootTa this._tags = [...this._tags, ...tagsToAdd]; }; + this.onlyEsVersion = (semver) => { + this._esVersionRequirement = semver; + }; provider.call(this); diff --git a/packages/kbn-test/src/functional_test_runner/lib/mocha/filter_suites_by_tags.test.js b/packages/kbn-test/src/functional_test_runner/lib/mocha/filter_suites.test.js similarity index 86% rename from packages/kbn-test/src/functional_test_runner/lib/mocha/filter_suites_by_tags.test.js rename to packages/kbn-test/src/functional_test_runner/lib/mocha/filter_suites.test.js index 10030a1c05632..191503af123d0 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/mocha/filter_suites_by_tags.test.js +++ b/packages/kbn-test/src/functional_test_runner/lib/mocha/filter_suites.test.js @@ -12,9 +12,10 @@ import Mocha from 'mocha'; import { create as createSuite } from 'mocha/lib/suite'; import Test from 'mocha/lib/test'; -import { filterSuitesByTags } from './filter_suites_by_tags'; +import { filterSuites } from './filter_suites'; +import { EsVersion } from '../es_version'; -function setup({ include, exclude }) { +function setup({ include, exclude, esVersion }) { return new Promise((resolve) => { const history = []; @@ -55,6 +56,7 @@ function setup({ include, exclude }) { const level1b = createSuite(level1, 'level 1b'); level1b._tags = ['level1b']; + level1b._esVersionRequirement = '<=8'; level1b.addTest(new Test('test 1b', () => {})); const level2 = createSuite(mocha.suite, 'level 2'); @@ -62,7 +64,7 @@ function setup({ include, exclude }) { level2a._tags = ['level2a']; level2a.addTest(new Test('test 2a', () => {})); - filterSuitesByTags({ + filterSuites({ log: { info(...args) { history.push(`info: ${format(...args)}`); @@ -71,6 +73,7 @@ function setup({ include, exclude }) { mocha, include, exclude, + esVersion, }); mocha.run(); @@ -208,3 +211,27 @@ it('does nothing if everything excluded', async () => { ] `); }); + +it(`excludes tests which don't meet the esVersionRequirement`, async () => { + const { history } = await setup({ + include: [], + exclude: [], + esVersion: new EsVersion('9.0.0'), + }); + + expect(history).toMatchInlineSnapshot(` + Array [ + "info: Only running suites which are compatible with ES version 9.0.0", + "suite: ", + "suite: level 1", + "suite: level 1 level 1a", + "hook: \\"before each\\" hook: rootBeforeEach for \\"test 1a\\"", + "hook: level 1 \\"before each\\" hook: level1BeforeEach for \\"test 1a\\"", + "test: level 1 level 1a test 1a", + "suite: level 2", + "suite: level 2 level 2a", + "hook: \\"before each\\" hook: rootBeforeEach for \\"test 2a\\"", + "test: level 2 level 2a test 2a", + ] + `); +}); diff --git a/packages/kbn-test/src/functional_test_runner/lib/mocha/filter_suites_by_tags.js b/packages/kbn-test/src/functional_test_runner/lib/mocha/filter_suites.ts similarity index 55% rename from packages/kbn-test/src/functional_test_runner/lib/mocha/filter_suites_by_tags.js rename to packages/kbn-test/src/functional_test_runner/lib/mocha/filter_suites.ts index 9724956e121f3..90bb3a894bc6c 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/mocha/filter_suites_by_tags.js +++ b/packages/kbn-test/src/functional_test_runner/lib/mocha/filter_suites.ts @@ -6,6 +6,24 @@ * Side Public License, v 1. */ +import { ToolingLog } from '@kbn/dev-utils'; +import { Suite, Test } from '../../fake_mocha_types'; +import { EsVersion } from '../es_version'; + +interface SuiteInternal extends Suite { + _tags?: string[]; + _esVersionRequirement?: string; + suites: SuiteInternal[]; +} + +interface Options { + log: ToolingLog; + mocha: any; + include: string[]; + exclude: string[]; + esVersion?: EsVersion; +} + /** * Given a mocha instance that has already loaded all of its suites, filter out * the suites based on the include/exclude tags. If there are include tags then @@ -16,23 +34,50 @@ * @param options.include an array of tags that suites must be tagged with to be run * @param options.exclude an array of tags that will be used to exclude suites from the run */ -export function filterSuitesByTags({ log, mocha, include, exclude }) { - mocha.excludedTests = []; +export function filterSuites({ log, mocha, include, exclude, esVersion }: Options) { + mocha.testsExcludedByTag = []; + mocha.testsExcludedByEsVersion = []; + // collect all the tests from some suite, including it's children - const collectTests = (suite) => + const collectTests = (suite: SuiteInternal): Test[] => suite.suites.reduce((acc, s) => acc.concat(collectTests(s)), suite.tests); + if (esVersion) { + // traverse the test graph and exclude any tests which don't meet their esVersionRequirement + log.info('Only running suites which are compatible with ES version', esVersion.toString()); + (function recurse(parentSuite: SuiteInternal) { + const children = parentSuite.suites; + parentSuite.suites = []; + + const meetsEsVersionRequirement = (suite: SuiteInternal) => + !suite._esVersionRequirement || esVersion.matchRange(suite._esVersionRequirement); + + for (const child of children) { + if (meetsEsVersionRequirement(child)) { + parentSuite.suites.push(child); + recurse(child); + } else { + mocha.testsExcludedByEsVersion = mocha.testsExcludedByEsVersion.concat( + collectTests(child) + ); + } + } + })(mocha.suite); + } + // if include tags were provided, filter the tree once to // only include branches that are included at some point if (include.length) { log.info('Only running suites (and their sub-suites) if they include the tag(s):', include); - const isIncluded = (suite) => + const isIncludedByTags = (suite: SuiteInternal) => !suite._tags ? false : suite._tags.some((t) => include.includes(t)); - const isChildIncluded = (suite) => + + const isIncluded = (suite: SuiteInternal) => isIncludedByTags(suite); + const isChildIncluded = (suite: SuiteInternal): boolean => suite.suites.some((s) => isIncluded(s) || isChildIncluded(s)); - (function recurse(parentSuite) { + (function recurse(parentSuite: SuiteInternal) { const children = parentSuite.suites; parentSuite.suites = []; @@ -47,13 +92,13 @@ export function filterSuitesByTags({ log, mocha, include, exclude }) { // itself, so strip out its tests and recurse to filter // out child suites which are not included if (isChildIncluded(child)) { - mocha.excludedTests = mocha.excludedTests.concat(child.tests); + mocha.testsExcludedByTag = mocha.testsExcludedByTag.concat(child.tests); child.tests = []; parentSuite.suites.push(child); recurse(child); continue; } else { - mocha.excludedTests = mocha.excludedTests.concat(collectTests(child)); + mocha.testsExcludedByTag = mocha.testsExcludedByTag.concat(collectTests(child)); } } })(mocha.suite); @@ -64,9 +109,10 @@ export function filterSuitesByTags({ log, mocha, include, exclude }) { if (exclude.length) { log.info('Filtering out any suites that include the tag(s):', exclude); - const isNotExcluded = (suite) => !suite._tags || !suite._tags.some((t) => exclude.includes(t)); + const isNotExcluded = (suite: SuiteInternal) => + !suite._tags || !suite._tags.some((t) => exclude.includes(t)); - (function recurse(parentSuite) { + (function recurse(parentSuite: SuiteInternal) { const children = parentSuite.suites; parentSuite.suites = []; @@ -77,7 +123,7 @@ export function filterSuitesByTags({ log, mocha, include, exclude }) { parentSuite.suites.push(child); recurse(child); } else { - mocha.excludedTests = mocha.excludedTests.concat(collectTests(child)); + mocha.testsExcludedByTag = mocha.testsExcludedByTag.concat(collectTests(child)); } } })(mocha.suite); diff --git a/packages/kbn-test/src/functional_test_runner/lib/mocha/reporter/ci_stats_ftr_reporter.ts b/packages/kbn-test/src/functional_test_runner/lib/mocha/reporter/ci_stats_ftr_reporter.ts new file mode 100644 index 0000000000000..61eb7eccce430 --- /dev/null +++ b/packages/kbn-test/src/functional_test_runner/lib/mocha/reporter/ci_stats_ftr_reporter.ts @@ -0,0 +1,157 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import * as Path from 'path'; + +import { REPO_ROOT } from '@kbn/utils'; +import { CiStatsReporter, CiStatsReportTestsOptions, CiStatsTestType } from '@kbn/dev-utils'; + +import { Config } from '../../config'; +import { Runner } from '../../../fake_mocha_types'; +import { TestMetadata, ScreenshotRecord } from '../../test_metadata'; +import { Lifecycle } from '../../lifecycle'; +import { getSnapshotOfRunnableLogs } from '../../../../mocha'; + +interface Suite { + _beforeAll: Runnable[]; + _beforeEach: Runnable[]; + _afterEach: Runnable[]; + _afterAll: Runnable[]; +} + +interface Runnable { + isFailed(): boolean; + isPending(): boolean; + duration?: number; + titlePath(): string[]; + file: string; + title: string; + parent: Suite; + _screenshots?: ScreenshotRecord[]; +} + +function getHookType(hook: Runnable): CiStatsTestType { + if (hook.parent._afterAll.includes(hook)) { + return 'after all hook'; + } + if (hook.parent._afterEach.includes(hook)) { + return 'after each hook'; + } + if (hook.parent._beforeEach.includes(hook)) { + return 'before each hook'; + } + if (hook.parent._beforeAll.includes(hook)) { + return 'before all hook'; + } + + throw new Error(`unable to determine hook type, hook is not owned by it's parent`); +} + +export function setupCiStatsFtrTestGroupReporter({ + config, + lifecycle, + runner, + testMetadata, + reporter, +}: { + config: Config; + lifecycle: Lifecycle; + runner: Runner; + testMetadata: TestMetadata; + reporter: CiStatsReporter; +}) { + let startMs: number | undefined; + runner.on('start', () => { + startMs = Date.now(); + }); + + const start = Date.now(); + const group: CiStatsReportTestsOptions['group'] = { + startTime: new Date(start).toJSON(), + durationMs: 0, + type: config.path.startsWith('x-pack') ? 'X-Pack Functional Tests' : 'Functional Tests', + name: Path.relative(REPO_ROOT, config.path), + meta: { + ciGroup: config.get('suiteTags.include').find((t: string) => t.startsWith('ciGroup')), + tags: [ + ...config.get('suiteTags.include'), + ...config.get('suiteTags.exclude').map((t: string) => `-${t}`), + ].filter((t) => !t.startsWith('ciGroup')), + }, + }; + + const testRuns: CiStatsReportTestsOptions['testRuns'] = []; + function trackRunnable( + runnable: Runnable, + { error, type }: { error?: Error; type: CiStatsTestType } + ) { + testRuns.push({ + startTime: new Date(Date.now() - (runnable.duration ?? 0)).toJSON(), + durationMs: runnable.duration ?? 0, + seq: testRuns.length + 1, + file: Path.relative(REPO_ROOT, runnable.file), + name: runnable.title, + suites: runnable.titlePath().slice(0, -1), + result: runnable.isFailed() ? 'fail' : runnable.isPending() ? 'skip' : 'pass', + type, + error: error?.stack, + stdout: getSnapshotOfRunnableLogs(runnable), + screenshots: testMetadata.getScreenshots(runnable).map((s) => ({ + base64Png: s.base64Png, + name: s.name, + })), + }); + } + + const errors = new Map(); + runner.on('fail', (test: Runnable, error: Error) => { + errors.set(test, error); + }); + + runner.on('hook end', (hook: Runnable) => { + if (hook.isFailed()) { + const error = errors.get(hook); + if (!error) { + throw new Error(`no error recorded for failed hook`); + } + + trackRunnable(hook, { + type: getHookType(hook), + error, + }); + } + }); + + runner.on('test end', (test: Runnable) => { + const error = errors.get(test); + if (test.isFailed() && !error) { + throw new Error('no error recorded for failed test'); + } + + trackRunnable(test, { + type: 'test', + error, + }); + }); + + runner.on('end', () => { + if (!startMs) { + throw new Error('startMs was not defined'); + } + + // update the durationMs + group.durationMs = Date.now() - startMs; + }); + + lifecycle.cleanup.add(async () => { + await reporter.reportTests({ + group, + testRuns, + }); + }); +} diff --git a/packages/kbn-test/src/functional_test_runner/lib/mocha/reporter/reporter.js b/packages/kbn-test/src/functional_test_runner/lib/mocha/reporter/reporter.js index d6045b71bf3a7..84299cba14eaa 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/mocha/reporter/reporter.js +++ b/packages/kbn-test/src/functional_test_runner/lib/mocha/reporter/reporter.js @@ -9,7 +9,7 @@ import { format } from 'util'; import Mocha from 'mocha'; -import { ToolingLogTextWriter } from '@kbn/dev-utils'; +import { ToolingLogTextWriter, CiStatsReporter } from '@kbn/dev-utils'; import moment from 'moment'; import { recordLog, snapshotLogsForRunnable, setupJUnitReportGeneration } from '../../../../mocha'; @@ -17,11 +17,13 @@ import * as colors from './colors'; import * as symbols from './symbols'; import { ms } from './ms'; import { writeEpilogue } from './write_epilogue'; +import { setupCiStatsFtrTestGroupReporter } from './ci_stats_ftr_reporter'; export function MochaReporterProvider({ getService }) { const log = getService('log'); const config = getService('config'); - const failureMetadata = getService('failureMetadata'); + const lifecycle = getService('lifecycle'); + const testMetadata = getService('testMetadata'); let originalLogWriters; let reporterCaptureStartTime; @@ -45,9 +47,23 @@ export function MochaReporterProvider({ getService }) { if (config.get('junit.enabled') && config.get('junit.reportName')) { setupJUnitReportGeneration(runner, { reportName: config.get('junit.reportName'), - getTestMetadata: (t) => failureMetadata.get(t), }); } + + if (config.get('mochaReporter.sendToCiStats')) { + const reporter = CiStatsReporter.fromEnv(log); + if (!reporter.hasBuildConfig()) { + log.warning('ci-stats reporter config is not available so test results will not be sent'); + } else { + setupCiStatsFtrTestGroupReporter({ + reporter, + config, + lifecycle, + runner, + testMetadata, + }); + } + } } onStart = () => { diff --git a/packages/kbn-test/src/functional_test_runner/lib/mocha/setup_mocha.js b/packages/kbn-test/src/functional_test_runner/lib/mocha/setup_mocha.js index 65b7c09242fdd..9261391c5bf6a 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/mocha/setup_mocha.js +++ b/packages/kbn-test/src/functional_test_runner/lib/mocha/setup_mocha.js @@ -11,7 +11,7 @@ import { relative } from 'path'; import { REPO_ROOT } from '@kbn/utils'; import { loadTestFiles } from './load_test_files'; -import { filterSuitesByTags } from './filter_suites_by_tags'; +import { filterSuites } from './filter_suites'; import { MochaReporterProvider } from './reporter'; import { validateCiGroupTags } from './validate_ci_group_tags'; @@ -22,13 +22,24 @@ import { validateCiGroupTags } from './validate_ci_group_tags'; * @param {ToolingLog} log * @param {Config} config * @param {ProviderCollection} providers + * @param {EsVersion} esVersion * @return {Promise} */ -export async function setupMocha(lifecycle, log, config, providers) { +export async function setupMocha( + lifecycle, + log, + config, + providers, + esVersion, + reporter, + reporterOptions +) { // configure mocha const mocha = new Mocha({ ...config.get('mochaOpts'), - reporter: await providers.loadExternalService('mocha reporter', MochaReporterProvider), + reporter: + reporter || (await providers.loadExternalService('mocha reporter', MochaReporterProvider)), + reporterOptions, }); // global beforeEach hook in root suite triggers before all others @@ -50,18 +61,26 @@ export async function setupMocha(lifecycle, log, config, providers) { // valiate that there aren't any tests in multiple ciGroups validateCiGroupTags(log, mocha); + filterSuites({ + log, + mocha, + include: [], + exclude: [], + esVersion, + }); + // Each suite has a tag that is the path relative to the root of the repo // So we just need to take input paths, make them relative to the root, and use them as tags // Also, this is a separate filterSuitesByTags() call so that the test suites will be filtered first by // files, then by tags. This way, you can target tags (like smoke) in a specific file. - filterSuitesByTags({ + filterSuites({ log, mocha, include: config.get('suiteFiles.include').map((file) => relative(REPO_ROOT, file)), exclude: config.get('suiteFiles.exclude').map((file) => relative(REPO_ROOT, file)), }); - filterSuitesByTags({ + filterSuites({ log, mocha, include: config.get('suiteTags.include').map((tag) => tag.replace(/-\d+$/, '')), diff --git a/packages/kbn-test/src/functional_test_runner/lib/test_metadata.ts b/packages/kbn-test/src/functional_test_runner/lib/test_metadata.ts new file mode 100644 index 0000000000000..5789231f87044 --- /dev/null +++ b/packages/kbn-test/src/functional_test_runner/lib/test_metadata.ts @@ -0,0 +1,41 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Lifecycle } from './lifecycle'; + +export interface ScreenshotRecord { + name: string; + base64Png: string; + baselinePath?: string; + failurePath?: string; +} + +export class TestMetadata { + // mocha's global types mean we can't import Mocha or it will override the global jest types.............. + private currentRunnable?: any; + + constructor(lifecycle: Lifecycle) { + lifecycle.beforeEachRunnable.add((runnable) => { + this.currentRunnable = runnable; + }); + } + + addScreenshot(screenshot: ScreenshotRecord) { + this.currentRunnable._screenshots = (this.currentRunnable._screenshots || []).concat( + screenshot + ); + } + + getScreenshots(test: any): ScreenshotRecord[] { + if (!test || typeof test !== 'object' || !test._screenshots) { + return []; + } + + return test._screenshots.slice(); + } +} diff --git a/packages/kbn-test/src/functional_test_runner/public_types.ts b/packages/kbn-test/src/functional_test_runner/public_types.ts index d1a0f7998b0a9..426fdda74d313 100644 --- a/packages/kbn-test/src/functional_test_runner/public_types.ts +++ b/packages/kbn-test/src/functional_test_runner/public_types.ts @@ -6,12 +6,12 @@ * Side Public License, v 1. */ -import { ToolingLog } from '@kbn/dev-utils'; +import type { ToolingLog } from '@kbn/dev-utils'; -import { Config, Lifecycle, FailureMetadata, DockerServersService } from './lib'; -import { Test, Suite } from './fake_mocha_types'; +import type { Config, Lifecycle, TestMetadata, DockerServersService, EsVersion } from './lib'; +import type { Test, Suite } from './fake_mocha_types'; -export { Lifecycle, Config, FailureMetadata }; +export { Lifecycle, Config, TestMetadata }; export interface AsyncInstance { /** @@ -57,7 +57,7 @@ export interface GenericFtrProviderContext< * @param serviceName */ hasService( - serviceName: 'config' | 'log' | 'lifecycle' | 'failureMetadata' | 'dockerServers' + serviceName: 'config' | 'log' | 'lifecycle' | 'testMetadata' | 'dockerServers' | 'esVersion' ): true; hasService(serviceName: K): serviceName is K; hasService(serviceName: string): serviceName is Extract; @@ -71,7 +71,8 @@ export interface GenericFtrProviderContext< getService(serviceName: 'log'): ToolingLog; getService(serviceName: 'lifecycle'): Lifecycle; getService(serviceName: 'dockerServers'): DockerServersService; - getService(serviceName: 'failureMetadata'): FailureMetadata; + getService(serviceName: 'testMetadata'): TestMetadata; + getService(serviceName: 'esVersion'): EsVersion; getService(serviceName: T): ServiceMap[T]; /** @@ -100,6 +101,7 @@ export class GenericFtrService; } diff --git a/packages/kbn-test/src/functional_tests/cli/run_tests/__snapshots__/args.test.js.snap b/packages/kbn-test/src/functional_tests/cli/run_tests/__snapshots__/args.test.js.snap index ad2f82de87b82..cff0b46afcad1 100644 --- a/packages/kbn-test/src/functional_tests/cli/run_tests/__snapshots__/args.test.js.snap +++ b/packages/kbn-test/src/functional_tests/cli/run_tests/__snapshots__/args.test.js.snap @@ -26,7 +26,8 @@ Options: --verbose Log everything. --debug Run in debug mode. --quiet Only log errors. - --silent Log nothing." + --silent Log nothing. + --dry-run Report tests without executing them." `; exports[`process options for run tests CLI accepts boolean value for updateBaselines 1`] = ` @@ -37,6 +38,7 @@ Object { ], "createLogger": [Function], "esFrom": "snapshot", + "esVersion": "999.999.999", "extraKbnOpts": undefined, "suiteFiles": Object { "exclude": Array [], @@ -58,6 +60,7 @@ Object { ], "createLogger": [Function], "esFrom": "snapshot", + "esVersion": "999.999.999", "extraKbnOpts": undefined, "suiteFiles": Object { "exclude": Array [], @@ -80,6 +83,7 @@ Object { "createLogger": [Function], "debug": true, "esFrom": "snapshot", + "esVersion": "999.999.999", "extraKbnOpts": undefined, "suiteFiles": Object { "exclude": Array [], @@ -101,6 +105,7 @@ Object { ], "createLogger": [Function], "esFrom": "snapshot", + "esVersion": "999.999.999", "extraKbnOpts": undefined, "suiteFiles": Object { "exclude": Array [], @@ -124,6 +129,7 @@ Object { ], "createLogger": [Function], "esFrom": "snapshot", + "esVersion": "999.999.999", "extraKbnOpts": Object { "server.foo": "bar", }, @@ -146,6 +152,7 @@ Object { ], "createLogger": [Function], "esFrom": "snapshot", + "esVersion": "999.999.999", "extraKbnOpts": undefined, "quiet": true, "suiteFiles": Object { @@ -167,6 +174,7 @@ Object { ], "createLogger": [Function], "esFrom": "snapshot", + "esVersion": "999.999.999", "extraKbnOpts": undefined, "silent": true, "suiteFiles": Object { @@ -188,6 +196,7 @@ Object { ], "createLogger": [Function], "esFrom": "source", + "esVersion": "999.999.999", "extraKbnOpts": undefined, "suiteFiles": Object { "exclude": Array [], @@ -208,6 +217,7 @@ Object { ], "createLogger": [Function], "esFrom": "source", + "esVersion": "999.999.999", "extraKbnOpts": undefined, "suiteFiles": Object { "exclude": Array [], @@ -228,6 +238,7 @@ Object { ], "createLogger": [Function], "esFrom": "snapshot", + "esVersion": "999.999.999", "extraKbnOpts": undefined, "installDir": "foo", "suiteFiles": Object { @@ -249,6 +260,7 @@ Object { ], "createLogger": [Function], "esFrom": "snapshot", + "esVersion": "999.999.999", "extraKbnOpts": undefined, "grep": "management", "suiteFiles": Object { @@ -270,6 +282,7 @@ Object { ], "createLogger": [Function], "esFrom": "snapshot", + "esVersion": "999.999.999", "extraKbnOpts": undefined, "suiteFiles": Object { "exclude": Array [], @@ -291,6 +304,7 @@ Object { ], "createLogger": [Function], "esFrom": "snapshot", + "esVersion": "999.999.999", "extraKbnOpts": undefined, "suiteFiles": Object { "exclude": Array [], diff --git a/packages/kbn-test/src/functional_tests/cli/run_tests/__snapshots__/cli.test.js.snap b/packages/kbn-test/src/functional_tests/cli/run_tests/__snapshots__/cli.test.js.snap index 02d11b0033d57..6b81c2e499cf4 100644 --- a/packages/kbn-test/src/functional_tests/cli/run_tests/__snapshots__/cli.test.js.snap +++ b/packages/kbn-test/src/functional_tests/cli/run_tests/__snapshots__/cli.test.js.snap @@ -26,7 +26,8 @@ Options: --verbose Log everything. --debug Run in debug mode. --quiet Only log errors. - --silent Log nothing. + --silent Log nothing. + --dry-run Report tests without executing them. " `; diff --git a/packages/kbn-test/src/functional_tests/cli/run_tests/args.js b/packages/kbn-test/src/functional_tests/cli/run_tests/args.js index 901ff6394649d..20aa65df7299b 100644 --- a/packages/kbn-test/src/functional_tests/cli/run_tests/args.js +++ b/packages/kbn-test/src/functional_tests/cli/run_tests/args.js @@ -10,6 +10,7 @@ import { resolve } from 'path'; import dedent from 'dedent'; import { ToolingLog, pickLevelFromFlags } from '@kbn/dev-utils'; +import { EsVersion } from '../../../functional_test_runner'; const options = { help: { desc: 'Display this menu and exit.' }, @@ -64,6 +65,7 @@ const options = { debug: { desc: 'Run in debug mode.' }, quiet: { desc: 'Only log errors.' }, silent: { desc: 'Log nothing.' }, + 'dry-run': { desc: 'Report tests without executing them.' }, }; export function displayHelp() { @@ -135,6 +137,11 @@ export function processOptions(userOptions, defaultConfigPaths) { userOptions.assertNoneExcluded = !!userOptions['assert-none-excluded']; delete userOptions['assert-none-excluded']; + if (userOptions['dry-run']) { + userOptions.dryRun = userOptions['dry-run']; + delete userOptions['dry-run']; + } + function createLogger() { return new ToolingLog({ level: pickLevelFromFlags(userOptions), @@ -147,6 +154,7 @@ export function processOptions(userOptions, defaultConfigPaths) { configs: configs.map((c) => resolve(c)), createLogger, extraKbnOpts: userOptions._, + esVersion: EsVersion.getDefault(), }; } diff --git a/packages/kbn-test/src/functional_tests/cli/run_tests/args.test.js b/packages/kbn-test/src/functional_tests/cli/run_tests/args.test.js index 7786aee5af552..72ba541466960 100644 --- a/packages/kbn-test/src/functional_tests/cli/run_tests/args.test.js +++ b/packages/kbn-test/src/functional_tests/cli/run_tests/args.test.js @@ -6,9 +6,20 @@ * Side Public License, v 1. */ -import { displayHelp, processOptions } from './args'; import { createAbsolutePathSerializer } from '@kbn/dev-utils'; +import { displayHelp, processOptions } from './args'; + +jest.mock('../../../functional_test_runner/lib/es_version', () => { + return { + EsVersion: class { + static getDefault() { + return '999.999.999'; + } + }, + }; +}); + expect.addSnapshotSerializer(createAbsolutePathSerializer(process.cwd())); const INITIAL_TEST_ES_FROM = process.env.TEST_ES_FROM; diff --git a/packages/kbn-test/src/functional_tests/lib/run_ftr.ts b/packages/kbn-test/src/functional_tests/lib/run_ftr.ts index f9e109928ddc0..e339347b07eb5 100644 --- a/packages/kbn-test/src/functional_tests/lib/run_ftr.ts +++ b/packages/kbn-test/src/functional_tests/lib/run_ftr.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ import type { ToolingLog } from '@kbn/dev-utils'; -import { FunctionalTestRunner, readConfigFile } from '../../functional_test_runner'; +import { FunctionalTestRunner, readConfigFile, EsVersion } from '../../functional_test_runner'; import { CliError } from './run_cli'; export interface CreateFtrOptions { @@ -26,6 +26,8 @@ export interface CreateFtrOptions { exclude?: string[]; }; updateSnapshots?: boolean; + esVersion: EsVersion; + dryRun?: boolean; } export interface CreateFtrParams { @@ -34,31 +36,48 @@ export interface CreateFtrParams { } async function createFtr({ configPath, - options: { installDir, log, bail, grep, updateBaselines, suiteFiles, suiteTags, updateSnapshots }, + options: { + installDir, + log, + bail, + grep, + updateBaselines, + suiteFiles, + suiteTags, + updateSnapshots, + esVersion, + dryRun, + }, }: CreateFtrParams) { - const config = await readConfigFile(log, configPath); + const config = await readConfigFile(log, esVersion, configPath); return { config, - ftr: new FunctionalTestRunner(log, configPath, { - mochaOpts: { - bail: !!bail, - grep, + ftr: new FunctionalTestRunner( + log, + configPath, + { + mochaOpts: { + bail: !!bail, + grep, + dryRun: !!dryRun, + }, + kbnTestServer: { + installDir, + }, + updateBaselines, + updateSnapshots, + suiteFiles: { + include: [...(suiteFiles?.include || []), ...config.get('suiteFiles.include')], + exclude: [...(suiteFiles?.exclude || []), ...config.get('suiteFiles.exclude')], + }, + suiteTags: { + include: [...(suiteTags?.include || []), ...config.get('suiteTags.include')], + exclude: [...(suiteTags?.exclude || []), ...config.get('suiteTags.exclude')], + }, }, - kbnTestServer: { - installDir, - }, - updateBaselines, - updateSnapshots, - suiteFiles: { - include: [...(suiteFiles?.include || []), ...config.get('suiteFiles.include')], - exclude: [...(suiteFiles?.exclude || []), ...config.get('suiteFiles.exclude')], - }, - suiteTags: { - include: [...(suiteTags?.include || []), ...config.get('suiteTags.include')], - exclude: [...(suiteTags?.exclude || []), ...config.get('suiteTags.exclude')], - }, - }), + esVersion + ), }; } @@ -71,15 +90,15 @@ export async function assertNoneExcluded({ configPath, options }: CreateFtrParam } const stats = await ftr.getTestStats(); - if (stats.excludedTests.length > 0) { + if (stats.testsExcludedByTag.length > 0) { throw new CliError(` - ${stats.excludedTests.length} tests in the ${configPath} config + ${stats.testsExcludedByTag.length} tests in the ${configPath} config are excluded when filtering by the tags run on CI. Make sure that all suites are tagged with one of the following tags: ${JSON.stringify(options.suiteTags)} - - ${stats.excludedTests.join('\n - ')} + - ${stats.testsExcludedByTag.join('\n - ')} `); } } diff --git a/packages/kbn-test/src/functional_tests/tasks.ts b/packages/kbn-test/src/functional_tests/tasks.ts index b220c3899a638..8059c94ae5b2f 100644 --- a/packages/kbn-test/src/functional_tests/tasks.ts +++ b/packages/kbn-test/src/functional_tests/tasks.ts @@ -22,7 +22,7 @@ import { CreateFtrOptions, } from './lib'; -import { readConfigFile } from '../functional_test_runner/lib'; +import { readConfigFile, EsVersion } from '../functional_test_runner/lib'; const makeSuccessMessage = (options: StartServerOptions) => { const installDirFlag = options.installDir ? ` --kibana-install-dir=${options.installDir}` : ''; @@ -54,6 +54,7 @@ interface RunTestsParams extends CreateFtrOptions { configs: string[]; /** run from source instead of snapshot */ esFrom?: string; + esVersion: EsVersion; createLogger: () => ToolingLog; extraKbnOpts: string[]; assertNoneExcluded: boolean; @@ -104,11 +105,13 @@ export async function runTests(options: RunTestsParams) { log.write(`--- [${progress}] Running ${relative(REPO_ROOT, configPath)}`); await withProcRunner(log, async (procs) => { - const config = await readConfigFile(log, configPath); + const config = await readConfigFile(log, options.esVersion, configPath); let es; try { - es = await runElasticsearch({ config, options: { ...options, log } }); + if (process.env.TEST_ES_DISABLE_STARTUP !== 'true') { + es = await runElasticsearch({ config, options: { ...options, log } }); + } await runKibanaServer({ procs, config, options }); await runFtr({ configPath, options: { ...options, log } }); } finally { @@ -142,6 +145,7 @@ interface StartServerOptions { createLogger: () => ToolingLog; extraKbnOpts: string[]; useDefaultConfig?: boolean; + esVersion: EsVersion; } export async function startServers({ ...options }: StartServerOptions) { @@ -159,7 +163,7 @@ export async function startServers({ ...options }: StartServerOptions) { }; await withProcRunner(log, async (procs) => { - const config = await readConfigFile(log, options.config); + const config = await readConfigFile(log, options.esVersion, options.config); const es = await runElasticsearch({ config, options: opts }); await runKibanaServer({ diff --git a/packages/kbn-test/src/index.ts b/packages/kbn-test/src/index.ts index f3771c76a722b..bd276036d2247 100644 --- a/packages/kbn-test/src/index.ts +++ b/packages/kbn-test/src/index.ts @@ -25,10 +25,26 @@ export { runTests, startServers } from './functional_tests/tasks'; // @internal export { KIBANA_ROOT } from './functional_tests/lib/paths'; -export type { CreateTestEsClusterOptions, EsTestCluster, ICluster } from './es'; -export { esTestConfig, createTestEsCluster } from './es'; - -export { kbnTestConfig, kibanaServerTestUser, kibanaTestUser, adminTestUser } from './kbn'; +export type { + CreateTestEsClusterOptions, + EsTestCluster, + ICluster, + EsClientForTestingOptions, +} from './es'; +export { + esTestConfig, + createTestEsCluster, + createEsClientForTesting, + createEsClientForFtrConfig, +} from './es'; + +export { + kbnTestConfig, + kibanaServerTestUser, + kibanaTestUser, + adminTestUser, + systemIndicesSuperuser, +} from './kbn'; export { readConfigFile } from './functional_test_runner/lib/config/read_config_file'; diff --git a/packages/kbn-test/src/jest/ci_stats_jest_reporter.ts b/packages/kbn-test/src/jest/ci_stats_jest_reporter.ts new file mode 100644 index 0000000000000..94675d87a3a24 --- /dev/null +++ b/packages/kbn-test/src/jest/ci_stats_jest_reporter.ts @@ -0,0 +1,120 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import * as Path from 'path'; + +import getopts from 'getopts'; +import { CiStatsReporter, ToolingLog, CiStatsReportTestsOptions } from '@kbn/dev-utils'; +import type { Config } from '@jest/types'; +import { BaseReporter, Test, TestResult } from '@jest/reporters'; +import { ConsoleBuffer } from '@jest/console'; + +type LogEntry = ConsoleBuffer[0]; + +interface ReporterOptions { + testGroupType: string; +} + +function formatConsoleLine({ type, message, origin }: LogEntry) { + const originLines = origin.split('\n'); + + return `console.${type}: ${message}${originLines[0] ? `\n ${originLines[0]}` : ''}`; +} + +/** + * Jest reporter that reports tests to CI Stats + * @class JestJUnitReporter + */ + +// eslint-disable-next-line import/no-default-export +export default class CiStatsJestReporter extends BaseReporter { + private reporter: CiStatsReporter | undefined; + private readonly testGroupType: string; + private readonly reportName: string; + private readonly rootDir: string; + private startTime: number | undefined; + + private group: CiStatsReportTestsOptions['group'] | undefined; + private readonly testRuns: CiStatsReportTestsOptions['testRuns'] = []; + + constructor(config: Config.GlobalConfig, options: ReporterOptions) { + super(); + + this.rootDir = config.rootDir; + this.testGroupType = options?.testGroupType; + if (!this.testGroupType) { + throw new Error('missing testGroupType reporter option'); + } + + const configArg = getopts(process.argv).config; + if (typeof configArg !== 'string') { + throw new Error('expected to find a single --config arg'); + } + this.reportName = configArg; + } + + async onRunStart() { + const reporter = CiStatsReporter.fromEnv( + new ToolingLog({ + level: 'info', + writeTo: process.stdout, + }) + ); + + if (!reporter.hasBuildConfig()) { + return; + } + + this.startTime = Date.now(); + this.reporter = reporter; + this.group = { + name: this.reportName, + type: this.testGroupType, + startTime: new Date(this.startTime).toJSON(), + meta: {}, + durationMs: 0, + }; + } + + async onTestFileResult(_: Test, testResult: TestResult) { + if (!this.reporter || !this.group) { + return; + } + + let elapsedTime = 0; + for (const t of testResult.testResults) { + const startTime = new Date(testResult.perfStats.start + elapsedTime).toJSON(); + elapsedTime += t.duration ?? 0; + this.testRuns.push({ + startTime, + durationMs: t.duration ?? 0, + seq: this.testRuns.length + 1, + file: Path.relative(this.rootDir, testResult.testFilePath), + name: t.title, + result: t.status === 'failed' ? 'fail' : t.status === 'passed' ? 'pass' : 'skip', + suites: t.ancestorTitles, + type: 'test', + error: t.failureMessages.join('\n\n'), + stdout: testResult.console?.map(formatConsoleLine).join('\n'), + }); + } + } + + async onRunComplete() { + if (!this.reporter || !this.group || !this.testRuns.length || !this.startTime) { + return; + } + + this.group.durationMs = Date.now() - this.startTime; + + await this.reporter.reportTests({ + group: this.group, + testRuns: this.testRuns, + }); + } +} diff --git a/packages/kbn-test/src/jest/configs/__snapshots__/jest_configs.test.ts.snap b/packages/kbn-test/src/jest/configs/__snapshots__/jest_configs.test.ts.snap new file mode 100644 index 0000000000000..8de7ea9a41367 --- /dev/null +++ b/packages/kbn-test/src/jest/configs/__snapshots__/jest_configs.test.ts.snap @@ -0,0 +1,3 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`jestConfigs #expected throws if test file outside root 1`] = `[Error: Test file (bad.test.js) can not exist outside roots (packages/b/nested, packages). Move it to a root or configure additional root.]`; diff --git a/packages/kbn-test/src/jest/configs/index.ts b/packages/kbn-test/src/jest/configs/index.ts new file mode 100644 index 0000000000000..155c385ec761d --- /dev/null +++ b/packages/kbn-test/src/jest/configs/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export * from './jest_configs'; diff --git a/packages/kbn-test/src/jest/configs/jest_configs.test.ts b/packages/kbn-test/src/jest/configs/jest_configs.test.ts new file mode 100644 index 0000000000000..4d68733f58d32 --- /dev/null +++ b/packages/kbn-test/src/jest/configs/jest_configs.test.ts @@ -0,0 +1,116 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import mockFs from 'mock-fs'; +import fs from 'fs'; + +import { JestConfigs } from './jest_configs'; + +describe('jestConfigs', () => { + let jestConfigs: JestConfigs; + + beforeEach(async () => { + mockFs({ + '/kbn-test/packages': { + a: { + 'jest.config.js': '', + 'a_first.test.js': '', + 'a_second.test.js': '', + }, + b: { + 'b.test.js': '', + integration_tests: { + 'b_integration.test.js': '', + }, + nested: { + d: { + 'd.test.js': '', + }, + }, + }, + c: { + 'jest.integration.config.js': '', + integration_tests: { + 'c_integration.test.js': '', + }, + }, + }, + }); + jestConfigs = new JestConfigs('/kbn-test', ['packages/b/nested', 'packages']); + }); + + afterEach(mockFs.restore); + + describe('#files', () => { + it('lists unit test files', async () => { + const files = await jestConfigs.files('unit'); + expect(files).toEqual([ + 'packages/a/a_first.test.js', + 'packages/a/a_second.test.js', + 'packages/b/b.test.js', + 'packages/b/nested/d/d.test.js', + ]); + }); + + it('lists integration test files', async () => { + const files = await jestConfigs.files('integration'); + expect(files).toEqual([ + 'packages/b/integration_tests/b_integration.test.js', + 'packages/c/integration_tests/c_integration.test.js', + ]); + }); + }); + + describe('#expected', () => { + it('expects unit config files', async () => { + const files = await jestConfigs.expected('unit'); + expect(files).toEqual([ + 'packages/a/jest.config.js', + 'packages/b/jest.config.js', + 'packages/b/nested/d/jest.config.js', + ]); + }); + + it('expects integration config files', async () => { + const files = await jestConfigs.expected('integration'); + expect(files).toEqual([ + 'packages/b/jest.integration.config.js', + 'packages/c/jest.integration.config.js', + ]); + }); + + it('throws if test file outside root', async () => { + fs.writeFileSync('/kbn-test/bad.test.js', ''); + await expect(() => jestConfigs.expected('unit')).rejects.toMatchSnapshot(); + }); + }); + + describe('#existing', () => { + it('lists existing unit test config files', async () => { + const files = await jestConfigs.existing('unit'); + expect(files).toEqual(['packages/a/jest.config.js']); + }); + + it('lists existing integration test config files', async () => { + const files = await jestConfigs.existing('integration'); + expect(files).toEqual(['packages/c/jest.integration.config.js']); + }); + }); + + describe('#missing', () => { + it('lists existing unit test config files', async () => { + const files = await jestConfigs.missing('unit'); + expect(files).toEqual(['packages/b/jest.config.js', 'packages/b/nested/d/jest.config.js']); + }); + + it('lists existing integration test config files', async () => { + const files = await jestConfigs.missing('integration'); + expect(files).toEqual(['packages/b/jest.integration.config.js']); + }); + }); +}); diff --git a/packages/kbn-test/src/jest/configs/jest_configs.ts b/packages/kbn-test/src/jest/configs/jest_configs.ts new file mode 100644 index 0000000000000..a2a55d4a1b649 --- /dev/null +++ b/packages/kbn-test/src/jest/configs/jest_configs.ts @@ -0,0 +1,85 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import path from 'path'; +import globby from 'globby'; + +// @ts-ignore +import { testMatch } from '../../../jest-preset'; + +export const CONFIG_NAMES = { + unit: 'jest.config.js', + integration: 'jest.integration.config.js', +}; + +export class JestConfigs { + cwd: string; + roots: string[]; + allFiles: string[] | undefined; + + constructor(cwd: string, roots: string[]) { + this.cwd = cwd; + this.roots = roots; + } + + async files(type: 'unit' | 'integration') { + if (!this.allFiles) { + this.allFiles = await globby(testMatch, { + gitignore: true, + cwd: this.cwd, + }); + } + + return this.allFiles.filter((f) => + type === 'integration' ? f.includes('integration_tests') : !f.includes('integration_tests') + ); + } + + async expected(type: 'unit' | 'integration') { + const filesForType = await this.files(type); + const directories: Set = new Set(); + + filesForType.forEach((file) => { + const root = this.roots.find((r) => file.startsWith(r)); + + if (root) { + const splitPath = file.substring(root.length).split(path.sep); + + if (splitPath.length > 2) { + const name = splitPath[1]; + directories.add([root, name].join(path.sep)); + } + } else { + throw new Error( + `Test file (${file}) can not exist outside roots (${this.roots.join( + ', ' + )}). Move it to a root or configure additional root.` + ); + } + }); + + return [...directories].map((d) => [d, CONFIG_NAMES[type]].join(path.sep)); + } + + async existing(type: 'unit' | 'integration') { + return await globby(`**/${CONFIG_NAMES[type]}`, { + gitignore: true, + cwd: this.cwd, + }); + } + + async missing(type: 'unit' | 'integration') { + const expectedConfigs = await this.expected(type); + const existingConfigs = await this.existing(type); + return await expectedConfigs.filter((x) => !existingConfigs.includes(x)); + } + + async allMissing() { + return (await this.missing('unit')).concat(await this.missing('integration')); + } +} diff --git a/packages/kbn-test/src/jest/run_check_jest_configs_cli.ts b/packages/kbn-test/src/jest/run_check_jest_configs_cli.ts index cf37ee82d61e9..9522d9dafd6fd 100644 --- a/packages/kbn-test/src/jest/run_check_jest_configs_cli.ts +++ b/packages/kbn-test/src/jest/run_check_jest_configs_cli.ts @@ -6,26 +6,29 @@ * Side Public License, v 1. */ -import { relative, resolve, sep } from 'path'; import { writeFileSync } from 'fs'; - -import execa from 'execa'; -import globby from 'globby'; +import path from 'path'; import Mustache from 'mustache'; -import { run } from '@kbn/dev-utils'; +import { run, createFailError } from '@kbn/dev-utils'; import { REPO_ROOT } from '@kbn/utils'; -// @ts-ignore -import { testMatch } from '../../jest-preset'; +import { JestConfigs, CONFIG_NAMES } from './configs'; -const template: string = `module.exports = { +const unitTestingTemplate: string = `module.exports = { preset: '@kbn/test', rootDir: '{{{relToRoot}}}', roots: ['/{{{modulePath}}}'], }; `; +const integrationTestingTemplate: string = `module.exports = { + preset: '@kbn/test/jest_integration', + rootDir: '{{{relToRoot}}}', + roots: ['/{{{modulePath}}}'], +}; +`; + const roots: string[] = [ 'x-pack/plugins/security_solution/public', 'x-pack/plugins/security_solution/server', @@ -40,68 +43,43 @@ const roots: string[] = [ export async function runCheckJestConfigsCli() { run( async ({ flags: { fix = false }, log }) => { - const { stdout: coveredFiles } = await execa( - 'yarn', - ['--silent', 'jest', '--listTests', '--json'], - { - cwd: REPO_ROOT, - } - ); + const jestConfigs = new JestConfigs(REPO_ROOT, roots); - const allFiles = new Set( - await globby(testMatch.concat(['!**/integration_tests/**']), { - gitignore: true, - }) - ); + const missing = await jestConfigs.allMissing(); - JSON.parse(coveredFiles).forEach((file: string) => { - const pathFromRoot = relative(REPO_ROOT, file); - allFiles.delete(pathFromRoot); - }); - - if (allFiles.size) { + if (missing.length) { log.error( - `The following files do not belong to a jest.config.js file, or that config is not included from the root jest.config.js\n${[ - ...allFiles, + `The following Jest config files do not exist for which there are test files for:\n${[ + ...missing, ] .map((file) => ` - ${file}`) .join('\n')}` ); - } else { - log.success('All test files are included by a Jest configuration'); - return; - } - - if (fix) { - allFiles.forEach((file) => { - const root = roots.find((r) => file.startsWith(r)); - if (root) { - const name = relative(root, file).split(sep)[0]; - const modulePath = [root, name].join('/'); + if (fix) { + missing.forEach((file) => { + const template = file.endsWith(CONFIG_NAMES.unit) + ? unitTestingTemplate + : integrationTestingTemplate; + const modulePath = path.dirname(file); const content = Mustache.render(template, { - relToRoot: relative(modulePath, '.'), + relToRoot: path.relative(modulePath, '.'), modulePath, }); - const configPath = resolve(root, name, 'jest.config.js'); - log.info('created %s', configPath); - writeFileSync(configPath, content); - } else { - log.warning(`Unable to determind where to place jest.config.js for ${file}`); - } - }); - } else { - log.info( - `Run 'node scripts/check_jest_configs --fix' to attempt to create the missing config files` - ); + writeFileSync(file, content); + log.info('created %s', file); + }); + } else { + throw createFailError( + `Run 'node scripts/check_jest_configs --fix' to create the missing config files` + ); + } } - - process.exit(1); }, { - description: 'Check that all test files are covered by a jest.config.js', + description: 'Check that all test files are covered by a Jest config', flags: { boolean: ['fix'], help: ` diff --git a/packages/kbn-test/src/jest/setup/mocks.eui.js b/packages/kbn-test/src/jest/setup/mocks.eui.js new file mode 100644 index 0000000000000..caf7f8df6eb5f --- /dev/null +++ b/packages/kbn-test/src/jest/setup/mocks.eui.js @@ -0,0 +1,18 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +/* eslint-env jest */ + +jest.mock('@elastic/eui/lib/services/react', () => { + // `enqueueStateChange` is an EUI method to batch queued functions that trigger React `setState` calls. + // This is for performance, but when used in certain Jest scernarios it can be nondeterministic. + // Jest tests are never concerned about the state prior to batch completion, so we bypass batching entirely. + return { + enqueueStateChange: (fn) => fn(), + }; +}); diff --git a/packages/kbn-test/src/jest/setup/mocks.js b/packages/kbn-test/src/jest/setup/mocks.moment_timezone.js similarity index 80% rename from packages/kbn-test/src/jest/setup/mocks.js rename to packages/kbn-test/src/jest/setup/mocks.moment_timezone.js index df6e51b782f21..bfe1e58f60b12 100644 --- a/packages/kbn-test/src/jest/setup/mocks.js +++ b/packages/kbn-test/src/jest/setup/mocks.moment_timezone.js @@ -33,12 +33,3 @@ jest.mock('moment-timezone', () => { moment.tz.setDefault('America/New_York'); return moment; }); - -jest.mock('@elastic/eui/lib/services/react', () => { - // `enqueueStateChange` is an EUI method to batch queued functions that trigger React `setState` calls. - // This is for performance, but when used in certain Jest scernarios it can be nondeterministic. - // Jest tests are never concerned about the state prior to batch completion, so we bypass batching entirely. - return { - enqueueStateChange: (fn) => fn(), - }; -}); diff --git a/packages/kbn-test/src/jest/setup/polyfills.js b/packages/kbn-test/src/jest/setup/polyfills.jsdom.js similarity index 100% rename from packages/kbn-test/src/jest/setup/polyfills.js rename to packages/kbn-test/src/jest/setup/polyfills.jsdom.js diff --git a/packages/kbn-test/src/jest/utils/testbed/README.md b/packages/kbn-test/src/jest/utils/testbed/README.md index 5a05ba3750d3c..87cabd7ca4fa1 100644 --- a/packages/kbn-test/src/jest/utils/testbed/README.md +++ b/packages/kbn-test/src/jest/utils/testbed/README.md @@ -116,7 +116,7 @@ In order to prevent flakiness in component integration tests, please consider th }); ``` -- **Do not use** using `nextTick()`, `waitFor`, or `waitForFunc` helpers in tests. These helpers use `setTimeout` underneath and add latency in the tests, especially on CI where a timeout (even of a few ms) can trigger a timeout error. These helpers will eventually be deprecated once existing tests has been updated. +- **Do not use** using `nextTick()` helper in tests. This helper use `setTimeout` underneath and add latency in the tests, especially on CI where a timeout (even of a few ms) can trigger a timeout error. - **Do not declare** `component.update()` inside `act()`. Each `act()` call should contain a chunk of actions that updates the internal state(s). The `component.update()` that re-renders the internal DOM needs to be called outside, before asserting against the updated DOM. @@ -274,14 +274,11 @@ expect(tableCellsValues).toEqual([ An object with the following methods: -##### `setInputValue(input, value, isAsync)` +##### `setInputValue(input, value)` Set the value of a form input. The input can either be a test subject (a string) or an Enzyme react wrapper. If you specify a test subject, you can provide a nested path to access it by separating the parent and child with a dot (e.g. `myForm.followerIndexName`). -`isAsync`: flag that will return a Promise that resolves on the next "tick". This is useful if updating the input triggers -an async operation (like a HTTP request) and we need it to resolve so the DOM gets updated (default: `false`). - ```js await form.setInputValue('myInput', 'some value', true); ``` diff --git a/packages/kbn-test/src/jest/utils/testbed/testbed.ts b/packages/kbn-test/src/jest/utils/testbed/testbed.ts index 240ec25a9c296..b10f331da10d6 100644 --- a/packages/kbn-test/src/jest/utils/testbed/testbed.ts +++ b/packages/kbn-test/src/jest/utils/testbed/testbed.ts @@ -157,52 +157,17 @@ export function registerTestBed( }); }; - const waitForFn: TestBed['waitForFn'] = async (predicate, errMessage) => { - const triggeredAt = Date.now(); - - const MAX_WAIT_TIME = 30000; - const WAIT_INTERVAL = 50; - - const process = async (): Promise => { - const isOK = await predicate(); - - if (isOK) { - // Great! nothing else to do here. - return; - } - - const timeElapsed = Date.now() - triggeredAt; - if (timeElapsed > MAX_WAIT_TIME) { - throw new Error(errMessage); - } - - return new Promise((resolve) => setTimeout(resolve, WAIT_INTERVAL)).then(() => { - component.update(); - return process(); - }); - }; - - return process(); - }; - - const waitFor: TestBed['waitFor'] = (testSubject: T, count = 1) => { - return waitForFn( - () => Promise.resolve(exists(testSubject, count)), - `I waited patiently for the "${testSubject}" test subject to appear with no luck. It is nowhere to be found!` - ); - }; - /** * ---------------------------------------------------------------- * Forms * ---------------------------------------------------------------- */ - const setInputValue: TestBed['form']['setInputValue'] = ( - input, - value, - isAsync = false - ) => { + const setInputValue: TestBed['form']['setInputValue'] = function (input, value) { + if (arguments.length === 3) { + throw new Error(`Passing the "isAsync" arg is not supported anymore.`); + } + const formInput = typeof input === 'string' ? find(input) : input; if (!formInput.length) { @@ -210,11 +175,6 @@ export function registerTestBed( } formInput.simulate('change', { target: { value } }); component.update(); - - if (!isAsync) { - return; - } - return new Promise((resolve) => setTimeout(resolve)); }; const setSelectValue: TestBed['form']['setSelectValue'] = ( @@ -334,8 +294,6 @@ export function registerTestBed( exists, find, setProps, - waitFor, - waitForFn, table: { getMetaData, }, diff --git a/packages/kbn-test/src/jest/utils/testbed/types.ts b/packages/kbn-test/src/jest/utils/testbed/types.ts index 121b848e51b51..924eaa2f81b15 100644 --- a/packages/kbn-test/src/jest/utils/testbed/types.ts +++ b/packages/kbn-test/src/jest/utils/testbed/types.ts @@ -61,31 +61,14 @@ export interface TestBed { * @param updatedProps The updated prop object */ setProps: (updatedProps: any) => void; - /** - * Helper to wait until an element appears in the DOM as hooks updates cycles are tricky. - * Useful when loading a component that fetches a resource from the server - * and we need to wait for the data to be fetched (and bypass any "loading" state). - */ - waitFor: (testSubject: T, count?: number) => Promise; - waitForFn: (predicate: () => Promise, errMessage: string) => Promise; form: { /** * Set the value of a form text input. * - * In some cases, changing an input value triggers an HTTP request to validate - * the field. Even if we return immediately the response on the mock server we - * still need to wait until the next tick before the DOM updates. - * Setting isAsync to "true" takes care of that. - * * @param input The form input. Can either be a data-test-subj or a reactWrapper (can be a nested path. e.g. "myForm.myInput"). * @param value The value to set - * @param isAsync If set to true will return a Promise that resolves on the next "tick" */ - setInputValue: ( - input: T | ReactWrapper, - value: string, - isAsync?: boolean - ) => Promise | void; + setInputValue: (input: T | ReactWrapper, value: string) => void; /** * Set the value of a or a mocked * For the you need to mock it like this diff --git a/packages/kbn-test/src/kbn/index.ts b/packages/kbn-test/src/kbn/index.ts index 3ba7ef97b062d..c8db8b9473d16 100644 --- a/packages/kbn-test/src/kbn/index.ts +++ b/packages/kbn-test/src/kbn/index.ts @@ -7,4 +7,9 @@ */ export { kbnTestConfig } from './kbn_test_config'; -export { kibanaTestUser, kibanaServerTestUser, adminTestUser } from './users'; +export { + kibanaTestUser, + kibanaServerTestUser, + adminTestUser, + systemIndicesSuperuser, +} from './users'; diff --git a/packages/kbn-test/src/kbn/users.ts b/packages/kbn-test/src/kbn/users.ts index 88480fde74ddc..9e35e9d7b6c01 100644 --- a/packages/kbn-test/src/kbn/users.ts +++ b/packages/kbn-test/src/kbn/users.ts @@ -6,6 +6,9 @@ * Side Public License, v 1. */ +// @ts-expect-error no types +import { SYSTEM_INDICES_SUPERUSER } from '@kbn/es'; + const env = process.env; export const kibanaTestUser = { @@ -22,3 +25,11 @@ export const adminTestUser = { username: env.TEST_ES_USER || 'elastic', password: env.TEST_ES_PASS || 'changeme', }; + +/** + * User with higher privileges than regular superuser role for writing to system indices + */ +export const systemIndicesSuperuser = { + username: SYSTEM_INDICES_SUPERUSER, + password: env.TEST_ES_PASS || 'changeme', +}; diff --git a/packages/kbn-test/src/kbn_archiver_cli.ts b/packages/kbn-test/src/kbn_archiver_cli.ts index 80e35efaec976..f7f17900efcff 100644 --- a/packages/kbn-test/src/kbn_archiver_cli.ts +++ b/packages/kbn-test/src/kbn_archiver_cli.ts @@ -12,7 +12,7 @@ import Url from 'url'; import { RunWithCommands, createFlagError, Flags } from '@kbn/dev-utils'; import { KbnClient } from './kbn_client'; -import { readConfigFile } from './functional_test_runner'; +import { readConfigFile, EsVersion } from './functional_test_runner'; function getSinglePositionalArg(flags: Flags) { const positional = flags._; @@ -57,7 +57,7 @@ export function runKbnArchiverCli() { throw createFlagError('expected --config to be a string'); } - config = await readConfigFile(log, Path.resolve(flags.config)); + config = await readConfigFile(log, EsVersion.getDefault(), Path.resolve(flags.config)); statsMeta.set('ftrConfigPath', flags.config); } diff --git a/packages/kbn-test/src/kbn_client/kbn_client_saved_objects.ts b/packages/kbn-test/src/kbn_client/kbn_client_saved_objects.ts index 904ccc385bd7d..a9d677ac5a5f1 100644 --- a/packages/kbn-test/src/kbn_client/kbn_client_saved_objects.ts +++ b/packages/kbn-test/src/kbn_client/kbn_client_saved_objects.ts @@ -214,6 +214,25 @@ export class KbnClientSavedObjects { this.log.success('deleted', deleted, 'objects'); } + public async cleanStandardList(options?: { space?: string }) { + // add types here + const types = [ + 'search', + 'index-pattern', + 'visualization', + 'dashboard', + 'lens', + 'map', + 'graph-workspace', + 'query', + 'tag', + 'url', + 'canvas-workpad', + ]; + const newOptions = { types, space: options?.space }; + await this.clean(newOptions); + } + public async bulkDelete(options: DeleteObjectsOptions) { let deleted = 0; let missing = 0; diff --git a/packages/kbn-test/src/mocha/index.ts b/packages/kbn-test/src/mocha/index.ts index 4ada51c7ae013..1be65d60a9842 100644 --- a/packages/kbn-test/src/mocha/index.ts +++ b/packages/kbn-test/src/mocha/index.ts @@ -11,7 +11,7 @@ export { setupJUnitReportGeneration } from './junit_report_generation'; // @ts-ignore not typed yet // @internal -export { recordLog, snapshotLogsForRunnable } from './log_cache'; +export { recordLog, snapshotLogsForRunnable, getSnapshotOfRunnableLogs } from './log_cache'; // @ts-ignore not typed yet // @internal export { escapeCdata } from './xml'; diff --git a/packages/kbn-test/types/ftr_globals/mocha.d.ts b/packages/kbn-test/types/ftr_globals/mocha.d.ts index ac9e33d4b9dcc..d5895b40f1245 100644 --- a/packages/kbn-test/types/ftr_globals/mocha.d.ts +++ b/packages/kbn-test/types/ftr_globals/mocha.d.ts @@ -14,5 +14,11 @@ declare module 'mocha' { * Assign tags to the test suite to determine in which CI job it should be run. */ tags(tags: string[] | string): void; + /** + * Define the ES versions for which this test requires, any version which doesn't meet this range will + * cause these tests to be skipped + * @param semver any valid semver range, like ">=8" + */ + onlyEsVersion(semver: string): void; } } diff --git a/packages/kbn-ui-shared-deps-src/src/flot_charts/jquery_flot.js b/packages/kbn-ui-shared-deps-src/src/flot_charts/jquery_flot.js index 43db1cc3d93db..5252356279e51 100644 --- a/packages/kbn-ui-shared-deps-src/src/flot_charts/jquery_flot.js +++ b/packages/kbn-ui-shared-deps-src/src/flot_charts/jquery_flot.js @@ -351,7 +351,7 @@ Licensed under the MIT license. if (info == null) { - var element = $("

    ").html(text) + var element = $("
    ").text(text) .css({ position: "absolute", 'max-width': width, diff --git a/scripts/jest_integration.js b/scripts/jest_integration.js index 7332f368b31e2..9b4157eddaaf8 100755 --- a/scripts/jest_integration.js +++ b/scripts/jest_integration.js @@ -9,4 +9,4 @@ require('../src/setup_node_env/ensure_node_preserve_symlinks'); process.argv.push('--runInBand'); -require('@kbn/test').runJest('jest.config.integration.js'); +require('@kbn/test').runJest('jest.integration.config.js'); diff --git a/src/cli/jest.integration.config.js b/src/cli/jest.integration.config.js new file mode 100644 index 0000000000000..96f02d0524688 --- /dev/null +++ b/src/cli/jest.integration.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_integration', + rootDir: '../..', + roots: ['/src/cli'], +}; diff --git a/src/core/jest.integration.config.js b/src/core/jest.integration.config.js new file mode 100644 index 0000000000000..3b84ae88ad7a7 --- /dev/null +++ b/src/core/jest.integration.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_integration', + rootDir: '../..', + roots: ['/src/core'], +}; diff --git a/src/core/public/apm_system.ts b/src/core/public/apm_system.ts index 5201b7005c66e..f15a317f9f934 100644 --- a/src/core/public/apm_system.ts +++ b/src/core/public/apm_system.ts @@ -71,7 +71,7 @@ export class ApmSystem { start.application.currentAppId$.subscribe((appId) => { if (appId && this.apm) { this.closePageLoadTransaction(); - this.apm.startTransaction(`/app/${appId}`, 'route-change', { + this.apm.startTransaction(appId, 'app-change', { managed: true, canReuse: true, }); diff --git a/src/core/public/application/utils/parse_app_url.test.ts b/src/core/public/application/utils/parse_app_url.test.ts index 71137900d6748..e43fd1045e435 100644 --- a/src/core/public/application/utils/parse_app_url.test.ts +++ b/src/core/public/application/utils/parse_app_url.test.ts @@ -39,6 +39,12 @@ describe('parseAppUrl', () => { id: 'bar', appRoute: '/custom-bar', }); + createApp({ + id: 're', + }); + createApp({ + id: 'retail', + }); }); describe('with absolute paths', () => { @@ -51,6 +57,14 @@ describe('parseAppUrl', () => { app: 'bar', path: undefined, }); + expect(parseAppUrl('/base-path/app/re', basePath, apps, currentUrl)).toEqual({ + app: 're', + path: undefined, + }); + expect(parseAppUrl('/base-path/app/retail', basePath, apps, currentUrl)).toEqual({ + app: 'retail', + path: undefined, + }); }); it('parses the path', () => { expect(parseAppUrl('/base-path/app/foo/some/path', basePath, apps, currentUrl)).toEqual({ @@ -63,6 +77,14 @@ describe('parseAppUrl', () => { app: 'bar', path: '/another/path/', }); + expect(parseAppUrl('/base-path/app/re/tail', basePath, apps, currentUrl)).toEqual({ + app: 're', + path: '/tail', + }); + expect(parseAppUrl('/base-path/app/retail/path', basePath, apps, currentUrl)).toEqual({ + app: 'retail', + path: '/path', + }); }); it('includes query and hash in the path for default app route', () => { expect(parseAppUrl('/base-path/app/foo#hash/bang', basePath, apps, currentUrl)).toEqual({ @@ -89,6 +111,18 @@ describe('parseAppUrl', () => { app: 'foo', path: '/path#hash/bang?hello=dolly', }); + expect(parseAppUrl('/base-path/app/re#hash/bang', basePath, apps, currentUrl)).toEqual({ + app: 're', + path: '#hash/bang', + }); + expect(parseAppUrl('/base-path/app/retail?hello=dolly', basePath, apps, currentUrl)).toEqual({ + app: 'retail', + path: '?hello=dolly', + }); + expect(parseAppUrl('/base-path/app/retail#hash/bang', basePath, apps, currentUrl)).toEqual({ + app: 'retail', + path: '#hash/bang', + }); }); it('includes query and hash in the path for custom app route', () => { expect(parseAppUrl('/base-path/custom-bar#hash/bang', basePath, apps, currentUrl)).toEqual({ @@ -190,7 +224,6 @@ describe('parseAppUrl', () => { path: '/path#hash?hello=dolly', }); }); - it('returns undefined if the relative path redirect outside of the basePath', () => { expect( parseAppUrl( @@ -201,6 +234,19 @@ describe('parseAppUrl', () => { ) ).toBeUndefined(); }); + it('works with inclusive app ids', () => { + expect( + parseAppUrl( + './retail/path', + basePath, + apps, + 'https://kibana.local:8080/base-path/app/current' + ) + ).toEqual({ + app: 'retail', + path: '/path', + }); + }); }); describe('with absolute urls', () => { @@ -217,6 +263,18 @@ describe('parseAppUrl', () => { app: 'bar', path: undefined, }); + expect( + parseAppUrl('https://kibana.local:8080/base-path/app/re', basePath, apps, currentUrl) + ).toEqual({ + app: 're', + path: undefined, + }); + expect( + parseAppUrl('https://kibana.local:8080/base-path/app/retail', basePath, apps, currentUrl) + ).toEqual({ + app: 'retail', + path: undefined, + }); }); it('parses the path', () => { expect( @@ -241,6 +299,29 @@ describe('parseAppUrl', () => { app: 'bar', path: '/another/path/', }); + + expect( + parseAppUrl( + 'https://kibana.local:8080/base-path/app/re/some/path', + basePath, + apps, + currentUrl + ) + ).toEqual({ + app: 're', + path: '/some/path', + }); + expect( + parseAppUrl( + 'https://kibana.local:8080/base-path/app/retail/another/path/', + basePath, + apps, + currentUrl + ) + ).toEqual({ + app: 'retail', + path: '/another/path/', + }); }); it('includes query and hash in the path for default app routes', () => { expect( @@ -298,6 +379,28 @@ describe('parseAppUrl', () => { app: 'foo', path: '/path#hash/bang?hello=dolly', }); + expect( + parseAppUrl( + 'https://kibana.local:8080/base-path/app/re#hash/bang', + basePath, + apps, + currentUrl + ) + ).toEqual({ + app: 're', + path: '#hash/bang', + }); + expect( + parseAppUrl( + 'https://kibana.local:8080/base-path/app/re?hello=dolly', + basePath, + apps, + currentUrl + ) + ).toEqual({ + app: 're', + path: '?hello=dolly', + }); }); it('includes query and hash in the path for custom app route', () => { expect( diff --git a/src/core/public/application/utils/parse_app_url.ts b/src/core/public/application/utils/parse_app_url.ts index 099e8a550920c..db4f3dc6d2420 100644 --- a/src/core/public/application/utils/parse_app_url.ts +++ b/src/core/public/application/utils/parse_app_url.ts @@ -61,7 +61,7 @@ export const parseAppUrl = ( for (const app of apps.values()) { const appPath = app.appRoute || `/app/${app.id}`; - if (url.startsWith(appPath)) { + if (urlInApp(url, appPath)) { const path = url.substr(appPath.length); return { app: app.id, @@ -70,3 +70,16 @@ export const parseAppUrl = ( } } }; + +const separators = ['/', '?', '#']; + +const urlInApp = (url: string, appPath: string) => { + if (url === appPath) { + return true; + } + if (url.startsWith(appPath)) { + const nextChar = url.substring(appPath.length, appPath.length + 1); + return separators.includes(nextChar); + } + return false; +}; diff --git a/src/core/public/core_app/status/components/__snapshots__/metric_tiles.test.tsx.snap b/src/core/public/core_app/status/components/__snapshots__/metric_tiles.test.tsx.snap index 2219e0d7609b8..cc4e27a6d6388 100644 --- a/src/core/public/core_app/status/components/__snapshots__/metric_tiles.test.tsx.snap +++ b/src/core/public/core_app/status/components/__snapshots__/metric_tiles.test.tsx.snap @@ -4,17 +4,24 @@ exports[`MetricTile correct displays a byte metric 1`] = ` `; exports[`MetricTile correct displays a float metric 1`] = ` - `; @@ -22,7 +29,7 @@ exports[`MetricTile correct displays a time metric 1`] = ` `; @@ -31,7 +38,29 @@ exports[`MetricTile correct displays an untyped metric 1`] = ` `; + +exports[`MetricTile correctly displays a metric with metadata 1`] = ` + +`; diff --git a/src/core/public/core_app/status/components/metric_tiles.test.tsx b/src/core/public/core_app/status/components/metric_tiles.test.tsx index 76608718e8cd3..8e6d1cf38cd01 100644 --- a/src/core/public/core_app/status/components/metric_tiles.test.tsx +++ b/src/core/public/core_app/status/components/metric_tiles.test.tsx @@ -35,6 +35,18 @@ const timeMetric: Metric = { value: 1234, }; +const metricWithMeta: Metric = { + name: 'Delay', + type: 'time', + value: 1, + meta: { + description: 'Percentiles', + title: '', + value: [1, 5, 10], + type: 'time', + }, +}; + describe('MetricTile', () => { it('correct displays an untyped metric', () => { const component = shallow(); @@ -55,4 +67,9 @@ describe('MetricTile', () => { const component = shallow(); expect(component).toMatchSnapshot(); }); + + it('correctly displays a metric with metadata', () => { + const component = shallow(); + expect(component).toMatchSnapshot(); + }); }); diff --git a/src/core/public/core_app/status/components/metric_tiles.tsx b/src/core/public/core_app/status/components/metric_tiles.tsx index 1eb5ee4c95dd8..18fa9ae738227 100644 --- a/src/core/public/core_app/status/components/metric_tiles.tsx +++ b/src/core/public/core_app/status/components/metric_tiles.tsx @@ -7,24 +7,105 @@ */ import React, { FunctionComponent } from 'react'; -import { EuiFlexGrid, EuiFlexItem, EuiCard } from '@elastic/eui'; -import { formatNumber, Metric } from '../lib'; +import { EuiFlexGrid, EuiFlexItem, EuiCard, EuiStat } from '@elastic/eui'; +import { DataType, formatNumber, Metric } from '../lib'; /* - * Displays a metric with the correct format. + * Displays metadata for a metric. */ -export const MetricTile: FunctionComponent<{ metric: Metric }> = ({ metric }) => { - const { name } = metric; +const MetricCardFooter: FunctionComponent<{ + title: string; + description: string; +}> = ({ title, description }) => { + return ( + + ); +}; + +const DelayMetricTile: FunctionComponent<{ metric: Metric }> = ({ metric }) => { + const { name, meta } = metric; return ( + ) + } + /> + ); +}; + +const LoadMetricTile: FunctionComponent<{ metric: Metric }> = ({ metric }) => { + const { name, meta } = metric; + return ( + } /> ); }; +const ResponseTimeMetric: FunctionComponent<{ metric: Metric }> = ({ metric }) => { + const { name, meta } = metric; + return ( + + ) + } + /> + ); +}; + +/* + * Displays a metric with the correct format. + */ +export const MetricTile: FunctionComponent<{ metric: Metric }> = ({ metric }) => { + const { name } = metric; + switch (name) { + case 'Delay': + return ; + case 'Load': + return ; + case 'Response time avg': + return ; + default: + return ( + + ); + } +}; + /* * Wrapper component that simply maps each metric to MetricTile inside a FlexGroup */ @@ -38,11 +119,20 @@ export const MetricTiles: FunctionComponent<{ metrics: Metric[] }> = ({ metrics ); +// formatting helper functions + const formatMetric = ({ value, type }: Metric) => { const metrics = Array.isArray(value) ? value : [value]; return metrics.map((metric) => formatNumber(metric, type)).join(', '); }; -const formatMetricId = ({ name }: Metric) => { +const formatMetricId = (name: Metric['name']) => { return name.toLowerCase().replace(/[ ]+/g, '-'); }; + +const formatDelayFooterTitle = (values: number[], type?: DataType) => { + return ` + 50: ${formatNumber(values[0], type)}; + 95: ${formatNumber(values[1], type)}; + 99: ${formatNumber(values[2], type)}`; +}; diff --git a/src/core/public/core_app/status/lib/load_status.test.ts b/src/core/public/core_app/status/lib/load_status.test.ts index 73c697c3d55aa..5b5a2d0af99bc 100644 --- a/src/core/public/core_app/status/lib/load_status.test.ts +++ b/src/core/public/core_app/status/lib/load_status.test.ts @@ -218,13 +218,23 @@ describe('response processing', () => { expect(names).toEqual([ 'Heap total', 'Heap used', + 'Requests per second', 'Load', + 'Delay', 'Response time avg', - 'Response time max', - 'Requests per second', ]); - const values = data.metrics.map((m) => m.value); - expect(values).toEqual([1000000, 100, [4.1, 2.1, 0.1], 4000, 8000, 400]); + expect(values).toEqual([1000000, 100, 400, [4.1, 2.1, 0.1], 1, 4000]); + }); + + test('adds meta details to Load, Delay and Response time', async () => { + const data = await loadStatus({ http, notifications }); + const metricNames = data.metrics.filter((met) => met.meta); + expect(metricNames.map((item) => item.name)).toEqual(['Load', 'Delay', 'Response time avg']); + expect(metricNames.map((item) => item.meta!.description)).toEqual([ + 'Load interval', + 'Percentiles', + 'Response time max', + ]); }); }); diff --git a/src/core/public/core_app/status/lib/load_status.ts b/src/core/public/core_app/status/lib/load_status.ts index a5cc18ffd6c16..f33ad70c63f53 100644 --- a/src/core/public/core_app/status/lib/load_status.ts +++ b/src/core/public/core_app/status/lib/load_status.ts @@ -13,10 +13,17 @@ import type { HttpSetup } from '../../../http'; import type { NotificationsSetup } from '../../../notifications'; import type { DataType } from '../lib'; +interface MetricMeta { + title: string; + description: string; + value?: number[]; + type?: DataType; +} export interface Metric { name: string; value: number | number[]; type?: DataType; + meta?: MetricMeta; } export interface FormattedStatus { @@ -57,33 +64,62 @@ function formatMetrics({ metrics }: StatusResponse): Metric[] { value: metrics.process.memory.heap.used_in_bytes, type: 'byte', }, + { + name: i18n.translate('core.statusPage.metricsTiles.columns.requestsPerSecHeader', { + defaultMessage: 'Requests per second', + }), + value: (metrics.requests.total * 1000) / metrics.collection_interval_in_millis, + type: 'float', + }, { name: i18n.translate('core.statusPage.metricsTiles.columns.loadHeader', { defaultMessage: 'Load', }), value: [metrics.os.load['1m'], metrics.os.load['5m'], metrics.os.load['15m']], type: 'float', + meta: { + description: i18n.translate('core.statusPage.metricsTiles.columns.load.metaHeader', { + defaultMessage: 'Load interval', + }), + title: Object.keys(metrics.os.load).join('; '), + }, }, { - name: i18n.translate('core.statusPage.metricsTiles.columns.resTimeAvgHeader', { - defaultMessage: 'Response time avg', + name: i18n.translate('core.statusPage.metricsTiles.columns.processDelayHeader', { + defaultMessage: 'Delay', }), - value: metrics.response_times.avg_in_millis, + value: metrics.process.event_loop_delay, type: 'time', + meta: { + description: i18n.translate( + 'core.statusPage.metricsTiles.columns.processDelayDetailsHeader', + { + defaultMessage: 'Percentiles', + } + ), + title: '', + value: [ + metrics.process.event_loop_delay_histogram?.percentiles['50'], + metrics.process.event_loop_delay_histogram?.percentiles['95'], + metrics.process.event_loop_delay_histogram?.percentiles['99'], + ], + type: 'time', + }, }, { - name: i18n.translate('core.statusPage.metricsTiles.columns.resTimeMaxHeader', { - defaultMessage: 'Response time max', + name: i18n.translate('core.statusPage.metricsTiles.columns.resTimeAvgHeader', { + defaultMessage: 'Response time avg', }), - value: metrics.response_times.max_in_millis, + value: metrics.response_times.avg_in_millis, type: 'time', - }, - { - name: i18n.translate('core.statusPage.metricsTiles.columns.requestsPerSecHeader', { - defaultMessage: 'Requests per second', - }), - value: (metrics.requests.total * 1000) / metrics.collection_interval_in_millis, - type: 'float', + meta: { + description: i18n.translate('core.statusPage.metricsTiles.columns.resTimeMaxHeader', { + defaultMessage: 'Response time max', + }), + title: '', + value: [metrics.response_times.max_in_millis], + type: 'time', + }, }, ]; } diff --git a/src/core/public/doc_links/doc_links_service.ts b/src/core/public/doc_links/doc_links_service.ts index 8eec74c042fcf..754fb6596e7a9 100644 --- a/src/core/public/doc_links/doc_links_service.ts +++ b/src/core/public/doc_links/doc_links_service.ts @@ -20,7 +20,6 @@ export class DocLinksService { public start({ injectedMetadata }: StartDeps): DocLinksStart { const DOC_LINK_VERSION = injectedMetadata.getKibanaBranch(); const ELASTIC_WEBSITE_URL = 'https://www.elastic.co/'; - const STACK_DOCS = `${ELASTIC_WEBSITE_URL}guide/en/elastic-stack/${DOC_LINK_VERSION}/`; const ELASTICSEARCH_DOCS = `${ELASTIC_WEBSITE_URL}guide/en/elasticsearch/reference/${DOC_LINK_VERSION}/`; const KIBANA_DOCS = `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/`; const FLEET_DOCS = `${ELASTIC_WEBSITE_URL}guide/en/fleet/${DOC_LINK_VERSION}/`; @@ -36,7 +35,8 @@ export class DocLinksService { settings: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/settings.html`, elasticStackGetStarted: `${STACK_GETTING_STARTED}get-started-elastic-stack.html`, upgrade: { - upgradingElasticStack: `${STACK_DOCS}upgrading-elastic-stack.html`, + upgradingStackOnPrem: `${ELASTIC_WEBSITE_URL}guide/en/elastic-stack/8.0/upgrading-elastic-stack-on-prem.html`, + upgradingStackOnCloud: `${ELASTIC_WEBSITE_URL}guide/en/elastic-stack/8.0/upgrade-elastic-stack-for-elastic-cloud.html`, }, apm: { kibanaSettings: `${KIBANA_DOCS}apm-settings-in-kibana.html`, @@ -172,6 +172,7 @@ export class DocLinksService { asyncSearch: `${ELASTICSEARCH_DOCS}async-search-intro.html`, dataStreams: `${ELASTICSEARCH_DOCS}data-streams.html`, deprecationLogging: `${ELASTICSEARCH_DOCS}logging.html#deprecation-logging`, + hiddenIndices: `${ELASTICSEARCH_DOCS}multi-index.html#hidden`, ilm: `${ELASTICSEARCH_DOCS}index-lifecycle-management.html`, ilmForceMerge: `${ELASTICSEARCH_DOCS}ilm-forcemerge.html`, ilmFreeze: `${ELASTICSEARCH_DOCS}ilm-freeze.html`, @@ -536,7 +537,8 @@ export interface DocLinksStart { readonly settings: string; readonly elasticStackGetStarted: string; readonly upgrade: { - readonly upgradingElasticStack: string; + readonly upgradingStackOnPrem: string; + readonly upgradingStackOnCloud: string; }; readonly apm: { readonly kibanaSettings: string; diff --git a/src/core/public/notifications/toasts/toasts_api.test.ts b/src/core/public/notifications/toasts/toasts_api.test.ts index 87d703d5b6814..35f141a995d06 100644 --- a/src/core/public/notifications/toasts/toasts_api.test.ts +++ b/src/core/public/notifications/toasts/toasts_api.test.ts @@ -19,13 +19,13 @@ async function getCurrentToasts(toasts: ToastsApi) { function uiSettingsMock() { const mock = uiSettingsServiceMock.createSetupContract(); - mock.get.mockImplementation(() => (config: string) => { + mock.get.mockImplementation((config: string) => { switch (config) { case 'notifications:lifetime:info': return 5000; case 'notifications:lifetime:warning': return 10000; - case 'notification:lifetime:error': + case 'notifications:lifetime:error': return 30000; default: throw new Error(`Accessing ${config} is not supported in the mock.`); @@ -113,6 +113,12 @@ describe('#add()', () => { const toasts = new ToastsApi(toastDeps()); expect(toasts.add('foo')).toHaveProperty('title', 'foo'); }); + + it('fallbacks to default values for undefined properties', async () => { + const toasts = new ToastsApi(toastDeps()); + const toast = toasts.add({ title: 'foo', toastLifeTimeMs: undefined }); + expect(toast.toastLifeTimeMs).toEqual(5000); + }); }); describe('#remove()', () => { @@ -145,6 +151,12 @@ describe('#addInfo()', () => { expect(currentToasts[0].toastLifeTimeMs).toBe(1); expect(currentToasts[0]).toBe(toast); }); + + it('fallbacks to default values for undefined properties', async () => { + const toasts = new ToastsApi(toastDeps()); + const toast = toasts.addInfo({ title: 'foo', toastLifeTimeMs: undefined }); + expect(toast.toastLifeTimeMs).toEqual(5000); + }); }); describe('#addSuccess()', () => { @@ -159,6 +171,12 @@ describe('#addSuccess()', () => { const currentToasts = await getCurrentToasts(toasts); expect(currentToasts[0]).toBe(toast); }); + + it('fallbacks to default values for undefined properties', async () => { + const toasts = new ToastsApi(toastDeps()); + const toast = toasts.addSuccess({ title: 'foo', toastLifeTimeMs: undefined }); + expect(toast.toastLifeTimeMs).toEqual(5000); + }); }); describe('#addWarning()', () => { @@ -173,6 +191,12 @@ describe('#addWarning()', () => { const currentToasts = await getCurrentToasts(toasts); expect(currentToasts[0]).toBe(toast); }); + + it('fallbacks to default values for undefined properties', async () => { + const toasts = new ToastsApi(toastDeps()); + const toast = toasts.addWarning({ title: 'foo', toastLifeTimeMs: undefined }); + expect(toast.toastLifeTimeMs).toEqual(10000); + }); }); describe('#addDanger()', () => { @@ -187,6 +211,12 @@ describe('#addDanger()', () => { const currentToasts = await getCurrentToasts(toasts); expect(currentToasts[0]).toBe(toast); }); + + it('fallbacks to default values for undefined properties', async () => { + const toasts = new ToastsApi(toastDeps()); + const toast = toasts.addDanger({ title: 'foo', toastLifeTimeMs: undefined }); + expect(toast.toastLifeTimeMs).toEqual(10000); + }); }); describe('#addError', () => { diff --git a/src/core/public/notifications/toasts/toasts_api.tsx b/src/core/public/notifications/toasts/toasts_api.tsx index 5e5d9d5615fd4..5aaea1ca90a56 100644 --- a/src/core/public/notifications/toasts/toasts_api.tsx +++ b/src/core/public/notifications/toasts/toasts_api.tsx @@ -9,6 +9,7 @@ import { EuiGlobalToastListToast as EuiToast } from '@elastic/eui'; import React from 'react'; import * as Rx from 'rxjs'; +import { omitBy, isUndefined } from 'lodash'; import { ErrorToast } from './error_toast'; import { MountPoint } from '../../types'; @@ -75,7 +76,7 @@ const normalizeToast = (toastOrTitle: ToastInput): ToastInputFields => { title: toastOrTitle, }; } - return toastOrTitle; + return omitBy(toastOrTitle, isUndefined); }; /** diff --git a/src/core/public/public.api.md b/src/core/public/public.api.md index 14437602dab3d..c1aeb47d0c622 100644 --- a/src/core/public/public.api.md +++ b/src/core/public/public.api.md @@ -484,7 +484,8 @@ export interface DocLinksStart { readonly settings: string; readonly elasticStackGetStarted: string; readonly upgrade: { - readonly upgradingElasticStack: string; + readonly upgradingStackOnPrem: string; + readonly upgradingStackOnCloud: string; }; readonly apm: { readonly kibanaSettings: string; diff --git a/src/core/server/core_usage_data/core_usage_data_service.mock.ts b/src/core/server/core_usage_data/core_usage_data_service.mock.ts index 941ac5afacb40..d4ba6176cc78b 100644 --- a/src/core/server/core_usage_data/core_usage_data_service.mock.ts +++ b/src/core/server/core_usage_data/core_usage_data_service.mock.ts @@ -138,6 +138,7 @@ const createStartContractMock = () => { alias: 'test_index', primaryStoreSizeBytes: 1, storeSizeBytes: 1, + savedObjectsDocsCount: 1, }, ], legacyUrlAliases: { diff --git a/src/core/server/core_usage_data/core_usage_data_service.test.ts b/src/core/server/core_usage_data/core_usage_data_service.test.ts index 89d83cfdee2b8..bdaa8ae58a807 100644 --- a/src/core/server/core_usage_data/core_usage_data_service.test.ts +++ b/src/core/server/core_usage_data/core_usage_data_service.test.ts @@ -177,6 +177,11 @@ describe('CoreUsageDataService', () => { }, ], } as any); + elasticsearch.client.asInternalUser.count.mockResolvedValueOnce({ + body: { + count: '15', + }, + } as any); elasticsearch.client.asInternalUser.cat.indices.mockResolvedValueOnce({ body: [ { @@ -188,6 +193,11 @@ describe('CoreUsageDataService', () => { }, ], } as any); + elasticsearch.client.asInternalUser.count.mockResolvedValueOnce({ + body: { + count: '10', + }, + } as any); elasticsearch.client.asInternalUser.search.mockResolvedValueOnce({ body: { hits: { total: { value: 6 } }, @@ -343,6 +353,7 @@ describe('CoreUsageDataService', () => { "docsCount": 10, "docsDeleted": 10, "primaryStoreSizeBytes": 2000, + "savedObjectsDocsCount": "15", "storeSizeBytes": 1000, }, Object { @@ -350,6 +361,7 @@ describe('CoreUsageDataService', () => { "docsCount": 20, "docsDeleted": 20, "primaryStoreSizeBytes": 4000, + "savedObjectsDocsCount": "10", "storeSizeBytes": 2000, }, ], diff --git a/src/core/server/core_usage_data/core_usage_data_service.ts b/src/core/server/core_usage_data/core_usage_data_service.ts index 73f63d4d634df..609e7af3946fe 100644 --- a/src/core/server/core_usage_data/core_usage_data_service.ts +++ b/src/core/server/core_usage_data/core_usage_data_service.ts @@ -133,11 +133,11 @@ export class CoreUsageDataService implements CoreService()) .values() - ).map((index) => { + ).map(async (index) => { // The _cat/indices API returns the _index_ and doesn't return a way // to map back from the index to the alias. So we have to make an API - // call for every alias - return elasticsearch.client.asInternalUser.cat + // call for every alias. The document count is the lucene document count. + const catIndicesResults = await elasticsearch.client.asInternalUser.cat .indices({ index, format: 'JSON', @@ -145,6 +145,7 @@ export class CoreUsageDataService implements CoreService { const stats = body[0]; + return { alias: kibanaOrTaskManagerIndex(index, this.kibanaConfig!.index), docsCount: stats['docs.count'] ? parseInt(stats['docs.count'], 10) : 0, @@ -155,6 +156,27 @@ export class CoreUsageDataService implements CoreService/_count API to get the number of saved objects + // to monitor if the cluster will hit the scalling limit of saved object migrations + const savedObjectsCounts = await elasticsearch.client.asInternalUser + .count({ + index, + }) + .then(({ body }) => { + return { + savedObjectsDocsCount: body.count ? body.count : 0, + }; + }); + this.logger.debug( + `Lucene documents count ${catIndicesResults.docsCount} from index ${catIndicesResults.alias}` + ); + this.logger.debug( + `Saved objects documents count ${savedObjectsCounts.savedObjectsDocsCount} from index ${catIndicesResults.alias}` + ); + return { + ...catIndicesResults, + ...savedObjectsCounts, + }; }) ); } diff --git a/src/core/server/core_usage_data/types.ts b/src/core/server/core_usage_data/types.ts index 7d0e9fd362d29..17eade436551d 100644 --- a/src/core/server/core_usage_data/types.ts +++ b/src/core/server/core_usage_data/types.ts @@ -177,6 +177,7 @@ export interface CoreServicesUsageData { docsDeleted: number; storeSizeBytes: number; primaryStoreSizeBytes: number; + savedObjectsDocsCount: number; }[]; legacyUrlAliases: { activeCount: number; diff --git a/src/core/server/deprecations/deprecations_registry.test.ts b/src/core/server/deprecations/deprecations_registry.test.ts index 0e4f48b18a0a9..0f7e2704d934a 100644 --- a/src/core/server/deprecations/deprecations_registry.test.ts +++ b/src/core/server/deprecations/deprecations_registry.test.ts @@ -65,6 +65,25 @@ describe('DeprecationsRegistry', () => { ]); }); + it('rejects deprecations when reaching the timeout', async () => { + const deprecationsRegistry = new DeprecationsRegistry({ timeout: 100 }); + const mockContext = {} as unknown as GetDeprecationsContext; + const deprecationsConfigA = { + getDeprecations: jest.fn().mockReturnValue(new Promise(() => {})), + }; + deprecationsRegistry.registerDeprecations(deprecationsConfigA); + const deprecations = await deprecationsRegistry.getDeprecations(mockContext); + expect(deprecations).toStrictEqual([ + { + status: 'rejected', + reason: expect.any(Error), + }, + ]); + expect((deprecations[0] as PromiseRejectedResult).reason.message).toEqual( + 'Deprecations did not resolve in 10sec.' + ); + }); + it('passes dependencies to registered getDeprecations function', async () => { const deprecationsRegistry = new DeprecationsRegistry(); const mockContext = {} as unknown as GetDeprecationsContext; diff --git a/src/core/server/deprecations/deprecations_registry.ts b/src/core/server/deprecations/deprecations_registry.ts index cc05473923ac8..e979bb94712e6 100644 --- a/src/core/server/deprecations/deprecations_registry.ts +++ b/src/core/server/deprecations/deprecations_registry.ts @@ -6,15 +6,23 @@ * Side Public License, v 1. */ +import { withTimeout, isPromise } from '@kbn/std'; import type { DeprecationsDetails, RegisterDeprecationsConfig, GetDeprecationsContext, } from './types'; +const MsInSec = 1000; + export class DeprecationsRegistry { + private readonly timeout: number; private readonly deprecationContexts: RegisterDeprecationsConfig[] = []; + constructor({ timeout = 10 * MsInSec }: { timeout?: number } = {}) { + this.timeout = timeout; + } + public registerDeprecations = (deprecationContext: RegisterDeprecationsConfig) => { if (typeof deprecationContext.getDeprecations !== 'function') { throw new Error(`getDeprecations must be a function in registerDeprecations(context)`); @@ -27,9 +35,21 @@ export class DeprecationsRegistry { dependencies: GetDeprecationsContext ): Promise>> => { return await Promise.allSettled( - this.deprecationContexts.map( - async (deprecationContext) => await deprecationContext.getDeprecations(dependencies) - ) + this.deprecationContexts.map(async (deprecationContext) => { + const maybePromise = deprecationContext.getDeprecations(dependencies); + if (isPromise(maybePromise)) { + const resultOrTimeout = await withTimeout({ + promise: maybePromise, + timeoutMs: this.timeout, + }); + if (resultOrTimeout.timedout) { + throw new Error('Deprecations did not resolve in 10sec.'); + } + return resultOrTimeout.value; + } else { + return maybePromise; + } + }) ); }; } diff --git a/src/core/server/elasticsearch/client/cluster_client.test.ts b/src/core/server/elasticsearch/client/cluster_client.test.ts index f96f39349887e..b9fb8a21f0a8b 100644 --- a/src/core/server/elasticsearch/client/cluster_client.test.ts +++ b/src/core/server/elasticsearch/client/cluster_client.test.ts @@ -144,13 +144,13 @@ describe('ClusterClient', () => { }); }); - it('creates a scoped facade with filtered auth headers', () => { + it('does not filter auth headers', () => { const config = createConfig({ requestHeadersWhitelist: ['authorization'], }); getAuthHeaders.mockReturnValue({ authorization: 'auth', - other: 'nope', + other: 'yep', }); const clusterClient = new ClusterClient(config, logger, 'custom-type', getAuthHeaders); @@ -160,7 +160,12 @@ describe('ClusterClient', () => { expect(scopedClient.child).toHaveBeenCalledTimes(1); expect(scopedClient.child).toHaveBeenCalledWith({ - headers: { ...DEFAULT_HEADERS, authorization: 'auth', 'x-opaque-id': expect.any(String) }, + headers: { + ...DEFAULT_HEADERS, + authorization: 'auth', + other: 'yep', + 'x-opaque-id': expect.any(String), + }, }); }); @@ -170,7 +175,7 @@ describe('ClusterClient', () => { }); getAuthHeaders.mockReturnValue({ authorization: 'auth', - other: 'nope', + other: 'yep', }); const clusterClient = new ClusterClient(config, logger, 'custom-type', getAuthHeaders); @@ -184,7 +189,12 @@ describe('ClusterClient', () => { expect(scopedClient.child).toHaveBeenCalledTimes(1); expect(scopedClient.child).toHaveBeenCalledWith({ - headers: { ...DEFAULT_HEADERS, authorization: 'auth', 'x-opaque-id': expect.any(String) }, + headers: { + ...DEFAULT_HEADERS, + authorization: 'auth', + other: 'yep', + 'x-opaque-id': expect.any(String), + }, }); }); diff --git a/src/core/server/elasticsearch/client/cluster_client.ts b/src/core/server/elasticsearch/client/cluster_client.ts index f81b651843013..9086fe464dbbe 100644 --- a/src/core/server/elasticsearch/client/cluster_client.ts +++ b/src/core/server/elasticsearch/client/cluster_client.ts @@ -54,7 +54,6 @@ export interface ICustomClusterClient extends IClusterClient { export class ClusterClient implements ICustomClusterClient { public readonly asInternalUser: Client; private readonly rootScopedClient: Client; - private readonly allowListHeaders: string[]; private isClosed = false; @@ -72,8 +71,6 @@ export class ClusterClient implements ICustomClusterClient { getExecutionContext, scoped: true, }); - - this.allowListHeaders = ['x-opaque-id', ...this.config.requestHeadersWhitelist]; } asScoped(request: ScopeableRequest) { @@ -95,14 +92,15 @@ export class ClusterClient implements ICustomClusterClient { private getScopedHeaders(request: ScopeableRequest): Headers { let scopedHeaders: Headers; if (isRealRequest(request)) { - const requestHeaders = ensureRawRequest(request).headers; + const requestHeaders = ensureRawRequest(request).headers ?? {}; const requestIdHeaders = isKibanaRequest(request) ? { 'x-opaque-id': request.id } : {}; - const authHeaders = this.getAuthHeaders(request); + const authHeaders = this.getAuthHeaders(request) ?? {}; - scopedHeaders = filterHeaders( - { ...requestHeaders, ...requestIdHeaders, ...authHeaders }, - this.allowListHeaders - ); + scopedHeaders = { + ...filterHeaders(requestHeaders, this.config.requestHeadersWhitelist), + ...requestIdHeaders, + ...authHeaders, + }; } else { scopedHeaders = filterHeaders(request?.headers ?? {}, this.config.requestHeadersWhitelist); } diff --git a/src/core/server/elasticsearch/client/get_ecs_response_log.test.ts b/src/core/server/elasticsearch/client/get_ecs_response_log.test.ts new file mode 100644 index 0000000000000..7ab70bc91bcb5 --- /dev/null +++ b/src/core/server/elasticsearch/client/get_ecs_response_log.test.ts @@ -0,0 +1,129 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import type { RequestEvent } from '@elastic/elasticsearch'; +import type { TransportRequestParams } from '@elastic/elasticsearch/lib/Transport'; +import { getEcsResponseLog } from './get_ecs_response_log'; + +interface ResponseFixtureOptions { + requestParams?: Partial; + + response?: { + body?: any; + headers?: Record; + statusCode?: number; + }; +} + +function createResponseEvent({ + requestParams = {}, + response = {}, +}: ResponseFixtureOptions = {}): RequestEvent { + return { + body: response.body ?? {}, + statusCode: response.statusCode ?? 200, + headers: response.headers ?? {}, + meta: { + request: { + params: { + method: requestParams.method ?? 'get', + path: requestParams.path ?? '/path', + querystring: requestParams.querystring ?? '?wait_for_completion=true', + }, + options: { + id: '42', + }, + id: '42', + } as RequestEvent['meta']['request'], + } as RequestEvent['meta'], + warnings: null, + }; +} + +describe('getEcsResponseLog', () => { + describe('filters sensitive headers', () => { + test('redacts Authorization and Cookie headers by default', () => { + const event = createResponseEvent({ + response: { headers: { 'content-length': '123', 'set-cookie': 'c' } }, + }); + const log = getEcsResponseLog(event); + + // @ts-expect-error ECS custom field + expect(log.http.response.headers).toMatchInlineSnapshot(` + Object { + "content-length": "123", + "set-cookie": "[REDACTED]", + } + `); + }); + + test('does not mutate original headers', () => { + const resHeaders = { c: 'bar' }; + const event = createResponseEvent({ + response: { headers: resHeaders }, + }); + + const log = getEcsResponseLog(event); + + expect(resHeaders).toMatchInlineSnapshot(` + Object { + "c": "bar", + } + `); + + // @ts-expect-error ECS custom field + log.http.response.headers.c = 'testC'; + expect(resHeaders).toMatchInlineSnapshot(` + Object { + "c": "bar", + } + `); + }); + + test('does not mutate original headers when redacting sensitive data', () => { + const resHeaders = { 'content-length': '123', 'set-cookie': 'c' }; + const event = createResponseEvent({ + response: { headers: resHeaders }, + }); + getEcsResponseLog(event); + + expect(resHeaders).toMatchInlineSnapshot(` + Object { + "content-length": "123", + "set-cookie": "c", + } + `); + }); + }); + + describe('ecs', () => { + test('provides an ECS-compatible response', () => { + const event = createResponseEvent(); + const result = getEcsResponseLog(event, 123); + expect(result).toMatchInlineSnapshot(` + Object { + "http": Object { + "request": Object { + "id": undefined, + "method": "GET", + }, + "response": Object { + "body": Object { + "bytes": 123, + }, + "headers": Object {}, + "status_code": 200, + }, + }, + "url": Object { + "path": "/path", + }, + } + `); + }); + }); +}); diff --git a/src/core/server/elasticsearch/client/get_ecs_response_log.ts b/src/core/server/elasticsearch/client/get_ecs_response_log.ts new file mode 100644 index 0000000000000..d25fdb7028556 --- /dev/null +++ b/src/core/server/elasticsearch/client/get_ecs_response_log.ts @@ -0,0 +1,61 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import type { IncomingHttpHeaders } from 'http'; +import type { RequestEvent } from '@elastic/elasticsearch'; +import type { LogMeta } from '@kbn/logging'; + +const FORBIDDEN_HEADERS = ['authorization', 'cookie', 'set-cookie']; +const REDACTED_HEADER_TEXT = '[REDACTED]'; + +// We are excluding sensitive headers by default, until we have a log filtering mechanism. +function redactSensitiveHeaders(key: string, value: string | string[]): string | string[] { + return FORBIDDEN_HEADERS.includes(key) ? REDACTED_HEADER_TEXT : value; +} + +// Shallow clone the headers so they are not mutated if filtered by a RewriteAppender. +function cloneAndFilterHeaders(headers?: IncomingHttpHeaders) { + const result = {} as IncomingHttpHeaders; + if (headers) { + for (const key of Object.keys(headers)) { + const value = headers[key]; + if (value) { + result[key] = redactSensitiveHeaders(key, value); + } + } + } + return result; +} + +/** + * Retruns ECS-compliant `LogMeta` for logging. + * + * @internal + */ +export function getEcsResponseLog(event: RequestEvent, bytes?: number): LogMeta { + const meta: LogMeta = { + http: { + request: { + id: event.meta.request.options.opaqueId, + method: event.meta.request.params.method.toUpperCase(), + }, + response: { + body: { + bytes, + }, + status_code: event.statusCode || undefined, + // @ts-expect-error ECS custom field: https://github.com/elastic/ecs/issues/232. + headers: cloneAndFilterHeaders(event.headers), + }, + }, + url: { + path: event.meta.request.params.path, + }, + }; + + return meta; +} diff --git a/src/core/server/elasticsearch/client/log_query_and_deprecation.test.ts b/src/core/server/elasticsearch/client/log_query_and_deprecation.test.ts index 86655556bd16f..e82c94eac2b48 100644 --- a/src/core/server/elasticsearch/client/log_query_and_deprecation.test.ts +++ b/src/core/server/elasticsearch/client/log_query_and_deprecation.test.ts @@ -10,7 +10,6 @@ import { Buffer } from 'buffer'; import { Readable } from 'stream'; import { Client, errors } from '@elastic/elasticsearch'; - import { parseClientOptionsMock, ClientMock } from './configure_client.test.mocks'; import { loggingSystemMock } from '../../logging/logging_system.mock'; import { instrumentEsQueryAndDeprecationLogger } from './log_query_and_deprecation'; @@ -26,7 +25,7 @@ const createApiResponse = ({ statusCode = 200, headers = {}, warnings = null, - params, + params = { method: 'GET', path: '/path', querystring: '?wait_for_completion=true' }, requestOptions = {}, }: { body: T; @@ -76,10 +75,14 @@ describe('instrumentQueryAndDeprecationLogger', () => { jest.clearAllMocks(); }); - function createResponseWithBody(body?: RequestBody) { + function createResponseWithBody( + body?: RequestBody, + params?: { headers?: Record } + ) { return createApiResponse({ body: {}, statusCode: 200, + headers: params?.headers ?? {}, params: { method: 'GET', path: '/foo', @@ -106,15 +109,10 @@ describe('instrumentQueryAndDeprecationLogger', () => { }); client.emit('response', null, response); - expect(loggingSystemMock.collect(logger).debug).toMatchInlineSnapshot(` - Array [ - Array [ - "200 + expect(loggingSystemMock.collect(logger).debug[0][0]).toMatchInlineSnapshot(` + "200 GET /foo?hello=dolly - {\\"seq_no_primary_term\\":true,\\"query\\":{\\"term\\":{\\"user\\":\\"kimchy\\"}}}", - undefined, - ], - ] + {\\"seq_no_primary_term\\":true,\\"query\\":{\\"term\\":{\\"user\\":\\"kimchy\\"}}}" `); }); @@ -131,15 +129,10 @@ describe('instrumentQueryAndDeprecationLogger', () => { ); client.emit('response', null, response); - expect(loggingSystemMock.collect(logger).debug).toMatchInlineSnapshot(` - Array [ - Array [ - "200 + expect(loggingSystemMock.collect(logger).debug[0][0]).toMatchInlineSnapshot(` + "200 GET /foo?hello=dolly - {\\"seq_no_primary_term\\":true,\\"query\\":{\\"term\\":{\\"user\\":\\"kimchy\\"}}}", - undefined, - ], - ] + {\\"seq_no_primary_term\\":true,\\"query\\":{\\"term\\":{\\"user\\":\\"kimchy\\"}}}" `); }); @@ -158,15 +151,10 @@ describe('instrumentQueryAndDeprecationLogger', () => { ); client.emit('response', null, response); - expect(loggingSystemMock.collect(logger).debug).toMatchInlineSnapshot(` - Array [ - Array [ - "200 + expect(loggingSystemMock.collect(logger).debug[0][0]).toMatchInlineSnapshot(` + "200 GET /foo?hello=dolly - [buffer]", - undefined, - ], - ] + [buffer]" `); }); @@ -185,15 +173,10 @@ describe('instrumentQueryAndDeprecationLogger', () => { ); client.emit('response', null, response); - expect(loggingSystemMock.collect(logger).debug).toMatchInlineSnapshot(` - Array [ - Array [ - "200 + expect(loggingSystemMock.collect(logger).debug[0][0]).toMatchInlineSnapshot(` + "200 GET /foo?hello=dolly - [stream]", - undefined, - ], - ] + [stream]" `); }); @@ -203,14 +186,9 @@ describe('instrumentQueryAndDeprecationLogger', () => { const response = createResponseWithBody(); client.emit('response', null, response); - expect(loggingSystemMock.collect(logger).debug).toMatchInlineSnapshot(` - Array [ - Array [ - "200 - GET /foo?hello=dolly", - undefined, - ], - ] + expect(loggingSystemMock.collect(logger).debug[0][0]).toMatchInlineSnapshot(` + "200 + GET /foo?hello=dolly" `); }); @@ -229,14 +207,9 @@ describe('instrumentQueryAndDeprecationLogger', () => { client.emit('response', null, response); - expect(loggingSystemMock.collect(logger).debug).toMatchInlineSnapshot(` - Array [ - Array [ - "200 - GET /foo?city=M%C3%BCnich", - undefined, - ], - ] + expect(loggingSystemMock.collect(logger).debug[0][0]).toMatchInlineSnapshot(` + "200 + GET /foo?city=M%C3%BCnich" `); }); @@ -264,15 +237,10 @@ describe('instrumentQueryAndDeprecationLogger', () => { }); client.emit('response', new errors.ResponseError(response), response); - expect(loggingSystemMock.collect(logger).debug).toMatchInlineSnapshot(` - Array [ - Array [ - "500 + expect(loggingSystemMock.collect(logger).debug[0][0]).toMatchInlineSnapshot(` + "500 GET /foo?hello=dolly - {\\"seq_no_primary_term\\":true,\\"query\\":{\\"term\\":{\\"user\\":\\"kimchy\\"}}} [internal server error]: internal server error", - undefined, - ], - ] + {\\"seq_no_primary_term\\":true,\\"query\\":{\\"term\\":{\\"user\\":\\"kimchy\\"}}} [internal server error]: internal server error" `); }); @@ -282,14 +250,9 @@ describe('instrumentQueryAndDeprecationLogger', () => { const response = createApiResponse({ body: {} }); client.emit('response', new errors.TimeoutError('message', response), response); - expect(loggingSystemMock.collect(logger).debug).toMatchInlineSnapshot(` - Array [ - Array [ - "[TimeoutError]: message", - undefined, - ], - ] - `); + expect(loggingSystemMock.collect(logger).debug[0][0]).toMatchInlineSnapshot( + `"[TimeoutError]: message"` + ); }); it('logs debug when the client emits an ResponseError returned by elasticsearch', () => { @@ -312,14 +275,9 @@ describe('instrumentQueryAndDeprecationLogger', () => { }); client.emit('response', new errors.ResponseError(response), response); - expect(loggingSystemMock.collect(logger).debug).toMatchInlineSnapshot(` - Array [ - Array [ - "400 - GET /_path?hello=dolly [illegal_argument_exception]: request [/_path] contains unrecognized parameter: [name]", - undefined, - ], - ] + expect(loggingSystemMock.collect(logger).debug[0][0]).toMatchInlineSnapshot(` + "400 + GET /_path?hello=dolly [illegal_argument_exception]: request [/_path] contains unrecognized parameter: [name]" `); }); @@ -339,14 +297,9 @@ describe('instrumentQueryAndDeprecationLogger', () => { }); client.emit('response', new errors.ResponseError(response), response); - expect(loggingSystemMock.collect(logger).debug).toMatchInlineSnapshot(` - Array [ - Array [ - "400 - GET /_path [undefined]: {\\"error\\":{}}", - undefined, - ], - ] + expect(loggingSystemMock.collect(logger).debug[0][0]).toMatchInlineSnapshot(` + "400 + GET /_path [undefined]: {\\"error\\":{}}" `); logger.debug.mockClear(); @@ -362,14 +315,9 @@ describe('instrumentQueryAndDeprecationLogger', () => { }); client.emit('response', new errors.ResponseError(response), response); - expect(loggingSystemMock.collect(logger).debug).toMatchInlineSnapshot(` - Array [ - Array [ - "400 - GET /_path [undefined]: Response Error", - undefined, - ], - ] + expect(loggingSystemMock.collect(logger).debug[0][0]).toMatchInlineSnapshot(` + "400 + GET /_path [undefined]: Response Error" `); }); @@ -397,8 +345,19 @@ describe('instrumentQueryAndDeprecationLogger', () => { "http": Object { "request": Object { "id": "opaque-id", + "method": "GET", + }, + "response": Object { + "body": Object { + "bytes": undefined, + }, + "headers": Object {}, + "status_code": 400, }, }, + "url": Object { + "path": "/_path", + }, } `); @@ -423,11 +382,45 @@ describe('instrumentQueryAndDeprecationLogger', () => { "http": Object { "request": Object { "id": "opaque-id", + "method": "GET", + }, + "response": Object { + "body": Object { + "bytes": undefined, + }, + "headers": Object {}, + "status_code": 400, }, }, + "url": Object { + "path": "/_path", + }, } `); }); + + it('logs response size', () => { + instrumentEsQueryAndDeprecationLogger({ logger, client, type: 'test type' }); + + const response = createResponseWithBody( + { + seq_no_primary_term: true, + query: { + term: { user: 'kimchy' }, + }, + }, + { + headers: { 'content-length': '12345678' }, + } + ); + + client.emit('response', null, response); + expect(loggingSystemMock.collect(logger).debug[0][0]).toMatchInlineSnapshot(` + "200 - 11.8MB + GET /foo?hello=dolly + {\\"seq_no_primary_term\\":true,\\"query\\":{\\"term\\":{\\"user\\":\\"kimchy\\"}}}" + `); + }); }); describe('deprecation warnings from response headers', () => { @@ -539,13 +532,12 @@ describe('instrumentQueryAndDeprecationLogger', () => { }); client.emit('response', new errors.ResponseError(response), response); - // One debug log entry from 'elasticsearch.query' context - expect(loggingSystemMock.collect(logger).debug.length).toEqual(1); - expect(loggingSystemMock.collect(logger).info[0][0]).toMatch( + // Test debug[1] since theree is one log entry from 'elasticsearch.query' context + expect(loggingSystemMock.collect(logger).debug[1][0]).toMatch( 'Elasticsearch deprecation: 299 Elasticsearch-8.1.0 "GET /_path is deprecated"' ); - expect(loggingSystemMock.collect(logger).info[0][0]).toMatch('Origin:kibana'); - expect(loggingSystemMock.collect(logger).info[0][0]).toMatch( + expect(loggingSystemMock.collect(logger).debug[1][0]).toMatch('Origin:kibana'); + expect(loggingSystemMock.collect(logger).debug[1][0]).toMatch( /Query:\n.*400\n.*GET \/_path\?hello\=dolly \[illegal_argument_exception\]: request \[\/_path\] contains unrecognized parameter: \[name\]/ ); }); @@ -571,7 +563,6 @@ describe('instrumentQueryAndDeprecationLogger', () => { }); client.emit('response', null, response); - expect(loggingSystemMock.collect(logger).info).toEqual([]); // Test debug[1] since theree is one log entry from 'elasticsearch.query' context expect(loggingSystemMock.collect(logger).debug[1][0]).toMatch( 'Elasticsearch deprecation: 299 Elasticsearch-8.1.0 "GET /_path is deprecated"' @@ -605,13 +596,12 @@ describe('instrumentQueryAndDeprecationLogger', () => { }); client.emit('response', null, response); - // One debug log entry from 'elasticsearch.query' context - expect(loggingSystemMock.collect(logger).debug.length).toEqual(1); - expect(loggingSystemMock.collect(logger).info[0][0]).toMatch( + // Test debug[1] since theree is one log entry from 'elasticsearch.query' context + expect(loggingSystemMock.collect(logger).debug[1][0]).toMatch( 'Elasticsearch deprecation: 299 Elasticsearch-8.1.0 "GET /_path is deprecated"' ); - expect(loggingSystemMock.collect(logger).info[0][0]).toMatch('Origin:kibana'); - expect(loggingSystemMock.collect(logger).info[0][0]).toMatch( + expect(loggingSystemMock.collect(logger).debug[1][0]).toMatch('Origin:kibana'); + expect(loggingSystemMock.collect(logger).debug[1][0]).toMatch( /Query:\n.*200\n.*GET \/_path\?hello\=dolly/ ); }); diff --git a/src/core/server/elasticsearch/client/log_query_and_deprecation.ts b/src/core/server/elasticsearch/client/log_query_and_deprecation.ts index 85d0518d9baea..e3492135e8b21 100644 --- a/src/core/server/elasticsearch/client/log_query_and_deprecation.ts +++ b/src/core/server/elasticsearch/client/log_query_and_deprecation.ts @@ -5,11 +5,13 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ - +import type { IncomingHttpHeaders } from 'http'; import { Buffer } from 'buffer'; import { stringify } from 'querystring'; import { errors, Client, ApiError, RequestEvent } from '@elastic/elasticsearch'; import { RequestBody } from '@elastic/elasticsearch/lib/Transport'; +import numeral from '@elastic/numeral'; +import { getEcsResponseLog } from './get_ecs_response_log'; import { Logger } from '../../logging'; const convertQueryString = (qs: string | Record | undefined): string => { @@ -37,6 +39,14 @@ export function getErrorMessage(error: ApiError): string { return `[${error.name}]: ${error.message}`; } +function getContentLength(headers?: IncomingHttpHeaders | null): number | undefined { + const contentLength = headers && headers['content-length']; + if (contentLength) { + const val = parseInt(contentLength, 10); + return !isNaN(val) ? val : undefined; + } +} + /** * returns a string in format: * @@ -46,10 +56,10 @@ export function getErrorMessage(error: ApiError): string { * * so it could be copy-pasted into the Dev console */ -function getResponseMessage(event: RequestEvent): string { +function getResponseMessage(event: RequestEvent, bytesMsg: string): string { const errorMeta = getRequestDebugMeta(event); const body = errorMeta.body ? `\n${errorMeta.body}` : ''; - return `${errorMeta.statusCode}\n${errorMeta.method} ${errorMeta.url}${body}`; + return `${errorMeta.statusCode}${bytesMsg}\n${errorMeta.method} ${errorMeta.url}${body}`; } /** @@ -92,21 +102,19 @@ export const instrumentEsQueryAndDeprecationLogger = ({ const deprecationLogger = logger.get('deprecation'); client.on('response', (error, event) => { if (event) { - const opaqueId = event.meta.request.options.opaqueId; - const meta = opaqueId - ? { - http: { request: { id: event.meta.request.options.opaqueId } }, - } - : undefined; // do not clutter logs if opaqueId is not present + const bytes = getContentLength(event.headers); + const bytesMsg = bytes ? ` - ${numeral(bytes).format('0.0b')}` : ''; + const meta = getEcsResponseLog(event, bytes); + let queryMsg = ''; if (error) { if (error instanceof errors.ResponseError) { - queryMsg = `${getResponseMessage(event)} ${getErrorMessage(error)}`; + queryMsg = `${getResponseMessage(event, bytesMsg)} ${getErrorMessage(error)}`; } else { queryMsg = getErrorMessage(error); } } else { - queryMsg = getResponseMessage(event); + queryMsg = getResponseMessage(event, bytesMsg); } queryLogger.debug(queryMsg, meta); @@ -128,12 +136,9 @@ export const instrumentEsQueryAndDeprecationLogger = ({ ? 'kibana' : 'user'; - const deprecationMsg = `Elasticsearch deprecation: ${event.warnings}\nOrigin:${requestOrigin}\nQuery:\n${queryMsg}`; - if (requestOrigin === 'kibana') { - deprecationLogger.info(deprecationMsg); - } else { - deprecationLogger.debug(deprecationMsg); - } + deprecationLogger.debug( + `Elasticsearch deprecation: ${event.warnings}\nOrigin:${requestOrigin}\nQuery:\n${queryMsg}` + ); } } }); diff --git a/src/core/server/elasticsearch/elasticsearch_config.test.ts b/src/core/server/elasticsearch/elasticsearch_config.test.ts index 562d25c41caeb..69245de4001cf 100644 --- a/src/core/server/elasticsearch/elasticsearch_config.test.ts +++ b/src/core/server/elasticsearch/elasticsearch_config.test.ts @@ -289,22 +289,24 @@ describe('throws when config is invalid', () => { }); describe('deprecations', () => { - it('logs a warning if elasticsearch.username is set to "elastic"', () => { - const { messages } = applyElasticsearchDeprecations({ username: 'elastic' }); + it('logs a critical deprecation if elasticsearch.username is set to "elastic"', () => { + const { messages, levels } = applyElasticsearchDeprecations({ username: 'elastic' }); expect(messages).toMatchInlineSnapshot(` Array [ "Kibana is configured to authenticate to Elasticsearch with the \\"elastic\\" user. Use a service account token instead.", ] `); + expect(levels).toEqual(['critical']); }); it('logs a warning if elasticsearch.username is set to "kibana"', () => { - const { messages } = applyElasticsearchDeprecations({ username: 'kibana' }); + const { messages, levels } = applyElasticsearchDeprecations({ username: 'kibana' }); expect(messages).toMatchInlineSnapshot(` Array [ "Kibana is configured to authenticate to Elasticsearch with the \\"kibana\\" user. Use a service account token instead.", ] `); + expect(levels).toEqual(['warning']); }); it('does not log a warning if elasticsearch.username is set to something besides "elastic" or "kibana"', () => { diff --git a/src/core/server/elasticsearch/elasticsearch_config.ts b/src/core/server/elasticsearch/elasticsearch_config.ts index ef5d05c8d2280..5108418593623 100644 --- a/src/core/server/elasticsearch/elasticsearch_config.ts +++ b/src/core/server/elasticsearch/elasticsearch_config.ts @@ -147,6 +147,7 @@ const deprecations: ConfigDeprecationProvider = () => [ if (es.username === 'elastic' || es.username === 'kibana') { const username = es.username; + const level = es.username === 'elastic' ? 'critical' : 'warning'; addDeprecation({ configPath: `${fromPath}.username`, title: i18n.translate('core.deprecations.elasticsearchUsername.title', { @@ -158,16 +159,17 @@ const deprecations: ConfigDeprecationProvider = () => [ 'Kibana is configured to authenticate to Elasticsearch with the "{username}" user. Use a service account token instead.', values: { username }, }), - level: 'warning', + level, documentationUrl: `https://www.elastic.co/guide/en/elasticsearch/reference/${branch}/service-accounts.html`, correctiveActions: { manualSteps: [ i18n.translate('core.deprecations.elasticsearchUsername.manualSteps1', { defaultMessage: - 'Use the elasticsearch-service-tokens CLI tool to create a new service account token for the "elastic/kibana" service account.', + 'Use Kibana Dev Tools to create a service account token using the API: "POST /_security/service/elastic/kibana/credential/token"', }), i18n.translate('core.deprecations.elasticsearchUsername.manualSteps2', { - defaultMessage: 'Add the "elasticsearch.serviceAccountToken" setting to kibana.yml.', + defaultMessage: + 'Copy the returned token.value and add it as the "elasticsearch.serviceAccountToken" setting to kibana.yml.', }), i18n.translate('core.deprecations.elasticsearchUsername.manualSteps3', { defaultMessage: diff --git a/src/core/server/elasticsearch/integration_tests/es_kibana_version_compatibility.test.ts b/src/core/server/elasticsearch/integration_tests/es_kibana_version_compatibility.test.ts new file mode 100644 index 0000000000000..3c8faffc84d13 --- /dev/null +++ b/src/core/server/elasticsearch/integration_tests/es_kibana_version_compatibility.test.ts @@ -0,0 +1,52 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { + createTestServers, + TestElasticsearchUtils, + TestKibanaUtils, +} from '../../../test_helpers/kbn_server'; + +// Temporarily skipped until https://github.com/elastic/kibana/pull/123337 is backported +describe.skip('esVersionCompatibleWithKibana', () => { + let esServer: TestElasticsearchUtils; + let kibanaServer: TestKibanaUtils; + + afterEach(async () => { + if (kibanaServer) { + await kibanaServer.stop(); + } + if (esServer) { + await esServer.stop(); + } + }); + + const start = async ({ esArgs = [], version }: { esArgs?: string[]; version?: string } = {}) => { + const { startES, startKibana } = createTestServers({ + adjustTimeout: jest.setTimeout, + settings: { + es: { + version, + esArgs, + }, + }, + }); + + esServer = await startES(); + return { startKibana }; + }; + + it('successfully starts Kibana 7.17.x against Elasticsearch 8.0.0', async () => { + const { startKibana } = await start({ version: '8.0.0' }); + const startWithCleanup = async () => { + kibanaServer = await startKibana(); + return kibanaServer; + }; + await expect(startWithCleanup()).resolves.toBeDefined(); + }); +}); diff --git a/src/core/server/elasticsearch/version_check/ensure_es_version.test.ts b/src/core/server/elasticsearch/version_check/ensure_es_version.test.ts index 70166704679fe..4f17d5b2e52d5 100644 --- a/src/core/server/elasticsearch/version_check/ensure_es_version.test.ts +++ b/src/core/server/elasticsearch/version_check/ensure_es_version.test.ts @@ -69,11 +69,11 @@ describe('mapNodesVersionCompatibility', () => { }); it('returns isCompatible=false for an incompatible node without http publish address', async () => { - const nodesInfo = createNodesInfoWithoutHTTP('6.1.1'); + const nodesInfo = createNodesInfoWithoutHTTP('7.1.1'); const result = mapNodesVersionCompatibility(nodesInfo, KIBANA_VERSION, false); expect(result.isCompatible).toBe(false); expect(result.message).toMatchInlineSnapshot( - `"This version of Kibana (v5.1.0) is incompatible with the following Elasticsearch nodes in your cluster: v6.1.1 @ undefined (ip)"` + `"This version of Kibana (v5.1.0) is incompatible with the following Elasticsearch nodes in your cluster: v7.1.1 @ undefined (ip)"` ); }); diff --git a/src/core/server/elasticsearch/version_check/es_kibana_version_compatability.test.ts b/src/core/server/elasticsearch/version_check/es_kibana_version_compatability.test.ts index 3aa93435982dc..d4391e78655fd 100644 --- a/src/core/server/elasticsearch/version_check/es_kibana_version_compatability.test.ts +++ b/src/core/server/elasticsearch/version_check/es_kibana_version_compatability.test.ts @@ -8,38 +8,42 @@ import { esVersionCompatibleWithKibana } from './es_kibana_version_compatability'; -describe('plugins/elasticsearch', () => { - describe('lib/is_es_compatible_with_kibana', () => { - describe('returns false', () => { - it('when ES major is greater than Kibana major', () => { - expect(esVersionCompatibleWithKibana('1.0.0', '0.0.0')).toBe(false); - }); - - it('when ES major is less than Kibana major', () => { - expect(esVersionCompatibleWithKibana('0.0.0', '1.0.0')).toBe(false); - }); - - it('when majors are equal, but ES minor is less than Kibana minor', () => { - expect(esVersionCompatibleWithKibana('1.0.0', '1.1.0')).toBe(false); - }); - }); - - describe('returns true', () => { - it('when version numbers are the same', () => { - expect(esVersionCompatibleWithKibana('1.1.1', '1.1.1')).toBe(true); - }); - - it('when majors are equal, and ES minor is greater than Kibana minor', () => { - expect(esVersionCompatibleWithKibana('1.1.0', '1.0.0')).toBe(true); - }); - - it('when majors and minors are equal, and ES patch is greater than Kibana patch', () => { - expect(esVersionCompatibleWithKibana('1.1.1', '1.1.0')).toBe(true); - }); - - it('when majors and minors are equal, but ES patch is less than Kibana patch', () => { - expect(esVersionCompatibleWithKibana('1.1.0', '1.1.1')).toBe(true); - }); +describe('esVersionCompatibleWithKibana', () => { + describe('returns false', () => { + it('when ES major is greater than Kibana major + 1', () => { + expect(esVersionCompatibleWithKibana('2.0.0', '0.0.0')).toBe(false); + }); + + it('when ES major is less than Kibana major', () => { + expect(esVersionCompatibleWithKibana('0.0.0', '1.0.0')).toBe(false); + }); + + it('when majors are equal, but ES minor is less than Kibana minor', () => { + expect(esVersionCompatibleWithKibana('1.0.0', '1.1.0')).toBe(false); + }); + }); + + describe('returns true', () => { + it('when version numbers are the same', () => { + expect(esVersionCompatibleWithKibana('1.1.1', '1.1.1')).toBe(true); + }); + + it('when majors are equal, and ES minor is greater than Kibana minor', () => { + expect(esVersionCompatibleWithKibana('1.1.0', '1.0.0')).toBe(true); + }); + + it('when majors and minors are equal, and ES patch is greater than Kibana patch', () => { + expect(esVersionCompatibleWithKibana('1.1.1', '1.1.0')).toBe(true); + }); + + it('when majors and minors are equal, but ES patch is less than Kibana patch', () => { + expect(esVersionCompatibleWithKibana('1.1.0', '1.1.1')).toBe(true); + }); + + it('when ES major is Kibana major + 1', () => { + expect(esVersionCompatibleWithKibana('1.0.0', '0.0.0')).toBe(true); + expect(esVersionCompatibleWithKibana('1.0.0', '0.7.0')).toBe(true); + expect(esVersionCompatibleWithKibana('1.9.2', '0.7.12')).toBe(true); }); }); }); diff --git a/src/core/server/elasticsearch/version_check/es_kibana_version_compatability.ts b/src/core/server/elasticsearch/version_check/es_kibana_version_compatability.ts index accf4edc0226e..ac4dd599780c7 100644 --- a/src/core/server/elasticsearch/version_check/es_kibana_version_compatability.ts +++ b/src/core/server/elasticsearch/version_check/es_kibana_version_compatability.ts @@ -26,6 +26,11 @@ export function esVersionCompatibleWithKibana(esVersion: string, kibanaVersion: patch: semver.patch(kibanaVersion), }; + // On 7.17: Accept the next major version of ES. + if (esVersionNumbers.major === kibanaVersionNumbers.major + 1) { + return true; + } + // Reject mismatching major version numbers. if (esVersionNumbers.major !== kibanaVersionNumbers.major) { return false; diff --git a/src/core/server/environment/resolve_uuid.test.ts b/src/core/server/environment/resolve_uuid.test.ts index 3ee65e8ac99cf..75a229bb13e12 100644 --- a/src/core/server/environment/resolve_uuid.test.ts +++ b/src/core/server/environment/resolve_uuid.test.ts @@ -22,8 +22,8 @@ jest.mock('./fs', () => ({ writeFile: jest.fn(() => Promise.resolve('')), })); -const DEFAULT_FILE_UUID = 'FILE_UUID'; -const DEFAULT_CONFIG_UUID = 'CONFIG_UUID'; +const DEFAULT_FILE_UUID = 'ffffffff-bbbb-0ccc-0ddd-eeeeeeeeeeee'; +const DEFAULT_CONFIG_UUID = 'cccccccc-bbbb-0ccc-0ddd-eeeeeeeeeeee'; const fileNotFoundError = { code: 'ENOENT' }; const permissionError = { code: 'EACCES' }; const isDirectoryError = { code: 'EISDIR' }; @@ -91,7 +91,7 @@ describe('resolveInstanceUuid', () => { expect(logger.debug).toHaveBeenCalledTimes(1); expect(logger.debug.mock.calls[0]).toMatchInlineSnapshot(` Array [ - "Updating Kibana instance UUID to: CONFIG_UUID (was: FILE_UUID)", + "Updating Kibana instance UUID to: cccccccc-bbbb-0ccc-0ddd-eeeeeeeeeeee (was: ffffffff-bbbb-0ccc-0ddd-eeeeeeeeeeee)", ] `); }); @@ -106,7 +106,7 @@ describe('resolveInstanceUuid', () => { expect(logger.debug).toHaveBeenCalledTimes(1); expect(logger.debug.mock.calls[0]).toMatchInlineSnapshot(` Array [ - "Kibana instance UUID: CONFIG_UUID", + "Kibana instance UUID: cccccccc-bbbb-0ccc-0ddd-eeeeeeeeeeee", ] `); }); @@ -126,25 +126,45 @@ describe('resolveInstanceUuid', () => { expect(logger.debug).toHaveBeenCalledTimes(1); expect(logger.debug.mock.calls[0]).toMatchInlineSnapshot(` Array [ - "Setting new Kibana instance UUID: CONFIG_UUID", + "Setting new Kibana instance UUID: cccccccc-bbbb-0ccc-0ddd-eeeeeeeeeeee", ] `); }); }); describe('when file is present and config property is not set', () => { - it('does not write to file and returns the file uuid', async () => { + beforeEach(() => { serverConfig = createServerConfig(undefined); + }); + + it('does not write to file and returns the file uuid', async () => { const uuid = await resolveInstanceUuid({ pathConfig, serverConfig, logger }); expect(uuid).toEqual(DEFAULT_FILE_UUID); expect(writeFile).not.toHaveBeenCalled(); expect(logger.debug).toHaveBeenCalledTimes(1); expect(logger.debug.mock.calls[0]).toMatchInlineSnapshot(` Array [ - "Resuming persistent Kibana instance UUID: FILE_UUID", + "Resuming persistent Kibana instance UUID: ffffffff-bbbb-0ccc-0ddd-eeeeeeeeeeee", ] `); }); + + describe('when file contains an invalid uuid', () => { + it('throws an explicit error for uuid formatting', async () => { + mockReadFile({ uuid: 'invalid uuid in data file' }); + await expect( + resolveInstanceUuid({ pathConfig, serverConfig, logger }) + ).rejects.toThrowErrorMatchingInlineSnapshot(`"data-folder/uuid contains an invalid UUID"`); + }); + }); + + describe('when file contains a trailing new line', () => { + it('returns the trimmed file uuid', async () => { + mockReadFile({ uuid: DEFAULT_FILE_UUID + '\n' }); + const uuid = await resolveInstanceUuid({ pathConfig, serverConfig, logger }); + expect(uuid).toEqual(DEFAULT_FILE_UUID); + }); + }); }); describe('when file is present with 7.6.0 UUID', () => { @@ -193,7 +213,7 @@ describe('resolveInstanceUuid', () => { "UUID from 7.6.0 bug detected, ignoring file UUID", ], Array [ - "Setting new Kibana instance UUID: CONFIG_UUID", + "Setting new Kibana instance UUID: cccccccc-bbbb-0ccc-0ddd-eeeeeeeeeeee", ], ] `); diff --git a/src/core/server/environment/resolve_uuid.ts b/src/core/server/environment/resolve_uuid.ts index 74201a7ffa04f..4f07f33e94902 100644 --- a/src/core/server/environment/resolve_uuid.ts +++ b/src/core/server/environment/resolve_uuid.ts @@ -12,6 +12,7 @@ import { PathConfigType } from '@kbn/utils'; import { readFile, writeFile } from './fs'; import { HttpConfigType } from '../http'; import { Logger } from '../logging'; +import { uuidRegexp } from '../http/http_config'; const FILE_ENCODING = 'utf8'; const FILE_NAME = 'uuid'; @@ -63,16 +64,24 @@ export async function resolveInstanceUuid({ } async function readUuidFromFile(filepath: string, logger: Logger): Promise { + const content = await readFileContent(filepath); + + if (content === UUID_7_6_0_BUG) { + logger.debug(`UUID from 7.6.0 bug detected, ignoring file UUID`); + return undefined; + } + + if (content && !content.match(uuidRegexp)) { + throw new Error(`${filepath} contains an invalid UUID`); + } + + return content; +} + +async function readFileContent(filepath: string): Promise { try { const content = await readFile(filepath); - const decoded = content.toString(FILE_ENCODING); - - if (decoded === UUID_7_6_0_BUG) { - logger.debug(`UUID from 7.6.0 bug detected, ignoring file UUID`); - return undefined; - } else { - return decoded; - } + return content.toString(FILE_ENCODING).trim(); } catch (e) { if (e.code === 'ENOENT') { // non-existent uuid file is ok, we will create it. diff --git a/src/core/server/http/http_config.ts b/src/core/server/http/http_config.ts index 88e04fd715f7b..fb241bf91fd69 100644 --- a/src/core/server/http/http_config.ts +++ b/src/core/server/http/http_config.ts @@ -21,7 +21,8 @@ import { } from './security_response_headers_config'; const validBasePathRegex = /^\/.*[^\/]$/; -const uuidRegexp = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i; +export const uuidRegexp = + /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i; const hostURISchema = schema.uri({ scheme: ['http', 'https'] }); const match = (regex: RegExp, errorMsg: string) => (str: string) => regex.test(str) ? undefined : errorMsg; diff --git a/src/core/server/http/http_server.test.ts b/src/core/server/http/http_server.test.ts index 60f2fa51f25bb..0559f7803159b 100644 --- a/src/core/server/http/http_server.test.ts +++ b/src/core/server/http/http_server.test.ts @@ -1587,79 +1587,3 @@ describe('setup contract', () => { }); }); }); - -describe('Graceful shutdown', () => { - let shutdownTimeout: number; - let innerServerListener: Server; - - beforeEach(async () => { - shutdownTimeout = config.shutdownTimeout.asMilliseconds(); - const { registerRouter, server: innerServer } = await server.setup(config); - innerServerListener = innerServer.listener; - - const router = new Router('', logger, enhanceWithContext); - router.post( - { - path: '/', - validate: false, - options: { body: { accepts: 'application/json' } }, - }, - async (context, req, res) => { - // It takes to resolve the same period of the shutdownTimeout. - // Since we'll trigger the stop a few ms after, it should have time to finish - await new Promise((resolve) => setTimeout(resolve, shutdownTimeout)); - return res.ok({ body: { ok: 1 } }); - } - ); - registerRouter(router); - - await server.start(); - }); - - test('any ongoing requests should be resolved with `connection: close`', async () => { - const [response] = await Promise.all([ - // Trigger a request that should hold the server from stopping until fulfilled - supertest(innerServerListener).post('/'), - // Stop the server while the request is in progress - (async () => { - await new Promise((resolve) => setTimeout(resolve, shutdownTimeout / 3)); - await server.stop(); - })(), - ]); - - expect(response.status).toBe(200); - expect(response.body).toStrictEqual({ ok: 1 }); - // The server is about to be closed, we need to ask connections to close on their end (stop their keep-alive policies) - expect(response.header.connection).toBe('close'); - }); - - test('any requests triggered while stopping should be rejected with 503', async () => { - const [, , response] = await Promise.all([ - // Trigger a request that should hold the server from stopping until fulfilled (otherwise the server will stop straight away) - supertest(innerServerListener).post('/'), - // Stop the server while the request is in progress - (async () => { - await new Promise((resolve) => setTimeout(resolve, shutdownTimeout / 3)); - await server.stop(); - })(), - // Trigger a new request while shutting down (should be rejected) - (async () => { - await new Promise((resolve) => setTimeout(resolve, (2 * shutdownTimeout) / 3)); - return supertest(innerServerListener).post('/'); - })(), - ]); - expect(response.status).toBe(503); - expect(response.body).toStrictEqual({ - statusCode: 503, - error: 'Service Unavailable', - message: 'Kibana is shutting down and not accepting new incoming requests', - }); - expect(response.header.connection).toBe('close'); - }); - - test('when no ongoing connections, the server should stop without waiting any longer', async () => { - const preStop = Date.now(); - await server.stop(); - expect(Date.now() - preStop).toBeLessThan(shutdownTimeout); - }); -}); diff --git a/src/core/server/http/integration_tests/http_server.test.ts b/src/core/server/http/integration_tests/http_server.test.ts new file mode 100644 index 0000000000000..edb5a3167ce2b --- /dev/null +++ b/src/core/server/http/integration_tests/http_server.test.ts @@ -0,0 +1,124 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Server } from 'http'; +import supertest from 'supertest'; +import moment from 'moment'; +import { of } from 'rxjs'; +import { ByteSizeValue } from '@kbn/config-schema'; +import { HttpConfig } from '../http_config'; +import { loggingSystemMock } from '../../logging/logging_system.mock'; +import { Router } from '../router'; +import { HttpServer } from '../http_server'; + +describe('Http server', () => { + let server: HttpServer; + let config: HttpConfig; + let logger: ReturnType; + const enhanceWithContext = (fn: (...args: any[]) => any) => fn.bind(null, {}); + + beforeEach(() => { + const loggingService = loggingSystemMock.create(); + logger = loggingSystemMock.createLogger(); + + config = { + name: 'kibana', + host: '127.0.0.1', + maxPayload: new ByteSizeValue(1024), + port: 10002, + ssl: { enabled: false }, + compression: { enabled: true }, + requestId: { + allowFromAnyIp: true, + ipAllowlist: [], + }, + cors: { + enabled: false, + }, + shutdownTimeout: moment.duration(5, 's'), + } as any; + + server = new HttpServer(loggingService, 'tests', of(config.shutdownTimeout)); + }); + + describe('Graceful shutdown', () => { + let shutdownTimeout: number; + let innerServerListener: Server; + + beforeEach(async () => { + shutdownTimeout = config.shutdownTimeout.asMilliseconds(); + const { registerRouter, server: innerServer } = await server.setup(config); + innerServerListener = innerServer.listener; + + const router = new Router('', logger, enhanceWithContext); + router.post( + { + path: '/', + validate: false, + options: { body: { accepts: 'application/json' } }, + }, + async (context, req, res) => { + // It takes to resolve the same period of the shutdownTimeout. + // Since we'll trigger the stop a few ms after, it should have time to finish + await new Promise((resolve) => setTimeout(resolve, shutdownTimeout)); + return res.ok({ body: { ok: 1 } }); + } + ); + registerRouter(router); + + await server.start(); + }); + + test('any ongoing requests should be resolved with `connection: close`', async () => { + const [response] = await Promise.all([ + // Trigger a request that should hold the server from stopping until fulfilled + supertest(innerServerListener).post('/'), + // Stop the server while the request is in progress + (async () => { + await new Promise((resolve) => setTimeout(resolve, shutdownTimeout / 3)); + await server.stop(); + })(), + ]); + + expect(response.status).toBe(200); + expect(response.body).toStrictEqual({ ok: 1 }); + // The server is about to be closed, we need to ask connections to close on their end (stop their keep-alive policies) + expect(response.header.connection).toBe('close'); + }); + + test('any requests triggered while stopping should be rejected with 503', async () => { + const [, , response] = await Promise.all([ + // Trigger a request that should hold the server from stopping until fulfilled (otherwise the server will stop straight away) + supertest(innerServerListener).post('/'), + // Stop the server while the request is in progress + (async () => { + await new Promise((resolve) => setTimeout(resolve, shutdownTimeout / 3)); + await server.stop(); + })(), + // Trigger a new request while shutting down (should be rejected) + (async () => { + await new Promise((resolve) => setTimeout(resolve, (2 * shutdownTimeout) / 3)); + return supertest(innerServerListener).post('/'); + })(), + ]); + expect(response.status).toBe(503); + expect(response.body).toStrictEqual({ + statusCode: 503, + error: 'Service Unavailable', + message: 'Kibana is shutting down and not accepting new incoming requests', + }); + expect(response.header.connection).toBe('close'); + }); + + test('when no ongoing connections, the server should stop without waiting any longer', async () => { + const preStop = Date.now(); + await server.stop(); + expect(Date.now() - preStop).toBeLessThan(shutdownTimeout); + }); + }); +}); diff --git a/src/core/server/http/router/headers.ts b/src/core/server/http/router/headers.ts index 715337ba813b5..71bfb2fe5c5ed 100644 --- a/src/core/server/http/router/headers.ts +++ b/src/core/server/http/router/headers.ts @@ -55,7 +55,7 @@ export function filterHeaders( headers: Headers, fieldsToKeep: string[], fieldsToExclude: string[] = [] -) { +): Headers { const fieldsToExcludeNormalized = fieldsToExclude.map(normalizeHeaderField); // Normalize list of headers we want to allow in upstream request const fieldsToKeepNormalized = fieldsToKeep diff --git a/src/core/server/index.ts b/src/core/server/index.ts index 92c758f7e6980..4462b08cc1736 100644 --- a/src/core/server/index.ts +++ b/src/core/server/index.ts @@ -257,6 +257,7 @@ export type { PluginName, SharedGlobalConfig, MakeUsageFromSchema, + ExposedToBrowserDescriptor, } from './plugins'; export { diff --git a/src/core/server/metrics/integration_tests/server_collector.test.ts b/src/core/server/metrics/integration_tests/server_collector.test.ts index 05780e8965dc4..713d3ed1dc96e 100644 --- a/src/core/server/metrics/integration_tests/server_collector.test.ts +++ b/src/core/server/metrics/integration_tests/server_collector.test.ts @@ -17,11 +17,7 @@ import { executionContextServiceMock } from '../../execution_context/execution_c import { ServerMetricsCollector } from '../collectors/server'; import { setTimeout as setTimeoutPromise } from 'timers/promises'; -const requestWaitDelay = 25; - -// FLAKY: https://github.com/elastic/kibana/issues/59234 -// FLAKY: https://github.com/elastic/kibana/issues/59235 -describe.skip('ServerMetricsCollector', () => { +describe('ServerMetricsCollector', () => { let server: HttpService; let collector: ServerMetricsCollector; let hapiServer: HapiServer; @@ -51,6 +47,7 @@ describe.skip('ServerMetricsCollector', () => { router.get({ path: '/', validate: false }, async (ctx, req, res) => { return res.ok({ body: '' }); }); + await server.start(); let metrics = await collector.collect(); @@ -79,39 +76,49 @@ describe.skip('ServerMetricsCollector', () => { it('collect disconnects requests infos', async () => { const never = new Promise((resolve) => undefined); - const hitSubject = new BehaviorSubject(0); + const disconnectRequested$ = new Subject(); // Controls the number of requests in the /disconnect endpoint + const disconnectAborted$ = new Subject(); // Controls the abort event in the /disconnect endpoint router.get({ path: '/', validate: false }, async (ctx, req, res) => { return res.ok({ body: '' }); }); router.get({ path: '/disconnect', validate: false }, async (ctx, req, res) => { - hitSubject.next(hitSubject.value + 1); - await never; + disconnectRequested$.next(); + req.events.aborted$.subscribe(() => { + disconnectAborted$.next(); + }); + await never; // Never resolve the request return res.ok({ body: '' }); }); await server.start(); await sendGet('/'); + + // Subscribe to expect 2 requests to /disconnect + const waitFor2Requests = disconnectRequested$.pipe(take(2)).toPromise(); + const discoReq1 = sendGet('/disconnect').end(); const discoReq2 = sendGet('/disconnect').end(); - await hitSubject - .pipe( - filter((count) => count >= 2), - take(1) - ) - .toPromise(); + // Wait for 2 requests to /disconnect + await waitFor2Requests; let metrics = await collector.collect(); expect(metrics.requests).toEqual( expect.objectContaining({ total: 3, disconnects: 0, + statusCodes: expect.objectContaining({ '200': 1 }), }) ); + // Subscribe to the aborted$ event + const waitFor1stAbort = disconnectAborted$.pipe(take(1)).toPromise(); + discoReq1.abort(); - await delay(requestWaitDelay); + + // Wait for the aborted$ event + await waitFor1stAbort; metrics = await collector.collect(); expect(metrics.requests).toEqual( @@ -121,8 +128,13 @@ describe.skip('ServerMetricsCollector', () => { }) ); + // Subscribe to the aborted$ event + const waitFor2ndAbort = disconnectAborted$.pipe(take(1)).toPromise(); + discoReq2.abort(); - await delay(requestWaitDelay); + + // Wait for the aborted$ event + await waitFor2ndAbort; metrics = await collector.collect(); expect(metrics.requests).toEqual( @@ -150,14 +162,14 @@ describe.skip('ServerMetricsCollector', () => { await Promise.all([sendGet('/no-delay'), sendGet('/250-ms')]); let metrics = await collector.collect(); - expect(metrics.response_times.avg_in_millis).toBeGreaterThanOrEqual(125); - expect(metrics.response_times.max_in_millis).toBeGreaterThanOrEqual(250); + expect(metrics.response_times?.avg_in_millis).toBeGreaterThanOrEqual(125); + expect(metrics.response_times?.max_in_millis).toBeGreaterThanOrEqual(250); await Promise.all([sendGet('/500-ms'), sendGet('/500-ms')]); metrics = await collector.collect(); - expect(metrics.response_times.avg_in_millis).toBeGreaterThanOrEqual(250); - expect(metrics.response_times.max_in_millis).toBeGreaterThanOrEqual(500); + expect(metrics.response_times?.avg_in_millis).toBeGreaterThanOrEqual(250); + expect(metrics.response_times?.max_in_millis).toBeGreaterThanOrEqual(500); }); it('collect connection count', async () => { diff --git a/src/core/server/metrics/logging/get_ops_metrics_log.test.ts b/src/core/server/metrics/logging/get_ops_metrics_log.test.ts index cba188c94c74e..3fd3c4a7a24d6 100644 --- a/src/core/server/metrics/logging/get_ops_metrics_log.test.ts +++ b/src/core/server/metrics/logging/get_ops_metrics_log.test.ts @@ -42,6 +42,7 @@ const testMetrics = { memory: { heap: { used_in_bytes: 100 } }, uptime_in_millis: 1500, event_loop_delay: 50, + event_loop_delay_histogram: { percentiles: { '50': 50, '75': 75, '95': 95, '99': 99 } }, }, os: { load: { @@ -56,7 +57,7 @@ describe('getEcsOpsMetricsLog', () => { it('provides correctly formatted message', () => { const result = getEcsOpsMetricsLog(createMockOpsMetrics(testMetrics)); expect(result.message).toMatchInlineSnapshot( - `"memory: 100.0B uptime: 0:00:01 load: [10.00,20.00,30.00] delay: 50.000"` + `"memory: 100.0B uptime: 0:00:01 load: [10.00,20.00,30.00] mean delay: 50.000 delay histogram: { 50: 50.000; 95: 95.000; 99: 99.000 }"` ); }); @@ -70,6 +71,7 @@ describe('getEcsOpsMetricsLog', () => { const missingMetrics = { ...baseMetrics, process: {}, + processes: [], os: {}, } as unknown as OpsMetrics; const logMeta = getEcsOpsMetricsLog(missingMetrics); @@ -77,39 +79,41 @@ describe('getEcsOpsMetricsLog', () => { }); it('provides an ECS-compatible response', () => { - const logMeta = getEcsOpsMetricsLog(createBaseOpsMetrics()); - expect(logMeta).toMatchInlineSnapshot(` + const logMeta = getEcsOpsMetricsLog(createMockOpsMetrics(testMetrics)); + expect(logMeta.meta).toMatchInlineSnapshot(` Object { - "message": "memory: 1.0B load: [1.00,1.00,1.00] delay: 1.000", - "meta": Object { - "event": Object { - "category": Array [ - "process", - "host", - ], - "kind": "metric", - "type": Array [ - "info", - ], - }, - "host": Object { - "os": Object { - "load": Object { - "15m": 1, - "1m": 1, - "5m": 1, - }, + "event": Object { + "category": Array [ + "process", + "host", + ], + "kind": "metric", + "type": Array [ + "info", + ], + }, + "host": Object { + "os": Object { + "load": Object { + "15m": 30, + "1m": 10, + "5m": 20, }, }, - "process": Object { - "eventLoopDelay": 1, - "memory": Object { - "heap": Object { - "usedInBytes": 1, - }, + }, + "process": Object { + "eventLoopDelay": 50, + "eventLoopDelayHistogram": Object { + "50": 50, + "95": 95, + "99": 99, + }, + "memory": Object { + "heap": Object { + "usedInBytes": 100, }, - "uptime": 0, }, + "uptime": 1, }, } `); diff --git a/src/core/server/metrics/logging/get_ops_metrics_log.ts b/src/core/server/metrics/logging/get_ops_metrics_log.ts index 7e13f35889ec7..6211407ae86f0 100644 --- a/src/core/server/metrics/logging/get_ops_metrics_log.ts +++ b/src/core/server/metrics/logging/get_ops_metrics_log.ts @@ -30,10 +30,29 @@ export function getEcsOpsMetricsLog(metrics: OpsMetrics) { // HH:mm:ss message format for backward compatibility const uptimeValMsg = uptimeVal ? `uptime: ${numeral(uptimeVal).format('00:00:00')} ` : ''; - // Event loop delay is in ms + // Event loop delay metrics are in ms const eventLoopDelayVal = process?.event_loop_delay; const eventLoopDelayValMsg = eventLoopDelayVal - ? `delay: ${numeral(process?.event_loop_delay).format('0.000')}` + ? `mean delay: ${numeral(process?.event_loop_delay).format('0.000')}` + : ''; + + const eventLoopDelayPercentiles = process?.event_loop_delay_histogram?.percentiles; + + // Extract 50th, 95th and 99th percentiles for log meta + const eventLoopDelayHistVals = eventLoopDelayPercentiles + ? { + 50: eventLoopDelayPercentiles[50], + 95: eventLoopDelayPercentiles[95], + 99: eventLoopDelayPercentiles[99], + } + : undefined; + // Format message from 50th, 95th and 99th percentiles + const eventLoopDelayHistMsg = eventLoopDelayPercentiles + ? ` delay histogram: { 50: ${numeral(eventLoopDelayPercentiles['50']).format( + '0.000' + )}; 95: ${numeral(eventLoopDelayPercentiles['95']).format('0.000')}; 99: ${numeral( + eventLoopDelayPercentiles['99'] + ).format('0.000')} }` : ''; const loadEntries = { @@ -65,6 +84,7 @@ export function getEcsOpsMetricsLog(metrics: OpsMetrics) { }, }, eventLoopDelay: eventLoopDelayVal, + eventLoopDelayHistogram: eventLoopDelayHistVals, }, host: { os: { @@ -75,7 +95,13 @@ export function getEcsOpsMetricsLog(metrics: OpsMetrics) { }; return { - message: `${processMemoryUsedInBytesMsg}${uptimeValMsg}${loadValsMsg}${eventLoopDelayValMsg}`, + message: [ + processMemoryUsedInBytesMsg, + uptimeValMsg, + loadValsMsg, + eventLoopDelayValMsg, + eventLoopDelayHistMsg, + ].join(''), meta, }; } diff --git a/src/core/server/metrics/metrics_service.test.ts b/src/core/server/metrics/metrics_service.test.ts index d7de41fd7ccf7..27043b8fa2c8a 100644 --- a/src/core/server/metrics/metrics_service.test.ts +++ b/src/core/server/metrics/metrics_service.test.ts @@ -203,6 +203,7 @@ describe('MetricsService', () => { }, "process": Object { "eventLoopDelay": undefined, + "eventLoopDelayHistogram": undefined, "memory": Object { "heap": Object { "usedInBytes": undefined, diff --git a/src/core/server/plugins/create_browser_config.test.ts b/src/core/server/plugins/create_browser_config.test.ts new file mode 100644 index 0000000000000..8b27ba286c53f --- /dev/null +++ b/src/core/server/plugins/create_browser_config.test.ts @@ -0,0 +1,162 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ExposedToBrowserDescriptor } from './types'; +import { createBrowserConfig } from './create_browser_config'; + +describe('createBrowserConfig', () => { + it('picks nothing by default', () => { + const config = { + foo: 'bar', + nested: { + str: 'string', + num: 42, + }, + }; + const descriptor: ExposedToBrowserDescriptor = {}; + + const browserConfig = createBrowserConfig(config, descriptor); + + expect(browserConfig).toEqual({}); + }); + + it('picks all the nested properties when using `true`', () => { + const config = { + foo: 'bar', + nested: { + str: 'string', + num: 42, + }, + }; + + const descriptor: ExposedToBrowserDescriptor = { + foo: true, + nested: true, + }; + + const browserConfig = createBrowserConfig(config, descriptor); + + expect(browserConfig).toEqual({ + foo: 'bar', + nested: { + str: 'string', + num: 42, + }, + }); + }); + + it('picks specific nested properties when using a nested declaration', () => { + const config = { + foo: 'bar', + nested: { + str: 'string', + num: 42, + }, + }; + + const descriptor: ExposedToBrowserDescriptor = { + foo: true, + nested: { + str: true, + num: false, + }, + }; + + const browserConfig = createBrowserConfig(config, descriptor); + + expect(browserConfig).toEqual({ + foo: 'bar', + nested: { + str: 'string', + }, + }); + }); + + it('accepts deeply nested structures', () => { + const config = { + foo: 'bar', + deeply: { + str: 'string', + nested: { + hello: 'dolly', + structure: { + propA: 'propA', + propB: 'propB', + }, + }, + }, + }; + + const descriptor: ExposedToBrowserDescriptor = { + foo: false, + deeply: { + str: false, + nested: { + hello: true, + structure: { + propA: true, + propB: false, + }, + }, + }, + }; + + const browserConfig = createBrowserConfig(config, descriptor); + + expect(browserConfig).toEqual({ + deeply: { + nested: { + hello: 'dolly', + structure: { + propA: 'propA', + }, + }, + }, + }); + }); + + it('only includes leaf properties that are `true` when in nested structures', () => { + const config = { + foo: 'bar', + deeply: { + str: 'string', + nested: { + hello: 'dolly', + structure: { + propA: 'propA', + propB: 'propB', + }, + }, + }, + }; + + const descriptor: ExposedToBrowserDescriptor = { + deeply: { + nested: { + hello: true, + structure: { + propA: true, + }, + }, + }, + }; + + const browserConfig = createBrowserConfig(config, descriptor); + + expect(browserConfig).toEqual({ + deeply: { + nested: { + hello: 'dolly', + structure: { + propA: 'propA', + }, + }, + }, + }); + }); +}); diff --git a/src/core/server/plugins/create_browser_config.ts b/src/core/server/plugins/create_browser_config.ts new file mode 100644 index 0000000000000..95c8de7f4c8cd --- /dev/null +++ b/src/core/server/plugins/create_browser_config.ts @@ -0,0 +1,32 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ExposedToBrowserDescriptor } from './types'; + +export const createBrowserConfig = ( + config: T, + descriptor: ExposedToBrowserDescriptor +): unknown => { + return recursiveCreateConfig(config, descriptor); +}; + +const recursiveCreateConfig = ( + config: T, + descriptor: ExposedToBrowserDescriptor = {} +): unknown => { + return Object.entries(config || {}).reduce((browserConfig, [key, value]) => { + const exposedConfig = descriptor[key as keyof ExposedToBrowserDescriptor]; + if (exposedConfig && typeof exposedConfig === 'object') { + browserConfig[key] = recursiveCreateConfig(value, exposedConfig); + } + if (exposedConfig === true) { + browserConfig[key] = value; + } + return browserConfig; + }, {} as Record); +}; diff --git a/src/core/server/plugins/plugins_service.ts b/src/core/server/plugins/plugins_service.ts index 989cfed077856..85bb5acc5bf8e 100644 --- a/src/core/server/plugins/plugins_service.ts +++ b/src/core/server/plugins/plugins_service.ts @@ -9,7 +9,7 @@ import Path from 'path'; import { Observable } from 'rxjs'; import { concatMap, filter, first, map, tap, toArray } from 'rxjs/operators'; -import { getFlattenedObject, pick } from '@kbn/std'; +import { getFlattenedObject } from '@kbn/std'; import { CoreService } from '../../types'; import { CoreContext } from '../core_context'; @@ -26,6 +26,7 @@ import { } from './types'; import { PluginsConfig, PluginsConfigType } from './plugins_config'; import { PluginsSystem } from './plugins_system'; +import { createBrowserConfig } from './create_browser_config'; import { InternalCorePreboot, InternalCoreSetup, InternalCoreStart } from '../internal_types'; import { IConfigService } from '../config'; import { InternalEnvironmentServicePreboot } from '../environment'; @@ -228,16 +229,11 @@ export class PluginsService implements CoreService - pick( - config || {}, - Object.entries(configDescriptor.exposeToBrowser!) - .filter(([_, exposed]) => exposed) - .map(([key, _]) => key) - ) - ) - ), + this.configService + .atPath(plugin.configPath) + .pipe( + map((config: any) => createBrowserConfig(config, configDescriptor.exposeToBrowser!)) + ), ]; }) ); diff --git a/src/core/server/plugins/types.test.ts b/src/core/server/plugins/types.test.ts new file mode 100644 index 0000000000000..4a0e6052a9901 --- /dev/null +++ b/src/core/server/plugins/types.test.ts @@ -0,0 +1,90 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ExposedToBrowserDescriptor } from './types'; + +describe('ExposedToBrowserDescriptor', () => { + interface ConfigType { + str: string; + array: number[]; + obj: { + sub1: string; + sub2: number; + }; + deep: { + foo: number; + nested: { + str: string; + arr: number[]; + }; + }; + } + + it('allows to use recursion on objects', () => { + const exposeToBrowser: ExposedToBrowserDescriptor = { + obj: { + sub1: true, + }, + }; + expect(exposeToBrowser).toBeDefined(); + }); + + it('allows to use recursion at multiple levels', () => { + const exposeToBrowser: ExposedToBrowserDescriptor = { + deep: { + foo: true, + nested: { + str: true, + }, + }, + }; + expect(exposeToBrowser).toBeDefined(); + }); + + it('does not allow to use recursion on arrays', () => { + const exposeToBrowser: ExposedToBrowserDescriptor = { + // @ts-expect-error Type '{ 0: true; }' is not assignable to type 'boolean | undefined'. + array: { + 0: true, + }, + }; + expect(exposeToBrowser).toBeDefined(); + }); + + it('does not allow to use recursion on arrays at lower levels', () => { + const exposeToBrowser: ExposedToBrowserDescriptor = { + deep: { + nested: { + // @ts-expect-error Type '{ 0: true; }' is not assignable to type 'boolean | undefined'. + arr: { + 0: true, + }, + }, + }, + }; + expect(exposeToBrowser).toBeDefined(); + }); + + it('allows to specify all the properties', () => { + const exposeToBrowser: ExposedToBrowserDescriptor = { + str: true, + array: false, + obj: { + sub1: true, + }, + deep: { + foo: true, + nested: { + arr: false, + str: true, + }, + }, + }; + expect(exposeToBrowser).toBeDefined(); + }); +}); diff --git a/src/core/server/plugins/types.ts b/src/core/server/plugins/types.ts index a2e460a3e3c67..806c67cd5ea7f 100644 --- a/src/core/server/plugins/types.ts +++ b/src/core/server/plugins/types.ts @@ -27,6 +27,23 @@ type Maybe = T | undefined; */ export type PluginConfigSchema = Type; +/** + * Type defining the list of configuration properties that will be exposed on the client-side + * Object properties can either be fully exposed + * + * @public + */ +export type ExposedToBrowserDescriptor = { + [Key in keyof T]?: T[Key] extends Maybe + ? // handles arrays as primitive values + boolean + : T[Key] extends Maybe + ? // can be nested for objects + ExposedToBrowserDescriptor | boolean + : // primitives + boolean; +}; + /** * Describes a plugin configuration properties. * @@ -65,7 +82,7 @@ export interface PluginConfigDescriptor { /** * List of configuration properties that will be available on the client-side plugin. */ - exposeToBrowser?: { [P in keyof T]?: boolean }; + exposeToBrowser?: ExposedToBrowserDescriptor; /** * Schema to use to validate the plugin configuration. * diff --git a/src/core/server/saved_objects/migrationsv2/actions/integration_tests/actions.test.ts b/src/core/server/saved_objects/migrationsv2/actions/integration_tests/actions.test.ts index 910cd26132253..3f5f9f4de84e4 100644 --- a/src/core/server/saved_objects/migrationsv2/actions/integration_tests/actions.test.ts +++ b/src/core/server/saved_objects/migrationsv2/actions/integration_tests/actions.test.ts @@ -48,7 +48,11 @@ const { startES } = kbnTestServer.createTestServers({ settings: { es: { license: 'basic', - dataArchive: Path.join(__dirname, './archives', '7.7.2_xpack_100k_obj.zip'), + dataArchive: Path.join( + __dirname, + '../../integration_tests/archives', + '7.7.2_xpack_100k_obj.zip' + ), esArgs: ['http.max_content_length=10Kb'], }, }, @@ -792,7 +796,8 @@ describe('migration actions', () => { `); }); - it('resolves left wait_for_task_completion_timeout when the task does not finish within the timeout', async () => { + // Failing 7.latest ES 8.2 forward compatibility: https://github.com/elastic/kibana/issues/129078 + it.skip('resolves left wait_for_task_completion_timeout when the task does not finish within the timeout', async () => { await waitForIndexStatusYellow({ client, index: '.kibana_1', @@ -1156,7 +1161,8 @@ describe('migration actions', () => { await expect(task()).rejects.toThrow('index_not_found_exception'); }); - it('resolves left wait_for_task_completion_timeout when the task does not complete within the timeout', async () => { + // Failing 7.latest ES 8.2 forward compatibility: https://github.com/elastic/kibana/issues/129078 + it.skip('resolves left wait_for_task_completion_timeout when the task does not complete within the timeout', async () => { const res = (await pickupUpdatedMappings( client, '.kibana_1' diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/7_13_0_failed_action_tasks.test.ts b/src/core/server/saved_objects/migrationsv2/integration_tests/7_13_0_failed_action_tasks.test.ts index a4ce95a9e0584..3c55a8478d259 100644 --- a/src/core/server/saved_objects/migrationsv2/integration_tests/7_13_0_failed_action_tasks.test.ts +++ b/src/core/server/saved_objects/migrationsv2/integration_tests/7_13_0_failed_action_tasks.test.ts @@ -128,6 +128,7 @@ function createRoot() { loggers: [ { name: 'root', + level: 'info', appenders: ['file'], }, ], diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/7_13_0_transform_failures.test.ts b/src/core/server/saved_objects/migrationsv2/integration_tests/7_13_0_transform_failures.test.ts index c8e17a64a3fa3..e24cfe0d90c27 100644 --- a/src/core/server/saved_objects/migrationsv2/integration_tests/7_13_0_transform_failures.test.ts +++ b/src/core/server/saved_objects/migrationsv2/integration_tests/7_13_0_transform_failures.test.ts @@ -170,6 +170,7 @@ function createRoot() { loggers: [ { name: 'root', + level: 'info', appenders: ['file'], }, ], diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/7_13_0_unknown_types.test.ts b/src/core/server/saved_objects/migrationsv2/integration_tests/7_13_0_unknown_types.test.ts index 31c802bb561f9..da80dfd27e7f9 100644 --- a/src/core/server/saved_objects/migrationsv2/integration_tests/7_13_0_unknown_types.test.ts +++ b/src/core/server/saved_objects/migrationsv2/integration_tests/7_13_0_unknown_types.test.ts @@ -233,6 +233,7 @@ function createRoot() { loggers: [ { name: 'root', + level: 'info', appenders: ['file'], }, ], diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.0_5k_so_node_01.zip b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.0_5k_so_node_01.zip index 70966debbaf0e..43965fd584256 100644 Binary files a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.0_5k_so_node_01.zip and b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.0_5k_so_node_01.zip differ diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.0_5k_so_node_02.zip b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.0_5k_so_node_02.zip index 451c48d8107c8..d4d404e7c1952 100644 Binary files a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.0_5k_so_node_02.zip and b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.0_5k_so_node_02.zip differ diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.0_with_corrupted_so.zip b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.0_with_corrupted_so.zip index 44f2fc9ba19eb..f4a89fbcb2514 100644 Binary files a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.0_with_corrupted_so.zip and b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.0_with_corrupted_so.zip differ diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.0_with_unknown_so.zip b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.0_with_unknown_so.zip index 30ee6ee23dbf3..3312515024b91 100644 Binary files a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.0_with_unknown_so.zip and b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.0_with_unknown_so.zip differ diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.2_so_with_multiple_namespaces.zip b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.2_so_with_multiple_namespaces.zip index e4dce85f15e38..bc305de2d4560 100644 Binary files a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.2_so_with_multiple_namespaces.zip and b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13.2_so_with_multiple_namespaces.zip differ diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13_1.5k_failed_action_tasks.zip b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13_1.5k_failed_action_tasks.zip index 69aa04d7fc40f..071d554d5d009 100644 Binary files a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13_1.5k_failed_action_tasks.zip and b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.13_1.5k_failed_action_tasks.zip differ diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.14.0_xpack_sample_saved_objects.zip b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.14.0_xpack_sample_saved_objects.zip index 70d68587e3603..7b498c945680c 100644 Binary files a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.14.0_xpack_sample_saved_objects.zip and b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.14.0_xpack_sample_saved_objects.zip differ diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.3.0_xpack_sample_saved_objects.zip b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.3.0_xpack_sample_saved_objects.zip index 5745a3e07d488..b79a497d06941 100644 Binary files a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.3.0_xpack_sample_saved_objects.zip and b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.3.0_xpack_sample_saved_objects.zip differ diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.7.2_xpack_100k_obj.zip b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.7.2_xpack_100k_obj.zip index 13afaa04b06f9..68d740dd21f69 100644 Binary files a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.7.2_xpack_100k_obj.zip and b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7.7.2_xpack_100k_obj.zip differ diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7_13_corrupt_and_transform_failures_docs.zip b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7_13_corrupt_and_transform_failures_docs.zip index 30ee6ee23dbf3..b808bdc4f59ce 100644 Binary files a/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7_13_corrupt_and_transform_failures_docs.zip and b/src/core/server/saved_objects/migrationsv2/integration_tests/archives/7_13_corrupt_and_transform_failures_docs.zip differ diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/batch_size_bytes.test.ts b/src/core/server/saved_objects/migrationsv2/integration_tests/batch_size_bytes.test.ts index 9daae7eddafe0..aaa19d2c96170 100644 --- a/src/core/server/saved_objects/migrationsv2/integration_tests/batch_size_bytes.test.ts +++ b/src/core/server/saved_objects/migrationsv2/integration_tests/batch_size_bytes.test.ts @@ -27,7 +27,7 @@ async function removeLogFile() { await fs.unlink(logFilePath).catch(() => void 0); } -describe('migration v2', () => { +describe('migration v2', function () { let esServer: kbnTestServer.TestElasticsearchUtils; let root: Root; let startES: () => Promise; @@ -134,6 +134,7 @@ function createRoot(options: { maxBatchSizeBytes?: number }) { loggers: [ { name: 'root', + level: 'info', appenders: ['file'], }, ], diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/batch_size_bytes_exceeds_es_content_length.test.ts b/src/core/server/saved_objects/migrationsv2/integration_tests/batch_size_bytes_exceeds_es_content_length.test.ts index d61426d92d390..50e7bcce9cef8 100644 --- a/src/core/server/saved_objects/migrationsv2/integration_tests/batch_size_bytes_exceeds_es_content_length.test.ts +++ b/src/core/server/saved_objects/migrationsv2/integration_tests/batch_size_bytes_exceeds_es_content_length.test.ts @@ -104,6 +104,7 @@ function createRoot(options: { maxBatchSizeBytes?: number }) { loggers: [ { name: 'root', + level: 'info', appenders: ['file'], }, ], diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/collects_corrupt_docs.test.ts b/src/core/server/saved_objects/migrationsv2/integration_tests/collects_corrupt_docs.test.ts index 0f59d19461495..a57a7780572f5 100644 --- a/src/core/server/saved_objects/migrationsv2/integration_tests/collects_corrupt_docs.test.ts +++ b/src/core/server/saved_objects/migrationsv2/integration_tests/collects_corrupt_docs.test.ts @@ -165,6 +165,7 @@ function createRoot() { loggers: [ { name: 'root', + level: 'info', appenders: ['file'], }, ], diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/corrupt_outdated_docs.test.ts b/src/core/server/saved_objects/migrationsv2/integration_tests/corrupt_outdated_docs.test.ts index 7e4b52dea185d..76de54659cd27 100644 --- a/src/core/server/saved_objects/migrationsv2/integration_tests/corrupt_outdated_docs.test.ts +++ b/src/core/server/saved_objects/migrationsv2/integration_tests/corrupt_outdated_docs.test.ts @@ -169,6 +169,7 @@ function createRoot() { loggers: [ { name: 'root', + level: 'info', appenders: ['file'], }, ], diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/outdated_docs.test.ts b/src/core/server/saved_objects/migrationsv2/integration_tests/outdated_docs.test.ts index 4718b5d1285fe..18791f4189e7b 100644 --- a/src/core/server/saved_objects/migrationsv2/integration_tests/outdated_docs.test.ts +++ b/src/core/server/saved_objects/migrationsv2/integration_tests/outdated_docs.test.ts @@ -110,6 +110,7 @@ function createRoot() { loggers: [ { name: 'root', + level: 'info', appenders: ['file'], }, ], diff --git a/src/core/server/saved_objects/migrationsv2/integration_tests/rewriting_id.test.ts b/src/core/server/saved_objects/migrationsv2/integration_tests/rewriting_id.test.ts index 84c25fcdef8b4..89221cbabafd8 100644 --- a/src/core/server/saved_objects/migrationsv2/integration_tests/rewriting_id.test.ts +++ b/src/core/server/saved_objects/migrationsv2/integration_tests/rewriting_id.test.ts @@ -76,6 +76,7 @@ function createRoot() { loggers: [ { name: 'root', + level: 'info', appenders: ['file'], }, ], diff --git a/src/core/server/saved_objects/service/lib/internal_bulk_resolve.ts b/src/core/server/saved_objects/service/lib/internal_bulk_resolve.ts index f53a85a9a03ef..b2886687fed07 100644 --- a/src/core/server/saved_objects/service/lib/internal_bulk_resolve.ts +++ b/src/core/server/saved_objects/service/lib/internal_bulk_resolve.ts @@ -212,7 +212,7 @@ export async function internalBulkResolve( } ); - await incrementCounterInternal( + incrementCounterInternal( CORE_USAGE_STATS_TYPE, CORE_USAGE_STATS_ID, resolveCounter.getCounterFields(), diff --git a/src/core/server/server.api.md b/src/core/server/server.api.md index 00a1cbc44061d..8e0fce8ed5714 100644 --- a/src/core/server/server.api.md +++ b/src/core/server/server.api.md @@ -416,6 +416,7 @@ export interface CoreServicesUsageData { docsDeleted: number; storeSizeBytes: number; primaryStoreSizeBytes: number; + savedObjectsDocsCount: number; }[]; legacyUrlAliases: { activeCount: number; @@ -960,6 +961,14 @@ export interface ExecutionContextSetup { // @public (undocumented) export type ExecutionContextStart = ExecutionContextSetup; +// Warning: (ae-forgotten-export) The symbol "Maybe" needs to be exported by the entry point index.d.ts +// +// @public +export type ExposedToBrowserDescriptor = { + [Key in keyof T]?: T[Key] extends Maybe ? boolean : T[Key] extends Maybe ? // can be nested for objects + ExposedToBrowserDescriptor | boolean : boolean; +}; + // @public export interface FakeRequest { headers: Headers_2; @@ -1397,8 +1406,6 @@ export { LogMeta } export { LogRecord } -// Warning: (ae-forgotten-export) The symbol "Maybe" needs to be exported by the entry point index.d.ts -// // @public export type MakeUsageFromSchema = { [Key in keyof T]?: T[Key] extends Maybe ? false : T[Key] extends Maybe ? boolean : T[Key] extends Maybe ? MakeUsageFromSchema | boolean : boolean; @@ -1587,9 +1594,7 @@ export { Plugin_2 as Plugin } export interface PluginConfigDescriptor { // Warning: (ae-unresolved-link) The @link reference could not be resolved: This type of declaration is not supported yet by the resolver deprecations?: ConfigDeprecationProvider; - exposeToBrowser?: { - [P in keyof T]?: boolean; - }; + exposeToBrowser?: ExposedToBrowserDescriptor; exposeToUsage?: MakeUsageFromSchema; schema: PluginConfigSchema; } @@ -3032,9 +3037,9 @@ export const validBodyOutput: readonly ["data", "stream"]; // // src/core/server/elasticsearch/client/types.ts:94:7 - (ae-forgotten-export) The symbol "Explanation" needs to be exported by the entry point index.d.ts // src/core/server/http/router/response.ts:302:3 - (ae-forgotten-export) The symbol "KibanaResponse" needs to be exported by the entry point index.d.ts -// src/core/server/plugins/types.ts:377:3 - (ae-forgotten-export) The symbol "KibanaConfigType" needs to be exported by the entry point index.d.ts -// src/core/server/plugins/types.ts:377:3 - (ae-forgotten-export) The symbol "SharedGlobalConfigKeys" needs to be exported by the entry point index.d.ts -// src/core/server/plugins/types.ts:380:3 - (ae-forgotten-export) The symbol "SavedObjectsConfigType" needs to be exported by the entry point index.d.ts -// src/core/server/plugins/types.ts:486:5 - (ae-unresolved-link) The @link reference could not be resolved: The package "kibana" does not have an export "create" +// src/core/server/plugins/types.ts:394:3 - (ae-forgotten-export) The symbol "KibanaConfigType" needs to be exported by the entry point index.d.ts +// src/core/server/plugins/types.ts:394:3 - (ae-forgotten-export) The symbol "SharedGlobalConfigKeys" needs to be exported by the entry point index.d.ts +// src/core/server/plugins/types.ts:397:3 - (ae-forgotten-export) The symbol "SavedObjectsConfigType" needs to be exported by the entry point index.d.ts +// src/core/server/plugins/types.ts:503:5 - (ae-unresolved-link) The @link reference could not be resolved: The package "kibana" does not have an export "create" ``` diff --git a/src/core/server/server.ts b/src/core/server/server.ts index b6f263f0c22ff..7102b5fba6dff 100644 --- a/src/core/server/server.ts +++ b/src/core/server/server.ts @@ -132,7 +132,7 @@ export class Server { public async preboot() { this.log.debug('prebooting server'); - const prebootTransaction = apm.startTransaction('server_preboot', 'kibana_platform'); + const prebootTransaction = apm.startTransaction('server-preboot', 'kibana-platform'); const environmentPreboot = await this.environment.preboot(); @@ -188,7 +188,7 @@ export class Server { public async setup() { this.log.debug('setting up server'); - const setupTransaction = apm.startTransaction('server_setup', 'kibana_platform'); + const setupTransaction = apm.startTransaction('server-setup', 'kibana-platform'); const environmentSetup = this.environment.setup(); @@ -298,7 +298,7 @@ export class Server { public async start() { this.log.debug('starting server'); - const startTransaction = apm.startTransaction('server_start', 'kibana_platform'); + const startTransaction = apm.startTransaction('server-start', 'kibana-platform'); const executionContextStart = this.executionContext.start(); const elasticsearchStart = await this.elasticsearch.start(); diff --git a/src/core/test_helpers/kbn_server.ts b/src/core/test_helpers/kbn_server.ts index a2aa453cf55e7..d6b96eeff8e7e 100644 --- a/src/core/test_helpers/kbn_server.ts +++ b/src/core/test_helpers/kbn_server.ts @@ -12,7 +12,7 @@ import { CreateTestEsClusterOptions, esTestConfig, kibanaServerTestUser, - kibanaTestUser, + systemIndicesSuperuser, } from '@kbn/test'; import { defaultsDeep } from 'lodash'; import { resolve } from 'path'; @@ -73,7 +73,9 @@ export function createRootWithSettings( * @param path */ export function getSupertest(root: Root, method: HttpMethod, path: string) { - const testUserCredentials = Buffer.from(`${kibanaTestUser.username}:${kibanaTestUser.password}`); + const testUserCredentials = Buffer.from( + `${systemIndicesSuperuser.username}:${systemIndicesSuperuser.password}` + ); return supertest((root as any).server.http.httpServer.server.listener) [method](path) .set('Authorization', `Basic ${testUserCredentials.toString('base64')}`); @@ -105,6 +107,25 @@ export function createRootWithCorePlugins(settings = {}, cliArgs: Partial { "buildOptions": Object { "createArchives": true, "createDebPackage": true, - "createDockerCentOS": true, "createDockerCloud": false, "createDockerContexts": true, "createDockerUBI": true, + "createDockerUbuntu": true, "createExamplePlugins": false, "createGenericFolders": true, "createPlatformFolders": true, "createRpmPackage": true, + "dockerCrossCompile": false, "downloadFreshNode": true, "initialize": true, "isRelease": false, @@ -82,14 +84,15 @@ it('limits packages if --rpm passed with --all-platforms', () => { "buildOptions": Object { "createArchives": true, "createDebPackage": false, - "createDockerCentOS": false, "createDockerCloud": false, "createDockerContexts": true, "createDockerUBI": false, + "createDockerUbuntu": false, "createExamplePlugins": false, "createGenericFolders": true, "createPlatformFolders": true, "createRpmPackage": true, + "dockerCrossCompile": false, "downloadFreshNode": true, "initialize": true, "isRelease": false, @@ -109,14 +112,15 @@ it('limits packages if --deb passed with --all-platforms', () => { "buildOptions": Object { "createArchives": true, "createDebPackage": true, - "createDockerCentOS": false, "createDockerCloud": false, "createDockerContexts": true, "createDockerUBI": false, + "createDockerUbuntu": false, "createExamplePlugins": false, "createGenericFolders": true, "createPlatformFolders": true, "createRpmPackage": false, + "dockerCrossCompile": false, "downloadFreshNode": true, "initialize": true, "isRelease": false, @@ -137,14 +141,15 @@ it('limits packages if --docker passed with --all-platforms', () => { "buildOptions": Object { "createArchives": true, "createDebPackage": false, - "createDockerCentOS": true, "createDockerCloud": false, "createDockerContexts": true, "createDockerUBI": true, + "createDockerUbuntu": true, "createExamplePlugins": false, "createGenericFolders": true, "createPlatformFolders": true, "createRpmPackage": false, + "dockerCrossCompile": false, "downloadFreshNode": true, "initialize": true, "isRelease": false, @@ -172,14 +177,15 @@ it('limits packages if --docker passed with --skip-docker-ubi and --all-platform "buildOptions": Object { "createArchives": true, "createDebPackage": false, - "createDockerCentOS": true, "createDockerCloud": false, "createDockerContexts": true, "createDockerUBI": false, + "createDockerUbuntu": true, "createExamplePlugins": false, "createGenericFolders": true, "createPlatformFolders": true, "createRpmPackage": false, + "dockerCrossCompile": false, "downloadFreshNode": true, "initialize": true, "isRelease": false, @@ -193,21 +199,22 @@ it('limits packages if --docker passed with --skip-docker-ubi and --all-platform `); }); -it('limits packages if --all-platforms passed with --skip-docker-centos', () => { - expect(readCliArgs(['node', 'scripts/build', '--all-platforms', '--skip-docker-centos'])) +it('limits packages if --all-platforms passed with --skip-docker-ubuntu', () => { + expect(readCliArgs(['node', 'scripts/build', '--all-platforms', '--skip-docker-ubuntu'])) .toMatchInlineSnapshot(` Object { "buildOptions": Object { "createArchives": true, "createDebPackage": true, - "createDockerCentOS": false, "createDockerCloud": false, "createDockerContexts": true, "createDockerUBI": true, + "createDockerUbuntu": false, "createExamplePlugins": false, "createGenericFolders": true, "createPlatformFolders": true, "createRpmPackage": true, + "dockerCrossCompile": false, "downloadFreshNode": true, "initialize": true, "isRelease": false, diff --git a/src/dev/build/args.ts b/src/dev/build/args.ts index 1124d90be89c6..721bd6e9e580a 100644 --- a/src/dev/build/args.ts +++ b/src/dev/build/args.ts @@ -22,10 +22,11 @@ export function readCliArgs(argv: string[]) { 'skip-os-packages', 'rpm', 'deb', + 'docker-cross-compile', 'docker-images', 'skip-docker-contexts', 'skip-docker-ubi', - 'skip-docker-centos', + 'skip-docker-ubuntu', 'docker-cloud', 'release', 'skip-node-download', @@ -49,6 +50,7 @@ export function readCliArgs(argv: string[]) { rpm: null, deb: null, 'docker-images': null, + 'docker-cross-compile': false, 'version-qualifier': '', }, unknown: (flag) => { @@ -94,6 +96,7 @@ export function readCliArgs(argv: string[]) { const buildOptions: BuildOptions = { isRelease: Boolean(flags.release), versionQualifier: flags['version-qualifier'], + dockerCrossCompile: Boolean(flags['docker-cross-compile']), initialize: !Boolean(flags['skip-initialize']), downloadFreshNode: !Boolean(flags['skip-node-download']), createGenericFolders: !Boolean(flags['skip-generic-folders']), @@ -102,8 +105,8 @@ export function readCliArgs(argv: string[]) { createExamplePlugins: Boolean(flags['example-plugins']), createRpmPackage: isOsPackageDesired('rpm'), createDebPackage: isOsPackageDesired('deb'), - createDockerCentOS: - isOsPackageDesired('docker-images') && !Boolean(flags['skip-docker-centos']), + createDockerUbuntu: + isOsPackageDesired('docker-images') && !Boolean(flags['skip-docker-ubuntu']), createDockerCloud: isOsPackageDesired('docker-images') && Boolean(flags['docker-cloud']), createDockerUBI: isOsPackageDesired('docker-images') && !Boolean(flags['skip-docker-ubi']), createDockerContexts: !Boolean(flags['skip-docker-contexts']), diff --git a/src/dev/build/build_distributables.ts b/src/dev/build/build_distributables.ts index 315f9270e785e..c4b1458c8999d 100644 --- a/src/dev/build/build_distributables.ts +++ b/src/dev/build/build_distributables.ts @@ -13,6 +13,7 @@ import * as Tasks from './tasks'; export interface BuildOptions { isRelease: boolean; + dockerCrossCompile: boolean; downloadFreshNode: boolean; initialize: boolean; createGenericFolders: boolean; @@ -21,7 +22,7 @@ export interface BuildOptions { createRpmPackage: boolean; createDebPackage: boolean; createDockerUBI: boolean; - createDockerCentOS: boolean; + createDockerUbuntu: boolean; createDockerCloud: boolean; createDockerContexts: boolean; versionQualifier: string | undefined; @@ -119,9 +120,9 @@ export async function buildDistributables(log: ToolingLog, options: BuildOptions await run(Tasks.CreateDockerUBI); } - if (options.createDockerCentOS) { - // control w/ --docker-images or --skip-docker-centos or --skip-os-packages - await run(Tasks.CreateDockerCentOS); + if (options.createDockerUbuntu) { + // control w/ --docker-images or --skip-docker-ubuntu or --skip-os-packages + await run(Tasks.CreateDockerUbuntu); } if (options.createDockerCloud) { diff --git a/src/dev/build/cli.ts b/src/dev/build/cli.ts index c727c26d7dcd3..792bdcec0d696 100644 --- a/src/dev/build/cli.ts +++ b/src/dev/build/cli.ts @@ -39,9 +39,10 @@ if (showHelp) { --rpm {dim Only build the rpm packages} --deb {dim Only build the deb packages} --docker-images {dim Only build the Docker images} + --docker-cross-compile {dim Produce arm64 and amd64 Docker images} --docker-contexts {dim Only build the Docker build contexts} --skip-docker-ubi {dim Don't build the docker ubi image} - --skip-docker-centos {dim Don't build the docker centos image} + --skip-docker-ubuntu {dim Don't build the docker ubuntu image} --release {dim Produce a release-ready distributable} --version-qualifier {dim Suffix version with a qualifier} --skip-node-download {dim Reuse existing downloads of node.js} diff --git a/src/dev/build/lib/build.test.ts b/src/dev/build/lib/build.test.ts index 0c627d00a0dea..f7eb75f0bf89f 100644 --- a/src/dev/build/lib/build.test.ts +++ b/src/dev/build/lib/build.test.ts @@ -32,6 +32,7 @@ const config = new Config( buildSha: 'abcd1234', buildVersion: '8.0.0', }, + false, true ); diff --git a/src/dev/build/lib/config.test.ts b/src/dev/build/lib/config.test.ts index b2afe3337230d..a300648423271 100644 --- a/src/dev/build/lib/config.test.ts +++ b/src/dev/build/lib/config.test.ts @@ -29,6 +29,7 @@ const setup = async ({ targetAllPlatforms = true }: { targetAllPlatforms?: boole return await Config.create({ isRelease: true, targetAllPlatforms, + dockerCrossCompile: false, }); }; diff --git a/src/dev/build/lib/config.ts b/src/dev/build/lib/config.ts index 33b98e1b94a04..fa6d3bfa4229d 100644 --- a/src/dev/build/lib/config.ts +++ b/src/dev/build/lib/config.ts @@ -17,6 +17,7 @@ interface Options { isRelease: boolean; targetAllPlatforms: boolean; versionQualifier?: string; + dockerCrossCompile: boolean; } interface Package { @@ -29,7 +30,12 @@ interface Package { } export class Config { - static async create({ isRelease, targetAllPlatforms, versionQualifier }: Options) { + static async create({ + isRelease, + targetAllPlatforms, + versionQualifier, + dockerCrossCompile, + }: Options) { const pkgPath = resolve(__dirname, '../../../../package.json'); const pkg: Package = loadJsonFile.sync(pkgPath); @@ -43,6 +49,7 @@ export class Config { versionQualifier, pkg, }), + dockerCrossCompile, isRelease ); } @@ -53,6 +60,7 @@ export class Config { private readonly nodeVersion: string, private readonly repoRoot: string, private readonly versionInfo: VersionInfo, + private readonly dockerCrossCompile: boolean, public readonly isRelease: boolean ) {} @@ -70,6 +78,13 @@ export class Config { return this.nodeVersion; } + /** + * Get docker cross compile + */ + getDockerCrossCompile() { + return this.dockerCrossCompile; + } + /** * Convert an absolute path to a relative path, based from the repo */ diff --git a/src/dev/build/lib/runner.test.ts b/src/dev/build/lib/runner.test.ts index 2a08da2797a9d..3b606465fcecc 100644 --- a/src/dev/build/lib/runner.test.ts +++ b/src/dev/build/lib/runner.test.ts @@ -50,6 +50,7 @@ const setup = async () => { isRelease: true, targetAllPlatforms: true, versionQualifier: '-SNAPSHOT', + dockerCrossCompile: false, }); const run = createRunner({ diff --git a/src/dev/build/tasks/build_kibana_example_plugins.ts b/src/dev/build/tasks/build_kibana_example_plugins.ts index 93ebf41d259e7..0208ba2ed61b6 100644 --- a/src/dev/build/tasks/build_kibana_example_plugins.ts +++ b/src/dev/build/tasks/build_kibana_example_plugins.ts @@ -26,10 +26,13 @@ export const BuildKibanaExamplePlugins: Task = { .map((f) => Path.resolve(dir, f.name)); }; + // https://github.com/elastic/kibana/issues/127338 + const skipExamples = ['alerting_example']; + const folders = [ ...getExampleFolders(Path.resolve(REPO_ROOT, 'examples')), ...getExampleFolders(Path.resolve(REPO_ROOT, 'x-pack/examples')), - ]; + ].filter((p) => !skipExamples.includes(Path.basename(p))); for (const examplePlugin of folders) { try { diff --git a/src/dev/build/tasks/nodejs/download_node_builds_task.test.ts b/src/dev/build/tasks/nodejs/download_node_builds_task.test.ts index f5de91794ae1e..80e9120a57b65 100644 --- a/src/dev/build/tasks/nodejs/download_node_builds_task.test.ts +++ b/src/dev/build/tasks/nodejs/download_node_builds_task.test.ts @@ -39,6 +39,7 @@ async function setup({ failOnUrl }: { failOnUrl?: string } = {}) { const config = await Config.create({ isRelease: true, targetAllPlatforms: true, + dockerCrossCompile: false, }); getNodeDownloadInfo.mockImplementation((_: Config, platform: Platform) => { diff --git a/src/dev/build/tasks/nodejs/extract_node_builds_task.test.ts b/src/dev/build/tasks/nodejs/extract_node_builds_task.test.ts index 9f869b99c18ae..28974349ba455 100644 --- a/src/dev/build/tasks/nodejs/extract_node_builds_task.test.ts +++ b/src/dev/build/tasks/nodejs/extract_node_builds_task.test.ts @@ -43,6 +43,7 @@ async function setup() { const config = await Config.create({ isRelease: true, targetAllPlatforms: true, + dockerCrossCompile: false, }); return { config }; diff --git a/src/dev/build/tasks/nodejs/verify_existing_node_builds_task.test.ts b/src/dev/build/tasks/nodejs/verify_existing_node_builds_task.test.ts index c636db145694c..e6787bed1c056 100644 --- a/src/dev/build/tasks/nodejs/verify_existing_node_builds_task.test.ts +++ b/src/dev/build/tasks/nodejs/verify_existing_node_builds_task.test.ts @@ -48,6 +48,7 @@ async function setup(actualShaSums?: Record) { const config = await Config.create({ isRelease: true, targetAllPlatforms: true, + dockerCrossCompile: false, }); getNodeShasums.mockReturnValue( diff --git a/src/dev/build/tasks/os_packages/create_os_package_tasks.ts b/src/dev/build/tasks/os_packages/create_os_package_tasks.ts index 0a6faa2e95fa1..6ad51d7981e13 100644 --- a/src/dev/build/tasks/os_packages/create_os_package_tasks.ts +++ b/src/dev/build/tasks/os_packages/create_os_package_tasks.ts @@ -50,20 +50,22 @@ export const CreateRpmPackage: Task = { }; const dockerBuildDate = new Date().toISOString(); -export const CreateDockerCentOS: Task = { - description: 'Creating Docker CentOS image', +export const CreateDockerUbuntu: Task = { + description: 'Creating Docker Ubuntu image', async run(config, log, build) { await runDockerGenerator(config, log, build, { architecture: 'x64', context: false, image: true, + ubuntu: true, dockerBuildDate, }); await runDockerGenerator(config, log, build, { architecture: 'aarch64', context: false, image: true, + ubuntu: true, dockerBuildDate, }); }, @@ -90,12 +92,14 @@ export const CreateDockerCloud: Task = { architecture: 'x64', context: false, cloud: true, + ubuntu: true, image: true, }); await runDockerGenerator(config, log, build, { architecture: 'aarch64', context: false, cloud: true, + ubuntu: true, image: true, }); }, @@ -106,6 +110,7 @@ export const CreateDockerContexts: Task = { async run(config, log, build) { await runDockerGenerator(config, log, build, { + ubuntu: true, context: true, image: false, dockerBuildDate, diff --git a/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker b/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker index 31f1a344f5921..9848bda064460 100755 --- a/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker +++ b/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker @@ -422,6 +422,8 @@ kibana_vars=( xpack.task_manager.poll_interval xpack.task_manager.request_capacity xpack.task_manager.version_conflict_threshold + xpack.task_manager.event_loop_delay.monitor + xpack.task_manager.event_loop_delay.warn_threshold ) longopts='' diff --git a/src/dev/build/tasks/os_packages/docker_generator/run.ts b/src/dev/build/tasks/os_packages/docker_generator/run.ts index 715516c3807ec..5f2bc3de1c4ac 100644 --- a/src/dev/build/tasks/os_packages/docker_generator/run.ts +++ b/src/dev/build/tasks/os_packages/docker_generator/run.ts @@ -31,13 +31,15 @@ export async function runDockerGenerator( context: boolean; image: boolean; ubi?: boolean; + ubuntu?: boolean; ironbank?: boolean; cloud?: boolean; dockerBuildDate?: string; } ) { - // UBI var config - const baseOSImage = flags.ubi ? 'docker.elastic.co/ubi8/ubi-minimal:latest' : 'centos:8'; + let baseOSImage = ''; + if (flags.ubuntu) baseOSImage = 'ubuntu:20.04'; + if (flags.ubi) baseOSImage = 'docker.elastic.co/ubi8/ubi-minimal:latest'; const ubiVersionTag = 'ubi8'; let imageFlavor = ''; @@ -71,6 +73,8 @@ export async function runDockerGenerator( : []), ]; + const dockerCrossCompile = config.getDockerCrossCompile(); + const publicArtifactSubdomain = config.isRelease ? 'artifacts' : 'snapshots-no-kpi'; const scope: TemplateContext = { artifactPrefix, artifactTarball, @@ -85,12 +89,14 @@ export async function runDockerGenerator( baseOSImage, dockerBuildDate, ubi: flags.ubi, + ubuntu: flags.ubuntu, cloud: flags.cloud, metricbeatTarball, filebeatTarball, ironbank: flags.ironbank, architecture: flags.architecture, revision: config.getBuildSha(), + publicArtifactSubdomain, }; type HostArchitectureToDocker = Record; @@ -99,7 +105,7 @@ export async function runDockerGenerator( arm64: 'aarch64', }; const buildArchitectureSupported = hostTarget[process.arch] === flags.architecture; - if (flags.architecture && !buildArchitectureSupported) { + if (flags.architecture && !buildArchitectureSupported && !dockerCrossCompile) { return; } diff --git a/src/dev/build/tasks/os_packages/docker_generator/template_context.ts b/src/dev/build/tasks/os_packages/docker_generator/template_context.ts index 075a3a8808e73..334a582bf7b96 100644 --- a/src/dev/build/tasks/os_packages/docker_generator/template_context.ts +++ b/src/dev/build/tasks/os_packages/docker_generator/template_context.ts @@ -20,7 +20,9 @@ export interface TemplateContext { baseOSImage: string; dockerBuildDate: string; usePublicArtifact?: boolean; + publicArtifactSubdomain: string; ubi?: boolean; + ubuntu?: boolean; cloud?: boolean; metricbeatTarball?: string; filebeatTarball?: string; diff --git a/src/dev/build/tasks/os_packages/docker_generator/templates/base/Dockerfile b/src/dev/build/tasks/os_packages/docker_generator/templates/base/Dockerfile index 3998b7d03a2ce..b15ece224e5ba 100644 --- a/src/dev/build/tasks/os_packages/docker_generator/templates/base/Dockerfile +++ b/src/dev/build/tasks/os_packages/docker_generator/templates/base/Dockerfile @@ -14,12 +14,15 @@ FROM {{{baseOSImage}}} AS builder {{#ubi}} RUN {{packageManager}} install -y findutils tar gzip {{/ubi}} +{{#ubuntu}} +RUN {{packageManager}} update && DEBIAN_FRONTEND=noninteractive {{packageManager}} install -y curl +{{/ubuntu}} {{#usePublicArtifact}} RUN cd /tmp && \ curl --retry 8 -s -L \ --output kibana.tar.gz \ - https://artifacts.elastic.co/downloads/kibana/{{artifactPrefix}}-$(arch).tar.gz && \ + https://{{publicArtifactSubdomain}}.elastic.co/downloads/kibana/{{artifactPrefix}}-$(arch).tar.gz && \ cd - {{/usePublicArtifact}} @@ -55,18 +58,28 @@ FROM {{{baseOSImage}}} EXPOSE 5601 {{#ubi}} - # https://github.com/rpm-software-management/microdnf/issues/50 - RUN mkdir -p /run/user/$(id -u) -{{/ubi}} - RUN for iter in {1..10}; do \ {{packageManager}} update --setopt=tsflags=nodocs -y && \ {{packageManager}} install --setopt=tsflags=nodocs -y \ - fontconfig freetype shadow-utils nss {{#ubi}}findutils{{/ubi}} && \ + fontconfig freetype shadow-utils nss findutils && \ {{packageManager}} clean all && exit_code=0 && break || exit_code=$? && echo "{{packageManager}} error: retry $iter in 10s" && \ sleep 10; \ done; \ (exit $exit_code) +{{/ubi}} +{{#ubuntu}} +RUN for iter in {1..10}; do \ + export DEBIAN_FRONTEND=noninteractive && \ + {{packageManager}} update && \ + {{packageManager}} upgrade -y && \ + {{packageManager}} install -y --no-install-recommends \ + fontconfig fonts-liberation libnss3 libfontconfig1 ca-certificates curl && \ + {{packageManager}} clean && \ + rm -rf /var/lib/apt/lists/* && exit_code=0 && break || exit_code=$? && echo "{{packageManager}} error: retry $iter in 10s" && \ + sleep 10; \ + done; \ + (exit $exit_code) +{{/ubuntu}} # Add an init process, check the checksum to make sure it's a match RUN set -e ; \ @@ -163,7 +176,7 @@ ENTRYPOINT ["/bin/tini", "--"] CMD ["/app/kibana.sh"] # Generate a stub command that will be overwritten at runtime RUN mkdir /app && \ - echo -e '#!/bin/sh\nexec /usr/local/bin/kibana-docker' > /app/kibana.sh && \ + echo -e '#!/bin/bash\nexec /usr/local/bin/kibana-docker' > /app/kibana.sh && \ chmod 0555 /app/kibana.sh {{/cloud}} diff --git a/src/dev/build/tasks/os_packages/docker_generator/templates/build_docker_sh.template.ts b/src/dev/build/tasks/os_packages/docker_generator/templates/build_docker_sh.template.ts index 05b9b4d100c53..934f1b3c020e0 100644 --- a/src/dev/build/tasks/os_packages/docker_generator/templates/build_docker_sh.template.ts +++ b/src/dev/build/tasks/os_packages/docker_generator/templates/build_docker_sh.template.ts @@ -18,6 +18,7 @@ function generator({ baseOSImage, architecture, }: TemplateContext) { + const dockerArchitecture = architecture === 'aarch64' ? 'linux/arm64' : 'linux/amd64'; return dedent(` #!/usr/bin/env bash # @@ -54,7 +55,7 @@ function generator({ retry_docker_pull ${baseOSImage} echo "Building: kibana${imageFlavor}-docker"; \\ - docker build -t ${imageTag}${imageFlavor}:${version} -f Dockerfile . || exit 1; + docker buildx build --platform ${dockerArchitecture} -t ${imageTag}${imageFlavor}:${version} -f Dockerfile . || exit 1; docker save ${imageTag}${imageFlavor}:${version} | gzip -c > ${dockerTargetFilename} diff --git a/src/dev/build/tasks/os_packages/docker_generator/templates/dockerfile.template.ts b/src/dev/build/tasks/os_packages/docker_generator/templates/dockerfile.template.ts index e668299a3acc3..94068f2b64b12 100755 --- a/src/dev/build/tasks/os_packages/docker_generator/templates/dockerfile.template.ts +++ b/src/dev/build/tasks/os_packages/docker_generator/templates/dockerfile.template.ts @@ -16,7 +16,7 @@ function generator(options: TemplateContext) { const dir = options.ironbank ? 'ironbank' : 'base'; const template = readFileSync(resolve(__dirname, dir, './Dockerfile')); return Mustache.render(template.toString(), { - packageManager: options.ubi ? 'microdnf' : 'yum', + packageManager: options.ubi ? 'microdnf' : 'apt-get', ...options, }); } diff --git a/src/dev/build/tasks/os_packages/service_templates/systemd/etc/systemd/system/kibana.service b/src/dev/build/tasks/os_packages/service_templates/systemd/etc/systemd/system/kibana.service index 7a1508d91b213..5b37bb7b4548f 100644 --- a/src/dev/build/tasks/os_packages/service_templates/systemd/etc/systemd/system/kibana.service +++ b/src/dev/build/tasks/os_packages/service_templates/systemd/etc/systemd/system/kibana.service @@ -15,7 +15,7 @@ Environment=KBN_PATH_CONF=/etc/kibana EnvironmentFile=-/etc/default/kibana EnvironmentFile=-/etc/sysconfig/kibana -ExecStart=/usr/share/kibana/bin/kibana --logging.dest="/var/log/kibana/kibana.log" --pid.file="/run/kibana/kibana.pid" +ExecStart=/usr/share/kibana/bin/kibana --logging.dest="/var/log/kibana/kibana.log" --pid.file="/run/kibana/kibana.pid" --deprecation.skip_deprecated_settings[0]="logging.dest" Restart=on-failure RestartSec=3 diff --git a/src/dev/build/tasks/os_packages/service_templates/sysv/etc/init.d/kibana b/src/dev/build/tasks/os_packages/service_templates/sysv/etc/init.d/kibana index 37e2673202573..041694a316f30 100755 --- a/src/dev/build/tasks/os_packages/service_templates/sysv/etc/init.d/kibana +++ b/src/dev/build/tasks/os_packages/service_templates/sysv/etc/init.d/kibana @@ -35,7 +35,7 @@ fi name=kibana program=/usr/share/kibana/bin/kibana -args="--logging.dest=/var/log/kibana/kibana.log" +args="--logging.dest=/var/log/kibana/kibana.log --deprecation.skip_deprecated_settings[0]=logging.dest" pidfile="/var/run/kibana/$name.pid" [ -r /etc/default/$name ] && . /etc/default/$name diff --git a/src/dev/build/tasks/package_json/find_used_dependencies.ts b/src/dev/build/tasks/package_json/find_used_dependencies.ts index 8072287996368..96d3a37763142 100644 --- a/src/dev/build/tasks/package_json/find_used_dependencies.ts +++ b/src/dev/build/tasks/package_json/find_used_dependencies.ts @@ -62,7 +62,7 @@ export async function findUsedDependencies(listedPkgDependencies: any, baseDir: const listedDependencies = Object.keys(listedPkgDependencies); const filteredListedDependencies = listedDependencies.filter((entry) => { - return whiteListedModules.some((nonEntry) => entry.includes(nonEntry)); + return whiteListedModules.some((nonEntry) => entry === nonEntry); }); return filteredListedDependencies.reduce((foundUsedDeps: any, usedDep) => { diff --git a/src/dev/jest.integration.config.js b/src/dev/jest.integration.config.js new file mode 100644 index 0000000000000..1225651687834 --- /dev/null +++ b/src/dev/jest.integration.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_integration', + rootDir: '../..', + roots: ['/src/dev'], +}; diff --git a/src/dev/license_checker/config.ts b/src/dev/license_checker/config.ts index b024962672e6a..5438a5317cb39 100644 --- a/src/dev/license_checker/config.ts +++ b/src/dev/license_checker/config.ts @@ -65,6 +65,7 @@ export const LICENSE_ALLOWED = [ 'WTFPL OR ISC', 'WTFPL', 'Nuclide software', + 'Python-2.0', ]; // The following list only applies to licenses that diff --git a/src/dev/precommit_hook/casing_check_config.js b/src/dev/precommit_hook/casing_check_config.js index 424bbdb708862..fe15ad54a4e76 100644 --- a/src/dev/precommit_hook/casing_check_config.js +++ b/src/dev/precommit_hook/casing_check_config.js @@ -37,7 +37,7 @@ export const IGNORE_FILE_GLOBS = [ 'vars/*', '.ci/pipeline-library/**/*', 'packages/kbn-test/jest-preset.js', - 'packages/kbn-test/jest_integration/jest-preset.js', + 'packages/kbn-test/*/jest-preset.js', 'test/package/Vagrantfile', '**/test/**/fixtures/**/*', diff --git a/src/plugins/chart_expressions/jest.config.js b/src/plugins/chart_expressions/jest.config.js new file mode 100644 index 0000000000000..503ef441c0359 --- /dev/null +++ b/src/plugins/chart_expressions/jest.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../..', + roots: ['/src/plugins/chart_expressions'], +}; diff --git a/src/plugins/console/public/lib/es/es.ts b/src/plugins/console/public/lib/es/es.ts index dffc2c9682cf2..d96b294f203da 100644 --- a/src/plugins/console/public/lib/es/es.ts +++ b/src/plugins/console/public/lib/es/es.ts @@ -28,12 +28,15 @@ export function send( method: string, path: string, data: string | object, - { asSystemRequest }: SendOptions = {} + { asSystemRequest }: SendOptions = {}, + withProductOrigin: boolean = false ) { const wrappedDfd = $.Deferred(); const options: JQuery.AjaxSettings = { - url: '../api/console/proxy?' + stringify({ path, method }, { sort: false }), + url: + '../api/console/proxy?' + + stringify({ path, method, ...(withProductOrigin && { withProductOrigin }) }, { sort: false }), headers: { 'kbn-xsrf': 'kibana', ...(asSystemRequest && { 'kbn-system-request': 'true' }), diff --git a/src/plugins/console/public/lib/mappings/mappings.js b/src/plugins/console/public/lib/mappings/mappings.js index d4996f9fd8862..f00408089feb8 100644 --- a/src/plugins/console/public/lib/mappings/mappings.js +++ b/src/plugins/console/public/lib/mappings/mappings.js @@ -250,7 +250,8 @@ function retrieveSettings(settingsKey, settingsToRetrieve) { // Fetch autocomplete info if setting is set to true, and if user has made changes. if (settingsToRetrieve[settingsKey] === true) { - return es.send('GET', settingKeyToPathMap[settingsKey], null, true); + const WITH_PRODUCT_ORIGIN = true; + return es.send('GET', settingKeyToPathMap[settingsKey], null, true, WITH_PRODUCT_ORIGIN); } else { const settingsPromise = new $.Deferred(); if (settingsToRetrieve[settingsKey] === false) { diff --git a/src/plugins/console/server/routes/api/console/proxy/create_handler.ts b/src/plugins/console/server/routes/api/console/proxy/create_handler.ts index 9ece066246e4a..bdf9426a82107 100644 --- a/src/plugins/console/server/routes/api/console/proxy/create_handler.ts +++ b/src/plugins/console/server/routes/api/console/proxy/create_handler.ts @@ -116,7 +116,7 @@ export const createHandler = }: RouteDependencies): RequestHandler => async (ctx, request, response) => { const { body, query } = request; - const { path, method } = query; + const { path, method, withProductOrigin } = query; if (kibanaVersion.major < 8) { // The "console.proxyFilter" setting in kibana.yaml has been deprecated in 8.x @@ -153,6 +153,11 @@ export const createHandler = const requestHeaders = { ...headers, ...getProxyHeaders(request), + // There are a few internal calls that console UI makes to ES in order to get mappings, aliases and templates + // in the autocomplete mechanism from the editor. At this particular time, those requests generate deprecation + // logs since they access system indices. With this header we can provide a way to the UI to determine which + // requests need to deprecation logs and which ones dont. + ...(withProductOrigin && { 'x-elastic-product-origin': 'kibana' }), }; esIncomingMessage = await proxyRequest({ diff --git a/src/plugins/console/server/routes/api/console/proxy/headers.test.ts b/src/plugins/console/server/routes/api/console/proxy/headers.test.ts index a1a1ff253b391..c2db933ad4e7b 100644 --- a/src/plugins/console/server/routes/api/console/proxy/headers.test.ts +++ b/src/plugins/console/server/routes/api/console/proxy/headers.test.ts @@ -74,5 +74,24 @@ describe('Console Proxy Route', () => { expect(headers).toHaveProperty('x-forwarded-host'); expect(headers['x-forwarded-host']).toBe('test'); }); + + it('sends product-origin header when withProductOrigin query param is set', async () => { + await handler( + {} as any, + { + headers: {}, + query: { + method: 'POST', + path: '/api/console/proxy?path=_aliases&method=GET', + withProductOrigin: true, + }, + } as any, + kibanaResponseFactory + ); + + const [[{ headers }]] = (requestModule.proxyRequest as jest.Mock).mock.calls; + expect(headers).toHaveProperty('x-elastic-product-origin'); + expect(headers['x-elastic-product-origin']).toBe('kibana'); + }); }); }); diff --git a/src/plugins/console/server/routes/api/console/proxy/validation_config.ts b/src/plugins/console/server/routes/api/console/proxy/validation_config.ts index d9c5653c3efbb..4492863a16bcb 100644 --- a/src/plugins/console/server/routes/api/console/proxy/validation_config.ts +++ b/src/plugins/console/server/routes/api/console/proxy/validation_config.ts @@ -29,6 +29,7 @@ export const routeValidationConfig = { query: schema.object({ method: acceptedHttpVerb, path: nonEmptyString, + withProductOrigin: schema.maybe(schema.boolean()), }), body: schema.stream(), }; diff --git a/src/plugins/dashboard/common/embeddable/embeddable_saved_object_converters.ts b/src/plugins/dashboard/common/embeddable/embeddable_saved_object_converters.ts index d05ab71056902..e62170391381e 100644 --- a/src/plugins/dashboard/common/embeddable/embeddable_saved_object_converters.ts +++ b/src/plugins/dashboard/common/embeddable/embeddable_saved_object_converters.ts @@ -30,9 +30,6 @@ export function convertPanelStateToSavedDashboardPanel( panelState: DashboardPanelState, version: string ): SavedDashboardPanel { - const customTitle: string | undefined = panelState.explicitInput.title - ? (panelState.explicitInput.title as string) - : undefined; const savedObjectId = (panelState.explicitInput as SavedObjectEmbeddableInput).savedObjectId; return { version, @@ -40,7 +37,7 @@ export function convertPanelStateToSavedDashboardPanel( gridData: panelState.gridData, panelIndex: panelState.explicitInput.id, embeddableConfig: omit(panelState.explicitInput, ['id', 'savedObjectId', 'title']), - ...(customTitle && { title: customTitle }), + ...(panelState.explicitInput.title !== undefined && { title: panelState.explicitInput.title }), ...(savedObjectId !== undefined && { id: savedObjectId }), ...(panelState.panelRefName !== undefined && { panelRefName: panelState.panelRefName }), }; diff --git a/src/plugins/dashboard/public/application/actions/unlink_from_library_action.tsx b/src/plugins/dashboard/public/application/actions/unlink_from_library_action.tsx index 814f68a400981..68a5950269517 100644 --- a/src/plugins/dashboard/public/application/actions/unlink_from_library_action.tsx +++ b/src/plugins/dashboard/public/application/actions/unlink_from_library_action.tsx @@ -70,19 +70,24 @@ export class UnlinkFromLibraryAction implements Action = { type: embeddable.type, - explicitInput: { ...newInput }, + explicitInput: { ...newInput, title: embeddable.getTitle() }, }; + // since by value visualizations should not have default titles, unlinking a visualization should remove + // the library title from the attributes. + _.unset(newPanel, 'explicitInput.attributes.title'); dashboard.replacePanel(panelToReplace, newPanel, true); const title = dashboardUnlinkFromLibraryAction.getSuccessMessage( embeddable.getTitle() ? `'${embeddable.getTitle()}'` : '' ); + this.deps.toasts.addSuccess({ title, 'data-test-subj': 'unlinkPanelSuccess', diff --git a/src/plugins/dashboard/public/application/hooks/use_dashboard_app_state.ts b/src/plugins/dashboard/public/application/hooks/use_dashboard_app_state.ts index 99a7edf055f8c..19bf3a4217d95 100644 --- a/src/plugins/dashboard/public/application/hooks/use_dashboard_app_state.ts +++ b/src/plugins/dashboard/public/application/hooks/use_dashboard_app_state.ts @@ -8,9 +8,9 @@ import _ from 'lodash'; import { History } from 'history'; -import { debounceTime } from 'rxjs/operators'; +import { debounceTime, switchMap } from 'rxjs/operators'; import { useCallback, useEffect, useMemo, useState } from 'react'; -import { BehaviorSubject, combineLatest, Subject } from 'rxjs'; +import { BehaviorSubject, combineLatest, Observable, Subject } from 'rxjs'; import { DashboardConstants } from '../..'; import { ViewMode } from '../../services/embeddable'; @@ -261,37 +261,47 @@ export const useDashboardAppState = ({ dashboardAppState.$onDashboardStateChange, dashboardBuildContext.$checkForUnsavedChanges, ]) - .pipe(debounceTime(DashboardConstants.CHANGE_CHECK_DEBOUNCE)) - .subscribe((states) => { - const [lastSaved, current] = states; - const unsavedChanges = diffDashboardState(lastSaved, current); - - const savedTimeChanged = - lastSaved.timeRestore && - (!areTimeRangesEqual( - { - from: savedDashboard?.timeFrom, - to: savedDashboard?.timeTo, - }, - timefilter.getTime() - ) || - !areRefreshIntervalsEqual( - savedDashboard?.refreshInterval, - timefilter.getRefreshInterval() - )); - - /** - * changes to the dashboard should only be considered 'unsaved changes' when - * editing the dashboard - */ - const hasUnsavedChanges = - current.viewMode === ViewMode.EDIT && - (Object.keys(unsavedChanges).length > 0 || savedTimeChanged); - setDashboardAppState((s) => ({ ...s, hasUnsavedChanges })); - - unsavedChanges.viewMode = current.viewMode; // always push view mode into session store. - dashboardSessionStorage.setState(savedDashboardId, unsavedChanges); - }); + .pipe( + debounceTime(DashboardConstants.CHANGE_CHECK_DEBOUNCE), + switchMap((states) => { + return new Observable((observer) => { + const [lastSaved, current] = states; + diffDashboardState({ + getEmbeddable: (id: string) => dashboardContainer.untilEmbeddableLoaded(id), + originalState: lastSaved, + newState: current, + }).then((unsavedChanges) => { + if (observer.closed) return; + const savedTimeChanged = + lastSaved.timeRestore && + (!areTimeRangesEqual( + { + from: savedDashboard?.timeFrom, + to: savedDashboard?.timeTo, + }, + timefilter.getTime() + ) || + !areRefreshIntervalsEqual( + savedDashboard?.refreshInterval, + timefilter.getRefreshInterval() + )); + + /** + * changes to the dashboard should only be considered 'unsaved changes' when + * editing the dashboard + */ + const hasUnsavedChanges = + current.viewMode === ViewMode.EDIT && + (Object.keys(unsavedChanges).length > 0 || savedTimeChanged); + setDashboardAppState((s) => ({ ...s, hasUnsavedChanges })); + + unsavedChanges.viewMode = current.viewMode; // always push view mode into session store. + dashboardSessionStorage.setState(savedDashboardId, unsavedChanges); + }); + }); + }) + ) + .subscribe(); /** * initialize the last saved state, and build a callback which can be used to update diff --git a/src/plugins/dashboard/public/application/lib/diff_dashboard_state.test.ts b/src/plugins/dashboard/public/application/lib/diff_dashboard_state.test.ts new file mode 100644 index 0000000000000..9668999d20911 --- /dev/null +++ b/src/plugins/dashboard/public/application/lib/diff_dashboard_state.test.ts @@ -0,0 +1,166 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Filter } from '@kbn/es-query'; + +import { DashboardOptions, DashboardState } from '../../types'; +import { diffDashboardState } from './diff_dashboard_state'; +import { EmbeddableInput, IEmbeddable, ViewMode } from '../../services/embeddable'; + +const testFilter: Filter = { + meta: { + alias: null, + disabled: false, + negate: false, + }, + query: { query: 'hi' }, +}; + +const getEmbeddable = (id: string) => + Promise.resolve({ + getExplicitInputIsEqual: (previousInput: EmbeddableInput) => true, + } as unknown as IEmbeddable); + +const getDashboardState = (state?: Partial): DashboardState => { + const defaultState: DashboardState = { + description: 'This is a dashboard which is very neat', + query: { query: '', language: 'kql' }, + title: 'A very neat dashboard', + viewMode: ViewMode.VIEW, + fullScreenMode: false, + filters: [testFilter], + timeRestore: false, + tags: [], + options: { + hidePanelTitles: false, + useMargins: true, + syncColors: false, + }, + panels: { + panel_1: { + type: 'panel_type', + gridData: { w: 0, h: 0, x: 0, y: 0, i: 'panel_1' }, + panelRefName: 'panel_panel_1', + explicitInput: { + id: 'panel_1', + }, + }, + panel_2: { + type: 'panel_type', + gridData: { w: 0, h: 0, x: 0, y: 0, i: 'panel_2' }, + panelRefName: 'panel_panel_2', + explicitInput: { + id: 'panel_1', + }, + }, + }, + }; + return { ...defaultState, ...state }; +}; + +const getKeysFromDiff = async (partialState?: Partial): Promise => + Object.keys( + await diffDashboardState({ + originalState: getDashboardState(), + newState: getDashboardState(partialState), + getEmbeddable, + }) + ); + +describe('Dashboard state diff function', () => { + it('finds no difference in equal states', async () => { + expect(await getKeysFromDiff()).toEqual([]); + }); + + it('diffs simple state keys correctly', async () => { + expect( + ( + await getKeysFromDiff({ + timeRestore: true, + title: 'what a cool new title', + description: 'what a cool new description', + query: { query: 'woah a query', language: 'kql' }, + }) + ).sort() + ).toEqual(['description', 'query', 'timeRestore', 'title']); + }); + + it('picks up differences in dashboard options', async () => { + expect( + await getKeysFromDiff({ + options: { + hidePanelTitles: false, + useMargins: false, + syncColors: false, + }, + }) + ).toEqual(['options']); + }); + + it('considers undefined and false to be equivalent in dashboard options', async () => { + expect( + await getKeysFromDiff({ + options: { + useMargins: true, + syncColors: undefined, + } as unknown as DashboardOptions, + }) + ).toEqual([]); + }); + + it('calls getExplicitInputIsEqual on each panel', async () => { + const mockedGetEmbeddable = jest.fn().mockImplementation((id) => getEmbeddable(id)); + await diffDashboardState({ + originalState: getDashboardState(), + newState: getDashboardState(), + getEmbeddable: mockedGetEmbeddable, + }); + expect(mockedGetEmbeddable).toHaveBeenCalledTimes(2); + }); + + it('short circuits panels comparison when one panel returns false', async () => { + const mockedGetEmbeddable = jest.fn().mockImplementation((id) => { + if (id === 'panel_1') { + return Promise.resolve({ + getExplicitInputIsEqual: (previousInput: EmbeddableInput) => false, + } as unknown as IEmbeddable); + } + getEmbeddable(id); + }); + + await diffDashboardState({ + originalState: getDashboardState(), + newState: getDashboardState(), + getEmbeddable: mockedGetEmbeddable, + }); + expect(mockedGetEmbeddable).toHaveBeenCalledTimes(1); + }); + + it('skips individual panel comparisons if panel ids are different', async () => { + const mockedGetEmbeddable = jest.fn().mockImplementation((id) => getEmbeddable(id)); + const stateDiff = await diffDashboardState({ + originalState: getDashboardState(), + newState: getDashboardState({ + panels: { + panel_1: { + type: 'panel_type', + gridData: { w: 0, h: 0, x: 0, y: 0, i: 'panel_1' }, + panelRefName: 'panel_panel_1', + explicitInput: { + id: 'panel_1', + }, + }, + // panel 2 has been deleted + }, + }), + getEmbeddable: mockedGetEmbeddable, + }); + expect(mockedGetEmbeddable).not.toHaveBeenCalled(); + expect(Object.keys(stateDiff)).toEqual(['panels']); + }); +}); diff --git a/src/plugins/dashboard/public/application/lib/diff_dashboard_state.ts b/src/plugins/dashboard/public/application/lib/diff_dashboard_state.ts index 920dc0b9d5d80..576cfff556cb1 100644 --- a/src/plugins/dashboard/public/application/lib/diff_dashboard_state.ts +++ b/src/plugins/dashboard/public/application/lib/diff_dashboard_state.ts @@ -6,121 +6,160 @@ * Side Public License, v 1. */ -import _ from 'lodash'; -import { DashboardPanelState } from '..'; -import { esFilters, Filter } from '../../services/data'; -import { - DashboardContainerInput, - DashboardOptions, - DashboardPanelMap, - DashboardState, -} from '../../types'; - -interface DashboardDiffCommon { - [key: string]: unknown; -} - -type DashboardDiffCommonFilters = DashboardDiffCommon & { filters: Filter[] }; +import { xor, omit, isEmpty } from 'lodash'; +import fastIsEqual from 'fast-deep-equal'; +import { compareFilters, COMPARE_ALL_OPTIONS, Filter, isFilterPinned } from '@kbn/es-query'; +import { DashboardContainerInput } from '../..'; +import { DashboardOptions, DashboardPanelMap, DashboardState } from '../../types'; +import { IEmbeddable } from '../../services/embeddable'; + +const stateKeystoIgnore = [ + 'expandedPanelId', + 'fullScreenMode', + 'savedQuery', + 'viewMode', + 'tags', +] as const; +type DashboardStateToCompare = Omit; + +const inputKeystoIgnore = ['searchSessionId', 'lastReloadRequestTime', 'executionContext'] as const; +type DashboardInputToCompare = Omit; + +/** + * The diff dashboard Container method is used to sync redux state and the dashboard container input. + * It should eventually be replaced with a usage of the dashboardContainer.isInputEqual function + **/ export const diffDashboardContainerInput = ( originalInput: DashboardContainerInput, newInput: DashboardContainerInput -) => { - return commonDiffFilters( - originalInput as unknown as DashboardDiffCommonFilters, - newInput as unknown as DashboardDiffCommonFilters, - ['searchSessionId', 'lastReloadRequestTime', 'executionContext'] - ); +): Partial => { + const { filters: originalFilters, ...commonOriginal } = omit(originalInput, inputKeystoIgnore); + const { filters: newFilters, ...commonNew } = omit(newInput, inputKeystoIgnore); + + const commonInputDiff: Partial = commonDiff(commonOriginal, commonNew); + const filtersAreEqual = getFiltersAreEqual(originalInput.filters, newInput.filters); + + return { + ...commonInputDiff, + ...(filtersAreEqual ? {} : { filters: newInput.filters }), + }; }; -export const diffDashboardState = ( - original: DashboardState, - newState: DashboardState -): Partial => { - const common = commonDiffFilters( - original as unknown as DashboardDiffCommonFilters, - newState as unknown as DashboardDiffCommonFilters, - ['viewMode', 'panels', 'options', 'savedQuery', 'expandedPanelId'], - true +/** + * The diff dashboard state method compares dashboard state keys to determine which state keys + * have changed, and therefore should be backed up. + **/ +export const diffDashboardState = async ({ + originalState, + newState, + getEmbeddable, +}: { + originalState: DashboardState; + newState: DashboardState; + getEmbeddable: (id: string) => Promise; +}): Promise> => { + const { + options: originalOptions, + filters: originalFilters, + panels: originalPanels, + ...commonCompareOriginal + } = omit(originalState, stateKeystoIgnore); + const { + options: newOptions, + filters: newFilters, + panels: newPanels, + ...commonCompareNew + } = omit(newState, stateKeystoIgnore); + + const commonStateDiff: Partial = commonDiff( + commonCompareOriginal, + commonCompareNew + ); + + const panelsAreEqual = await getPanelsAreEqual( + originalState.panels, + newState.panels, + getEmbeddable ); + const optionsAreEqual = getOptionsAreEqual(originalState.options, newState.options); + const filtersAreEqual = getFiltersAreEqual(originalState.filters, newState.filters, true); return { - ...common, - ...(panelsAreEqual(original.panels, newState.panels) ? {} : { panels: newState.panels }), - ...(optionsAreEqual(original.options, newState.options) ? {} : { options: newState.options }), + ...commonStateDiff, + ...(panelsAreEqual ? {} : { panels: newState.panels }), + ...(filtersAreEqual ? {} : { filters: newState.filters }), + ...(optionsAreEqual ? {} : { options: newState.options }), }; }; -const optionsAreEqual = (optionsA: DashboardOptions, optionsB: DashboardOptions): boolean => { - const optionKeys = [...Object.keys(optionsA), ...Object.keys(optionsB)]; +const getFiltersAreEqual = ( + filtersA: Filter[], + filtersB: Filter[], + ignorePinned?: boolean +): boolean => { + return compareFilters( + filtersA, + ignorePinned ? filtersB.filter((f) => !isFilterPinned(f)) : filtersB, + COMPARE_ALL_OPTIONS + ); +}; + +const getOptionsAreEqual = (optionsA: DashboardOptions, optionsB: DashboardOptions): boolean => { + const optionKeys = [ + ...(Object.keys(optionsA) as Array), + ...(Object.keys(optionsB) as Array), + ]; for (const key of optionKeys) { - if ( - Boolean((optionsA as unknown as { [key: string]: boolean })[key]) !== - Boolean((optionsB as unknown as { [key: string]: boolean })[key]) - ) { - return false; - } + if (Boolean(optionsA[key]) !== Boolean(optionsB[key])) return false; } return true; }; -const panelsAreEqual = (panelsA: DashboardPanelMap, panelsB: DashboardPanelMap): boolean => { - const embeddableIdsA = Object.keys(panelsA); - const embeddableIdsB = Object.keys(panelsB); - if ( - embeddableIdsA.length !== embeddableIdsB.length || - _.xor(embeddableIdsA, embeddableIdsB).length > 0 - ) { +const getPanelsAreEqual = async ( + originalPanels: DashboardPanelMap, + newPanels: DashboardPanelMap, + getEmbeddable: (id: string) => Promise +): Promise => { + const originalEmbeddableIds = Object.keys(originalPanels); + const newEmbeddableIds = Object.keys(newPanels); + + const embeddableIdDiff = xor(originalEmbeddableIds, newEmbeddableIds); + if (embeddableIdDiff.length > 0) { return false; } + // embeddable ids are equal so let's compare individual panels. - for (const id of embeddableIdsA) { - const panelCommonDiff = commonDiff( - panelsA[id] as unknown as DashboardDiffCommon, - panelsB[id] as unknown as DashboardDiffCommon, - ['panelRefName'] - ); - if (Object.keys(panelCommonDiff).length > 0) { - return false; - } - } + for (const embeddableId of newEmbeddableIds) { + const { + explicitInput: originalExplicitInput, + panelRefName: panelRefA, + ...commonPanelDiffOriginal + } = originalPanels[embeddableId]; + const { + explicitInput: newExplicitInput, + panelRefName: panelRefB, + ...commonPanelDiffNew + } = newPanels[embeddableId]; - return true; -}; + if (!isEmpty(commonDiff(commonPanelDiffOriginal, commonPanelDiffNew))) return false; -const commonDiffFilters = ( - originalObj: DashboardDiffCommonFilters, - newObj: DashboardDiffCommonFilters, - omitKeys: string[], - ignorePinned?: boolean -): Partial => { - const filtersAreDifferent = () => - !esFilters.compareFilters( - originalObj.filters, - ignorePinned ? newObj.filters.filter((f) => !esFilters.isFilterPinned(f)) : newObj.filters, - esFilters.COMPARE_ALL_OPTIONS - ); - const otherDifferences = commonDiff(originalObj, newObj, [...omitKeys, 'filters']); - return _.cloneDeep({ - ...otherDifferences, - ...(filtersAreDifferent() ? { filters: newObj.filters } : {}), - }); + // the position and type of this embeddable is equal. Now we compare the embeddable input + const embeddable = await getEmbeddable(embeddableId); + if (!(await embeddable.getExplicitInputIsEqual(originalExplicitInput))) return false; + } + return true; }; -const commonDiff = ( - originalObj: DashboardDiffCommon, - newObj: DashboardDiffCommon, - omitKeys: string[] -) => { +const commonDiff = (originalObj: Partial, newObj: Partial) => { const differences: Partial = {}; - const keys = [...Object.keys(originalObj), ...Object.keys(newObj)].filter( - (key) => !omitKeys.includes(key) - ); - keys.forEach((key) => { - if (key === undefined) return; - if (!_.isEqual(originalObj[key], newObj[key])) { - (differences as { [key: string]: unknown })[key] = newObj[key]; - } - }); + const keys = [ + ...(Object.keys(originalObj) as Array), + ...(Object.keys(newObj) as Array), + ]; + for (const key of keys) { + if (key === undefined) continue; + if (!fastIsEqual(originalObj[key], newObj[key])) differences[key] = newObj[key]; + } return differences; }; diff --git a/src/plugins/dashboard/public/application/lib/index.ts b/src/plugins/dashboard/public/application/lib/index.ts index 845cfcb096c51..58f962591b67c 100644 --- a/src/plugins/dashboard/public/application/lib/index.ts +++ b/src/plugins/dashboard/public/application/lib/index.ts @@ -11,6 +11,7 @@ export { getDashboardIdFromUrl } from './url'; export { saveDashboard } from './save_dashboard'; export { migrateAppState } from './migrate_app_state'; export { addHelpMenuToAppChrome } from './help_menu_util'; +export { diffDashboardState } from './diff_dashboard_state'; export { getTagsFromSavedDashboard } from './dashboard_tagging'; export { syncDashboardUrlState } from './sync_dashboard_url_state'; export { DashboardSessionStorage } from './dashboard_session_storage'; @@ -19,7 +20,6 @@ export { attemptLoadDashboardByTitle } from './load_dashboard_by_title'; export { syncDashboardFilterState } from './sync_dashboard_filter_state'; export { syncDashboardIndexPatterns } from './sync_dashboard_index_patterns'; export { syncDashboardContainerInput } from './sync_dashboard_container_input'; -export { diffDashboardContainerInput, diffDashboardState } from './diff_dashboard_state'; export { loadDashboardHistoryLocationState } from './load_dashboard_history_location_state'; export { buildDashboardContainer, tryDestroyDashboardContainer } from './build_dashboard_container'; export { diff --git a/src/plugins/dashboard/public/application/lib/sync_dashboard_url_state.ts b/src/plugins/dashboard/public/application/lib/sync_dashboard_url_state.ts index e0a1526baa473..227430142325a 100644 --- a/src/plugins/dashboard/public/application/lib/sync_dashboard_url_state.ts +++ b/src/plugins/dashboard/public/application/lib/sync_dashboard_url_state.ts @@ -7,6 +7,7 @@ */ import _ from 'lodash'; +import { debounceTime } from 'rxjs/operators'; import { migrateAppState } from '.'; import { DashboardSavedObject } from '../..'; @@ -25,8 +26,6 @@ import { convertSavedPanelsToPanelMap } from './convert_dashboard_panels'; type SyncDashboardUrlStateProps = DashboardBuildContext & { savedDashboard: DashboardSavedObject }; -let awaitingRemoval = false; - export const syncDashboardUrlState = ({ dispatchDashboardStateChange, getLatestDashboardState, @@ -36,14 +35,44 @@ export const syncDashboardUrlState = ({ savedDashboard, kibanaVersion, }: SyncDashboardUrlStateProps) => { + /** + * Loads any dashboard state from the URL, and removes the state from the URL. + */ + const loadAndRemoveDashboardState = (): Partial => { + const rawAppStateInUrl = kbnUrlStateStorage.get(DASHBOARD_STATE_STORAGE_KEY); + if (!rawAppStateInUrl) return {}; + + let panelsMap: DashboardPanelMap = {}; + if (rawAppStateInUrl.panels && rawAppStateInUrl.panels.length > 0) { + const rawState = migrateAppState(rawAppStateInUrl, kibanaVersion, usageCollection); + panelsMap = convertSavedPanelsToPanelMap(rawState.panels); + } + + const migratedQuery = rawAppStateInUrl.query + ? migrateLegacyQuery(rawAppStateInUrl.query) + : undefined; + + const nextUrl = replaceUrlHashQuery(window.location.href, (query) => { + delete query[DASHBOARD_STATE_STORAGE_KEY]; + return query; + }); + kbnUrlStateStorage.kbnUrlControls.update(nextUrl, true); + + return { + ..._.omit(rawAppStateInUrl, ['panels', 'query']), + ...(migratedQuery ? { query: migratedQuery } : {}), + ...(rawAppStateInUrl.panels ? { panels: panelsMap } : {}), + }; + }; + // load initial state before subscribing to avoid state removal triggering update. - const loadDashboardStateProps = { kbnUrlStateStorage, usageCollection, kibanaVersion }; - const initialDashboardStateFromUrl = loadDashboardUrlState(loadDashboardStateProps); + const initialDashboardStateFromUrl = loadAndRemoveDashboardState(); const appStateSubscription = kbnUrlStateStorage .change$(DASHBOARD_STATE_STORAGE_KEY) + .pipe(debounceTime(10)) // debounce URL updates so react has time to unsubscribe when changing URLs .subscribe(() => { - const stateFromUrl = loadDashboardUrlState(loadDashboardStateProps); + const stateFromUrl = loadAndRemoveDashboardState(); const updatedDashboardState = { ...getLatestDashboardState(), ...stateFromUrl }; applyDashboardFilterState({ @@ -57,57 +86,6 @@ export const syncDashboardUrlState = ({ dispatchDashboardStateChange(setDashboardState(updatedDashboardState)); }); - const stopWatchingAppStateInUrl = () => { - appStateSubscription.unsubscribe(); - }; + const stopWatchingAppStateInUrl = () => appStateSubscription.unsubscribe(); return { initialDashboardStateFromUrl, stopWatchingAppStateInUrl }; }; - -interface LoadDashboardUrlStateProps { - kibanaVersion: DashboardBuildContext['kibanaVersion']; - usageCollection: DashboardBuildContext['usageCollection']; - kbnUrlStateStorage: DashboardBuildContext['kbnUrlStateStorage']; -} - -/** - * Loads any dashboard state from the URL, and removes the state from the URL. - */ -const loadDashboardUrlState = ({ - kibanaVersion, - usageCollection, - kbnUrlStateStorage, -}: LoadDashboardUrlStateProps): Partial => { - const rawAppStateInUrl = kbnUrlStateStorage.get(DASHBOARD_STATE_STORAGE_KEY); - if (!rawAppStateInUrl) return {}; - - let panelsMap: DashboardPanelMap = {}; - if (rawAppStateInUrl.panels && rawAppStateInUrl.panels.length > 0) { - const rawState = migrateAppState(rawAppStateInUrl, kibanaVersion, usageCollection); - panelsMap = convertSavedPanelsToPanelMap(rawState.panels); - } - - const migratedQuery = rawAppStateInUrl.query - ? migrateLegacyQuery(rawAppStateInUrl.query) - : undefined; - - // remove state from URL - if (!awaitingRemoval) { - awaitingRemoval = true; - kbnUrlStateStorage.kbnUrlControls.updateAsync((nextUrl) => { - if (nextUrl.includes(DASHBOARD_STATE_STORAGE_KEY)) { - return replaceUrlHashQuery(nextUrl, (query) => { - delete query[DASHBOARD_STATE_STORAGE_KEY]; - return query; - }); - } - awaitingRemoval = false; - return nextUrl; - }, true); - } - - return { - ..._.omit(rawAppStateInUrl, ['panels', 'query']), - ...(migratedQuery ? { query: migratedQuery } : {}), - ...(rawAppStateInUrl.panels ? { panels: panelsMap } : {}), - }; -}; diff --git a/src/plugins/data/common/search/aggs/buckets/filters.ts b/src/plugins/data/common/search/aggs/buckets/filters.ts index 4861c7248ebff..2ce6abbef543e 100644 --- a/src/plugins/data/common/search/aggs/buckets/filters.ts +++ b/src/plugins/data/common/search/aggs/buckets/filters.ts @@ -12,7 +12,6 @@ import { buildEsQuery, Query } from '@kbn/es-query'; import { QueryFilter, queryFilterToAst } from '../../expressions'; import { createFilterFilters } from './create_filter/filters'; -import { toAngularJSON } from '../utils'; import { BucketAggType } from './bucket_agg_type'; import { BUCKET_TYPES } from './bucket_agg_types'; import { aggFiltersFnName } from './filters_fn'; @@ -83,7 +82,7 @@ export const getFiltersBucketAgg = ({ getConfig }: FiltersBucketAggDependencies) matchAllLabel || (typeof filter.input.query === 'string' ? filter.input.query - : toAngularJSON(filter.input.query)); + : JSON.stringify(filter.input.query)); filters[label] = query; }, {} diff --git a/src/plugins/data/common/search/aggs/utils/date_interval_utils/parse_es_interval.test.ts b/src/plugins/data/common/search/aggs/utils/date_interval_utils/parse_es_interval.test.ts index 2e7ffd9d562c3..13d957e7c38bc 100644 --- a/src/plugins/data/common/search/aggs/utils/date_interval_utils/parse_es_interval.test.ts +++ b/src/plugins/data/common/search/aggs/utils/date_interval_utils/parse_es_interval.test.ts @@ -22,6 +22,13 @@ describe('parseEsInterval', () => { expect(parseEsInterval('1y')).toEqual({ value: 1, unit: 'y', type: 'calendar' }); }); + it('should correctly parse an user-friendly intervals', () => { + expect(parseEsInterval('minute')).toEqual({ value: 1, unit: 'm', type: 'calendar' }); + expect(parseEsInterval('hour')).toEqual({ value: 1, unit: 'h', type: 'calendar' }); + expect(parseEsInterval('month')).toEqual({ value: 1, unit: 'M', type: 'calendar' }); + expect(parseEsInterval('year')).toEqual({ value: 1, unit: 'y', type: 'calendar' }); + }); + it('should correctly parse an interval containing unit and multiple value', () => { expect(parseEsInterval('250ms')).toEqual({ value: 250, unit: 'ms', type: 'fixed' }); expect(parseEsInterval('90s')).toEqual({ value: 90, unit: 's', type: 'fixed' }); diff --git a/src/plugins/data/common/search/aggs/utils/date_interval_utils/parse_es_interval.ts b/src/plugins/data/common/search/aggs/utils/date_interval_utils/parse_es_interval.ts index 0280cc0f7c8af..b723c3f45c5a6 100644 --- a/src/plugins/data/common/search/aggs/utils/date_interval_utils/parse_es_interval.ts +++ b/src/plugins/data/common/search/aggs/utils/date_interval_utils/parse_es_interval.ts @@ -7,16 +7,37 @@ */ import dateMath, { Unit } from '@elastic/datemath'; - import { InvalidEsCalendarIntervalError } from './invalid_es_calendar_interval_error'; import { InvalidEsIntervalFormatError } from './invalid_es_interval_format_error'; const ES_INTERVAL_STRING_REGEX = new RegExp( '^([1-9][0-9]*)\\s*(' + dateMath.units.join('|') + ')$' ); - export type ParsedInterval = ReturnType; +/** ES allows to work at user-friendly intervals. + * This method matches between these intervals and the intervals accepted by parseEsInterval. + * @internal **/ +const mapToEquivalentInterval = (interval: string) => { + switch (interval) { + case 'minute': + return '1m'; + case 'hour': + return '1h'; + case 'day': + return '1d'; + case 'week': + return '1w'; + case 'month': + return '1M'; + case 'quarter': + return '1q'; + case 'year': + return '1y'; + } + return interval; +}; + /** * Extracts interval properties from an ES interval string. Disallows unrecognized interval formats * and fractional values. Converts some intervals from "calendar" to "fixed" when the number of @@ -37,7 +58,7 @@ export type ParsedInterval = ReturnType; * */ export function parseEsInterval(interval: string) { - const matches = String(interval).trim().match(ES_INTERVAL_STRING_REGEX); + const matches = String(mapToEquivalentInterval(interval)).trim().match(ES_INTERVAL_STRING_REGEX); if (!matches) { throw new InvalidEsIntervalFormatError(interval); diff --git a/src/plugins/data/common/search/aggs/utils/index.ts b/src/plugins/data/common/search/aggs/utils/index.ts index 2edce79ca690b..d12c0ebb1cbbd 100644 --- a/src/plugins/data/common/search/aggs/utils/index.ts +++ b/src/plugins/data/common/search/aggs/utils/index.ts @@ -13,6 +13,5 @@ export * from './date_interval_utils'; export * from './get_aggs_formats'; export * from './ip_address'; export * from './prop_filter'; -export * from './to_angular_json'; export * from './infer_time_zone'; export * from './parse_time_shift'; diff --git a/src/plugins/data/common/search/aggs/utils/to_angular_json.ts b/src/plugins/data/common/search/aggs/utils/to_angular_json.ts deleted file mode 100644 index cf4050072b829..0000000000000 --- a/src/plugins/data/common/search/aggs/utils/to_angular_json.ts +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -/** - * An inlined version of angular.toJSON(). Source: - * https://github.com/angular/angular.js/blob/master/src/Angular.js#L1312 - * - * @internal - */ -export function toAngularJSON(obj: any, pretty?: any): string { - if (obj === undefined) return ''; - if (typeof pretty === 'number') { - pretty = pretty ? 2 : null; - } - return JSON.stringify(obj, toJsonReplacer, pretty); -} - -function isWindow(obj: any) { - return obj && obj.window === obj; -} - -function isScope(obj: any) { - return obj && obj.$evalAsync && obj.$watch; -} - -function toJsonReplacer(key: any, value: any) { - let val = value; - - if (typeof key === 'string' && key.charAt(0) === '$' && key.charAt(1) === '$') { - val = undefined; - } else if (isWindow(value)) { - val = '$WINDOW'; - } else if (value && window.document === value) { - val = '$DOCUMENT'; - } else if (isScope(value)) { - val = '$SCOPE'; - } - - return val; -} diff --git a/src/plugins/data/common/search/search_source/search_source.test.ts b/src/plugins/data/common/search/search_source/search_source.test.ts index 8ef457ac586c5..72869e2555d8a 100644 --- a/src/plugins/data/common/search/search_source/search_source.test.ts +++ b/src/plugins/data/common/search/search_source/search_source.test.ts @@ -157,6 +157,22 @@ describe('SearchSource', () => { expect(request.runtime_mappings).toEqual(runtimeFields); }); + test('except when size is 0', async () => { + const runtimeFields = { runtime_field: runtimeFieldDef }; + searchSource.setField('size', 0).setField('index', { + ...indexPattern, + getComputedFields: () => ({ + storedFields: ['hello'], + scriptFields: { world: {} }, + docvalueFields: ['@timestamp'], + runtimeFields, + }), + } as unknown as IndexPattern); + + const request = searchSource.getSearchRequestBody(); + expect(request.fields).toBeUndefined(); + }); + test('never includes docvalue_fields', async () => { searchSource.setField('index', { ...indexPattern, @@ -211,25 +227,21 @@ describe('SearchSource', () => { expect(request.fields).toEqual(['c', { field: 'a', format: 'date_time' }]); }); - test('allows you to override computed fields if you provide a format', async () => { - const indexPatternFields = indexPattern.fields; - indexPatternFields.getByType = (type) => { - return []; - }; - searchSource.setField('index', { + test('does not allow any field info when size is 0', async () => { + searchSource.setField('size', 0).setField('index', { ...indexPattern, - fields: indexPatternFields, getComputedFields: () => ({ storedFields: [], scriptFields: {}, - docvalueFields: [{ field: 'hello', format: 'date_time' }], + docvalueFields: [{ field: 'a', format: 'date_time' }], }), } as unknown as IndexPattern); - searchSource.setField('fields', [{ field: 'hello', format: 'strict_date_time' }]); + searchSource.setField('fields', ['c']); + searchSource.setField('fieldsFromSource', ['a', 'b', 'd']); const request = searchSource.getSearchRequestBody(); - expect(request).toHaveProperty('fields'); - expect(request.fields).toEqual([{ field: 'hello', format: 'strict_date_time' }]); + expect(request).not.toHaveProperty('_source'); + expect(request).not.toHaveProperty('fields'); }); test('injects a date format for computed docvalue fields if none is provided', async () => { diff --git a/src/plugins/data/common/search/search_source/search_source.ts b/src/plugins/data/common/search/search_source/search_source.ts index 0691925ed50f7..8a7973ff08f8f 100644 --- a/src/plugins/data/common/search/search_source/search_source.ts +++ b/src/plugins/data/common/search/search_source/search_source.ts @@ -838,6 +838,12 @@ export class SearchSource { body.fields = filteredDocvalueFields; } + // If we aren't requesting any documents, there isn't any reason to request any field information + if (body.size === 0) { + delete body._source; + delete body.fields; + } + // If sorting by _score, build queries in the "must" clause instead of "filter" clause to enable scoring const filtersInMustClause = (body.sort ?? []).some((sort: EsQuerySortValue[]) => sort.hasOwnProperty('_score') diff --git a/src/plugins/data/common/search/tabify/tabify.test.ts b/src/plugins/data/common/search/tabify/tabify.test.ts index 6cdf9a3547d48..3e1b856de4100 100644 --- a/src/plugins/data/common/search/tabify/tabify.test.ts +++ b/src/plugins/data/common/search/tabify/tabify.test.ts @@ -8,7 +8,7 @@ import { tabifyAggResponse } from './tabify'; import { IndexPattern } from '../..'; -import { AggConfigs, IAggConfig, IAggConfigs } from '../aggs'; +import { AggConfigs, BucketAggParam, IAggConfig, IAggConfigs } from '../aggs'; import { mockAggTypesRegistry } from '../aggs/test_helpers'; import { metricOnly, threeTermBuckets } from './fixtures/fake_hierarchical_data'; @@ -54,6 +54,42 @@ describe('tabifyAggResponse Integration', () => { expect(resp.columns[0]).toHaveProperty('name', aggConfigs.aggs[0].makeLabel()); }); + describe('scaleMetricValues performance check', () => { + beforeAll(() => { + typesRegistry.get('count').params.push({ + name: 'scaleMetricValues', + default: false, + write: () => {}, + advanced: true, + } as any as BucketAggParam); + }); + test('does not call write if scaleMetricValues is not set', () => { + const aggConfigs = createAggConfigs([{ type: 'count' } as any]); + + const writeMock = jest.fn(); + aggConfigs.getRequestAggs()[0].write = writeMock; + + tabifyAggResponse(aggConfigs, metricOnly, { + metricsAtAllLevels: true, + }); + expect(writeMock).not.toHaveBeenCalled(); + }); + + test('does call write if scaleMetricValues is set', () => { + const aggConfigs = createAggConfigs([ + { type: 'count', params: { scaleMetricValues: true } } as any, + ]); + + const writeMock = jest.fn(() => ({})); + aggConfigs.getRequestAggs()[0].write = writeMock; + + tabifyAggResponse(aggConfigs, metricOnly, { + metricsAtAllLevels: true, + }); + expect(writeMock).toHaveBeenCalled(); + }); + }); + describe('transforms a complex response', () => { let esResp: typeof threeTermBuckets; let aggConfigs: IAggConfigs; diff --git a/src/plugins/data/common/search/tabify/tabify.ts b/src/plugins/data/common/search/tabify/tabify.ts index a4d9551da75d5..9d1d6aadcb769 100644 --- a/src/plugins/data/common/search/tabify/tabify.ts +++ b/src/plugins/data/common/search/tabify/tabify.ts @@ -37,8 +37,10 @@ export function tabifyAggResponse( if (column) { const agg = column.aggConfig; - const aggInfo = agg.write(aggs); - aggScale *= aggInfo.metricScale || 1; + if (agg.getParam('scaleMetricValues')) { + const aggInfo = agg.write(aggs); + aggScale *= aggInfo.metricScale || 1; + } switch (agg.type.type) { case AggGroupNames.Buckets: diff --git a/src/plugins/data/public/index.ts b/src/plugins/data/public/index.ts index 0b749d90f7152..0b7bf32b92a25 100644 --- a/src/plugins/data/public/index.ts +++ b/src/plugins/data/public/index.ts @@ -203,6 +203,7 @@ export { isEsError, SearchSessionState, SortDirection, + handleResponse, } from './search'; export type { diff --git a/src/plugins/data/public/search/index.ts b/src/plugins/data/public/search/index.ts index 821f16e0cf68a..d963e08f8477b 100644 --- a/src/plugins/data/public/search/index.ts +++ b/src/plugins/data/public/search/index.ts @@ -52,6 +52,7 @@ export { waitUntilNextSessionCompletes$, } from './session'; export { getEsPreference } from './es_search'; +export { handleResponse } from './fetch'; export type { SearchInterceptorDeps } from './search_interceptor'; export { SearchInterceptor } from './search_interceptor'; diff --git a/src/plugins/data/public/ui/query_string_input/_query_bar.scss b/src/plugins/data/public/ui/query_string_input/_query_bar.scss index 4e12f11668734..6ba21c4fded7c 100644 --- a/src/plugins/data/public/ui/query_string_input/_query_bar.scss +++ b/src/plugins/data/public/ui/query_string_input/_query_bar.scss @@ -39,6 +39,8 @@ // shadow to line up correctly. padding: $euiSizeS; box-shadow: 0 0 0 1px $euiFormBorderColor; + // Firefox adds margin to textarea + margin: 0; @include kbnThemeStyle('v7') { padding-top: $euiSizeS + 2px; diff --git a/src/plugins/data/server/search/deprecations/get_deprecations.test.ts b/src/plugins/data/server/search/deprecations/get_deprecations.test.ts new file mode 100644 index 0000000000000..1c3234a56deef --- /dev/null +++ b/src/plugins/data/server/search/deprecations/get_deprecations.test.ts @@ -0,0 +1,76 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { GetDeprecationsContext, SavedObjectsClientContract } from 'kibana/server'; +import { savedObjectsClientMock } from 'src/core/server/mocks'; +import { getDeprecations } from './get_deprecations'; + +function getMockConfigObj(batchSearches?: boolean) { + const attributes = { + buildNum: 9007199254740991, + ...(batchSearches !== undefined && { 'courier:batchSearches': batchSearches }), + }; + return { + type: 'config', + id: '7.17.0', + attributes, + references: [], + migrationVersion: { config: '7.13.0' }, + coreMigrationVersion: '7.17.0', + updated_at: '2022-01-12T19:14:27.230Z', + version: 'WzQ3LDFd', + namespaces: ['default'], + score: 0, + }; +} + +describe('data plugin search service deprecations', () => { + let savedObjectsClient: jest.Mocked; + let context: GetDeprecationsContext; + + beforeEach(async () => { + savedObjectsClient = savedObjectsClientMock.create(); + context = { savedObjectsClient } as unknown as GetDeprecationsContext; + }); + + test('returns empty array if courier:batchSearches is not explicitly set', async () => { + savedObjectsClient.find.mockResolvedValue({ + page: 1, + per_page: 20, + total: 1, + saved_objects: [getMockConfigObj(undefined)], + }); + + const deprecations = await getDeprecations(context); + expect(deprecations).toHaveLength(0); + }); + + test('returns empty array if courier:batchSearches is set to false', async () => { + savedObjectsClient.find.mockResolvedValue({ + page: 1, + per_page: 20, + total: 1, + saved_objects: [getMockConfigObj(false)], + }); + + const deprecations = await getDeprecations(context); + expect(deprecations).toHaveLength(0); + }); + + test('returns a deprecation if courier:batchSearches is set to true', async () => { + savedObjectsClient.find.mockResolvedValue({ + page: 1, + per_page: 20, + total: 1, + saved_objects: [getMockConfigObj(true)], + }); + + const deprecations = await getDeprecations(context); + expect(deprecations).toHaveLength(1); + }); +}); diff --git a/src/plugins/data/server/search/deprecations/get_deprecations.ts b/src/plugins/data/server/search/deprecations/get_deprecations.ts new file mode 100644 index 0000000000000..464153f212de9 --- /dev/null +++ b/src/plugins/data/server/search/deprecations/get_deprecations.ts @@ -0,0 +1,42 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { i18n } from '@kbn/i18n'; +import { DeprecationsDetails, GetDeprecationsContext } from 'kibana/server'; + +export async function getDeprecations(ctx: GetDeprecationsContext): Promise { + const response = await ctx.savedObjectsClient.find>({ + type: 'config', + }); + const isCourierBatchSearchesUsed = response.saved_objects.some( + (config) => + config.attributes.hasOwnProperty('courier:batchSearches') && + config.attributes['courier:batchSearches'] === true + ); + if (!isCourierBatchSearchesUsed) return []; + return [ + { + title: i18n.translate('data.deprecations.courierBatchSearchesSettingTitle', { + defaultMessage: 'courier:batchSearches is deprecated', + }), + message: i18n.translate('data.deprecations.courierBatchSearchesSettingMessage', { + defaultMessage: + 'courier:batchSearches is currently enabled, and search requests use the legacy _search behavior.', + }), + level: 'warning', + deprecationType: 'feature', + correctiveActions: { + manualSteps: [ + i18n.translate('data.deprecations.manualStepOneMessage', { + defaultMessage: 'Set courier:batchSearches to false to use _async_search instead.', + }), + ], + }, + }, + ]; +} diff --git a/src/plugins/data/server/search/deprecations/index.ts b/src/plugins/data/server/search/deprecations/index.ts new file mode 100644 index 0000000000000..b73bef2e1380f --- /dev/null +++ b/src/plugins/data/server/search/deprecations/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { getDeprecations } from './get_deprecations'; diff --git a/src/plugins/data/server/search/routes/call_msearch.ts b/src/plugins/data/server/search/routes/call_msearch.ts index 4a7db9517c688..bbcb6c2f3732e 100644 --- a/src/plugins/data/server/search/routes/call_msearch.ts +++ b/src/plugins/data/server/search/routes/call_msearch.ts @@ -60,8 +60,12 @@ export function getCallMsearch(dependencies: CallMsearchDependencies) { const config = await globalConfig$.pipe(first()).toPromise(); const timeout = getShardTimeout(config); - // trackTotalHits is not supported by msearch - const { track_total_hits: _, ...defaultParams } = await getDefaultSearchParams(uiSettings); + // track_total_hits/enable_fields_emulation are not supported by msearch + const { + track_total_hits: tth, + enable_fields_emulation: efe, + ...defaultParams + } = await getDefaultSearchParams(uiSettings); try { const promise = esClient.asCurrentUser.msearch( diff --git a/src/plugins/data/server/search/search_service.ts b/src/plugins/data/server/search/search_service.ts index 33216eab59d9a..249e5968d0423 100644 --- a/src/plugins/data/server/search/search_service.ts +++ b/src/plugins/data/server/search/search_service.ts @@ -90,6 +90,7 @@ import { enhancedEsSearchStrategyProvider } from './strategies/ese_search'; import { eqlSearchStrategyProvider } from './strategies/eql_search'; import { NoSearchIdInSessionError } from './errors/no_search_id_in_session'; import { CachedUiSettingsClient } from './services'; +import { getDeprecations } from './deprecations'; type StrategyMap = Record>; @@ -147,6 +148,7 @@ export class SearchService implements Plugin { return this.asScoped(request); } ); + core.deprecations.registerDeprecations({ getDeprecations }); this.registerSearchStrategy( ES_SEARCH_STRATEGY, diff --git a/src/plugins/data/server/search/strategies/eql_search/eql_search_strategy.ts b/src/plugins/data/server/search/strategies/eql_search/eql_search_strategy.ts index 4c75d62f12190..32424a8f62bcc 100644 --- a/src/plugins/data/server/search/strategies/eql_search/eql_search_strategy.ts +++ b/src/plugins/data/server/search/strategies/eql_search/eql_search_strategy.ts @@ -41,9 +41,13 @@ export const eqlSearchStrategyProvider = ( const client = esClient.asCurrentUser.eql; const search = async () => { - const { track_total_hits: _, ...defaultParams } = await getDefaultSearchParams( - uiSettingsClient - ); + // track_total_hits/enable_fields_emulation are not supported by _eql/search + const { + track_total_hits: tth, + enable_fields_emulation: efe, + ...defaultParams + } = await getDefaultSearchParams(uiSettingsClient, request.params?.body); + const params = id ? getDefaultAsyncGetParams(null, options) : { @@ -52,6 +56,7 @@ export const eqlSearchStrategyProvider = ( ...getDefaultAsyncGetParams(null, options), ...request.params, }; + const promise = id ? client.get({ ...params, id }, request.options) : // @ts-expect-error EqlRequestParams | undefined is not assignable to EqlRequestParams diff --git a/src/plugins/data/server/search/strategies/es_search/es_search_strategy.test.ts b/src/plugins/data/server/search/strategies/es_search/es_search_strategy.test.ts index bbbc99d157fe0..aebc3dcc8404b 100644 --- a/src/plugins/data/server/search/strategies/es_search/es_search_strategy.test.ts +++ b/src/plugins/data/server/search/strategies/es_search/es_search_strategy.test.ts @@ -74,6 +74,7 @@ describe('ES search strategy', () => { ...params, ignore_unavailable: true, track_total_hits: true, + enable_fields_emulation: true, }); done(); }); @@ -89,6 +90,7 @@ describe('ES search strategy', () => { expect(mockApiCaller.mock.calls[0][0]).toEqual({ ...params, track_total_hits: true, + enable_fields_emulation: true, }); done(); }); @@ -126,6 +128,7 @@ describe('ES search strategy', () => { expect(mockApiCaller.mock.calls[0][0]).toEqual({ ...params, track_total_hits: true, + enable_fields_emulation: true, }); expect(mockedApiCaller.abort).toBeCalled(); }); diff --git a/src/plugins/data/server/search/strategies/es_search/es_search_strategy.ts b/src/plugins/data/server/search/strategies/es_search/es_search_strategy.ts index c24aa37082bd8..d508a91dae6fe 100644 --- a/src/plugins/data/server/search/strategies/es_search/es_search_strategy.ts +++ b/src/plugins/data/server/search/strategies/es_search/es_search_strategy.ts @@ -39,7 +39,7 @@ export const esSearchStrategyProvider = ( try { const config = await config$.pipe(first()).toPromise(); const params = { - ...(await getDefaultSearchParams(uiSettingsClient)), + ...(await getDefaultSearchParams(uiSettingsClient, request.params?.body)), ...getShardTimeout(config), ...request.params, }; diff --git a/src/plugins/data/server/search/strategies/es_search/request_utils.ts b/src/plugins/data/server/search/strategies/es_search/request_utils.ts index 15cad34065ddc..2123b3dba5247 100644 --- a/src/plugins/data/server/search/strategies/es_search/request_utils.ts +++ b/src/plugins/data/server/search/strategies/es_search/request_utils.ts @@ -7,6 +7,7 @@ */ import type { TransportRequestPromise } from '@elastic/elasticsearch/lib/Transport'; +import { SearchRequest } from '@elastic/elasticsearch/api/types'; import type { Search } from '@elastic/elasticsearch/api/requestParams'; import type { IUiSettingsClient, SharedGlobalConfig } from 'kibana/server'; import { UI_SETTINGS } from '../../../../common'; @@ -17,18 +18,29 @@ export function getShardTimeout(config: SharedGlobalConfig): Pick + uiSettingsClient: Pick, + body: SearchRequest['body'] = {} ): Promise< - Pick + Pick & { + enable_fields_emulation: boolean; + } > { const maxConcurrentShardRequests = await uiSettingsClient.get( UI_SETTINGS.COURIER_MAX_CONCURRENT_SHARD_REQUESTS ); + + // Specifying specific fields from both "_source" and "fields' while emulating the fields API will throw errors in ES + // See https://github.com/elastic/elasticsearch/pull/75745 + const hasFields = Array.isArray(body?.fields) && body?.fields.length > 0; + const hasSourceFields = body?.hasOwnProperty('_source') && typeof body?._source !== 'boolean'; + const enableFieldsEmulation = !(hasFields && hasSourceFields); + return { max_concurrent_shard_requests: maxConcurrentShardRequests > 0 ? maxConcurrentShardRequests : undefined, ignore_unavailable: true, // Don't fail if the index/indices don't exist track_total_hits: true, + enable_fields_emulation: enableFieldsEmulation, }; } diff --git a/src/plugins/data/server/search/strategies/ese_search/ese_search_strategy.ts b/src/plugins/data/server/search/strategies/ese_search/ese_search_strategy.ts index 75a4ddf051418..029136384fe81 100644 --- a/src/plugins/data/server/search/strategies/ese_search/ese_search_strategy.ts +++ b/src/plugins/data/server/search/strategies/ese_search/ese_search_strategy.ts @@ -64,6 +64,7 @@ export const enhancedEsSearchStrategyProvider = ( ...(await getDefaultAsyncSubmitParams( uiSettingsClient, searchSessionsClient.getConfig(), + request.params?.body, options )), ...request.params, @@ -110,7 +111,7 @@ export const enhancedEsSearchStrategyProvider = ( const querystring = { ...getShardTimeout(legacyConfig), ...(await getIgnoreThrottled(uiSettingsClient)), - ...(await getDefaultSearchParams(uiSettingsClient)), + ...(await getDefaultSearchParams(uiSettingsClient, request.params?.body)), ...params, }; diff --git a/src/plugins/data/server/search/strategies/ese_search/request_utils.test.ts b/src/plugins/data/server/search/strategies/ese_search/request_utils.test.ts index 91b323de7c07b..61c8b61f7b434 100644 --- a/src/plugins/data/server/search/strategies/ese_search/request_utils.test.ts +++ b/src/plugins/data/server/search/strategies/ese_search/request_utils.test.ts @@ -56,7 +56,7 @@ describe('request utils', () => { const mockConfig = getMockSearchSessionsConfig({ defaultExpiration: moment.duration(3, 'd'), }); - const params = await getDefaultAsyncSubmitParams(mockUiSettingsClient, mockConfig, {}); + const params = await getDefaultAsyncSubmitParams(mockUiSettingsClient, mockConfig, {}, {}); expect(params).toHaveProperty('keep_alive', '1m'); }); @@ -67,9 +67,14 @@ describe('request utils', () => { const mockConfig = getMockSearchSessionsConfig({ defaultExpiration: moment.duration(3, 'd'), }); - const params = await getDefaultAsyncSubmitParams(mockUiSettingsClient, mockConfig, { - sessionId: 'foo', - }); + const params = await getDefaultAsyncSubmitParams( + mockUiSettingsClient, + mockConfig, + {}, + { + sessionId: 'foo', + } + ); expect(params).toHaveProperty('keep_alive', '259200000ms'); }); @@ -81,9 +86,14 @@ describe('request utils', () => { defaultExpiration: moment.duration(3, 'd'), enabled: false, }); - const params = await getDefaultAsyncSubmitParams(mockUiSettingsClient, mockConfig, { - sessionId: 'foo', - }); + const params = await getDefaultAsyncSubmitParams( + mockUiSettingsClient, + mockConfig, + {}, + { + sessionId: 'foo', + } + ); expect(params).toHaveProperty('keep_alive', '1m'); }); @@ -92,9 +102,14 @@ describe('request utils', () => { [UI_SETTINGS.SEARCH_INCLUDE_FROZEN]: false, }); const mockConfig = getMockSearchSessionsConfig({}); - const params = await getDefaultAsyncSubmitParams(mockUiSettingsClient, mockConfig, { - sessionId: 'foo', - }); + const params = await getDefaultAsyncSubmitParams( + mockUiSettingsClient, + mockConfig, + {}, + { + sessionId: 'foo', + } + ); expect(params).toHaveProperty('keep_on_completion', true); }); @@ -106,11 +121,45 @@ describe('request utils', () => { defaultExpiration: moment.duration(3, 'd'), enabled: false, }); - const params = await getDefaultAsyncSubmitParams(mockUiSettingsClient, mockConfig, { - sessionId: 'foo', - }); + const params = await getDefaultAsyncSubmitParams( + mockUiSettingsClient, + mockConfig, + {}, + { + sessionId: 'foo', + } + ); expect(params).toHaveProperty('keep_on_completion', false); }); + + test('Sends `enable_fields_emulation: true` for BWC with CCS if not specifying both fields and _source', async () => { + const mockUiSettingsClient = getMockUiSettingsClient({ + [UI_SETTINGS.SEARCH_INCLUDE_FROZEN]: false, + }); + const mockConfig = getMockSearchSessionsConfig({ + defaultExpiration: moment.duration(3, 'd'), + enabled: false, + }); + const params = await getDefaultAsyncSubmitParams(mockUiSettingsClient, mockConfig, {}, {}); + expect(params).toHaveProperty('enable_fields_emulation', true); + }); + + test('Sends `enable_fields_emulation: false` if specifying both fields and _source', async () => { + const mockUiSettingsClient = getMockUiSettingsClient({ + [UI_SETTINGS.SEARCH_INCLUDE_FROZEN]: false, + }); + const mockConfig = getMockSearchSessionsConfig({ + defaultExpiration: moment.duration(3, 'd'), + enabled: false, + }); + const params = await getDefaultAsyncSubmitParams( + mockUiSettingsClient, + mockConfig, + { fields: ['foo'], _source: { excludes: ['bar'] } }, + {} + ); + expect(params).toHaveProperty('enable_fields_emulation', false); + }); }); describe('getDefaultAsyncGetParams', () => { diff --git a/src/plugins/data/server/search/strategies/ese_search/request_utils.ts b/src/plugins/data/server/search/strategies/ese_search/request_utils.ts index f8fb54cfd870b..589f502047d54 100644 --- a/src/plugins/data/server/search/strategies/ese_search/request_utils.ts +++ b/src/plugins/data/server/search/strategies/ese_search/request_utils.ts @@ -12,6 +12,7 @@ import { AsyncSearchSubmit, Search, } from '@elastic/elasticsearch/api/requestParams'; +import { SearchRequest } from '@elastic/elasticsearch/api/types'; import { ISearchOptions, UI_SETTINGS } from '../../../../common'; import { getDefaultSearchParams } from '../es_search'; import { SearchSessionsConfigSchema } from '../../../../config'; @@ -32,7 +33,8 @@ export async function getIgnoreThrottled( export async function getDefaultAsyncSubmitParams( uiSettingsClient: Pick, searchSessionsConfig: SearchSessionsConfigSchema | null, - options: ISearchOptions + body: SearchRequest['body'] = {}, + options: ISearchOptions = {} ): Promise< Pick< AsyncSearchSubmit, @@ -44,7 +46,9 @@ export async function getDefaultAsyncSubmitParams( | 'ignore_unavailable' | 'track_total_hits' | 'keep_on_completion' - > + > & { + enable_fields_emulation: boolean; + } > { const useSearchSessions = searchSessionsConfig?.enabled && !!options.sessionId; @@ -64,8 +68,7 @@ export async function getDefaultAsyncSubmitParams( // The initial keepalive is as defined in defaultExpiration if search sessions are used or 1m otherwise. keep_alive: keepAlive, ...(await getIgnoreThrottled(uiSettingsClient)), - ...(await getDefaultSearchParams(uiSettingsClient)), - // If search sessions are used, set the initial expiration time. + ...(await getDefaultSearchParams(uiSettingsClient, body)), }; } diff --git a/src/plugins/data_views/server/fetcher/lib/field_capabilities/overrides.ts b/src/plugins/data_views/server/fetcher/lib/field_capabilities/overrides.ts index 9183eecf3e9c3..fa9c03a67ccde 100644 --- a/src/plugins/data_views/server/fetcher/lib/field_capabilities/overrides.ts +++ b/src/plugins/data_views/server/fetcher/lib/field_capabilities/overrides.ts @@ -14,11 +14,6 @@ const OVERRIDES: Record> = { _index: { type: 'string' }, _type: { type: 'string' }, _id: { type: 'string' }, - _timestamp: { - type: 'date', - searchable: true, - aggregatable: true, - }, _score: { type: 'number', searchable: false, diff --git a/src/plugins/discover/public/application/apps/context/context_app.tsx b/src/plugins/discover/public/application/apps/context/context_app.tsx index 23bf849ac55e9..88c4ee8280ce2 100644 --- a/src/plugins/discover/public/application/apps/context/context_app.tsx +++ b/src/plugins/discover/public/application/apps/context/context_app.tsx @@ -152,7 +152,7 @@ export const ContextApp = ({ indexPattern, anchorId }: ContextAppProps) => { - + (); + const anchorId = decodeURIComponent(id); useEffect(() => { chrome.setBreadcrumbs([ @@ -73,5 +74,5 @@ export function ContextAppRoute(props: ContextAppProps) { return ; } - return ; + return ; } diff --git a/src/plugins/discover/public/application/apps/main/components/chart/discover_chart.tsx b/src/plugins/discover/public/application/apps/main/components/chart/discover_chart.tsx index 73ddfb976e5e1..6930a5667cc43 100644 --- a/src/plugins/discover/public/application/apps/main/components/chart/discover_chart.tsx +++ b/src/plugins/discover/public/application/apps/main/components/chart/discover_chart.tsx @@ -18,7 +18,7 @@ import { import { i18n } from '@kbn/i18n'; import { HitsCounter } from '../hits_counter'; import { SavedSearch } from '../../../../../saved_searches'; -import { AppState, GetStateReturn } from '../../services/discover_state'; +import { GetStateReturn } from '../../services/discover_state'; import { DiscoverHistogram } from './histogram'; import { DataCharts$, DataTotalHits$ } from '../../services/use_saved_search'; import { DiscoverServices } from '../../../../../build_services'; @@ -33,18 +33,20 @@ export function DiscoverChart({ savedSearchDataChart$, savedSearchDataTotalHits$, services, - state, stateContainer, isTimeBased, + hideChart, + interval, }: { resetSavedSearch: () => void; savedSearch: SavedSearch; savedSearchDataChart$: DataCharts$; savedSearchDataTotalHits$: DataTotalHits$; services: DiscoverServices; - state: AppState; stateContainer: GetStateReturn; isTimeBased: boolean; + hideChart?: boolean; + interval?: string; }) { const [showChartOptionsPopover, setShowChartOptionsPopover] = useState(false); @@ -67,14 +69,14 @@ export function DiscoverChart({ if (chartRef.current.moveFocus && chartRef.current.element) { chartRef.current.element.focus(); } - }, [state.hideChart]); + }, [hideChart]); const toggleHideChart = useCallback(() => { - const newHideChart = !state.hideChart; - stateContainer.setAppState({ hideChart: newHideChart }); + const newHideChart = !hideChart; chartRef.current.moveFocus = !newHideChart; storage.set(CHART_HIDDEN_KEY, newHideChart); - }, [state.hideChart, stateContainer, storage]); + stateContainer.setAppState({ hideChart: newHideChart }); + }, [hideChart, stateContainer, storage]); const timefilterUpdateHandler = useCallback( (ranges: { from: number; to: number }) => { @@ -87,11 +89,11 @@ export function DiscoverChart({ [data] ); const panels = useChartPanels( - state, - savedSearchDataChart$, toggleHideChart, - (interval) => stateContainer.setAppState({ interval }), - () => setShowChartOptionsPopover(false) + (newInterval) => stateContainer.setAppState({ interval: newInterval }), + () => setShowChartOptionsPopover(false), + hideChart, + interval ); return ( @@ -135,7 +137,7 @@ export function DiscoverChart({ )} - {isTimeBased && !state.hideChart && ( + {isTimeBased && !hideChart && (
    (chartRef.current.element = element)} diff --git a/src/plugins/discover/public/application/apps/main/components/chart/use_chart_panels.test.ts b/src/plugins/discover/public/application/apps/main/components/chart/use_chart_panels.test.ts index a1b9c30380969..fc6adcd3dd598 100644 --- a/src/plugins/discover/public/application/apps/main/components/chart/use_chart_panels.test.ts +++ b/src/plugins/discover/public/application/apps/main/components/chart/use_chart_panels.test.ts @@ -9,25 +9,12 @@ import { renderHook } from '@testing-library/react-hooks'; import { useChartPanels } from './use_chart_panels'; -import { AppState } from '../../services/discover_state'; -import { BehaviorSubject } from 'rxjs'; -import { DataCharts$ } from '../../services/use_saved_search'; -import { FetchStatus } from '../../../../types'; import { EuiContextMenuPanelDescriptor } from '@elastic/eui'; describe('test useChartPanels', () => { test('useChartsPanel when hideChart is true', async () => { - const charts$ = new BehaviorSubject({ - fetchStatus: FetchStatus.COMPLETE, - }) as DataCharts$; const { result } = renderHook(() => { - return useChartPanels( - { hideChart: true, interval: 'auto' } as AppState, - charts$, - jest.fn(), - jest.fn(), - jest.fn() - ); + return useChartPanels(jest.fn(), jest.fn(), jest.fn(), true, 'auto'); }); const panels: EuiContextMenuPanelDescriptor[] = result.current; const panel0: EuiContextMenuPanelDescriptor = result.current[0]; @@ -35,17 +22,8 @@ describe('test useChartPanels', () => { expect(panel0!.items![0].icon).toBe('eye'); }); test('useChartsPanel when hideChart is false', async () => { - const charts$ = new BehaviorSubject({ - fetchStatus: FetchStatus.COMPLETE, - }) as DataCharts$; const { result } = renderHook(() => { - return useChartPanels( - { hideChart: false, interval: 'auto' } as AppState, - charts$, - jest.fn(), - jest.fn(), - jest.fn() - ); + return useChartPanels(jest.fn(), jest.fn(), jest.fn(), false, 'auto'); }); const panels: EuiContextMenuPanelDescriptor[] = result.current; const panel0: EuiContextMenuPanelDescriptor = result.current[0]; diff --git a/src/plugins/discover/public/application/apps/main/components/chart/use_chart_panels.ts b/src/plugins/discover/public/application/apps/main/components/chart/use_chart_panels.ts index 3660173ef761d..f8e21a58c4df9 100644 --- a/src/plugins/discover/public/application/apps/main/components/chart/use_chart_panels.ts +++ b/src/plugins/discover/public/application/apps/main/components/chart/use_chart_panels.ts @@ -11,17 +11,14 @@ import type { EuiContextMenuPanelDescriptor, } from '@elastic/eui'; import { search } from '../../../../../../../data/public'; -import { AppState } from '../../services/discover_state'; -import { DataCharts$ } from '../../services/use_saved_search'; export function useChartPanels( - state: AppState, - savedSearchDataChart$: DataCharts$, toggleHideChart: () => void, onChangeInterval: (value: string) => void, - closePopover: () => void + closePopover: () => void, + hideChart?: boolean, + interval?: string ) { - const { interval, hideChart } = state; const selectedOptionIdx = search.aggs.intervalOptions.findIndex((opt) => opt.val === interval); const intervalDisplay = selectedOptionIdx > -1 diff --git a/src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_infinite.tsx b/src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_infinite.tsx index dddfefa906962..d29bdc1e4db3f 100644 --- a/src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_infinite.tsx +++ b/src/plugins/discover/public/application/apps/main/components/doc_table/doc_table_infinite.tsx @@ -118,7 +118,7 @@ export const DocTableInfinite = (props: DocTableProps) => { const onBackToTop = useCallback(() => { const isMobileView = document.getElementsByClassName('dscSidebar__mobile').length > 0; - const focusElem = document.querySelector('.dscTable') as HTMLElement; + const focusElem = document.querySelector('.dscSkipButton') as HTMLElement; focusElem.focus(); // Only the desktop one needs to target a specific container diff --git a/src/plugins/discover/public/application/apps/main/components/layout/discover_documents.tsx b/src/plugins/discover/public/application/apps/main/components/layout/discover_documents.tsx index 64d5e08f25d73..f937f0c3e1e2b 100644 --- a/src/plugins/discover/public/application/apps/main/components/layout/discover_documents.tsx +++ b/src/plugins/discover/public/application/apps/main/components/layout/discover_documents.tsx @@ -120,7 +120,7 @@ function DiscoverDocumentsComponent({ } return ( - +

    diff --git a/src/plugins/discover/public/application/apps/main/components/layout/discover_layout.tsx b/src/plugins/discover/public/application/apps/main/components/layout/discover_layout.tsx index f716102f9ad8b..6f62c00fa065e 100644 --- a/src/plugins/discover/public/application/apps/main/components/layout/discover_layout.tsx +++ b/src/plugins/discover/public/application/apps/main/components/layout/discover_layout.tsx @@ -276,7 +276,6 @@ export function DiscoverLayout({ > diff --git a/src/plugins/discover/public/application/apps/main/services/use_discover_state.test.ts b/src/plugins/discover/public/application/apps/main/services/use_discover_state.test.ts index c719f83980aa0..614b910c5e05c 100644 --- a/src/plugins/discover/public/application/apps/main/services/use_discover_state.test.ts +++ b/src/plugins/discover/public/application/apps/main/services/use_discover_state.test.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { renderHook, act } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react-hooks'; import { createSearchSessionMock } from '../../../../__mocks__/search_session'; import { discoverServiceMock } from '../../../../__mocks__/services'; import { savedSearchMock } from '../../../../__mocks__/saved_search'; @@ -41,48 +41,6 @@ describe('test useDiscoverState', () => { }); expect(result.current.state.index).toBe(indexPatternMock.id); expect(result.current.stateContainer).toBeInstanceOf(Object); - expect(result.current.setState).toBeInstanceOf(Function); expect(result.current.searchSource).toBeInstanceOf(SearchSource); }); - - test('setState', async () => { - const { history } = createSearchSessionMock(); - - const { result } = renderHook(() => { - return useDiscoverState({ - services: discoverServiceMock, - history, - savedSearch: savedSearchMock, - }); - }); - await act(async () => { - result.current.setState({ columns: ['123'] }); - }); - expect(result.current.state.columns).toEqual(['123']); - }); - - test('resetSavedSearch', async () => { - const { history } = createSearchSessionMock(); - - const { result, waitForValueToChange } = renderHook(() => { - return useDiscoverState({ - services: discoverServiceMock, - history, - savedSearch: savedSearchMock, - }); - }); - - const initialColumns = result.current.state.columns; - await act(async () => { - result.current.setState({ columns: ['123'] }); - }); - expect(result.current.state.columns).toEqual(['123']); - - result.current.resetSavedSearch('the-saved-search-id'); - await waitForValueToChange(() => { - return result.current.state; - }); - - expect(result.current.state.columns).toEqual(initialColumns); - }); }); diff --git a/src/plugins/discover/public/application/apps/main/services/use_discover_state.ts b/src/plugins/discover/public/application/apps/main/services/use_discover_state.ts index a1d58fdd6090e..744750dabfff3 100644 --- a/src/plugins/discover/public/application/apps/main/services/use_discover_state.ts +++ b/src/plugins/discover/public/application/apps/main/services/use_discover_state.ts @@ -95,8 +95,13 @@ export function useDiscoverState({ useNewFieldsApi, }); + /** + * Sync URL state with local app state on saved search load + * or dataView / savedSearch switch + */ useEffect(() => { const stopSync = stateContainer.initializeAndSync(indexPattern, filterManager, data); + setState(stateContainer.appStateContainer.getState()); return () => stopSync(); }, [stateContainer, filterManager, data, indexPattern]); @@ -202,21 +207,6 @@ export function useDiscoverState({ [refetch$, searchSessionManager] ); - useEffect(() => { - if (!savedSearch || !savedSearch.id) { - return; - } - // handling pushing to state of a persisted saved object - const newAppState = getStateDefaults({ - config, - data, - savedSearch, - storage, - }); - stateContainer.replaceUrlAppState(newAppState); - setState(newAppState); - }, [config, data, savedSearch, reset, stateContainer, storage]); - /** * Trigger data fetching on indexPattern or savedSearch changes */ @@ -235,7 +225,6 @@ export function useDiscoverState({ onChangeIndexPattern, onUpdateQuery, searchSource, - setState, state, stateContainer, }; diff --git a/src/plugins/discover/public/application/apps/main/utils/get_state_defaults.ts b/src/plugins/discover/public/application/apps/main/utils/get_state_defaults.ts index 6fa4dda2eab19..acce06bd01257 100644 --- a/src/plugins/discover/public/application/apps/main/utils/get_state_defaults.ts +++ b/src/plugins/discover/public/application/apps/main/utils/get_state_defaults.ts @@ -48,7 +48,7 @@ export function getStateDefaults({ const query = searchSource.getField('query') || data.query.queryString.getDefaultQuery(); const sort = getSortArray(savedSearch.sort ?? [], indexPattern!); const columns = getDefaultColumns(savedSearch, config); - const chartHidden = Boolean(storage.get(CHART_HIDDEN_KEY)); + const chartHidden = storage.get(CHART_HIDDEN_KEY); const defaultState = { query, @@ -59,7 +59,7 @@ export function getStateDefaults({ index: indexPattern?.id, interval: 'auto', filters: cloneDeep(searchSource.getOwnField('filter')), - hideChart: chartHidden ? chartHidden : undefined, + hideChart: typeof chartHidden === 'boolean' ? chartHidden : undefined, savedQuery: undefined, } as AppState; if (savedSearch.grid) { diff --git a/src/plugins/discover/public/application/components/discover_grid/get_render_cell_value.test.tsx b/src/plugins/discover/public/application/components/discover_grid/get_render_cell_value.test.tsx index 3fb96ba9e9daa..877d1cf14c67f 100644 --- a/src/plugins/discover/public/application/components/discover_grid/get_render_cell_value.test.tsx +++ b/src/plugins/discover/public/application/components/discover_grid/get_render_cell_value.test.tsx @@ -605,4 +605,64 @@ describe('Discover grid cell rendering', function () { ); expect(component.html()).toMatchInlineSnapshot(`"-"`); }); + + it('renders unmapped fields correctly', () => { + (indexPatternMock.getFieldByName as jest.Mock).mockReturnValueOnce(undefined); + const rowsFieldsUnmapped: ElasticSearchHit[] = [ + { + _id: '1', + _index: 'test', + _score: 1, + _source: undefined, + fields: { unmapped: ['.gz'] }, + highlight: { + extension: ['@kibana-highlighted-field.gz@/kibana-highlighted-field'], + }, + }, + ]; + const DiscoverGridCellValue = getRenderCellValueFn( + indexPatternMock, + rowsFieldsUnmapped, + rowsFieldsUnmapped.map(flatten), + true, + ['unmapped'], + 100 + ); + const component = shallow( + + ); + expect(component).toMatchInlineSnapshot(` + + .gz + + `); + + const componentWithDetails = shallow( + + ); + expect(componentWithDetails).toMatchInlineSnapshot(` + + `); + }); }); diff --git a/src/plugins/discover/public/application/components/discover_grid/get_render_cell_value.tsx b/src/plugins/discover/public/application/components/discover_grid/get_render_cell_value.tsx index 8d4c4a6bbdad9..5a7e820802745 100644 --- a/src/plugins/discover/public/application/components/discover_grid/get_render_cell_value.tsx +++ b/src/plugins/discover/public/application/components/discover_grid/get_render_cell_value.tsx @@ -169,10 +169,15 @@ export const getRenderCellValueFn = if (!field?.type && rowFlattened && typeof rowFlattened[columnId] === 'object') { if (isDetails) { // nicely formatted JSON for the expanded view - return {JSON.stringify(rowFlattened[columnId], null, 2)}; + return ( + } + width={defaultMonacoEditorWidth} + /> + ); } - return {JSON.stringify(rowFlattened[columnId])}; + return <>{formatFieldValue(rowFlattened[columnId], row, indexPattern, field)}; } return ( diff --git a/src/plugins/discover/public/application/components/source_viewer/get_height.test.tsx b/src/plugins/discover/public/application/components/source_viewer/get_height.test.tsx new file mode 100644 index 0000000000000..118efe491ef7b --- /dev/null +++ b/src/plugins/discover/public/application/components/source_viewer/get_height.test.tsx @@ -0,0 +1,50 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { monaco } from '@kbn/monaco'; +import { getHeight } from './get_height'; + +describe('getHeight', () => { + global.innerHeight = 500; + const getMonacoMock = (lineCount: number) => { + return { + getDomNode: jest.fn(() => { + return { + getBoundingClientRect: jest.fn(() => { + return { + top: 200, + }; + }), + }; + }), + getOption: jest.fn(() => 10), + getModel: jest.fn(() => ({ getLineCount: jest.fn(() => lineCount) })), + getTopForLineNumber: jest.fn((line) => line * 10), + } as unknown as monaco.editor.IStandaloneCodeEditor; + }; + test('when using document explorer, returning the available height in the flyout', () => { + const monacoMock = getMonacoMock(500); + + const height = getHeight(monacoMock, true); + expect(height).toBe(275); + }); + + test('when using classic table, its displayed inline without scrolling', () => { + const monacoMock = getMonacoMock(100); + + const height = getHeight(monacoMock, false); + expect(height).toBe(1020); + }); + + test('when using classic table, limited height > 500 lines to allow scrolling', () => { + const monacoMock = getMonacoMock(1000); + + const height = getHeight(monacoMock, false); + expect(height).toBe(5020); + }); +}); diff --git a/src/plugins/discover/public/application/components/source_viewer/get_height.tsx b/src/plugins/discover/public/application/components/source_viewer/get_height.tsx new file mode 100644 index 0000000000000..786ca0e7943bb --- /dev/null +++ b/src/plugins/discover/public/application/components/source_viewer/get_height.tsx @@ -0,0 +1,32 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { monaco } from '@kbn/monaco'; +import { MARGIN_BOTTOM, MAX_LINES_CLASSIC_TABLE } from './source_viewer'; + +export function getHeight(editor: monaco.editor.IStandaloneCodeEditor, useDocExplorer: boolean) { + const editorElement = editor?.getDomNode(); + if (!editorElement) { + return 0; + } + + let result; + if (useDocExplorer) { + // assign a good height filling the available space of the document flyout + const position = editorElement.getBoundingClientRect(); + result = window.innerHeight - position.top - MARGIN_BOTTOM; + } else { + // takes care of the classic table, display a maximum of 500 lines + // why not display it all? Due to performance issues when the browser needs to render it all + const lineHeight = editor.getOption(monaco.editor.EditorOption.lineHeight); + const lineCount = editor.getModel()?.getLineCount() || 1; + const displayedLineCount = + lineCount > MAX_LINES_CLASSIC_TABLE ? MAX_LINES_CLASSIC_TABLE : lineCount; + result = editor.getTopForLineNumber(displayedLineCount + 1) + lineHeight; + } + return result > 0 ? result : 0; +} diff --git a/src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx b/src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx index 31d4d866df21e..0f8515740e38f 100644 --- a/src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx +++ b/src/plugins/discover/public/application/components/source_viewer/source_viewer.tsx @@ -14,10 +14,11 @@ import { EuiButton, EuiEmptyPrompt, EuiLoadingSpinner, EuiSpacer, EuiText } from import { i18n } from '@kbn/i18n'; import { JSONCodeEditorCommonMemoized } from '../json_code_editor/json_code_editor_common'; import { getServices } from '../../../kibana_services'; -import { SEARCH_FIELDS_FROM_SOURCE } from '../../../../common'; +import { SEARCH_FIELDS_FROM_SOURCE, DOC_TABLE_LEGACY } from '../../../../common'; import { ElasticRequestState } from '../../apps/doc/types'; import { useEsDocSearch } from '../../services/use_es_doc_search'; import { IndexPattern } from '../../../../../data_views/common'; +import { getHeight } from './get_height'; interface SourceViewerProps { id: string; @@ -27,6 +28,12 @@ interface SourceViewerProps { width?: number; } +// Ihe number of lines displayed without scrolling used for classic table, which renders the component +// inline limitation was necessary to enable virtualized scrolling, which improves performance +export const MAX_LINES_CLASSIC_TABLE = 500; +// Displayed margin of the code editor to the window bottom when rendered in the document explorer flyout +export const MARGIN_BOTTOM = 25; + export const SourceViewer = ({ id, index, @@ -37,6 +44,7 @@ export const SourceViewer = ({ const [editor, setEditor] = useState(); const [jsonValue, setJsonValue] = useState(''); const useNewFieldsApi = !getServices().uiSettings.get(SEARCH_FIELDS_FROM_SOURCE); + const useDocExplorer = !getServices().uiSettings.get(DOC_TABLE_LEGACY); const [reqState, hit, requestData] = useEsDocSearch({ id, index, @@ -61,16 +69,18 @@ export const SourceViewer = ({ return; } - const lineHeight = editor.getOption(monaco.editor.EditorOption.lineHeight); - const lineCount = editor.getModel()?.getLineCount() || 1; - const height = editor.getTopForLineNumber(lineCount + 1) + lineHeight; + const height = getHeight(editor, useDocExplorer); + if (height === 0) { + return; + } + if (!jsonValue || jsonValue === '') { editorElement.style.height = '0px'; } else { editorElement.style.height = `${height}px`; } editor.layout(); - }, [editor, jsonValue]); + }, [editor, jsonValue, useDocExplorer]); const loadingState = (
    diff --git a/src/plugins/discover/public/application/embeddable/saved_search_grid.tsx b/src/plugins/discover/public/application/embeddable/saved_search_grid.tsx index 0dce6d2b3abe8..f6385e6472848 100644 --- a/src/plugins/discover/public/application/embeddable/saved_search_grid.tsx +++ b/src/plugins/discover/public/application/embeddable/saved_search_grid.tsx @@ -9,9 +9,10 @@ import React, { useState } from 'react'; import { I18nProvider } from '@kbn/i18n/react'; import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { DiscoverGrid, DiscoverGridProps } from '../components/discover_grid/discover_grid'; -import { getServices } from '../../kibana_services'; +import { KibanaContextProvider } from '../../../../kibana_react/public'; import { ElasticSearchHit } from '../doc_views/doc_views_types'; import { TotalDocuments } from '../apps/main/components/total_documents/total_documents'; +import { getServices } from '../../kibana_services'; export interface DiscoverGridEmbeddableProps extends DiscoverGridProps { totalHitCount: number; @@ -22,25 +23,33 @@ export const DataGridMemoized = React.memo((props: DiscoverGridProps) => ( )); export function DiscoverGridEmbeddable(props: DiscoverGridEmbeddableProps) { + const services = getServices(); const [expandedDoc, setExpandedDoc] = useState(undefined); return ( - - {props.totalHitCount !== 0 && ( - - + + + {props.totalHitCount !== 0 && ( + + + + )} + + - )} - - - - + + ); } diff --git a/src/plugins/embeddable/public/index.ts b/src/plugins/embeddable/public/index.ts index 6a6b5b2df2ddd..41babe40e11e8 100644 --- a/src/plugins/embeddable/public/index.ts +++ b/src/plugins/embeddable/public/index.ts @@ -64,6 +64,8 @@ export { VALUE_CLICK_TRIGGER, ViewMode, withEmbeddableSubscription, + genericEmbeddableInputIsEqual, + omitGenericEmbeddableInput, isSavedObjectEmbeddableInput, isRangeSelectTriggerContext, isValueClickTriggerContext, diff --git a/src/plugins/embeddable/public/lib/attribute_service/attribute_service.tsx b/src/plugins/embeddable/public/lib/attribute_service/attribute_service.tsx index 507d2be7198d5..2eb267d942a29 100644 --- a/src/plugins/embeddable/public/lib/attribute_service/attribute_service.tsx +++ b/src/plugins/embeddable/public/lib/attribute_service/attribute_service.tsx @@ -15,8 +15,6 @@ import { EmbeddableInput, SavedObjectEmbeddableInput, isSavedObjectEmbeddableInput, - IEmbeddable, - Container, EmbeddableFactoryNotFoundError, EmbeddableFactory, } from '../index'; @@ -134,11 +132,6 @@ export class AttributeService< return isSavedObjectEmbeddableInput(input); }; - public getExplicitInputFromEmbeddable(embeddable: IEmbeddable): ValType | RefType { - return ((embeddable.getRoot() as Container).getInput()?.panels?.[embeddable.id] - ?.explicitInput ?? embeddable.getInput()) as ValType | RefType; - } - getInputAsValueType = async (input: ValType | RefType): Promise => { if (!this.inputIsRefType(input)) { return input; @@ -164,12 +157,15 @@ export class AttributeService< try { const newAttributes = { ...input[ATTRIBUTE_SERVICE_KEY] }; newAttributes.title = props.newTitle; - const wrappedInput = (await this.wrapAttributes(newAttributes, true)) as RefType; - - // Remove unneeded attributes from the original input. - const newInput = omit(input, ATTRIBUTE_SERVICE_KEY); + const wrappedInput = (await this.wrapAttributes( + newAttributes, + true + )) as unknown as RefType; + // Remove unneeded attributes from the original input. Note that the original panel title + // is removed in favour of the new attributes title + const newInput = omit(input, [ATTRIBUTE_SERVICE_KEY, 'title']); - // Combine input and wrapped input to preserve any passed in explicit Input. + // Combine input and wrapped input to preserve any passed in explicit Input resolve({ ...newInput, ...wrappedInput }); return { id: wrappedInput.savedObjectId }; } catch (error) { diff --git a/src/plugins/embeddable/public/lib/containers/container.ts b/src/plugins/embeddable/public/lib/containers/container.ts index a1d4b5b68d20d..fe0cee246bbe2 100644 --- a/src/plugins/embeddable/public/lib/containers/container.ts +++ b/src/plugins/embeddable/public/lib/containers/container.ts @@ -7,6 +7,7 @@ */ import uuid from 'uuid'; +import { isEqual, xor } from 'lodash'; import { merge, Subscription } from 'rxjs'; import { startWith, pairwise } from 'rxjs/operators'; import { @@ -16,6 +17,7 @@ import { ErrorEmbeddable, EmbeddableFactory, IEmbeddable, + isErrorEmbeddable, } from '../embeddables'; import { IContainer, ContainerInput, ContainerOutput, PanelState } from './i_container'; import { PanelNotFoundError, EmbeddableFactoryNotFoundError } from '../errors'; @@ -194,6 +196,32 @@ export abstract class Container< }); } + public async getExplicitInputIsEqual(lastInput: TContainerInput) { + const { panels: lastPanels, ...restOfLastInput } = lastInput; + const { panels: currentPanels, ...restOfCurrentInput } = this.getInput(); + const otherInputIsEqual = isEqual(restOfLastInput, restOfCurrentInput); + if (!otherInputIsEqual) return false; + + const embeddableIdsA = Object.keys(lastPanels); + const embeddableIdsB = Object.keys(currentPanels); + if ( + embeddableIdsA.length !== embeddableIdsB.length || + xor(embeddableIdsA, embeddableIdsB).length > 0 + ) { + return false; + } + // embeddable ids are equal so let's compare individual panels. + for (const id of embeddableIdsA) { + const currentEmbeddable = await this.untilEmbeddableLoaded(id); + const lastPanelInput = lastPanels[id].explicitInput; + if (isErrorEmbeddable(currentEmbeddable)) continue; + if (!(await currentEmbeddable.getExplicitInputIsEqual(lastPanelInput))) { + return false; + } + } + return true; + } + protected createNewPanelState< TEmbeddableInput extends EmbeddableInput, TEmbeddable extends IEmbeddable diff --git a/src/plugins/embeddable/public/lib/embeddables/diff_embeddable_input.test.ts b/src/plugins/embeddable/public/lib/embeddables/diff_embeddable_input.test.ts new file mode 100644 index 0000000000000..01d776610f947 --- /dev/null +++ b/src/plugins/embeddable/public/lib/embeddables/diff_embeddable_input.test.ts @@ -0,0 +1,109 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ViewMode } from '..'; +import { KibanaExecutionContext } from '../../../../../core/types'; +import { EmbeddableInput, omitGenericEmbeddableInput, genericEmbeddableInputIsEqual } from '.'; + +const getGenericEmbeddableState = (state?: Partial): EmbeddableInput => { + const defaultState: EmbeddableInput = { + lastReloadRequestTime: 1, + executionContext: {} as KibanaExecutionContext, + searchSessionId: 'what a session', + hidePanelTitles: false, + disabledActions: [], + disableTriggers: false, + enhancements: undefined, + syncColors: false, + viewMode: ViewMode.VIEW, + title: 'So Very Generic', + id: 'soVeryGeneric', + }; + return { ...defaultState, ...state }; +}; + +test('Omitting generic embeddable input omits all generic input keys', () => { + const superEmbeddableSpecificInput = { + SuperInputKeyA: 'I am so specific', + SuperInputKeyB: 'I am extremely specific', + }; + const fullInput = { ...getGenericEmbeddableState(), ...superEmbeddableSpecificInput }; + const omittedState = omitGenericEmbeddableInput(fullInput); + + const genericInputKeysToRemove: Array = [ + 'lastReloadRequestTime', + 'executionContext', + 'searchSessionId', + 'hidePanelTitles', + 'disabledActions', + 'disableTriggers', + 'enhancements', + 'syncColors', + 'viewMode', + 'title', + 'id', + ]; + for (const key of genericInputKeysToRemove) { + expect((omittedState as unknown as EmbeddableInput)[key]).toBeUndefined(); + } + + expect(omittedState.SuperInputKeyA).toBeDefined(); + expect(omittedState.SuperInputKeyB).toBeDefined(); +}); + +describe('Generic embeddable input diff function', () => { + it('considers blank string title to be distinct from undefined title', () => { + const genericInputWithUndefinedTitle = getGenericEmbeddableState(); + genericInputWithUndefinedTitle.title = undefined; + expect( + genericEmbeddableInputIsEqual( + getGenericEmbeddableState({ title: '' }), + genericInputWithUndefinedTitle + ) + ).toBe(false); + }); + + it('considers missing title key to be equal to input with undefined title', () => { + const genericInputWithUndefinedTitle = getGenericEmbeddableState(); + genericInputWithUndefinedTitle.title = undefined; + const genericInputWithDeletedTitle = getGenericEmbeddableState(); + delete genericInputWithDeletedTitle.title; + expect( + genericEmbeddableInputIsEqual(genericInputWithDeletedTitle, genericInputWithUndefinedTitle) + ).toBe(true); + }); + + it('considers hide panel titles false to be equal to hide panel titles undefined', () => { + const genericInputWithUndefinedShowPanelTitles = getGenericEmbeddableState(); + genericInputWithUndefinedShowPanelTitles.hidePanelTitles = undefined; + expect( + genericEmbeddableInputIsEqual( + getGenericEmbeddableState(), + genericInputWithUndefinedShowPanelTitles + ) + ).toBe(true); + }); + + it('ignores differences in viewMode', () => { + expect( + genericEmbeddableInputIsEqual( + getGenericEmbeddableState(), + getGenericEmbeddableState({ viewMode: ViewMode.EDIT }) + ) + ).toBe(true); + }); + + it('ignores differences in searchSessionId', () => { + expect( + genericEmbeddableInputIsEqual( + getGenericEmbeddableState(), + getGenericEmbeddableState({ searchSessionId: 'What a lovely session!' }) + ) + ).toBe(true); + }); +}); diff --git a/src/plugins/embeddable/public/lib/embeddables/diff_embeddable_input.ts b/src/plugins/embeddable/public/lib/embeddables/diff_embeddable_input.ts new file mode 100644 index 0000000000000..a396ed324a949 --- /dev/null +++ b/src/plugins/embeddable/public/lib/embeddables/diff_embeddable_input.ts @@ -0,0 +1,69 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import fastIsEqual from 'fast-deep-equal'; +import { pick, omit } from 'lodash'; +import { EmbeddableInput } from '.'; + +// list out the keys from the EmbeddableInput type to allow lodash to pick them later +const allGenericInputKeys: Readonly> = [ + 'lastReloadRequestTime', + 'executionContext', + 'searchSessionId', + 'hidePanelTitles', + 'disabledActions', + 'disableTriggers', + 'enhancements', + 'syncColors', + 'viewMode', + 'title', + 'id', +] as const; + +const genericInputKeysToCompare = [ + 'hidePanelTitles', + 'disabledActions', + 'disableTriggers', + 'enhancements', + 'syncColors', + 'title', + 'id', +] as const; + +// type used to ensure that only keys present in EmbeddableInput are extracted +type GenericEmbedableInputToCompare = Pick< + EmbeddableInput, + typeof genericInputKeysToCompare[number] +>; + +export const omitGenericEmbeddableInput = < + I extends Partial = Partial +>( + input: I +): Omit => omit(input, allGenericInputKeys); + +export const genericEmbeddableInputIsEqual = ( + currentInput: Partial, + lastInput: Partial +) => { + const { + title: currentTitle, + hidePanelTitles: currentHidePanelTitles, + ...current + } = pick(currentInput as GenericEmbedableInputToCompare, genericInputKeysToCompare); + const { + title: lastTitle, + hidePanelTitles: lastHidePanelTitles, + ...last + } = pick(lastInput as GenericEmbedableInputToCompare, genericInputKeysToCompare); + + if (currentTitle !== lastTitle) return false; + if (Boolean(currentHidePanelTitles) !== Boolean(lastHidePanelTitles)) return false; + if (!fastIsEqual(current, last)) return false; + return true; +}; diff --git a/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx b/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx index de1a723590683..c8c0aea80e1e2 100644 --- a/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx +++ b/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx @@ -6,7 +6,8 @@ * Side Public License, v 1. */ -import { cloneDeep, isEqual } from 'lodash'; +import fastIsEqual from 'fast-deep-equal'; +import { cloneDeep } from 'lodash'; import * as Rx from 'rxjs'; import { merge } from 'rxjs'; import { debounceTime, distinctUntilChanged, map, skip } from 'rxjs/operators'; @@ -15,11 +16,11 @@ import { Adapters } from '../types'; import { IContainer } from '../containers'; import { EmbeddableOutput, IEmbeddable } from './i_embeddable'; import { EmbeddableInput, ViewMode } from '../../../common/types'; +import { genericEmbeddableInputIsEqual, omitGenericEmbeddableInput } from './diff_embeddable_input'; function getPanelTitle(input: EmbeddableInput, output: EmbeddableOutput) { return input.hidePanelTitles ? '' : input.title === undefined ? output.defaultTitle : input.title; } - export abstract class Embeddable< TEmbeddableInput extends EmbeddableInput = EmbeddableInput, TEmbeddableOutput extends EmbeddableOutput = EmbeddableOutput @@ -131,6 +132,33 @@ export abstract class Embeddable< return this.output; } + public async getExplicitInputIsEqual( + lastExplicitInput: Partial + ): Promise { + const currentExplicitInput = this.getExplicitInput(); + return ( + genericEmbeddableInputIsEqual(lastExplicitInput, currentExplicitInput) && + fastIsEqual( + omitGenericEmbeddableInput(lastExplicitInput), + omitGenericEmbeddableInput(currentExplicitInput) + ) + ); + } + + public getExplicitInput() { + const root = this.getRoot(); + if (root.getIsContainer()) { + return ( + (root.getInput().panels?.[this.id]?.explicitInput as TEmbeddableInput) ?? this.getInput() + ); + } + return this.getInput(); + } + + public getPersistableInput() { + return this.getExplicitInput(); + } + public getInput(): Readonly { return this.input; } @@ -213,7 +241,7 @@ export abstract class Embeddable< ...this.output, ...outputChanges, }; - if (!isEqual(this.output, newOutput)) { + if (!fastIsEqual(this.output, newOutput)) { this.output = newOutput; this.output$.next(this.output); } @@ -230,7 +258,7 @@ export abstract class Embeddable< } private onResetInput(newInput: TEmbeddableInput) { - if (!isEqual(this.input, newInput)) { + if (!fastIsEqual(this.input, newInput)) { const oldLastReloadRequestTime = this.input.lastReloadRequestTime; this.input = newInput; this.input$.next(newInput); diff --git a/src/plugins/embeddable/public/lib/embeddables/i_embeddable.ts b/src/plugins/embeddable/public/lib/embeddables/i_embeddable.ts index b53f036024259..0ee288cb4b8c6 100644 --- a/src/plugins/embeddable/public/lib/embeddables/i_embeddable.ts +++ b/src/plugins/embeddable/public/lib/embeddables/i_embeddable.ts @@ -103,6 +103,20 @@ export interface IEmbeddable< **/ getInput(): Readonly; + /** + * Because embeddables can inherit input from their parents, they also need a way to separate their own + * input from input which is inherited. If the embeddable does not have a parent, getExplicitInput + * and getInput should return the same. + **/ + getExplicitInput(): Readonly>; + + /** + * Some embeddables contain input that should not be persisted anywhere beyond their own state. This method + * is a way for containers to separate input to store from input which can be ephemeral. In most cases, this + * will be the same as getExplicitInput + **/ + getPersistableInput(): Readonly>; + /** * Output state is: * @@ -170,4 +184,9 @@ export interface IEmbeddable< * List of triggers that this embeddable will execute. */ supportedTriggers(): string[]; + + /** + * Used to diff explicit embeddable input + */ + getExplicitInputIsEqual(lastInput: Partial): Promise; } diff --git a/src/plugins/embeddable/public/lib/embeddables/index.ts b/src/plugins/embeddable/public/lib/embeddables/index.ts index 1745c64c73bf5..0c1048af9182c 100644 --- a/src/plugins/embeddable/public/lib/embeddables/index.ts +++ b/src/plugins/embeddable/public/lib/embeddables/index.ts @@ -18,3 +18,4 @@ export { EmbeddableRoot } from './embeddable_root'; export * from '../../../common/lib/saved_object_embeddable'; export type { EmbeddableRendererProps } from './embeddable_renderer'; export { EmbeddableRenderer, useEmbeddableFactory } from './embeddable_renderer'; +export { genericEmbeddableInputIsEqual, omitGenericEmbeddableInput } from './diff_embeddable_input'; diff --git a/src/plugins/embeddable/public/lib/panel/panel_header/panel_header.tsx b/src/plugins/embeddable/public/lib/panel/panel_header/panel_header.tsx index 742a2d1909941..75a33b0e7336b 100644 --- a/src/plugins/embeddable/public/lib/panel/panel_header/panel_header.tsx +++ b/src/plugins/embeddable/public/lib/panel/panel_header/panel_header.tsx @@ -153,7 +153,7 @@ export function PanelHeader({ if (!showPanelBar) { return ( -
    +
    -

    - {getAriaLabel()} - {renderTitle()} - {renderBadges(badges, embeddable)} -

    - {renderNotifications(notifications, embeddable)} - - + +
    +

    + {getAriaLabel()} + {renderTitle()} + {renderBadges(badges, embeddable)} +

    + {renderNotifications(notifications, embeddable)} + +
    +
    ); } diff --git a/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_field.test.tsx b/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_field.test.tsx index 0e5dd7eb82e72..c5e24a578bd86 100644 --- a/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_field.test.tsx +++ b/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_field.test.tsx @@ -13,41 +13,47 @@ import { Form, UseField } from '../components'; import React from 'react'; import { useForm } from '.'; import { emptyField } from '../../helpers/field_validators'; -import { FieldHook, FieldValidateResponse, VALIDATION_TYPES } from '..'; +import { FieldHook, FieldValidateResponse, VALIDATION_TYPES, FieldConfig } from '..'; describe('useField() hook', () => { + let fieldHook: FieldHook; + + beforeAll(() => { + jest.useFakeTimers(); + }); + + afterAll(() => { + jest.useRealTimers(); + }); + + const TestField = ({ field }: { field: FieldHook }) => { + fieldHook = field; + return null; + }; + + const getTestForm = (config?: FieldConfig) => () => { + const { form } = useForm(); + + return ( +
    + + + ); + }; + describe('field.validate()', () => { const EMPTY_VALUE = ' '; - test('It should not invalidate a field with arrayItem validation when isBlocking is false', async () => { - let fieldHook: FieldHook; - - const TestField = ({ field }: { field: FieldHook }) => { - fieldHook = field; - return null; - }; - - const TestForm = () => { - const { form } = useForm(); - - return ( -
    - - - ); - }; + test('it should not invalidate a field with arrayItem validation when isBlocking is false', async () => { + const TestForm = getTestForm({ + validations: [ + { + validator: emptyField('error-message'), + type: VALIDATION_TYPES.ARRAY_ITEM, + isBlocking: false, + }, + ], + }); registerTestBed(TestForm)(); @@ -78,35 +84,16 @@ describe('useField() hook', () => { expect(fieldHook!.isValid).toBe(true); }); - test('It should invalidate an arrayItem field when isBlocking is true', async () => { - let fieldHook: FieldHook; - - const TestField = ({ field }: { field: FieldHook }) => { - fieldHook = field; - return null; - }; - - const TestForm = () => { - const { form } = useForm(); - - return ( -
    - - - ); - }; + test('it should invalidate an arrayItem field when isBlocking is true', async () => { + const TestForm = getTestForm({ + validations: [ + { + validator: emptyField('error-message'), + type: VALIDATION_TYPES.ARRAY_ITEM, + isBlocking: true, + }, + ], + }); registerTestBed(TestForm)(); @@ -136,5 +123,30 @@ describe('useField() hook', () => { // expect the field to be invalid because the validation error is blocking expect(fieldHook!.isValid).toBe(false); }); + + test('it should only run the FIELD validadtion type when no type is specified', async () => { + const validatorFn = jest.fn(() => undefined); + const TestForm = getTestForm({ + validations: [ + { + validator: validatorFn, + type: VALIDATION_TYPES.ARRAY_ITEM, + }, + ], + }); + + registerTestBed(TestForm)(); + + act(() => { + // This should **not** call our validator as it is of type ARRAY_ITEM + // and here, as we don't specify the validation type, we validate the default "FIELD" type. + fieldHook!.validate({ + value: 'foo', + validationType: undefined, // Although not necessary adding it to be explicit + }); + }); + + expect(validatorFn).toBeCalledTimes(0); + }); }); }); diff --git a/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_field.ts b/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_field.ts index c01295f6ee42c..7466fa45145e6 100644 --- a/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_field.ts +++ b/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_field.ts @@ -203,7 +203,7 @@ export const useField = ( formData: any; value: I; onlyBlocking: boolean; - validationTypeToValidate?: string; + validationTypeToValidate: string; }, clearFieldErrors: FieldHook['clearErrors'] ): ValidationError[] | Promise => { @@ -224,10 +224,7 @@ export const useField = ( type: validationType, isBlocking, }: ValidationConfig) => { - if ( - typeof validationTypeToValidate !== 'undefined' && - validationType !== validationTypeToValidate - ) { + if (validationType !== undefined && validationType !== validationTypeToValidate) { return true; } @@ -384,7 +381,7 @@ export const useField = ( const { formData = __getFormData$().value, value: valueToValidate = value, - validationType, + validationType = VALIDATION_TYPES.FIELD, onlyBlocking = false, } = validationData; diff --git a/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_form.test.tsx b/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_form.test.tsx index 92a9876f1cd30..a05e9a31227e5 100644 --- a/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_form.test.tsx +++ b/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_form.test.tsx @@ -16,6 +16,7 @@ import { FormSubmitHandler, OnUpdateHandler, FormHook, + FieldHook, ValidationFunc, FieldConfig, VALIDATION_TYPES, @@ -37,6 +38,14 @@ const onFormHook = (_form: FormHook) => { }; describe('useForm() hook', () => { + beforeAll(() => { + jest.useFakeTimers(); + }); + + afterAll(() => { + jest.useRealTimers(); + }); + beforeEach(() => { formHook = null; }); @@ -539,6 +548,8 @@ describe('useForm() hook', () => { }); test('should invalidate a field with a blocking arrayItem validation when validating a form', async () => { + let fieldHook: FieldHook; + const TestComp = () => { const { form } = useForm(); formHook = form; @@ -556,7 +567,12 @@ describe('useForm() hook', () => { }, ], }} - /> + > + {(field) => { + fieldHook = field; + return null; + }} +
    ); }; @@ -565,6 +581,12 @@ describe('useForm() hook', () => { let isValid: boolean = false; + act(() => { + // We need to call the field validation to mark this field as invalid. + // This will then mark the form as invalid when calling formHook.validate() below + fieldHook.validate({ validationType: VALIDATION_TYPES.ARRAY_ITEM }); + }); + await act(async () => { isValid = await formHook!.validate(); }); diff --git a/src/plugins/expression_repeat_image/public/components/repeat_image_component.tsx b/src/plugins/expression_repeat_image/public/components/repeat_image_component.tsx index 7a136b470e943..e837932b9469a 100644 --- a/src/plugins/expression_repeat_image/public/components/repeat_image_component.tsx +++ b/src/plugins/expression_repeat_image/public/components/repeat_image_component.tsx @@ -46,8 +46,10 @@ function setImageSize(img: HTMLImageElement, size: number) { } function createImageJSX(img: HTMLImageElement | null) { - if (!img) return null; - const params = img.width > img.height ? { heigth: img.height } : { width: img.width }; + if (!img) { + return null; + } + const params = img.width > img.height ? { height: img.height } : { width: img.width }; return ; } @@ -80,12 +82,14 @@ function RepeatImageComponent({ if (image) { setImageSize(image, size); - times(count, () => imagesToRender.push(createImageJSX(image))); + const imgJSX = createImageJSX(image); + times(count, () => imagesToRender.push(imgJSX)); } if (emptyImage) { setImageSize(emptyImage, size); - times(max - count, () => imagesToRender.push(createImageJSX(emptyImage))); + const imgJSX = createImageJSX(emptyImage); + times(max - count, () => imagesToRender.push(imgJSX)); } return ( diff --git a/src/plugins/field_formats/common/converters/color.test.ts b/src/plugins/field_formats/common/converters/color.test.ts index 994c6d802ae3b..617945b3d1cdc 100644 --- a/src/plugins/field_formats/common/converters/color.test.ts +++ b/src/plugins/field_formats/common/converters/color.test.ts @@ -112,5 +112,24 @@ describe('Color Format', () => { expect(converter('<', HTML_CONTEXT_TYPE)).toBe('<'); }); + + test('returns original value (escaped) on regex with syntax error', () => { + const colorer = new ColorFormat( + { + fieldType: 'string', + colors: [ + { + regex: 'nogroup(', + text: 'blue', + background: 'yellow', + }, + ], + }, + jest.fn() + ); + const converter = colorer.getConverterFor(HTML_CONTEXT_TYPE) as Function; + + expect(converter('<', HTML_CONTEXT_TYPE)).toBe('<'); + }); }); }); diff --git a/src/plugins/field_formats/common/converters/color.tsx b/src/plugins/field_formats/common/converters/color.tsx index 3e5ff97830479..197468fc1592a 100644 --- a/src/plugins/field_formats/common/converters/color.tsx +++ b/src/plugins/field_formats/common/converters/color.tsx @@ -35,7 +35,11 @@ export class ColorFormat extends FieldFormat { switch (this.param('fieldType')) { case 'string': return findLast(this.param('colors'), (colorParam: typeof DEFAULT_CONVERTER_COLOR) => { - return new RegExp(colorParam.regex).test(val as string); + try { + return new RegExp(colorParam.regex).test(val as string); + } catch (e) { + return false; + } }); case 'number': diff --git a/src/plugins/field_formats/common/converters/url.test.ts b/src/plugins/field_formats/common/converters/url.test.ts index 6fb3834e143a7..3a19d6aaa9dc2 100644 --- a/src/plugins/field_formats/common/converters/url.test.ts +++ b/src/plugins/field_formats/common/converters/url.test.ts @@ -70,6 +70,13 @@ describe('UrlFormat', () => { 'A dynamically-specified image located at http://elastic.co' ); + + const url2 = new UrlFormat({ type: 'img', width: '123not a number' }); + + expect(url2.convert('http://elastic.co', HTML_CONTEXT_TYPE)).toBe( + 'A dynamically-specified image located at http://elastic.co' + ); }); test('only accepts valid numbers for height', () => { @@ -79,6 +86,13 @@ describe('UrlFormat', () => { 'A dynamically-specified image located at http://elastic.co' ); + + const url2 = new UrlFormat({ type: 'img', height: '123not a number' }); + + expect(url2.convert('http://elastic.co', HTML_CONTEXT_TYPE)).toBe( + 'A dynamically-specified image located at http://elastic.co' + ); }); }); diff --git a/src/plugins/field_formats/common/converters/url.ts b/src/plugins/field_formats/common/converters/url.ts index 2a11f2f686112..2910fbdb70786 100644 --- a/src/plugins/field_formats/common/converters/url.ts +++ b/src/plugins/field_formats/common/converters/url.ts @@ -122,10 +122,12 @@ export class UrlFormat extends FieldFormat { } private generateImgHtml(url: string, imageLabel: string): string { - const isValidWidth = !isNaN(parseInt(this.param('width'), 10)); - const isValidHeight = !isNaN(parseInt(this.param('height'), 10)); - const maxWidth = isValidWidth ? `${this.param('width')}px` : 'none'; - const maxHeight = isValidHeight ? `${this.param('height')}px` : 'none'; + const parsedWidth = parseInt(this.param('width'), 10); + const parsedHeight = parseInt(this.param('height'), 10); + const isValidWidth = !isNaN(parsedWidth); + const isValidHeight = !isNaN(parsedHeight); + const maxWidth = isValidWidth ? `${parsedWidth}px` : 'none'; + const maxHeight = isValidHeight ? `${parsedHeight}px` : 'none'; return `${imageLabel}`; } diff --git a/src/plugins/home/server/services/sample_data/errors.ts b/src/plugins/home/server/services/sample_data/errors.ts new file mode 100644 index 0000000000000..832c520b9ade8 --- /dev/null +++ b/src/plugins/home/server/services/sample_data/errors.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export class SampleDataInstallError extends Error { + constructor(message: string, public readonly httpCode: number) { + super(message); + } +} diff --git a/src/plugins/home/server/services/sample_data/lib/find_sample_objects.ts b/src/plugins/home/server/services/sample_data/lib/find_sample_objects.ts new file mode 100644 index 0000000000000..904470acc2c84 --- /dev/null +++ b/src/plugins/home/server/services/sample_data/lib/find_sample_objects.ts @@ -0,0 +1,104 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import * as esKuery from '@kbn/es-query'; +import type { Logger, SavedObjectsClientContract } from 'src/core/server'; + +const MAX_OBJECTS_TO_FIND = 10000; // we only expect up to a few dozen, search for 10k to be safe; anything over this is ignored + +export interface FindSampleObjectsParams { + client: SavedObjectsClientContract; + logger: Logger; + objects: SampleObject[]; +} + +export interface SampleObject { + type: string; + id: string; +} + +export interface FindSampleObjectsResponseObject { + type: string; + id: string; + /** Contains a string if this sample data object was found, or undefined if it was not. */ + foundObjectId: string | undefined; +} + +/** + * Given an array of objects in a sample dataset, this function attempts to find if those objects exist in the current space. + * It attempts to find objects with an origin of the sample data (e.g., matching `id` or `originId`). + */ +export async function findSampleObjects({ client, logger, objects }: FindSampleObjectsParams) { + const bulkGetResponse = await client.bulkGet(objects); + + let resultsMap = new Map(); + const objectsToFind: SampleObject[] = []; + objects.forEach((object, i) => { + const bulkGetResult = bulkGetResponse.saved_objects[i]; + if (!bulkGetResult.error) { + const { type, id } = object; + const key = getObjKey(type, id); + resultsMap.set(key, id); + } else if (bulkGetResult.error.statusCode === 404) { + objectsToFind.push(object); + } + }); + + if (objectsToFind.length > 0) { + const options = { + type: getUniqueTypes(objectsToFind), + filter: createKueryFilter(objectsToFind), + fields: ['title'], // we don't want to return all source fields, so we have to specify at least one source field + perPage: MAX_OBJECTS_TO_FIND, + }; + const findResponse = await client.find(options); + if (findResponse.total > MAX_OBJECTS_TO_FIND) { + // As of this writing, it is not possible to encounter this scenario when using Kibana import or copy-to-space, because at most one + // object can exist in a given space. However, as of today, when objects are shareable you _could_ get Kibana into a state where + // multiple objects of the same origin exist in the same space. + // #116677 describes solutions to fully mitigate this edge case in the future. + logger.warn( + `findSampleObjects got ${findResponse.total} results, only using the first ${MAX_OBJECTS_TO_FIND}` + ); + } + resultsMap = findResponse.saved_objects.reduce((acc, { type, id, originId }) => { + const key = getObjKey(type, originId!); + const existing = acc.get(key); + if (existing) { + // As of this writing, it is not possible to encounter this scenario when using Kibana import or copy-to-space, because at most one + // object can exist in a given space. However, as of today, when objects are shareable you _could_ get Kibana into a state where + // multiple objects of the same origin exist in the same space. + // #116677 describes solutions to fully mitigate this edge case in the future. + logger.warn( + `Found two sample objects with the same origin "${originId}" (previously found "${existing}", ignoring "${id}")` + ); + return acc; + } + return acc.set(key, id); + }, resultsMap); + } + + return objects.map(({ type, id }) => { + const key = getObjKey(type, id); + return { type, id, foundObjectId: resultsMap.get(key) }; + }); +} + +function getUniqueTypes(objects: SampleObject[]) { + return [...new Set(objects.map(({ type }) => type))]; +} + +function createKueryFilter(objects: SampleObject[]) { + const { buildNode } = esKuery.nodeTypes.function; + const kueryNodes = objects.map(({ type, id }) => buildNode('is', `${type}.originId`, id)); // the repository converts this node into "and (type is ..., originId is ...)" + return buildNode('or', kueryNodes); +} + +function getObjKey(type: string, id: string) { + return `${type}:${id}`; +} diff --git a/src/plugins/home/server/services/sample_data/lib/insert_data_into_index.ts b/src/plugins/home/server/services/sample_data/lib/insert_data_into_index.ts new file mode 100644 index 0000000000000..4a7d7e9813dcc --- /dev/null +++ b/src/plugins/home/server/services/sample_data/lib/insert_data_into_index.ts @@ -0,0 +1,74 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { IScopedClusterClient, Logger } from 'kibana/server'; +import type { DataIndexSchema } from './sample_dataset_registry_types'; +import { + translateTimeRelativeToDifference, + translateTimeRelativeToWeek, +} from './translate_timestamp'; +import { loadData } from './load_data'; + +export const insertDataIntoIndex = ({ + dataIndexConfig, + logger, + esClient, + index, + nowReference, +}: { + dataIndexConfig: DataIndexSchema; + index: string; + nowReference: string; + esClient: IScopedClusterClient; + logger: Logger; +}) => { + const updateTimestamps = (doc: any) => { + dataIndexConfig.timeFields + .filter((timeFieldName: string) => doc[timeFieldName]) + .forEach((timeFieldName: string) => { + doc[timeFieldName] = dataIndexConfig.preserveDayOfWeekTimeOfDay + ? translateTimeRelativeToWeek( + doc[timeFieldName], + dataIndexConfig.currentTimeMarker, + nowReference + ) + : translateTimeRelativeToDifference( + doc[timeFieldName], + dataIndexConfig.currentTimeMarker, + nowReference + ); + }); + return doc; + }; + + const bulkInsert = async (docs: unknown[]) => { + const insertCmd = { index: { _index: index } }; + const bulk: unknown[] = []; + docs.forEach((doc: unknown) => { + bulk.push(insertCmd); + bulk.push(updateTimestamps(doc)); + }); + + const { body: resp } = await esClient.asCurrentUser.bulk({ + body: bulk, + }); + + if (resp.errors) { + const errMsg = `sample_data install errors while bulk inserting. Elasticsearch response: ${JSON.stringify( + resp, + null, + '' + )}`; + logger.warn(errMsg); + return Promise.reject( + new Error(`Unable to load sample data into index "${index}", see kibana logs for details`) + ); + } + }; + return loadData(dataIndexConfig.dataPath, bulkInsert); // this returns a Promise +}; diff --git a/src/plugins/home/server/services/sample_data/lib/load_data.ts b/src/plugins/home/server/services/sample_data/lib/load_data.ts index 4d203f791da97..b039243b0cc25 100644 --- a/src/plugins/home/server/services/sample_data/lib/load_data.ts +++ b/src/plugins/home/server/services/sample_data/lib/load_data.ts @@ -12,7 +12,10 @@ import { createUnzip } from 'zlib'; const BULK_INSERT_SIZE = 500; -export function loadData(path: any, bulkInsert: (docs: any[]) => Promise) { +export function loadData( + path: string, + bulkInsert: (docs: unknown[]) => Promise +): Promise { return new Promise((resolve, reject) => { let count: number = 0; let docs: any[] = []; diff --git a/src/plugins/home/server/services/sample_data/lib/sample_dataset_registry_types.ts b/src/plugins/home/server/services/sample_data/lib/sample_dataset_registry_types.ts index 09af7728f74d2..a643fbff3c300 100644 --- a/src/plugins/home/server/services/sample_data/lib/sample_dataset_registry_types.ts +++ b/src/plugins/home/server/services/sample_data/lib/sample_dataset_registry_types.ts @@ -28,3 +28,11 @@ export enum EmbeddableTypes { VISUALIZE_EMBEDDABLE_TYPE = 'visualization', } export type SampleDatasetProvider = () => SampleDatasetSchema; + +/** This type is used to identify an object in a sample dataset. */ +export interface SampleObject { + /** The type of the sample object. */ + type: string; + /** The ID of the sample object. */ + id: string; +} diff --git a/src/plugins/home/server/services/sample_data/lib/utils.ts b/src/plugins/home/server/services/sample_data/lib/utils.ts new file mode 100644 index 0000000000000..153fe6923583d --- /dev/null +++ b/src/plugins/home/server/services/sample_data/lib/utils.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { SampleObject } from './sample_dataset_registry_types'; + +export function getUniqueObjectTypes(objects: SampleObject[]) { + return [...new Set(objects.map(({ type }) => type))]; +} diff --git a/src/plugins/home/server/services/sample_data/routes/install.ts b/src/plugins/home/server/services/sample_data/routes/install.ts index d0457f0a6d301..21c77ec51e5ef 100644 --- a/src/plugins/home/server/services/sample_data/routes/install.ts +++ b/src/plugins/home/server/services/sample_data/routes/install.ts @@ -7,74 +7,11 @@ */ import { schema } from '@kbn/config-schema'; -import type { - IRouter, - Logger, - IScopedClusterClient, - SavedObjectsBulkCreateObject, -} from 'src/core/server'; +import { IRouter, Logger } from 'src/core/server'; import { SampleDatasetSchema } from '../lib/sample_dataset_registry_types'; -import { createIndexName } from '../lib/create_index_name'; -import { - dateToIso8601IgnoringTime, - translateTimeRelativeToDifference, - translateTimeRelativeToWeek, -} from '../lib/translate_timestamp'; -import { loadData } from '../lib/load_data'; import { SampleDataUsageTracker } from '../usage/usage'; - -const insertDataIntoIndex = ( - dataIndexConfig: any, - index: string, - nowReference: string, - esClient: IScopedClusterClient, - logger: Logger -) => { - function updateTimestamps(doc: any) { - dataIndexConfig.timeFields - .filter((timeFieldName: string) => doc[timeFieldName]) - .forEach((timeFieldName: string) => { - doc[timeFieldName] = dataIndexConfig.preserveDayOfWeekTimeOfDay - ? translateTimeRelativeToWeek( - doc[timeFieldName], - dataIndexConfig.currentTimeMarker, - nowReference - ) - : translateTimeRelativeToDifference( - doc[timeFieldName], - dataIndexConfig.currentTimeMarker, - nowReference - ); - }); - return doc; - } - - const bulkInsert = async (docs: any) => { - const insertCmd = { index: { _index: index } }; - const bulk: any[] = []; - docs.forEach((doc: any) => { - bulk.push(insertCmd); - bulk.push(updateTimestamps(doc)); - }); - - const { body: resp } = await esClient.asCurrentUser.bulk({ - body: bulk, - }); - - if (resp.errors) { - const errMsg = `sample_data install errors while bulk inserting. Elasticsearch response: ${JSON.stringify( - resp, - null, - '' - )}`; - logger.warn(errMsg); - return Promise.reject( - new Error(`Unable to load sample data into index "${index}", see kibana logs for details`) - ); - } - }; - return loadData(dataIndexConfig.dataPath, bulkInsert); // this returns a Promise -}; +import { getSampleDataInstaller } from './utils'; +import { SampleDataInstallError } from '../errors'; export function createInstallRoute( router: IRouter, @@ -97,90 +34,38 @@ export function createInstallRoute( if (!sampleDataset) { return res.notFound(); } + // @ts-ignore Custom query validation used const now = query.now ? new Date(query.now) : new Date(); - const nowReference = dateToIso8601IgnoringTime(now); - const counts = {}; - for (let i = 0; i < sampleDataset.dataIndices.length; i++) { - const dataIndexConfig = sampleDataset.dataIndices[i]; - const index = createIndexName(sampleDataset.id, dataIndexConfig.id); - // clean up any old installation of dataset - try { - await context.core.elasticsearch.client.asCurrentUser.indices.delete({ - index, - }); - } catch (err) { - // ignore delete errors - } + const sampleDataInstaller = getSampleDataInstaller({ + datasetId: sampleDataset.id, + sampleDatasets, + logger, + context, + }); - try { - await context.core.elasticsearch.client.asCurrentUser.indices.create({ - index, + try { + const installResult = await sampleDataInstaller.install(params.id, now); + // track the usage operation in a non-blocking way + usageTracker.addInstall(params.id); + return res.ok({ + body: { + elasticsearchIndicesCreated: installResult.createdDocsPerIndex, + kibanaSavedObjectsLoaded: installResult.createdSavedObjects, + }, + }); + } catch (e) { + if (e instanceof SampleDataInstallError) { + return res.customError({ body: { - settings: { index: { number_of_shards: 1, auto_expand_replicas: '0-1' } }, - mappings: { properties: dataIndexConfig.fields }, + message: e.message, }, + statusCode: e.httpCode, }); - } catch (err) { - const errMsg = `Unable to create sample data index "${index}", error: ${err.message}`; - logger.warn(errMsg); - return res.customError({ body: errMsg, statusCode: err.status }); - } - - try { - const count = await insertDataIntoIndex( - dataIndexConfig, - index, - nowReference, - context.core.elasticsearch.client, - logger - ); - (counts as any)[index] = count; - } catch (err) { - const errMsg = `sample_data install errors while loading data. Error: ${err}`; - throw new Error(errMsg); } + throw e; } - - let createResults; - try { - const { getClient, typeRegistry } = context.core.savedObjects; - - const includedHiddenTypes = sampleDataset.savedObjects - .map((object) => object.type) - .filter((supportedType) => typeRegistry.isHidden(supportedType)); - - const client = getClient({ includedHiddenTypes }); - - const savedObjects = sampleDataset.savedObjects as SavedObjectsBulkCreateObject[]; - createResults = await client.bulkCreate( - savedObjects.map(({ version, ...savedObject }) => savedObject), - { overwrite: true } - ); - } catch (err) { - const errMsg = `bulkCreate failed, error: ${err.message}`; - throw new Error(errMsg); - } - const errors = createResults.saved_objects.filter((savedObjectCreateResult) => { - return Boolean(savedObjectCreateResult.error); - }); - if (errors.length > 0) { - const errMsg = `sample_data install errors while loading saved objects. Errors: ${JSON.stringify( - errors - )}`; - logger.warn(errMsg); - return res.customError({ body: errMsg, statusCode: 403 }); - } - usageTracker.addInstall(params.id); - - // FINALLY - return res.ok({ - body: { - elasticsearchIndicesCreated: counts, - kibanaSavedObjectsLoaded: sampleDataset.savedObjects.length, - }, - }); } ); } diff --git a/src/plugins/home/server/services/sample_data/routes/uninstall.ts b/src/plugins/home/server/services/sample_data/routes/uninstall.ts index 3108c06492dd8..52f725da4906b 100644 --- a/src/plugins/home/server/services/sample_data/routes/uninstall.ts +++ b/src/plugins/home/server/services/sample_data/routes/uninstall.ts @@ -7,15 +7,16 @@ */ import { schema } from '@kbn/config-schema'; -import _ from 'lodash'; -import { IRouter } from 'src/core/server'; +import type { IRouter, Logger } from 'src/core/server'; import { SampleDatasetSchema } from '../lib/sample_dataset_registry_types'; -import { createIndexName } from '../lib/create_index_name'; import { SampleDataUsageTracker } from '../usage/usage'; +import { getSampleDataInstaller } from './utils'; +import { SampleDataInstallError } from '../errors'; export function createUninstallRoute( router: IRouter, sampleDatasets: SampleDatasetSchema[], + logger: Logger, usageTracker: SampleDataUsageTracker ): void { router.delete( @@ -25,68 +26,35 @@ export function createUninstallRoute( params: schema.object({ id: schema.string() }), }, }, - async ( - { - core: { - elasticsearch: { client: esClient }, - savedObjects: { getClient: getSavedObjectsClient, typeRegistry }, - }, - }, - request, - response - ) => { + async (context, request, response) => { const sampleDataset = sampleDatasets.find(({ id }) => id === request.params.id); - if (!sampleDataset) { return response.notFound(); } - for (let i = 0; i < sampleDataset.dataIndices.length; i++) { - const dataIndexConfig = sampleDataset.dataIndices[i]; - const index = createIndexName(sampleDataset.id, dataIndexConfig.id); - - try { - await esClient.asCurrentUser.indices.delete({ - index, - }); - } catch (err) { - return response.customError({ - statusCode: err.status, - body: { - message: `Unable to delete sample data index "${index}", error: ${err.message}`, - }, - }); - } - } - - const includedHiddenTypes = sampleDataset.savedObjects - .map((object) => object.type) - .filter((supportedType) => typeRegistry.isHidden(supportedType)); - - const savedObjectsClient = getSavedObjectsClient({ includedHiddenTypes }); - - const deletePromises = sampleDataset.savedObjects.map(({ type, id }) => - savedObjectsClient.delete(type, id) - ); + const sampleDataInstaller = getSampleDataInstaller({ + datasetId: sampleDataset.id, + sampleDatasets, + logger, + context, + }); try { - await Promise.all(deletePromises); - } catch (err) { - // ignore 404s since users could have deleted some of the saved objects via the UI - if (_.get(err, 'output.statusCode') !== 404) { + await sampleDataInstaller.uninstall(request.params.id); + // track the usage operation in a non-blocking way + usageTracker.addUninstall(request.params.id); + return response.noContent(); + } catch (e) { + if (e instanceof SampleDataInstallError) { return response.customError({ - statusCode: err.status, body: { - message: `Unable to delete sample dataset saved objects, error: ${err.message}`, + message: e.message, }, + statusCode: e.httpCode, }); } + throw e; } - - // track the usage operation in a non-blocking way - usageTracker.addUninstall(request.params.id); - - return response.noContent(); } ); } diff --git a/src/plugins/home/server/services/sample_data/routes/utils.ts b/src/plugins/home/server/services/sample_data/routes/utils.ts new file mode 100644 index 0000000000000..36b5534d9f4af --- /dev/null +++ b/src/plugins/home/server/services/sample_data/routes/utils.ts @@ -0,0 +1,46 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { RequestHandlerContext, Logger } from 'src/core/server'; +import type { SampleDatasetSchema } from '../lib/sample_dataset_registry_types'; +import { SampleDataInstaller } from '../sample_data_installer'; +import { getUniqueObjectTypes } from '../lib/utils'; + +export const getSampleDataInstaller = ({ + datasetId, + context, + sampleDatasets, + logger, +}: { + datasetId: string; + context: RequestHandlerContext; + sampleDatasets: SampleDatasetSchema[]; + logger: Logger; +}) => { + const sampleDataset = sampleDatasets.find(({ id }) => id === datasetId)!; + const { getImporter, client: soClient } = context.core.savedObjects; + const objectTypes = getUniqueObjectTypes(sampleDataset.savedObjects); + const savedObjectsClient = getSavedObjectsClient(context, objectTypes); + const soImporter = getImporter(savedObjectsClient); + + return new SampleDataInstaller({ + esClient: context.core.elasticsearch.client, + soImporter, + soClient, + logger, + sampleDatasets, + }); +}; + +export const getSavedObjectsClient = (context: RequestHandlerContext, objectTypes: string[]) => { + const { getClient, typeRegistry } = context.core.savedObjects; + const includedHiddenTypes = objectTypes.filter((supportedType) => + typeRegistry.isHidden(supportedType) + ); + return getClient({ includedHiddenTypes }); +}; diff --git a/src/plugins/home/server/services/sample_data/sample_data_installer.test.mocks.ts b/src/plugins/home/server/services/sample_data/sample_data_installer.test.mocks.ts new file mode 100644 index 0000000000000..ec8e1e473841c --- /dev/null +++ b/src/plugins/home/server/services/sample_data/sample_data_installer.test.mocks.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export const insertDataIntoIndexMock = jest.fn(); +jest.doMock('./lib/insert_data_into_index', () => ({ + insertDataIntoIndex: insertDataIntoIndexMock, +})); diff --git a/src/plugins/home/server/services/sample_data/sample_data_installer.test.ts b/src/plugins/home/server/services/sample_data/sample_data_installer.test.ts new file mode 100644 index 0000000000000..511817f718748 --- /dev/null +++ b/src/plugins/home/server/services/sample_data/sample_data_installer.test.ts @@ -0,0 +1,292 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { insertDataIntoIndexMock } from './sample_data_installer.test.mocks'; +import { + savedObjectsClientMock, + savedObjectsServiceMock, + elasticsearchServiceMock, + loggingSystemMock, +} from '../../../../../core/server/mocks'; +import type { SampleDatasetSchema } from './lib/sample_dataset_registry_types'; +import { SampleDataInstaller } from './sample_data_installer'; +import { SampleDataInstallError } from './errors'; + +const testDatasets: SampleDatasetSchema[] = [ + { + id: 'test_single_data_index', + name: 'Test with a single data index', + description: 'See name', + previewImagePath: 'previewImagePath', + darkPreviewImagePath: 'darkPreviewImagePath', + overviewDashboard: 'overviewDashboard', + defaultIndex: 'defaultIndex', + savedObjects: [ + { + id: 'some-dashboard', + type: 'dashboard', + attributes: { + hello: 'dolly', + }, + references: [], + }, + { + id: 'another-dashboard', + type: 'dashboard', + attributes: { + foo: 'bar', + }, + references: [], + }, + ], + dataIndices: [ + { + id: 'test_single_data_index', + dataPath: '/dataPath', + fields: { someField: { type: 'keyword' } }, + currentTimeMarker: '2018-01-09T00:00:00', + timeFields: ['@timestamp'], + preserveDayOfWeekTimeOfDay: true, + }, + ], + appLinks: [], + }, +]; + +describe('SampleDataInstaller', () => { + let esClient: ReturnType; + let soClient: ReturnType; + let soImporter: ReturnType; + let logger: ReturnType; + let installer: SampleDataInstaller; + + beforeEach(() => { + esClient = elasticsearchServiceMock.createScopedClusterClient(); + soClient = savedObjectsClientMock.create(); + soImporter = savedObjectsServiceMock.createImporter(); + logger = loggingSystemMock.createLogger(); + + installer = new SampleDataInstaller({ + esClient, + soClient, + soImporter, + logger, + sampleDatasets: testDatasets, + }); + + soClient.bulkCreate.mockResolvedValue({ saved_objects: [] }); + + soClient.delete.mockResolvedValue({}); + + esClient.asCurrentUser.indices.getAlias.mockImplementation(() => { + throw new Error('alias not found'); + }); + }); + + afterEach(() => { + insertDataIntoIndexMock.mockReset(); + }); + + describe('#install', () => { + it('cleanups the data index before installing', async () => { + await installer.install('test_single_data_index'); + + expect(esClient.asCurrentUser.indices.delete).toHaveBeenCalledTimes(1); + expect(esClient.asCurrentUser.indices.delete).toHaveBeenCalledWith({ + index: 'kibana_sample_data_test_single_data_index', + }); + }); + + it('creates the data index', async () => { + await installer.install('test_single_data_index'); + + expect(esClient.asCurrentUser.indices.create).toHaveBeenCalledTimes(1); + expect(esClient.asCurrentUser.indices.create).toHaveBeenCalledWith({ + index: 'kibana_sample_data_test_single_data_index', + body: { + settings: { index: { number_of_shards: 1, auto_expand_replicas: '0-1' } }, + mappings: { properties: { someField: { type: 'keyword' } } }, + }, + }); + }); + + it('inserts the data into the index', async () => { + await installer.install('test_single_data_index'); + + expect(insertDataIntoIndexMock).toHaveBeenCalledTimes(1); + expect(insertDataIntoIndexMock).toHaveBeenCalledWith({ + index: 'kibana_sample_data_test_single_data_index', + nowReference: expect.any(String), + logger, + esClient, + dataIndexConfig: testDatasets[0].dataIndices[0], + }); + }); + + it('imports the saved objects', async () => { + await installer.install('test_single_data_index'); + + expect(soClient.bulkCreate).toHaveBeenCalledTimes(1); + expect(soClient.bulkCreate).toHaveBeenCalledWith(expect.any(Array), { + overwrite: true, + }); + }); + + it('throws a SampleDataInstallError with code 404 when the dataset is not found', async () => { + try { + await installer.install('unknown_data_set'); + expect('should have returned an error').toEqual('but it did not'); + } catch (e) { + expect(e).toBeInstanceOf(SampleDataInstallError); + expect((e as SampleDataInstallError).httpCode).toEqual(404); + } + }); + + it('does not throw when the index removal fails', async () => { + esClient.asCurrentUser.indices.delete.mockImplementation(() => { + throw new Error('cannot delete index'); + }); + + await expect(installer.install('test_single_data_index')).resolves.toBeDefined(); + }); + + it('throws a SampleDataInstallError when the index creation fails', async () => { + esClient.asCurrentUser.indices.create.mockImplementation(() => { + // eslint-disable-next-line no-throw-literal + throw { + message: 'Cannot create index', + status: 500, + }; + }); + + try { + await installer.install('test_single_data_index'); + expect('should have returned an error').toEqual('but it did not'); + } catch (e) { + expect(e).toBeInstanceOf(SampleDataInstallError); + expect((e as SampleDataInstallError).httpCode).toEqual(500); + } + }); + + describe('when the data index is using an alias', () => { + it('deletes the alias and the index', async () => { + const indexName = 'target_index'; + + esClient.asCurrentUser.indices.getAlias.mockResolvedValue( + elasticsearchServiceMock.createApiResponse({ + body: { + [indexName]: { + aliases: { + kibana_sample_data_test_single_data_index: {}, + }, + }, + }, + }) + ); + + await installer.install('test_single_data_index'); + + expect(esClient.asCurrentUser.indices.deleteAlias).toHaveBeenCalledTimes(1); + expect(esClient.asCurrentUser.indices.deleteAlias).toHaveBeenCalledWith({ + name: 'kibana_sample_data_test_single_data_index', + index: indexName, + }); + + expect(esClient.asCurrentUser.indices.delete).toHaveBeenCalledTimes(1); + expect(esClient.asCurrentUser.indices.delete).toHaveBeenCalledWith({ + index: indexName, + }); + }); + }); + }); + + describe('#uninstall', () => { + it('deletes the data index', async () => { + await installer.uninstall('test_single_data_index'); + + expect(esClient.asCurrentUser.indices.delete).toHaveBeenCalledTimes(1); + expect(esClient.asCurrentUser.indices.delete).toHaveBeenCalledWith({ + index: 'kibana_sample_data_test_single_data_index', + }); + }); + + it('deletes the saved objects', async () => { + await installer.uninstall('test_single_data_index'); + + expect(soClient.delete).toHaveBeenCalledTimes(2); + expect(soClient.delete).toHaveBeenCalledWith('dashboard', 'some-dashboard'); + expect(soClient.delete).toHaveBeenCalledWith('dashboard', 'another-dashboard'); + }); + + it('throws a SampleDataInstallError with code 404 when the dataset is not found', async () => { + try { + await installer.uninstall('unknown_data_set'); + expect('should have returned an error').toEqual('but it did not'); + } catch (e) { + expect(e).toBeInstanceOf(SampleDataInstallError); + expect((e as SampleDataInstallError).httpCode).toEqual(404); + } + }); + + it('does not throw when the index removal fails', async () => { + esClient.asCurrentUser.indices.delete.mockImplementation(() => { + throw new Error('cannot delete index'); + }); + + await expect(installer.uninstall('test_single_data_index')).resolves.toBeDefined(); + }); + + it('throws a SampleDataInstallError if any SO deletion fails', async () => { + soClient.delete.mockImplementation(async (type: string, id: string) => { + if (id === 'another-dashboard') { + throw new Error('could not delete another-dashboard'); + } + return {}; + }); + + try { + await installer.uninstall('test_single_data_index'); + expect('should have returned an error').toEqual('but it did not'); + } catch (e) { + expect(e).toBeInstanceOf(SampleDataInstallError); + expect((e as SampleDataInstallError).httpCode).toEqual(500); + } + }); + + describe('when the data index is using an alias', () => { + it('deletes the alias and the index', async () => { + const indexName = 'target_index'; + + esClient.asCurrentUser.indices.getAlias.mockResolvedValue( + elasticsearchServiceMock.createApiResponse({ + body: { + [indexName]: { + aliases: { + kibana_sample_data_test_single_data_index: {}, + }, + }, + }, + }) + ); + + await installer.uninstall('test_single_data_index'); + + expect(esClient.asCurrentUser.indices.deleteAlias).toHaveBeenCalledTimes(1); + expect(esClient.asCurrentUser.indices.deleteAlias).toHaveBeenCalledWith({ + name: 'kibana_sample_data_test_single_data_index', + index: indexName, + }); + + expect(esClient.asCurrentUser.indices.delete).toHaveBeenCalledTimes(1); + expect(esClient.asCurrentUser.indices.delete).toHaveBeenCalledWith({ + index: indexName, + }); + }); + }); + }); +}); diff --git a/src/plugins/home/server/services/sample_data/sample_data_installer.ts b/src/plugins/home/server/services/sample_data/sample_data_installer.ts new file mode 100644 index 0000000000000..a05d9ba85640d --- /dev/null +++ b/src/plugins/home/server/services/sample_data/sample_data_installer.ts @@ -0,0 +1,196 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { isBoom } from '@hapi/boom'; +import type { + IScopedClusterClient, + ISavedObjectsImporter, + Logger, + SavedObjectsClientContract, + SavedObjectsBulkCreateObject, +} from 'src/core/server'; +import type { SampleDatasetSchema, DataIndexSchema } from './lib/sample_dataset_registry_types'; +import { dateToIso8601IgnoringTime } from './lib/translate_timestamp'; +import { createIndexName } from './lib/create_index_name'; +import { insertDataIntoIndex } from './lib/insert_data_into_index'; +import { SampleDataInstallError } from './errors'; + +export interface SampleDataInstallerOptions { + esClient: IScopedClusterClient; + soClient: SavedObjectsClientContract; + soImporter: ISavedObjectsImporter; + sampleDatasets: SampleDatasetSchema[]; + logger: Logger; +} + +export interface SampleDataInstallResult { + createdDocsPerIndex: Record; + createdSavedObjects: number; +} + +/** + * Utility class in charge of installing and uninstalling sample datasets + */ +export class SampleDataInstaller { + private readonly esClient: IScopedClusterClient; + private readonly soClient: SavedObjectsClientContract; + private readonly sampleDatasets: SampleDatasetSchema[]; + private readonly logger: Logger; + + constructor({ esClient, soClient, sampleDatasets, logger }: SampleDataInstallerOptions) { + this.esClient = esClient; + this.soClient = soClient; + this.sampleDatasets = sampleDatasets; + this.logger = logger; + } + + async install( + datasetId: string, + installDate: Date = new Date() + ): Promise { + const sampleDataset = this.sampleDatasets.find(({ id }) => id === datasetId); + if (!sampleDataset) { + throw new SampleDataInstallError(`Sample dataset ${datasetId} not found`, 404); + } + + const nowReference = dateToIso8601IgnoringTime(installDate); + const createdDocsPerIndex: Record = {}; + + for (let i = 0; i < sampleDataset.dataIndices.length; i++) { + const dataIndex = sampleDataset.dataIndices[i]; + const indexName = createIndexName(sampleDataset.id, dataIndex.id); + // clean up any old installation of dataset + await this.uninstallDataIndex(sampleDataset, dataIndex); + await this.installDataIndex(sampleDataset, dataIndex); + + const injectedCount = await insertDataIntoIndex({ + index: indexName, + nowReference, + logger: this.logger, + esClient: this.esClient, + dataIndexConfig: dataIndex, + }); + createdDocsPerIndex[indexName] = injectedCount; + } + + const createdSavedObjects = await this.importSavedObjects(sampleDataset); + + return { + createdDocsPerIndex, + createdSavedObjects, + }; + } + + async uninstall(datasetId: string) { + const sampleDataset = this.sampleDatasets.find(({ id }) => id === datasetId); + if (!sampleDataset) { + throw new SampleDataInstallError(`Sample dataset ${datasetId} not found`, 404); + } + + for (let i = 0; i < sampleDataset.dataIndices.length; i++) { + const dataIndex = sampleDataset.dataIndices[i]; + await this.uninstallDataIndex(sampleDataset, dataIndex); + } + const deletedObjects = await this.deleteSavedObjects(sampleDataset); + + return { + deletedSavedObjects: deletedObjects, + }; + } + + private async uninstallDataIndex(dataset: SampleDatasetSchema, dataIndex: DataIndexSchema) { + let index = createIndexName(dataset.id, dataIndex.id); + + try { + // if the sample data was reindexed using UA, the index name is actually an alias pointing to the reindexed + // index. In that case, we need to get rid of the alias and to delete the underlying index + const { body: response } = await this.esClient.asCurrentUser.indices.getAlias({ + name: index, + }); + const aliasName = index; + index = Object.keys(response)[0]; + await this.esClient.asCurrentUser.indices.deleteAlias({ name: aliasName, index }); + } catch (err) { + // ignore errors from missing alias + } + + try { + await this.esClient.asCurrentUser.indices.delete({ + index, + }); + } catch (err) { + // ignore delete errors + } + } + + private async installDataIndex(dataset: SampleDatasetSchema, dataIndex: DataIndexSchema) { + const index = createIndexName(dataset.id, dataIndex.id); + try { + await this.esClient.asCurrentUser.indices.create({ + index, + body: { + settings: { index: { number_of_shards: 1, auto_expand_replicas: '0-1' } }, + mappings: { properties: dataIndex.fields }, + }, + }); + } catch (err) { + const errMsg = `Unable to create sample data index "${index}", error: ${err.message}`; + this.logger.warn(errMsg); + throw new SampleDataInstallError(errMsg, err.status); + } + } + + private async importSavedObjects(dataset: SampleDatasetSchema) { + let createResults; + try { + const savedObjects = dataset.savedObjects as SavedObjectsBulkCreateObject[]; + createResults = await this.soClient.bulkCreate( + savedObjects.map(({ version, ...savedObject }) => savedObject), + { overwrite: true } + ); + } catch (err) { + const errMsg = `bulkCreate failed, error: ${err.message}`; + throw new Error(errMsg); + } + const errors = createResults.saved_objects.filter((savedObjectCreateResult) => { + return Boolean(savedObjectCreateResult.error); + }); + if (errors.length > 0) { + const errMsg = `sample_data install errors while loading saved objects. Errors: ${JSON.stringify( + errors + )}`; + this.logger.warn(errMsg); + throw new SampleDataInstallError(errMsg, 403); + } + return dataset.savedObjects.length; + } + + private async deleteSavedObjects(dataset: SampleDatasetSchema) { + const objects = dataset.savedObjects.map(({ type, id }) => ({ type, id })); + const deletePromises = objects.map(({ type, id }) => + this.soClient.delete(type, id!).catch((err) => { + // if the object doesn't exist, ignore the error and proceed + if (isBoom(err) && err.output.statusCode === 404) { + return; + } + throw err; + }) + ); + try { + await Promise.all(deletePromises); + } catch (err) { + throw new SampleDataInstallError( + `Unable to delete sample dataset saved objects, error: ${ + err.body?.error?.type ?? err.message + }`, + err.body?.status ?? 500 + ); + } + return objects.length; + } +} diff --git a/src/plugins/home/server/services/sample_data/sample_data_registry.ts b/src/plugins/home/server/services/sample_data/sample_data_registry.ts index b88f42ca970af..94e5dd9cf26b2 100644 --- a/src/plugins/home/server/services/sample_data/sample_data_registry.ts +++ b/src/plugins/home/server/services/sample_data/sample_data_registry.ts @@ -26,6 +26,7 @@ import { registerSampleDatasetWithIntegration } from './lib/register_with_integr export class SampleDataRegistry { constructor(private readonly initContext: PluginInitializerContext) {} + private readonly sampleDatasets: SampleDatasetSchema[] = []; private registerSampleDataSet(specProvider: SampleDatasetProvider) { @@ -68,14 +69,10 @@ export class SampleDataRegistry { this.initContext.logger.get('sample_data', 'usage') ); const router = core.http.createRouter(); + const logger = this.initContext.logger.get('sampleData'); createListRoute(router, this.sampleDatasets); - createInstallRoute( - router, - this.sampleDatasets, - this.initContext.logger.get('sampleData'), - usageTracker - ); - createUninstallRoute(router, this.sampleDatasets, usageTracker); + createInstallRoute(router, this.sampleDatasets, logger, usageTracker); + createUninstallRoute(router, this.sampleDatasets, logger, usageTracker); this.registerSampleDataSet(flightsSpecProvider); this.registerSampleDataSet(logsSpecProvider); @@ -170,6 +167,7 @@ export class SampleDataRegistry { return {}; } } + /** @public */ export type SampleDataRegistrySetup = ReturnType; diff --git a/src/plugins/index_pattern_field_editor/__jest__/client_integration/field_editor_flyout_preview.test.ts b/src/plugins/index_pattern_field_editor/__jest__/client_integration/field_editor_flyout_preview.test.ts index 67309aab44a76..c6d14984463eb 100644 --- a/src/plugins/index_pattern_field_editor/__jest__/client_integration/field_editor_flyout_preview.test.ts +++ b/src/plugins/index_pattern_field_editor/__jest__/client_integration/field_editor_flyout_preview.test.ts @@ -367,7 +367,7 @@ describe('Field editor Preview panel', () => { title: 'First doc - title', }, documentId: '001', - index: 'testIndex', + index: 'testIndexPattern', script: { source: 'echo("hello")', }, diff --git a/src/plugins/index_pattern_field_editor/public/components/preview/field_preview_context.tsx b/src/plugins/index_pattern_field_editor/public/components/preview/field_preview_context.tsx index 21ab055c9b05e..1344db4c38811 100644 --- a/src/plugins/index_pattern_field_editor/public/components/preview/field_preview_context.tsx +++ b/src/plugins/index_pattern_field_editor/public/components/preview/field_preview_context.tsx @@ -16,6 +16,7 @@ import React, { useRef, FunctionComponent, } from 'react'; +import { renderToString } from 'react-dom/server'; import useDebounce from 'react-use/lib/useDebounce'; import { i18n } from '@kbn/i18n'; import { get } from 'lodash'; @@ -107,8 +108,10 @@ const defaultParams: Params = { format: null, }; -export const defaultValueFormatter = (value: unknown) => - `${typeof value === 'object' ? JSON.stringify(value) : value ?? '-'}`; +export const defaultValueFormatter = (value: unknown) => { + const content = typeof value === 'object' ? JSON.stringify(value) : value ?? '-'; + return renderToString(<>{content}); +}; export const FieldPreviewProvider: FunctionComponent = ({ children }) => { const previewCount = useRef(0); @@ -164,7 +167,6 @@ export const FieldPreviewProvider: FunctionComponent = ({ children }) => { [documents, currentIdx] ); - const currentDocIndex = currentDocument?._index; const currentDocId: string = currentDocument?._id ?? ''; const totalDocs = documents.length; const { name, document, script, format, type } = params; @@ -331,7 +333,7 @@ export const FieldPreviewProvider: FunctionComponent = ({ children }) => { const currentApiCall = ++previewCount.current; const response = await getFieldPreview({ - index: currentDocIndex, + index: indexPattern.title, document: params.document!, context: `${params.type!}_field` as FieldPreviewContext, script: params.script!, @@ -383,11 +385,11 @@ export const FieldPreviewProvider: FunctionComponent = ({ children }) => { }, [ needToUpdatePreview, params, - currentDocIndex, currentDocId, getFieldPreview, notifications.toasts, valueFormatter, + indexPattern.title, ]); const goToNextDoc = useCallback(() => { diff --git a/src/plugins/inspector/common/adapters/request/request_responder.ts b/src/plugins/inspector/common/adapters/request/request_responder.ts index 1b8da2e57e7f2..1d3a999e4834d 100644 --- a/src/plugins/inspector/common/adapters/request/request_responder.ts +++ b/src/plugins/inspector/common/adapters/request/request_responder.ts @@ -51,7 +51,7 @@ export class RequestResponder { } public finish(status: RequestStatus, response: Response): void { - this.request.time = Date.now() - this.request.startTime; + this.request.time = response.time ?? Date.now() - this.request.startTime; this.request.status = status; this.request.response = response; this.onChange(); diff --git a/src/plugins/inspector/common/adapters/request/types.ts b/src/plugins/inspector/common/adapters/request/types.ts index a204a7aa00a4a..4e6a8d324559f 100644 --- a/src/plugins/inspector/common/adapters/request/types.ts +++ b/src/plugins/inspector/common/adapters/request/types.ts @@ -53,4 +53,5 @@ export interface RequestStatistic { export interface Response { json?: object; + time?: number; } diff --git a/src/plugins/kibana_usage_collection/jest.integration.config.js b/src/plugins/kibana_usage_collection/jest.integration.config.js new file mode 100644 index 0000000000000..b4edb79789bbe --- /dev/null +++ b/src/plugins/kibana_usage_collection/jest.integration.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_integration', + rootDir: '../../..', + roots: ['/src/plugins/kibana_usage_collection'], +}; diff --git a/src/plugins/kibana_usage_collection/server/collectors/core/core_usage_collector.ts b/src/plugins/kibana_usage_collection/server/collectors/core/core_usage_collector.ts index b1cf0ecd2213e..a208832baf719 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/core/core_usage_collector.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/core/core_usage_collector.ts @@ -355,14 +355,14 @@ export function getCoreUsageCollector( type: 'long', _meta: { description: - 'The number of documents in the index, including hidden nested documents.', + 'The number of lucene documents in the index, including hidden nested documents.', }, }, docsDeleted: { type: 'long', _meta: { description: - 'The number of deleted documents in the index, including hidden nested documents.', + 'The number of deleted lucene documents in the index, including hidden nested documents.', }, }, alias: { @@ -382,6 +382,12 @@ export function getCoreUsageCollector( description: 'The size in bytes of the index, for primaries and replicas.', }, }, + savedObjectsDocsCount: { + type: 'long', + _meta: { + description: 'The number of saved objects documents in the index.', + }, + }, }, }, legacyUrlAliases: { diff --git a/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts b/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts index 98362bfe4f560..3b76a01382039 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts @@ -288,6 +288,10 @@ export const stackManagementSchema: MakeSchemaFrom = { type: 'long', _meta: { description: 'Non-default value of setting.' }, }, + 'metrics:allowCheckingForFailedShards': { + type: 'boolean', + _meta: { description: 'Non-default value of setting.' }, + }, 'query:allowLeadingWildcards': { type: 'boolean', _meta: { description: 'Non-default value of setting.' }, diff --git a/src/plugins/kibana_usage_collection/server/collectors/management/types.ts b/src/plugins/kibana_usage_collection/server/collectors/management/types.ts index 7a527e911ddce..7aec93e9f22b6 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/management/types.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/management/types.ts @@ -95,6 +95,7 @@ export interface UsageStats { 'savedObjects:listingLimit': number; 'query:queryString:options': string; 'metrics:max_buckets': number; + 'metrics:allowCheckingForFailedShards': boolean; 'query:allowLeadingWildcards': boolean; metaFields: string[]; 'indexPattern:placeholder': string; diff --git a/src/plugins/kibana_utils/common/errors/errors.test.ts b/src/plugins/kibana_utils/common/errors/errors.test.ts index 19523213e98ed..579806b57d417 100644 --- a/src/plugins/kibana_utils/common/errors/errors.test.ts +++ b/src/plugins/kibana_utils/common/errors/errors.test.ts @@ -7,11 +7,16 @@ */ import expect from '@kbn/expect'; -import { DuplicateField, SavedObjectNotFound, KbnError } from './errors'; +import { + DuplicateField, + SavedObjectNotFound, + KbnError, + isSavedObjectNotFoundError, +} from './errors'; -describe('errors', () => { - const errors = [new DuplicateField('dupfield'), new SavedObjectNotFound('dashboard', '123')]; +const errors = [new DuplicateField('dupfield'), new SavedObjectNotFound('dashboard', '123')]; +describe('errors', () => { errors.forEach((error) => { const className = error.constructor.name; it(`${className} has a message`, () => { @@ -27,3 +32,22 @@ describe('errors', () => { }); }); }); + +describe('isSavedObjectNotFoundError', () => { + it(`returns false if passed 'undefined'`, () => { + expect(isSavedObjectNotFoundError(undefined)).to.be(false); + }); + + it('returns false if passed an Error other than SavedObjectNotFound', () => { + expect(isSavedObjectNotFoundError(errors[0])).to.be(false); + }); + + it('returns true if passed a SavedObjectNotFound error', () => { + expect(isSavedObjectNotFoundError(errors[1])).to.be(true); + }); + + it('returns true if passed a specialization of SavedObjectNotFound error', () => { + class SpecializedError extends SavedObjectNotFound {} + expect(isSavedObjectNotFoundError(new SpecializedError('dashboard', '123'))).to.be(true); + }); +}); diff --git a/src/plugins/kibana_utils/common/errors/errors.ts b/src/plugins/kibana_utils/common/errors/errors.ts index 7f3efc6d9571f..a8d1a7f9dcf46 100644 --- a/src/plugins/kibana_utils/common/errors/errors.ts +++ b/src/plugins/kibana_utils/common/errors/errors.ts @@ -32,6 +32,8 @@ export class DuplicateField extends KbnError { export class SavedObjectNotFound extends KbnError { public savedObjectType: string; public savedObjectId?: string; + public isSavedObjectNotFoundError: boolean; + constructor(type: string, id?: string, link?: string, customMessage?: string) { const idMsg = id ? ` (id: ${id})` : ''; let message = `Could not locate that ${type}${idMsg}`; @@ -44,9 +46,22 @@ export class SavedObjectNotFound extends KbnError { this.savedObjectType = type; this.savedObjectId = id; + this.isSavedObjectNotFoundError = true; } } +/** + * Checks whether the given error is a SavedObjectNotFound error + * @param {boolean} error - true iif the error is a SavedObjectNotFound error + */ +export function isSavedObjectNotFoundError(error: Error | undefined): error is SavedObjectNotFound { + // we can't check "error instanceof SavedObjectNotFound" since this class can live in a separate bundle + // and the error will be an instance of other class with the same interface + // (actually the copy of SavedObjectNotFound class) + const savedObjectError = error as unknown as SavedObjectNotFound; + return savedObjectError ? !!savedObjectError.isSavedObjectNotFoundError : false; +} + /** * A saved field doesn't exist anymore */ diff --git a/src/plugins/kibana_utils/public/history/redirect_when_missing.tsx b/src/plugins/kibana_utils/public/history/redirect_when_missing.tsx index c64ac35e6f83f..57e49d2d5ba41 100644 --- a/src/plugins/kibana_utils/public/history/redirect_when_missing.tsx +++ b/src/plugins/kibana_utils/public/history/redirect_when_missing.tsx @@ -14,6 +14,7 @@ import ReactDOM from 'react-dom'; import { ApplicationStart, HttpStart, ToastsSetup } from 'kibana/public'; import { SavedObjectNotFound } from '..'; +import { isSavedObjectNotFoundError } from '../../common'; const ReactMarkdown = React.lazy(() => import('react-markdown')); const ErrorRenderer = (props: { children: string }) => ( @@ -71,11 +72,9 @@ export function redirectWhenMissing({ localMappingObject = mapping; } - return (error: SavedObjectNotFound) => { - // if this error is not "404", rethrow - // we can't check "error instanceof SavedObjectNotFound" since this class can live in a separate bundle - // and the error will be an instance of other class with the same interface (actually the copy of SavedObjectNotFound class) - if (!error.savedObjectType) { + return (error: Error) => { + if (!isSavedObjectNotFoundError(error)) { + // if this error is not "404", rethrow throw error; } diff --git a/src/plugins/saved_objects/public/saved_object/helpers/apply_es_resp.ts b/src/plugins/saved_objects/public/saved_object/helpers/apply_es_resp.ts index 40baff22f52c8..4bd5da4a958c1 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/apply_es_resp.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/apply_es_resp.ts @@ -8,7 +8,7 @@ import { cloneDeep, defaults, forOwn, assign } from 'lodash'; import { EsResponse, SavedObject, SavedObjectConfig, SavedObjectKibanaServices } from '../../types'; -import { SavedObjectNotFound } from '../../../../kibana_utils/public'; +import { isSavedObjectNotFoundError, SavedObjectNotFound } from '../../../../kibana_utils/public'; import { IndexPattern, injectSearchSourceReferences, @@ -73,10 +73,7 @@ export async function applyESResp( savedObject.searchSourceFields = searchSourceValues; } } catch (error) { - if ( - error.constructor.name === 'SavedObjectNotFound' && - error.savedObjectType === 'index-pattern' - ) { + if (isSavedObjectNotFoundError(error) && error.savedObjectType === 'index-pattern') { // if parsing the search source fails because the index pattern wasn't found, // remember the reference - this is required for error handling on legacy imports savedObject.unresolvedIndexPatternReference = { diff --git a/src/plugins/saved_objects_management/kibana.json b/src/plugins/saved_objects_management/kibana.json index b8207e0627b81..3885d94bd4dbe 100644 --- a/src/plugins/saved_objects_management/kibana.json +++ b/src/plugins/saved_objects_management/kibana.json @@ -10,5 +10,5 @@ "requiredPlugins": ["management", "data"], "optionalPlugins": ["dashboard", "visualizations", "discover", "home", "savedObjectsTaggingOss", "spaces"], "extraPublicDirs": ["public/lib"], - "requiredBundles": ["kibanaReact", "home"] + "requiredBundles": ["kibanaReact", "home", "kibanaUtils"] } diff --git a/src/plugins/saved_objects_management/public/lib/resolve_saved_objects.test.ts b/src/plugins/saved_objects_management/public/lib/resolve_saved_objects.test.ts index d5ec2ad9739a7..6f7736803c2c9 100644 --- a/src/plugins/saved_objects_management/public/lib/resolve_saved_objects.test.ts +++ b/src/plugins/saved_objects_management/public/lib/resolve_saved_objects.test.ts @@ -19,6 +19,9 @@ import { dataPluginMock } from '../../../data/public/mocks'; class SavedObjectNotFound extends Error { constructor(options: Record) { super(); + + options.isSavedObjectNotFoundError = true; + for (const option in options) { if (options.hasOwnProperty(option)) { (this as any)[option] = options[option]; diff --git a/src/plugins/saved_objects_management/public/lib/resolve_saved_objects.ts b/src/plugins/saved_objects_management/public/lib/resolve_saved_objects.ts index 7b97c71f38cf2..01bbcf9c2cb23 100644 --- a/src/plugins/saved_objects_management/public/lib/resolve_saved_objects.ts +++ b/src/plugins/saved_objects_management/public/lib/resolve_saved_objects.ts @@ -10,6 +10,7 @@ import { i18n } from '@kbn/i18n'; import { cloneDeep } from 'lodash'; import { OverlayStart, SavedObjectReference } from 'src/core/public'; import { SavedObject, SavedObjectLoader } from '../../../saved_objects/public'; +import { isSavedObjectNotFoundError } from '../../../kibana_utils/common'; import { DataPublicPluginStart, IndexPatternsContract, @@ -303,7 +304,7 @@ export async function resolveSavedObjects( importedObjectCount++; } } catch (error) { - if (error.constructor.name === 'SavedObjectNotFound') { + if (isSavedObjectNotFoundError(error)) { if (error.savedObjectType === 'index-pattern') { conflictedIndexPatterns.push({ obj, doc: searchDoc }); } else { @@ -324,8 +325,7 @@ export async function resolveSavedObjects( } } catch (error) { const isIndexPatternNotFound = - error.constructor.name === 'SavedObjectNotFound' && - error.savedObjectType === 'index-pattern'; + isSavedObjectNotFoundError(error) && error.savedObjectType === 'index-pattern'; if (isIndexPatternNotFound && obj.savedSearchId) { conflictedSavedObjectsLinkedToSavedSearches.push(obj); } else if (isIndexPatternNotFound) { diff --git a/src/plugins/telemetry/schema/oss_plugins.json b/src/plugins/telemetry/schema/oss_plugins.json index 54032badcd8e0..b1d11acb0b225 100644 --- a/src/plugins/telemetry/schema/oss_plugins.json +++ b/src/plugins/telemetry/schema/oss_plugins.json @@ -6248,13 +6248,13 @@ "docsCount": { "type": "long", "_meta": { - "description": "The number of documents in the index, including hidden nested documents." + "description": "The number of lucene documents in the index, including hidden nested documents." } }, "docsDeleted": { "type": "long", "_meta": { - "description": "The number of deleted documents in the index, including hidden nested documents." + "description": "The number of deleted lucene documents in the index, including hidden nested documents." } }, "alias": { @@ -6274,6 +6274,12 @@ "_meta": { "description": "The size in bytes of the index, for primaries and replicas." } + }, + "savedObjectsDocsCount": { + "type": "long", + "_meta": { + "description": "The number of saved objects documents in the index." + } } } } @@ -7577,6 +7583,12 @@ "description": "Non-default value of setting." } }, + "metrics:allowCheckingForFailedShards": { + "type": "boolean", + "_meta": { + "description": "Non-default value of setting." + } + }, "query:allowLeadingWildcards": { "type": "boolean", "_meta": { diff --git a/src/plugins/telemetry/server/fetcher.test.ts b/src/plugins/telemetry/server/fetcher.test.ts index 8d427808bb5e1..c6e62659ec93f 100644 --- a/src/plugins/telemetry/server/fetcher.test.ts +++ b/src/plugins/telemetry/server/fetcher.test.ts @@ -35,38 +35,6 @@ describe('FetcherTask', () => { ); }); - it('stops when all collectors are not ready', async () => { - const initializerContext = coreMock.createPluginInitializerContext({}); - const fetcherTask = new FetcherTask(initializerContext); - const getCurrentConfigs = jest.fn().mockResolvedValue({}); - const areAllCollectorsReady = jest.fn().mockResolvedValue(false); - const shouldSendReport = jest.fn().mockReturnValue(true); - const fetchTelemetry = jest.fn(); - const sendTelemetry = jest.fn(); - const updateReportFailure = jest.fn(); - - Object.assign(fetcherTask, { - getCurrentConfigs, - areAllCollectorsReady, - shouldSendReport, - fetchTelemetry, - updateReportFailure, - sendTelemetry, - }); - - await fetcherTask['sendIfDue'](); - - expect(fetchTelemetry).toBeCalledTimes(0); - expect(sendTelemetry).toBeCalledTimes(0); - - expect(areAllCollectorsReady).toBeCalledTimes(1); - expect(updateReportFailure).toBeCalledTimes(0); - expect(fetcherTask['logger'].warn).toBeCalledTimes(1); - expect(fetcherTask['logger'].warn).toHaveBeenCalledWith( - `Error fetching usage. (Error: Not all collectors are ready.)` - ); - }); - it('fetches usage and send telemetry', async () => { const initializerContext = coreMock.createPluginInitializerContext({}); const fetcherTask = new FetcherTask(initializerContext); @@ -79,7 +47,6 @@ describe('FetcherTask', () => { const getCurrentConfigs = jest.fn().mockResolvedValue({ telemetryUrl: mockTelemetryUrl, }); - const areAllCollectorsReady = jest.fn().mockResolvedValue(true); const shouldSendReport = jest.fn().mockReturnValue(true); const fetchTelemetry = jest.fn().mockResolvedValue(mockClusters); @@ -88,7 +55,6 @@ describe('FetcherTask', () => { Object.assign(fetcherTask, { getCurrentConfigs, - areAllCollectorsReady, shouldSendReport, fetchTelemetry, updateReportFailure, @@ -97,7 +63,6 @@ describe('FetcherTask', () => { await fetcherTask['sendIfDue'](); - expect(areAllCollectorsReady).toBeCalledTimes(1); expect(fetchTelemetry).toBeCalledTimes(1); expect(sendTelemetry).toBeCalledTimes(1); expect(sendTelemetry).toHaveBeenNthCalledWith(1, mockTelemetryUrl, mockClusters); diff --git a/src/plugins/telemetry/server/fetcher.ts b/src/plugins/telemetry/server/fetcher.ts index 97180f351986e..4bc9264e688d8 100644 --- a/src/plugins/telemetry/server/fetcher.ts +++ b/src/plugins/telemetry/server/fetcher.ts @@ -83,10 +83,6 @@ export class FetcherTask { } } - private async areAllCollectorsReady() { - return (await this.telemetryCollectionManager?.areAllCollectorsReady()) ?? false; - } - private async sendIfDue() { if (this.isSending) { return; @@ -108,10 +104,6 @@ export class FetcherTask { this.isSending = true; try { - const allCollectorsReady = await this.areAllCollectorsReady(); - if (!allCollectorsReady) { - throw new Error('Not all collectors are ready.'); - } clusters = await this.fetchTelemetry(); } catch (err) { this.logger.warn(`Error fetching usage. (${err})`); diff --git a/src/plugins/telemetry/server/plugin.ts b/src/plugins/telemetry/server/plugin.ts index a5707cc0ffeea..10d59f2bc76d7 100644 --- a/src/plugins/telemetry/server/plugin.ts +++ b/src/plugins/telemetry/server/plugin.ts @@ -33,7 +33,7 @@ import { import type { TelemetryConfigType } from './config'; import { FetcherTask } from './fetcher'; import { handleOldSettings } from './handle_old_settings'; -import { getTelemetrySavedObject } from './telemetry_repository'; +import { getTelemetrySavedObject, TelemetrySavedObject } from './telemetry_repository'; import { getTelemetryOptIn, getTelemetryChannelEndpoint } from '../common/telemetry_config'; interface TelemetryPluginsDepsSetup { @@ -141,7 +141,12 @@ export class TelemetryPlugin implements Plugin { await this.oldUiSettingsHandled$.pipe(take(1)).toPromise(); // Wait for the old settings to be handled const internalRepository = new SavedObjectsClient(savedObjectsInternalRepository); - const telemetrySavedObject = await getTelemetrySavedObject(internalRepository); + let telemetrySavedObject: TelemetrySavedObject = false; // if an error occurs while fetching opt-in status, a `false` result indicates that Kibana cannot opt-in + try { + telemetrySavedObject = await getTelemetrySavedObject(internalRepository); + } catch (err) { + this.logger.debug('Failed to check telemetry opt-in status: ' + err.message); + } const config = await this.config$.pipe(take(1)).toPromise(); const allowChangingOptInStatus = config.allowChangingOptInStatus; const configTelemetryOptIn = typeof config.optIn === 'undefined' ? null : config.optIn; diff --git a/src/plugins/telemetry_collection_manager/server/plugin.test.ts b/src/plugins/telemetry_collection_manager/server/plugin.test.ts index 97cb4618d5d13..77cc2ac9ca510 100644 --- a/src/plugins/telemetry_collection_manager/server/plugin.test.ts +++ b/src/plugins/telemetry_collection_manager/server/plugin.test.ts @@ -28,9 +28,6 @@ describe('Telemetry Collection Manager', () => { describe('everything works when no collection mechanisms are registered', () => { const telemetryCollectionManager = new TelemetryCollectionManagerPlugin(initializerContext); const setupApi = telemetryCollectionManager.setup(coreMock.createSetup(), { usageCollection }); - test('All collectors are ready (there are none)', async () => { - await expect(setupApi.areAllCollectorsReady()).resolves.toBe(true); - }); test('getStats returns empty', async () => { const config: StatsGetterConfig = { unencrypted: false }; await expect(setupApi.getStats(config)).resolves.toStrictEqual([]); diff --git a/src/plugins/telemetry_collection_manager/server/plugin.ts b/src/plugins/telemetry_collection_manager/server/plugin.ts index 2f4576a6a6f4f..bdce2c8be31d8 100644 --- a/src/plugins/telemetry_collection_manager/server/plugin.ts +++ b/src/plugins/telemetry_collection_manager/server/plugin.ts @@ -69,7 +69,6 @@ export class TelemetryCollectionManagerPlugin setCollectionStrategy: this.setCollectionStrategy.bind(this), getOptInStats: this.getOptInStats.bind(this), getStats: this.getStats.bind(this), - areAllCollectorsReady: this.areAllCollectorsReady.bind(this), }; } @@ -80,7 +79,6 @@ export class TelemetryCollectionManagerPlugin return { getOptInStats: this.getOptInStats.bind(this), getStats: this.getStats.bind(this), - areAllCollectorsReady: this.areAllCollectorsReady.bind(this), }; } @@ -221,10 +219,6 @@ export class TelemetryCollectionManagerPlugin return []; } - private async areAllCollectorsReady() { - return await this.usageCollection?.areAllCollectorsReady(); - } - private getOptInStatsForCollection = async ( collection: CollectionStrategy, optInStatus: boolean, diff --git a/src/plugins/telemetry_collection_manager/server/types.ts b/src/plugins/telemetry_collection_manager/server/types.ts index b9b570e3f287b..7ea32844a858c 100644 --- a/src/plugins/telemetry_collection_manager/server/types.ts +++ b/src/plugins/telemetry_collection_manager/server/types.ts @@ -21,13 +21,11 @@ export interface TelemetryCollectionManagerPluginSetup { ) => void; getOptInStats: TelemetryCollectionManagerPlugin['getOptInStats']; getStats: TelemetryCollectionManagerPlugin['getStats']; - areAllCollectorsReady: TelemetryCollectionManagerPlugin['areAllCollectorsReady']; } export interface TelemetryCollectionManagerPluginStart { getOptInStats: TelemetryCollectionManagerPlugin['getOptInStats']; getStats: TelemetryCollectionManagerPlugin['getStats']; - areAllCollectorsReady: TelemetryCollectionManagerPlugin['areAllCollectorsReady']; } export interface TelemetryOptInStats { diff --git a/src/plugins/usage_collection/common/constants.ts b/src/plugins/usage_collection/common/constants.ts index 42fa09ff3582a..eaac678a42994 100644 --- a/src/plugins/usage_collection/common/constants.ts +++ b/src/plugins/usage_collection/common/constants.ts @@ -7,5 +7,5 @@ */ export const KIBANA_STATS_TYPE = 'kibana_stats'; -export const DEFAULT_MAXIMUM_WAIT_TIME_FOR_ALL_COLLECTORS_IN_S = 60; +export const DEFAULT_MAXIMUM_WAIT_TIME_FOR_ALL_COLLECTORS_IN_S = 1; export const MAIN_APP_DEFAULT_VIEW_ID = 'main'; diff --git a/src/plugins/usage_collection/jest.integration.config.js b/src/plugins/usage_collection/jest.integration.config.js new file mode 100644 index 0000000000000..b63bcb880a642 --- /dev/null +++ b/src/plugins/usage_collection/jest.integration.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_integration', + rootDir: '../../..', + roots: ['/src/plugins/usage_collection'], +}; diff --git a/src/plugins/usage_collection/server/collector/collector_set.test.ts b/src/plugins/usage_collection/server/collector/collector_set.test.ts index aa90d25598518..491937bc29fcb 100644 --- a/src/plugins/usage_collection/server/collector/collector_set.test.ts +++ b/src/plugins/usage_collection/server/collector/collector_set.test.ts @@ -10,20 +10,22 @@ import { noop } from 'lodash'; import { Collector } from './collector'; import { CollectorSet } from './collector_set'; import { UsageCollector } from './usage_collector'; + import { elasticsearchServiceMock, loggingSystemMock, savedObjectsClientMock, + httpServerMock, } from '../../../../core/server/mocks'; -const logger = loggingSystemMock.createLogger(); +describe('CollectorSet', () => { + const logger = loggingSystemMock.createLogger(); -const loggerSpies = { - debug: jest.spyOn(logger, 'debug'), - warn: jest.spyOn(logger, 'warn'), -}; + const loggerSpies = { + debug: jest.spyOn(logger, 'debug'), + warn: jest.spyOn(logger, 'warn'), + }; -describe('CollectorSet', () => { describe('registers a collector set and runs lifecycle events', () => { let fetch: Function; beforeEach(() => { @@ -83,7 +85,8 @@ describe('CollectorSet', () => { ); const result = await collectors.bulkFetch(mockEsClient, mockSoClient, req); - expect(loggerSpies.debug).toHaveBeenCalledTimes(1); + expect(loggerSpies.debug).toHaveBeenCalledTimes(2); + expect(loggerSpies.debug).toHaveBeenCalledWith('Getting ready collectors'); expect(loggerSpies.debug).toHaveBeenCalledWith( 'Fetching data from MY_TEST_COLLECTOR collector' ); @@ -487,4 +490,151 @@ describe('CollectorSet', () => { ).toStrictEqual({ test: 1 }); }); }); + + describe('bulkFetch', () => { + const collectorSetConfig = { logger, maximumWaitTimeForAllCollectorsInS: 1 }; + let collectorSet = new CollectorSet(collectorSetConfig); + afterEach(() => { + collectorSet = new CollectorSet(collectorSetConfig); + }); + + it('skips collectors that are not ready', async () => { + const mockIsReady = jest.fn().mockReturnValue(true); + const mockIsNotReady = jest.fn().mockResolvedValue(false); + const mockNonReadyFetch = jest.fn().mockResolvedValue({}); + const mockReadyFetch = jest.fn().mockResolvedValue({}); + collectorSet.registerCollector( + collectorSet.makeUsageCollector({ + type: 'ready_col', + isReady: mockIsReady, + schema: {}, + fetch: mockReadyFetch, + }) + ); + collectorSet.registerCollector( + collectorSet.makeUsageCollector({ + type: 'not_ready_col', + isReady: mockIsNotReady, + schema: {}, + fetch: mockNonReadyFetch, + }) + ); + + const mockEsClient = elasticsearchServiceMock.createClusterClient().asInternalUser; + const mockSoClient = savedObjectsClientMock.create(); + const results = await collectorSet.bulkFetch(mockEsClient, mockSoClient, undefined); + + expect(mockIsReady).toBeCalledTimes(1); + expect(mockReadyFetch).toBeCalledTimes(1); + expect(mockIsNotReady).toBeCalledTimes(1); + expect(mockNonReadyFetch).toBeCalledTimes(0); + + expect(results).toMatchInlineSnapshot(` + Array [ + Object { + "result": Object {}, + "type": "ready_col", + }, + ] + `); + }); + + it('skips collectors that have timed out', async () => { + const mockFastReady = jest.fn().mockImplementation(async () => { + return new Promise((res) => { + setTimeout(() => res(true), 0.5 * 1000); + }); + }); + const mockTimedOutReady = jest.fn().mockImplementation(async () => { + return new Promise((res) => { + setTimeout(() => res(true), 2 * 1000); + }); + }); + const mockNonReadyFetch = jest.fn().mockResolvedValue({}); + const mockReadyFetch = jest.fn().mockResolvedValue({}); + collectorSet.registerCollector( + collectorSet.makeUsageCollector({ + type: 'ready_col', + isReady: mockFastReady, + schema: {}, + fetch: mockReadyFetch, + }) + ); + collectorSet.registerCollector( + collectorSet.makeUsageCollector({ + type: 'timeout_col', + isReady: mockTimedOutReady, + schema: {}, + fetch: mockNonReadyFetch, + }) + ); + + const mockEsClient = elasticsearchServiceMock.createClusterClient().asInternalUser; + const mockSoClient = savedObjectsClientMock.create(); + const results = await collectorSet.bulkFetch(mockEsClient, mockSoClient, undefined); + + expect(mockFastReady).toBeCalledTimes(1); + expect(mockReadyFetch).toBeCalledTimes(1); + expect(mockTimedOutReady).toBeCalledTimes(1); + expect(mockNonReadyFetch).toBeCalledTimes(0); + + expect(results).toMatchInlineSnapshot(` + Array [ + Object { + "result": Object {}, + "type": "ready_col", + }, + ] + `); + }); + + it('passes context to fetch', async () => { + const mockReadyFetch = jest.fn().mockResolvedValue({}); + collectorSet.registerCollector( + collectorSet.makeUsageCollector({ + type: 'ready_col', + isReady: () => true, + schema: {}, + fetch: mockReadyFetch, + }) + ); + + const mockEsClient = elasticsearchServiceMock.createClusterClient().asInternalUser; + const mockSoClient = savedObjectsClientMock.create(); + const results = await collectorSet.bulkFetch(mockEsClient, mockSoClient, undefined); + + expect(mockReadyFetch).toBeCalledTimes(1); + expect(mockReadyFetch).toBeCalledWith({ + esClient: mockEsClient, + soClient: mockSoClient, + }); + expect(results).toHaveLength(1); + }); + + it('adds extra context to collectors with extendFetchContext config', async () => { + const mockReadyFetch = jest.fn().mockResolvedValue({}); + collectorSet.registerCollector( + collectorSet.makeUsageCollector({ + type: 'ready_col', + isReady: () => true, + schema: {}, + fetch: mockReadyFetch, + extendFetchContext: { kibanaRequest: true }, + }) + ); + + const mockEsClient = elasticsearchServiceMock.createClusterClient().asInternalUser; + const mockSoClient = savedObjectsClientMock.create(); + const request = httpServerMock.createKibanaRequest(); + const results = await collectorSet.bulkFetch(mockEsClient, mockSoClient, request); + + expect(mockReadyFetch).toBeCalledTimes(1); + expect(mockReadyFetch).toBeCalledWith({ + esClient: mockEsClient, + soClient: mockSoClient, + kibanaRequest: request, + }); + expect(results).toHaveLength(1); + }); + }); }); diff --git a/src/plugins/usage_collection/server/collector/collector_set.ts b/src/plugins/usage_collection/server/collector/collector_set.ts index d536cf3f2c89b..47e92b54f66b6 100644 --- a/src/plugins/usage_collection/server/collector/collector_set.ts +++ b/src/plugins/usage_collection/server/collector/collector_set.ts @@ -5,7 +5,7 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ - +import { withTimeout } from '@kbn/std'; import { snakeCase } from 'lodash'; import type { Logger, @@ -16,26 +16,34 @@ import type { import { Collector } from './collector'; import type { ICollector, CollectorOptions } from './types'; import { UsageCollector, UsageCollectorOptions } from './usage_collector'; +import { DEFAULT_MAXIMUM_WAIT_TIME_FOR_ALL_COLLECTORS_IN_S } from '../../common/constants'; // Needed for the general array containing all the collectors. We don't really care about their types here // eslint-disable-next-line @typescript-eslint/no-explicit-any type AnyCollector = ICollector; +type Awaited = T extends PromiseLike ? U : T; +interface CollectorWithStatus { + isReadyWithTimeout: Awaited>; + collector: AnyCollector; +} interface CollectorSetConfig { logger: Logger; maximumWaitTimeForAllCollectorsInS?: number; collectors?: AnyCollector[]; } - export class CollectorSet { - private _waitingForAllCollectorsTimestamp?: number; private readonly logger: Logger; private readonly maximumWaitTimeForAllCollectorsInS: number; private readonly collectors: Map; - constructor({ logger, maximumWaitTimeForAllCollectorsInS, collectors = [] }: CollectorSetConfig) { + constructor({ + logger, + maximumWaitTimeForAllCollectorsInS = DEFAULT_MAXIMUM_WAIT_TIME_FOR_ALL_COLLECTORS_IN_S, + collectors = [], + }: CollectorSetConfig) { this.logger = logger; this.collectors = new Map(collectors.map((collector) => [collector.type, collector])); - this.maximumWaitTimeForAllCollectorsInS = maximumWaitTimeForAllCollectorsInS || 60; + this.maximumWaitTimeForAllCollectorsInS = maximumWaitTimeForAllCollectorsInS; } /** @@ -92,51 +100,70 @@ export class CollectorSet { return [...this.collectors.values()].find((c) => c.type === type); }; - public areAllCollectorsReady = async (collectorSet: CollectorSet = this) => { - if (!(collectorSet instanceof CollectorSet)) { + private getReadyCollectors = async ( + collectors: Map = this.collectors + ): Promise => { + if (!(collectors instanceof Map)) { throw new Error( - `areAllCollectorsReady method given bad collectorSet parameter: ` + typeof collectorSet + `getReadyCollectors method given bad Map of collectors: ` + typeof collectors ); } - const collectors = [...collectorSet.collectors.values()]; - const collectorsWithStatus = await Promise.all( - collectors.map(async (collector) => { - return { - isReady: await collector.isReady(), - collector, - }; + const secondInMs = 1000; + const collectorsWithStatus: CollectorWithStatus[] = await Promise.all( + [...collectors.values()].map(async (collector) => { + const isReadyWithTimeout = await withTimeout({ + promise: (async (): Promise => { + try { + return await collector.isReady(); + } catch (err) { + this.logger.debug(`Collector ${collector.type} failed to get ready. ${err}`); + return false; + } + })(), + timeoutMs: this.maximumWaitTimeForAllCollectorsInS * secondInMs, + }); + + return { isReadyWithTimeout, collector }; }) ); - const collectorsTypesNotReady = collectorsWithStatus - .filter((collectorWithStatus) => collectorWithStatus.isReady === false) - .map((collectorWithStatus) => collectorWithStatus.collector.type); - - const allReady = collectorsTypesNotReady.length === 0; - - if (!allReady && this.maximumWaitTimeForAllCollectorsInS >= 0) { - const nowTimestamp = +new Date(); - this._waitingForAllCollectorsTimestamp = - this._waitingForAllCollectorsTimestamp || nowTimestamp; - const timeWaitedInMS = nowTimestamp - this._waitingForAllCollectorsTimestamp; - const timeLeftInMS = this.maximumWaitTimeForAllCollectorsInS * 1000 - timeWaitedInMS; - if (timeLeftInMS <= 0) { - this.logger.debug( - `All collectors are not ready (waiting for ${collectorsTypesNotReady.join(',')}) ` + - `but we have waited the required ` + - `${this.maximumWaitTimeForAllCollectorsInS}s and will return data from all collectors that are ready.` - ); - - return true; - } else { - this.logger.debug(`All collectors are not ready. Waiting for ${timeLeftInMS}ms longer.`); - } - } else { - this._waitingForAllCollectorsTimestamp = undefined; + const timedOutCollectorsTypes = collectorsWithStatus + .filter((collectorWithStatus) => collectorWithStatus.isReadyWithTimeout.timedout) + .map(({ collector }) => collector.type); + + if (timedOutCollectorsTypes.length) { + this.logger.debug( + `Some collectors timedout getting ready (${timedOutCollectorsTypes.join(', ')}). ` + + `Waited for ${this.maximumWaitTimeForAllCollectorsInS}s and will return data from collectors that are ready.` + ); + } + + const nonTimedOutCollectors = collectorsWithStatus.filter( + ( + collectorWithStatus + ): collectorWithStatus is { + isReadyWithTimeout: { timedout: false; value: boolean }; + collector: AnyCollector; + } => collectorWithStatus.isReadyWithTimeout.timedout === false + ); + + const collectorsTypesNotReady = nonTimedOutCollectors + .filter(({ isReadyWithTimeout }) => isReadyWithTimeout.value === false) + .map(({ collector }) => collector.type); + + if (collectorsTypesNotReady.length) { + this.logger.debug( + `Some collectors are not ready (${collectorsTypesNotReady.join(',')}). ` + + `will return data from all collectors that are ready.` + ); } - return allReady; + const readyCollectors = nonTimedOutCollectors + .filter(({ isReadyWithTimeout }) => isReadyWithTimeout.value === true) + .map(({ collector }) => collector); + + return readyCollectors; }; public bulkFetch = async ( @@ -145,8 +172,10 @@ export class CollectorSet { kibanaRequest: KibanaRequest | undefined, // intentionally `| undefined` to enforce providing the parameter collectors: Map = this.collectors ) => { + this.logger.debug(`Getting ready collectors`); + const readyCollectors = await this.getReadyCollectors(collectors); const responses = await Promise.all( - [...collectors.values()].map(async (collector) => { + readyCollectors.map(async (collector) => { this.logger.debug(`Fetching data from ${collector.type} collector`); try { const context = { diff --git a/src/plugins/usage_collection/server/mocks.ts b/src/plugins/usage_collection/server/mocks.ts index 5505e816532a1..6146e38cfd6c1 100644 --- a/src/plugins/usage_collection/server/mocks.ts +++ b/src/plugins/usage_collection/server/mocks.ts @@ -31,7 +31,6 @@ export const createUsageCollectionSetupMock = () => { const usageCollectionSetupMock: jest.Mocked = { createUsageCounter, getUsageCounterByType, - areAllCollectorsReady: jest.fn().mockImplementation(collectorSet.areAllCollectorsReady), bulkFetch: jest.fn().mockImplementation(collectorSet.bulkFetch), getCollectorByType: jest.fn().mockImplementation(collectorSet.getCollectorByType), toApiFieldNames: jest.fn().mockImplementation(collectorSet.toApiFieldNames), @@ -41,7 +40,6 @@ export const createUsageCollectionSetupMock = () => { registerCollector: jest.fn().mockImplementation(collectorSet.registerCollector), }; - usageCollectionSetupMock.areAllCollectorsReady.mockResolvedValue(true); return usageCollectionSetupMock; }; diff --git a/src/plugins/usage_collection/server/plugin.ts b/src/plugins/usage_collection/server/plugin.ts index 1c537ccfbb22b..70c2fdcad581a 100644 --- a/src/plugins/usage_collection/server/plugin.ts +++ b/src/plugins/usage_collection/server/plugin.ts @@ -59,11 +59,6 @@ export interface UsageCollectionSetup { getCollectorByType: ( type: string ) => Collector | undefined; - /** - * Returns if all the collectors are ready to fetch their reported usage. - * @internal: telemetry use - */ - areAllCollectorsReady: () => Promise; /** * Fetches the collection from all the registered collectors * @internal: telemetry use @@ -147,7 +142,6 @@ export class UsageCollectionPlugin implements Plugin { }); return { - areAllCollectorsReady: collectorSet.areAllCollectorsReady, bulkFetch: collectorSet.bulkFetch, getCollectorByType: collectorSet.getCollectorByType, makeStatsCollector: collectorSet.makeStatsCollector, diff --git a/src/plugins/usage_collection/server/routes/stats/stats.ts b/src/plugins/usage_collection/server/routes/stats/stats.ts index 6cae56afa281b..d78f9ab69b66d 100644 --- a/src/plugins/usage_collection/server/routes/stats/stats.ts +++ b/src/plugins/usage_collection/server/routes/stats/stats.ts @@ -22,11 +22,6 @@ import { ServiceStatusLevels, } from '../../../../../core/server'; import { CollectorSet } from '../../collector'; - -const STATS_NOT_READY_MESSAGE = i18n.translate('usageCollection.stats.notReadyMessage', { - defaultMessage: 'Stats are not ready yet. Please try again later.', -}); - const SNAPSHOT_REGEX = /-snapshot/i; interface UsageObject { @@ -100,18 +95,10 @@ export function registerStatsRoute({ const { asCurrentUser } = context.core.elasticsearch.client; const savedObjectsClient = context.core.savedObjects.client; - if (shouldGetUsage) { - const collectorsReady = await collectorSet.areAllCollectorsReady(); - if (!collectorsReady) { - return res.customError({ statusCode: 503, body: { message: STATS_NOT_READY_MESSAGE } }); - } - } - - const usagePromise = shouldGetUsage - ? getUsage(asCurrentUser, savedObjectsClient, req) - : Promise.resolve({}); const [usage, clusterUuid] = await Promise.all([ - usagePromise, + shouldGetUsage + ? getUsage(asCurrentUser, savedObjectsClient, req) + : Promise.resolve({}), getClusterUuid(asCurrentUser), ]); diff --git a/src/plugins/vis_default_editor/public/default_editor.tsx b/src/plugins/vis_default_editor/public/default_editor.tsx index e9a24d346ff3c..6619fb3dad9cc 100644 --- a/src/plugins/vis_default_editor/public/default_editor.tsx +++ b/src/plugins/vis_default_editor/public/default_editor.tsx @@ -60,9 +60,10 @@ function DefaultEditor({ return; } - embeddableHandler.render(visRef.current); - setTimeout(() => { - eventEmitter.emit('embeddableRendered'); + embeddableHandler.render(visRef.current).then(() => { + setTimeout(async () => { + eventEmitter.emit('embeddableRendered'); + }); }); return () => embeddableHandler.destroy(); diff --git a/src/plugins/vis_types/jest.config.js b/src/plugins/vis_types/jest.config.js new file mode 100644 index 0000000000000..af7f2b462b89f --- /dev/null +++ b/src/plugins/vis_types/jest.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../..', + roots: ['/src/plugins/vis_types'], +}; diff --git a/src/plugins/vis_types/timelion/public/components/series/area.tsx b/src/plugins/vis_types/timelion/public/components/series/area.tsx index 73e16d97684d5..d149d675d63d7 100644 --- a/src/plugins/vis_types/timelion/public/components/series/area.tsx +++ b/src/plugins/vis_types/timelion/public/components/series/area.tsx @@ -9,7 +9,14 @@ // @ts-ignore import chroma from 'chroma-js'; import React from 'react'; -import { AreaSeries, ScaleType, CurveType, AreaSeriesStyle, PointShape } from '@elastic/charts'; +import { + AreaSeries, + ScaleType, + CurveType, + AreaSeriesStyle, + PointShape, + RecursivePartial, +} from '@elastic/charts'; import type { VisSeries } from '../../../common/vis_data'; interface AreaSeriesComponentProps { @@ -54,7 +61,7 @@ const getAreaSeriesStyle = ({ color, lines, points }: AreaSeriesComponentProps[' shape: points?.symbol === 'cross' ? PointShape.X : points?.symbol, }, curve: lines?.steps ? CurveType.CURVE_STEP : CurveType.LINEAR, - } as AreaSeriesStyle); + } as RecursivePartial); export const AreaSeriesComponent = ({ index, groupId, visData }: AreaSeriesComponentProps) => ( ; + label?: string; + time: number; + response?: Record; + } +>; + +export interface DataResponseMeta { + type: PANEL_TYPES; uiRestrictions: TimeseriesUIRestrictions; + trackedEsSearches: TrackedEsSearches; +} + +export interface TableData extends DataResponseMeta { series?: PanelData[]; pivot_label?: string; } // series data is not fully typed yet -export type SeriesData = { - type: Exclude; - uiRestrictions: TimeseriesUIRestrictions; +export type SeriesData = DataResponseMeta & { error?: string; -} & { - [key: string]: PanelSeries; -}; +} & Record; export interface PanelSeries { - annotations: { - [key: string]: Annotation[]; - }; + annotations: Record; id: string; series: PanelData[]; error?: string; diff --git a/src/plugins/vis_types/timeseries/common/ui_restrictions.ts b/src/plugins/vis_types/timeseries/common/ui_restrictions.ts index 35c79c08a5b83..1488839f6f355 100644 --- a/src/plugins/vis_types/timeseries/common/ui_restrictions.ts +++ b/src/plugins/vis_types/timeseries/common/ui_restrictions.ts @@ -30,7 +30,7 @@ export enum RESTRICTIONS_KEYS { WHITE_LISTED_TIMERANGE_MODES = 'whiteListedTimerangeModes', } -interface UIRestrictions { +export interface UIRestrictions { '*': boolean; [restriction: string]: boolean; } diff --git a/src/plugins/vis_types/timeseries/kibana.json b/src/plugins/vis_types/timeseries/kibana.json index 5cc425e4edf71..d97bee71424e7 100644 --- a/src/plugins/vis_types/timeseries/kibana.json +++ b/src/plugins/vis_types/timeseries/kibana.json @@ -4,7 +4,7 @@ "kibanaVersion": "kibana", "server": true, "ui": true, - "requiredPlugins": ["charts", "data", "expressions", "visualizations", "visualize"], + "requiredPlugins": ["charts", "data", "expressions", "visualizations", "visualize", "inspector"], "optionalPlugins": ["usageCollection"], "requiredBundles": ["kibanaUtils", "kibanaReact", "fieldFormats"], "owner": { diff --git a/src/plugins/vis_types/timeseries/public/application/components/aggs/agg_select.tsx b/src/plugins/vis_types/timeseries/public/application/components/aggs/agg_select.tsx index 2959712bb9f00..c745b148f23e7 100644 --- a/src/plugins/vis_types/timeseries/public/application/components/aggs/agg_select.tsx +++ b/src/plugins/vis_types/timeseries/public/application/components/aggs/agg_select.tsx @@ -11,13 +11,10 @@ import { EuiComboBox, EuiComboBoxOptionOption } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; // @ts-ignore import { isMetricEnabled } from '../../lib/check_ui_restrictions'; -import { TSVB_METRIC_TYPES } from '../../../../common/enums'; +import { VisDataContext } from '../../contexts/vis_data_context'; import { getAggsByType, getAggsByPredicate } from '../../../../common/agg_utils'; import type { Agg } from '../../../../common/agg_utils'; import type { Metric } from '../../../../common/types'; -import { TimeseriesUIRestrictions } from '../../../../common/ui_restrictions'; -import { PanelModelContext } from '../../contexts/panel_model_context'; -import { PANEL_TYPES, TIME_RANGE_DATA_MODES } from '../../../../common/enums'; type AggSelectOption = EuiComboBoxOptionOption; @@ -32,41 +29,18 @@ const { const allAggOptions = [...metricAggs, ...pipelineAggs, ...siblingAggs, ...specialAggs]; -function filterByPanelType(panelType: string) { - return (agg: AggSelectOption) => - panelType === 'table' ? agg.value !== TSVB_METRIC_TYPES.SERIES_AGG : true; -} - -export function isMetricAvailableForPanel( - aggId: string, - panelType: string, - timeRangeMode?: string -) { - if ( - panelType !== PANEL_TYPES.TIMESERIES && - timeRangeMode === TIME_RANGE_DATA_MODES.ENTIRE_TIME_RANGE - ) { - return ( - !pipelineAggs.some((agg) => agg.value === aggId) && aggId !== TSVB_METRIC_TYPES.SERIES_AGG - ); - } - - return true; -} - interface AggSelectUiProps { id: string; panelType: string; siblings: Metric[]; value: string; - uiRestrictions?: TimeseriesUIRestrictions; timeRangeMode?: string; onChange: (currentlySelectedOptions: AggSelectOption[]) => void; } export function AggSelect(props: AggSelectUiProps) { - const panelModel = useContext(PanelModelContext); - const { siblings, panelType, value, onChange, uiRestrictions, ...rest } = props; + const { siblings, panelType, value, onChange, ...rest } = props; + const { uiRestrictions } = useContext(VisDataContext) ?? {}; const selectedOptions = allAggOptions.filter((option) => { return value === option.value && isMetricEnabled(option.value, uiRestrictions); @@ -90,10 +64,7 @@ export function AggSelect(props: AggSelectUiProps) { } else { const disableSiblingAggs = (agg: AggSelectOption) => ({ ...agg, - disabled: - !enablePipelines || - !isMetricEnabled(agg.value, uiRestrictions) || - !isMetricAvailableForPanel(agg.value as string, panelType, panelModel?.time_range_mode), + disabled: !enablePipelines || !isMetricEnabled(agg.value, uiRestrictions), }); options = [ @@ -110,7 +81,7 @@ export function AggSelect(props: AggSelectUiProps) { label: i18n.translate('visTypeTimeseries.aggSelect.aggGroups.parentPipelineAggLabel', { defaultMessage: 'Parent Pipeline Aggregations', }), - options: pipelineAggs.filter(filterByPanelType(panelType)).map(disableSiblingAggs), + options: pipelineAggs.map(disableSiblingAggs), }, { label: i18n.translate('visTypeTimeseries.aggSelect.aggGroups.siblingPipelineAggLabel', { diff --git a/src/plugins/vis_types/timeseries/public/application/components/aggs/std_agg.js b/src/plugins/vis_types/timeseries/public/application/components/aggs/std_agg.js index 9dd705031e5b3..67232bb3ca122 100644 --- a/src/plugins/vis_types/timeseries/public/application/components/aggs/std_agg.js +++ b/src/plugins/vis_types/timeseries/public/application/components/aggs/std_agg.js @@ -52,7 +52,6 @@ export function StandardAgg(props) { panelType={props.panel.type} siblings={props.siblings} value={model.type} - uiRestrictions={uiRestrictions} onChange={handleSelectChange('type')} fullWidth /> diff --git a/src/plugins/vis_types/timeseries/public/application/components/aggs/std_sibling.js b/src/plugins/vis_types/timeseries/public/application/components/aggs/std_sibling.js index e61d15c34648f..22aa4e250725e 100644 --- a/src/plugins/vis_types/timeseries/public/application/components/aggs/std_sibling.js +++ b/src/plugins/vis_types/timeseries/public/application/components/aggs/std_sibling.js @@ -130,7 +130,6 @@ const StandardSiblingAggUi = (props) => { panelType={props.panel.type} siblings={props.siblings} value={model.type} - uiRestrictions={props.uiRestrictions} onChange={handleSelectChange('type')} /> diff --git a/src/plugins/vis_types/timeseries/public/application/components/annotation_row.tsx b/src/plugins/vis_types/timeseries/public/application/components/annotation_row.tsx index 734bdfecac673..9bed61721ae67 100644 --- a/src/plugins/vis_types/timeseries/public/application/components/annotation_row.tsx +++ b/src/plugins/vis_types/timeseries/public/application/components/annotation_row.tsx @@ -80,7 +80,9 @@ export const AnnotationRow = ({ try { fetchedIndexPattern = index - ? await fetchIndexPattern(index, indexPatterns) + ? await fetchIndexPattern(index, indexPatterns, { + fetchKibanaIndexForStringIndexes: true, + }) : { ...fetchedIndexPattern, defaultIndex: await indexPatterns.getDefault(), diff --git a/src/plugins/vis_types/timeseries/public/application/components/lib/check_if_series_have_same_formatters.test.ts b/src/plugins/vis_types/timeseries/public/application/components/lib/check_if_series_have_same_formatters.test.ts index 71aed8c7315e2..9044db065beb2 100644 --- a/src/plugins/vis_types/timeseries/public/application/components/lib/check_if_series_have_same_formatters.test.ts +++ b/src/plugins/vis_types/timeseries/public/application/components/lib/check_if_series_have_same_formatters.test.ts @@ -26,7 +26,7 @@ describe('checkIfSeriesHaveSameFormatters(seriesModel, fieldFormatMap)', () => { expect(result).toBe(true); }); - it('should return false for the different value_template series formatters', () => { + it('should return true for the different value_template series formatters', () => { const seriesModel = [ { formatter: DATA_FORMATTERS.PERCENT, @@ -39,26 +39,40 @@ describe('checkIfSeriesHaveSameFormatters(seriesModel, fieldFormatMap)', () => { ] as Series[]; const result = checkIfSeriesHaveSameFormatters(seriesModel, fieldFormatMap); - expect(result).toBe(false); + expect(result).toBe(true); }); it('should return true for the same field formatters', () => { const seriesModel = [ - { formatter: DATA_FORMATTERS.DEFAULT, metrics: [{ field: 'someField' }] }, - { formatter: DATA_FORMATTERS.DEFAULT, metrics: [{ field: 'someField' }] }, + { formatter: DATA_FORMATTERS.DEFAULT, metrics: [{ type: 'avg', field: 'someField' }] }, + { formatter: DATA_FORMATTERS.DEFAULT, metrics: [{ type: 'avg', field: 'someField' }] }, ] as Series[]; const result = checkIfSeriesHaveSameFormatters(seriesModel, fieldFormatMap); expect(result).toBe(true); }); + it('should return true in case of separate y-axis and different field formatters', () => { + const seriesModel = [ + { formatter: DATA_FORMATTERS.DEFAULT, metrics: [{ type: 'avg', field: 'someField' }] }, + { + formatter: DATA_FORMATTERS.DEFAULT, + separate_axis: 1, + metrics: [{ id: 'avg', field: 'anotherField' }], + }, + ] as Series[]; + const result = checkIfSeriesHaveSameFormatters(seriesModel, fieldFormatMap); + + expect(result).toBeTruthy(); + }); + it('should return false for the different field formatters', () => { const seriesModel = [ - { formatter: DATA_FORMATTERS.DEFAULT, metrics: [{ field: 'someField' }] }, + { formatter: DATA_FORMATTERS.DEFAULT, metrics: [{ type: 'avg', field: 'someField' }] }, { formatter: DATA_FORMATTERS.DEFAULT, - metrics: [{ field: 'anotherField' }], + metrics: [{ id: 'avg', field: 'anotherField' }], }, ] as Series[]; const result = checkIfSeriesHaveSameFormatters(seriesModel, fieldFormatMap); @@ -71,9 +85,12 @@ describe('checkIfSeriesHaveSameFormatters(seriesModel, fieldFormatMap)', () => { { formatter: DATA_FORMATTERS.DEFAULT, - metrics: [{ field: 'someField' }, { field: 'field' }], + metrics: [ + { type: 'avg', field: 'someField' }, + { type: 'avg', field: 'field' }, + ], }, - { formatter: DATA_FORMATTERS.DEFAULT, metrics: [{ field: 'someField' }] }, + { formatter: DATA_FORMATTERS.DEFAULT, metrics: [{ type: 'avg', field: 'someField' }] }, ] as Series[]; const result = checkIfSeriesHaveSameFormatters(seriesModel, fieldFormatMap); diff --git a/src/plugins/vis_types/timeseries/public/application/components/lib/check_if_series_have_same_formatters.ts b/src/plugins/vis_types/timeseries/public/application/components/lib/check_if_series_have_same_formatters.ts index 44715d1262d05..996cabb9f7963 100644 --- a/src/plugins/vis_types/timeseries/public/application/components/lib/check_if_series_have_same_formatters.ts +++ b/src/plugins/vis_types/timeseries/public/application/components/lib/check_if_series_have_same_formatters.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ -import { last, isEqual } from 'lodash'; import { DATA_FORMATTERS } from '../../../../common/enums'; +import { aggs } from '../../../../common/agg_utils'; import type { Series } from '../../../../common/types'; import type { FieldFormatMap } from '../../../../../../data/common'; @@ -15,19 +15,30 @@ export const checkIfSeriesHaveSameFormatters = ( seriesModel: Series[], fieldFormatMap?: FieldFormatMap ) => { - const allSeriesHaveDefaultFormatting = seriesModel.every( - (seriesGroup) => seriesGroup.formatter === DATA_FORMATTERS.DEFAULT - ); + const uniqFormatters = new Set(); - return allSeriesHaveDefaultFormatting && fieldFormatMap - ? seriesModel - .map(({ metrics }) => fieldFormatMap[last(metrics)?.field ?? '']) - .every((fieldFormat, index, [firstSeriesFieldFormat]) => - isEqual(fieldFormat, firstSeriesFieldFormat) - ) - : seriesModel.every( - (series) => - series.formatter === seriesModel[0].formatter && - series.value_template === seriesModel[0].value_template + seriesModel.forEach((seriesGroup) => { + if (!seriesGroup.separate_axis) { + if (seriesGroup.formatter === DATA_FORMATTERS.DEFAULT) { + const activeMetric = seriesGroup.metrics[seriesGroup.metrics.length - 1]; + const aggMeta = aggs.find((agg) => agg.id === activeMetric.type); + + if ( + activeMetric.field && + aggMeta?.meta.isFieldRequired && + fieldFormatMap?.[activeMetric.field] + ) { + return uniqFormatters.add(JSON.stringify(fieldFormatMap[activeMetric.field])); + } + } + uniqFormatters.add( + JSON.stringify({ + // requirement: in the case of using TSVB formatters, we do not need to check the value_template, just formatter! + formatter: seriesGroup.formatter, + }) ); + } + }); + + return uniqFormatters.size === 1; }; diff --git a/src/plugins/vis_types/timeseries/public/application/components/lib/index_pattern_select/field_text_select.tsx b/src/plugins/vis_types/timeseries/public/application/components/lib/index_pattern_select/field_text_select.tsx index 86d1758932301..682279d5639e5 100644 --- a/src/plugins/vis_types/timeseries/public/application/components/lib/index_pattern_select/field_text_select.tsx +++ b/src/plugins/vis_types/timeseries/public/application/components/lib/index_pattern_select/field_text_select.tsx @@ -37,7 +37,7 @@ export const FieldTextSelect = ({ useDebounce( () => { - if (inputValue !== indexPatternString) { + if ((inputValue ?? '') !== (indexPatternString ?? '')) { onIndexChange(inputValue); } }, diff --git a/src/plugins/vis_types/timeseries/public/application/components/lib/index_pattern_select/index_pattern_select.tsx b/src/plugins/vis_types/timeseries/public/application/components/lib/index_pattern_select/index_pattern_select.tsx index 1029ac67cc43c..0c63fddc440fe 100644 --- a/src/plugins/vis_types/timeseries/public/application/components/lib/index_pattern_select/index_pattern_select.tsx +++ b/src/plugins/vis_types/timeseries/public/application/components/lib/index_pattern_select/index_pattern_select.tsx @@ -108,7 +108,7 @@ export const IndexPatternSelect = ({ defaultIndexPatternHelpText + (!useKibanaIndices ? queryAllIndexesHelpText : '') } labelAppend={ - fetchedIndex.indexPatternString && !fetchedIndex.indexPattern ? ( + !useKibanaIndices && fetchedIndex.indexPatternString && !fetchedIndex.indexPattern ? ( { point_size: 1, fill: 0.5, stacked: STACKED_OPTIONS.NONE, + override_index_pattern: 0, + series_drop_last_bucket: 0, }, obj ); diff --git a/src/plugins/vis_types/timeseries/public/application/components/vis_types/timeseries/vis.js b/src/plugins/vis_types/timeseries/public/application/components/vis_types/timeseries/vis.js index b4fe39c522de7..7a41efbc8e233 100644 --- a/src/plugins/vis_types/timeseries/public/application/components/vis_types/timeseries/vis.js +++ b/src/plugins/vis_types/timeseries/public/application/components/vis_types/timeseries/vis.js @@ -238,7 +238,7 @@ class TimeseriesVisualization extends Component { } else if (!mainDomainAdded) { const tickFormatter = checkIfSeriesHaveSameFormatters(seriesModel, fieldFormatMap) ? seriesGroupTickFormatter - : (val) => val; + : createTickFormatter(undefined, undefined, getConfig); TimeseriesVisualization.addYAxis(yAxis, { tickFormatter, diff --git a/src/plugins/vis_types/timeseries/public/application/components/vis_types/timeseries/vis.test.js b/src/plugins/vis_types/timeseries/public/application/components/vis_types/timeseries/vis.test.js index cf4c327df3d77..52f3ab4449ad9 100644 --- a/src/plugins/vis_types/timeseries/public/application/components/vis_types/timeseries/vis.test.js +++ b/src/plugins/vis_types/timeseries/public/application/components/vis_types/timeseries/vis.test.js @@ -99,7 +99,7 @@ describe('TimeseriesVisualization', () => { const yAxisFormattedValue = timeSeriesProps.yAxis[0].tickFormatter(value); - expect(yAxisFormattedValue).toBe(value); + expect(yAxisFormattedValue).toBe(`${value}`); }); test('should return the same stringified number from yAxis formatter for byte and percent series', () => { @@ -119,18 +119,6 @@ describe('TimeseriesVisualization', () => { expect(yAxis[0].tickFormatter(value)).toBe('500B'); }); - test('should return simple number from yAxis formatter and different values from the same byte formatters, but with different value templates', () => { - const timeSeriesProps = setupTimeSeriesProps( - ['byte', 'byte'], - ['{{value}}', '{{value}} value'] - ); - const { series, yAxis } = timeSeriesProps; - - expect(series[0].tickFormat(value)).toBe('500B'); - expect(series[1].tickFormat(value)).toBe('500B value'); - expect(yAxis[0].tickFormatter(value)).toBe(value); - }); - test('should return percent formatted value from yAxis formatter and three percent formatted series with the same value templates', () => { const timeSeriesProps = setupTimeSeriesProps(['percent', 'percent', 'percent']); @@ -150,7 +138,7 @@ describe('TimeseriesVisualization', () => { expect(series[0].tickFormat(value)).toBe('500 template'); expect(series[1].tickFormat(value)).toBe('500B template'); - expect(yAxis[0].tickFormatter(value)).toBe(value); + expect(yAxis[0].tickFormatter(value)).toBe(`${value}`); }); test('should return field formatted value for yAxis and single series with default formatter', () => { @@ -178,7 +166,7 @@ describe('TimeseriesVisualization', () => { expect(series[1].tickFormat(value)).toBe('500 years'); expect(series[2].tickFormat(value)).toBe('42 years'); expect(series[3].tickFormat(value)).toBe('$500'); - expect(yAxis[0].tickFormatter(value)).toBe(value); + expect(yAxis[0].tickFormatter(value)).toBe(`${value}`); }); test('should return simple number from yAxis formatter and correctly formatted series values', () => { @@ -189,7 +177,7 @@ describe('TimeseriesVisualization', () => { expect(series[1].tickFormat(value)).toBe('500B'); expect(series[2].tickFormat(value)).toBe('50000%'); expect(series[3].tickFormat(value)).toBe('$500'); - expect(yAxis[0].tickFormatter(value)).toBe(value); + expect(yAxis[0].tickFormatter(value)).toBe(`${value}`); }); }); }); diff --git a/src/plugins/vis_types/timeseries/public/metrics_fn.ts b/src/plugins/vis_types/timeseries/public/metrics_fn.ts index 23c196ebe1149..9de92ea0d1cac 100644 --- a/src/plugins/vis_types/timeseries/public/metrics_fn.ts +++ b/src/plugins/vis_types/timeseries/public/metrics_fn.ts @@ -54,7 +54,11 @@ export const createMetricsFn = (): TimeseriesExpressionFunctionDefinition => ({ help: '', }, }, - async fn(input, args, { getSearchSessionId, isSyncColorsEnabled, getExecutionContext }) { + async fn( + input, + args, + { getSearchSessionId, isSyncColorsEnabled, getExecutionContext, inspectorAdapters } + ) { const visParams: TimeseriesVisParams = JSON.parse(args.params); const uiState = JSON.parse(args.uiState); const syncColors = isSyncColorsEnabled?.() ?? false; @@ -65,6 +69,7 @@ export const createMetricsFn = (): TimeseriesExpressionFunctionDefinition => ({ uiState, searchSessionId: getSearchSessionId(), executionContext: getExecutionContext(), + inspectorAdapters, }); return { diff --git a/src/plugins/vis_types/timeseries/public/metrics_type.ts b/src/plugins/vis_types/timeseries/public/metrics_type.ts index 64970d9730eee..505f8f88d38fe 100644 --- a/src/plugins/vis_types/timeseries/public/metrics_type.ts +++ b/src/plugins/vis_types/timeseries/public/metrics_type.ts @@ -22,6 +22,7 @@ import { } from '../../../visualizations/public'; import { getDataStart } from './services'; import type { TimeseriesVisDefaultParams, TimeseriesVisParams } from './types'; +import { RequestAdapter } from '../../../inspector/public'; export const withReplacedIds = ( vis: Vis @@ -83,6 +84,8 @@ export const metricsVisDefinition: VisTypeDefinition< point_size: 1, fill: 0.5, stacked: 'none', + override_index_pattern: 0, + series_drop_last_bucket: 0, }, ], time_field: '', @@ -116,7 +119,9 @@ export const metricsVisDefinition: VisTypeDefinition< } return []; }, - inspectorAdapters: {}, + inspectorAdapters: () => ({ + requests: new RequestAdapter(), + }), requiresSearch: true, getUsedIndexPattern: async (params: VisParams) => { const { indexPatterns } = getDataStart(); diff --git a/src/plugins/vis_types/timeseries/public/request_handler.ts b/src/plugins/vis_types/timeseries/public/request_handler.ts index e9037c0b84a5e..94e370233778a 100644 --- a/src/plugins/vis_types/timeseries/public/request_handler.ts +++ b/src/plugins/vis_types/timeseries/public/request_handler.ts @@ -6,13 +6,14 @@ * Side Public License, v 1. */ import type { KibanaExecutionContext } from 'src/core/public'; +import type { Adapters } from 'src/plugins/inspector'; import { getTimezone } from './application/lib/get_timezone'; import { getUISettings, getDataStart, getCoreStart } from './services'; -import { ROUTES } from '../common/constants'; +import { ROUTES, ALLOW_CHECKING_FOR_FAILED_SHARDS } from '../common/constants'; +import { KibanaContext, handleResponse } from '../../../data/public'; import type { TimeseriesVisParams } from './types'; import type { TimeseriesVisData } from '../common/types'; -import type { KibanaContext } from '../../../data/public'; interface MetricsRequestHandlerParams { input: KibanaContext | null; @@ -20,6 +21,7 @@ interface MetricsRequestHandlerParams { visParams: TimeseriesVisParams; searchSessionId?: string; executionContext?: KibanaExecutionContext; + inspectorAdapters?: Adapters; } export const metricsRequestHandler = async ({ @@ -28,6 +30,7 @@ export const metricsRequestHandler = async ({ visParams, searchSessionId, executionContext, + inspectorAdapters, }: MetricsRequestHandlerParams): Promise => { const config = getUISettings(); const data = getDataStart(); @@ -48,7 +51,8 @@ export const metricsRequestHandler = async ({ try { const searchSessionOptions = dataSearch.session.getSearchOptions(searchSessionId); - return await getCoreStart().http.post(ROUTES.VIS_DATA, { + + const visData: TimeseriesVisData = await getCoreStart().http.post(ROUTES.VIS_DATA, { body: JSON.stringify({ timerange: { timezone, @@ -64,6 +68,21 @@ export const metricsRequestHandler = async ({ }), context: executionContext, }); + + inspectorAdapters?.requests?.reset(); + + Object.entries(visData.trackedEsSearches || {}).forEach(([key, query]) => { + inspectorAdapters?.requests + ?.start(query.label ?? key, { searchSessionId }) + .json(query.body) + .ok({ time: query.time }); + + if (query.response && config.get(ALLOW_CHECKING_FOR_FAILED_SHARDS)) { + handleResponse({ body: query.body }, { rawResponse: query.response }); + } + }); + + return visData; } finally { if (untrackSearch && dataSearch.session.isCurrentSession(searchSessionId)) { // untrack if this search still belongs to current session diff --git a/src/plugins/vis_types/timeseries/server/lib/search_strategies/capabilities/default_search_capabilities.ts b/src/plugins/vis_types/timeseries/server/lib/search_strategies/capabilities/default_search_capabilities.ts index 0240ac93b60e8..6525876ac003b 100644 --- a/src/plugins/vis_types/timeseries/server/lib/search_strategies/capabilities/default_search_capabilities.ts +++ b/src/plugins/vis_types/timeseries/server/lib/search_strategies/capabilities/default_search_capabilities.ts @@ -54,7 +54,10 @@ export class DefaultSearchCapabilities { ...aggs[AGG_TYPE.METRIC], ...aggs[AGG_TYPE.SIBLING_PIPELINE], TSVB_METRIC_TYPES.MATH, + TSVB_METRIC_TYPES.CALCULATION, BUCKET_TYPES.TERMS, + // SERIES_AGG should be blocked for table + ...(this.panel.type === PANEL_TYPES.TABLE ? [] : [TSVB_METRIC_TYPES.SERIES_AGG]), ].reduce( (availableAggs, aggType) => ({ ...availableAggs, diff --git a/src/plugins/vis_types/timeseries/server/lib/search_strategies/index.ts b/src/plugins/vis_types/timeseries/server/lib/search_strategies/index.ts index ca0c50a79564a..721e1dad473f0 100644 --- a/src/plugins/vis_types/timeseries/server/lib/search_strategies/index.ts +++ b/src/plugins/vis_types/timeseries/server/lib/search_strategies/index.ts @@ -11,6 +11,7 @@ import { AbstractSearchStrategy } from './strategies'; export { SearchStrategyRegistry } from './search_strategy_registry'; export { AbstractSearchStrategy, RollupSearchStrategy, DefaultSearchStrategy } from './strategies'; +export type { EsSearchRequest } from './strategies/abstract_search_strategy'; export type SearchCapabilities = DefaultSearchCapabilities; export type SearchStrategy = AbstractSearchStrategy; diff --git a/src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.test.ts b/src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.test.ts index 6216bce00fc7d..1a52132612f71 100644 --- a/src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.test.ts +++ b/src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.test.ts @@ -9,7 +9,7 @@ import { IndexPatternsService } from '../../../../../../data/common'; import { from } from 'rxjs'; -import { AbstractSearchStrategy } from './abstract_search_strategy'; +import { AbstractSearchStrategy, EsSearchRequest } from './abstract_search_strategy'; import type { FieldSpec } from '../../../../../../data/common'; import type { CachedIndexPatternFetcher } from '../lib/cached_index_pattern_fetcher'; import type { @@ -64,7 +64,7 @@ describe('AbstractSearchStrategy', () => { }); test('should return response', async () => { - const searches = [{ body: 'body', index: 'index' }]; + const searches: EsSearchRequest[] = [{ body: {}, index: 'index' }]; const responses = await abstractSearchStrategy.search( requestContext, @@ -84,7 +84,7 @@ describe('AbstractSearchStrategy', () => { expect(requestContext.search.search).toHaveBeenCalledWith( { params: { - body: 'body', + body: {}, index: 'index', }, indexType: undefined, diff --git a/src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts b/src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts index bce07d2cdb300..1d3650ccedbd3 100644 --- a/src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts +++ b/src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts @@ -6,40 +6,67 @@ * Side Public License, v 1. */ +import { tap } from 'rxjs/operators'; +import { omit } from 'lodash'; import { IndexPatternsService } from '../../../../../../data/server'; import { toSanitizedFieldType } from '../../../../common/fields_utils'; -import type { FetchedIndexPattern } from '../../../../common/types'; +import type { FetchedIndexPattern, TrackedEsSearches } from '../../../../common/types'; import type { VisTypeTimeseriesRequest, VisTypeTimeseriesRequestHandlerContext, VisTypeTimeseriesVisDataRequest, } from '../../../types'; +export interface EsSearchRequest { + body: Record; + index?: string; + trackingEsSearchMeta?: { + requestId: string; + requestLabel?: string; + }; +} + export abstract class AbstractSearchStrategy { async search( requestContext: VisTypeTimeseriesRequestHandlerContext, req: VisTypeTimeseriesVisDataRequest, - bodies: any[], + esRequests: EsSearchRequest[], + trackedEsSearches?: TrackedEsSearches, indexType?: string ) { const requests: any[] = []; - bodies.forEach((body) => { + esRequests.forEach(({ body, index, trackingEsSearchMeta }) => { + const startTime = Date.now(); requests.push( requestContext.search .search( { indexType, params: { - ...body, + body, + index, }, }, req.body.searchSession ) + .pipe( + tap((data) => { + if (trackingEsSearchMeta?.requestId && trackedEsSearches) { + trackedEsSearches[trackingEsSearchMeta.requestId] = { + body, + time: Date.now() - startTime, + label: trackingEsSearchMeta.requestLabel, + response: omit(data.rawResponse, 'aggregations'), + }; + } + }) + ) .toPromise() ); }); + return Promise.all(requests); } diff --git a/src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/rollup_search_strategy.ts b/src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/rollup_search_strategy.ts index 903e7f239f824..ef665b176be42 100644 --- a/src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/rollup_search_strategy.ts +++ b/src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/rollup_search_strategy.ts @@ -10,10 +10,10 @@ import { getCapabilitiesForRollupIndices, IndexPatternsService, } from '../../../../../../data/server'; -import { AbstractSearchStrategy } from './abstract_search_strategy'; +import { AbstractSearchStrategy, EsSearchRequest } from './abstract_search_strategy'; import { RollupSearchCapabilities } from '../capabilities/rollup_search_capabilities'; -import type { FetchedIndexPattern } from '../../../../common/types'; +import type { FetchedIndexPattern, TrackedEsSearches } from '../../../../common/types'; import type { CachedIndexPatternFetcher } from '../lib/cached_index_pattern_fetcher'; import type { VisTypeTimeseriesRequest, @@ -29,9 +29,10 @@ export class RollupSearchStrategy extends AbstractSearchStrategy { async search( requestContext: VisTypeTimeseriesRequestHandlerContext, req: VisTypeTimeseriesVisDataRequest, - bodies: any[] + esRequests: EsSearchRequest[], + trackedEsSearches?: TrackedEsSearches ) { - return super.search(requestContext, req, bodies, 'rollup'); + return super.search(requestContext, req, esRequests, trackedEsSearches, 'rollup'); } async getRollupData( diff --git a/src/plugins/vis_types/timeseries/server/lib/vis_data/annotations/get_request_params.ts b/src/plugins/vis_types/timeseries/server/lib/vis_data/annotations/get_request_params.ts index 1973e3b85b966..41f7e7c86708f 100644 --- a/src/plugins/vis_types/timeseries/server/lib/vis_data/annotations/get_request_params.ts +++ b/src/plugins/vis_types/timeseries/server/lib/vis_data/annotations/get_request_params.ts @@ -5,7 +5,7 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ - +import { i18n } from '@kbn/i18n'; import type { Annotation, Panel } from '../../../../common/types'; import { buildAnnotationRequest } from './build_request_body'; import type { @@ -13,7 +13,7 @@ import type { VisTypeTimeseriesRequestServices, VisTypeTimeseriesVisDataRequest, } from '../../../types'; -import type { SearchStrategy, SearchCapabilities } from '../../search_strategies'; +import type { SearchStrategy, SearchCapabilities, EsSearchRequest } from '../../search_strategies'; export type AnnotationServices = VisTypeTimeseriesRequestServices & { capabilities: SearchCapabilities; @@ -32,7 +32,7 @@ export async function getAnnotationRequestParams( uiSettings, cachedIndexPatternFetcher, }: AnnotationServices -) { +): Promise { const annotationIndex = await cachedIndexPatternFetcher(annotation.index_pattern); const request = await buildAnnotationRequest({ @@ -52,5 +52,14 @@ export async function getAnnotationRequestParams( runtime_mappings: annotationIndex.indexPattern?.getComputedFields().runtimeFields ?? {}, timeout: esShardTimeout > 0 ? `${esShardTimeout}ms` : undefined, }, + trackingEsSearchMeta: { + requestId: annotation.id, + requestLabel: i18n.translate('visTypeTimeseries.annotationRequest.label', { + defaultMessage: 'Annotation: {id}', + values: { + id: annotation.id, + }, + }), + }, }; } diff --git a/src/plugins/vis_types/timeseries/server/lib/vis_data/get_annotations.ts b/src/plugins/vis_types/timeseries/server/lib/vis_data/get_annotations.ts index 8a005deccaea9..481ddc7891817 100644 --- a/src/plugins/vis_types/timeseries/server/lib/vis_data/get_annotations.ts +++ b/src/plugins/vis_types/timeseries/server/lib/vis_data/get_annotations.ts @@ -10,8 +10,7 @@ import { handleAnnotationResponse } from './response_processors/annotations'; import { AnnotationServices, getAnnotationRequestParams } from './annotations/get_request_params'; import { getLastSeriesTimestamp } from './helpers/timestamp'; import type { VisTypeTimeseriesVisDataRequest } from '../../types'; -import type { Annotation, Panel } from '../../../common/types'; -import type { PanelSeries } from '../../../common/types/vis_data'; +import type { Annotation, Panel, TrackedEsSearches, PanelSeries } from '../../../common/types'; function validAnnotation(annotation: Annotation) { return annotation.fields && annotation.icon && annotation.template && !annotation.hidden; @@ -22,26 +21,33 @@ interface GetAnnotationsParams { panel: Panel; series: Array; services: AnnotationServices; + trackedEsSearches: TrackedEsSearches; } -export async function getAnnotations({ req, panel, series, services }: GetAnnotationsParams) { +export async function getAnnotations({ + req, + panel, + series, + services, + trackedEsSearches, +}: GetAnnotationsParams) { const annotations = panel.annotations!.filter(validAnnotation); const lastSeriesTimestamp = getLastSeriesTimestamp(series); const handleAnnotationResponseBy = handleAnnotationResponse(lastSeriesTimestamp); - const bodiesPromises = annotations.map((annotation) => - getAnnotationRequestParams(req, panel, annotation, services) - ); - - const searches = (await Promise.all(bodiesPromises)).reduce( - (acc, items) => acc.concat(items as any), - [] + const searches = await Promise.all( + annotations.map((annotation) => getAnnotationRequestParams(req, panel, annotation, services)) ); if (!searches.length) return { responses: [] }; try { - const data = await services.searchStrategy.search(services.requestContext, req, searches); + const data = await services.searchStrategy.search( + services.requestContext, + req, + searches, + trackedEsSearches + ); return annotations.reduce((acc, annotation, index) => { acc[annotation.id] = handleAnnotationResponseBy(data[index].rawResponse, annotation); diff --git a/src/plugins/vis_types/timeseries/server/lib/vis_data/get_series_data.ts b/src/plugins/vis_types/timeseries/server/lib/vis_data/get_series_data.ts index a9a3825f5a9df..82ad8f75e2541 100644 --- a/src/plugins/vis_types/timeseries/server/lib/vis_data/get_series_data.ts +++ b/src/plugins/vis_types/timeseries/server/lib/vis_data/get_series_data.ts @@ -20,7 +20,7 @@ import type { VisTypeTimeseriesVisDataRequest, VisTypeTimeseriesRequestServices, } from '../../types'; -import type { Panel } from '../../../common/types'; +import type { Panel, DataResponseMeta } from '../../../common/types'; import { PANEL_TYPES } from '../../../common/enums'; export async function getSeriesData( @@ -49,17 +49,18 @@ export async function getSeriesData( } const { searchStrategy, capabilities } = strategy; - const meta = { + const handleError = handleErrorResponse(panel); + + const meta: DataResponseMeta = { type: panel.type, uiRestrictions: capabilities.uiRestrictions, + trackedEsSearches: {}, }; - const handleError = handleErrorResponse(panel); - try { const bodiesPromises = getActiveSeries(panel).map((series) => { if (isEntireTimeRangeMode(panel, series)) { - isAggSupported(series.metrics); + isAggSupported(series.metrics, capabilities); } return getSeriesRequestParams(req, panel, panelIndex, series, capabilities, services); @@ -80,7 +81,7 @@ export async function getSeriesData( ); const searches = await Promise.all(bodiesPromises); - const data = await searchStrategy.search(requestContext, req, searches); + const data = await searchStrategy.search(requestContext, req, searches, meta.trackedEsSearches); const series = await Promise.all( data.map( @@ -101,6 +102,7 @@ export async function getSeriesData( searchStrategy, capabilities, }, + trackedEsSearches: meta.trackedEsSearches, }); } diff --git a/src/plugins/vis_types/timeseries/server/lib/vis_data/get_table_data.ts b/src/plugins/vis_types/timeseries/server/lib/vis_data/get_table_data.ts index 3b53147dc6f93..54acb55e79fc5 100644 --- a/src/plugins/vis_types/timeseries/server/lib/vis_data/get_table_data.ts +++ b/src/plugins/vis_types/timeseries/server/lib/vis_data/get_table_data.ts @@ -23,7 +23,8 @@ import type { VisTypeTimeseriesRequestServices, VisTypeTimeseriesVisDataRequest, } from '../../types'; -import type { Panel } from '../../../common/types'; +import type { Panel, DataResponseMeta } from '../../../common/types'; +import type { EsSearchRequest } from '../search_strategies'; export async function getTableData( requestContext: VisTypeTimeseriesRequestHandlerContext, @@ -65,43 +66,52 @@ export async function getTableData( return panel.pivot_id; }; - const meta = { + const meta: DataResponseMeta = { type: panel.type, uiRestrictions: capabilities.uiRestrictions, + trackedEsSearches: {}, }; - const handleError = handleErrorResponse(panel); try { if (isEntireTimeRangeMode(panel)) { panel.series.forEach((column) => { - isAggSupported(column.metrics); + isAggSupported(column.metrics, capabilities); }); } - const body = await buildTableRequest({ - req, - panel, - esQueryConfig: services.esQueryConfig, - seriesIndex: panelIndex, - capabilities, - uiSettings: services.uiSettings, - buildSeriesMetaParams: () => - services.buildSeriesMetaParams(panelIndex, Boolean(panel.use_kibana_indexes)), - }); - - const [resp] = await searchStrategy.search(requestContext, req, [ + const searches: EsSearchRequest[] = [ { + index: panelIndex.indexPatternString, body: { - ...body, + ...(await buildTableRequest({ + req, + panel, + esQueryConfig: services.esQueryConfig, + seriesIndex: panelIndex, + capabilities, + uiSettings: services.uiSettings, + buildSeriesMetaParams: () => + services.buildSeriesMetaParams(panelIndex, Boolean(panel.use_kibana_indexes)), + })), runtime_mappings: panelIndex.indexPattern?.getComputedFields().runtimeFields ?? {}, }, - index: panelIndex.indexPatternString, + trackingEsSearchMeta: { + requestId: panel.id, + requestLabel: i18n.translate('visTypeTimeseries.tableRequest.label', { + defaultMessage: 'Table: {id}', + values: { + id: panel.id, + }, + }), + }, }, - ]); + ]; + + const data = await searchStrategy.search(requestContext, req, searches, meta.trackedEsSearches); const buckets = get( - resp.rawResponse ? resp.rawResponse : resp, + data[0].rawResponse ? data[0].rawResponse : data[0], 'aggregations.pivot.buckets', [] ); diff --git a/src/plugins/vis_types/timeseries/server/lib/vis_data/helpers/check_aggs.ts b/src/plugins/vis_types/timeseries/server/lib/vis_data/helpers/check_aggs.ts index bc420045dd434..268335d3bdc21 100644 --- a/src/plugins/vis_types/timeseries/server/lib/vis_data/helpers/check_aggs.ts +++ b/src/plugins/vis_types/timeseries/server/lib/vis_data/helpers/check_aggs.ts @@ -6,21 +6,36 @@ * Side Public License, v 1. */ +import { get } from 'lodash'; import { AggNotSupportedInMode } from '../../../../common/errors'; -import { getAggsByType, AGG_TYPE } from '../../../../common/agg_utils'; -import { TSVB_METRIC_TYPES, TIME_RANGE_DATA_MODES } from '../../../../common/enums'; +import { TIME_RANGE_DATA_MODES } from '../../../../common/enums'; +import { DEFAULT_UI_RESTRICTION, RESTRICTIONS_KEYS } from '../../../../common/ui_restrictions'; + import { Metric } from '../../../../common/types'; +import { SearchCapabilities } from '../../search_strategies'; + +// @todo: will be removed in 8.1 +// That logic was moved into common folder in that PR https://github.com/elastic/kibana/pull/119967 +// isMetricEnabled method should be used instead. See check_ui_restrictions.ts file +const checkUIRestrictions = (key: string, restrictions: Record, type: string) => { + const isAllEnabled = get(restrictions ?? DEFAULT_UI_RESTRICTION, `${type}.*`, true); + + return isAllEnabled || Boolean(get(restrictions ?? DEFAULT_UI_RESTRICTION, [type, key], false)); +}; -export function isAggSupported(metrics: Metric[]) { - const parentPipelineAggs = getAggsByType((agg) => agg.id)[AGG_TYPE.PARENT_PIPELINE]; +export function isAggSupported(metrics: Metric[], capabilities: SearchCapabilities) { const metricTypes = metrics.filter( (metric) => - parentPipelineAggs.includes(metric.type) || metric.type === TSVB_METRIC_TYPES.SERIES_AGG + !checkUIRestrictions( + metric.type, + capabilities.uiRestrictions, + RESTRICTIONS_KEYS.WHITE_LISTED_METRICS + ) ); if (metricTypes.length) { throw new AggNotSupportedInMode( - metricTypes.map((metric) => metric.type).join(', '), + metricTypes.map((metric) => `"${metric.type}"`).join(', '), TIME_RANGE_DATA_MODES.ENTIRE_TIME_RANGE ); } diff --git a/src/plugins/vis_types/timeseries/server/lib/vis_data/request_processors/series/date_histogram.js b/src/plugins/vis_types/timeseries/server/lib/vis_data/request_processors/series/date_histogram.js index 696bea7d6421b..21b19ef6f70c0 100644 --- a/src/plugins/vis_types/timeseries/server/lib/vis_data/request_processors/series/date_histogram.js +++ b/src/plugins/vis_types/timeseries/server/lib/vis_data/request_processors/series/date_histogram.js @@ -11,8 +11,6 @@ import { getBucketSize } from '../../helpers/get_bucket_size'; import { offsetTime } from '../../offset_time'; import { isLastValueTimerangeMode } from '../../helpers/get_timerange_mode'; import { search, UI_SETTINGS } from '../../../../../../../../plugins/data/server'; -import { AGG_TYPE, getAggsByType } from '../../../../../common/agg_utils'; -import { TSVB_METRIC_TYPES } from '../../../../../common/enums'; const { dateHistogramInterval } = search.aggs; @@ -32,17 +30,19 @@ export function dateHistogram( const { timeField, interval, maxBars } = await buildSeriesMetaParams(); const { from, to } = offsetTime(req, series.offset_time); - const { timezone } = capabilities; - const { intervalString } = getBucketSize( - req, - interval, - capabilities, - maxBars ? Math.min(maxBarsUiSettings, maxBars) : barTargetUiSettings - ); let bucketInterval; const overwriteDateHistogramForLastBucketMode = () => { + const { timezone } = capabilities; + + const { intervalString } = getBucketSize( + req, + interval, + capabilities, + maxBars ? Math.min(maxBarsUiSettings, maxBars) : barTargetUiSettings + ); + overwrite(doc, `aggs.${series.id}.aggs.timeseries.date_histogram`, { field: timeField, min_doc_count: 0, @@ -58,35 +58,12 @@ export function dateHistogram( }; const overwriteDateHistogramForEntireTimerangeMode = () => { - const metricAggs = getAggsByType((agg) => agg.id)[AGG_TYPE.METRIC]; - - // we should use auto_date_histogram only for metric aggregations and math - if ( - series.metrics.every( - (metric) => metricAggs.includes(metric.type) || metric.type === TSVB_METRIC_TYPES.MATH - ) - ) { - overwrite(doc, `aggs.${series.id}.aggs.timeseries.auto_date_histogram`, { - field: timeField, - buckets: 1, - }); - - bucketInterval = `${to.valueOf() - from.valueOf()}ms`; - return; - } - - overwrite(doc, `aggs.${series.id}.aggs.timeseries.date_histogram`, { + overwrite(doc, `aggs.${series.id}.aggs.timeseries.auto_date_histogram`, { field: timeField, - min_doc_count: 0, - time_zone: timezone, - extended_bounds: { - min: from.valueOf(), - max: to.valueOf(), - }, - ...dateHistogramInterval(intervalString), + buckets: 1, }); - bucketInterval = intervalString; + bucketInterval = `${to.valueOf() - from.valueOf()}ms`; }; isLastValueTimerangeMode(panel, series) diff --git a/src/plugins/vis_types/timeseries/server/lib/vis_data/request_processors/table/date_histogram.ts b/src/plugins/vis_types/timeseries/server/lib/vis_data/request_processors/table/date_histogram.ts index c02f661c3aedc..a458c870be7d9 100644 --- a/src/plugins/vis_types/timeseries/server/lib/vis_data/request_processors/table/date_histogram.ts +++ b/src/plugins/vis_types/timeseries/server/lib/vis_data/request_processors/table/date_histogram.ts @@ -9,8 +9,6 @@ import { overwrite, getBucketSize, isLastValueTimerangeMode, getTimerange } from '../../helpers'; import { calculateAggRoot } from './calculate_agg_root'; import { search, UI_SETTINGS } from '../../../../../../../../plugins/data/server'; -import { AGG_TYPE, getAggsByType } from '../../../../../common/agg_utils'; -import { TSVB_METRIC_TYPES } from '../../../../../common/enums'; import type { TableRequestProcessorsFunction, TableSearchRequestMeta } from './types'; @@ -30,10 +28,10 @@ export const dateHistogram: TableRequestProcessorsFunction = panelId: panel.id, }; - const { intervalString } = getBucketSize(req, interval, capabilities, barTargetUiSettings); - const { timezone } = capabilities; - const overwriteDateHistogramForLastBucketMode = () => { + const { intervalString } = getBucketSize(req, interval, capabilities, barTargetUiSettings); + const { timezone } = capabilities; + panel.series.forEach((column) => { const aggRoot = calculateAggRoot(doc, column); @@ -56,41 +54,19 @@ export const dateHistogram: TableRequestProcessorsFunction = }; const overwriteDateHistogramForEntireTimerangeMode = () => { - const metricAggs = getAggsByType((agg) => agg.id)[AGG_TYPE.METRIC]; - let bucketInterval; + const intervalString = `${to.valueOf() - from.valueOf()}ms`; panel.series.forEach((column) => { const aggRoot = calculateAggRoot(doc, column); - // we should use auto_date_histogram only for metric aggregations and math - if ( - column.metrics.every( - (metric) => metricAggs.includes(metric.type) || metric.type === TSVB_METRIC_TYPES.MATH - ) - ) { - overwrite(doc, `${aggRoot}.timeseries.auto_date_histogram`, { - field: timeField, - buckets: 1, - }); - - bucketInterval = `${to.valueOf() - from.valueOf()}ms`; - } else { - overwrite(doc, `${aggRoot}.timeseries.date_histogram`, { - field: timeField, - min_doc_count: 0, - time_zone: timezone, - extended_bounds: { - min: from.valueOf(), - max: to.valueOf(), - }, - ...dateHistogramInterval(intervalString), - }); - bucketInterval = intervalString; - } + overwrite(doc, `${aggRoot}.timeseries.auto_date_histogram`, { + field: timeField, + buckets: 1, + }); overwrite(doc, aggRoot.replace(/\.aggs$/, '.meta'), { ...meta, - intervalString: bucketInterval, + intervalString, }); }); }; diff --git a/src/plugins/vis_types/timeseries/server/lib/vis_data/series/get_request_params.ts b/src/plugins/vis_types/timeseries/server/lib/vis_data/series/get_request_params.ts index 046b207050ca0..d176eb8b99392 100644 --- a/src/plugins/vis_types/timeseries/server/lib/vis_data/series/get_request_params.ts +++ b/src/plugins/vis_types/timeseries/server/lib/vis_data/series/get_request_params.ts @@ -5,7 +5,7 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ - +import { i18n } from '@kbn/i18n'; import { buildRequestBody } from './build_request_body'; import type { FetchedIndexPattern, Panel, Series } from '../../../../common/types'; @@ -13,7 +13,7 @@ import type { VisTypeTimeseriesRequestServices, VisTypeTimeseriesVisDataRequest, } from '../../../types'; -import type { SearchCapabilities } from '../../search_strategies'; +import type { SearchCapabilities, EsSearchRequest } from '../../search_strategies'; export async function getSeriesRequestParams( req: VisTypeTimeseriesVisDataRequest, @@ -28,7 +28,7 @@ export async function getSeriesRequestParams( cachedIndexPatternFetcher, buildSeriesMetaParams, }: VisTypeTimeseriesRequestServices -) { +): Promise { let seriesIndex = panelIndex; if (series.override_index_pattern) { @@ -53,5 +53,14 @@ export async function getSeriesRequestParams( runtime_mappings: seriesIndex.indexPattern?.getComputedFields().runtimeFields ?? {}, timeout: esShardTimeout > 0 ? `${esShardTimeout}ms` : undefined, }, + trackingEsSearchMeta: { + requestId: series.id, + requestLabel: i18n.translate('visTypeTimeseries.seriesRequest.label', { + defaultMessage: 'Series: {id}', + values: { + id: series.id, + }, + }), + }, }; } diff --git a/src/plugins/vis_types/timeseries/server/ui_settings.ts b/src/plugins/vis_types/timeseries/server/ui_settings.ts index e61635058cee0..5bee1bd08e211 100644 --- a/src/plugins/vis_types/timeseries/server/ui_settings.ts +++ b/src/plugins/vis_types/timeseries/server/ui_settings.ts @@ -11,7 +11,7 @@ import { schema } from '@kbn/config-schema'; import { UiSettingsParams } from 'kibana/server'; -import { MAX_BUCKETS_SETTING } from '../common/constants'; +import { MAX_BUCKETS_SETTING, ALLOW_CHECKING_FOR_FAILED_SHARDS } from '../common/constants'; export const getUiSettings: () => Record = () => ({ [MAX_BUCKETS_SETTING]: { @@ -25,4 +25,18 @@ export const getUiSettings: () => Record = () => ({ }), schema: schema.number(), }, + [ALLOW_CHECKING_FOR_FAILED_SHARDS]: { + name: i18n.translate('visTypeTimeseries.advancedSettings.allowCheckingForFailedShardsTitle', { + defaultMessage: 'Show TSVB request shard failures', + }), + value: true, + description: i18n.translate( + 'visTypeTimeseries.advancedSettings.allowCheckingForFailedShardsText', + { + defaultMessage: + 'Show warning message for partial data in TSVB charts if the request succeeds for some shards but fails for others.', + } + ), + schema: schema.boolean(), + }, }); diff --git a/src/plugins/vis_types/vega/public/components/deprecated_interval_info.test.tsx b/src/plugins/vis_types/vega/public/components/deprecated_interval_info.test.tsx new file mode 100644 index 0000000000000..d88cf279881b3 --- /dev/null +++ b/src/plugins/vis_types/vega/public/components/deprecated_interval_info.test.tsx @@ -0,0 +1,135 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { shouldShowDeprecatedHistogramIntervalInfo } from './deprecated_interval_info'; + +describe('shouldShowDeprecatedHistogramIntervalInfo', () => { + test('should show deprecated histogram interval', () => { + expect( + shouldShowDeprecatedHistogramIntervalInfo({ + data: { + url: { + body: { + aggs: { + test: { + date_histogram: { + interval: 'day', + }, + }, + }, + }, + }, + }, + }) + ).toBeTruthy(); + + expect( + shouldShowDeprecatedHistogramIntervalInfo({ + data: [ + { + url: { + body: { + aggs: { + test: { + date_histogram: { + interval: 'day', + }, + }, + }, + }, + }, + }, + { + url: { + body: { + aggs: { + test: { + date_histogram: { + calendar_interval: 'day', + }, + }, + }, + }, + }, + }, + ], + }) + ).toBeTruthy(); + }); + + test('should not show deprecated histogram interval', () => { + expect( + shouldShowDeprecatedHistogramIntervalInfo({ + data: { + url: { + body: { + aggs: { + test: { + date_histogram: { + interval: { '%autointerval%': true }, + }, + }, + }, + }, + }, + }, + }) + ).toBeFalsy(); + + expect( + shouldShowDeprecatedHistogramIntervalInfo({ + data: { + url: { + body: { + aggs: { + test: { + auto_date_histogram: { + field: 'bytes', + }, + }, + }, + }, + }, + }, + }) + ).toBeFalsy(); + + expect( + shouldShowDeprecatedHistogramIntervalInfo({ + data: [ + { + url: { + body: { + aggs: { + test: { + date_histogram: { + calendar_interval: 'week', + }, + }, + }, + }, + }, + }, + { + url: { + body: { + aggs: { + test: { + date_histogram: { + fixed_interval: '23d', + }, + }, + }, + }, + }, + }, + ], + }) + ).toBeFalsy(); + }); +}); diff --git a/src/plugins/vis_types/vega/public/components/deprecated_interval_info.tsx b/src/plugins/vis_types/vega/public/components/deprecated_interval_info.tsx new file mode 100644 index 0000000000000..23144a4c2084d --- /dev/null +++ b/src/plugins/vis_types/vega/public/components/deprecated_interval_info.tsx @@ -0,0 +1,53 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { EuiCallOut, EuiButtonIcon } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n/react'; +import { VegaSpec } from '../data_model/types'; +import { getDocLinks } from '../services'; + +import { BUCKET_TYPES } from '../../../../data/public'; + +export const DeprecatedHistogramIntervalInfo = () => ( + + ), + }} + /> + } + iconType="help" + /> +); + +export const shouldShowDeprecatedHistogramIntervalInfo = (spec: VegaSpec) => { + const data = Array.isArray(spec.data) ? spec?.data : [spec.data]; + + return data.some((dataItem = {}) => { + const aggs = dataItem.url?.body?.aggs ?? {}; + + return Object.keys(aggs).some((key) => { + const dateHistogram = aggs[key]?.[BUCKET_TYPES.DATE_HISTOGRAM] || {}; + return 'interval' in dateHistogram && typeof dateHistogram.interval !== 'object'; + }); + }); +}; diff --git a/src/plugins/vis_types/vega/public/components/experimental_map_vis_info.tsx b/src/plugins/vis_types/vega/public/components/experimental_map_vis_info.tsx index 2de6eb490196c..8a1f2c2794974 100644 --- a/src/plugins/vis_types/vega/public/components/experimental_map_vis_info.tsx +++ b/src/plugins/vis_types/vega/public/components/experimental_map_vis_info.tsx @@ -6,55 +6,37 @@ * Side Public License, v 1. */ -import { parse } from 'hjson'; import React from 'react'; import { EuiCallOut, EuiLink } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; -import { Vis } from '../../../../visualizations/public'; -function ExperimentalMapLayerInfo() { - const title = ( - - GitHub - - ), - }} - /> - ); - - return ( - - ); -} +import type { VegaSpec } from '../data_model/types'; -export const getInfoMessage = (vis: Vis) => { - if (vis.params.spec) { - try { - const spec = parse(vis.params.spec, { legacyRoot: false, keepWsc: true }); - - if (spec.config?.kibana?.type === 'map') { - return ; - } - } catch (e) { - // spec is invalid +export const ExperimentalMapLayerInfo = () => ( + + GitHub + + ), + }} + /> } - } + iconType="beaker" + /> +); - return null; -}; +export const shouldShowMapLayerInfo = (spec: VegaSpec) => spec.config?.kibana?.type === 'map'; diff --git a/src/plugins/vis_types/vega/public/components/vega_info_message.tsx b/src/plugins/vis_types/vega/public/components/vega_info_message.tsx new file mode 100644 index 0000000000000..265613ef1e6ce --- /dev/null +++ b/src/plugins/vis_types/vega/public/components/vega_info_message.tsx @@ -0,0 +1,45 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React, { useMemo } from 'react'; +import { parse } from 'hjson'; +import { ExperimentalMapLayerInfo, shouldShowMapLayerInfo } from './experimental_map_vis_info'; +import { + DeprecatedHistogramIntervalInfo, + shouldShowDeprecatedHistogramIntervalInfo, +} from './deprecated_interval_info'; + +import type { Vis } from '../../../../visualizations/public'; +import type { VegaSpec } from '../data_model/types'; + +const parseSpec = (spec: string) => { + if (spec) { + try { + return parse(spec, { legacyRoot: false, keepWsc: true }); + } catch (e) { + // spec is invalid + } + } +}; + +const InfoMessage = ({ spec }: { spec: string }) => { + const vegaSpec: VegaSpec = useMemo(() => parseSpec(spec), [spec]); + + if (!vegaSpec) { + return null; + } + + return ( + <> + {shouldShowMapLayerInfo(vegaSpec) && } + {shouldShowDeprecatedHistogramIntervalInfo(vegaSpec) && } + + ); +}; + +export const getInfoMessage = (vis: Vis) => ; diff --git a/src/plugins/vis_types/vega/public/data_model/es_query_parser.test.js b/src/plugins/vis_types/vega/public/data_model/es_query_parser.test.js index 27ed5aa18a96d..214a23d2ee935 100644 --- a/src/plugins/vis_types/vega/public/data_model/es_query_parser.test.js +++ b/src/plugins/vis_types/vega/public/data_model/es_query_parser.test.js @@ -178,11 +178,23 @@ describe(`EsQueryParser.injectQueryContextVars`, () => { ); test( `%autointerval% = true`, - check({ interval: { '%autointerval%': true } }, { interval: `1h` }, ctxObj) + check( + { date_histogram: { interval: { '%autointerval%': true } } }, + { date_histogram: { calendar_interval: `1h` } }, + ctxObj + ) ); test( `%autointerval% = 10`, - check({ interval: { '%autointerval%': 10 } }, { interval: `3h` }, ctxObj) + check( + { date_histogram: { interval: { '%autointerval%': 10 } } }, + { date_histogram: { fixed_interval: `3h` } }, + ctxObj + ) + ); + test( + `histogram with interval`, + check({ histogram: { interval: 1 } }, { histogram: { interval: 1 } }, ctxObj) ); test(`%timefilter% = min`, check({ a: { '%timefilter%': 'min' } }, { a: rangeStart })); test(`%timefilter% = max`, check({ a: { '%timefilter%': 'max' } }, { a: rangeEnd })); diff --git a/src/plugins/vis_types/vega/public/data_model/es_query_parser.ts b/src/plugins/vis_types/vega/public/data_model/es_query_parser.ts index d0c63b8f2a6a0..7f6ca05df3d7a 100644 --- a/src/plugins/vis_types/vega/public/data_model/es_query_parser.ts +++ b/src/plugins/vis_types/vega/public/data_model/es_query_parser.ts @@ -10,6 +10,7 @@ import moment from 'moment'; import { i18n } from '@kbn/i18n'; import { cloneDeep, isPlainObject } from 'lodash'; import type { estypes } from '@elastic/elasticsearch'; +import { Assign } from 'utility-types'; import { TimeCache } from './time_cache'; import { SearchAPI } from './search_api'; import { @@ -22,6 +23,7 @@ import { Query, ContextVarsObject, } from './types'; +import { dateHistogramInterval } from '../../../../data/common'; const TIMEFILTER: string = '%timefilter%'; const AUTOINTERVAL: string = '%autointerval%'; @@ -226,7 +228,16 @@ export class EsQueryParser { * @param {*} obj * @param {boolean} isQuery - if true, the `obj` belongs to the req's query portion */ - _injectContextVars(obj: Query | estypes.SearchRequest['body']['aggs'], isQuery: boolean) { + _injectContextVars( + obj: Assign< + Query | estypes.SearchRequest['body']['aggs'], + { + interval?: { '%autointerval%': true | number } | string; + } + >, + isQuery: boolean, + key?: string + ) { if (obj && typeof obj === 'object') { if (Array.isArray(obj)) { // For arrays, replace MUST_CLAUSE and MUST_NOT_CLAUSE string elements @@ -270,27 +281,32 @@ export class EsQueryParser { const subObj = (obj as ContextVarsObject)[prop]; if (!subObj || typeof obj !== 'object') continue; - // replace "interval": { "%autointerval%": true|integer } with - // auto-generated range based on the timepicker - if (prop === 'interval' && subObj[AUTOINTERVAL]) { - let size = subObj[AUTOINTERVAL]; - if (size === true) { - size = 50; // by default, try to get ~80 values - } else if (typeof size !== 'number') { - throw new Error( - i18n.translate('visTypeVega.esQueryParser.autointervalValueTypeErrorMessage', { - defaultMessage: '{autointerval} must be either {trueValue} or a number', - values: { - autointerval: `"${AUTOINTERVAL}"`, - trueValue: 'true', - }, - }) - ); + // replace "interval" with ES acceptable fixed_interval / calendar_interval + if (prop === 'interval' && key === 'date_histogram') { + let intervalString: string; + if (typeof subObj === 'string') { + intervalString = subObj; + } else if (subObj[AUTOINTERVAL]) { + let size = subObj[AUTOINTERVAL]; + if (size === true) { + size = 50; // by default, try to get ~80 values + } else if (typeof size !== 'number') { + throw new Error( + i18n.translate('visTypeVega.esQueryParser.autointervalValueTypeErrorMessage', { + defaultMessage: '{autointerval} must be either {trueValue} or a number', + values: { + autointerval: `"${AUTOINTERVAL}"`, + trueValue: 'true', + }, + }) + ); + } + const { max, min } = this._timeCache.getTimeBounds(); + intervalString = EsQueryParser._roundInterval((max - min) / size); } - const bounds = this._timeCache.getTimeBounds(); - (obj as ContextVarsObject).interval = EsQueryParser._roundInterval( - (bounds.max - bounds.min) / size - ); + + Object.assign(obj, dateHistogramInterval(intervalString)); + delete obj.interval; continue; } @@ -306,7 +322,7 @@ export class EsQueryParser { this._createRangeFilter(subObj); continue; case undefined: - this._injectContextVars(subObj, isQuery); + this._injectContextVars(subObj, isQuery, prop); continue; default: throw new Error( diff --git a/src/plugins/vis_types/vega/public/data_model/types.ts b/src/plugins/vis_types/vega/public/data_model/types.ts index 75b1132176d67..d1568bba6c98c 100644 --- a/src/plugins/vis_types/vega/public/data_model/types.ts +++ b/src/plugins/vis_types/vega/public/data_model/types.ts @@ -192,7 +192,6 @@ export type EmsQueryRequest = Requests & { export interface ContextVarsObject { [index: string]: any; prop: ContextVarsObjectProps; - interval: string; } export interface TooltipConfig { diff --git a/src/plugins/vis_types/vega/public/vega_type.ts b/src/plugins/vis_types/vega/public/vega_type.ts index 74899f5cfb3a4..23f0e385d2b33 100644 --- a/src/plugins/vis_types/vega/public/vega_type.ts +++ b/src/plugins/vis_types/vega/public/vega_type.ts @@ -16,7 +16,7 @@ import { getDefaultSpec } from './default_spec'; import { extractIndexPatternsFromSpec } from './lib/extract_index_pattern'; import { createInspectorAdapters } from './vega_inspector'; import { toExpressionAst } from './to_ast'; -import { getInfoMessage } from './components/experimental_map_vis_info'; +import { getInfoMessage } from './components/vega_info_message'; import { VegaVisEditorComponent } from './components/vega_vis_editor_lazy'; import type { VisParams } from './vega_fn'; diff --git a/src/plugins/vis_types/xy/public/config/get_config.test.ts b/src/plugins/vis_types/xy/public/config/get_config.test.ts index d046ac17c2b27..7608ef7cda460 100644 --- a/src/plugins/vis_types/xy/public/config/get_config.test.ts +++ b/src/plugins/vis_types/xy/public/config/get_config.test.ts @@ -7,7 +7,8 @@ */ import { getConfig } from './get_config'; -import { visData, visParamsWithTwoYAxes } from '../mocks'; +import { visData, visDataPercentile, visParamsWithTwoYAxes } from '../mocks'; +import { VisParams } from '../types'; // ToDo: add more tests for all the config properties describe('getConfig', () => { @@ -38,7 +39,69 @@ describe('getConfig', () => { it('assigns the correct formatter per y axis', () => { const config = getConfig(visData, visParamsWithTwoYAxes); expect(config.yAxes.length).toBe(2); - expect(config.yAxes[0].ticks?.formatter).toStrictEqual(config.aspects.y[1].formatter); - expect(config.yAxes[1].ticks?.formatter).toStrictEqual(config.aspects.y[0].formatter); + expect(config.yAxes[0].ticks?.formatter).toStrictEqual(config.aspects.y[0].formatter); + expect(config.yAxes[1].ticks?.formatter).toStrictEqual(config.aspects.y[1].formatter); + }); + + it('assigns the correct number of yAxes if the agg is hidden', () => { + // We have two axes but the one y dimension is hidden + const newVisParams = { + ...visParamsWithTwoYAxes, + dimensions: { + ...visParamsWithTwoYAxes.dimensions, + y: [ + { + label: 'Average memory', + aggType: 'avg', + params: {}, + accessor: 1, + format: { + id: 'number', + params: {}, + }, + }, + ], + }, + }; + const config = getConfig(visData, newVisParams); + expect(config.yAxes.length).toBe(1); + }); + + it('assigns the correct number of yAxes if the agg is Percentile', () => { + const newVisParams = { + ...visParamsWithTwoYAxes, + seriesParams: [ + { + type: 'line', + data: { + label: 'Percentiles of bytes', + id: '1', + }, + drawLinesBetweenPoints: true, + interpolate: 'linear', + lineWidth: 2, + mode: 'normal', + show: true, + showCircles: true, + circlesRadius: 3, + valueAxis: 'ValueAxis-1', + }, + ], + dimensions: { + ...visParamsWithTwoYAxes.dimensions, + y: ['1st', '5th', '25th', '50th', '75th', '95th', '99th'].map((prefix, accessor) => ({ + label: `${prefix} percentile of bytes`, + aggType: 'percentiles', + params: {}, + accessor, + format: { + id: 'number', + params: {}, + }, + })), + }, + } as VisParams; + const config = getConfig(visDataPercentile, newVisParams); + expect(config.yAxes.length).toBe(1); }); }); diff --git a/src/plugins/vis_types/xy/public/config/get_config.ts b/src/plugins/vis_types/xy/public/config/get_config.ts index 945f9a65953e6..6dbef263da9c1 100644 --- a/src/plugins/vis_types/xy/public/config/get_config.ts +++ b/src/plugins/vis_types/xy/public/config/get_config.ts @@ -28,6 +28,7 @@ import { getLegend } from './get_legend'; import { getAxis } from './get_axis'; import { getAspects } from './get_aspects'; import { ChartType } from '../index'; +import { getSafeId } from '../utils/accessors'; export function getConfig(table: Datatable, params: VisParams): VisConfig { const { @@ -50,15 +51,21 @@ export function getConfig(table: Datatable, params: VisParams): VisConfig { params.dimensions.x?.aggType === BUCKET_TYPES.DATE_HISTOGRAM ); const tooltip = getTooltip(aspects, params); - const yAxes = params.valueAxes.map((a) => { - // find the correct aspect for each value axis - const aspectsIdx = params.seriesParams.findIndex((s) => s.valueAxis === a.id); - return getAxis( - a, - params.grid, - aspects.y[aspectsIdx > -1 ? aspectsIdx : 0], - params.seriesParams - ); + + const yAxes: Array> = []; + + // avoid duplicates based on aggId + const aspectVisited = new Set(); + params.dimensions.y.forEach((y) => { + const accessor = y.accessor; + const aspect = aspects.y.find(({ column }) => column === accessor); + const aggId = getSafeId(aspect?.aggId); + const serie = params.seriesParams.find(({ data: { id } }) => id === aggId); + const valueAxis = params.valueAxes.find(({ id }) => id === serie?.valueAxis); + if (aspect && valueAxis && !aspectVisited.has(aggId)) { + yAxes.push(getAxis(valueAxis, params.grid, aspect, params.seriesParams)); + aspectVisited.add(aggId); + } }); const enableHistogramMode = (params.dimensions.x?.aggType === BUCKET_TYPES.DATE_HISTOGRAM || diff --git a/src/plugins/vis_types/xy/public/mocks.ts b/src/plugins/vis_types/xy/public/mocks.ts index bb74035485723..4bf5e9534a3f4 100644 --- a/src/plugins/vis_types/xy/public/mocks.ts +++ b/src/plugins/vis_types/xy/public/mocks.ts @@ -63,6 +63,86 @@ export const visData = { ], } as Datatable; +export const visDataPercentile = { + type: 'datatable', + columns: [ + { + id: 'col-0-1.1', + name: '1st percentile of bytes', + meta: { + type: 'number', + field: 'bytes', + index: 'kibana_sample_data_logs', + }, + }, + { + id: 'col-1-1.5', + name: '5th percentile of bytes', + meta: { + type: 'number', + field: 'bytes', + index: 'kibana_sample_data_logs', + }, + }, + { + id: 'col-2-1.25', + name: '25th percentile of bytes', + meta: { + type: 'number', + field: 'bytes', + index: 'kibana_sample_data_logs', + }, + }, + { + id: 'col-3-1.50', + name: '50th percentile of bytes', + meta: { + type: 'number', + field: 'bytes', + index: 'kibana_sample_data_logs', + }, + }, + { + id: 'col-4-1.75', + name: '75th percentile of bytes', + meta: { + type: 'number', + field: 'bytes', + index: 'kibana_sample_data_logs', + }, + }, + { + id: 'col-5-1.95', + name: '95th percentile of bytes', + meta: { + type: 'number', + field: 'bytes', + index: 'kibana_sample_data_logs', + }, + }, + { + id: 'col-6-1.99', + name: '99th percentile of bytes', + meta: { + type: 'number', + field: 'bytes', + index: 'kibana_sample_data_logs', + }, + }, + ], + rows: [ + { + 'col-0-1.1': 0, + 'col-1-1.5': 0, + 'col-2-1.25': 1741.5, + 'col-3-1.50': 4677, + 'col-4-1.75': 5681.5, + 'col-5-1.95': 6816, + 'col-6-1.99': 6816, + }, + ], +} as Datatable; + export const visParamsWithTwoYAxes = { type: 'histogram', addLegend: true, diff --git a/src/plugins/vis_types/xy/public/utils/accessors.test.ts b/src/plugins/vis_types/xy/public/utils/accessors.test.ts index 06920ceebe980..ebb389054af7e 100644 --- a/src/plugins/vis_types/xy/public/utils/accessors.test.ts +++ b/src/plugins/vis_types/xy/public/utils/accessors.test.ts @@ -129,6 +129,22 @@ describe('isPercentileIdEqualToSeriesId', () => { expect(isEqual).toBeFalsy(); }); + it('should be equal for column with percentile with decimal points', () => { + const seriesColumnId = '1'; + const columnId = `${seriesColumnId}['95.5']`; + + const isEqual = isPercentileIdEqualToSeriesId(columnId, seriesColumnId); + expect(isEqual).toBeTruthy(); + }); + + it('should not be equal for column with percentile with decimal points equal to seriesColumnId', () => { + const seriesColumnId = '1'; + const columnId = `2['1.3']`; + + const isEqual = isPercentileIdEqualToSeriesId(columnId, seriesColumnId); + expect(isEqual).toBeFalsy(); + }); + it('should not be equal for column with percentile, where columnId contains seriesColumnId', () => { const seriesColumnId = '1'; const columnId = `${seriesColumnId}2.1`; diff --git a/src/plugins/vis_types/xy/public/utils/accessors.tsx b/src/plugins/vis_types/xy/public/utils/accessors.tsx index 2b552c9f3f9cf..0acde395bbdb7 100644 --- a/src/plugins/vis_types/xy/public/utils/accessors.tsx +++ b/src/plugins/vis_types/xy/public/utils/accessors.tsx @@ -79,8 +79,21 @@ export const getSplitSeriesAccessorFnMap = ( }; // For percentile, the aggregation id is coming in the form %s.%d, where %s is agg_id and %d - percents -export const isPercentileIdEqualToSeriesId = (columnId: number | string, seriesColumnId: string) => - columnId.toString().split('.')[0] === seriesColumnId; +export const getSafeId = (columnId?: number | string | null) => { + const id = String(columnId); + // only multi-value aggs like percentiles are allowed to contain dots and [ + const isMultiValueId = id.includes('[') || id.includes('.'); + if (!isMultiValueId) { + return id; + } + const baseId = id.substring(0, id.indexOf('[') !== -1 ? id.indexOf('[') : id.indexOf('.')); + return baseId; +}; + +export const isPercentileIdEqualToSeriesId = ( + columnId: number | string | null | undefined, + seriesColumnId: string +) => getSafeId(columnId) === seriesColumnId; export const isValidSeriesForDimension = (seriesColumnId: string, { aggId, accessor }: Aspect) => (aggId === seriesColumnId || isPercentileIdEqualToSeriesId(aggId ?? '', seriesColumnId)) && diff --git a/src/plugins/vis_types/xy/public/utils/compute_percentage_data.test.ts b/src/plugins/vis_types/xy/public/utils/compute_percentage_data.test.ts new file mode 100644 index 0000000000000..835b6918f196f --- /dev/null +++ b/src/plugins/vis_types/xy/public/utils/compute_percentage_data.test.ts @@ -0,0 +1,216 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { computePercentageData } from './compute_percentage_data'; + +const rowsOneMetric = [ + { + 'col-0-4': 'Kibana Airlines', + 'col-1-1': 85, + }, + { + 'col-0-4': 'ES-Air', + 'col-1-1': 84, + }, + { + 'col-0-4': 'Logstash Airways', + 'col-1-1': 82, + }, + { + 'col-0-4': 'JetBeats', + 'col-1-1': 81, + }, +]; + +const twoMetricsRows = [ + { + 'col-0-4': 'ES-Air', + 'col-1-5': 10, + 'col-2-1': 71, + 'col-3-1': 1, + }, + { + 'col-0-4': 'ES-Air', + 'col-1-5': 9, + 'col-2-1': 14, + 'col-3-1': 1, + }, + { + 'col-0-4': 'Kibana Airlines', + 'col-1-5': 5, + 'col-2-1': 71, + 'col-3-1': 0, + }, + { + 'col-0-4': 'Kibana Airlines', + 'col-1-5': 8, + 'col-2-1': 13, + 'col-3-1': 1, + }, + { + 'col-0-4': 'JetBeats', + 'col-1-5': 11, + 'col-2-1': 72, + 'col-3-1': 0, + }, + { + 'col-0-4': 'JetBeats', + 'col-1-5': 12, + 'col-2-1': 9, + 'col-3-1': 0, + }, + { + 'col-0-4': 'Logstash Airways', + 'col-1-5': 5, + 'col-2-1': 71, + 'col-3-1': 1, + }, + { + 'col-0-4': 'Logstash Airways', + 'col-1-5': 7, + 'col-2-1': 10, + 'col-3-1': 0, + }, +]; + +describe('computePercentageData', () => { + it('returns ratio 1 if there is only one metric in the axis', () => { + const data = computePercentageData(rowsOneMetric, 'col-0-4', ['col-1-1']); + expect(data).toStrictEqual([ + { + 'col-0-4': 'Kibana Airlines', + 'col-1-1': 1, + }, + { + 'col-0-4': 'ES-Air', + 'col-1-1': 1, + }, + { + 'col-0-4': 'Logstash Airways', + 'col-1-1': 1, + }, + { + 'col-0-4': 'JetBeats', + 'col-1-1': 1, + }, + ]); + }); + + it('returns correct ratio if there are two metrics in the same axis with no small multiples', () => { + const data = computePercentageData(twoMetricsRows, 'col-0-4', ['col-1-5', 'col-2-1']); + expect(data).toStrictEqual([ + { + 'col-0-4': 'ES-Air', + 'col-1-5': 0.09615384615384616, + 'col-2-1': 0.6826923076923077, + 'col-3-1': 1, + }, + { + 'col-0-4': 'ES-Air', + 'col-1-5': 0.08653846153846152, + 'col-2-1': 0.1346153846153846, + 'col-3-1': 1, + }, + { + 'col-0-4': 'Kibana Airlines', + 'col-1-5': 0.05154639175257732, + 'col-2-1': 0.7319587628865979, + 'col-3-1': 0, + }, + { + 'col-0-4': 'Kibana Airlines', + 'col-1-5': 0.08247422680412371, + 'col-2-1': 0.13402061855670103, + 'col-3-1': 1, + }, + { + 'col-0-4': 'JetBeats', + 'col-1-5': 0.10576923076923078, + 'col-2-1': 0.6923076923076923, + 'col-3-1': 0, + }, + { + 'col-0-4': 'JetBeats', + 'col-1-5': 0.11538461538461539, + 'col-2-1': 0.08653846153846154, + 'col-3-1': 0, + }, + { + 'col-0-4': 'Logstash Airways', + 'col-1-5': 0.05376344086021506, + 'col-2-1': 0.7634408602150539, + 'col-3-1': 1, + }, + { + 'col-0-4': 'Logstash Airways', + 'col-1-5': 0.07526881720430108, + 'col-2-1': 0.10752688172043012, + 'col-3-1': 0, + }, + ]); + }); + + it('returns correct ratio if there are two metrics in the same axis with small multiples', () => { + const data = computePercentageData( + twoMetricsRows, + 'col-0-4', + ['col-1-5', 'col-2-1'], + 'col-3-1' + ); + expect(data).toStrictEqual([ + { + 'col-0-4': 'ES-Air', + 'col-1-5': 0.09615384615384616, + 'col-2-1': 0.6826923076923077, + 'col-3-1': 1, + }, + { + 'col-0-4': 'ES-Air', + 'col-1-5': 0.08653846153846152, + 'col-2-1': 0.1346153846153846, + 'col-3-1': 1, + }, + { + 'col-0-4': 'Kibana Airlines', + 'col-1-5': 0.06578947368421052, + 'col-2-1': 0.9342105263157895, + 'col-3-1': 0, + }, + { + 'col-0-4': 'Kibana Airlines', + 'col-1-5': 0.38095238095238093, + 'col-2-1': 0.619047619047619, + 'col-3-1': 1, + }, + { + 'col-0-4': 'JetBeats', + 'col-1-5': 0.10576923076923078, + 'col-2-1': 0.6923076923076923, + 'col-3-1': 0, + }, + { + 'col-0-4': 'JetBeats', + 'col-1-5': 0.11538461538461539, + 'col-2-1': 0.08653846153846154, + 'col-3-1': 0, + }, + { + 'col-0-4': 'Logstash Airways', + 'col-1-5': 0.06578947368421052, + 'col-2-1': 0.9342105263157894, + 'col-3-1': 1, + }, + { + 'col-0-4': 'Logstash Airways', + 'col-1-5': 0.411764705882353, + 'col-2-1': 0.5882352941176472, + 'col-3-1': 0, + }, + ]); + }); +}); diff --git a/src/plugins/vis_types/xy/public/utils/compute_percentage_data.ts b/src/plugins/vis_types/xy/public/utils/compute_percentage_data.ts new file mode 100644 index 0000000000000..67e04a980d3c9 --- /dev/null +++ b/src/plugins/vis_types/xy/public/utils/compute_percentage_data.ts @@ -0,0 +1,66 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { groupBy } from 'lodash'; +import { Accessor, AccessorFn } from '@elastic/charts'; +import { DatatableRow } from '../../../../expressions/public'; + +export const computePercentageData = ( + rows: DatatableRow[], + xAccessor: Accessor | AccessorFn, + yAccessors: string[], + splitChartAccessor?: string | null +) => { + // Group by xAccessor + const groupedData = groupBy(rows, function (row) { + return row[String(xAccessor)]; + }); + // In case of small multiples, I need to group by xAccessor and splitChartAccessor + if (splitChartAccessor) { + for (const key in groupedData) { + if (Object.prototype.hasOwnProperty.call(groupedData, key)) { + const groupedBySplitData = groupBy(groupedData[key], splitChartAccessor); + for (const newGroupKey in groupedBySplitData) { + if (Object.prototype.hasOwnProperty.call(groupedBySplitData, newGroupKey)) { + groupedData[`${key}-${newGroupKey}`] = groupedBySplitData[newGroupKey]; + } + } + } + } + } + // sum up all the yAccessors per group + const sums: Record = {}; + for (const key in groupedData) { + if (Object.prototype.hasOwnProperty.call(groupedData, key)) { + let sum = 0; + const array = groupedData[key]; + array.forEach((row) => { + for (const yAccessor of yAccessors) { + sum += row[yAccessor]; + } + }); + sums[key] = sum; + } + } + // compute the ratio of each group + rows.forEach((row) => { + const groupValue = splitChartAccessor + ? `${row[String(xAccessor)]}-${row[splitChartAccessor]}` + : row[String(xAccessor)]; + const sum = sums[groupValue] ?? 0; + let metricsSum = 0; + for (const yAccessor of yAccessors) { + metricsSum += row[yAccessor]; + } + const computedMetric = metricsSum / sum; + for (const yAccessor of yAccessors) { + row[yAccessor] = (computedMetric / metricsSum) * row[yAccessor]; + } + }); + + return rows; +}; diff --git a/src/plugins/vis_types/xy/public/utils/render_all_series.tsx b/src/plugins/vis_types/xy/public/utils/render_all_series.tsx index 4d71cf454cfd6..e2672380c390f 100644 --- a/src/plugins/vis_types/xy/public/utils/render_all_series.tsx +++ b/src/plugins/vis_types/xy/public/utils/render_all_series.tsx @@ -7,7 +7,6 @@ */ import React from 'react'; - import { AreaSeries, CurveType, @@ -19,14 +18,14 @@ import { AccessorFn, ColorVariant, LabelOverflowConstraint, - computeRatioByGroups, } from '@elastic/charts'; import { DatatableRow } from '../../../../expressions/public'; import { ChartType } from '../../common'; -import { SeriesParam, VisConfig } from '../types'; +import { SeriesParam, VisConfig, Aspect } from '../types'; import { isValidSeriesForDimension } from './accessors'; +import { computePercentageData } from './compute_percentage_data'; /** * Matches vislib curve to elastic charts @@ -69,8 +68,33 @@ export const renderAllSeries = ( timeZone: string, xAccessor: Accessor | AccessorFn, splitSeriesAccessors: Array -) => - seriesParams.map( +) => { + let percentageModeComputedData: DatatableRow[] = []; + yAxes.forEach((yAxis) => { + const scale = yAxis.scale; + // find the series that are positioned on this axis + const series = seriesParams.filter((seriesParam) => seriesParam.valueAxis === yAxis.groupId); + const yAspects: Aspect[] = []; + series.forEach((seriesParam) => { + const aggId = seriesParam.data.id; + const accessorsInSeries = aspects.y.filter((aspect) => aspect.aggId === aggId); + yAspects.push(...accessorsInSeries); + }); + const yAccessors = yAspects.map((aspect) => { + return aspect.accessor; + }) as string[]; + if (scale.mode === 'percentage') { + const splitChartAccessor = aspects.splitColumn?.accessor || aspects.splitRow?.accessor; + percentageModeComputedData = computePercentageData( + data, + xAccessor, + yAccessors, + splitChartAccessor + ); + } + }); + + return seriesParams.map( ({ show, valueAxis: groupId, @@ -91,24 +115,9 @@ export const renderAllSeries = ( const id = `${type}-${yAccessors[0]}`; const yAxisScale = yAxes.find(({ groupId: axisGroupId }) => axisGroupId === groupId)?.scale; - // compute percentage mode data - const splitChartAccessor = aspects.splitColumn?.accessor || aspects.splitRow?.accessor; - const groupAccessors = [String(xAccessor)]; - if (splitChartAccessor) { - groupAccessors.push(splitChartAccessor); - } - let computedData = data; - if (yAxisScale?.mode === 'percentage') { - yAccessors.forEach((accessor) => { - computedData = computeRatioByGroups( - computedData, - groupAccessors, - (d) => d[accessor], - accessor - ); - }); - } + const isStacked = mode === 'stacked'; + const stackMode = yAxisScale?.mode === 'normal' ? undefined : yAxisScale?.mode; // needed to seperate stacked and non-stacked bars into unique pseudo groups const pseudoGroupId = isStacked ? `__pseudo_stacked_group-${groupId}__` : groupId; @@ -131,7 +140,9 @@ export const renderAllSeries = ( xAccessor={xAccessor} yAccessors={yAccessors} splitSeriesAccessors={splitSeriesAccessors} - data={computedData} + data={ + !isStacked && yAxisScale?.mode === 'percentage' ? percentageModeComputedData : data + } timeZone={timeZone} stackAccessors={isStacked ? ['__any_value__'] : undefined} enableHistogramMode={enableHistogramMode} @@ -171,7 +182,9 @@ export const renderAllSeries = ( markSizeAccessor={markSizeAccessor} markFormat={aspects.z?.formatter} splitSeriesAccessors={splitSeriesAccessors} - data={computedData} + data={ + !isStacked && yAxisScale?.mode === 'percentage' ? percentageModeComputedData : data + } stackAccessors={isStacked ? ['__any_value__'] : undefined} displayValueSettings={{ showValueLabel, @@ -201,3 +214,4 @@ export const renderAllSeries = ( } } ); +}; diff --git a/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx b/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx index 44555f2db2c67..db4d1e03d8e88 100644 --- a/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx +++ b/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx @@ -368,7 +368,7 @@ export class VisualizeEmbeddable this.subscriptions.push(this.handler.loading$.subscribe(this.onContainerLoading)); this.subscriptions.push(this.handler.render$.subscribe(this.onContainerRender)); - this.updateHandler(); + await this.updateHandler(); } public destroy() { diff --git a/src/plugins/visualizations/public/vis.ts b/src/plugins/visualizations/public/vis.ts index 2a1e7f2c8c673..a84953bd84786 100644 --- a/src/plugins/visualizations/public/vis.ts +++ b/src/plugins/visualizations/public/vis.ts @@ -188,7 +188,7 @@ export class Vis { data: { aggs: aggs as any, searchSource: this.data.searchSource ? this.data.searchSource.getSerializedFields() : {}, - savedSearchId: this.data.savedSearchId, + ...(this.data.savedSearchId ? { savedSearchId: this.data.savedSearchId } : {}), }, }; } diff --git a/src/plugins/visualizations/server/embeddable/visualize_embeddable_factory.ts b/src/plugins/visualizations/server/embeddable/visualize_embeddable_factory.ts index 43a8ab3d507d8..10b2e7fd54da9 100644 --- a/src/plugins/visualizations/server/embeddable/visualize_embeddable_factory.ts +++ b/src/plugins/visualizations/server/embeddable/visualize_embeddable_factory.ts @@ -17,6 +17,7 @@ import { commonAddEmptyValueColorRule, commonMigrateTagCloud, commonAddDropLastBucketIntoTSVBModel, + commonAddDropLastBucketIntoTSVBModel714Above, } from '../migrations/visualization_common_migrations'; const byValueAddSupportOfDualIndexSelectionModeInTSVB = (state: SerializableRecord) => { @@ -40,6 +41,13 @@ const byValueAddDropLastBucketIntoTSVBModel = (state: SerializableRecord) => { }; }; +const byValueAddDropLastBucketIntoTSVBModel714Above = (state: SerializableRecord) => { + return { + ...state, + savedVis: commonAddDropLastBucketIntoTSVBModel714Above(state.savedVis), + }; +}; + const byValueRemoveDefaultIndexPatternAndTimeFieldFromTSVBModel = (state: SerializableRecord) => { return { ...state, @@ -86,6 +94,7 @@ export const visualizeEmbeddableFactory = (): EmbeddableRegistryDefinition => { byValueMigrateTagcloud, byValueAddDropLastBucketIntoTSVBModel )(state), + '7.17.0': (state) => flow(byValueAddDropLastBucketIntoTSVBModel714Above)(state), }, }; }; diff --git a/src/plugins/visualizations/server/migrations/visualization_common_migrations.ts b/src/plugins/visualizations/server/migrations/visualization_common_migrations.ts index 2503ac2c54b12..59d30df630c29 100644 --- a/src/plugins/visualizations/server/migrations/visualization_common_migrations.ts +++ b/src/plugins/visualizations/server/migrations/visualization_common_migrations.ts @@ -41,6 +41,19 @@ export const commonAddDropLastBucketIntoTSVBModel = (visState: any) => { return visState; }; +export const commonAddDropLastBucketIntoTSVBModel714Above = (visState: any) => { + if (visState && visState.type === 'metrics') { + return { + ...visState, + params: { + ...visState.params, + drop_last_bucket: visState.params.drop_last_bucket ?? 1, + }, + }; + } + return visState; +}; + export const commonHideTSVBLastValueIndicator = (visState: any) => { if (visState && visState.type === 'metrics' && visState.params.type !== 'timeseries') { return { diff --git a/src/plugins/visualizations/server/migrations/visualization_saved_object_migrations.test.ts b/src/plugins/visualizations/server/migrations/visualization_saved_object_migrations.test.ts index b6666dd17f4e9..4421b7d738f17 100644 --- a/src/plugins/visualizations/server/migrations/visualization_saved_object_migrations.test.ts +++ b/src/plugins/visualizations/server/migrations/visualization_saved_object_migrations.test.ts @@ -2342,4 +2342,62 @@ describe('migration visualization', () => { expect(palette.name).toEqual('default'); }); }); + + describe('7.17.0 tsvb - add drop last bucket into TSVB model', () => { + const migrate = (doc: any) => + visualizationSavedObjectTypeMigrations['7.14.0']( + doc as Parameters[0], + savedObjectMigrationContext + ); + + const migrateAgain = (doc: any) => + visualizationSavedObjectTypeMigrations['7.17.0']( + doc as Parameters[0], + savedObjectMigrationContext + ); + + const createTestDocWithType = (params: any) => ({ + attributes: { + title: 'My Vis', + description: 'This is my super cool vis.', + visState: `{ + "type":"metrics", + "params": ${JSON.stringify(params)} + }`, + }, + }); + + it('should add "drop_last_bucket" into model if it not exist and run twice', () => { + const params = {}; + const migratedTestDoc = migrate(createTestDocWithType(params)); + const { params: migratedParams } = JSON.parse(migratedTestDoc.attributes.visState); + + expect(migratedParams).toMatchInlineSnapshot(` + Object { + "drop_last_bucket": 1, + } + `); + + const migratedTestDocNew = migrateAgain(migratedTestDoc); + const { params: migratedNewParams } = JSON.parse(migratedTestDocNew.attributes.visState); + + expect(migratedNewParams).toMatchInlineSnapshot(` + Object { + "drop_last_bucket": 1, + } + `); + }); + + it('should not set "drop_last_bucket" to 1 into model if it exists', () => { + const params = { drop_last_bucket: 0 }; + const migratedTestDoc = migrate(createTestDocWithType(params)); + const { params: migratedParams } = JSON.parse(migratedTestDoc.attributes.visState); + + expect(migratedParams).toMatchInlineSnapshot(` + Object { + "drop_last_bucket": 0, + } + `); + }); + }); }); diff --git a/src/plugins/visualizations/server/migrations/visualization_saved_object_migrations.ts b/src/plugins/visualizations/server/migrations/visualization_saved_object_migrations.ts index bf389210e761e..a5053f7e5bdff 100644 --- a/src/plugins/visualizations/server/migrations/visualization_saved_object_migrations.ts +++ b/src/plugins/visualizations/server/migrations/visualization_saved_object_migrations.ts @@ -19,6 +19,7 @@ import { commonAddEmptyValueColorRule, commonMigrateTagCloud, commonAddDropLastBucketIntoTSVBModel, + commonAddDropLastBucketIntoTSVBModel714Above, } from './visualization_common_migrations'; const migrateIndexPattern: SavedObjectMigrationFn = (doc) => { @@ -979,6 +980,23 @@ const addDropLastBucketIntoTSVBModel: SavedObjectMigrationFn = (doc) = return doc; }; +const addDropLastBucketIntoTSVBModel714Above: SavedObjectMigrationFn = (doc) => { + try { + const visState = JSON.parse(doc.attributes.visState); + const newVisState = commonAddDropLastBucketIntoTSVBModel714Above(visState); + return { + ...doc, + attributes: { + ...doc.attributes, + visState: JSON.stringify(newVisState), + }, + }; + } catch (e) { + // Let it go, the data is invalid and we'll leave it as is + } + return doc; +}; + const removeDefaultIndexPatternAndTimeFieldFromTSVBModel: SavedObjectMigrationFn = ( doc ) => { @@ -1137,4 +1155,5 @@ export const visualizationSavedObjectTypeMigrations = { replaceIndexPatternReference, addDropLastBucketIntoTSVBModel ), + '7.17.0': flow(addDropLastBucketIntoTSVBModel714Above), }; diff --git a/test/api_integration/apis/index_patterns/es_errors/lib/get_es_errors.js b/test/api_integration/apis/index_patterns/es_errors/lib/get_es_errors.js index e193e06414039..c55f8dd8d6d83 100644 --- a/test/api_integration/apis/index_patterns/es_errors/lib/get_es_errors.js +++ b/test/api_integration/apis/index_patterns/es_errors/lib/get_es_errors.js @@ -25,7 +25,6 @@ export async function getDocNotFoundError(es) { try { await es.get({ index: 'basic_index', - type: 'type', id: '1234', }); } catch (err) { diff --git a/test/api_integration/services/supertest.ts b/test/api_integration/services/supertest.ts index f8ac827b7a2ed..709b9ddd75c22 100644 --- a/test/api_integration/services/supertest.ts +++ b/test/api_integration/services/supertest.ts @@ -6,6 +6,8 @@ * Side Public License, v 1. */ +import { systemIndicesSuperuser } from '@kbn/test'; + import { FtrProviderContext } from 'test/functional/ftr_provider_context'; import { format as formatUrl } from 'url'; @@ -20,7 +22,11 @@ export function KibanaSupertestProvider({ getService }: FtrProviderContext) { export function ElasticsearchSupertestProvider({ getService }: FtrProviderContext) { const config = getService('config'); const esServerConfig = config.get('servers.elasticsearch'); - const elasticSearchServerUrl = formatUrl(esServerConfig); + const elasticSearchServerUrl = formatUrl({ + ...esServerConfig, + // Use system indices user so tests can write to system indices + auth: `${systemIndicesSuperuser.username}:${systemIndicesSuperuser.password}`, + }); let agentOptions = {}; if ('certificateAuthorities' in esServerConfig) { diff --git a/test/common/fixtures/plugins/newsfeed/server/index.ts b/test/common/fixtures/plugins/newsfeed/server/index.ts index 17ac12bcd7284..8077c979014d9 100644 --- a/test/common/fixtures/plugins/newsfeed/server/index.ts +++ b/test/common/fixtures/plugins/newsfeed/server/index.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { PluginInitializerContext } from 'kibana/public'; +import type { PluginInitializerContext } from 'kibana/server'; import { NewsFeedSimulatorPlugin } from './plugin'; export function plugin(initializerContext: PluginInitializerContext) { diff --git a/test/common/fixtures/plugins/newsfeed/server/plugin.ts b/test/common/fixtures/plugins/newsfeed/server/plugin.ts index 49ffa464efac9..a592a832532ce 100644 --- a/test/common/fixtures/plugins/newsfeed/server/plugin.ts +++ b/test/common/fixtures/plugins/newsfeed/server/plugin.ts @@ -6,8 +6,7 @@ * Side Public License, v 1. */ -import { CoreSetup, Plugin } from 'kibana/server'; -import { PluginInitializerContext } from 'kibana/public'; +import type { CoreSetup, Plugin, PluginInitializerContext } from 'kibana/server'; export class NewsFeedSimulatorPlugin implements Plugin { constructor(private readonly initializerContext: PluginInitializerContext) {} diff --git a/test/common/services/elasticsearch.ts b/test/common/services/elasticsearch.ts index 7b8ff6bd6c8f4..419bd01758ded 100644 --- a/test/common/services/elasticsearch.ts +++ b/test/common/services/elasticsearch.ts @@ -6,12 +6,9 @@ * Side Public License, v 1. */ -import { format as formatUrl } from 'url'; -import fs from 'fs'; -import { Client } from '@elastic/elasticsearch'; -import { CA_CERT_PATH } from '@kbn/dev-utils'; import type { KibanaClient } from '@elastic/elasticsearch/api/kibana'; +import { systemIndicesSuperuser, createEsClientForFtrConfig } from '@kbn/test'; import { FtrProviderContext } from '../ftr_provider_context'; /* @@ -20,18 +17,8 @@ import { FtrProviderContext } from '../ftr_provider_context'; export function ElasticsearchProvider({ getService }: FtrProviderContext): KibanaClient { const config = getService('config'); - if (process.env.TEST_CLOUD) { - return new Client({ - nodes: [formatUrl(config.get('servers.elasticsearch'))], - requestTimeout: config.get('timeouts.esRequestTimeout'), - }); - } else { - return new Client({ - ssl: { - ca: fs.readFileSync(CA_CERT_PATH, 'utf-8'), - }, - nodes: [formatUrl(config.get('servers.elasticsearch'))], - requestTimeout: config.get('timeouts.esRequestTimeout'), - }); - } + return createEsClientForFtrConfig(config, { + // Use system indices user so tests can write to system indices + authOverride: systemIndicesSuperuser, + }); } diff --git a/test/common/services/security/role.ts b/test/common/services/security/role.ts index 420bed027f317..98cf597fc76d4 100644 --- a/test/common/services/security/role.ts +++ b/test/common/services/security/role.ts @@ -34,11 +34,9 @@ export class Role { path: `/api/security/role/${name}`, method: 'DELETE', }); - if (status !== 204 && status !== 404) { + if (status !== 204) { throw new Error( - `Expected status code of 204 or 404, received ${status} ${statusText}: ${util.inspect( - data - )}` + `Expected status code of 204, received ${status} ${statusText}: ${util.inspect(data)}` ); } } diff --git a/test/common/services/security/security.ts b/test/common/services/security/security.ts index b8fea0a0c59b2..a182f225f2388 100644 --- a/test/common/services/security/security.ts +++ b/test/common/services/security/security.ts @@ -11,6 +11,7 @@ import { User } from './user'; import { RoleMappings } from './role_mappings'; import { FtrProviderContext } from '../../ftr_provider_context'; import { createTestUserService, TestUserSupertestProvider, TestUser } from './test_user'; +import { createSystemIndicesUser } from './system_indices_user'; export class SecurityService { constructor( @@ -28,6 +29,7 @@ export async function SecurityServiceProvider(ctx: FtrProviderContext) { const role = new Role(log, kibanaServer); const user = new User(log, kibanaServer); + await createSystemIndicesUser(ctx); const testUser = await createTestUserService(ctx, role, user); const testUserSupertest = TestUserSupertestProvider(ctx); const roleMappings = new RoleMappings(log, kibanaServer); diff --git a/test/common/services/security/system_indices_user.ts b/test/common/services/security/system_indices_user.ts new file mode 100644 index 0000000000000..53f0a064c6008 --- /dev/null +++ b/test/common/services/security/system_indices_user.ts @@ -0,0 +1,73 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { systemIndicesSuperuser, createEsClientForFtrConfig } from '@kbn/test'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +const SYSTEM_INDICES_SUPERUSER_ROLE = 'system_indices_superuser'; + +export async function createSystemIndicesUser(ctx: FtrProviderContext) { + const log = ctx.getService('log'); + const config = ctx.getService('config'); + + const enabled = !config + .get('esTestCluster.serverArgs') + .some((arg: string) => arg === 'xpack.security.enabled=false'); + + if (!enabled) { + return; + } + + const es = createEsClientForFtrConfig(config); + + // There are cases where the test config file doesn't have security disabled + // but tests are still executed on ES without security. Checking this case + // by trying to fetch the users list. + try { + await es.security.getUser(); + } catch (error) { + log.debug('Could not fetch users, assuming security is disabled'); + return; + } + + log.debug('===============creating system indices role and user==============='); + + await es.security.putRole({ + name: SYSTEM_INDICES_SUPERUSER_ROLE, + refresh: 'wait_for', + body: { + cluster: ['all'], + indices: [ + { + names: ['*'], + privileges: ['all'], + allow_restricted_indices: true, + }, + ], + applications: [ + { + application: '*', + privileges: ['*'], + resources: ['*'], + }, + ], + run_as: ['*'], + }, + }); + + await es.security.putUser({ + username: systemIndicesSuperuser.username, + refresh: 'wait_for', + body: { + password: systemIndicesSuperuser.password, + roles: [SYSTEM_INDICES_SUPERUSER_ROLE], + }, + }); + + await es.close(); +} diff --git a/test/functional/apps/context/_date_nanos.ts b/test/functional/apps/context/_date_nanos.ts index 6b7b28a4c7690..37c7f10d1e8e1 100644 --- a/test/functional/apps/context/_date_nanos.ts +++ b/test/functional/apps/context/_date_nanos.ts @@ -24,6 +24,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { before(async function () { await security.testUser.setRoles(['kibana_admin', 'kibana_date_nanos']); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/date_nanos'); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); + await kibanaServer.importExport.load('test/functional/fixtures/kbn_archiver/date_nanos'); await kibanaServer.uiSettings.replace({ defaultIndex: TEST_INDEX_PATTERN }); await kibanaServer.uiSettings.update({ 'context:defaultSize': `${TEST_DEFAULT_CONTEXT_SIZE}`, @@ -34,6 +36,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { after(async function unloadMakelogs() { await security.testUser.restoreDefaults(); await esArchiver.unload('test/functional/fixtures/es_archiver/date_nanos'); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); }); it('displays predessors - anchor - successors in right order ', async function () { diff --git a/test/functional/apps/context/_date_nanos_custom_timestamp.ts b/test/functional/apps/context/_date_nanos_custom_timestamp.ts index 43714804a1912..ba8bf6269e7fe 100644 --- a/test/functional/apps/context/_date_nanos_custom_timestamp.ts +++ b/test/functional/apps/context/_date_nanos_custom_timestamp.ts @@ -24,6 +24,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { before(async function () { await security.testUser.setRoles(['kibana_admin', 'kibana_date_nanos_custom']); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/date_nanos_custom'); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); + await kibanaServer.importExport.load( + 'test/functional/fixtures/kbn_archiver/date_nanos_custom' + ); await kibanaServer.uiSettings.replace({ defaultIndex: TEST_INDEX_PATTERN }); await kibanaServer.uiSettings.update({ 'context:defaultSize': `${TEST_DEFAULT_CONTEXT_SIZE}`, @@ -45,6 +49,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { after(async function () { await security.testUser.restoreDefaults(); await esArchiver.unload('test/functional/fixtures/es_archiver/date_nanos_custom'); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); }); }); } diff --git a/test/functional/apps/dashboard/bwc_import.ts b/test/functional/apps/dashboard/bwc_import.ts index bae901489288c..03f1f126338fa 100644 --- a/test/functional/apps/dashboard/bwc_import.ts +++ b/test/functional/apps/dashboard/bwc_import.ts @@ -13,8 +13,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const PageObjects = getPageObjects(['dashboard', 'header', 'settings', 'savedObjects', 'common']); const dashboardExpect = getService('dashboardExpect'); - // https://github.com/elastic/kibana/issues/114053 - describe.skip('bwc import', function describeIndexTests() { + describe('bwc import', function describeIndexTests() { before(async function () { await PageObjects.dashboard.initTests(); await PageObjects.settings.navigateTo(); diff --git a/test/functional/apps/dashboard/dashboard_save.ts b/test/functional/apps/dashboard/dashboard_save.ts index dce59744db305..4ab8633a5619b 100644 --- a/test/functional/apps/dashboard/dashboard_save.ts +++ b/test/functional/apps/dashboard/dashboard_save.ts @@ -58,6 +58,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { // wait till it finishes reloading or it might reload the url after simulating the // dashboard landing page click. await PageObjects.header.waitUntilLoadingHasFinished(); + + // after saving a new dashboard, the app state must be removed + await await PageObjects.dashboard.expectAppStateRemovedFromURL(); + await PageObjects.dashboard.gotoDashboardLandingPage(); await listingTable.searchAndExpectItemsCount('dashboard', dashboardName, 2); diff --git a/test/functional/apps/dashboard/dashboard_state.ts b/test/functional/apps/dashboard/dashboard_state.ts index c8fa4ad19a4d5..f2a799d83d195 100644 --- a/test/functional/apps/dashboard/dashboard_state.ts +++ b/test/functional/apps/dashboard/dashboard_state.ts @@ -230,12 +230,14 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('for query parameter with soft refresh', async function () { await changeQuery(false, 'hi:goodbye'); + await PageObjects.dashboard.expectAppStateRemovedFromURL(); }); it('for query parameter with hard refresh', async function () { await changeQuery(true, 'hi:hello'); await queryBar.clearQuery(); await queryBar.clickQuerySubmitButton(); + await PageObjects.dashboard.expectAppStateRemovedFromURL(); }); it('for panel size parameters', async function () { diff --git a/test/functional/apps/dashboard_elements/input_control_vis/input_control_range.ts b/test/functional/apps/dashboard_elements/input_control_vis/input_control_range.ts index 566e6f033d2fd..444d610ac9e24 100644 --- a/test/functional/apps/dashboard_elements/input_control_vis/input_control_range.ts +++ b/test/functional/apps/dashboard_elements/input_control_vis/input_control_range.ts @@ -11,6 +11,7 @@ import expect from '@kbn/expect'; import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { + const kibanaServer = getService('kibanaServer'); const esArchiver = getService('esArchiver'); const find = getService('find'); const security = getService('security'); @@ -22,9 +23,13 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { before(async () => { await PageObjects.visualize.initTests(); await security.testUser.setRoles(['kibana_admin', 'kibana_sample_admin']); - await esArchiver.load( - 'test/functional/fixtures/es_archiver/kibana_sample_data_flights_index_pattern' + await esArchiver.load('test/functional/fixtures/es_archiver/kibana_sample_data_flights'); + await kibanaServer.importExport.load( + 'test/functional/fixtures/kbn_archiver/kibana_sample_data_flights_index_pattern' ); + await kibanaServer.uiSettings.replace({ + defaultIndex: 'd3d7af60-4c81-11e8-b3d7-01146121b73d', + }); await visualize.navigateToNewVisualization(); await visualize.clickInputControlVis(); }); @@ -52,9 +57,11 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); after(async () => { - await esArchiver.unload( - 'test/functional/fixtures/es_archiver/kibana_sample_data_flights_index_pattern' + await kibanaServer.importExport.unload( + 'test/functional/fixtures/kbn_archiver/kibana_sample_data_flights_index_pattern' ); + await esArchiver.unload('test/functional/fixtures/es_archiver/kibana_sample_data_flights'); + await kibanaServer.uiSettings.unset('defaultIndex'); await security.testUser.restoreDefaults(); }); }); diff --git a/test/functional/apps/discover/_context_encoded_url_param.ts b/test/functional/apps/discover/_context_encoded_url_param.ts new file mode 100644 index 0000000000000..fdbee7a637f46 --- /dev/null +++ b/test/functional/apps/discover/_context_encoded_url_param.ts @@ -0,0 +1,57 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import expect from '@kbn/expect'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default function ({ getService, getPageObjects }: FtrProviderContext) { + const dataGrid = getService('dataGrid'); + const kibanaServer = getService('kibanaServer'); + const security = getService('security'); + const PageObjects = getPageObjects(['common', 'discover', 'timePicker', 'settings', 'header']); + const testSubjects = getService('testSubjects'); + const es = getService('es'); + + describe('encoded URL params in context page', () => { + before(async function () { + await security.testUser.setRoles(['kibana_admin', 'context_encoded_param']); + await PageObjects.common.navigateToApp('settings'); + await es.transport.request({ + path: '/context-encoded-param/_doc/1+1=2', + method: 'PUT', + body: { + username: 'Dmitry', + '@timestamp': '2015-09-21T09:30:23', + }, + }); + await PageObjects.settings.createIndexPattern('context-encoded-param'); + + await kibanaServer.uiSettings.update({ 'doc_table:legacy': false }); + await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings(); + await PageObjects.common.navigateToApp('discover'); + }); + + it('should navigate correctly', async () => { + await PageObjects.discover.selectIndexPattern('context-encoded-param'); + await PageObjects.header.waitUntilLoadingHasFinished(); + + // navigate to the context view + await dataGrid.clickRowToggle({ rowIndex: 0 }); + const [, surroundingActionEl] = await dataGrid.getRowActions({ + isAnchorRow: false, + rowIndex: 0, + }); + await surroundingActionEl.click(); + await PageObjects.header.waitUntilLoadingHasFinished(); + + const headerElement = await testSubjects.find('contextDocumentSurroundingHeader'); + + expect(await headerElement.getVisibleText()).to.be('Documents surrounding #1+1=2'); + }); + }); +} diff --git a/test/functional/apps/discover/_data_grid_doc_table.ts b/test/functional/apps/discover/_data_grid_doc_table.ts index 1d7486b071311..946389205e1ae 100644 --- a/test/functional/apps/discover/_data_grid_doc_table.ts +++ b/test/functional/apps/discover/_data_grid_doc_table.ts @@ -17,7 +17,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const esArchiver = getService('esArchiver'); const kibanaServer = getService('kibanaServer'); const monacoEditor = getService('monacoEditor'); - const PageObjects = getPageObjects(['common', 'discover', 'header', 'timePicker']); + const dashboardAddPanel = getService('dashboardAddPanel'); + const PageObjects = getPageObjects(['common', 'discover', 'header', 'timePicker', 'dashboard']); const defaultSettings = { defaultIndex: 'logstash-*', 'doc_table:legacy': false, @@ -32,6 +33,9 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional'); await kibanaServer.uiSettings.replace(defaultSettings); await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings(); + }); + + beforeEach(async () => { await PageObjects.common.navigateToApp('discover'); }); @@ -57,26 +61,96 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const finalRows = await PageObjects.discover.getDocTableRows(); expect(finalRows.length).to.be.below(initialRows.length); + }); + + it('should show popover with expanded cell content by click on expand button', async () => { + log.debug('open popover with expanded cell content to get json from the editor'); await PageObjects.timePicker.setDefaultAbsoluteRange(); + await PageObjects.discover.waitUntilSearchingHasFinished(); + + await retry.waitForWithTimeout('timestamp matches expected doc', 5000, async () => { + const cell = await dataGrid.getCellElement(1, 3); + const text = await cell.getVisibleText(); + log.debug(`row document timestamp: ${text}`); + return text === 'Sep 22, 2015 @ 23:50:13.253'; + }); + const docCell = await dataGrid.getCellElement(1, 4); + await docCell.click(); + const expandCellContentButton = await docCell.findByClassName( + 'euiDataGridRowCell__expandButtonIcon' + ); + await expandCellContentButton.click(); + let expandDocId = ''; + + await retry.waitForWithTimeout('expandDocId to be valid', 5000, async () => { + const text = await monacoEditor.getCodeEditorValue(); + const flyoutJson = JSON.parse(text); + expandDocId = flyoutJson._id; + log.debug(`expanded document id: ${expandDocId}`); + return expandDocId === 'AU_x3_g4GFA8no6QjkYX'; + }); + + await dataGrid.clickRowToggle(); + await find.clickByCssSelectorWhenNotDisabled('#kbn_doc_viewer_tab_1'); + + await retry.waitForWithTimeout( + 'document id in flyout matching the expanded document id', + 5000, + async () => { + const text = await monacoEditor.getCodeEditorValue(); + const flyoutJson = JSON.parse(text); + log.debug(`flyout document id: ${flyoutJson._id}`); + return flyoutJson._id === expandDocId; + } + ); }); - // flaky https://github.com/elastic/kibana/issues/94889 - it.skip('should show popover with expanded cell content by click on expand button', async () => { + it('should show popover with expanded cell content by click on expand button on embeddable', async () => { log.debug('open popover with expanded cell content to get json from the editor'); - const documentCell = await dataGrid.getCellElement(1, 3); - await documentCell.click(); - const expandCellContentButton = await documentCell.findByClassName( + await PageObjects.timePicker.setDefaultAbsoluteRange(); + await PageObjects.discover.waitUntilSearchingHasFinished(); + await PageObjects.discover.saveSearch('expand-cell-search'); + + await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.gotoDashboardLandingPage(); + await PageObjects.dashboard.clickNewDashboard(); + await PageObjects.header.waitUntilLoadingHasFinished(); + await dashboardAddPanel.addSavedSearch('expand-cell-search'); + + await retry.waitForWithTimeout('timestamp matches expected doc', 5000, async () => { + const cell = await dataGrid.getCellElement(1, 3); + const text = await cell.getVisibleText(); + log.debug(`row document timestamp: ${text}`); + return text === 'Sep 22, 2015 @ 23:50:13.253'; + }); + const docCell = await dataGrid.getCellElement(1, 4); + await docCell.click(); + const expandCellContentButton = await docCell.findByClassName( 'euiDataGridRowCell__expandButtonIcon' ); await expandCellContentButton.click(); - const popoverJson = await monacoEditor.getCodeEditorValue(); - log.debug('open expanded document flyout to get json'); + let expandDocId = ''; + + await retry.waitForWithTimeout('expandDocId to be valid', 5000, async () => { + const text = await monacoEditor.getCodeEditorValue(); + return (expandDocId = JSON.parse(text)._id) === 'AU_x3_g4GFA8no6QjkYX'; + }); + log.debug(`expanded document id: ${expandDocId}`); + await dataGrid.clickRowToggle(); await find.clickByCssSelectorWhenNotDisabled('#kbn_doc_viewer_tab_1'); - const flyoutJson = await monacoEditor.getCodeEditorValue(); - expect(popoverJson).to.be(flyoutJson); + await retry.waitForWithTimeout( + 'document id in flyout matching the expanded document id', + 5000, + async () => { + const text = await monacoEditor.getCodeEditorValue(); + const flyoutJson = JSON.parse(text); + log.debug(`flyout document id: ${flyoutJson._id}`); + return flyoutJson._id === expandDocId; + } + ); }); describe('expand a document row', function () { diff --git a/test/functional/apps/discover/_date_nanos.ts b/test/functional/apps/discover/_date_nanos.ts index 81327d0744bfe..dcabb3dac0585 100644 --- a/test/functional/apps/discover/_date_nanos.ts +++ b/test/functional/apps/discover/_date_nanos.ts @@ -21,6 +21,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('date_nanos', function () { before(async function () { await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/date_nanos'); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); + await kibanaServer.importExport.load('test/functional/fixtures/kbn_archiver/date_nanos'); await kibanaServer.uiSettings.replace({ defaultIndex: 'date-nanos' }); await security.testUser.setRoles(['kibana_admin', 'kibana_date_nanos']); await PageObjects.common.navigateToApp('discover'); @@ -30,6 +32,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { after(async function unloadMakelogs() { await security.testUser.restoreDefaults(); await esArchiver.unload('test/functional/fixtures/es_archiver/date_nanos'); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); }); it('should show a timestamp with nanoseconds in the first result row', async function () { diff --git a/test/functional/apps/discover/_date_nanos_mixed.ts b/test/functional/apps/discover/_date_nanos_mixed.ts index 7d4104c3ac344..219f32fb259b5 100644 --- a/test/functional/apps/discover/_date_nanos_mixed.ts +++ b/test/functional/apps/discover/_date_nanos_mixed.ts @@ -21,6 +21,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('date_nanos_mixed', function () { before(async function () { await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/date_nanos_mixed'); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); + await kibanaServer.importExport.load( + 'test/functional/fixtures/kbn_archiver/date_nanos_mixed' + ); await kibanaServer.uiSettings.replace({ defaultIndex: 'timestamp-*' }); await security.testUser.setRoles(['kibana_admin', 'kibana_date_nanos_mixed']); await PageObjects.common.navigateToApp('discover'); @@ -29,7 +33,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { after(async () => { await security.testUser.restoreDefaults(); - esArchiver.unload('test/functional/fixtures/es_archiver/date_nanos_mixed'); + await esArchiver.unload('test/functional/fixtures/es_archiver/date_nanos_mixed'); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); }); it('shows a list of records of indices with date & date_nanos fields in the right order', async function () { diff --git a/test/functional/apps/discover/_date_nested.ts b/test/functional/apps/discover/_date_nested.ts index c46524d9c2c88..5f24e82b24b55 100644 --- a/test/functional/apps/discover/_date_nested.ts +++ b/test/functional/apps/discover/_date_nested.ts @@ -13,6 +13,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const testSubjects = getService('testSubjects'); const PageObjects = getPageObjects(['common', 'timePicker', 'discover']); const security = getService('security'); + const kibanaServer = getService('kibanaServer'); // Skipping this test for 7.16 specifically. The change in this test was a side-effect // of some other change and the change in the test now keeps failing this for yet @@ -22,6 +23,9 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe.skip('timefield is a date in a nested field', function () { before(async function () { await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/date_nested'); + await kibanaServer.importExport.load( + 'test/functional/fixtures/kbn_archiver/date_nested.json' + ); await security.testUser.setRoles(['kibana_admin', 'kibana_date_nested']); await PageObjects.common.navigateToApp('discover'); }); @@ -29,6 +33,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { after(async function unloadMakelogs() { await security.testUser.restoreDefaults(); await esArchiver.unload('test/functional/fixtures/es_archiver/date_nested'); + await kibanaServer.importExport.unload('test/functional/fixtures/kbn_archiver/date_nested'); }); it('should show an error message', async function () { diff --git a/test/functional/apps/discover/_discover.ts b/test/functional/apps/discover/_discover.ts index 1753d8309c1af..857b1ebc6519f 100644 --- a/test/functional/apps/discover/_discover.ts +++ b/test/functional/apps/discover/_discover.ts @@ -120,8 +120,13 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { ); return actualCount === expectedCount; }); - const prevRowData = await PageObjects.discover.getDocTableField(1); - log.debug(`The first timestamp value in doc table before brushing: ${prevRowData}`); + let prevRowData = ''; + // to make sure the table is already rendered + await retry.try(async () => { + prevRowData = await PageObjects.discover.getDocTableField(1); + log.debug(`The first timestamp value in doc table before brushing: ${prevRowData}`); + }); + await PageObjects.discover.brushHistogram(); await PageObjects.discover.waitUntilSearchingHasFinished(); await retry.waitFor('chart rendering complete after being brushed', async () => { diff --git a/test/functional/apps/discover/_discover_histogram.ts b/test/functional/apps/discover/_discover_histogram.ts index 62d6ede323054..5932e995421af 100644 --- a/test/functional/apps/discover/_discover_histogram.ts +++ b/test/functional/apps/discover/_discover_histogram.ts @@ -102,20 +102,28 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const to = 'Mar 21, 2019 @ 00:00:00.000'; const savedSearch = 'persisted hidden histogram'; await prepareTest({ from, to }); + + // close chart for saved search await testSubjects.click('discoverChartOptionsToggle'); await testSubjects.click('discoverChartToggle'); let canvasExists = await elasticChart.canvasExists(); expect(canvasExists).to.be(false); + + // save search await PageObjects.discover.saveSearch(savedSearch); await PageObjects.header.waitUntilLoadingHasFinished(); + // open new search await PageObjects.discover.clickNewSearchButton(); await PageObjects.header.waitUntilLoadingHasFinished(); - await PageObjects.discover.loadSavedSearch('persisted hidden histogram'); + // load saved search + await PageObjects.discover.loadSavedSearch(savedSearch); await PageObjects.header.waitUntilLoadingHasFinished(); canvasExists = await elasticChart.canvasExists(); expect(canvasExists).to.be(false); + + // open chart for saved search await testSubjects.click('discoverChartOptionsToggle'); await testSubjects.click('discoverChartToggle'); await retry.waitFor(`Discover histogram to be displayed`, async () => { @@ -123,14 +131,52 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { return canvasExists; }); - await PageObjects.discover.saveSearch('persisted hidden histogram'); + // save search + await PageObjects.discover.saveSearch(savedSearch); await PageObjects.header.waitUntilLoadingHasFinished(); + // open new search await PageObjects.discover.clickNewSearchButton(); - await PageObjects.discover.loadSavedSearch('persisted hidden histogram'); + await PageObjects.header.waitUntilLoadingHasFinished(); + + // load saved search + await PageObjects.discover.loadSavedSearch(savedSearch); + await PageObjects.header.waitUntilLoadingHasFinished(); + canvasExists = await elasticChart.canvasExists(); + expect(canvasExists).to.be(true); + }); + it('should show permitted hidden histogram state when returning back to discover', async () => { + // close chart + await testSubjects.click('discoverChartOptionsToggle'); + await testSubjects.click('discoverChartToggle'); + let canvasExists = await elasticChart.canvasExists(); + expect(canvasExists).to.be(false); + + // save search + await PageObjects.discover.saveSearch('persisted hidden histogram'); + await PageObjects.header.waitUntilLoadingHasFinished(); + + // open chart + await testSubjects.click('discoverChartOptionsToggle'); + await testSubjects.click('discoverChartToggle'); + canvasExists = await elasticChart.canvasExists(); + expect(canvasExists).to.be(true); + + // go to dashboard + await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.header.waitUntilLoadingHasFinished(); + + // go to discover + await PageObjects.common.navigateToApp('discover'); await PageObjects.header.waitUntilLoadingHasFinished(); canvasExists = await elasticChart.canvasExists(); expect(canvasExists).to.be(true); + + // close chart + await testSubjects.click('discoverChartOptionsToggle'); + await testSubjects.click('discoverChartToggle'); + canvasExists = await elasticChart.canvasExists(); + expect(canvasExists).to.be(false); }); }); } diff --git a/test/functional/apps/discover/_doc_table.ts b/test/functional/apps/discover/_doc_table.ts index f6f60d4fd6393..794204b923b72 100644 --- a/test/functional/apps/discover/_doc_table.ts +++ b/test/functional/apps/discover/_doc_table.ts @@ -120,14 +120,19 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.discover.backToTop(); }); - it('should go the end of the table when using the accessible Skip button', async function () { + it('should go the end and back to top of the classic table when using the accessible buttons', async function () { // click the Skip to the end of the table await PageObjects.discover.skipToEndOfDocTable(); // now check the footer text content const footer = await PageObjects.discover.getDocTableFooter(); - log.debug(await footer.getVisibleText()); expect(await footer.getVisibleText()).to.have.string(rowsHardLimit); await PageObjects.discover.backToTop(); + // check that the skip to end of the table button now has focus + const skipButton = await testSubjects.find('discoverSkipTableButton'); + const activeElement = await find.activeElement(); + const activeElementText = await activeElement.getVisibleText(); + const skipButtonText = await skipButton.getVisibleText(); + expect(skipButtonText === activeElementText).to.be(true); }); describe('expand a document row', function () { diff --git a/test/functional/apps/discover/_doc_table_newline.ts b/test/functional/apps/discover/_doc_table_newline.ts index cdb1496413484..94bf23a70bc60 100644 --- a/test/functional/apps/discover/_doc_table_newline.ts +++ b/test/functional/apps/discover/_doc_table_newline.ts @@ -29,7 +29,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); after(async () => { await security.testUser.restoreDefaults(); - esArchiver.unload('test/functional/fixtures/es_archiver/message_with_newline'); + await esArchiver.unload('test/functional/fixtures/es_archiver/message_with_newline'); await kibanaServer.uiSettings.unset('defaultIndex'); await kibanaServer.uiSettings.unset('doc_table:legacy'); }); diff --git a/test/functional/apps/discover/_errors.ts b/test/functional/apps/discover/_errors.ts index b252cbf5f0824..327f39ee0dec4 100644 --- a/test/functional/apps/discover/_errors.ts +++ b/test/functional/apps/discover/_errors.ts @@ -11,6 +11,7 @@ import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { const esArchiver = getService('esArchiver'); + const kibanaServer = getService('kibanaServer'); const toasts = getService('toasts'); const testSubjects = getService('testSubjects'); const PageObjects = getPageObjects(['common', 'header', 'discover', 'timePicker']); @@ -18,13 +19,16 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('errors', function describeIndexTests() { before(async function () { await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional'); - await esArchiver.load('test/functional/fixtures/es_archiver/invalid_scripted_field'); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); + await kibanaServer.importExport.load( + 'test/functional/fixtures/kbn_archiver/invalid_scripted_field' + ); await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings(); await PageObjects.common.navigateToApp('discover'); }); after(async function () { - await esArchiver.load('test/functional/fixtures/es_archiver/empty_kibana'); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); }); describe('invalid scripted field error', () => { diff --git a/test/functional/apps/discover/_indexpattern_with_unmapped_fields.ts b/test/functional/apps/discover/_indexpattern_with_unmapped_fields.ts index 2a1e60db541e8..c3982ba72824b 100644 --- a/test/functional/apps/discover/_indexpattern_with_unmapped_fields.ts +++ b/test/functional/apps/discover/_indexpattern_with_unmapped_fields.ts @@ -19,6 +19,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('index pattern with unmapped fields', () => { before(async () => { await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/unmapped_fields'); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); + await kibanaServer.importExport.load('test/functional/fixtures/kbn_archiver/unmapped_fields'); await security.testUser.setRoles(['kibana_admin', 'test-index-unmapped-fields']); const fromTime = 'Jan 20, 2021 @ 00:00:00.000'; const toTime = 'Jan 25, 2021 @ 00:00:00.000'; @@ -35,6 +37,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { after(async () => { await esArchiver.unload('test/functional/fixtures/es_archiver/unmapped_fields'); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); await kibanaServer.uiSettings.unset('defaultIndex'); await kibanaServer.uiSettings.unset('discover:searchFieldsFromSource'); await kibanaServer.uiSettings.unset('timepicker:timeDefaults'); diff --git a/test/functional/apps/discover/_indexpattern_without_timefield.ts b/test/functional/apps/discover/_indexpattern_without_timefield.ts index 42291691f3f5f..2d5892fa6e6ca 100644 --- a/test/functional/apps/discover/_indexpattern_without_timefield.ts +++ b/test/functional/apps/discover/_indexpattern_without_timefield.ts @@ -17,13 +17,16 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const testSubjects = getService('testSubjects'); const PageObjects = getPageObjects(['common', 'timePicker', 'discover']); - // FLAKY https://github.com/elastic/kibana/issues/107057 - describe.skip('indexpattern without timefield', () => { + describe('indexpattern without timefield', () => { before(async () => { await security.testUser.setRoles(['kibana_admin', 'kibana_timefield']); await esArchiver.loadIfNeeded( 'test/functional/fixtures/es_archiver/index_pattern_without_timefield' ); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); + await kibanaServer.importExport.load( + 'test/functional/fixtures/kbn_archiver/index_pattern_without_timefield' + ); await kibanaServer.uiSettings.replace({ defaultIndex: 'without-timefield', 'timepicker:timeDefaults': '{ "from": "2019-01-18T19:37:13.000Z", "to": "now"}', @@ -38,6 +41,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await esArchiver.unload( 'test/functional/fixtures/es_archiver/index_pattern_without_timefield' ); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); }); it('should not display a timepicker', async () => { @@ -66,28 +70,37 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('should switch between with and without timefield using the browser back button', async () => { await PageObjects.discover.selectIndexPattern('without-timefield'); await PageObjects.discover.waitForDocTableLoadingComplete(); - if (await PageObjects.timePicker.timePickerExists()) { - throw new Error('Expected timepicker not to exist'); - } + await retry.waitForWithTimeout( + 'The timepicker not to exist', + 5000, + async () => !(await PageObjects.timePicker.timePickerExists()) + ); await PageObjects.discover.selectIndexPattern('with-timefield'); await PageObjects.discover.waitForDocTableLoadingComplete(); - if (!(await PageObjects.timePicker.timePickerExists())) { - throw new Error('Expected timepicker to exist'); - } - // Navigating back - await browser.goBack(); - await PageObjects.discover.waitForDocTableLoadingComplete(); + await retry.waitForWithTimeout( + 'The timepicker to exist', + 5000, + async () => await PageObjects.timePicker.timePickerExists() + ); await retry.waitForWithTimeout( 'index pattern to have been switched back to "without-timefield"', 5000, - async () => - (await testSubjects.getVisibleText('indexPattern-switch-link')) === 'without-timefield' + async () => { + // Navigating back + await browser.goBack(); + await PageObjects.discover.waitForDocTableLoadingComplete(); + return ( + (await testSubjects.getVisibleText('indexPattern-switch-link')) === 'without-timefield' + ); + } ); - if (await PageObjects.timePicker.timePickerExists()) { - throw new Error('Expected timepicker not to exist'); - } + await retry.waitForWithTimeout( + 'The timepicker not to exist', + 5000, + async () => !(await PageObjects.timePicker.timePickerExists()) + ); }); }); } diff --git a/test/functional/apps/discover/_runtime_fields_editor.ts b/test/functional/apps/discover/_runtime_fields_editor.ts index 4757807cb7ac1..2e21b2e1f8ec6 100644 --- a/test/functional/apps/discover/_runtime_fields_editor.ts +++ b/test/functional/apps/discover/_runtime_fields_editor.ts @@ -31,8 +31,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await fieldEditor.save(); }; - // Failing: https://github.com/elastic/kibana/issues/111922 - describe.skip('discover integration with runtime fields editor', function describeIndexTests() { + describe('discover integration with runtime fields editor', function describeIndexTests() { before(async function () { await security.testUser.setRoles(['kibana_admin', 'test_logstash_reader']); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional'); @@ -63,7 +62,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('allows creation of a new field', async function () { await createRuntimeField('runtimefield'); await PageObjects.header.waitUntilLoadingHasFinished(); - await retry.waitFor('fieldNames to include runtimefield', async () => { + await retry.waitForWithTimeout('fieldNames to include runtimefield', 5000, async () => { const fieldNames = await PageObjects.discover.getAllFieldNames(); return fieldNames.includes('runtimefield'); }); @@ -76,7 +75,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await fieldEditor.confirmSave(); await PageObjects.header.waitUntilLoadingHasFinished(); - await retry.waitFor('fieldNames to include edits', async () => { + await retry.waitForWithTimeout('fieldNames to include edits', 5000, async () => { const fieldNames = await PageObjects.discover.getAllFieldNames(); return fieldNames.includes('runtimefield edited'); }); @@ -105,7 +104,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.discover.removeField('delete'); await fieldEditor.confirmDelete(); await PageObjects.header.waitUntilLoadingHasFinished(); - await retry.waitFor('fieldNames to include edits', async () => { + await retry.waitForWithTimeout('fieldNames to include edits', 5000, async () => { const fieldNames = await PageObjects.discover.getAllFieldNames(); return !fieldNames.includes('delete'); }); @@ -127,16 +126,22 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await rowActions[idxToClick].click(); }); - await retry.waitFor('doc viewer is displayed with runtime field', async () => { - const hasDocHit = await testSubjects.exists('doc-hit'); - if (!hasDocHit) { - // Maybe loading has not completed - throw new Error('test subject doc-hit is not yet displayed'); + await retry.waitForWithTimeout( + 'doc viewer is displayed with runtime field', + 5000, + async () => { + const hasDocHit = await testSubjects.exists('doc-hit'); + if (!hasDocHit) { + // Maybe loading has not completed + throw new Error('test subject doc-hit is not yet displayed'); + } + const runtimeFieldsRow = await testSubjects.exists( + 'tableDocViewRow-discover runtimefield' + ); + + return hasDocHit && runtimeFieldsRow; } - const runtimeFieldsRow = await testSubjects.exists('tableDocViewRow-discover runtimefield'); - - return hasDocHit && runtimeFieldsRow; - }); + ); }); }); } diff --git a/test/functional/apps/discover/_saved_queries.ts b/test/functional/apps/discover/_saved_queries.ts index b7d19807e563e..6ce9275fe5fab 100644 --- a/test/functional/apps/discover/_saved_queries.ts +++ b/test/functional/apps/discover/_saved_queries.ts @@ -42,6 +42,9 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); await kibanaServer.importExport.load('test/functional/fixtures/kbn_archiver/discover.json'); + await kibanaServer.importExport.load( + 'test/functional/fixtures/kbn_archiver/date_nested.json' + ); await esArchiver.load('test/functional/fixtures/es_archiver/date_nested'); await esArchiver.load('test/functional/fixtures/es_archiver/logstash_functional'); @@ -53,6 +56,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { after(async () => { await kibanaServer.importExport.unload('test/functional/fixtures/kbn_archiver/discover'); + await kibanaServer.importExport.unload('test/functional/fixtures/kbn_archiver/date_nested'); await esArchiver.unload('test/functional/fixtures/es_archiver/date_nested'); await esArchiver.unload('test/functional/fixtures/es_archiver/logstash_functional'); await PageObjects.common.unsetTime(); @@ -94,7 +98,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); }); - describe('saved query management component functionality', function () { + // FLAKY: https://github.com/elastic/kibana/issues/124986 + describe.skip('saved query management component functionality', function () { before(async () => await setUpQueriesWithFilters()); it('should show the saved query management component when there are no saved queries', async () => { diff --git a/test/functional/apps/discover/_search_on_page_load.ts b/test/functional/apps/discover/_search_on_page_load.ts index 2a66e03c3cbb8..ff20354e8a93a 100644 --- a/test/functional/apps/discover/_search_on_page_load.ts +++ b/test/functional/apps/discover/_search_on_page_load.ts @@ -43,6 +43,9 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { // and load a set of data await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional'); await esArchiver.load('test/functional/fixtures/es_archiver/date_nested'); + await kibanaServer.importExport.load( + 'test/functional/fixtures/kbn_archiver/date_nested.json' + ); await kibanaServer.uiSettings.replace(defaultSettings); await PageObjects.common.navigateToApp('discover'); @@ -50,11 +53,13 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { after(async () => { await kibanaServer.importExport.unload('test/functional/fixtures/kbn_archiver/discover'); - await esArchiver.load('test/functional/fixtures/es_archiver/date_nested'); + await kibanaServer.importExport.unload('test/functional/fixtures/kbn_archiver/date_nested'); + await esArchiver.unload('test/functional/fixtures/es_archiver/date_nested'); await esArchiver.unload('test/functional/fixtures/es_archiver/logstash_functional'); }); - describe(`when it's false`, () => { + // FLAKY: https://github.com/elastic/kibana/issues/118432 + describe.skip(`when it's false`, () => { beforeEach(async () => await initSearchOnPageLoad(false)); it('should not fetch data from ES initially', async function () { diff --git a/test/functional/apps/discover/index.ts b/test/functional/apps/discover/index.ts index 13658215e9e59..9769e01523397 100644 --- a/test/functional/apps/discover/index.ts +++ b/test/functional/apps/discover/index.ts @@ -15,12 +15,12 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) { describe('discover app', function () { this.tags('ciGroup6'); - before(function () { - return browser.setWindowSize(1300, 800); + before(async function () { + await browser.setWindowSize(1300, 800); }); - after(function unloadMakelogs() { - return esArchiver.unload('test/functional/fixtures/es_archiver/logstash_functional'); + after(async function unloadMakelogs() { + await esArchiver.unload('test/functional/fixtures/es_archiver/logstash_functional'); }); loadTestFile(require.resolve('./_saved_queries')); @@ -53,5 +53,6 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./_date_nested')); loadTestFile(require.resolve('./_search_on_page_load')); loadTestFile(require.resolve('./_chart_hidden')); + loadTestFile(require.resolve('./_context_encoded_url_param')); }); } diff --git a/test/functional/apps/management/_handle_version_conflict.js b/test/functional/apps/management/_handle_version_conflict.js index c2e4a540218eb..89426805bd503 100644 --- a/test/functional/apps/management/_handle_version_conflict.js +++ b/test/functional/apps/management/_handle_version_conflict.js @@ -47,7 +47,6 @@ export default function ({ getService, getPageObjects }) { await PageObjects.settings.setScriptedFieldScript(`doc['bytes'].value`); const response = await es.update({ index: '.kibana', - type: '_doc', id: 'index-pattern:logstash-*', body: { doc: { 'index-pattern': { fieldFormatMap: '{"geo.src":{"id":"number"}}' } }, @@ -79,7 +78,6 @@ export default function ({ getService, getPageObjects }) { await PageObjects.settings.setFieldFormat('url'); const response = await es.update({ index: '.kibana', - type: '_doc', id: 'index-pattern:logstash-*', body: { doc: { 'index-pattern': { fieldFormatMap: '{"geo.dest":{"id":"number"}}' } }, diff --git a/test/functional/apps/management/_import_objects.ts b/test/functional/apps/management/_import_objects.ts index cb1ebcd2fad6e..6ef0bfd5a09e8 100644 --- a/test/functional/apps/management/_import_objects.ts +++ b/test/functional/apps/management/_import_objects.ts @@ -211,8 +211,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); }); - // https://github.com/elastic/kibana/issues/114053 - describe.skip('.json file', () => { + describe('.json file', () => { beforeEach(async function () { await esArchiver.load('test/functional/fixtures/es_archiver/saved_objects_imports'); await kibanaServer.uiSettings.replace({}); diff --git a/test/functional/apps/management/_mgmt_import_saved_objects.js b/test/functional/apps/management/_mgmt_import_saved_objects.js index 86273512a9d8f..f8181190a00be 100644 --- a/test/functional/apps/management/_mgmt_import_saved_objects.js +++ b/test/functional/apps/management/_mgmt_import_saved_objects.js @@ -16,8 +16,7 @@ export default function ({ getService, getPageObjects }) { //in 6.4.0 bug the Saved Search conflict would be resolved and get imported but the visualization //that referenced the saved search was not imported.( https://github.com/elastic/kibana/issues/22238) - // https://github.com/elastic/kibana/issues/114053 - describe.skip('mgmt saved objects', function describeIndexTests() { + describe('mgmt saved objects', function describeIndexTests() { before(async () => { await kibanaServer.importExport.load('test/functional/fixtures/kbn_archiver/discover'); await PageObjects.settings.navigateTo(); diff --git a/test/functional/apps/management/_scripted_fields.js b/test/functional/apps/management/_scripted_fields.js index 4aa06f4cd9ad7..aee1fa4851885 100644 --- a/test/functional/apps/management/_scripted_fields.js +++ b/test/functional/apps/management/_scripted_fields.js @@ -383,7 +383,7 @@ export default function ({ getService, getPageObjects }) { 'date', { format: 'date', datePattern: 'YYYY-MM-DD HH:00' }, '1', - "doc['utc_time'].value.getMillis() + (1000) * 60 * 60" + "doc['utc_time'].value.toInstant().toEpochMilli() + (1000) * 60 * 60" ); await retry.try(async function () { expect(parseInt(await PageObjects.settings.getScriptedFieldsTabCount())).to.be( diff --git a/test/functional/apps/status_page/index.ts b/test/functional/apps/status_page/index.ts index 08693372cc6eb..21a3b382f7aed 100644 --- a/test/functional/apps/status_page/index.ts +++ b/test/functional/apps/status_page/index.ts @@ -33,6 +33,11 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { expect(metrics).to.have.length(6); }); + it('should display the server metrics meta', async () => { + const metricsMetas = await testSubjects.findAll('serverMetricMeta'); + expect(metricsMetas).to.have.length(3); + }); + it('should display the server status', async () => { const titleText = await testSubjects.getVisibleText('serverStatusTitle'); expect(titleText).to.contain('Kibana status is'); diff --git a/test/functional/apps/visualize/_timelion.ts b/test/functional/apps/visualize/_timelion.ts index cbc8b1f853fc1..f8991e17319bd 100644 --- a/test/functional/apps/visualize/_timelion.ts +++ b/test/functional/apps/visualize/_timelion.ts @@ -168,7 +168,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { expect(firstAreaChartData).to.eql(firstAreaExpectedChartData); expect(secondAreaChartData).to.eql(secondAreaExpectedChartData); expect(thirdAreaChartData).to.eql(thirdAreaExpectedChartData); - expect(firstAxesLabels).to.eql(['12.19GB', '12.2GB', '12.21GB']); + expect(firstAxesLabels).to.eql(['12.2GB', '12.21GB']); expect(secondAxesLabels).to.eql(['5.59KB', '5.6KB']); expect(thirdAxesLabels.toString()).to.be( 'BYTES_5721,BYTES_5722,BYTES_5723,BYTES_5724,BYTES_5725,BYTES_5726,BYTES_5727,BYTES_5728,BYTES_5729,BYTES_5730,BYTES_5731,BYTES_5732,BYTES_5733' diff --git a/test/functional/apps/visualize/_tsvb_chart.ts b/test/functional/apps/visualize/_tsvb_chart.ts index 7a3768d8b6da8..1759b07581e07 100644 --- a/test/functional/apps/visualize/_tsvb_chart.ts +++ b/test/functional/apps/visualize/_tsvb_chart.ts @@ -51,8 +51,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await visualBuilder.clickDataTab('metric'); }); - it('should not have inspector enabled', async () => { - await inspector.expectIsNotEnabled(); + it('should have inspector enabled', async () => { + await inspector.expectIsEnabled(); }); it('should show correct data', async () => { @@ -119,7 +119,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const error = await visualBuilder.getVisualizeError(); expect(error).to.eql( - 'The aggregation derivative is not supported in entire_time_range mode' + 'The aggregation "derivative" is not supported in entire_time_range mode' ); }); @@ -205,7 +205,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const error = await visualBuilder.getVisualizeError(); expect(error).to.eql( - 'The aggregation derivative is not supported in entire_time_range mode' + 'The aggregation "derivative" is not supported in entire_time_range mode' ); }); @@ -359,7 +359,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const error = await visualBuilder.getVisualizeError(); expect(error).to.eql( - 'The aggregation derivative is not supported in entire_time_range mode' + 'The aggregation "derivative" is not supported in entire_time_range mode' ); }); diff --git a/test/functional/config.js b/test/functional/config.js index 12a17e9af4036..9bad5babd05e0 100644 --- a/test/functional/config.js +++ b/test/functional/config.js @@ -34,7 +34,7 @@ export default async function ({ readConfigFile }) { esTestCluster: { ...commonConfig.get('esTestCluster'), - serverArgs: ['xpack.security.enabled=false'], + serverArgs: [`xpack.security.enabled=${process.env.ES_SECURITY_ENABLED ? 'true' : 'false'}`], }, kbnTestServer: { @@ -204,6 +204,21 @@ export default async function ({ readConfigFile }) { kibana: [], }, + context_encoded_param: { + elasticsearch: { + cluster: [], + indices: [ + { + names: ['context-encoded-param'], + privileges: ['read', 'view_index_metadata', 'manage', 'create_index', 'index'], + field_security: { grant: ['*'], except: [] }, + }, + ], + run_as: [], + }, + kibana: [], + }, + kibana_sample_read: { elasticsearch: { cluster: [], diff --git a/test/functional/fixtures/es_archiver/date_nanos/data.json b/test/functional/fixtures/es_archiver/date_nanos/data.json index 60feed23ee149..1638b6dd4190b 100644 --- a/test/functional/fixtures/es_archiver/date_nanos/data.json +++ b/test/functional/fixtures/es_archiver/date_nanos/data.json @@ -1,47 +1,3 @@ -{ - "type": "doc", - "value": { - "id": "index-pattern:date-nanos", - "index": ".kibana", - "source": { - "index-pattern": { - "fields": "[{\"name\":\"referer\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"agent\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:image:width\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"xss.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"headings.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:description\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"meta.user.lastname\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.article:tag.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"geo.dest\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.twitter:image\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.article:section.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"utc_time\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.twitter:card\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"meta.char\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"clientip\",\"type\":\"ip\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:image:height\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"host\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"machine.ram\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"links\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"id\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"@tags.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"phpmemory\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.twitter:card.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"ip\",\"type\":\"ip\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:image\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.article:modified_time\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.url\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:site_name.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"request.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.article:tag\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"agent.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"spaces\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:site.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"headings\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"_source\",\"type\":\"_source\",\"count\":0,\"scripted\":false,\"indexed\":false,\"analyzed\":false,\"doc_values\":false},{\"name\":\"relatedContent.og:image.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"request\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"index.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"extension\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"memory\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"_index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":false,\"analyzed\":false,\"doc_values\":false},{\"name\":\"relatedContent.twitter:site\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:description\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:url\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"geo.coordinates\",\"type\":\"geo_point\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.url.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"meta.related\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:title.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:title.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"response.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"@message.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"machine.os\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.article:section\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:url.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"xss\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"links.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:title\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"geo.srcdest\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"url.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"extension.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"machine.os.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"@tags\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"host.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:type.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"geo.src\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"spaces.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:image:height.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"url\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:description.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:site_name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:title\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"@message\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:image.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"@timestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"bytes\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"response\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"meta.user.firstname\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:image:width.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:description.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.article:published_time\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"_id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":false,\"analyzed\":false,\"doc_values\":false},{\"name\":\"_type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":false,\"analyzed\":false,\"doc_values\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":false,\"analyzed\":false,\"doc_values\":false}]", - "timeFieldName": "@timestamp", - "title": "date-nanos", - "fieldFormatMap": "{\"@timestamp\":{\"id\":\"date_nanos\"}}" - }, - "type": "index-pattern" - } - } -} - -{ - "type": "doc", - "value": { - "id": "search:ab12e3c0-f231-11e6-9486-733b1ac9221a", - "index": ".kibana", - "source": { - "search": { - "columns": [ - "_source" - ], - "description": "A Saved Search Description", - "hits": 0, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\n \"index\": \"date-nanos\",\n \"highlightAll\": true,\n \"filter\": [],\n \"query\": {\n \"query_string\": {\n \"query\": \"*\",\n \"analyze_wildcard\": true\n }\n }\n}" - }, - "sort": [ - "@timestamp", - "desc" - ], - "title": "A Saved Search", - "version": 1 - }, - "type": "search" - } - } -} - { "type": "doc", "value": { diff --git a/test/functional/fixtures/es_archiver/date_nanos_custom/data.json b/test/functional/fixtures/es_archiver/date_nanos_custom/data.json index 73cba70a8b93d..10b0db8beda72 100644 --- a/test/functional/fixtures/es_archiver/date_nanos_custom/data.json +++ b/test/functional/fixtures/es_archiver/date_nanos_custom/data.json @@ -1,22 +1,3 @@ -{ - "type": "doc", - "value": { - "id": "index-pattern:date_nanos_custom_timestamp", - "index": ".kibana", - "source": { - "index-pattern": { - "fields": "[{\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"esTypes\":[\"_source\"],\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"esTypes\":[\"_type\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"test\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"test.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"test\"}}},{\"name\":\"timestamp\",\"type\":\"date\",\"esTypes\":[\"date_nanos\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true}]", - "timeFieldName": "timestamp", - "title": "date_nanos_custom_timestamp" - }, - "references": [ - ], - "type": "index-pattern", - "updated_at": "2020-01-09T21:43:20.283Z" - } - } -} - { "type": "doc", "value": { diff --git a/test/functional/fixtures/es_archiver/date_nanos_mixed/data.json b/test/functional/fixtures/es_archiver/date_nanos_mixed/data.json index abde15e2b08c4..d49a6fa2f2412 100644 --- a/test/functional/fixtures/es_archiver/date_nanos_mixed/data.json +++ b/test/functional/fixtures/es_archiver/date_nanos_mixed/data.json @@ -1,51 +1,3 @@ -{ - "type": "doc", - "value": { - "id": "index-pattern:timestamp-*", - "index": ".kibana", - "source": { - "index-pattern": { - "fields": "[{\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"esTypes\":[\"_source\"],\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"esTypes\":[\"_type\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"timestamp\",\"type\":\"date\",\"esTypes\":[\"date\",\"date_nanos\"],\"count\":2,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true}]", - "timeFieldName": "timestamp", - "title": "timestamp-*", - "fieldFormatMap": "{\"timestamp\":{\"id\":\"date_nanos\"}}" - }, - "type": "index-pattern" - }, - "type": "_doc" - } -} - -{ - "type": "doc", - "value": { - "id": "search:82116b30-d407-11e9-8004-932185690e7b", - "index": ".kibana", - "source": { - "search": { - "columns": [ - "_source" - ], - "description": "", - "hits": 0, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"highlightAll\":true,\"version\":true,\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"key\":\"number\",\"negate\":false,\"params\":{\"query\":123},\"type\":\"phrase\",\"value\":\"123\",\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.filter[0].meta.index\"},\"query\":{\"match\":{\"number\":{\"query\":123,\"type\":\"phrase\"}}}}],\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}" - }, - "sort": [ - [ - "@timestamp", - "desc" - ] - ], - "title": "New Saved Search", - "version": 1 - }, - "type": "search" - }, - "type": "_doc" - } -} - { "type": "doc", "value": { diff --git a/test/functional/fixtures/es_archiver/date_nested/data.json b/test/functional/fixtures/es_archiver/date_nested/data.json index bb623f93627c7..e2ffb210d1208 100644 --- a/test/functional/fixtures/es_archiver/date_nested/data.json +++ b/test/functional/fixtures/es_archiver/date_nested/data.json @@ -1,30 +1,13 @@ -{ - "type": "doc", - "value": { - "id": "index-pattern:date-nested", - "index": ".kibana", - "source": { - "index-pattern": { - "fields":"[]", - "timeFieldName": "nested.timestamp", - "title": "date-nested" - }, - "type": "index-pattern" - } - } -} - - { "type": "doc", "value": { "id": "date-nested-1", "index": "date-nested", "source": { - "message" : "test", + "message": "test", "nested": { "timestamp": "2021-06-30T12:00:00.123Z" } } } -} +} \ No newline at end of file diff --git a/test/functional/fixtures/es_archiver/date_nested/mappings.json b/test/functional/fixtures/es_archiver/date_nested/mappings.json index f30e5863f4f8b..b3f995cae173d 100644 --- a/test/functional/fixtures/es_archiver/date_nested/mappings.json +++ b/test/functional/fixtures/es_archiver/date_nested/mappings.json @@ -1,6 +1,8 @@ { "type": "index", "value": { + "aliases": { + }, "index": "date-nested", "mappings": { "properties": { @@ -8,6 +10,11 @@ "type": "text" }, "nested": { + "properties": { + "timestamp": { + "type": "date" + } + }, "type": "nested" } } @@ -19,4 +26,4 @@ } } } -} +} \ No newline at end of file diff --git a/test/functional/fixtures/es_archiver/index_pattern_without_timefield/data.json b/test/functional/fixtures/es_archiver/index_pattern_without_timefield/data.json index 0888079ec7c52..9998cb3a71732 100644 --- a/test/functional/fixtures/es_archiver/index_pattern_without_timefield/data.json +++ b/test/functional/fixtures/es_archiver/index_pattern_without_timefield/data.json @@ -1,18 +1,3 @@ -{ - "type": "doc", - "value": { - "id": "index-pattern:without-timefield", - "index": ".kibana", - "source": { - "index-pattern": { - "fields": "[]", - "title": "without-timefield" - }, - "type": "index-pattern" - } - } -} - { "type": "doc", "value": { diff --git a/test/functional/fixtures/es_archiver/invalid_scripted_field/data.json.gz b/test/functional/fixtures/es_archiver/invalid_scripted_field/data.json.gz deleted file mode 100644 index 380dd6049179a..0000000000000 Binary files a/test/functional/fixtures/es_archiver/invalid_scripted_field/data.json.gz and /dev/null differ diff --git a/test/functional/fixtures/es_archiver/invalid_scripted_field/mappings.json b/test/functional/fixtures/es_archiver/invalid_scripted_field/mappings.json deleted file mode 100644 index 0d41e0ce86c14..0000000000000 --- a/test/functional/fixtures/es_archiver/invalid_scripted_field/mappings.json +++ /dev/null @@ -1,212 +0,0 @@ -{ - "type": "index", - "value": { - "aliases": { - ".kibana": {} - }, - "index": ".kibana_1", - "mappings": { - "dynamic": "strict", - "properties": { - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" - }, - "defaultIndex": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "dashboard": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } - } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - } - } - }, - "search": { - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" - }, - "url": { - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" - }, - "url": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" - } - } - } - } - }, - "settings": { - "index": { - "number_of_replicas": "0", - "number_of_shards": "1" - } - } - } -} \ No newline at end of file diff --git a/test/functional/fixtures/es_archiver/kibana_sample_data_flights_index_pattern/mappings.json b/test/functional/fixtures/es_archiver/kibana_sample_data_flights_index_pattern/mappings.json index f980596200b25..f852c18ebcc1c 100644 --- a/test/functional/fixtures/es_archiver/kibana_sample_data_flights_index_pattern/mappings.json +++ b/test/functional/fixtures/es_archiver/kibana_sample_data_flights_index_pattern/mappings.json @@ -1,325 +1,3 @@ -{ - "type": "index", - "value": { - "aliases": { - ".kibana": { - } - }, - "index": ".kibana_1", - "mappings": { - "_meta": { - "migrationMappingPropertyHashes": { - "config": "87aca8fdb053154f11383fce3dbf3edf", - "dashboard": "d00f614b29a80360e1190193fd333bab", - "index-pattern": "66eccb05066c5a89924f48a9e9736499", - "kql-telemetry": "d12a98a6f19a2d273696597547e064ee", - "migrationVersion": "4a1746014a75ade3a714e1db5763276f", - "namespace": "2f4316de49999235636386fe51dc06c1", - "references": "7997cf5a56cc02bdc9c93361bde732b0", - "sample-data-telemetry": "7d3cfeb915303c9641c59681967ffeb4", - "search": "181661168bbadd1eff5902361e2a0d5c", - "server": "ec97f1c5da1a19609a60874e5af1100c", - "type": "2f4316de49999235636386fe51dc06c1", - "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", - "updated_at": "00da57df13e94e9d98437d13ace4bfe0", - "url": "c7f66a0df8b1b52f17c28c4adb111105", - "visualization": "52d7a13ad68a150c4525b292d23e12cc" - } - }, - "dynamic": "strict", - "properties": { - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" - }, - "defaultIndex": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "dashboard": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } - } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "type": { - "type": "keyword" - }, - "typeMeta": { - "type": "keyword" - } - } - }, - "kql-telemetry": { - "properties": { - "optInCount": { - "type": "long" - }, - "optOutCount": { - "type": "long" - } - } - }, - "migrationVersion": { - "dynamic": "true", - "properties": { - "dashboard": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "index-pattern": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "search": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "visualization": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "namespace": { - "type": "keyword" - }, - "references": { - "properties": { - "id": { - "type": "keyword" - }, - "name": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } - }, - "type": "nested" - }, - "sample-data-telemetry": { - "properties": { - "installCount": { - "type": "long" - }, - "unInstallCount": { - "type": "long" - } - } - }, - "search": { - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - }, - "ui-metric": { - "properties": { - "count": { - "type": "integer" - } - } - }, - "updated_at": { - "type": "date" - }, - "url": { - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" - }, - "url": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "savedSearchRefName": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" - } - } - } - } - }, - "settings": { - "index": { - "auto_expand_replicas": "0-1", - "number_of_replicas": "0", - "number_of_shards": "1" - } - } - } -} - { "type": "index", "value": { diff --git a/test/functional/fixtures/es_archiver/mgmt/data.json.gz b/test/functional/fixtures/es_archiver/mgmt/data.json.gz deleted file mode 100644 index c230ff8ff7e39..0000000000000 Binary files a/test/functional/fixtures/es_archiver/mgmt/data.json.gz and /dev/null differ diff --git a/test/functional/fixtures/es_archiver/mgmt/mappings.json b/test/functional/fixtures/es_archiver/mgmt/mappings.json deleted file mode 100644 index f4962f9c47668..0000000000000 --- a/test/functional/fixtures/es_archiver/mgmt/mappings.json +++ /dev/null @@ -1,242 +0,0 @@ -{ - "type": "index", - "value": { - "aliases": { - ".kibana": {} - }, - "index": ".kibana_1", - "mappings": { - "dynamic": "strict", - "properties": { - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" - }, - "defaultIndex": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "dashboard": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } - } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "graph-workspace": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "numLinks": { - "type": "integer" - }, - "numVertices": { - "type": "integer" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "wsState": { - "type": "text" - } - } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - } - } - }, - "search": { - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" - }, - "url": { - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" - }, - "url": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" - } - } - } - } - }, - "settings": { - "index": { - "auto_expand_replicas": "0-1", - "number_of_replicas": "0", - "number_of_shards": "1" - } - } - } -} \ No newline at end of file diff --git a/test/functional/fixtures/es_archiver/saved_objects_management/edit_saved_object/mappings.json b/test/functional/fixtures/es_archiver/saved_objects_management/edit_saved_object/mappings.json index 935edfc332c01..748fb1cb3477a 100644 --- a/test/functional/fixtures/es_archiver/saved_objects_management/edit_saved_object/mappings.json +++ b/test/functional/fixtures/es_archiver/saved_objects_management/edit_saved_object/mappings.json @@ -165,8 +165,7 @@ "map": { "properties": { "bounds": { - "type": "geo_shape", - "tree": "quadtree" + "type": "geo_shape" }, "description": { "type": "text" @@ -418,4 +417,4 @@ } } } -} \ No newline at end of file +} diff --git a/test/functional/fixtures/es_archiver/saved_objects_management/hidden_types/mappings.json b/test/functional/fixtures/es_archiver/saved_objects_management/hidden_types/mappings.json index 4c0b802ef55b2..520f73f8409bd 100644 --- a/test/functional/fixtures/es_archiver/saved_objects_management/hidden_types/mappings.json +++ b/test/functional/fixtures/es_archiver/saved_objects_management/hidden_types/mappings.json @@ -196,8 +196,7 @@ "map": { "properties": { "bounds": { - "type": "geo_shape", - "tree": "quadtree" + "type": "geo_shape" }, "description": { "type": "text" diff --git a/test/functional/fixtures/es_archiver/saved_objects_management/show_relationships/data.json b/test/functional/fixtures/es_archiver/saved_objects_management/show_relationships/data.json index 4d5b969a3c931..b9e6c6de34931 100644 --- a/test/functional/fixtures/es_archiver/saved_objects_management/show_relationships/data.json +++ b/test/functional/fixtures/es_archiver/saved_objects_management/show_relationships/data.json @@ -2,7 +2,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "dashboard:dash-with-missing-refs", "source": { "dashboard": { diff --git a/test/functional/fixtures/es_archiver/saved_objects_management/show_relationships/mappings.json b/test/functional/fixtures/es_archiver/saved_objects_management/show_relationships/mappings.json index 3be40641e9479..c2589d3ece559 100644 --- a/test/functional/fixtures/es_archiver/saved_objects_management/show_relationships/mappings.json +++ b/test/functional/fixtures/es_archiver/saved_objects_management/show_relationships/mappings.json @@ -13,421 +13,418 @@ } }, "mappings": { - "doc": { - "dynamic": "strict", - "properties": { - "references": { - "properties": { - "id": { - "type": "keyword" - }, - "name": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } + "dynamic": "strict", + "properties": { + "references": { + "properties": { + "id": { + "type": "keyword" + }, + "name": { + "type": "keyword" }, - "type": "nested" + "type": { + "type": "keyword" + } }, - "apm-telemetry": { - "properties": { - "has_any_services": { - "type": "boolean" - }, - "services_per_agent": { - "properties": { - "go": { - "type": "long", - "null_value": 0 - }, - "java": { - "type": "long", - "null_value": 0 - }, - "js-base": { - "type": "long", - "null_value": 0 - }, - "nodejs": { - "type": "long", - "null_value": 0 - }, - "python": { - "type": "long", - "null_value": 0 - }, - "ruby": { - "type": "long", - "null_value": 0 - } + "type": "nested" + }, + "apm-telemetry": { + "properties": { + "has_any_services": { + "type": "boolean" + }, + "services_per_agent": { + "properties": { + "go": { + "type": "long", + "null_value": 0 + }, + "java": { + "type": "long", + "null_value": 0 + }, + "js-base": { + "type": "long", + "null_value": 0 + }, + "nodejs": { + "type": "long", + "null_value": 0 + }, + "python": { + "type": "long", + "null_value": 0 + }, + "ruby": { + "type": "long", + "null_value": 0 } } } - }, - "canvas-workpad": { - "dynamic": "false", - "properties": { - "@created": { - "type": "date" - }, - "@timestamp": { - "type": "date" - }, - "id": { - "type": "text", - "index": false - }, - "name": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword" - } + } + }, + "canvas-workpad": { + "dynamic": "false", + "properties": { + "@created": { + "type": "date" + }, + "@timestamp": { + "type": "date" + }, + "id": { + "type": "text", + "index": false + }, + "name": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword" } } } - }, - "config": { - "dynamic": "true", - "properties": { - "accessibility:disableAnimations": { - "type": "boolean" - }, - "buildNum": { - "type": "keyword" - }, - "dateFormat:tz": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "config": { + "dynamic": "true", + "properties": { + "accessibility:disableAnimations": { + "type": "boolean" + }, + "buildNum": { + "type": "keyword" + }, + "dateFormat:tz": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } - }, - "defaultIndex": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "defaultIndex": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } - }, - "telemetry:optIn": { - "type": "boolean" } + }, + "telemetry:optIn": { + "type": "boolean" } - }, - "dashboard": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "dashboard": { + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } + } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" + }, + "pause": { + "type": "boolean" + }, + "section": { + "type": "integer" + }, + "value": { + "type": "integer" } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "map": { - "properties": { - "bounds": { - "type": "geo_shape", - "tree": "quadtree" - }, - "description": { - "type": "text" - }, - "layerListJSON": { - "type": "text" - }, - "mapStateJSON": { - "type": "text" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - } + } + }, + "map": { + "properties": { + "bounds": { + "type": "geo_shape" + }, + "description": { + "type": "text" + }, + "layerListJSON": { + "type": "text" + }, + "mapStateJSON": { + "type": "text" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "graph-workspace": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "graph-workspace": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "numLinks": { - "type": "integer" - }, - "numVertices": { - "type": "integer" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "wsState": { - "type": "text" } + }, + "numLinks": { + "type": "integer" + }, + "numVertices": { + "type": "integer" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "wsState": { + "type": "text" } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "type": { - "type": "keyword" - }, - "typeMeta": { - "type": "keyword" - } + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "type": { + "type": "keyword" + }, + "typeMeta": { + "type": "keyword" } - }, - "kql-telemetry": { - "properties": { - "optInCount": { - "type": "long" - }, - "optOutCount": { - "type": "long" - } + } + }, + "kql-telemetry": { + "properties": { + "optInCount": { + "type": "long" + }, + "optOutCount": { + "type": "long" } - }, - "migrationVersion": { - "dynamic": "true", - "properties": { - "index-pattern": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "migrationVersion": { + "dynamic": "true", + "properties": { + "index-pattern": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } - }, - "space": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "space": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } } } - }, - "namespace": { - "type": "keyword" - }, - "search": { - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "namespace": { + "type": "keyword" + }, + "search": { + "properties": { + "columns": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "sort": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } + } + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" } - }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "initials": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 2048 - } + } + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "initials": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 2048 } } } - }, - "spaceId": { - "type": "keyword" - }, - "telemetry": { - "properties": { - "enabled": { - "type": "boolean" - } + } + }, + "spaceId": { + "type": "keyword" + }, + "telemetry": { + "properties": { + "enabled": { + "type": "boolean" } - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" - }, - "url": { - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" - }, - "url": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 2048 - } + } + }, + "type": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + }, + "url": { + "properties": { + "accessCount": { + "type": "long" + }, + "accessDate": { + "type": "date" + }, + "createDate": { + "type": "date" + }, + "url": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 2048 } } } - }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" } + }, + "savedSearchId": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" } } } diff --git a/test/functional/fixtures/es_archiver/unmapped_fields/data.json b/test/functional/fixtures/es_archiver/unmapped_fields/data.json index 10c33280696b1..d23a5b83eb2c6 100644 --- a/test/functional/fixtures/es_archiver/unmapped_fields/data.json +++ b/test/functional/fixtures/es_archiver/unmapped_fields/data.json @@ -1,48 +1,3 @@ -{ - "type": "doc", - "value": { - "id": "search:cd43f5c2-h761-13f6-9486-733b1ac9221a", - "index": ".kibana", - "source": { - "search": { - "columns": [ - "_source" - ], - "description": "Existing Saved Search", - "hits": 4, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\n \"index\": \"test-index-unmapped-fields\",\n \"highlightAll\": true,\n \"filter\": [],\n \"query\": {\n \"query_string\": {\n \"query\": \"*\",\n \"analyze_wildcard\": true\n }\n }\n}" - }, - "sort": [ - "@timestamp", - "desc" - ], - "title": "Existing Saved Search", - "version": 1 - }, - "type": "search" - } - } -} - -{ - "type": "doc", - "value": { - "id": "index-pattern:test-index-unmapped-fields", - "index": ".kibana", - "source": { - "index-pattern": { - "fields": "[{\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"esTypes\":[\"_source\"],\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"esTypes\":[\"_type\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"timestamp\",\"type\":\"date\",\"esTypes\":[\"date\"],\"count\":4,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true}]", - "timeFieldName": "timestamp", - "title": "test-index-unmapped-fields", - "fieldFormatMap": "{\"timestamp\":{\"id\":\"date\"}}" - }, - "type": "index-pattern" - }, - "type": "_doc" - } -} - { "type": "doc", "value": { diff --git a/test/functional/fixtures/es_archiver/visualize_embedding/data.json.gz b/test/functional/fixtures/es_archiver/visualize_embedding/data.json.gz deleted file mode 100644 index 95b32f0ee11e5..0000000000000 Binary files a/test/functional/fixtures/es_archiver/visualize_embedding/data.json.gz and /dev/null differ diff --git a/test/functional/fixtures/es_archiver/visualize_embedding/mappings.json b/test/functional/fixtures/es_archiver/visualize_embedding/mappings.json deleted file mode 100644 index 451369d85acd8..0000000000000 --- a/test/functional/fixtures/es_archiver/visualize_embedding/mappings.json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "type": "index", - "value": { - "aliases": { - ".kibana": {} - }, - "index": ".kibana_1", - "mappings": { - "properties": { - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" - } - } - }, - "dashboard": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } - } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "index-pattern": { - "dynamic": "strict", - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - } - } - }, - "search": { - "dynamic": "strict", - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "server": { - "dynamic": "strict", - "properties": { - "uuid": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - }, - "url": { - "dynamic": "strict", - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" - }, - "url": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "visualization": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" - } - } - } - } - }, - "settings": { - "index": { - "number_of_replicas": "1", - "number_of_shards": "1" - } - } - } -} \ No newline at end of file diff --git a/test/functional/fixtures/es_archiver/visualize_source-filters/data.json.gz b/test/functional/fixtures/es_archiver/visualize_source-filters/data.json.gz deleted file mode 100644 index c8d1c98790e59..0000000000000 Binary files a/test/functional/fixtures/es_archiver/visualize_source-filters/data.json.gz and /dev/null differ diff --git a/test/functional/fixtures/es_archiver/visualize_source-filters/mappings.json b/test/functional/fixtures/es_archiver/visualize_source-filters/mappings.json deleted file mode 100644 index 451369d85acd8..0000000000000 --- a/test/functional/fixtures/es_archiver/visualize_source-filters/mappings.json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "type": "index", - "value": { - "aliases": { - ".kibana": {} - }, - "index": ".kibana_1", - "mappings": { - "properties": { - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" - } - } - }, - "dashboard": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } - } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "index-pattern": { - "dynamic": "strict", - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - } - } - }, - "search": { - "dynamic": "strict", - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "server": { - "dynamic": "strict", - "properties": { - "uuid": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - }, - "url": { - "dynamic": "strict", - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" - }, - "url": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "visualization": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" - } - } - } - } - }, - "settings": { - "index": { - "number_of_replicas": "1", - "number_of_shards": "1" - } - } - } -} \ No newline at end of file diff --git a/test/functional/fixtures/es_archiver/visualize_source_filters/data.json.gz b/test/functional/fixtures/es_archiver/visualize_source_filters/data.json.gz deleted file mode 100644 index 238ffe3b76241..0000000000000 Binary files a/test/functional/fixtures/es_archiver/visualize_source_filters/data.json.gz and /dev/null differ diff --git a/test/functional/fixtures/es_archiver/visualize_source_filters/mappings.json b/test/functional/fixtures/es_archiver/visualize_source_filters/mappings.json deleted file mode 100644 index ec6a9ce7f13a1..0000000000000 --- a/test/functional/fixtures/es_archiver/visualize_source_filters/mappings.json +++ /dev/null @@ -1,223 +0,0 @@ -{ - "type": "index", - "value": { - "aliases": { - ".kibana": {} - }, - "index": ".kibana_1", - "mappings": { - "properties": { - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" - }, - "dateFormat:tz": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "defaultIndex": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "dashboard": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } - } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "index-pattern": { - "dynamic": "strict", - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - } - } - }, - "search": { - "dynamic": "strict", - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "server": { - "dynamic": "strict", - "properties": { - "uuid": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - }, - "url": { - "dynamic": "strict", - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" - }, - "url": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "visualization": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" - } - } - } - } - }, - "settings": { - "index": { - "number_of_replicas": "1", - "number_of_shards": "1" - } - } - } -} \ No newline at end of file diff --git a/test/functional/fixtures/kbn_archiver/date_nanos.json b/test/functional/fixtures/kbn_archiver/date_nanos.json new file mode 100644 index 0000000000000..249f364887620 --- /dev/null +++ b/test/functional/fixtures/kbn_archiver/date_nanos.json @@ -0,0 +1,51 @@ +{ + "attributes": { + "fieldFormatMap": "{\"@timestamp\":{\"id\":\"date_nanos\"}}", + "fields": "[{\"name\":\"referer\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"agent\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:image:width\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"xss.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"headings.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:description\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"meta.user.lastname\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.article:tag.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"geo.dest\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.twitter:image\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.article:section.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"utc_time\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.twitter:card\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"meta.char\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"clientip\",\"type\":\"ip\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:image:height\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"host\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"machine.ram\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"links\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"id\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"@tags.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"phpmemory\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.twitter:card.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"ip\",\"type\":\"ip\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:image\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.article:modified_time\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.url\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:site_name.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"request.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.article:tag\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"agent.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"spaces\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:site.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"headings\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"_source\",\"type\":\"_source\",\"count\":0,\"scripted\":false,\"indexed\":false,\"analyzed\":false,\"doc_values\":false},{\"name\":\"relatedContent.og:image.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"request\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"index.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"extension\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"memory\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"_index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":false,\"analyzed\":false,\"doc_values\":false},{\"name\":\"relatedContent.twitter:site\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:description\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:url\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"geo.coordinates\",\"type\":\"geo_point\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.url.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"meta.related\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:title.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:title.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"response.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"@message.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"machine.os\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.article:section\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:url.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"xss\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"links.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:title\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"geo.srcdest\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"url.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"extension.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"machine.os.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"@tags\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"host.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:type.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"geo.src\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"spaces.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:image:height.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"url\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:description.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:site_name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:title\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"@message\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:image.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"@timestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"bytes\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"response\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"meta.user.firstname\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:image:width.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:description.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.article:published_time\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"_id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":false,\"analyzed\":false,\"doc_values\":false},{\"name\":\"_type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":false,\"analyzed\":false,\"doc_values\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":false,\"analyzed\":false,\"doc_values\":false}]", + "timeFieldName": "@timestamp", + "title": "date-nanos" + }, + "coreMigrationVersion": "7.17.1", + "id": "date-nanos", + "migrationVersion": { + "index-pattern": "7.11.0" + }, + "references": [], + "type": "index-pattern", + "version": "WzM2LDJd" +} + +{ + "attributes": { + "columns": [ + "_source" + ], + "description": "A Saved Search Description", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"highlightAll\":true,\"filter\":[],\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}},\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}" + }, + "sort": [ + [ + "@timestamp", + "desc" + ] + ], + "title": "A Saved Search", + "version": 1 + }, + "coreMigrationVersion": "7.17.1", + "id": "ab12e3c0-f231-11e6-9486-733b1ac9221a", + "migrationVersion": { + "search": "7.9.3" + }, + "references": [ + { + "id": "date-nanos", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], + "type": "search", + "version": "WzM3LDJd" +} \ No newline at end of file diff --git a/test/functional/fixtures/kbn_archiver/date_nanos_custom.json b/test/functional/fixtures/kbn_archiver/date_nanos_custom.json new file mode 100644 index 0000000000000..b789407a0ba88 --- /dev/null +++ b/test/functional/fixtures/kbn_archiver/date_nanos_custom.json @@ -0,0 +1,68 @@ +{ + "attributes": { + "fieldFormatMap": "{\"@timestamp\":{\"id\":\"date_nanos\"}}", + "fields": "[{\"name\":\"referer\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"agent\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:image:width\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"xss.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"headings.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:description\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"meta.user.lastname\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.article:tag.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"geo.dest\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.twitter:image\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.article:section.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"utc_time\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.twitter:card\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"meta.char\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"clientip\",\"type\":\"ip\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:image:height\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"host\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"machine.ram\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"links\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"id\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"@tags.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"phpmemory\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.twitter:card.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"ip\",\"type\":\"ip\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:image\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.article:modified_time\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.url\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:site_name.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"request.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.article:tag\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"agent.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"spaces\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:site.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"headings\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"_source\",\"type\":\"_source\",\"count\":0,\"scripted\":false,\"indexed\":false,\"analyzed\":false,\"doc_values\":false},{\"name\":\"relatedContent.og:image.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"request\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"index.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"extension\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"memory\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"_index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":false,\"analyzed\":false,\"doc_values\":false},{\"name\":\"relatedContent.twitter:site\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:description\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:url\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"geo.coordinates\",\"type\":\"geo_point\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.url.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"meta.related\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:title.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:title.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"response.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"@message.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"machine.os\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.article:section\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:url.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"xss\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"links.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:title\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"geo.srcdest\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"url.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"extension.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"machine.os.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"@tags\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"host.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:type.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"geo.src\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"spaces.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:image:height.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"url\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:description.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:site_name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:title\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"@message\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.twitter:image.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"@timestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"bytes\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"response\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"meta.user.firstname\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":true,\"doc_values\":false},{\"name\":\"relatedContent.og:image:width.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.og:description.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"relatedContent.article:published_time\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"indexed\":true,\"analyzed\":false,\"doc_values\":true},{\"name\":\"_id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":false,\"analyzed\":false,\"doc_values\":false},{\"name\":\"_type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"indexed\":false,\"analyzed\":false,\"doc_values\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"indexed\":false,\"analyzed\":false,\"doc_values\":false}]", + "timeFieldName": "@timestamp", + "title": "date-nanos" + }, + "coreMigrationVersion": "7.17.1", + "id": "date-nanos", + "migrationVersion": { + "index-pattern": "7.11.0" + }, + "references": [], + "type": "index-pattern", + "version": "WzQyLDJd" +} + +{ + "attributes": { + "columns": [ + "_source" + ], + "description": "A Saved Search Description", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"highlightAll\":true,\"filter\":[],\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}},\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}" + }, + "sort": [ + [ + "@timestamp", + "desc" + ] + ], + "title": "A Saved Search", + "version": 1 + }, + "coreMigrationVersion": "7.17.1", + "id": "ab12e3c0-f231-11e6-9486-733b1ac9221a", + "migrationVersion": { + "search": "7.9.3" + }, + "references": [ + { + "id": "date-nanos", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], + "type": "search", + "version": "WzQzLDJd" +} + +{ + "attributes": { + "fields": "[{\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"esTypes\":[\"_source\"],\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"esTypes\":[\"_type\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"test\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"test.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"test\"}}},{\"name\":\"timestamp\",\"type\":\"date\",\"esTypes\":[\"date_nanos\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true}]", + "timeFieldName": "timestamp", + "title": "date_nanos_custom_timestamp" + }, + "coreMigrationVersion": "7.17.1", + "id": "date_nanos_custom_timestamp", + "migrationVersion": { + "index-pattern": "7.11.0" + }, + "references": [], + "type": "index-pattern", + "updated_at": "2020-01-09T21:43:20.283Z", + "version": "WzQ1LDJd" +} \ No newline at end of file diff --git a/test/functional/fixtures/kbn_archiver/date_nanos_mixed.json b/test/functional/fixtures/kbn_archiver/date_nanos_mixed.json new file mode 100644 index 0000000000000..6d528a382753f --- /dev/null +++ b/test/functional/fixtures/kbn_archiver/date_nanos_mixed.json @@ -0,0 +1,16 @@ +{ + "attributes": { + "fieldFormatMap": "{\"timestamp\":{\"id\":\"date_nanos\"}}", + "fields": "[{\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"esTypes\":[\"_source\"],\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"esTypes\":[\"_type\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"timestamp\",\"type\":\"date\",\"esTypes\":[\"date\",\"date_nanos\"],\"count\":2,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true}]", + "timeFieldName": "timestamp", + "title": "timestamp-*" + }, + "coreMigrationVersion": "7.17.1", + "id": "timestamp-*", + "migrationVersion": { + "index-pattern": "7.11.0" + }, + "references": [], + "type": "index-pattern", + "version": "WzU2LDJd" +} \ No newline at end of file diff --git a/test/functional/fixtures/kbn_archiver/date_nested.json b/test/functional/fixtures/kbn_archiver/date_nested.json new file mode 100644 index 0000000000000..4cd78b9a4e6e0 --- /dev/null +++ b/test/functional/fixtures/kbn_archiver/date_nested.json @@ -0,0 +1,15 @@ +{ + "attributes": { + "fields": "[]", + "timeFieldName": "nested.timestamp", + "title": "date-nested" + }, + "coreMigrationVersion": "7.11.0", + "id": "date-nested", + "migrationVersion": { + "index-pattern": "7.11.0" + }, + "references": [], + "type": "index-pattern", + "version": "WzIyLDFd" +} diff --git a/test/functional/fixtures/kbn_archiver/index_pattern_without_timefield.json b/test/functional/fixtures/kbn_archiver/index_pattern_without_timefield.json new file mode 100644 index 0000000000000..d5906dc8a2e99 --- /dev/null +++ b/test/functional/fixtures/kbn_archiver/index_pattern_without_timefield.json @@ -0,0 +1,30 @@ +{ + "attributes": { + "fields": "[]", + "timeFieldName": "@timestamp", + "title": "with-timefield" + }, + "coreMigrationVersion": "7.17.1", + "id": "with-timefield", + "migrationVersion": { + "index-pattern": "7.11.0" + }, + "references": [], + "type": "index-pattern", + "version": "WzEzLDJd" +} + +{ + "attributes": { + "fields": "[]", + "title": "without-timefield" + }, + "coreMigrationVersion": "7.17.1", + "id": "without-timefield", + "migrationVersion": { + "index-pattern": "7.11.0" + }, + "references": [], + "type": "index-pattern", + "version": "WzEyLDJd" +} \ No newline at end of file diff --git a/test/functional/fixtures/kbn_archiver/invalid_scripted_field.json b/test/functional/fixtures/kbn_archiver/invalid_scripted_field.json new file mode 100644 index 0000000000000..23abe20855e3e --- /dev/null +++ b/test/functional/fixtures/kbn_archiver/invalid_scripted_field.json @@ -0,0 +1,16 @@ +{ + "attributes": { + "fields": "[{\"name\":\"@message\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"@message.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"@tags\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"@tags.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"@timestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"_id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"agent\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"agent.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"bytes\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"clientip\",\"type\":\"ip\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"extension\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"extension.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"geo.coordinates\",\"type\":\"geo_point\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"geo.dest\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"geo.src\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"geo.srcdest\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"headings\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"headings.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"host\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"host.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"id\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"index.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"ip\",\"type\":\"ip\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"links\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"links.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"machine.os\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"machine.os.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"machine.ram\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"memory\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"meta.char\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"meta.related\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"meta.user.firstname\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"meta.user.lastname\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"phpmemory\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"referer\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.article:modified_time\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.article:published_time\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.article:section\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.article:section.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.article:tag\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.article:tag.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.og:description\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.og:description.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.og:image\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.og:image.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.og:image:height\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.og:image:height.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.og:image:width\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.og:image:width.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.og:site_name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.og:site_name.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.og:title\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.og:title.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.og:type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.og:type.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.og:url\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.og:url.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.twitter:card\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.twitter:card.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.twitter:description\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.twitter:description.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.twitter:image\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.twitter:image.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.twitter:site\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.twitter:site.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.twitter:title\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.twitter:title.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.url\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.url.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"request\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"request.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"response\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"response.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"spaces\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"spaces.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"url\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"url.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"utc_time\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"xss\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"xss.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"invalid_scripted_field\",\"type\":\"number\",\"count\":0,\"scripted\":true,\"script\":\"invalid\",\"lang\":\"painless\",\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false}]", + "timeFieldName": "@timestamp", + "title": "log*" + }, + "coreMigrationVersion": "7.17.1", + "id": "18ea0c30-2d77-11e8-93f2-6f8a391f33ef", + "migrationVersion": { + "index-pattern": "7.11.0" + }, + "references": [], + "type": "index-pattern", + "updated_at": "2018-03-22T02:17:11.427Z", + "version": "WzMsMl0=" +} \ No newline at end of file diff --git a/test/functional/fixtures/kbn_archiver/kibana_sample_data_flights_index_pattern.json b/test/functional/fixtures/kbn_archiver/kibana_sample_data_flights_index_pattern.json new file mode 100644 index 0000000000000..cde8d7cf9643e --- /dev/null +++ b/test/functional/fixtures/kbn_archiver/kibana_sample_data_flights_index_pattern.json @@ -0,0 +1,17 @@ +{ + "attributes": { + "fieldFormatMap": "{\"hour_of_day\":{\"id\":\"number\",\"params\":{\"pattern\":\"00\"}},\"AvgTicketPrice\":{\"id\":\"number\",\"params\":{\"pattern\":\"$0,0.[00]\"}}}", + "fields": "[{\"name\":\"AvgTicketPrice\",\"type\":\"number\",\"esTypes\":[\"float\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"Cancelled\",\"type\":\"boolean\",\"esTypes\":[\"boolean\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"Carrier\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"Dest\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"DestAirportID\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"DestCityName\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"DestCountry\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"DestLocation\",\"type\":\"geo_point\",\"esTypes\":[\"geo_point\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"DestRegion\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"DestWeather\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"DistanceKilometers\",\"type\":\"number\",\"esTypes\":[\"float\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"DistanceMiles\",\"type\":\"number\",\"esTypes\":[\"float\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"FlightDelay\",\"type\":\"boolean\",\"esTypes\":[\"boolean\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"FlightDelayMin\",\"type\":\"number\",\"esTypes\":[\"integer\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"FlightDelayType\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"FlightNum\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"FlightTimeHour\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"FlightTimeMin\",\"type\":\"number\",\"esTypes\":[\"float\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"Origin\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"OriginAirportID\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"OriginCityName\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"OriginCountry\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"OriginLocation\",\"type\":\"geo_point\",\"esTypes\":[\"geo_point\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"OriginRegion\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"OriginWeather\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"esTypes\":[\"_source\"],\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"esTypes\":[\"_type\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"dayOfWeek\",\"type\":\"number\",\"esTypes\":[\"integer\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"timestamp\",\"type\":\"date\",\"esTypes\":[\"date\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"hour_of_day\",\"type\":\"number\",\"count\":0,\"scripted\":true,\"script\":\"doc['timestamp'].value.getHour()\",\"lang\":\"painless\",\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false}]", + "timeFieldName": "timestamp", + "title": "kibana_sample_data_flights" + }, + "coreMigrationVersion": "7.17.1", + "id": "d3d7af60-4c81-11e8-b3d7-01146121b73d", + "migrationVersion": { + "index-pattern": "7.11.0" + }, + "references": [], + "type": "index-pattern", + "updated_at": "2019-07-31T16:35:56.070Z", + "version": "WzMsMl0=" +} \ No newline at end of file diff --git a/test/functional/fixtures/kbn_archiver/unmapped_fields.json b/test/functional/fixtures/kbn_archiver/unmapped_fields.json new file mode 100644 index 0000000000000..aa1e464af5377 --- /dev/null +++ b/test/functional/fixtures/kbn_archiver/unmapped_fields.json @@ -0,0 +1,51 @@ +{ + "attributes": { + "fieldFormatMap": "{\"timestamp\":{\"id\":\"date\"}}", + "fields": "[{\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"esTypes\":[\"_source\"],\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"esTypes\":[\"_type\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"timestamp\",\"type\":\"date\",\"esTypes\":[\"date\"],\"count\":4,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true}]", + "timeFieldName": "timestamp", + "title": "test-index-unmapped-fields" + }, + "coreMigrationVersion": "7.17.1", + "id": "test-index-unmapped-fields", + "migrationVersion": { + "index-pattern": "7.11.0" + }, + "references": [], + "type": "index-pattern", + "version": "WzEzLDJd" +} + +{ + "attributes": { + "columns": [ + "_source" + ], + "description": "Existing Saved Search", + "hits": 4, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"highlightAll\":true,\"filter\":[],\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}},\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}" + }, + "sort": [ + [ + "@timestamp", + "desc" + ] + ], + "title": "Existing Saved Search", + "version": 1 + }, + "coreMigrationVersion": "7.17.1", + "id": "cd43f5c2-h761-13f6-9486-733b1ac9221a", + "migrationVersion": { + "search": "7.9.3" + }, + "references": [ + { + "id": "test-index-unmapped-fields", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], + "type": "search", + "version": "WzEyLDJd" +} \ No newline at end of file diff --git a/test/functional/page_objects/common_page.ts b/test/functional/page_objects/common_page.ts index f9026bec2da85..72f9a827ea0c0 100644 --- a/test/functional/page_objects/common_page.ts +++ b/test/functional/page_objects/common_page.ts @@ -518,7 +518,7 @@ export class CommonPageObject extends FtrService { */ formatTime(time: TimeStrings, fmt: string = 'MMM D, YYYY @ HH:mm:ss.SSS') { return Object.keys(time) - .map((x) => moment(time[x], [fmt]).format()) + .map((x) => moment.utc(time[x], [fmt]).format()) .reduce( (acc, curr, idx) => { if (idx === 0) acc.from = curr; diff --git a/test/functional/page_objects/dashboard_page.ts b/test/functional/page_objects/dashboard_page.ts index a9b9f95af8574..5c06cde9f9e8b 100644 --- a/test/functional/page_objects/dashboard_page.ts +++ b/test/functional/page_objects/dashboard_page.ts @@ -9,6 +9,8 @@ export const PIE_CHART_VIS_NAME = 'Visualization PieChart'; export const AREA_CHART_VIS_NAME = 'Visualization漢字 AreaChart'; export const LINE_CHART_VIS_NAME = 'Visualization漢字 LineChart'; + +import expect from '@kbn/expect'; import { FtrService } from '../ftr_provider_context'; interface SaveDashboardOptions { @@ -51,6 +53,13 @@ export class DashboardPageObject extends FtrService { await this.common.navigateToApp('dashboard'); } + public async expectAppStateRemovedFromURL() { + this.retry.try(async () => { + const url = await this.browser.getCurrentUrl(); + expect(url.indexOf('_a')).to.be(-1); + }); + } + public async preserveCrossAppState() { const url = await this.browser.getCurrentUrl(); await this.browser.get(url, false); @@ -516,6 +525,27 @@ export class DashboardPageObject extends FtrService { return await Promise.all(titleObjects.map(async (title) => await title.getVisibleText())); } + // returns an array of Boolean values - true if the panel title is visible in view mode, false if it is not + public async getVisibilityOfPanelTitles() { + this.log.debug('in getVisibilityOfPanels'); + // only works if the dashboard is in view mode + const inViewMode = await this.getIsInViewMode(); + if (!inViewMode) { + await this.clickCancelOutOfEditMode(); + } + const visibilities: boolean[] = []; + const titleObjects = await this.testSubjects.findAll('dashboardPanelTitle__wrapper'); + for (const titleObject of titleObjects) { + const exists = !(await titleObject.elementHasClass('embPanel__header--floater')); + visibilities.push(exists); + } + // return to edit mode if a switch to view mode above was necessary + if (!inViewMode) { + await this.switchToEditMode(); + } + return visibilities; + } + public async getPanelDimensions() { const panels = await this.find.allByCssSelector('.react-grid-item'); // These are gridster-defined elements and classes return await Promise.all( diff --git a/test/functional/services/common/screenshots.ts b/test/functional/services/common/screenshots.ts index 79ac5a1803545..d5f901300941f 100644 --- a/test/functional/services/common/screenshots.ts +++ b/test/functional/services/common/screenshots.ts @@ -22,7 +22,7 @@ const writeFileAsync = promisify(writeFile); export class ScreenshotsService extends FtrService { private readonly log = this.ctx.getService('log'); private readonly config = this.ctx.getService('config'); - private readonly failureMetadata = this.ctx.getService('failureMetadata'); + private readonly testMetadata = this.ctx.getService('testMetadata'); private readonly browser = this.ctx.getService('browser'); private readonly SESSION_DIRECTORY = resolve(this.config.get('screenshots.directory'), 'session'); @@ -51,11 +51,17 @@ export class ScreenshotsService extends FtrService { async compareAgainstBaseline(name: string, updateBaselines: boolean, el?: WebElementWrapper) { this.log.debug('compareAgainstBaseline'); const sessionPath = resolve(this.SESSION_DIRECTORY, `${name}.png`); - await this.capture(sessionPath, el); - const baselinePath = resolve(this.BASELINE_DIRECTORY, `${name}.png`); const failurePath = resolve(this.FAILURE_DIRECTORY, `${name}.png`); + await this.capture({ + path: sessionPath, + name, + el, + baselinePath, + failurePath, + }); + if (updateBaselines) { this.log.debug('Updating baseline snapshot'); // Make the directory if it doesn't exist @@ -74,24 +80,44 @@ export class ScreenshotsService extends FtrService { } } - async take(name: string, el?: WebElementWrapper) { - const path = resolve(this.SESSION_DIRECTORY, `${name}.png`); - await this.capture(path, el); - this.failureMetadata.addScreenshot(name, path); + async take(name: string, el?: WebElementWrapper, subDirectories: string[] = []) { + const path = resolve(this.SESSION_DIRECTORY, ...subDirectories, `${name}.png`); + await this.capture({ path, name, el }); } async takeForFailure(name: string, el?: WebElementWrapper) { const path = resolve(this.FAILURE_DIRECTORY, `${name}.png`); - await this.capture(path, el); - this.failureMetadata.addScreenshot(`failure[${name}]`, path); + await this.capture({ + path, + name: `failure[${name}]`, + el, + }); } - private async capture(path: string, el?: WebElementWrapper) { + private async capture({ + path, + el, + name, + baselinePath, + failurePath, + }: { + path: string; + name: string; + el?: WebElementWrapper; + baselinePath?: string; + failurePath?: string; + }) { try { this.log.info(`Taking screenshot "${path}"`); const screenshot = await (el ? el.takeScreenshot() : this.browser.takeScreenshot()); await mkdirAsync(dirname(path), { recursive: true }); await writeFileAsync(path, screenshot, 'base64'); + this.testMetadata.addScreenshot({ + name, + base64Png: Buffer.isBuffer(screenshot) ? screenshot.toString('base64') : screenshot, + baselinePath, + failurePath, + }); } catch (err) { this.log.error('SCREENSHOT FAILED'); this.log.error(err); diff --git a/test/functional/services/dashboard/panel_actions.ts b/test/functional/services/dashboard/panel_actions.ts index 4340f16492a7c..c7e786f4b123a 100644 --- a/test/functional/services/dashboard/panel_actions.ts +++ b/test/functional/services/dashboard/panel_actions.ts @@ -316,7 +316,9 @@ export class DashboardPanelActionsService extends FtrService { } else { await this.customizePanel(); } - await this.testSubjects.setValue('customEmbeddablePanelTitleInput', customTitle); + await this.testSubjects.setValue('customEmbeddablePanelTitleInput', customTitle, { + clearWithKeyboard: customTitle === '', // if clearing the title using the empty string as the new value, 'clearWithKeyboard' must be true; otherwise, false + }); await this.testSubjects.click('saveNewTitleButton'); } diff --git a/test/functional/services/field_editor.ts b/test/functional/services/field_editor.ts index 27cb8cf010d92..622e71cc32fd8 100644 --- a/test/functional/services/field_editor.ts +++ b/test/functional/services/field_editor.ts @@ -37,7 +37,12 @@ export class FieldEditorService extends FtrService { const textarea = await editor.findByClassName('monaco-mouse-cursor-text'); await textarea.click(); - await this.browser.pressKeys(script); + // To avoid issue with the timing needed for Selenium to write the script and the monaco editor + // syntax validation kicking in, we loop through all the chars of the script and enter + // them one by one (instead of calling "await this.browser.pressKeys(script);"). + for (const letter of script.split('')) { + await this.browser.pressKeys(letter); + } } public async save() { await this.testSubjects.click('fieldSaveButton'); diff --git a/test/functional/services/lib/web_element_wrapper/web_element_wrapper.ts b/test/functional/services/lib/web_element_wrapper/web_element_wrapper.ts index c083ca26a25d9..b1cca4cb3ea83 100644 --- a/test/functional/services/lib/web_element_wrapper/web_element_wrapper.ts +++ b/test/functional/services/lib/web_element_wrapper/web_element_wrapper.ts @@ -490,8 +490,7 @@ export class WebElementWrapper { public async findByTestSubject(selector: string) { return await this.retryCall(async function find(wrapper) { return wrapper._wrap( - await wrapper._webElement.findElement(wrapper.By.css(testSubjSelector(selector))), - wrapper.By.css(selector) + await wrapper._webElement.findElement(wrapper.By.css(testSubjSelector(selector))) ); }); } diff --git a/test/functional/services/remote/network_profiles.ts b/test/functional/services/remote/network_profiles.ts index c27bafa4f8dcb..cb4076686270c 100644 --- a/test/functional/services/remote/network_profiles.ts +++ b/test/functional/services/remote/network_profiles.ts @@ -12,23 +12,11 @@ interface NetworkOptions { LATENCY: number; } -const sec = 1_000; -const kB = 1024; +const sec = 10 ** 3; +const MBps = 10 ** 6 / 8; // megabyte per second (MB/s) (can be abbreviated as MBps) -// Download (kb/s) Upload (kb/s) Latency (ms) -// https://gist.github.com/theodorosploumis/fd4086ee58369b68aea6b0782dc96a2e +// Selenium uses B/s (bytes) for network throttling +// Download (B/s) Upload (B/s) Latency (ms) export const NETWORK_PROFILES: { [key: string]: NetworkOptions } = { - DEFAULT: { DOWNLOAD: 5 * kB * sec, UPLOAD: 1 * kB * sec, LATENCY: 0.1 * sec }, - GPRS: { DOWNLOAD: 0.05 * kB * sec, UPLOAD: 0.02 * kB * sec, LATENCY: 0.5 * sec }, - MOBILE_EDGE: { DOWNLOAD: 0.24 * kB * sec, UPLOAD: 0.2 * kB * sec, LATENCY: 0.84 * sec }, - '2G_REGULAR': { DOWNLOAD: 0.25 * kB * sec, UPLOAD: 0.05 * kB * sec, LATENCY: 0.3 * sec }, - '2G_GOOD': { DOWNLOAD: 0.45 * kB * sec, UPLOAD: 0.15 * kB * sec, LATENCY: 0.15 * sec }, - '3G_SLOW': { DOWNLOAD: 0.78 * kB * sec, UPLOAD: 0.33 * kB * sec, LATENCY: 0.2 * sec }, - '3G_REGULAR': { DOWNLOAD: 0.75 * kB * sec, UPLOAD: 0.25 * kB * sec, LATENCY: 0.1 * sec }, - '3G_GOOD': { DOWNLOAD: 1.5 * kB * sec, UPLOAD: 0.75 * kB * sec, LATENCY: 0.04 * sec }, - '4G_REGULAR': { DOWNLOAD: 4 * kB * sec, UPLOAD: 3 * kB * sec, LATENCY: 0.02 * sec }, - DSL: { DOWNLOAD: 2 * kB * sec, UPLOAD: 1 * kB * sec, LATENCY: 0.005 * sec }, - CABLE_5MBPS: { DOWNLOAD: 5 * kB * sec, UPLOAD: 1 * kB * sec, LATENCY: 0.28 * sec }, - CABLE_8MBPS: { DOWNLOAD: 8 * kB * sec, UPLOAD: 2 * kB * sec, LATENCY: 0.1 * sec }, - WIFI: { DOWNLOAD: 30 * kB * sec, UPLOAD: 15 * kB * sec, LATENCY: 0.002 * sec }, + CLOUD_USER: { DOWNLOAD: 6 * MBps, UPLOAD: 6 * MBps, LATENCY: 0.1 * sec }, }; diff --git a/test/functional/services/remote/webdriver.ts b/test/functional/services/remote/webdriver.ts index 1f32a0ec414cf..89204d997483f 100644 --- a/test/functional/services/remote/webdriver.ts +++ b/test/functional/services/remote/webdriver.ts @@ -39,6 +39,7 @@ const headlessBrowser: string = process.env.TEST_BROWSER_HEADLESS as string; const browserBinaryPath: string = process.env.TEST_BROWSER_BINARY_PATH as string; const remoteDebug: string = process.env.TEST_REMOTE_DEBUG as string; const certValidation: string = process.env.NODE_TLS_REJECT_UNAUTHORIZED as string; +const noCache: string = process.env.TEST_DISABLE_CACHE as string; const SECOND = 1000; const MINUTE = 60 * SECOND; const NO_QUEUE_COMMANDS = ['getLog', 'getStatus', 'newSession', 'quit']; @@ -118,6 +119,11 @@ function initChromiumOptions(browserType: Browsers, acceptInsecureCerts: boolean options.setChromeBinaryPath(browserBinaryPath); } + if (noCache === '1') { + options.addArguments('disk-cache-size', '0'); + options.addArguments('disk-cache-dir', '/dev/null'); + } + const prefs = new logging.Preferences(); prefs.setLevel(logging.Type.BROWSER, logging.Level.ALL); options.setUserPreferences(chromiumUserPrefs); @@ -281,12 +287,12 @@ async function attemptToCreateCommand( const { session, consoleLog$ } = await buildDriverInstance(); if (throttleOption === '1' && browserType === 'chrome') { - const { KBN_NETWORK_TEST_PROFILE = 'DEFAULT' } = process.env; + const { KBN_NETWORK_TEST_PROFILE = 'CLOUD_USER' } = process.env; const profile = KBN_NETWORK_TEST_PROFILE in Object.keys(NETWORK_PROFILES) ? KBN_NETWORK_TEST_PROFILE - : 'DEFAULT'; + : 'CLOUD_USER'; const { DOWNLOAD: downloadThroughput, @@ -296,9 +302,16 @@ async function attemptToCreateCommand( // Only chrome supports this option. log.debug( - `NETWORK THROTTLED with profile ${profile}: ${downloadThroughput}kbps down, ${uploadThroughput}kbps up, ${latency} ms latency.` + `NETWORK THROTTLED with profile ${profile}: ${downloadThroughput} B/s down, ${uploadThroughput} B/s up, ${latency} ms latency.` ); + if (noCache) { + // @ts-expect-error + await session.sendDevToolsCommand('Network.setCacheDisabled', { + cacheDisabled: true, + }); + } + // @ts-expect-error session.setNetworkConditions({ offline: false, diff --git a/test/package/Vagrantfile b/test/package/Vagrantfile index 34c29eb2cefe7..346a118165abb 100644 --- a/test/package/Vagrantfile +++ b/test/package/Vagrantfile @@ -6,7 +6,7 @@ Vagrant.configure("2") do |config| deb.vm.provision "ansible" do |ansible| ansible.playbook = "deb.yml" end - deb.vm.network "private_network", ip: "192.168.50.5" + deb.vm.network "private_network", ip: "192.168.56.5" end config.vm.define "rpm" do |rpm| @@ -14,7 +14,7 @@ Vagrant.configure("2") do |config| rpm.vm.provision "ansible" do |ansible| ansible.playbook = "rpm.yml" end - rpm.vm.network "private_network", ip: "192.168.50.6" + rpm.vm.network "private_network", ip: "192.168.56.6" end config.vm.define "docker" do |docker| @@ -22,6 +22,6 @@ Vagrant.configure("2") do |config| docker.vm.provision "ansible" do |ansible| ansible.playbook = "docker.yml" end - docker.vm.network "private_network", ip: "192.168.50.7" + docker.vm.network "private_network", ip: "192.168.56.7" end end diff --git a/test/package/roles/install_kibana_docker/tasks/main.yml b/test/package/roles/install_kibana_docker/tasks/main.yml index 6d2f0a2caed1c..2b0b70de30b6c 100644 --- a/test/package/roles/install_kibana_docker/tasks/main.yml +++ b/test/package/roles/install_kibana_docker/tasks/main.yml @@ -7,8 +7,8 @@ - name: load image become: yes docker_image: - name: kibana - load_path: "{{ kibana_docker.files[0].path }}" + name: "{{ kibana_docker.files[0].path | basename| regex_replace('kibana-(.*)-docker-image.tar.gz', 'docker.elastic.co/kibana/kibana:\\1') }}" + load_path: '{{ kibana_docker.files[0].path }}' timeout: 300 source: load state: present @@ -21,6 +21,6 @@ network_mode: host env: SERVER_HOST: 0.0.0.0 - ELASTICSEARCH_HOSTS: http://192.168.50.1:9200 - ELASTICSEARCH_USERNAME: "{{ elasticsearch_username }}" - ELASTICSEARCH_PASSWORD: "{{ elasticsearch_password }}" + ELASTICSEARCH_HOSTS: http://192.168.56.1:9200 + ELASTICSEARCH_USERNAME: '{{ elasticsearch_username }}' + ELASTICSEARCH_PASSWORD: '{{ elasticsearch_password }}' diff --git a/test/package/templates/kibana.yml b/test/package/templates/kibana.yml index ac2d03467051b..cfe01bfcf3d3b 100644 --- a/test/package/templates/kibana.yml +++ b/test/package/templates/kibana.yml @@ -1,6 +1,6 @@ server.host: 0.0.0.0 -elasticsearch.hosts: http://192.168.50.1:9200 +elasticsearch.hosts: http://192.168.56.1:9200 elasticsearch.username: "{{ elasticsearch_username }}" elasticsearch.password: "{{ elasticsearch_password }}" diff --git a/test/plugin_functional/test_suites/saved_objects_management/hidden_types.ts b/test/plugin_functional/test_suites/saved_objects_management/hidden_types.ts index 8e7adb504ebee..aefc0a8f06a9d 100644 --- a/test/plugin_functional/test_suites/saved_objects_management/hidden_types.ts +++ b/test/plugin_functional/test_suites/saved_objects_management/hidden_types.ts @@ -21,7 +21,9 @@ export default function ({ getService, getPageObjects }: PluginFunctionalProvide const esArchiver = getService('esArchiver'); const testSubjects = getService('testSubjects'); - describe('saved objects management with hidden types', () => { + // Failing: See https://github.com/elastic/kibana/issues/116059 + // Failing: See https://github.com/elastic/kibana/issues/116059 + describe.skip('saved objects management with hidden types', () => { before(async () => { await esArchiver.load( 'test/functional/fixtures/es_archiver/saved_objects_management/hidden_types' diff --git a/test/scripts/jenkins_xpack_package_build.sh b/test/scripts/jenkins_xpack_package_build.sh deleted file mode 100755 index 86e846f720803..0000000000000 --- a/test/scripts/jenkins_xpack_package_build.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -set -e - -source src/dev/ci_setup/setup_env.sh - -export TMP=/tmp -export TMPDIR=/tmp - -node scripts/build --all-platforms --debug - -gsutil -q -m cp 'target/*' "gs://ci-artifacts.kibana.dev/package-testing/$GIT_COMMIT/" diff --git a/test/scripts/jenkins_xpack_package_deb.sh b/test/scripts/jenkins_xpack_package_deb.sh deleted file mode 100755 index 626036e8db3f5..0000000000000 --- a/test/scripts/jenkins_xpack_package_deb.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash - -set -e - -source src/dev/ci_setup/setup_env.sh - -mkdir -p target -gsutil -q -m cp "gs://ci-artifacts.kibana.dev/package-testing/$GIT_COMMIT/kibana-*.deb" ./target - -export VAGRANT_CWD=test/package -vagrant up deb --no-provision - -node scripts/es snapshot \ - -E network.bind_host=127.0.0.1,192.168.50.1 \ - -E discovery.type=single-node \ - --license=trial & -while ! timeout 1 bash -c "echo > /dev/tcp/localhost/9200"; do sleep 30; done - -vagrant provision deb - -export TEST_BROWSER_HEADLESS=1 -export TEST_KIBANA_URL=http://elastic:changeme@192.168.50.5:5601 -export TEST_ES_URL=http://elastic:changeme@192.168.50.1:9200 - -cd x-pack -node scripts/functional_test_runner.js --include-tag=smoke diff --git a/test/scripts/jenkins_xpack_package_docker.sh b/test/scripts/jenkins_xpack_package_docker.sh deleted file mode 100755 index c9f94b2c1eb4f..0000000000000 --- a/test/scripts/jenkins_xpack_package_docker.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash - -set -e - -source src/dev/ci_setup/setup_env.sh - -mkdir -p target -gsutil -q -m cp "gs://ci-artifacts.kibana.dev/package-testing/$GIT_COMMIT/kibana-[0-9]*-docker-image.tar.gz" ./target - -export VAGRANT_CWD=test/package -vagrant up docker --no-provision - -node scripts/es snapshot \ - -E network.bind_host=127.0.0.1,192.168.50.1 \ - -E discovery.type=single-node \ - --license=trial & -while ! timeout 1 bash -c "echo > /dev/tcp/localhost/9200"; do sleep 30; done - -vagrant provision docker - -export TEST_BROWSER_HEADLESS=1 -export TEST_KIBANA_URL=http://elastic:changeme@192.168.50.7:5601 -export TEST_ES_URL=http://elastic:changeme@192.168.50.1:9200 - -cd x-pack -node scripts/functional_test_runner.js --include-tag=smoke diff --git a/test/scripts/jenkins_xpack_package_rpm.sh b/test/scripts/jenkins_xpack_package_rpm.sh deleted file mode 100755 index 08095ce48c1e5..0000000000000 --- a/test/scripts/jenkins_xpack_package_rpm.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash - -set -e - -source src/dev/ci_setup/setup_env.sh - -mkdir -p target -gsutil -q -m cp "gs://ci-artifacts.kibana.dev/package-testing/$GIT_COMMIT/kibana-*.rpm" ./target - -export VAGRANT_CWD=test/package -vagrant up rpm --no-provision - -node scripts/es snapshot \ - -E network.bind_host=127.0.0.1,192.168.50.1 \ - -E discovery.type=single-node \ - --license=trial & -while ! timeout 1 bash -c "echo > /dev/tcp/localhost/9200"; do sleep 30; done - -vagrant provision rpm - -export TEST_BROWSER_HEADLESS=1 -export TEST_KIBANA_URL=http://elastic:changeme@192.168.50.6:5601 -export TEST_ES_URL=http://elastic:changeme@192.168.50.1:9200 - -cd x-pack -node scripts/functional_test_runner.js --include-tag=smoke diff --git a/x-pack/README.md b/x-pack/README.md index 852b713e78465..d104dffff3d28 100644 --- a/x-pack/README.md +++ b/x-pack/README.md @@ -16,7 +16,7 @@ By default, this will also set the password for native realm accounts to the pas # Testing -For information on testing, see [the Elastic functional test development guide](https://www.elastic.co/guide/en/kibana/current/development-functional-tests.html). +For information on testing, see [the Elastic functional test development guide](https://www.elastic.co/guide/en/kibana/current/development-tests.html). #### Running functional tests diff --git a/x-pack/dev-tools/api_debug/apis/telemetry/index.js b/x-pack/dev-tools/api_debug/apis/telemetry/index.js index f6b07c82d566c..bd9ffb5ed6c0c 100644 --- a/x-pack/dev-tools/api_debug/apis/telemetry/index.js +++ b/x-pack/dev-tools/api_debug/apis/telemetry/index.js @@ -10,4 +10,4 @@ export const description = 'Get the clusters stats from the Kibana server'; export const method = 'POST'; export const path = '/api/telemetry/v2/clusters/_stats'; -export const body = { unencrypted: true }; +export const body = { unencrypted: true, refreshCache: true }; diff --git a/x-pack/package.json b/x-pack/package.json index 5bcedd2e3decd..1f15b371b22c4 100644 --- a/x-pack/package.json +++ b/x-pack/package.json @@ -1,6 +1,6 @@ { "name": "x-pack", - "version": "7.16.2", + "version": "7.17.3", "author": "Elastic", "private": true, "license": "Elastic-License", diff --git a/x-pack/plugins/actions/server/builtin_action_types/servicenow/service.test.ts b/x-pack/plugins/actions/server/builtin_action_types/servicenow/service.test.ts index b8499b01e6a02..db3eb3b448e6f 100644 --- a/x-pack/plugins/actions/server/builtin_action_types/servicenow/service.test.ts +++ b/x-pack/plugins/actions/server/builtin_action_types/servicenow/service.test.ts @@ -701,7 +701,7 @@ describe('ServiceNow service', () => { axios, logger, configurationUtilities, - url: 'https://example.com/api/now/table/sys_choice?sysparm_query=name=task^ORname=incident^element=priority^ORelement=category&sysparm_fields=label,value,dependent_value,element', + url: 'https://example.com/api/now/table/sys_choice?sysparm_query=name=task^ORname=incident^element=priority^ORelement=category^language=en&sysparm_fields=label,value,dependent_value,element', }); }); @@ -734,7 +734,7 @@ describe('ServiceNow service', () => { axios, logger, configurationUtilities, - url: 'https://example.com/api/now/table/sys_choice?sysparm_query=name=task^ORname=sn_si_incident^element=priority^ORelement=category&sysparm_fields=label,value,dependent_value,element', + url: 'https://example.com/api/now/table/sys_choice?sysparm_query=name=task^ORname=sn_si_incident^element=priority^ORelement=category^language=en&sysparm_fields=label,value,dependent_value,element', }); }); diff --git a/x-pack/plugins/actions/server/builtin_action_types/servicenow/service.ts b/x-pack/plugins/actions/server/builtin_action_types/servicenow/service.ts index c90a7222ba10b..5e657e1890695 100644 --- a/x-pack/plugins/actions/server/builtin_action_types/servicenow/service.ts +++ b/x-pack/plugins/actions/server/builtin_action_types/servicenow/service.ts @@ -74,7 +74,7 @@ export const createExternalService: ServiceFactory = ( .slice(1) .reduce((acc, field) => `${acc}^ORelement=${field}`, `element=${fields[0]}`); - return `${choicesUrl}?sysparm_query=name=task^ORname=${table}^${elements}&sysparm_fields=label,value,dependent_value,element`; + return `${choicesUrl}?sysparm_query=name=task^ORname=${table}^${elements}^language=en&sysparm_fields=label,value,dependent_value,element`; }; const checkInstance = (res: AxiosResponse) => { diff --git a/x-pack/plugins/actions/server/builtin_action_types/servicenow/service_itom.test.ts b/x-pack/plugins/actions/server/builtin_action_types/servicenow/service_itom.test.ts index 5223add79d301..a0277be2a0d24 100644 --- a/x-pack/plugins/actions/server/builtin_action_types/servicenow/service_itom.test.ts +++ b/x-pack/plugins/actions/server/builtin_action_types/servicenow/service_itom.test.ts @@ -83,7 +83,7 @@ describe('ServiceNow SIR service', () => { axios, logger, configurationUtilities, - url: 'https://example.com/api/now/table/sys_choice?sysparm_query=name=task^ORname=em_event^element=severity&sysparm_fields=label,value,dependent_value,element', + url: 'https://example.com/api/now/table/sys_choice?sysparm_query=name=task^ORname=em_event^element=severity^language=en&sysparm_fields=label,value,dependent_value,element', }); }); }); diff --git a/x-pack/plugins/actions/server/index.ts b/x-pack/plugins/actions/server/index.ts index 09e2c4398557f..dbe2d7636bc62 100644 --- a/x-pack/plugins/actions/server/index.ts +++ b/x-pack/plugins/actions/server/index.ts @@ -23,6 +23,7 @@ export type { ActionType, PreConfiguredAction, ActionsApiRequestHandlerContext, + FindActionResult, } from './types'; export type { diff --git a/x-pack/plugins/alerting/server/task_runner/task_runner.test.ts b/x-pack/plugins/alerting/server/task_runner/task_runner.test.ts index 07c4d0371c718..613df958a34eb 100644 --- a/x-pack/plugins/alerting/server/task_runner/task_runner.test.ts +++ b/x-pack/plugins/alerting/server/task_runner/task_runner.test.ts @@ -40,6 +40,7 @@ import { omit } from 'lodash'; import { UntypedNormalizedAlertType } from '../rule_type_registry'; import { ruleTypeRegistryMock } from '../rule_type_registry.mock'; import { ExecuteOptions } from '../../../actions/server/create_execute_function'; +import moment from 'moment'; const alertType: jest.Mocked = { id: 'test', @@ -53,6 +54,10 @@ const alertType: jest.Mocked = { producer: 'alerts', }; +const mockRunNowResponse = { + id: 1, +} as jest.ResolvedValue; + let fakeTimer: sinon.SinonFakeTimers; describe('Task Runner', () => { @@ -865,6 +870,78 @@ describe('Task Runner', () => { } ); + testAgainstEphemeralSupport( + 'skips firing actions for active alert if alert is throttled %s', + (customTaskRunnerFactoryInitializerParams: TaskRunnerFactoryInitializerParamsType) => + async () => { + ( + customTaskRunnerFactoryInitializerParams as TaskRunnerFactoryInitializerParamsType + ).actionsPlugin.isActionTypeEnabled.mockReturnValue(true); + customTaskRunnerFactoryInitializerParams.actionsPlugin.isActionExecutable.mockReturnValue( + true + ); + actionsClient.ephemeralEnqueuedExecution.mockResolvedValue(mockRunNowResponse); + alertType.executor.mockImplementation( + async ({ + services: executorServices, + }: AlertExecutorOptions< + AlertTypeParams, + AlertTypeState, + AlertInstanceState, + AlertInstanceContext, + string + >) => { + executorServices.alertInstanceFactory('1').scheduleActions('default'); + executorServices.alertInstanceFactory('2').scheduleActions('default'); + } + ); + const taskRunner = new TaskRunner( + alertType, + { + ...mockedTaskInstance, + state: { + ...mockedTaskInstance.state, + alertInstances: { + '2': { + meta: { + lastScheduledActions: { date: moment().toISOString(), group: 'default' }, + }, + state: { + bar: false, + start: '1969-12-31T00:00:00.000Z', + duration: 86400000000000, + }, + }, + }, + }, + }, + taskRunnerFactoryInitializerParams + ); + rulesClient.get.mockResolvedValue({ + ...mockedAlertTypeSavedObject, + throttle: '1d', + }); + encryptedSavedObjectsClient.getDecryptedAsInternalUser.mockResolvedValue({ + id: '1', + type: 'alert', + attributes: { + apiKey: Buffer.from('123:abc').toString('base64'), + enabled: true, + }, + references: [], + }); + await taskRunner.run(); + // expect(enqueueFunction).toHaveBeenCalledTimes(1); + + const logger = customTaskRunnerFactoryInitializerParams.logger; + // expect(logger.debug).toHaveBeenCalledTimes(5); + expect(logger.debug).nthCalledWith( + 3, + "skipping scheduling of actions for '2' in alert test:1: 'alert-name': instance is throttled" + ); + } + ); + test('actionsPlugin.execute is not called when notifyWhen=onActionGroupChange and alert instance state does not change', async () => { taskRunnerFactoryInitializerParams.actionsPlugin.isActionTypeEnabled.mockReturnValue(true); taskRunnerFactoryInitializerParams.actionsPlugin.isActionExecutable.mockReturnValue(true); diff --git a/x-pack/plugins/alerting/server/task_runner/task_runner.ts b/x-pack/plugins/alerting/server/task_runner/task_runner.ts index 642a2c59d30f3..61c9d2a537642 100644 --- a/x-pack/plugins/alerting/server/task_runner/task_runner.ts +++ b/x-pack/plugins/alerting/server/task_runner/task_runner.ts @@ -57,7 +57,6 @@ import { } from '../lib/create_alert_event_log_record_object'; const FALLBACK_RETRY_INTERVAL = '5m'; - // 1,000,000 nanoseconds in 1 millisecond const Millis2Nanos = 1000 * 1000; @@ -379,41 +378,32 @@ export class TaskRunner< alertLabel, }); - const instancesToExecute = - notifyWhen === 'onActionGroupChange' - ? Object.entries(instancesWithScheduledActions).filter( - ([alertInstanceName, alertInstance]: [ - string, - AlertInstance - ]) => { - const shouldExecuteAction = - alertInstance.scheduledActionGroupOrSubgroupHasChanged(); - if (!shouldExecuteAction) { - this.logger.debug( - `skipping scheduling of actions for '${alertInstanceName}' in alert ${alertLabel}: instance is active but action group has not changed` - ); - } - return shouldExecuteAction; - } - ) - : Object.entries(instancesWithScheduledActions).filter( - ([alertInstanceName, alertInstance]: [ - string, - AlertInstance - ]) => { - const throttled = alertInstance.isThrottled(throttle); - const muted = mutedInstanceIdsSet.has(alertInstanceName); - const shouldExecuteAction = !throttled && !muted; - if (!shouldExecuteAction) { - this.logger.debug( - `skipping scheduling of actions for '${alertInstanceName}' in alert ${alertLabel}: instance is ${ - muted ? 'muted' : 'throttled' - }` - ); - } - return shouldExecuteAction; - } + const instancesToExecute = Object.entries(instancesWithScheduledActions).filter( + ([alertName, alertInstance]: [string, AlertInstance]) => { + const throttled = alertInstance.isThrottled(throttle); + const muted = mutedInstanceIdsSet.has(alertName); + let shouldExecuteAction = true; + + if (throttled || muted) { + shouldExecuteAction = false; + this.logger.debug( + `skipping scheduling of actions for '${alertName}' in alert ${alertLabel}: instance is ${ + muted ? 'muted' : 'throttled' + }` + ); + } else if ( + notifyWhen === 'onActionGroupChange' && + !alertInstance.scheduledActionGroupOrSubgroupHasChanged() + ) { + shouldExecuteAction = false; + this.logger.debug( + `skipping scheduling of actions for '${alertName}' in alert ${alertLabel}: alert is active but action group has not changed` ); + } + + return shouldExecuteAction; + } + ); await Promise.all( instancesToExecute.map( diff --git a/x-pack/plugins/apm/common/fleet.ts b/x-pack/plugins/apm/common/fleet.ts index 97551cc16b4be..be9aed29b7892 100644 --- a/x-pack/plugins/apm/common/fleet.ts +++ b/x-pack/plugins/apm/common/fleet.ts @@ -8,3 +8,5 @@ export const POLICY_ELASTIC_AGENT_ON_CLOUD = 'policy-elastic-agent-on-cloud'; export const SUPPORTED_APM_PACKAGE_VERSION = '7.16.0'; + +export const ELASTIC_CLOUD_APM_AGENT_POLICY_ID = 'elastic-cloud-apm'; diff --git a/x-pack/plugins/apm/public/components/app/RumDashboard/VisitorBreakdownMap/MapToolTip.tsx b/x-pack/plugins/apm/public/components/app/RumDashboard/VisitorBreakdownMap/MapToolTip.tsx index f6f8c336720e7..e923795fad95f 100644 --- a/x-pack/plugins/apm/public/components/app/RumDashboard/VisitorBreakdownMap/MapToolTip.tsx +++ b/x-pack/plugins/apm/public/components/app/RumDashboard/VisitorBreakdownMap/MapToolTip.tsx @@ -42,7 +42,7 @@ function MapToolTipComponent({ features = [], loadFeatureProperties, }: MapToolTipProps) { - const { id: featureId, layerId } = features[0] ?? {}; + const { id: featureId, layerId, mbProperties } = features[0] ?? {}; const [regionName, setRegionName] = useState(featureId as string); const [pageLoadDuration, setPageLoadDuration] = useState(''); @@ -61,8 +61,7 @@ function MapToolTipComponent({ if (loadFeatureProperties) { const items = await loadFeatureProperties({ layerId, - featureId, - mbProperties: {}, + properties: mbProperties, }); items.forEach((item) => { if ( diff --git a/x-pack/plugins/apm/public/components/app/Settings/schema/schema_overview.tsx b/x-pack/plugins/apm/public/components/app/Settings/schema/schema_overview.tsx index cead6cd8a6fb4..e51818e17c968 100644 --- a/x-pack/plugins/apm/public/components/app/Settings/schema/schema_overview.tsx +++ b/x-pack/plugins/apm/public/components/app/Settings/schema/schema_overview.tsx @@ -146,7 +146,7 @@ export function SchemaOverview({ 'xpack.apm.settings.schema.migrate.dataStreams.description', { defaultMessage: - 'Starting in version 8.0, Elastic Agent must manage APM Server. Elastic Agent can run on our hosted Elasticsearch Service, ECE, or be self-managed. Then, add the Elastic APM integration to continue ingesting APM data.', + 'Starting in version 8.0, APM Server is recommended to be managed by Elastic Agent. Elastic Agent can run on our hosted Elasticsearch Service, ECE, or be self-managed. Then, add the Elastic APM integration to continue ingesting APM data.', } )} footer={ diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/create_apm_policy_form.tsx b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/create_apm_policy_form.tsx index 7354846aba64f..5757fdabd5d54 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/create_apm_policy_form.tsx +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/create_apm_policy_form.tsx @@ -30,11 +30,5 @@ export function CreateAPMPolicyForm({ newPolicy, onChange }: Props) { }, }); } - return ( - - ); + return ; } diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/edit_apm_policy_form.tsx b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/edit_apm_policy_form.tsx index e8d3b5d6940aa..be9c89601d4ab 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/edit_apm_policy_form.tsx +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/edit_apm_policy_form.tsx @@ -12,7 +12,6 @@ import { PackagePolicyEditExtensionComponentProps, PackagePolicyVars, } from './typings'; -import { POLICY_ELASTIC_AGENT_ON_CLOUD } from '../../../../common/fleet'; interface Props { policy: PackagePolicy; @@ -32,11 +31,5 @@ export function EditAPMPolicyForm({ newPolicy, onChange }: Props) { }, }); } - return ( - - ); + return ; } diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/index.tsx b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/index.tsx index 06e0e958bf698..4e1c7b6a31c5b 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/index.tsx +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/index.tsx @@ -24,25 +24,18 @@ import { PackagePolicyVars } from './typings'; interface Props { updateAPMPolicy: (newVars: PackagePolicyVars, isValid: boolean) => void; vars?: PackagePolicyVars; - isCloudPolicy: boolean; } -export function APMPolicyForm({ - vars = {}, - isCloudPolicy, - updateAPMPolicy, -}: Props) { +export function APMPolicyForm({ vars = {}, updateAPMPolicy }: Props) { const { apmSettings, rumSettings, tlsSettings, agentAuthorizationSettings } = useMemo(() => { return { - apmSettings: getApmSettings({ isCloudPolicy }), + apmSettings: getApmSettings(), rumSettings: getRUMSettings(), tlsSettings: getTLSSettings(), - agentAuthorizationSettings: getAgentAuthorizationSettings({ - isCloudPolicy, - }), + agentAuthorizationSettings: getAgentAuthorizationSettings(), }; - }, [isCloudPolicy]); + }, []); function handleFormChange(key: string, value: any) { // Merge new key/value with the rest of fields diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/agent_authorization_settings.test.ts b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/agent_authorization_settings.test.ts index 509b0d13552c2..533c053ba4294 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/agent_authorization_settings.test.ts +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/agent_authorization_settings.test.ts @@ -6,41 +6,9 @@ */ import { getAgentAuthorizationSettings } from './agent_authorization_settings'; -import { SettingsRow } from '../typings'; import { isSettingsFormValid } from '../settings_form/utils'; describe('apm-fleet-apm-integration', () => { - describe('getAgentAuthorizationSettings', () => { - function findSetting(key: string, settings: SettingsRow[]) { - return settings.find( - (setting) => setting.type !== 'advanced_setting' && setting.key === key - ); - } - it('returns read only secret token when on cloud', () => { - const settings = getAgentAuthorizationSettings({ isCloudPolicy: true }); - const secretToken = findSetting('secret_token', settings); - expect(secretToken).toEqual({ - type: 'text', - key: 'secret_token', - readOnly: true, - labelAppend: 'Optional', - label: 'Secret token', - }); - }); - it('returns secret token when NOT on cloud', () => { - const settings = getAgentAuthorizationSettings({ isCloudPolicy: false }); - const secretToken = findSetting('secret_token', settings); - - expect(secretToken).toEqual({ - type: 'text', - key: 'secret_token', - readOnly: false, - labelAppend: 'Optional', - label: 'Secret token', - }); - }); - }); - describe('isAgentAuthorizationFormValid', () => { describe('validates integer fields', () => { [ @@ -49,9 +17,7 @@ describe('apm-fleet-apm-integration', () => { 'anonymous_rate_limit_event_limit', ].map((key) => { it(`returns false when ${key} is lower than 1`, () => { - const settings = getAgentAuthorizationSettings({ - isCloudPolicy: true, - }); + const settings = getAgentAuthorizationSettings(); expect( isSettingsFormValid(settings, { [key]: { value: 0, type: 'integer' }, diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/agent_authorization_settings.ts b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/agent_authorization_settings.ts index 3540fb97fb173..c2a858b41e615 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/agent_authorization_settings.ts +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/agent_authorization_settings.ts @@ -10,11 +10,7 @@ import { getIntegerRt } from '../../../../../common/agent_configuration/runtime_ import { OPTIONAL_LABEL } from '../settings_form/utils'; import { SettingsRow } from '../typings'; -export function getAgentAuthorizationSettings({ - isCloudPolicy, -}: { - isCloudPolicy: boolean; -}): SettingsRow[] { +export function getAgentAuthorizationSettings(): SettingsRow[] { return [ { type: 'boolean', @@ -65,7 +61,6 @@ export function getAgentAuthorizationSettings({ { type: 'text', key: 'secret_token', - readOnly: isCloudPolicy, labelAppend: OPTIONAL_LABEL, label: i18n.translate( 'xpack.apm.fleet_integration.settings.agentAuthorization.secretTokenLabel', diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/apm_settings.test.ts b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/apm_settings.test.ts index 2d2acbcd37c55..effef056d6601 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/apm_settings.test.ts +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/apm_settings.test.ts @@ -6,35 +6,14 @@ */ import { getApmSettings } from './apm_settings'; -import { SettingsRow, BasicSettingRow } from '../typings'; import { isSettingsFormValid } from '../settings_form/utils'; describe('apm_settings', () => { - describe('getApmSettings', () => { - function findSetting(key: string, settings: SettingsRow[]) { - return settings.find( - (setting) => setting.type !== 'advanced_setting' && setting.key === key - ) as BasicSettingRow; - } - ['host', 'url'].map((key) => { - it(`returns read only ${key} when on cloud`, () => { - const settings = getApmSettings({ isCloudPolicy: true }); - const setting = findSetting(key, settings); - expect(setting.readOnly).toBeTruthy(); - }); - it(`returns ${key} when NOT on cloud`, () => { - const settings = getApmSettings({ isCloudPolicy: false }); - const setting = findSetting(key, settings); - expect(setting.readOnly).toBeFalsy(); - }); - }); - }); - describe('isAPMFormValid', () => { describe('validates integer fields', () => { ['max_header_bytes', 'max_event_bytes'].map((key) => { it(`returns false when ${key} is lower than 1`, () => { - const settings = getApmSettings({ isCloudPolicy: true }); + const settings = getApmSettings(); expect( isSettingsFormValid(settings, { [key]: { value: 0, type: 'integer' }, @@ -50,7 +29,7 @@ describe('apm_settings', () => { }); ['max_connections'].map((key) => { it(`returns false when ${key} is lower than 0`, () => { - const settings = getApmSettings({ isCloudPolicy: true }); + const settings = getApmSettings(); expect( isSettingsFormValid(settings, { [key]: { value: -1, type: 'integer' }, @@ -63,7 +42,7 @@ describe('apm_settings', () => { describe('validates required fields', () => { ['host', 'url'].map((key) => { it(`return false when ${key} is not defined`, () => { - const settings = getApmSettings({ isCloudPolicy: true }); + const settings = getApmSettings(); expect(isSettingsFormValid(settings, {})).toBeFalsy(); }); }); @@ -73,7 +52,7 @@ describe('apm_settings', () => { ['idle_timeout', 'read_timeout', 'shutdown_timeout', 'write_timeout'].map( (key) => { it(`return false when ${key} lower then 1ms`, () => { - const settings = getApmSettings({ isCloudPolicy: true }); + const settings = getApmSettings(); expect( isSettingsFormValid(settings, { [key]: { value: '0ms', type: 'text' }, diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/apm_settings.ts b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/apm_settings.ts index ec9f740932376..633547b76890b 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/apm_settings.ts +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/apm_settings.ts @@ -10,17 +10,12 @@ import { getIntegerRt } from '../../../../../common/agent_configuration/runtime_ import { OPTIONAL_LABEL, REQUIRED_LABEL } from '../settings_form/utils'; import { SettingsRow } from '../typings'; -export function getApmSettings({ - isCloudPolicy, -}: { - isCloudPolicy: boolean; -}): SettingsRow[] { +export function getApmSettings(): SettingsRow[] { return [ { type: 'text', key: 'host', labelAppend: REQUIRED_LABEL, - readOnly: isCloudPolicy, label: i18n.translate( 'xpack.apm.fleet_integration.settings.apm.hostLabel', { defaultMessage: 'Host' } @@ -43,7 +38,6 @@ export function getApmSettings({ type: 'text', key: 'url', labelAppend: REQUIRED_LABEL, - readOnly: isCloudPolicy, label: i18n.translate( 'xpack.apm.fleet_integration.settings.apm.urlLabel', { diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/form_row_setting.tsx b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/form_row_setting.tsx index 6b3d0ed776dcd..64111eb033ce9 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/form_row_setting.tsx +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/form_row_setting.tsx @@ -22,6 +22,7 @@ interface Props { row: SettingsRow; value?: any; onChange: FormRowOnChange; + isDisabled?: boolean; } const ENABLED_LABEL = i18n.translate( @@ -33,11 +34,12 @@ const DISABLED_LABEL = i18n.translate( { defaultMessage: 'Disabled' } ); -export function FormRowSetting({ row, value, onChange }: Props) { +export function FormRowSetting({ row, value, onChange, isDisabled }: Props) { switch (row.type) { case 'boolean': { return ( { @@ -50,9 +52,9 @@ export function FormRowSetting({ row, value, onChange }: Props) { case 'text': { return ( : undefined} + prepend={isDisabled ? : undefined} onChange={(e) => { onChange(row.key, e.target.value); }} @@ -62,6 +64,7 @@ export function FormRowSetting({ row, value, onChange }: Props) { case 'area': { return ( { onChange(row.key, e.target.value); @@ -73,6 +76,7 @@ export function FormRowSetting({ row, value, onChange }: Props) { case 'integer': { return ( { onChange(row.key, e.target.value); diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/index.tsx b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/index.tsx index af78e885e85d2..93e8abdc6ae1e 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/index.tsx +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/index.tsx @@ -50,7 +50,7 @@ function FormRow({ if (!configEntry) { return null; } - const { value } = configEntry; + const { value, frozen } = configEntry; const { isValid, message } = validateSettingValue(row, value); return ( @@ -69,7 +69,12 @@ function FormRow({ } > - + {row.settings && diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/typings.ts b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/typings.ts index 4f741ceb46f49..33fb7340240a4 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/typings.ts +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/typings.ts @@ -46,7 +46,6 @@ export interface BasicSettingRow { settings?: SettingsRow[]; validation?: SettingValidation; required?: boolean; - readOnly?: boolean; } export type SettingsRow = BasicSettingRow | AdvancedSettingRow; diff --git a/x-pack/plugins/apm/server/lib/fleet/create_cloud_apm_package_policy.ts b/x-pack/plugins/apm/server/lib/fleet/create_cloud_apm_package_policy.ts index 6726865c6c3a5..491db6bec75b0 100644 --- a/x-pack/plugins/apm/server/lib/fleet/create_cloud_apm_package_policy.ts +++ b/x-pack/plugins/apm/server/lib/fleet/create_cloud_apm_package_policy.ts @@ -22,6 +22,7 @@ import { import { getApmPackagePolicyDefinition } from './get_apm_package_policy_definition'; import { Setup } from '../helpers/setup_request'; import { mergePackagePolicyWithApm } from './merge_package_policy_with_apm'; +import { ELASTIC_CLOUD_APM_AGENT_POLICY_ID } from '../../../common/fleet'; export async function createCloudApmPackgePolicy({ cloudPluginSetup, @@ -60,7 +61,7 @@ export async function createCloudApmPackgePolicy({ savedObjectsClient, esClient, mergedAPMPackagePolicy, - { force: true, bumpRevision: true } + { id: ELASTIC_CLOUD_APM_AGENT_POLICY_ID, force: true, bumpRevision: true } ); logger.info(`Fleet migration on Cloud - apmPackagePolicy create end`); return apmPackagePolicy; diff --git a/x-pack/plugins/apm/server/lib/fleet/get_apm_package_policy_definition.ts b/x-pack/plugins/apm/server/lib/fleet/get_apm_package_policy_definition.ts index 9e1889fbe1ed8..9258f714cca79 100644 --- a/x-pack/plugins/apm/server/lib/fleet/get_apm_package_policy_definition.ts +++ b/x-pack/plugins/apm/server/lib/fleet/get_apm_package_policy_definition.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ - +import yaml from 'js-yaml'; import { POLICY_ELASTIC_AGENT_ON_CLOUD, SUPPORTED_APM_PACKAGE_VERSION, @@ -84,15 +84,25 @@ export function preprocessLegacyFields({ function getApmPackageInputVars(options: GetApmPackagePolicyDefinitionOptions) { const { apmServerSchema } = options; const apmServerConfigs = Object.entries(apmConfigMapping).map( - ([key, { name, type, getValue }]) => ({ key, name, type, getValue }) + ([key, { name, type, getValue, frozen }]) => ({ + key, + name, + type, + getValue, + frozen, + }) ); const inputVars: Record = - apmServerConfigs.reduce((acc, { key, name, type, getValue }) => { - const value = (getValue ? getValue(options) : apmServerSchema[key]) ?? ''; // defaults to an empty string to be edited in Fleet UI + apmServerConfigs.reduce((acc, { key, name, type, getValue, frozen }) => { + const apmServerSchemaValue = apmServerSchema[key]; + const value = + (getValue + ? getValue(options, apmServerSchemaValue) + : apmServerSchemaValue) ?? ''; // defaults to an empty string to be edited in Fleet UI return { ...acc, - [name]: { type, value }, + [name]: { type, value, frozen }, }; }, {}); return inputVars; @@ -103,17 +113,23 @@ export const apmConfigMapping: Record< { name: string; type: string; - getValue?: (options: GetApmPackagePolicyDefinitionOptions) => any; + getValue?: ( + options: GetApmPackagePolicyDefinitionOptions, + value?: any + ) => any; + frozen?: boolean; } > = { 'apm-server.host': { name: 'host', type: 'text', + frozen: true, }, 'apm-server.url': { name: 'url', type: 'text', getValue: ({ cloudPluginSetup }) => cloudPluginSetup?.apm?.url, + frozen: true, }, 'apm-server.rum.enabled': { name: 'enable_rum', @@ -126,6 +142,8 @@ export const apmConfigMapping: Record< 'apm-server.rum.allow_origins': { name: 'rum_allow_origins', type: 'text', + getValue: (options, apmServerSchemaValue) => + ensureValidMultiText(apmServerSchemaValue as string[]) ?? '', }, 'apm-server.rum.allow_headers': { name: 'rum_allow_headers', @@ -198,14 +216,17 @@ export const apmConfigMapping: Record< 'apm-server.ssl.enabled': { name: 'tls_enabled', type: 'bool', + frozen: true, }, 'apm-server.ssl.certificate': { name: 'tls_certificate', type: 'text', + frozen: true, }, 'apm-server.ssl.key': { name: 'tls_key', type: 'text', + frozen: true, }, 'apm-server.ssl.supported_protocols': { name: 'tls_supported_protocols', @@ -252,3 +273,20 @@ export const apmConfigMapping: Record< type: 'integer', }, }; + +function ensureValidMultiText(textMultiValue: string[] | undefined) { + if (!textMultiValue) { + return undefined; + } + return textMultiValue.map(escapeInvalidYamlString); +} +function escapeInvalidYamlString(yamlString: string) { + try { + yaml.load(yamlString); + } catch (error) { + if (error instanceof yaml.YAMLException) { + return `"${yamlString}"`; + } + } + return yamlString; +} diff --git a/x-pack/plugins/apm/typings/timeseries.ts b/x-pack/plugins/apm/typings/timeseries.ts index 0157ca4dd6f04..86ee9162b598a 100644 --- a/x-pack/plugins/apm/typings/timeseries.ts +++ b/x-pack/plugins/apm/typings/timeseries.ts @@ -11,8 +11,8 @@ import { Fit, FitConfig, LineSeriesStyle, + RecursivePartial, } from '@elastic/charts'; -import { DeepPartial } from 'utility-types'; import { Maybe } from '../typings/common'; export interface Coordinate { @@ -46,8 +46,8 @@ export interface APMChartSpec< fit?: Exclude | FitConfig; stackAccessors?: Accessor; splitSeriesAccessors?: Accessor; - lineSeriesStyle?: DeepPartial; - areaSeriesStyle?: DeepPartial; + lineSeriesStyle?: RecursivePartial; + areaSeriesStyle?: RecursivePartial; } export type ChartType = 'area' | 'linemark'; diff --git a/x-pack/plugins/canvas/canvas_plugin_src/uis/datasources/esdocs.js b/x-pack/plugins/canvas/canvas_plugin_src/uis/datasources/esdocs.js index 817851b53c186..150b7c0616887 100644 --- a/x-pack/plugins/canvas/canvas_plugin_src/uis/datasources/esdocs.js +++ b/x-pack/plugins/canvas/canvas_plugin_src/uis/datasources/esdocs.js @@ -5,7 +5,7 @@ * 2.0. */ -import React from 'react'; +import React, { useEffect, useCallback } from 'react'; import PropTypes from 'prop-types'; import { EuiFormRow, @@ -27,13 +27,16 @@ import { DataSourceStrings, LUCENE_QUERY_URL } from '../../../i18n'; const { ESDocs: strings } = DataSourceStrings; const EsdocsDatasource = ({ args, updateArgs, defaultIndex }) => { - const setArg = (name, value) => { - updateArgs && - updateArgs({ - ...args, - ...setSimpleArg(name, value), - }); - }; + const setArg = useCallback( + (name, value) => { + updateArgs && + updateArgs({ + ...args, + ...setSimpleArg(name, value), + }); + }, + [args, updateArgs] + ); // TODO: This is a terrible way of doing defaults. We need to find a way to read the defaults for the function // and set them for the data source UI. @@ -73,6 +76,12 @@ const EsdocsDatasource = ({ args, updateArgs, defaultIndex }) => { const index = getIndex(); + useEffect(() => { + if (getSimpleArg('index', args)[0] !== index) { + setArg('index', index); + } + }, [args, index, setArg]); + const sortOptions = [ { value: 'asc', text: strings.getAscendingOption() }, { value: 'desc', text: strings.getDescendingOption() }, diff --git a/x-pack/plugins/canvas/public/components/render_with_fn/render_with_fn.tsx b/x-pack/plugins/canvas/public/components/render_with_fn/render_with_fn.tsx index 1f366468a8338..b0549bbc8448c 100644 --- a/x-pack/plugins/canvas/public/components/render_with_fn/render_with_fn.tsx +++ b/x-pack/plugins/canvas/public/components/render_with_fn/render_with_fn.tsx @@ -58,7 +58,7 @@ export const RenderWithFn: FC = ({ return; } - if (!firstRender) { + if (!firstRender.current) { handlers.current.destroy(); } diff --git a/x-pack/plugins/cases/public/components/all_cases/columns.tsx b/x-pack/plugins/cases/public/components/all_cases/columns.tsx index c0bd6536f1b73..46edb6e6bc9d5 100644 --- a/x-pack/plugins/cases/public/components/all_cases/columns.tsx +++ b/x-pack/plugins/cases/public/components/all_cases/columns.tsx @@ -188,7 +188,7 @@ export const useCasesColumns = ({ size="s" /> - {createdBy.fullName ? createdBy.fullName : createdBy.username ?? i18n.UNKNOWN} + {createdBy.username ?? i18n.UNKNOWN} ); diff --git a/x-pack/plugins/cases/public/components/all_cases/index.test.tsx b/x-pack/plugins/cases/public/components/all_cases/index.test.tsx index a387c5eae3834..3062a5f0a7433 100644 --- a/x-pack/plugins/cases/public/components/all_cases/index.test.tsx +++ b/x-pack/plugins/cases/public/components/all_cases/index.test.tsx @@ -188,7 +188,7 @@ describe('AllCasesGeneric', () => { wrapper.find(`span[data-test-subj="case-table-column-tags-0"]`).first().prop('title') ).toEqual(useGetCasesMockState.data.cases[0].tags[0]); expect(wrapper.find(`[data-test-subj="case-table-column-createdBy"]`).first().text()).toEqual( - useGetCasesMockState.data.cases[0].createdBy.fullName + useGetCasesMockState.data.cases[0].createdBy.username ); expect( wrapper diff --git a/x-pack/plugins/cases/public/components/markdown_editor/renderer.tsx b/x-pack/plugins/cases/public/components/markdown_editor/renderer.tsx index 6a91dda97a892..ae08d39a53e7a 100644 --- a/x-pack/plugins/cases/public/components/markdown_editor/renderer.tsx +++ b/x-pack/plugins/cases/public/components/markdown_editor/renderer.tsx @@ -31,6 +31,7 @@ const MarkdownRendererComponent: React.FC = ({ children, disableLinks }) {children} diff --git a/x-pack/plugins/cases/public/components/user_action_tree/user_action_markdown.tsx b/x-pack/plugins/cases/public/components/user_action_tree/user_action_markdown.tsx index f7a6932b35856..24fac6f849d58 100644 --- a/x-pack/plugins/cases/public/components/user_action_tree/user_action_markdown.tsx +++ b/x-pack/plugins/cases/public/components/user_action_tree/user_action_markdown.tsx @@ -112,7 +112,7 @@ export const UserActionMarkdown = forwardRef ) : ( - + {content} ); diff --git a/x-pack/plugins/cases/server/client/cases/push.ts b/x-pack/plugins/cases/server/client/cases/push.ts index 1b090a653546d..1a0e350f1ccfd 100644 --- a/x-pack/plugins/cases/server/client/cases/push.ts +++ b/x-pack/plugins/cases/server/client/cases/push.ts @@ -18,6 +18,7 @@ import { ENABLE_CASE_CONNECTOR, CasesConfigureAttributes, CaseAttributes, + OWNER_FIELD, } from '../../../common'; import { buildCaseUserActionItem } from '../../services/user_actions/helpers'; @@ -26,6 +27,7 @@ import { createCaseError, flattenCaseSavedObject, getAlertInfoFromComments } fro import { CasesClient, CasesClientArgs, CasesClientInternal } from '..'; import { Operations } from '../../authorization'; import { casesConnectors } from '../../connectors'; +import { buildFilter } from '../utils'; /** * Returns true if the case should be closed based on the configuration settings and whether the case @@ -148,13 +150,20 @@ export const push = async ( /* End of push to external service */ + const ownerFilter = buildFilter({ + filters: theCase.owner, + field: OWNER_FIELD, + operator: 'or', + type: Operations.findConfigurations.savedObjectType, + }); + /* Start of update case with push information */ const [myCase, myCaseConfigure, comments] = await Promise.all([ caseService.getCase({ unsecuredSavedObjectsClient, id: caseId, }), - caseConfigureService.find({ unsecuredSavedObjectsClient }), + caseConfigureService.find({ unsecuredSavedObjectsClient, options: { filter: ownerFilter } }), caseService.getAllCaseComments({ unsecuredSavedObjectsClient, id: caseId, diff --git a/x-pack/plugins/cases/server/client/configure/client.test.ts b/x-pack/plugins/cases/server/client/configure/client.test.ts new file mode 100644 index 0000000000000..971748bd8295a --- /dev/null +++ b/x-pack/plugins/cases/server/client/configure/client.test.ts @@ -0,0 +1,104 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { CasesClientArgs } from '../types'; +import { loggingSystemMock } from '../../../../../../src/core/server/mocks'; +import { getConnectors } from './client'; +import { actionsClientMock } from '../../../../actions/server/mocks'; +import { ActionType } from '../../../../actions/common/types'; + +describe('client', () => { + describe('getConnectors', () => { + const logger = loggingSystemMock.createLogger(); + const actionsClient = actionsClientMock.create(); + + const args = { actionsClient, logger } as unknown as CasesClientArgs; + + const jiraType: ActionType = { + id: '.jira', + name: '1', + enabled: true, + enabledInConfig: true, + enabledInLicense: true, + minimumLicenseRequired: 'basic', + }; + + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('removes connectors without a config field defined', async () => { + actionsClient.listTypes.mockImplementation(async () => [jiraType]); + + actionsClient.getAll.mockImplementation(async () => [ + { + id: '1', + actionTypeId: '.jira', + name: '1', + isPreconfigured: false, + referencedByCount: 1, + }, + ]); + + expect(await getConnectors(args)).toEqual([]); + }); + + it('removes connectors that are pre configured', async () => { + actionsClient.listTypes.mockImplementation(async () => [jiraType]); + + actionsClient.getAll.mockImplementation(async () => [ + { + id: '1', + actionTypeId: '.jira', + name: '1', + config: {}, + isPreconfigured: true, + referencedByCount: 1, + }, + ]); + + expect(await getConnectors(args)).toEqual([]); + }); + + it('includes connectors that have a config and are not pre configured', async () => { + actionsClient.listTypes.mockImplementation(async () => [ + jiraType, + { + id: '.servicenow', + name: '2', + enabled: true, + enabledInConfig: true, + enabledInLicense: true, + minimumLicenseRequired: 'basic', + }, + ]); + + const connectors = [ + { + id: '1', + actionTypeId: '.jira', + name: '1', + config: {}, + isPreconfigured: false, + referencedByCount: 1, + }, + { + id: '2', + actionTypeId: '.servicenow', + name: '2', + config: {}, + isPreconfigured: false, + referencedByCount: 1, + }, + ]; + + actionsClient.getAll.mockImplementation(async () => connectors); + + expect(await getConnectors(args)).toEqual(connectors); + }); + }); +}); diff --git a/x-pack/plugins/cases/server/client/configure/client.ts b/x-pack/plugins/cases/server/client/configure/client.ts index 791fcc70947db..4136dc4680bbc 100644 --- a/x-pack/plugins/cases/server/client/configure/client.ts +++ b/x-pack/plugins/cases/server/client/configure/client.ts @@ -204,17 +204,10 @@ async function get( } } -async function getConnectors({ +export async function getConnectors({ actionsClient, logger, }: CasesClientArgs): Promise { - const isConnectorSupported = ( - action: FindActionResult, - actionTypes: Record - ): boolean => - SUPPORTED_CONNECTORS.includes(action.actionTypeId) && - actionTypes[action.actionTypeId]?.enabledInLicense; - try { const actionTypes = (await actionsClient.listTypes()).reduce( (types, type) => ({ ...types, [type.id]: type }), @@ -229,6 +222,18 @@ async function getConnectors({ } } +function isConnectorSupported( + action: FindActionResult, + actionTypes: Record +): boolean { + return ( + SUPPORTED_CONNECTORS.includes(action.actionTypeId) && + actionTypes[action.actionTypeId]?.enabledInLicense && + action.config != null && + !action.isPreconfigured + ); +} + async function update( configurationId: string, req: CasesConfigurePatch, diff --git a/x-pack/plugins/cloud/common/constants.ts b/x-pack/plugins/cloud/common/constants.ts index f2009223f8ac1..fc37906299d14 100644 --- a/x-pack/plugins/cloud/common/constants.ts +++ b/x-pack/plugins/cloud/common/constants.ts @@ -5,7 +5,7 @@ * 2.0. */ -export const ELASTIC_SUPPORT_LINK = 'https://support.elastic.co/'; +export const ELASTIC_SUPPORT_LINK = 'https://cloud.elastic.co/support'; /** * This is the page for managing your snapshots on Cloud. diff --git a/x-pack/plugins/cloud/public/plugin.test.ts b/x-pack/plugins/cloud/public/plugin.test.ts index c1c94375d7063..3318be43f1080 100644 --- a/x-pack/plugins/cloud/public/plugin.test.ts +++ b/x-pack/plugins/cloud/public/plugin.test.ts @@ -304,7 +304,7 @@ describe('Cloud Plugin', () => { expect(coreStart.chrome.setHelpSupportUrl).toHaveBeenCalledTimes(1); expect(coreStart.chrome.setHelpSupportUrl.mock.calls[0]).toMatchInlineSnapshot(` Array [ - "https://support.elastic.co/", + "https://cloud.elastic.co/support", ] `); }); diff --git a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/auto_follow_pattern_add.test.js b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/auto_follow_pattern_add.test.js index e49751cecc1d0..b47dc3e321f8b 100644 --- a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/auto_follow_pattern_add.test.js +++ b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/auto_follow_pattern_add.test.js @@ -12,15 +12,10 @@ import { setupEnvironment, pageHelpers, nextTick, getRandomString } from './help const { setup } = pageHelpers.autoFollowPatternAdd; describe('Create Auto-follow pattern', () => { - let server; let httpRequestsMockHelpers; beforeAll(() => { - ({ server, httpRequestsMockHelpers } = setupEnvironment()); - }); - - afterAll(() => { - server.restore(); + ({ httpRequestsMockHelpers } = setupEnvironment()); }); beforeEach(() => { diff --git a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/auto_follow_pattern_edit.test.js b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/auto_follow_pattern_edit.test.js index 7d1a97ae1f97e..c72893473860d 100644 --- a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/auto_follow_pattern_edit.test.js +++ b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/auto_follow_pattern_edit.test.js @@ -8,21 +8,16 @@ import { AutoFollowPatternForm } from '../../app/components/auto_follow_pattern_form'; import './mocks'; import { setupEnvironment, pageHelpers, nextTick } from './helpers'; -import { AUTO_FOLLOW_PATTERN_EDIT } from './helpers/constants'; +import { AUTO_FOLLOW_PATTERN_EDIT, AUTO_FOLLOW_PATTERN_EDIT_NAME } from './helpers/constants'; const { setup } = pageHelpers.autoFollowPatternEdit; const { setup: setupAutoFollowPatternAdd } = pageHelpers.autoFollowPatternAdd; describe('Edit Auto-follow pattern', () => { - let server; let httpRequestsMockHelpers; beforeAll(() => { - ({ server, httpRequestsMockHelpers } = setupEnvironment()); - }); - - afterAll(() => { - server.restore(); + ({ httpRequestsMockHelpers } = setupEnvironment()); }); describe('on component mount', () => { @@ -36,7 +31,10 @@ describe('Edit Auto-follow pattern', () => { beforeEach(async () => { httpRequestsMockHelpers.setLoadRemoteClustersResponse(remoteClusters); - httpRequestsMockHelpers.setGetAutoFollowPatternResponse(AUTO_FOLLOW_PATTERN_EDIT); + httpRequestsMockHelpers.setGetAutoFollowPatternResponse( + AUTO_FOLLOW_PATTERN_EDIT_NAME, + AUTO_FOLLOW_PATTERN_EDIT + ); ({ component, find } = setup()); await nextTick(); @@ -83,7 +81,10 @@ describe('Edit Auto-follow pattern', () => { httpRequestsMockHelpers.setLoadRemoteClustersResponse([ { name: 'cluster-2', seeds: ['localhost:123'], isConnected: false }, ]); - httpRequestsMockHelpers.setGetAutoFollowPatternResponse(AUTO_FOLLOW_PATTERN_EDIT); + httpRequestsMockHelpers.setGetAutoFollowPatternResponse( + AUTO_FOLLOW_PATTERN_EDIT_NAME, + AUTO_FOLLOW_PATTERN_EDIT + ); ({ component, find, exists, actions, form } = setup()); await nextTick(); diff --git a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/auto_follow_pattern_list.test.js b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/auto_follow_pattern_list.test.js index 7f7a61a6f0177..8eab5feeb9cfd 100644 --- a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/auto_follow_pattern_list.test.js +++ b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/auto_follow_pattern_list.test.js @@ -12,15 +12,10 @@ import { setupEnvironment, pageHelpers, nextTick, delay, getRandomString } from const { setup } = pageHelpers.autoFollowPatternList; describe('', () => { - let server; let httpRequestsMockHelpers; beforeAll(() => { - ({ server, httpRequestsMockHelpers } = setupEnvironment()); - }); - - afterAll(() => { - server.restore(); + ({ httpRequestsMockHelpers } = setupEnvironment()); }); beforeEach(() => { @@ -213,7 +208,7 @@ describe('', () => { expect(rows.length).toBe(2); // We wil delete the *first* auto-follow pattern in the table - httpRequestsMockHelpers.setDeleteAutoFollowPatternResponse({ + httpRequestsMockHelpers.setDeleteAutoFollowPatternResponse(autoFollowPattern1.name, { itemsDeleted: [autoFollowPattern1.name], }); diff --git a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/follower_index_add.test.js b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/follower_index_add.test.js index 10e41a8b18d5b..61d5eae72bcfd 100644 --- a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/follower_index_add.test.js +++ b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/follower_index_add.test.js @@ -14,15 +14,13 @@ const { setup } = pageHelpers.followerIndexAdd; const { setup: setupAutoFollowPatternAdd } = pageHelpers.autoFollowPatternAdd; describe('Create Follower index', () => { - let server; + let httpSetup; let httpRequestsMockHelpers; beforeAll(() => { - ({ server, httpRequestsMockHelpers } = setupEnvironment()); - }); - - afterAll(() => { - server.restore(); + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; }); beforeEach(() => { @@ -165,15 +163,12 @@ describe('Create Follower index', () => { test('should make a request to check if the index name is available in ES', async () => { httpRequestsMockHelpers.setGetClusterIndicesResponse([]); - // Keep track of the request count made until this point - const totalRequests = server.requests.length; - form.setInputValue('followerIndexInput', 'index-name'); await delay(550); // we need to wait as there is a debounce of 500ms on the http validation - expect(server.requests.length).toBe(totalRequests + 1); - expect(server.requests[server.requests.length - 1].url).toBe( - '/api/index_management/indices' + expect(httpSetup.get).toHaveBeenLastCalledWith( + `/api/index_management/indices`, + expect.anything() ); }); diff --git a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/follower_index_edit.test.js b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/follower_index_edit.test.js index 700a8cb38a392..31350601f6232 100644 --- a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/follower_index_edit.test.js +++ b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/follower_index_edit.test.js @@ -4,26 +4,25 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ +import { act } from 'react-dom/test-utils'; import { API_BASE_PATH } from '../../../common/constants'; import { FollowerIndexForm } from '../../app/components/follower_index_form/follower_index_form'; import './mocks'; -import { FOLLOWER_INDEX_EDIT } from './helpers/constants'; +import { FOLLOWER_INDEX_EDIT, FOLLOWER_INDEX_EDIT_NAME } from './helpers/constants'; import { setupEnvironment, pageHelpers, nextTick } from './helpers'; const { setup } = pageHelpers.followerIndexEdit; const { setup: setupFollowerIndexAdd } = pageHelpers.followerIndexAdd; describe('Edit follower index', () => { - let server; + let httpSetup; let httpRequestsMockHelpers; beforeAll(() => { - ({ server, httpRequestsMockHelpers } = setupEnvironment()); - }); - - afterAll(() => { - server.restore(); + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; }); describe('on component mount', () => { @@ -34,7 +33,10 @@ describe('Edit follower index', () => { beforeEach(async () => { httpRequestsMockHelpers.setLoadRemoteClustersResponse(remoteClusters); - httpRequestsMockHelpers.setGetFollowerIndexResponse(FOLLOWER_INDEX_EDIT); + httpRequestsMockHelpers.setGetFollowerIndexResponse( + FOLLOWER_INDEX_EDIT_NAME, + FOLLOWER_INDEX_EDIT + ); ({ component, find } = setup()); await nextTick(); @@ -96,44 +98,46 @@ describe('Edit follower index', () => { beforeEach(async () => { httpRequestsMockHelpers.setLoadRemoteClustersResponse(remoteClusters); - httpRequestsMockHelpers.setGetFollowerIndexResponse(FOLLOWER_INDEX_EDIT); + httpRequestsMockHelpers.setGetFollowerIndexResponse( + FOLLOWER_INDEX_EDIT_NAME, + FOLLOWER_INDEX_EDIT + ); - testBed = await setup(); - await testBed.waitFor('followerIndexForm'); + await act(async () => { + testBed = await setup(); + }); + + testBed.component.update(); }); test('is consumed correctly', async () => { - const { actions, form, component, find, waitFor } = testBed; + const { actions, form, component, find } = testBed; form.setInputValue('maxRetryDelayInput', '10s'); actions.clickSaveForm(); component.update(); // The modal to confirm the update opens - await waitFor('confirmModalTitleText'); find('confirmModalConfirmButton').simulate('click'); await nextTick(); // Make sure the Request went through - const latestRequest = server.requests[server.requests.length - 1]; - const requestBody = JSON.parse(JSON.parse(latestRequest.requestBody).body); - - // Verify the API endpoint called: method, path and payload - expect(latestRequest.method).toBe('PUT'); - expect(latestRequest.url).toBe( - `${API_BASE_PATH}/follower_indices/${FOLLOWER_INDEX_EDIT.name}` + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/follower_indices/${FOLLOWER_INDEX_EDIT_NAME}`, + expect.objectContaining({ + body: JSON.stringify({ + maxReadRequestOperationCount: 7845, + maxOutstandingReadRequests: 16, + maxReadRequestSize: '64mb', + maxWriteRequestOperationCount: 2456, + maxWriteRequestSize: '1048b', + maxOutstandingWriteRequests: 69, + maxWriteBufferCount: 123456, + maxWriteBufferSize: '256mb', + maxRetryDelay: '10s', + readPollTimeout: '2m', + }), + }) ); - expect(requestBody).toEqual({ - maxReadRequestOperationCount: 7845, - maxOutstandingReadRequests: 16, - maxReadRequestSize: '64mb', - maxWriteRequestOperationCount: 2456, - maxWriteRequestSize: '1048b', - maxOutstandingWriteRequests: 69, - maxWriteBufferCount: 123456, - maxWriteBufferSize: '256mb', - maxRetryDelay: '10s', - readPollTimeout: '2m', - }); }); }); @@ -148,7 +152,10 @@ describe('Edit follower index', () => { httpRequestsMockHelpers.setLoadRemoteClustersResponse([ { name: 'new-york', seeds: ['localhost:123'], isConnected: false }, ]); - httpRequestsMockHelpers.setGetFollowerIndexResponse(FOLLOWER_INDEX_EDIT); + httpRequestsMockHelpers.setGetFollowerIndexResponse( + FOLLOWER_INDEX_EDIT_NAME, + FOLLOWER_INDEX_EDIT + ); ({ component, find, exists, actions, form } = setup()); await nextTick(); diff --git a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/follower_indices_list.test.js b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/follower_indices_list.test.js index 9f2cb6452c6f2..764fb1c0ed159 100644 --- a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/follower_indices_list.test.js +++ b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/follower_indices_list.test.js @@ -21,17 +21,15 @@ import { setupEnvironment, pageHelpers, getRandomString } from './helpers'; const { setup } = pageHelpers.followerIndexList; describe('', () => { - let server; let httpRequestsMockHelpers; beforeAll(() => { jest.useFakeTimers(); - ({ server, httpRequestsMockHelpers } = setupEnvironment()); + ({ httpRequestsMockHelpers } = setupEnvironment()); }); afterAll(() => { jest.useRealTimers(); - server.restore(); }); beforeEach(() => { diff --git a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/helpers/http_requests.js b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/helpers/http_requests.js index 5707f9fa5fdcd..43bdcd8b3a414 100644 --- a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/helpers/http_requests.js +++ b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/helpers/http_requests.js @@ -5,111 +5,63 @@ * 2.0. */ -import { fakeServer } from 'sinon'; +import { httpServiceMock } from '../../../../../../../src/core/public/mocks'; +import { API_BASE_PATH } from '../../../../common/constants'; // Register helpers to mock HTTP Requests -const registerHttpRequestMockHelpers = (server) => { - const mockResponse = (defaultResponse, response) => [ - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify({ ...defaultResponse, ...response }), - ]; - - const setLoadFollowerIndicesResponse = (response) => { - const defaultResponse = { indices: [] }; - - server.respondWith( - 'GET', - '/api/cross_cluster_replication/follower_indices', - mockResponse(defaultResponse, response) - ); - }; - - const setLoadAutoFollowPatternsResponse = (response) => { - const defaultResponse = { patterns: [] }; +const registerHttpRequestMockHelpers = (httpSetup) => { + const mockResponses = new Map( + ['GET', 'PUT', 'DELETE', 'POST'].map((method) => [method, new Map()]) + ); - server.respondWith( - 'GET', - '/api/cross_cluster_replication/auto_follow_patterns', - mockResponse(defaultResponse, response) - ); + const mockMethodImplementation = (method, path) => { + return mockResponses.get(method)?.get(path) ?? Promise.resolve({}); }; - const setDeleteAutoFollowPatternResponse = (response) => { - const defaultResponse = { errors: [], itemsDeleted: [] }; + httpSetup.get.mockImplementation((path) => mockMethodImplementation('GET', path)); + httpSetup.delete.mockImplementation((path) => mockMethodImplementation('DELETE', path)); + httpSetup.post.mockImplementation((path) => mockMethodImplementation('POST', path)); + httpSetup.put.mockImplementation((path) => mockMethodImplementation('PUT', path)); - server.respondWith( - 'DELETE', - /\/api\/cross_cluster_replication\/auto_follow_patterns/, - mockResponse(defaultResponse, response) - ); - }; - - const setAutoFollowStatsResponse = (response) => { - const defaultResponse = { - numberOfFailedFollowIndices: 0, - numberOfFailedRemoteClusterStateRequests: 0, - numberOfSuccessfulFollowIndices: 0, - recentAutoFollowErrors: [], - autoFollowedClusters: [ - { - clusterName: 'new-york', - timeSinceLastCheckMillis: 13746, - lastSeenMetadataVersion: 22, - }, - ], + const mockResponse = (method, path, response, error) => { + const defuse = (promise) => { + promise.catch(() => {}); + return promise; }; - server.respondWith( - 'GET', - '/api/cross_cluster_replication/stats/auto_follow', - mockResponse(defaultResponse, response) - ); + return mockResponses + .get(method) + .set(path, error ? defuse(Promise.reject({ body: error })) : Promise.resolve(response)); }; - const setLoadRemoteClustersResponse = (response = [], error) => { - if (error) { - server.respondWith('GET', '/api/remote_clusters', [ - error.status || 400, - { 'Content-Type': 'application/json' }, - JSON.stringify(error.body), - ]); - } else { - server.respondWith('GET', '/api/remote_clusters', [ - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify(response), - ]); - } - }; + const setLoadFollowerIndicesResponse = (response = { indices: [] }, error) => + mockResponse('GET', `${API_BASE_PATH}/follower_indices`, response, error); - const setGetAutoFollowPatternResponse = (response) => { - const defaultResponse = {}; + const setLoadAutoFollowPatternsResponse = (response = { patterns: [] }, error) => + mockResponse('GET', `${API_BASE_PATH}/auto_follow_patterns`, response, error); - server.respondWith( - 'GET', - /\/api\/cross_cluster_replication\/auto_follow_patterns\/.+/, - mockResponse(defaultResponse, response) + const setDeleteAutoFollowPatternResponse = (autoFollowId, response, error) => + mockResponse( + 'DELETE', + `${API_BASE_PATH}/auto_follow_patterns/${autoFollowId}`, + response, + error ); - }; - const setGetClusterIndicesResponse = (response = []) => { - server.respondWith('GET', '/api/index_management/indices', [ - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify(response), - ]); - }; + const setAutoFollowStatsResponse = (response, error) => + mockResponse('GET', `${API_BASE_PATH}/stats/auto_follow`, response, error); - const setGetFollowerIndexResponse = (response) => { - const defaultResponse = {}; + const setLoadRemoteClustersResponse = (response = [], error) => + mockResponse('GET', '/api/remote_clusters', response, error); - server.respondWith( - 'GET', - /\/api\/cross_cluster_replication\/follower_indices\/.+/, - mockResponse(defaultResponse, response) - ); - }; + const setGetAutoFollowPatternResponse = (patternId, response = {}, error) => + mockResponse('GET', `${API_BASE_PATH}/auto_follow_patterns/${patternId}`, response, error); + + const setGetClusterIndicesResponse = (response = [], error) => + mockResponse('GET', '/api/index_management/indices', response, error); + + const setGetFollowerIndexResponse = (patternId, response = {}, error) => + mockResponse('GET', `${API_BASE_PATH}/follower_indices/${patternId}`, response, error); return { setLoadFollowerIndicesResponse, @@ -124,15 +76,10 @@ const registerHttpRequestMockHelpers = (server) => { }; export const init = () => { - const server = fakeServer.create(); - server.respondImmediately = true; - - // We make requests to APIs which don't impact the UX, e.g. UI metric telemetry, - // and we can mock them all with a 200 instead of mocking each one individually. - server.respondWith([200, {}, '']); + const httpSetup = httpServiceMock.createSetupContract(); return { - server, - httpRequestsMockHelpers: registerHttpRequestMockHelpers(server), + httpSetup, + httpRequestsMockHelpers: registerHttpRequestMockHelpers(httpSetup), }; }; diff --git a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/helpers/setup_environment.js b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/helpers/setup_environment.js index 41efd474e43dc..1d030dff5f2f7 100644 --- a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/helpers/setup_environment.js +++ b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/helpers/setup_environment.js @@ -5,26 +5,16 @@ * 2.0. */ -import axios from 'axios'; -import axiosXhrAdapter from 'axios/lib/adapters/xhr'; - import { docLinksServiceMock } from '../../../../../../../src/core/public/mocks'; -import { setHttpClient } from '../../../app/services/api'; import { init as initDocumentation } from '../../../app/services/documentation_links'; import { init as initHttpRequests } from './http_requests'; +import { setHttpClient } from '../../../app/services/api'; export const setupEnvironment = () => { - // axios has a similar interface to HttpSetup, but we - // flatten out the response. - const client = axios.create({ adapter: axiosXhrAdapter }); - client.interceptors.response.use(({ data }) => data); - setHttpClient(client); - initDocumentation(docLinksServiceMock.createStartContract()); + const httpRequests = initHttpRequests(); - const { server, httpRequestsMockHelpers } = initHttpRequests(); + setHttpClient(httpRequests.httpSetup); + initDocumentation(docLinksServiceMock.createStartContract()); - return { - server, - httpRequestsMockHelpers, - }; + return httpRequests; }; diff --git a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/home.test.js b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/home.test.js index d4cbb1225a81a..b4b8009aedc3c 100644 --- a/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/home.test.js +++ b/x-pack/plugins/cross_cluster_replication/public/__jest__/client_integration/home.test.js @@ -11,18 +11,13 @@ import { setupEnvironment, pageHelpers, nextTick } from './helpers'; const { setup } = pageHelpers.home; describe('', () => { - let server; let httpRequestsMockHelpers; let find; let exists; let component; beforeAll(() => { - ({ server, httpRequestsMockHelpers } = setupEnvironment()); - }); - - afterAll(() => { - server.restore(); + ({ httpRequestsMockHelpers } = setupEnvironment()); }); beforeEach(() => { diff --git a/x-pack/plugins/data_visualizer/common/utils/runtime_field_utils.ts b/x-pack/plugins/data_visualizer/common/utils/runtime_field_utils.ts index fbe4ae5c6faf1..3819dc51feb60 100644 --- a/x-pack/plugins/data_visualizer/common/utils/runtime_field_utils.ts +++ b/x-pack/plugins/data_visualizer/common/utils/runtime_field_utils.ts @@ -14,11 +14,12 @@ export function isRuntimeField(arg: unknown): arg is estypes.MappingRuntimeField return ( ((isPopulatedObject(arg, ['type']) && Object.keys(arg).length === 1) || (isPopulatedObject(arg, ['type', 'script']) && - Object.keys(arg).length === 2 && + // Can be a string (typeof arg.script === 'string' || - (isPopulatedObject(arg.script, ['source']) && - Object.keys(arg.script).length === 1 && - typeof arg.script.source === 'string')))) && + // Can be InlineScript + (isPopulatedObject(arg.script, ['source']) && typeof arg.script.source === 'string') || + // Can be StoredScriptId + (isPopulatedObject(arg.script, ['id']) && typeof arg.script.id === 'string')))) && RUNTIME_FIELD_TYPES.includes(arg.type as RuntimeType) ); } diff --git a/x-pack/plugins/encrypted_saved_objects/server/crypto/index.ts b/x-pack/plugins/encrypted_saved_objects/server/crypto/index.ts index 532702f213192..c4eec06ae5877 100644 --- a/x-pack/plugins/encrypted_saved_objects/server/crypto/index.ts +++ b/x-pack/plugins/encrypted_saved_objects/server/crypto/index.ts @@ -8,6 +8,7 @@ export type { EncryptedSavedObjectTypeRegistration, SavedObjectDescriptor, + AttributeToEncrypt, } from './encrypted_saved_objects_service'; export { EncryptedSavedObjectsService, descriptorToArray } from './encrypted_saved_objects_service'; export { EncryptionError, EncryptionErrorOperation } from './encryption_error'; diff --git a/x-pack/plugins/encrypted_saved_objects/server/index.ts b/x-pack/plugins/encrypted_saved_objects/server/index.ts index 0e5f2bc5027b5..08d72984e955f 100644 --- a/x-pack/plugins/encrypted_saved_objects/server/index.ts +++ b/x-pack/plugins/encrypted_saved_objects/server/index.ts @@ -10,11 +10,19 @@ import type { PluginConfigDescriptor, PluginInitializerContext } from 'src/core/ import { ConfigSchema } from './config'; import { EncryptedSavedObjectsPlugin } from './plugin'; -export type { EncryptedSavedObjectTypeRegistration } from './crypto'; -export { EncryptionError } from './crypto'; +export type { EncryptedSavedObjectTypeRegistration, AttributeToEncrypt } from './crypto'; +export { EncryptionError, EncryptionErrorOperation } from './crypto'; export type { EncryptedSavedObjectsPluginSetup, EncryptedSavedObjectsPluginStart } from './plugin'; -export type { EncryptedSavedObjectsClient } from './saved_objects'; -export type { IsMigrationNeededPredicate } from './create_migration'; +export type { + EncryptedSavedObjectsClient, + EncryptedSavedObjectsClientOptions, + ClientInstanciator, +} from './saved_objects'; +export type { + IsMigrationNeededPredicate, + CreateEncryptedSavedObjectsMigrationFn, + CreateEncryptedSavedObjectsMigrationFnOpts, +} from './create_migration'; export const config: PluginConfigDescriptor = { schema: ConfigSchema, diff --git a/x-pack/plugins/event_log/server/es/cluster_client_adapter.test.ts b/x-pack/plugins/event_log/server/es/cluster_client_adapter.test.ts index 616c4a4b6cdb9..dff5357cb42bb 100644 --- a/x-pack/plugins/event_log/server/es/cluster_client_adapter.test.ts +++ b/x-pack/plugins/event_log/server/es/cluster_client_adapter.test.ts @@ -455,13 +455,9 @@ describe('getExistingIndexAliases', () => { describe('setIndexAliasToHidden', () => { test('should call cluster with given index name and aliases', async () => { - await clusterClientAdapter.setIndexAliasToHidden('foo-bar-000001', { - aliases: { - 'foo-bar': { - is_write_index: true, - }, - }, - }); + await clusterClientAdapter.setIndexAliasToHidden('foo-bar', [ + { alias: 'foo-bar', indexName: 'foo-bar-000001', is_write_index: true }, + ]); expect(clusterClient.indices.updateAliases).toHaveBeenCalledWith({ body: { actions: [ @@ -478,18 +474,11 @@ describe('setIndexAliasToHidden', () => { }); }); - test('should update multiple aliases at once and preserve existing alias settings', async () => { - await clusterClientAdapter.setIndexAliasToHidden('foo-bar-000001', { - aliases: { - 'foo-bar': { - is_write_index: true, - }, - 'foo-b': { - index_routing: 'index', - routing: 'route', - }, - }, - }); + test('should update multiple indices for an alias at once and preserve existing alias settings', async () => { + await clusterClientAdapter.setIndexAliasToHidden('foo-bar', [ + { alias: 'foo-bar', indexName: 'foo-bar-000001', is_write_index: true }, + { alias: 'foo-bar', indexName: 'foo-bar-000002', index_routing: 'index', routing: 'route' }, + ]); expect(clusterClient.indices.updateAliases).toHaveBeenCalledWith({ body: { actions: [ @@ -503,8 +492,8 @@ describe('setIndexAliasToHidden', () => { }, { add: { - index: 'foo-bar-000001', - alias: 'foo-b', + index: 'foo-bar-000002', + alias: 'foo-bar', is_hidden: true, index_routing: 'index', routing: 'route', @@ -518,15 +507,11 @@ describe('setIndexAliasToHidden', () => { test('should throw error when call cluster throws an error', async () => { clusterClient.indices.updateAliases.mockRejectedValue(new Error('Fail')); await expect( - clusterClientAdapter.setIndexAliasToHidden('foo-bar-000001', { - aliases: { - 'foo-bar': { - is_write_index: true, - }, - }, - }) + clusterClientAdapter.setIndexAliasToHidden('foo-bar', [ + { alias: 'foo-bar', indexName: 'foo-bar-000001', is_write_index: true }, + ]) ).rejects.toThrowErrorMatchingInlineSnapshot( - `"error setting existing index aliases for index foo-bar-000001 to is_hidden: Fail"` + `"error setting existing index aliases for alias foo-bar to is_hidden: Fail"` ); }); }); diff --git a/x-pack/plugins/event_log/server/es/cluster_client_adapter.ts b/x-pack/plugins/event_log/server/es/cluster_client_adapter.ts index dd8c0668fe83e..5f31d9e524a29 100644 --- a/x-pack/plugins/event_log/server/es/cluster_client_adapter.ts +++ b/x-pack/plugins/event_log/server/es/cluster_client_adapter.ts @@ -15,6 +15,7 @@ import { estypes } from '@elastic/elasticsearch'; import { fromKueryExpression, toElasticsearchQuery } from '@kbn/es-query'; import { IEvent, IValidatedEvent, SAVED_OBJECT_REL_PRIMARY } from '../types'; import { FindOptionsType } from '../event_log_client'; +import { ParsedIndexAlias } from './init'; export const EVENT_BUFFER_TIME = 1000; // milliseconds export const EVENT_BUFFER_LENGTH = 100; @@ -272,15 +273,15 @@ export class ClusterClientAdapter { try { const esClient = await this.elasticsearchClientPromise; await esClient.indices.updateAliases({ body: { - actions: Object.keys(currentAliases.aliases).map((aliasName) => { - const existingAliasOptions = pick(currentAliases.aliases[aliasName], [ + actions: currentAliasData.map((aliasData) => { + const existingAliasOptions = pick(aliasData, [ 'is_write_index', 'filter', 'index_routing', @@ -290,7 +291,7 @@ export class ClusterClientAdapter { let esContext = contextMock.create(); @@ -267,11 +267,10 @@ describe('initializeEs', () => { }); await initializeEs(esContext); - expect(esContext.esAdapter.getExistingIndexAliases).toHaveBeenCalled(); - expect(esContext.esAdapter.setIndexAliasToHidden).toHaveBeenCalledWith( - 'foo-bar-000001', - testAliases - ); + expect(esContext.esAdapter.getExistingIndexAliases).toHaveBeenCalledTimes(1); + expect(esContext.esAdapter.setIndexAliasToHidden).toHaveBeenCalledWith('foo-bar', [ + { alias: 'foo-bar', indexName: 'foo-bar-000001', is_write_index: true }, + ]); }); test(`should not update existing index aliases if any exist and are already hidden`, async () => { @@ -310,6 +309,9 @@ describe('initializeEs', () => { 'foo-bar': { is_write_index: true, }, + 'bar-foo': { + is_write_index: true, + }, }, }; esContext.esAdapter.getExistingIndexAliases.mockResolvedValue({ @@ -321,17 +323,18 @@ describe('initializeEs', () => { await initializeEs(esContext); expect(esContext.esAdapter.getExistingIndexAliases).toHaveBeenCalled(); - expect(esContext.esAdapter.setIndexAliasToHidden).toHaveBeenCalledWith( - 'foo-bar-000001', - testAliases - ); - expect(esContext.esAdapter.setIndexAliasToHidden).toHaveBeenCalledWith( - 'foo-bar-000002', - testAliases - ); + expect(esContext.esAdapter.setIndexAliasToHidden).toHaveBeenCalledTimes(2); + expect(esContext.esAdapter.setIndexAliasToHidden).toHaveBeenCalledWith('foo-bar', [ + { alias: 'foo-bar', indexName: 'foo-bar-000001', is_write_index: true }, + { alias: 'foo-bar', indexName: 'foo-bar-000002', is_write_index: true }, + ]); + expect(esContext.esAdapter.setIndexAliasToHidden).toHaveBeenCalledWith('bar-foo', [ + { alias: 'bar-foo', indexName: 'foo-bar-000001', is_write_index: true }, + { alias: 'bar-foo', indexName: 'foo-bar-000002', is_write_index: true }, + ]); expect(esContext.logger.error).toHaveBeenCalledTimes(1); expect(esContext.logger.error).toHaveBeenCalledWith( - `error setting existing \"foo-bar-000001\" index aliases - Fail` + `error setting existing \"foo-bar\" index aliases - Fail` ); expect(esContext.esAdapter.doesIlmPolicyExist).toHaveBeenCalled(); }); @@ -384,3 +387,70 @@ describe('initializeEs', () => { expect(esContext.esAdapter.createIndex).not.toHaveBeenCalled(); }); }); + +describe('parseIndexAliases', () => { + test('should parse IndicesGetAliasResponse into desired format', () => { + const indexGetAliasResponse = { + '.kibana-event-log-7.15.2-000003': { + aliases: { + '.kibana-event-log-7.15.2': { + is_write_index: true, + }, + another_alias: { + is_write_index: true, + }, + }, + }, + '.kibana-event-log-7.15.2-000002': { + aliases: { + '.kibana-event-log-7.15.2': { + is_write_index: false, + }, + }, + }, + '.kibana-event-log-7.15.2-000001': { + aliases: { + '.kibana-event-log-7.15.2': { + is_write_index: false, + }, + }, + }, + '.kibana-event-log-8.0.0-000001': { + aliases: { + '.kibana-event-log-8.0.0': { + is_write_index: true, + is_hidden: true, + }, + }, + }, + }; + expect(parseIndexAliases(indexGetAliasResponse)).toEqual([ + { + alias: '.kibana-event-log-7.15.2', + indexName: '.kibana-event-log-7.15.2-000003', + is_write_index: true, + }, + { + alias: 'another_alias', + indexName: '.kibana-event-log-7.15.2-000003', + is_write_index: true, + }, + { + alias: '.kibana-event-log-7.15.2', + indexName: '.kibana-event-log-7.15.2-000002', + is_write_index: false, + }, + { + alias: '.kibana-event-log-7.15.2', + indexName: '.kibana-event-log-7.15.2-000001', + is_write_index: false, + }, + { + alias: '.kibana-event-log-8.0.0', + indexName: '.kibana-event-log-8.0.0-000001', + is_hidden: true, + is_write_index: true, + }, + ]); + }); +}); diff --git a/x-pack/plugins/event_log/server/es/init.ts b/x-pack/plugins/event_log/server/es/init.ts index 77ec6377b8e7c..729b61a06bcf8 100644 --- a/x-pack/plugins/event_log/server/es/init.ts +++ b/x-pack/plugins/event_log/server/es/init.ts @@ -6,8 +6,9 @@ */ import { asyncForEach } from '@kbn/std'; -import { IndicesAlias, IndicesIndexStatePrefixedSettings } from '@elastic/elasticsearch/api/types'; +import { IndicesIndexStatePrefixedSettings } from '@elastic/elasticsearch/api/types'; import { estypes } from '@elastic/elasticsearch'; +import { groupBy } from 'lodash'; import { getIlmPolicy, getIndexTemplate } from './documents'; import { EsContext } from './context'; @@ -34,6 +35,22 @@ async function initializeEsResources(esContext: EsContext) { await steps.createInitialIndexIfNotExists(); } +export interface ParsedIndexAlias extends estypes.IndicesAliasDefinition { + indexName: string; + alias: string; + is_hidden?: boolean; +} + +export function parseIndexAliases(aliasInfo: estypes.IndicesGetAliasResponse): ParsedIndexAlias[] { + return Object.keys(aliasInfo).flatMap((indexName: string) => + Object.keys(aliasInfo[indexName].aliases).map((alias: string) => ({ + ...aliasInfo[indexName].aliases[alias], + indexName, + alias, + })) + ); +} + class EsInitializationSteps { constructor(private readonly esContext: EsContext) { this.esContext = esContext; @@ -57,7 +74,7 @@ class EsInitializationSteps { this.esContext.logger.error(`error getting existing index templates - ${err.message}`); } - asyncForEach(Object.keys(indexTemplates), async (indexTemplateName: string) => { + await asyncForEach(Object.keys(indexTemplates), async (indexTemplateName: string) => { try { const hidden: string | boolean = indexTemplates[indexTemplateName]?.settings?.index?.hidden; // Check to see if this index template is hidden @@ -94,8 +111,7 @@ class EsInitializationSteps { // should not block the rest of initialization, log the error and move on this.esContext.logger.error(`error getting existing indices - ${err.message}`); } - - asyncForEach(Object.keys(indices), async (indexName: string) => { + await asyncForEach(Object.keys(indices), async (indexName: string) => { try { const hidden: string | boolean | undefined = ( indices[indexName]?.settings as IndicesIndexStatePrefixedSettings @@ -130,22 +146,28 @@ class EsInitializationSteps { this.esContext.logger.error(`error getting existing index aliases - ${err.message}`); } - asyncForEach(Object.keys(indexAliases), async (indexName: string) => { + // Flatten the results so we can group by index alias + const parsedAliasData = parseIndexAliases(indexAliases); + + // Group by index alias name + const indexAliasData = groupBy(parsedAliasData, 'alias'); + + await asyncForEach(Object.keys(indexAliasData), async (aliasName: string) => { try { - const aliases = indexAliases[indexName]?.aliases; - const hasNotHiddenAliases: boolean = Object.keys(aliases).some((alias: string) => { - return (aliases[alias] as IndicesAlias)?.is_hidden !== true; - }); - - if (hasNotHiddenAliases) { - this.esContext.logger.debug(`setting existing "${indexName}" index aliases to hidden.`); - await this.esContext.esAdapter.setIndexAliasToHidden(indexName, indexAliases[indexName]); + const aliasData = indexAliasData[aliasName]; + const isNotHidden = aliasData.some((data) => data.is_hidden !== true); + if (isNotHidden) { + this.esContext.logger.debug(`setting existing "${aliasName}" index alias to hidden.`); + await this.esContext.esAdapter.setIndexAliasToHidden( + aliasName, + indexAliasData[aliasName] + ); } } catch (err) { // errors when trying to set existing index aliases to is_hidden // should not block the rest of initialization, log the error and move on this.esContext.logger.error( - `error setting existing "${indexName}" index aliases - ${err.message}` + `error setting existing "${aliasName}" index aliases - ${err.message}` ); } }); diff --git a/x-pack/plugins/file_upload/server/analyze_file.tsx b/x-pack/plugins/file_upload/server/analyze_file.tsx index 2239697083492..a2a5f3835f910 100644 --- a/x-pack/plugins/file_upload/server/analyze_file.tsx +++ b/x-pack/plugins/file_upload/server/analyze_file.tsx @@ -14,10 +14,13 @@ export async function analyzeFile( overrides: InputOverrides ): Promise { overrides.explain = overrides.explain === undefined ? 'true' : overrides.explain; - const { body } = await client.asInternalUser.textStructure.findStructure({ - body: data, - ...overrides, - }); + const { body } = await client.asInternalUser.textStructure.findStructure( + { + body: data, + ...overrides, + }, + { maxRetries: 0 } + ); const { hasOverrides, reducedOverrides } = formatOverrides(overrides); diff --git a/x-pack/plugins/file_upload/server/import_data.ts b/x-pack/plugins/file_upload/server/import_data.ts index deb170974ced8..af2e05d8af196 100644 --- a/x-pack/plugins/file_upload/server/import_data.ts +++ b/x-pack/plugins/file_upload/server/import_data.ts @@ -103,7 +103,7 @@ export function importDataProvider({ asCurrentUser }: IScopedClusterClient) { body.settings = settings; } - await asCurrentUser.indices.create({ index, body }); + await asCurrentUser.indices.create({ index, body }, { maxRetries: 0 }); } async function indexData(index: string, pipelineId: string, data: InputData) { @@ -119,7 +119,7 @@ export function importDataProvider({ asCurrentUser }: IScopedClusterClient) { settings.pipeline = pipelineId; } - const { body: resp } = await asCurrentUser.bulk(settings); + const { body: resp } = await asCurrentUser.bulk(settings, { maxRetries: 0 }); if (resp.errors) { throw resp; } else { diff --git a/x-pack/plugins/file_upload/server/schemas.ts b/x-pack/plugins/file_upload/server/schemas.ts index baf7ed864f2e6..b7250b45a82f9 100644 --- a/x-pack/plugins/file_upload/server/schemas.ts +++ b/x-pack/plugins/file_upload/server/schemas.ts @@ -6,6 +6,7 @@ */ import { schema } from '@kbn/config-schema'; +import { i18n } from '@kbn/i18n'; import { isRuntimeField } from './utils/runtime_field_utils'; export const analyzeFileQuerySchema = schema.object({ @@ -48,7 +49,9 @@ export const runtimeMappingsSchema = schema.object( unknowns: 'allow', validate: (v: object) => { if (Object.values(v).some((o) => !isRuntimeField(o))) { - return 'Invalid runtime field'; + return i18n.translate('xpack.fileUpload.invalidRuntimeFieldMessage', { + defaultMessage: 'Invalid runtime field', + }); } }, } diff --git a/x-pack/plugins/file_upload/server/utils/runtime_field_utils.ts b/x-pack/plugins/file_upload/server/utils/runtime_field_utils.ts index aba6effe175c0..050651d8d5ca7 100644 --- a/x-pack/plugins/file_upload/server/utils/runtime_field_utils.ts +++ b/x-pack/plugins/file_upload/server/utils/runtime_field_utils.ts @@ -27,11 +27,12 @@ export function isRuntimeField(arg: unknown): arg is estypes.MappingRuntimeField return ( ((isPopulatedObject(arg, ['type']) && Object.keys(arg).length === 1) || (isPopulatedObject(arg, ['type', 'script']) && - Object.keys(arg).length === 2 && + // Can be a string (typeof arg.script === 'string' || - (isPopulatedObject(arg.script, ['source']) && - Object.keys(arg.script).length === 1 && - typeof arg.script.source === 'string')))) && + // Can be InlineScript + (isPopulatedObject(arg.script, ['source']) && typeof arg.script.source === 'string') || + // Can be StoredScriptId + (isPopulatedObject(arg.script, ['id']) && typeof arg.script.id === 'string')))) && RUNTIME_FIELD_TYPES.includes(arg.type as RuntimeType) ); } diff --git a/x-pack/plugins/fleet/README.md b/x-pack/plugins/fleet/README.md index 80d13b28c8265..7adf1549234e9 100644 --- a/x-pack/plugins/fleet/README.md +++ b/x-pack/plugins/fleet/README.md @@ -36,7 +36,7 @@ One common development workflow is: ``` - Start Elasticsearch in one shell ``` - yarn es snapshot -E xpack.security.authc.api_key.enabled=true + yarn es snapshot -E xpack.security.authc.api_key.enabled=true -E xpack.security.authc.token.enabled=true ``` - Start Kibana in another shell ``` @@ -58,6 +58,19 @@ _The following is adapted from the Fleet Server [README](https://github.com/elas ```yml server.host: 0.0.0.0 +xpack.fleet.agents.enabled: true +xpack.fleet.packages: + - name: fleet_server + version: latest +xpack.fleet.agentPolicies: + - name: Fleet Server policy + id: fleet-server-policy + description: Fleet server policy + namespace: default + package_policies: + - name: Fleet Server + package: + name: fleet_server ``` 2. Append the following option to the command you use to start Elasticsearch @@ -69,7 +82,7 @@ server.host: 0.0.0.0 This command should look something like this: ``` -yarn es snapshot --license trial -E xpack.security.authc.api_key.enabled=true -E path.data=/tmp/es-data -E http.host=0.0.0.0 +yarn es snapshot --license trial -E xpack.security.authc.api_key.enabled=true -E xpack.security.authc.token.enabled=true -E path.data=/tmp/es-data -E http.host=0.0.0.0 ``` 3. Run the Fleet Server Docker container. Make sure you include a `BASE-PATH` value if your local Kibana instance is using one. `YOUR-IP` should correspond to the IP address used by your Docker network to represent the host. For Windows and Mac machines, this should be `192.168.65.2`. If you're not sure what this IP should be, run the following to look it up: @@ -81,7 +94,7 @@ docker run -it --rm alpine nslookup host.docker.internal To run the Fleet Server Docker container: ``` -docker run -e KIBANA_HOST=http://{YOUR-IP}:5601/{BASE-PATH} -e KIBANA_USERNAME=elastic -e KIBANA_PASSWORD=changeme -e ELASTICSEARCH_HOST=http://{YOUR-IP}:9200 -e ELASTICSEARCH_USERNAME=elastic -e ELASTICSEARCH_PASSWORD=changeme -e KIBANA_FLEET_SETUP=1 -e FLEET_SERVER_ENABLE=1 -e FLEET_SERVER_INSECURE_HTTP=1 -p 8220:8220 docker.elastic.co/beats/elastic-agent:{VERSION} +docker run -e KIBANA_HOST=http://{YOUR-IP}:5601/{BASE-PATH} -e KIBANA_USERNAME=elastic -e KIBANA_PASSWORD=changeme -e ELASTICSEARCH_HOST=http://{YOUR-IP}:9200 -e KIBANA_FLEET_SETUP=1 -e FLEET_SERVER_ENABLE=1 -e FLEET_SERVER_INSECURE_HTTP=1 -e FLEET_SERVER_POLICY_ID=fleet-server-policy -p 8220:8220 docker.elastic.co/beats/elastic-agent:{VERSION} ``` Ensure you provide the `-p 8220:8220` port mapping to map the Fleet Server container's port `8220` to your local machine's port `8220` in order for Fleet to communicate with Fleet Server. diff --git a/x-pack/plugins/fleet/common/constants/routes.ts b/x-pack/plugins/fleet/common/constants/routes.ts index aa5e0dbcd5ed1..4c4e255cee431 100644 --- a/x-pack/plugins/fleet/common/constants/routes.ts +++ b/x-pack/plugins/fleet/common/constants/routes.ts @@ -7,6 +7,8 @@ // Base API paths +export const INTERNAL_ROOT = `/internal/fleet`; + export const API_ROOT = `/api/fleet`; export const EPM_API_ROOT = `${API_ROOT}/epm`; export const DATA_STREAM_API_ROOT = `${API_ROOT}/data_streams`; @@ -118,4 +120,6 @@ export const INSTALL_SCRIPT_API_ROUTES = `${API_ROOT}/install/{osType}`; // Policy preconfig API routes export const PRECONFIGURATION_API_ROUTES = { UPDATE_PATTERN: `${API_ROOT}/setup/preconfiguration`, + RESET_PATTERN: `${INTERNAL_ROOT}/reset_preconfigured_agent_policies`, + RESET_ONE_PATTERN: `${INTERNAL_ROOT}/reset_preconfigured_agent_policies/{agentPolicyId}`, }; diff --git a/x-pack/plugins/fleet/common/openapi/components/schemas/full_agent_policy_input.yaml b/x-pack/plugins/fleet/common/openapi/components/schemas/full_agent_policy_input.yaml new file mode 100644 index 0000000000000..6fc95923bef22 --- /dev/null +++ b/x-pack/plugins/fleet/common/openapi/components/schemas/full_agent_policy_input.yaml @@ -0,0 +1,45 @@ +title: Full agent policy input +allOf: + - type: object + additionalProperties: true + properties: + id: + type: string + name: + type: string + revision: + type: number + type: + type: string + data_stream: + type: object + properties: + namespace: + type: string + required: + - namespace + use_output: + type: string + meta: + type: object + additionalProperties: true + properties: + package: + type: object + properties: + name: + type: string + version: + type: string + required: + - name + - version + streams: + $ref: ./full_agent_policy_input_stream.yaml + required: + - id + - name + - revision + - type + - data_stream + - use_output diff --git a/x-pack/plugins/fleet/common/openapi/components/schemas/full_agent_policy_input_stream.yaml b/x-pack/plugins/fleet/common/openapi/components/schemas/full_agent_policy_input_stream.yaml new file mode 100644 index 0000000000000..f0d51bbe03cac --- /dev/null +++ b/x-pack/plugins/fleet/common/openapi/components/schemas/full_agent_policy_input_stream.yaml @@ -0,0 +1,20 @@ +title: Full agent policy input stream +allOf: + - type: object + additionalProperties: true + properties: + id: + type: string + data_stream: + type: object + properties: + dataset: + type: string + type: + type: string + required: + - dataset + - type + required: + - id + - data_stream diff --git a/x-pack/plugins/fleet/common/openapi/components/schemas/upgrade_agent_diff.yaml b/x-pack/plugins/fleet/common/openapi/components/schemas/upgrade_agent_diff.yaml new file mode 100644 index 0000000000000..efed1601137e3 --- /dev/null +++ b/x-pack/plugins/fleet/common/openapi/components/schemas/upgrade_agent_diff.yaml @@ -0,0 +1,6 @@ +title: Package policy Upgrade dryrun +type: array +items: + type: array + items: + $ref: ./full_agent_policy_input.yaml \ No newline at end of file diff --git a/x-pack/plugins/fleet/common/services/index.ts b/x-pack/plugins/fleet/common/services/index.ts index ba3fb44753643..1a0ccba94e041 100644 --- a/x-pack/plugins/fleet/common/services/index.ts +++ b/x-pack/plugins/fleet/common/services/index.ts @@ -12,7 +12,6 @@ export { packageToPackagePolicy, getStreamsForInputType, } from './package_to_package_policy'; -export { storedPackagePoliciesToAgentInputs } from './package_policies_to_agent_inputs'; export { fullAgentPolicyToYaml } from './full_agent_policy_to_yaml'; export { isPackageLimited, doesAgentPolicyAlreadyIncludePackage } from './limited_package'; export { decodeCloudId } from './decode_cloud_id'; diff --git a/x-pack/plugins/fleet/common/services/package_policies_to_agent_inputs.ts b/x-pack/plugins/fleet/common/services/package_policies_to_agent_inputs.ts deleted file mode 100644 index 119bb04af5ca8..0000000000000 --- a/x-pack/plugins/fleet/common/services/package_policies_to_agent_inputs.ts +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { merge } from 'lodash'; - -import type { PackagePolicy, FullAgentPolicyInput, FullAgentPolicyInputStream } from '../types'; -import { DEFAULT_OUTPUT } from '../constants'; - -export const storedPackagePoliciesToAgentInputs = ( - packagePolicies: PackagePolicy[], - outputId: string = DEFAULT_OUTPUT.name -): FullAgentPolicyInput[] => { - const fullInputs: FullAgentPolicyInput[] = []; - - packagePolicies.forEach((packagePolicy) => { - if (!packagePolicy.enabled || !packagePolicy.inputs || !packagePolicy.inputs.length) { - return; - } - packagePolicy.inputs.forEach((input) => { - if (!input.enabled) { - return; - } - - const fullInput: FullAgentPolicyInput = { - id: packagePolicy.id || packagePolicy.name, - revision: packagePolicy.revision, - name: packagePolicy.name, - type: input.type, - data_stream: { - namespace: packagePolicy.namespace || 'default', - }, - use_output: outputId, - ...(input.compiled_input || {}), - ...(input.streams.length - ? { - streams: input.streams - .filter((stream) => stream.enabled) - .map((stream) => { - const fullStream: FullAgentPolicyInputStream = { - id: stream.id, - data_stream: stream.data_stream, - ...stream.compiled_stream, - ...Object.entries(stream.config || {}).reduce((acc, [key, { value }]) => { - acc[key] = value; - return acc; - }, {} as { [k: string]: any }), - }; - return fullStream; - }), - } - : {}), - }; - - // deeply merge the input.config values with the full policy input - merge( - fullInput, - Object.entries(input.config || {}).reduce( - (acc, [key, { value }]) => ({ ...acc, [key]: value }), - {} - ) - ); - - if (packagePolicy.package) { - fullInput.meta = { - package: { - name: packagePolicy.package.name, - version: packagePolicy.package.version, - }, - }; - } - - fullInputs.push(fullInput); - }); - }); - - return fullInputs; -}; diff --git a/x-pack/plugins/fleet/common/services/validate_package_policy.test.ts b/x-pack/plugins/fleet/common/services/validate_package_policy.test.ts index 306d31879e0c6..e4566bacdae54 100644 --- a/x-pack/plugins/fleet/common/services/validate_package_policy.test.ts +++ b/x-pack/plugins/fleet/common/services/validate_package_policy.test.ts @@ -555,6 +555,133 @@ describe('Fleet - validatePackagePolicy()', () => { inputs: null, }); }); + + // TODO enable when https://github.com/elastic/kibana/issues/125655 is fixed + it.skip('returns package policy validation error if input var does not exist', () => { + expect( + validatePackagePolicy( + { + description: 'Linux Metrics', + enabled: true, + inputs: [ + { + enabled: true, + streams: [ + { + data_stream: { + dataset: 'linux.memory', + type: 'metrics', + }, + enabled: true, + }, + ], + type: 'linux/metrics', + vars: { + period: { + type: 'string', + value: '1s', + }, + }, + }, + ], + name: 'linux-3d13ada6-a9ae-46df-8e57-ff5050f4b671', + namespace: 'default', + output_id: '', + package: { + name: 'linux', + title: 'Linux Metrics', + version: '0.6.2', + }, + policy_id: 'b25cb6e0-8347-11ec-96f9-6590c25bacf9', + }, + { + ...mockPackage, + name: 'linux', + policy_templates: [ + { + name: 'system', + title: 'Linux kernel metrics', + description: 'Collect system metrics from Linux operating systems', + inputs: [ + { + title: 'Collect system metrics from Linux instances', + vars: [ + { + name: 'system.hostfs', + type: 'text', + title: 'Proc Filesystem Directory', + multi: false, + required: false, + show_user: true, + description: 'The proc filesystem base directory.', + }, + ], + type: 'system/metrics', + description: + 'Collecting Linux entropy, Network Summary, RAID, service, socket, and users metrics', + }, + { + title: 'Collect low-level system metrics from Linux instances', + vars: [], + type: 'linux/metrics', + description: 'Collecting Linux conntrack, ksm, pageinfo metrics.', + }, + ], + multiple: true, + }, + ], + data_streams: [ + { + dataset: 'linux.memory', + package: 'linux', + path: 'memory', + streams: [ + { + input: 'linux/metrics', + title: 'Linux memory metrics', + vars: [ + { + name: 'period', + type: 'text', + title: 'Period', + multi: false, + required: true, + show_user: true, + default: '10s', + }, + ], + template_path: 'stream.yml.hbs', + description: 'Linux paging and memory management metrics', + }, + ], + title: 'Linux-only memory metrics', + release: 'experimental', + type: 'metrics', + }, + ], + }, + safeLoad + ) + ).toEqual({ + description: null, + inputs: { + 'linux/metrics': { + streams: { + 'linux.memory': { + vars: { + period: ['Period is required'], + }, + }, + }, + vars: { + period: ['period var definition does not exist'], + }, + }, + }, + name: null, + namespace: null, + }); + }); }); describe('works for packages with multiple policy templates (aka integrations)', () => { diff --git a/x-pack/plugins/fleet/common/services/validate_package_policy.ts b/x-pack/plugins/fleet/common/services/validate_package_policy.ts index 12bef2dfd7c27..3c0c0e5e92116 100644 --- a/x-pack/plugins/fleet/common/services/validate_package_policy.ts +++ b/x-pack/plugins/fleet/common/services/validate_package_policy.ts @@ -143,7 +143,7 @@ export const validatePackagePolicy = ( results[name] = input.enabled ? validatePackagePolicyConfig( configEntry, - inputVarDefsByPolicyTemplateAndType[inputKey][name], + (inputVarDefsByPolicyTemplateAndType[inputKey] ?? {})[name], name, safeLoadYaml ) @@ -162,23 +162,17 @@ export const validatePackagePolicy = ( const streamVarDefs = streamVarDefsByDatasetAndInput[`${stream.data_stream.dataset}-${input.type}`]; - // Validate stream-level config fields - if (stream.vars) { - streamValidationResults.vars = Object.entries(stream.vars).reduce( - (results, [name, configEntry]) => { - results[name] = - streamVarDefs && streamVarDefs[name] && input.enabled && stream.enabled - ? validatePackagePolicyConfig( - configEntry, - streamVarDefs[name], - name, - safeLoadYaml - ) - : null; - return results; - }, - {} as ValidationEntry - ); + if (streamVarDefs && Object.keys(streamVarDefs).length) { + streamValidationResults.vars = Object.keys(streamVarDefs).reduce((results, name) => { + const configEntry = stream?.vars?.[name]; + + results[name] = + input.enabled && stream.enabled + ? validatePackagePolicyConfig(configEntry, streamVarDefs[name], name, safeLoadYaml) + : null; + + return results; + }, {} as ValidationEntry); } inputValidationResults.streams![stream.data_stream.dataset] = streamValidationResults; @@ -200,13 +194,15 @@ export const validatePackagePolicy = ( }; export const validatePackagePolicyConfig = ( - configEntry: PackagePolicyConfigRecordEntry, + configEntry: PackagePolicyConfigRecordEntry | undefined, varDef: RegistryVarsEntry, varName: string, safeLoadYaml: (yaml: string) => any ): string[] | null => { const errors = []; - const { value } = configEntry; + + const value = configEntry?.value; + let parsedValue: any = value; if (typeof value === 'string') { @@ -214,6 +210,7 @@ export const validatePackagePolicyConfig = ( } if (varDef === undefined) { + // TODO return validation error here once https://github.com/elastic/kibana/issues/125655 is fixed // eslint-disable-next-line no-console console.debug(`No variable definition for ${varName} found`); @@ -253,10 +250,7 @@ export const validatePackagePolicyConfig = ( }) ); } - if ( - varDef.required && - (!parsedValue || (Array.isArray(parsedValue) && parsedValue.length === 0)) - ) { + if (varDef.required && Array.isArray(parsedValue) && parsedValue.length === 0) { errors.push( i18n.translate('xpack.fleet.packagePolicyValidation.requiredErrorMessage', { defaultMessage: '{fieldName} is required', diff --git a/x-pack/plugins/fleet/common/types/index.ts b/x-pack/plugins/fleet/common/types/index.ts index bd970fc2cd83e..36b93aea009c1 100644 --- a/x-pack/plugins/fleet/common/types/index.ts +++ b/x-pack/plugins/fleet/common/types/index.ts @@ -32,6 +32,9 @@ export interface FleetConfigType { packages?: PreconfiguredPackage[]; outputs?: PreconfiguredOutput[]; agentIdVerificationEnabled?: boolean; + developer?: { + allowAgentUpgradeSourceUri?: boolean; + }; } // Calling Object.entries(PackagesGroupedByStatus) gave `status: string` diff --git a/x-pack/plugins/fleet/common/types/rest_spec/package_policy.ts b/x-pack/plugins/fleet/common/types/rest_spec/package_policy.ts index b050a7c798a0b..49ad5e15c4d4b 100644 --- a/x-pack/plugins/fleet/common/types/rest_spec/package_policy.ts +++ b/x-pack/plugins/fleet/common/types/rest_spec/package_policy.ts @@ -11,6 +11,7 @@ import type { UpdatePackagePolicy, DryRunPackagePolicy, PackagePolicyPackage, + FullAgentPolicyInput, } from '../models'; export interface GetPackagePoliciesRequest { @@ -63,6 +64,7 @@ export type DeletePackagePoliciesResponse = Array<{ name?: string; success: boolean; package?: PackagePolicyPackage; + policy_id?: string; }>; export interface UpgradePackagePolicyBaseResponse { @@ -78,6 +80,7 @@ export interface UpgradePackagePolicyBaseResponse { export interface UpgradePackagePolicyDryRunResponseItem extends UpgradePackagePolicyBaseResponse { hasErrors: boolean; diff?: [PackagePolicy, DryRunPackagePolicy]; + agent_diff?: [FullAgentPolicyInput[]]; } export type UpgradePackagePolicyDryRunResponse = UpgradePackagePolicyDryRunResponseItem[]; diff --git a/x-pack/plugins/fleet/jest.integration.config.js b/x-pack/plugins/fleet/jest.integration.config.js new file mode 100644 index 0000000000000..f1b9ee2f5f7e0 --- /dev/null +++ b/x-pack/plugins/fleet/jest.integration.config.js @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +module.exports = { + preset: '@kbn/test/jest_integration', + rootDir: '../../..', + roots: ['/x-pack/plugins/fleet'], +}; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_copy_provider.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_copy_provider.tsx index 68f05624a8664..8423b6b7fda01 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_copy_provider.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_copy_provider.tsx @@ -58,33 +58,33 @@ export const AgentPolicyCopyProvider: React.FunctionComponent = ({ childr const copyAgentPolicy = async () => { setIsLoading(true); try { - const { data } = await sendCopyAgentPolicy(agentPolicy!.id, newAgentPolicy!); + const { data, error } = await sendCopyAgentPolicy(agentPolicy!.id, newAgentPolicy!); - if (data) { - notifications.toasts.addSuccess( - i18n.translate('xpack.fleet.copyAgentPolicy.successNotificationTitle', { - defaultMessage: 'Agent policy duplicated', - }) - ); - if (onSuccessCallback.current) { - onSuccessCallback.current(data.item); - } - } else { - notifications.toasts.addDanger( - i18n.translate('xpack.fleet.copyAgentPolicy.failureNotificationTitle', { - defaultMessage: "Error duplicating agent policy '{id}'", - values: { id: agentPolicy!.id }, - }) - ); + if (error) { + throw error; } - } catch (e) { - notifications.toasts.addDanger( - i18n.translate('xpack.fleet.copyAgentPolicy.fatalErrorNotificationTitle', { - defaultMessage: 'Error duplicating agent policy', + + if (!data) { + throw new Error('Error duplicating agent policy: no data'); + } + + notifications.toasts.addSuccess( + i18n.translate('xpack.fleet.copyAgentPolicy.successNotificationTitle', { + defaultMessage: 'Agent policy duplicated', }) ); + closeModal(); + if (onSuccessCallback.current) { + onSuccessCallback.current(data.item); + } + } catch (e) { + setIsLoading(false); + notifications.toasts.addError(e, { + title: i18n.translate('xpack.fleet.copyAgentPolicy.fatalErrorNotificationTitle', { + defaultMessage: 'Error duplicating agent policy', + }), + }); } - closeModal(); }; const renderModal = () => { diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/layout.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/layout.tsx index b7c7d263d2675..2e4db793f7782 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/layout.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/layout.tsx @@ -57,7 +57,7 @@ export const CreatePackagePolicyPageLayout: React.FunctionComponent<{ 'data-test-subj': dataTestSubj, tabs = [], }) => { - const isAdd = useMemo(() => ['package'].includes(from), [from]); + const isAdd = useMemo(() => ['package', 'policy'].includes(from), [from]); const isEdit = useMemo(() => ['edit', 'package-edit'].includes(from), [from]); const isUpgrade = useMemo( () => diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/package_policy_input_stream.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/package_policy_input_stream.tsx index 5cc1fc4130256..36824f5486127 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/package_policy_input_stream.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/package_policy_input_stream.tsx @@ -107,7 +107,10 @@ export const PackagePolicyInputStreamConfig: React.FunctionComponent<{ {requiredVars.map((varDef) => { const { name: varName, type: varType } = varDef; - const { value, frozen } = packagePolicyInputStream.vars![varName]; + const varConfigEntry = packagePolicyInputStream.vars?.[varName]; + const value = varConfigEntry?.value; + const frozen = varConfigEntry?.frozen ?? false; + return ( { const { name: varName, type: varType } = varDef; - const value = packagePolicyInputStream.vars![varName].value; + const value = packagePolicyInputStream.vars?.[varName]?.value; + return ( setIsDirty(true)} isDisabled={frozen} diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/index.tsx index f870713e72271..b316218af9823 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/index.tsx @@ -145,6 +145,8 @@ export const CreatePackagePolicyPage: React.FunctionComponent = () => { inputs: [], }); + const [wasNewAgentPolicyCreated, setWasNewAgentPolicyCreated] = useState(false); + // Validation state const [validationResults, setValidationResults] = useState(); const [hasAgentPolicyError, setHasAgentPolicyError] = useState(false); @@ -170,17 +172,17 @@ export const CreatePackagePolicyPage: React.FunctionComponent = () => { if (updatedAgentPolicy) { setAgentPolicy(updatedAgentPolicy); if (packageInfo) { - setFormState('VALID'); + setHasAgentPolicyError(false); } } else { - setFormState('INVALID'); + setHasAgentPolicyError(true); setAgentPolicy(undefined); } // eslint-disable-next-line no-console console.debug('Agent policy updated', updatedAgentPolicy); }, - [packageInfo, setAgentPolicy, setFormState] + [packageInfo, setAgentPolicy] ); const hasErrors = validationResults ? validationHasErrors(validationResults) : false; @@ -223,6 +225,8 @@ export const CreatePackagePolicyPage: React.FunctionComponent = () => { const hasAgentPolicy = newPackagePolicy.policy_id && newPackagePolicy.policy_id !== ''; if (hasPackage && hasAgentPolicy && !hasValidationErrors) { setFormState('VALID'); + } else { + setFormState('INVALID'); } }, [packagePolicy, updatePackagePolicyValidation] @@ -274,6 +278,10 @@ export const CreatePackagePolicyPage: React.FunctionComponent = () => { }, [packagePolicy, agentCount]); const doOnSaveNavigation = useRef(true); + const handleInlineAgentPolicyCreate = useCallback(() => { + setWasNewAgentPolicyCreated(true); + }, []); + // Detect if user left page useEffect(() => { return () => { @@ -293,12 +301,16 @@ export const CreatePackagePolicyPage: React.FunctionComponent = () => { return; } + const packagePolicyPath = getPath('policy_details', { policyId: packagePolicy.policy_id }); + if (routeState?.onSaveNavigateTo && policy) { const [appId, options] = routeState.onSaveNavigateTo; if (options?.path) { const pathWithQueryString = appendOnSaveQueryParamsToPath({ - path: options.path, + // In cases where we created a new agent policy inline, we need to override the initial `path` + // value and navigate to the newly-created agent policy instead + path: wasNewAgentPolicyCreated ? packagePolicyPath : options.path, policy, mappingOptions: routeState.onSaveQueryParams, paramsToApply, @@ -308,10 +320,17 @@ export const CreatePackagePolicyPage: React.FunctionComponent = () => { handleNavigateTo(routeState.onSaveNavigateTo); } } else { - history.push(getPath('policy_details', { policyId: agentPolicy!.id })); + history.push(packagePolicyPath); } }, - [agentPolicy, getPath, handleNavigateTo, history, routeState] + [ + packagePolicy.policy_id, + getPath, + handleNavigateTo, + history, + routeState, + wasNewAgentPolicyCreated, + ] ); const onSubmit = useCallback(async () => { @@ -398,9 +417,16 @@ export const CreatePackagePolicyPage: React.FunctionComponent = () => { agentPolicy={agentPolicy} updateAgentPolicy={updateAgentPolicy} setHasAgentPolicyError={setHasAgentPolicyError} + onNewAgentPolicyCreate={handleInlineAgentPolicyCreate} /> ), - [packageInfo, queryParamsPolicyId, agentPolicy, updateAgentPolicy] + [ + packageInfo, + queryParamsPolicyId, + agentPolicy, + updateAgentPolicy, + handleInlineAgentPolicyCreate, + ] ); const extensionView = useUIExtension(packagePolicy.package?.name ?? '', 'package-policy-create'); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/step_define_package_policy.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/step_define_package_policy.tsx index edbd1ec85842d..435d7d7b244fa 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/step_define_package_policy.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/step_define_package_policy.tsx @@ -50,12 +50,14 @@ export const StepDefinePackagePolicy: React.FunctionComponent<{ updatePackagePolicy: (fields: Partial) => void; validationResults: PackagePolicyValidationResults; submitAttempted: boolean; + isUpdate?: boolean; }> = memo( ({ agentPolicy, packageInfo, packagePolicy, integrationToEnable, + isUpdate, updatePackagePolicy, validationResults, submitAttempted, @@ -88,7 +90,7 @@ export const StepDefinePackagePolicy: React.FunctionComponent<{ // Update package policy's package and agent policy info useEffect(() => { - if (isLoadingPackagePolicies) { + if (isUpdate || isLoadingPackagePolicies) { return; } const pkg = packagePolicy.package; @@ -133,6 +135,7 @@ export const StepDefinePackagePolicy: React.FunctionComponent<{ }); } }, [ + isUpdate, packagePolicy, agentPolicy, packageInfo, diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/step_select_agent_policy.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/step_select_agent_policy.tsx index 72bd829dcf61a..096111fe93c8d 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/step_select_agent_policy.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/step_select_agent_policy.tsx @@ -45,12 +45,14 @@ export const StepSelectAgentPolicy: React.FunctionComponent<{ agentPolicy: AgentPolicy | undefined; updateAgentPolicy: (agentPolicy: AgentPolicy | undefined) => void; setHasAgentPolicyError: (hasError: boolean) => void; + onNewAgentPolicyCreate: () => void; }> = ({ packageInfo, agentPolicy, updateAgentPolicy, defaultAgentPolicyId, setHasAgentPolicyError, + onNewAgentPolicyCreate, }) => { const { isReady: isFleetReady } = useFleetStatus(); @@ -203,6 +205,7 @@ export const StepSelectAgentPolicy: React.FunctionComponent<{ onClose={(newAgentPolicy?: AgentPolicy) => { setIsCreateAgentPolicyFlyoutOpen(false); if (newAgentPolicy) { + onNewAgentPolicyCreate(); refreshAgentPolicies(); setSelectedPolicyId(newAgentPolicy.id); } diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/header/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/header/index.tsx new file mode 100644 index 0000000000000..8d9c17f1f53f3 --- /dev/null +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/header/index.tsx @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { HeaderLeftContent } from './left_content'; +export { HeaderRightContent } from './right_content'; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/header/left_content.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/header/left_content.tsx new file mode 100644 index 0000000000000..c134adc722049 --- /dev/null +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/header/left_content.tsx @@ -0,0 +1,97 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n/react'; +import { + EuiFlexGroup, + EuiIconTip, + EuiFlexItem, + EuiButtonEmpty, + EuiTitle, + EuiSpacer, + EuiText, +} from '@elastic/eui'; + +import { useLink } from '../../../../../hooks'; +import type { AgentPolicy } from '../../../../../types'; +import { Loading } from '../../../../../components'; + +interface HeaderLeftContentProps { + isLoading: boolean; + policyId: string; + agentPolicy?: AgentPolicy | null; +} + +export const HeaderLeftContent: React.FunctionComponent = ({ + isLoading, + policyId, + agentPolicy, +}) => { + const { getHref } = useLink(); + + return ( + + + + + + + + {isLoading ? ( + + ) : ( + + + +

    + {(agentPolicy && agentPolicy.name) || ( + + )} +

    +
    +
    + {agentPolicy?.is_managed && ( + + + + )} +
    + )} +
    + + {agentPolicy && agentPolicy.description ? ( + + + + {agentPolicy.description} + + + ) : null} +
    + ); +}; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/header/right_content.stories.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/header/right_content.stories.tsx new file mode 100644 index 0000000000000..d59b00abc311f --- /dev/null +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/header/right_content.stories.tsx @@ -0,0 +1,70 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; + +import { HeaderRightContent as Component } from './right_content'; + +export default { + component: Component, + title: 'Sections/Fleet/AgentPolicyDetails/Header/RightContent', +}; + +export const HeaderRightContent = () => { + return ( +
    + {}} + isAddAgentHelpPopoverOpen={false} + setIsAddAgentHelpPopoverOpen={() => {}} + agentPolicy={ + { + id: 'test123', + revision: 1, + updated_at: new Date().toISOString(), + package_policies: ['test1', 'test2'], + } as any + } + agentStatus={ + { + total: 0, + } as any + } + /> +
    + ); +}; + +export const HeaderRightContentWithManagedPolicy = () => { + return ( +
    + {}} + isAddAgentHelpPopoverOpen={false} + setIsAddAgentHelpPopoverOpen={() => {}} + agentPolicy={ + { + id: 'test123', + revision: 1, + updated_at: new Date().toISOString(), + package_policies: ['test1', 'test2'], + is_managed: true, + } as any + } + agentStatus={ + { + total: 0, + } as any + } + /> +
    + ); +}; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/header/right_content.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/header/right_content.tsx new file mode 100644 index 0000000000000..202661248b6da --- /dev/null +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/header/right_content.tsx @@ -0,0 +1,170 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { i18n } from '@kbn/i18n'; +import { FormattedDate, FormattedMessage } from '@kbn/i18n/react'; +import styled from 'styled-components'; +import { useHistory } from 'react-router-dom'; +import { + EuiFlexGroup, + EuiI18nNumber, + EuiFlexItem, + EuiDescriptionList, + EuiDescriptionListTitle, + EuiDescriptionListDescription, + EuiLink, +} from '@elastic/eui'; + +import { useLink } from '../../../../../hooks'; +import type { AgentPolicy, GetAgentStatusResponse } from '../../../../../types'; +import { AgentPolicyActionMenu, LinkedAgentCount } from '../../../components'; +import { AddAgentHelpPopover } from '../../../../../components'; + +export interface HeaderRightContentProps { + isLoading: boolean; + policyId: string; + agentPolicy?: AgentPolicy | null; + agentStatus?: GetAgentStatusResponse['results']; + addAgent: () => void; + onCancelEnrollment?: () => void; + isAddAgentHelpPopoverOpen: boolean; + setIsAddAgentHelpPopoverOpen: (state: boolean) => void; +} + +const Divider = styled.div` + width: 0; + height: 100%; + border-left: ${(props) => props.theme.eui.euiBorderThin}; +`; + +export const HeaderRightContent: React.FunctionComponent = ({ + isLoading, + policyId, + agentPolicy, + agentStatus, + addAgent, + onCancelEnrollment, + isAddAgentHelpPopoverOpen, + setIsAddAgentHelpPopoverOpen, +}) => { + const { getPath } = useLink(); + const history = useHistory(); + + if (!agentPolicy) { + return null; + } + const addAgentLink = ( + + + + ); + + return ( + + {[ + { + label: i18n.translate('xpack.fleet.policyDetails.summary.revision', { + defaultMessage: 'Revision', + }), + content: agentPolicy?.revision ?? 0, + }, + { isDivider: true }, + { + label: i18n.translate('xpack.fleet.policyDetails.summary.integrations', { + defaultMessage: 'Integrations', + }), + content: ( + + ), + }, + { isDivider: true }, + { + label: i18n.translate('xpack.fleet.policyDetails.summary.usedBy', { + defaultMessage: 'Agents', + }), + content: + agentStatus && agentStatus!.total ? ( + + ) : agentPolicy?.is_managed ? ( + + ) : ( + { + setIsAddAgentHelpPopoverOpen(false); + }} + /> + ), + }, + { isDivider: true }, + { + label: i18n.translate('xpack.fleet.policyDetails.summary.lastUpdated', { + defaultMessage: 'Last updated on', + }), + content: + (agentPolicy && ( + + )) || + '', + }, + { isDivider: true }, + { + content: agentPolicy && ( + { + history.push(getPath('policy_details', { policyId: newAgentPolicy.id })); + }} + onCancelEnrollment={onCancelEnrollment} + /> + ), + }, + ].map((item, index) => ( + + {item.isDivider ?? false ? ( + + ) : item.label ? ( + + + {item.label} + + + {item.content} + + + ) : ( + item.content + )} + + ))} + + ); +}; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/index.ts b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/index.ts index 9b40fb39ec912..2d1a4020bb9a9 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/index.ts +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/index.ts @@ -8,3 +8,4 @@ export { PackagePoliciesTable } from './package_policies/package_policies_table'; export { PackagePoliciesView } from './package_policies'; export { SettingsView } from './settings'; +export * from './header'; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/index.tsx index c1d0e089fcc65..2e20db6d0d4ff 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/index.tsx @@ -5,27 +5,12 @@ * 2.0. */ -import React, { useMemo, useState } from 'react'; -import { Redirect, useRouteMatch, Switch, Route, useHistory, useLocation } from 'react-router-dom'; +import React, { useMemo, useState, useCallback } from 'react'; +import { Redirect, useRouteMatch, Switch, Route, useLocation } from 'react-router-dom'; import { i18n } from '@kbn/i18n'; -import { FormattedMessage, FormattedDate } from '@kbn/i18n/react'; -import { - EuiButtonEmpty, - EuiDescriptionList, - EuiDescriptionListDescription, - EuiDescriptionListTitle, - EuiFlexGroup, - EuiFlexItem, - EuiI18nNumber, - EuiIconTip, - EuiLink, - EuiPortal, - EuiSpacer, - EuiText, - EuiTitle, -} from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n/react'; +import { EuiPortal } from '@elastic/eui'; import type { Props as EuiTabProps } from '@elastic/eui/src/components/tabs/tab'; -import styled from 'styled-components'; import type { AgentPolicy, AgentPolicyDetailsDeployAgentAction } from '../../../types'; import { FLEET_ROUTING_PATHS } from '../../../constants'; @@ -38,25 +23,22 @@ import { useFleetStatus, useIntraAppState, } from '../../../hooks'; -import { Loading, Error, AgentEnrollmentFlyout, AddAgentHelpPopover } from '../../../components'; +import { Loading, Error, AgentEnrollmentFlyout } from '../../../components'; import { WithHeaderLayout } from '../../../layouts'; -import { LinkedAgentCount, AgentPolicyActionMenu } from '../components'; import { useGetAgentStatus, AgentStatusRefreshContext } from './hooks'; -import { PackagePoliciesView, SettingsView } from './components'; - -const Divider = styled.div` - width: 0; - height: 100%; - border-left: ${(props) => props.theme.eui.euiBorderThin}; -`; +import { + PackagePoliciesView, + SettingsView, + HeaderRightContent, + HeaderLeftContent, +} from './components'; export const AgentPolicyDetailsPage: React.FunctionComponent = () => { const { params: { policyId, tabId = '' }, } = useRouteMatch<{ policyId: string; tabId?: string }>(); - const history = useHistory(); - const { getHref, getPath } = useLink(); + const { getHref } = useLink(); const agentPolicyRequest = useGetOneAgentPolicy(policyId); const agentPolicy = agentPolicyRequest.data ? agentPolicyRequest.data.item : null; const { isLoading, error, sendRequest: refreshAgentPolicy } = agentPolicyRequest; @@ -70,6 +52,7 @@ export const AgentPolicyDetailsPage: React.FunctionComponent = () => { const [isAddAgentHelpPopoverOpen, setIsAddAgentHelpPopoverOpen] = useState( openAddAgentHelpPopoverOpenByDefault ); + const agentStatusRequest = useGetAgentStatus(policyId); const { refreshAgentStatus } = agentStatusRequest; const { @@ -80,74 +63,6 @@ export const AgentPolicyDetailsPage: React.FunctionComponent = () => { const { isReady: isFleetReady } = useFleetStatus(); - const headerLeftContent = useMemo( - () => ( - - - - - - - - {isLoading ? ( - - ) : ( - - - -

    - {(agentPolicy && agentPolicy.name) || ( - - )} -

    -
    -
    - {agentPolicy?.is_managed && ( - - - - )} -
    - )} -
    - - {agentPolicy && agentPolicy.description ? ( - - - - {agentPolicy.description} - - - ) : null} -
    - ), - [getHref, isLoading, agentPolicy, policyId] - ); - const onCancelEnrollment = useMemo(() => { if (routeState && routeState.onDoneNavigateTo && isFleetReady) { const [appId, options] = routeState.onDoneNavigateTo; @@ -157,118 +72,10 @@ export const AgentPolicyDetailsPage: React.FunctionComponent = () => { return undefined; }, [isFleetReady, navigateToApp, routeState]); - const addAgentLink = ( - { - setIsAddAgentHelpPopoverOpen(false); - setIsEnrollmentFlyoutOpen(true); - }} - > - - - ); - const headerRightContent = useMemo( - () => - agentPolicy ? ( - - {[ - { - label: i18n.translate('xpack.fleet.policyDetails.summary.revision', { - defaultMessage: 'Revision', - }), - content: agentPolicy?.revision ?? 0, - }, - { isDivider: true }, - { - label: i18n.translate('xpack.fleet.policyDetails.summary.integrations', { - defaultMessage: 'Integrations', - }), - content: ( - - ), - }, - { isDivider: true }, - { - label: i18n.translate('xpack.fleet.policyDetails.summary.usedBy', { - defaultMessage: 'Agents', - }), - content: - agentStatus && agentStatus!.total ? ( - - ) : ( - { - setIsAddAgentHelpPopoverOpen(false); - }} - /> - ), - }, - { isDivider: true }, - { - label: i18n.translate('xpack.fleet.policyDetails.summary.lastUpdated', { - defaultMessage: 'Last updated on', - }), - content: - (agentPolicy && ( - - )) || - '', - }, - { isDivider: true }, - { - content: agentPolicy && ( - { - history.push(getPath('policy_details', { policyId: newAgentPolicy.id })); - }} - onCancelEnrollment={onCancelEnrollment} - /> - ), - }, - ].map((item, index) => ( - - {item.isDivider ?? false ? ( - - ) : item.label ? ( - - - {item.label} - - - {item.content} - - - ) : ( - item.content - )} - - ))} - - ) : undefined, - /* eslint-disable-next-line react-hooks/exhaustive-deps */ - [agentPolicy, policyId, agentStatus, isAddAgentHelpPopoverOpen] - ); + const addAgent = useCallback(() => { + setIsAddAgentHelpPopoverOpen(false); + setIsEnrollmentFlyoutOpen(true); + }, []); const headerTabs = useMemo(() => { return [ @@ -355,6 +162,21 @@ export const AgentPolicyDetailsPage: React.FunctionComponent = () => { onCancelEnrollment, policyId, ]); + const headerLeftContent = ( + + ); + const headerRightContent = ( + + ); return ( diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/index.tsx index f082a2931681e..c397382a0e22a 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/index.tsx @@ -63,7 +63,9 @@ import type { UpgradePackagePolicyDryRunResponse, } from '../../../../../../common/types/rest_spec'; import type { PackagePolicyEditExtensionComponentProps } from '../../../types'; -import { pkgKeyFromPackageInfo, storedPackagePoliciesToAgentInputs } from '../../../services'; +import { pkgKeyFromPackageInfo } from '../../../services'; + +import { hasUpgradeAvailable } from './utils'; export const EditPackagePolicyPage = memo(() => { const { @@ -84,16 +86,16 @@ export const EditPackagePolicyPage = memo(() => { // the edit form in an "upgrade" state regardless of whether the user intended to // "edit" their policy or "upgrade" it. This ensures the new policy generated will be // set to use the latest version of the package, not its current version. - isUpgrade={extensionView?.useLatestPackageVersion} + forceUpgrade={extensionView?.useLatestPackageVersion} /> ); }); export const EditPackagePolicyForm = memo<{ packagePolicyId: string; - isUpgrade?: boolean; + forceUpgrade?: boolean; from?: EditPackagePolicyFrom; -}>(({ packagePolicyId, isUpgrade = false, from = 'edit' }) => { +}>(({ packagePolicyId, forceUpgrade = false, from = 'edit' }) => { const { application, notifications } = useStartServices(); const { agents: { enabled: isFleetEnabled }, @@ -119,6 +121,14 @@ export const EditPackagePolicyForm = memo<{ useState(); const [dryRunData, setDryRunData] = useState(); + const [isUpgrade, setIsUpgrade] = useState(false); + + useEffect(() => { + if (forceUpgrade) { + setIsUpgrade(true); + } + }, [forceUpgrade]); + const policyId = agentPolicy?.id ?? ''; // Retrieve agent policy, package, and package policy info @@ -146,11 +156,24 @@ export const EditPackagePolicyForm = memo<{ setAgentPolicy(agentPolicyData.item); } - const { data: upgradePackagePolicyDryRunData } = await sendUpgradePackagePolicyDryRun([ - packagePolicyId, - ]); + const { data: upgradePackagePolicyDryRunData, error: upgradePackagePolicyDryRunError } = + await sendUpgradePackagePolicyDryRun([packagePolicyId]); + + if (upgradePackagePolicyDryRunError) { + throw upgradePackagePolicyDryRunError; + } - if (upgradePackagePolicyDryRunData) { + const hasUpgrade = upgradePackagePolicyDryRunData + ? hasUpgradeAvailable(upgradePackagePolicyDryRunData) + : false; + + // If the dry run data doesn't indicate a difference in version numbers, flip the form back + // to its non-upgrade state, even if we were initially set to the upgrade view + if (!hasUpgrade) { + setIsUpgrade(false); + } + + if (upgradePackagePolicyDryRunData && hasUpgrade) { setDryRunData(upgradePackagePolicyDryRunData); } @@ -187,7 +210,24 @@ export const EditPackagePolicyForm = memo<{ ...restOfPackagePolicy, inputs: baseInputs.map((input: any) => { // Remove `compiled_input` from all input info, we assign this after saving - const { streams, compiled_input: compiledInput, ...restOfInput } = input; + const { streams, compiled_input: compiledInput, vars, ...restOfInput } = input; + let basePolicyInputVars: any = + isUpgrade && + basePolicy.inputs.find( + (i) => i.type === input.type && i.policy_template === input.policy_template + )?.vars; + let newVars = vars; + if (basePolicyInputVars && vars) { + // merging vars from dry run with updated ones + basePolicyInputVars = Object.keys(vars).reduce( + (acc, curr) => ({ ...acc, [curr]: basePolicyInputVars[curr] }), + {} + ); + newVars = { + ...vars, + ...basePolicyInputVars, + }; + } return { ...restOfInput, streams: streams.map((stream: any) => { @@ -195,6 +235,7 @@ export const EditPackagePolicyForm = memo<{ const { compiled_stream, ...restOfStream } = stream; return restOfStream; }), + vars: newVars, }; }), package: basePackage, @@ -298,6 +339,8 @@ export const EditPackagePolicyForm = memo<{ : false; if (!hasValidationErrors) { setFormState('VALID'); + } else { + setFormState('INVALID'); } }, [packagePolicy, updatePackagePolicyValidation] @@ -348,7 +391,8 @@ export const EditPackagePolicyForm = memo<{ const [formState, setFormState] = useState('INVALID'); const savePackagePolicy = async () => { setFormState('LOADING'); - const result = await sendUpdatePackagePolicy(packagePolicyId, packagePolicy); + const { elasticsearch, ...restPackagePolicy } = packagePolicy; // ignore 'elasticsearch' property since it fails route validation + const result = await sendUpdatePackagePolicy(packagePolicyId, restPackagePolicy); setFormState('SUBMITTED'); return result; }; @@ -423,7 +467,7 @@ export const EditPackagePolicyForm = memo<{ const [selectedTab, setSelectedTab] = useState(0); const layoutProps = { - from: extensionView?.useLatestPackageVersion ? 'upgrade-from-extension' : from, + from: extensionView?.useLatestPackageVersion && isUpgrade ? 'upgrade-from-extension' : from, cancelUrl, agentPolicy, packageInfo, @@ -461,6 +505,7 @@ export const EditPackagePolicyForm = memo<{ updatePackagePolicy={updatePackagePolicy} validationResults={validationResults!} submitAttempted={formState === 'INVALID'} + isUpdate={true} /> )} @@ -702,11 +747,7 @@ const UpgradeStatusCallout: React.FunctionComponent<{ - {JSON.stringify( - storedPackagePoliciesToAgentInputs([currentPackagePolicy]), - null, - 2 - )} + {JSON.stringify(dryRunData[0].agent_diff?.[0] || [], null, 2)} diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/utils/has_upgrade_available.ts b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/utils/has_upgrade_available.ts new file mode 100644 index 0000000000000..d042eddb09334 --- /dev/null +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/utils/has_upgrade_available.ts @@ -0,0 +1,25 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import semverGt from 'semver/functions/gt'; + +import type { UpgradePackagePolicyDryRunResponse } from '../../../../types'; + +/** + * Given a dry run response, determines if a greater version exists in the "proposed" + * version of the first package policy in the response. + */ +export function hasUpgradeAvailable(dryRunData: UpgradePackagePolicyDryRunResponse) { + return ( + dryRunData && + dryRunData[0].diff && + semverGt( + dryRunData[0].diff[1].package?.version ?? '', + dryRunData[0].diff[0].package?.version ?? '' + ) + ); +} diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/utils/index.ts b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/utils/index.ts new file mode 100644 index 0000000000000..e8206e9dbbf97 --- /dev/null +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/utils/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './has_upgrade_available'; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/upgrade_package_policy_page/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/upgrade_package_policy_page/index.tsx index 18cf7847cd29b..853caeb0cc826 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/upgrade_package_policy_page/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/upgrade_package_policy_page/index.tsx @@ -30,5 +30,5 @@ export const UpgradePackagePolicyPage = memo(() => { from = 'upgrade-from-integrations-policy-list'; } - return ; + return ; }); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_details/input_type_utils.ts b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_details/input_type_utils.ts index dd1197a8ee2d7..3f3660582d493 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_details/input_type_utils.ts +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_details/input_type_utils.ts @@ -11,6 +11,10 @@ import { STATE_DATASET_FIELD, AGENT_DATASET_FILEBEAT, AGENT_DATASET_METRICBEAT, + AGENT_DATASET_APM_SERVER, + AGENT_DATASET_ENDPOINT_SECURITY, + AGENT_DATASET_OSQUERYBEAT, + AGENT_DATASET_HEARTBEAT, } from '../agent_logs/constants'; export function displayInputType(inputType: string): string { @@ -40,6 +44,18 @@ export function getLogsQueryByInputType(inputType: string) { if (inputType.match(/\/metrics$/)) { return `(${STATE_DATASET_FIELD}:!(${AGENT_DATASET_METRICBEAT}))`; } + if (inputType === 'osquery') { + return `(${STATE_DATASET_FIELD}:!(${AGENT_DATASET_OSQUERYBEAT}))`; + } + if (inputType.match(/^synthetics\//)) { + return `(${STATE_DATASET_FIELD}:!(${AGENT_DATASET_HEARTBEAT}))`; + } + if (inputType === 'apm') { + return `(${STATE_DATASET_FIELD}:!(${AGENT_DATASET_APM_SERVER}))`; + } + if (inputType === 'endpoint') { + return `(${STATE_DATASET_FIELD}:!(${AGENT_DATASET_ENDPOINT_SECURITY}))`; + } return ''; } diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/constants.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/constants.tsx index f4c6e19f09322..18af09c48f220 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/constants.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/constants.tsx @@ -11,6 +11,10 @@ export const AGENT_LOG_INDEX_PATTERN = 'logs-elastic_agent-*,logs-elastic_agent. export const AGENT_DATASET = 'elastic_agent'; export const AGENT_DATASET_FILEBEAT = 'elastic_agent.filebeat'; export const AGENT_DATASET_METRICBEAT = 'elastic_agent.metricbeat'; +export const AGENT_DATASET_OSQUERYBEAT = 'elastic_agent.osquerybeat'; +export const AGENT_DATASET_HEARTBEAT = 'elastic_agent.heartbeat'; +export const AGENT_DATASET_APM_SERVER = 'elastic_agent.apm_server'; +export const AGENT_DATASET_ENDPOINT_SECURITY = 'elastic_agent.endpoint_security'; export const AGENT_DATASET_PATTERN = 'elastic_agent.*'; export const AGENT_ID_FIELD = { name: 'elastic_agent.id', diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/enrollment_token_list_page/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/enrollment_token_list_page/index.tsx index a62c76882b2a1..2d776dc8d15d1 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/enrollment_token_list_page/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/enrollment_token_list_page/index.tsx @@ -96,7 +96,6 @@ const ApiKeyField: React.FunctionComponent<{ apiKeyId: string }> = ({ apiKeyId } }) } color="text" - isDisabled={state === 'LOADING'} onClick={toggleKey} iconType={state === 'VISIBLE' ? 'eyeClosed' : 'eye'} /> @@ -269,6 +268,10 @@ export const EnrollmentTokenListPage: React.FunctionComponent<{}> = () => { }, ]; + const isLoading = + (enrollmentAPIKeysRequest.isLoading && enrollmentAPIKeysRequest.isInitialRequest) || + (agentPoliciesRequest.isLoading && agentPoliciesRequest.isInitialRequest); + return ( {isModalOpen && ( @@ -312,10 +315,10 @@ export const EnrollmentTokenListPage: React.FunctionComponent<{}> = () => {
    - loading={enrollmentAPIKeysRequest.isLoading && enrollmentAPIKeysRequest.isInitialRequest} + loading={isLoading} hasActions={true} noItemsMessage={ - enrollmentAPIKeysRequest.isLoading && enrollmentAPIKeysRequest.isInitialRequest ? ( + isLoading ? ( {}, hasHelpPopover = false, }) { @@ -24,7 +25,7 @@ function renderCell({ return renderer.render( @@ -39,6 +40,18 @@ describe('PackagePolicyAgentsCell', () => { }); }); + test('it should not display add agent if policy is managed', async () => { + const utils = renderCell({ + agentCount: 0, + agentPolicy: { + is_managed: true, + } as AgentPolicy, + }); + await act(async () => { + expect(utils.queryByText('Add agent')).not.toBeInTheDocument(); + }); + }); + test('it should display only count if count > 0', async () => { const utils = renderCell({ agentCount: 9999 }); await act(async () => { diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/policies/components/package_policy_agents_cell.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/policies/components/package_policy_agents_cell.tsx index fc3007b174ced..cecd007a7b84e 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/policies/components/package_policy_agents_cell.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/policies/components/package_policy_agents_cell.tsx @@ -11,6 +11,7 @@ import { EuiButton } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { LinkedAgentCount, AddAgentHelpPopover } from '../../../../../../components'; +import type { AgentPolicy } from '../../../../../../types'; const AddAgentButton = ({ onAddAgent }: { onAddAgent: () => void }) => ( @@ -38,21 +39,21 @@ const AddAgentButtonWithPopover = ({ onAddAgent }: { onAddAgent: () => void }) = }; export const PackagePolicyAgentsCell = ({ - agentPolicyId, + agentPolicy, agentCount = 0, onAddAgent, hasHelpPopover = false, }: { - agentPolicyId: string; + agentPolicy: AgentPolicy; agentCount?: number; hasHelpPopover?: boolean; onAddAgent: () => void; }) => { - if (agentCount > 0) { + if (agentCount > 0 || agentPolicy.is_managed) { return ( ); diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/policies/package_policies.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/policies/package_policies.tsx index 9895016641f9a..2bc28382399c9 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/policies/package_policies.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/policies/package_policies.tsx @@ -298,7 +298,7 @@ export const PackagePoliciesPage = ({ name, version }: PackagePoliciesPanelProps render({ agentPolicy, packagePolicy }: InMemoryPackagePolicyAndAgentPolicy) { return ( setFlyoutOpenForPolicyId(agentPolicy.id)} hasHelpPopover={showAddAgentHelpForPackagePolicyId === packagePolicy.id} diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/settings/install_button.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/settings/install_button.tsx index f2813058afe5a..079d1fe4525f8 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/settings/install_button.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/settings/install_button.tsx @@ -15,8 +15,12 @@ import { useCapabilities, useGetPackageInstallStatus, useInstallPackage, + useStartServices, } from '../../../../../hooks'; +import { sendPostFleetSetup } from '../../../../../../../hooks/use_request/setup'; +import { toMountPoint } from '../../../../../../../../../../../src/plugins/kibana_react/public'; + import { ConfirmPackageInstall } from './confirm_package_install'; type InstallationButtonProps = Pick & { @@ -35,17 +39,45 @@ export function InstallButton(props: InstallationButtonProps) { const getPackageInstallStatus = useGetPackageInstallStatus(); const { status: installationStatus } = getPackageInstallStatus(name); - const isInstalling = installationStatus === InstallStatus.installing; + const [isFleetSetupInProgress, setFleetSetupInProgress] = useState(false); + + const isInstalling = installationStatus === InstallStatus.installing || isFleetSetupInProgress; const [isInstallModalVisible, setIsInstallModalVisible] = useState(false); const toggleInstallModal = useCallback(() => { setIsInstallModalVisible(!isInstallModalVisible); }, [isInstallModalVisible]); - const handleClickInstall = useCallback(() => { - installPackage({ name, version, title }); + const { notifications } = useStartServices(); + + const handleClickInstall = useCallback(async () => { + setFleetSetupInProgress(true); toggleInstallModal(); - }, [installPackage, name, title, toggleInstallModal, version]); + try { + const res = await sendPostFleetSetup({ forceRecreate: false }); + if (res.error) { + throw res.error; + } + } catch (e) { + notifications.toasts.addWarning({ + title: toMountPoint( + + ), + text: toMountPoint( + + ), + iconType: 'alert', + }); + } + setFleetSetupInProgress(false); + installPackage({ name, version, title }); + }, [installPackage, name, title, toggleInstallModal, version, notifications.toasts]); const installModal = ( { ); }); diff --git a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/index.tsx b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/index.tsx index 87911e5d6c2c7..b58dd9af1adaa 100644 --- a/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/index.tsx +++ b/x-pack/plugins/fleet/public/components/agent_enrollment_flyout/index.tsx @@ -137,7 +137,6 @@ export const AgentEnrollmentFlyout: React.FunctionComponent = ({ { + const agentPolicy = createMockAgentPolicy(); + const packagePolicy = createMockPackagePolicy({ hasUpgrade: true }); + const { utils } = renderMenu({ agentPolicy, packagePolicy, showAddAgent: true }); + await act(async () => { + expect(utils.queryByText('Add agent')).not.toBeNull(); + }); +}); + +test('Should not show add button if the policy is managed and showAddAgent=true', async () => { + const agentPolicy = createMockAgentPolicy({ is_managed: true }); + const packagePolicy = createMockPackagePolicy({ hasUpgrade: true }); + const { utils } = renderMenu({ agentPolicy, packagePolicy, showAddAgent: true }); + await act(async () => { + expect(utils.queryByText('Add agent')).toBeNull(); + }); +}); diff --git a/x-pack/plugins/fleet/public/components/package_policy_actions_menu.tsx b/x-pack/plugins/fleet/public/components/package_policy_actions_menu.tsx index 754a3fb1c76b5..8cbfd40bbbf55 100644 --- a/x-pack/plugins/fleet/public/components/package_policy_actions_menu.tsx +++ b/x-pack/plugins/fleet/public/components/package_policy_actions_menu.tsx @@ -57,7 +57,7 @@ export const PackagePolicyActionsMenu: React.FunctionComponent<{ // defaultMessage="View integration" // /> // , - ...(showAddAgent + ...(showAddAgent && !agentPolicy.is_managed ? [ new Promise((resolve) => setTimeout(resolve, ms)); + +const DOCKER_START_TIMEOUT = 5 * 60 * 1000; // 5 minutes + +export function useDockerRegistry() { + const packageRegistryPort = process.env.FLEET_PACKAGE_REGISTRY_PORT || '8081'; + + if (!packageRegistryPort.match(/^[0-9]{4}/)) { + throw new Error('Invalid FLEET_PACKAGE_REGISTRY_PORT'); + } + + let dockerProcess: ChildProcess | undefined; + async function startDockerRegistryServer() { + const dockerImage = `docker.elastic.co/package-registry/distribution@sha256:de952debe048d903fc73e8a4472bb48bb95028d440cba852f21b863d47020c61`; + + const args = ['run', '--rm', '-p', `${packageRegistryPort}:8080`, dockerImage]; + + dockerProcess = spawn('docker', args, { stdio: 'inherit' }); + + let isExited = dockerProcess.exitCode !== null; + dockerProcess.once('exit', () => { + isExited = true; + }); + + const startedAt = Date.now(); + + while (!isExited && Date.now() - startedAt <= DOCKER_START_TIMEOUT) { + try { + const res = await fetch(`http://localhost:${packageRegistryPort}/`); + if (res.status === 200) { + return; + } + } catch (err) { + // swallow errors + } + + await delay(3000); + } + + dockerProcess.kill(); + throw new Error('Unable to setup docker registry'); + } + + async function cleanupDockerRegistryServer() { + if (dockerProcess && !dockerProcess.killed) { + dockerProcess.kill(); + } + } + + beforeAll(async () => { + jest.setTimeout(5 * 60 * 1000); // 5 minutes timeout + await startDockerRegistryServer(); + }); + + afterAll(async () => { + await cleanupDockerRegistryServer(); + }); + + return `http://localhost:${packageRegistryPort}`; +} diff --git a/x-pack/plugins/fleet/server/integration_tests/reset_preconfiguration.test.ts b/x-pack/plugins/fleet/server/integration_tests/reset_preconfiguration.test.ts new file mode 100644 index 0000000000000..b5763a1cf0670 --- /dev/null +++ b/x-pack/plugins/fleet/server/integration_tests/reset_preconfiguration.test.ts @@ -0,0 +1,328 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import Path from 'path'; + +import * as kbnTestServer from 'src/core/test_helpers/kbn_server'; + +import type { AgentPolicySOAttributes } from '../types'; +import { PRECONFIGURATION_DELETION_RECORD_SAVED_OBJECT_TYPE } from '../../common'; + +import { useDockerRegistry } from './docker_registry_helper'; + +const logFilePath = Path.join(__dirname, 'logs.log'); + +type Root = ReturnType; + +const waitForFleetSetup = async (root: Root) => { + const isFleetSetupRunning = async () => { + const statusApi = kbnTestServer.getSupertest(root, 'get', '/api/status'); + const resp = await statusApi.send(); + const fleetStatus = resp.body?.status?.plugins?.fleet; + if (fleetStatus?.meta?.error) { + throw new Error(`Setup failed: ${JSON.stringify(fleetStatus)}`); + } + + return !fleetStatus || fleetStatus?.summary === 'Fleet is setting up'; + }; + + while (await isFleetSetupRunning()) { + await new Promise((resolve) => setTimeout(resolve, 2000)); + } +}; + +describe.skip('Fleet preconfiguration rest', () => { + let esServer: kbnTestServer.TestElasticsearchUtils; + let kbnServer: kbnTestServer.TestKibanaUtils; + + const registryUrl = useDockerRegistry(); + + const startServers = async () => { + const { startES } = kbnTestServer.createTestServers({ + adjustTimeout: (t) => jest.setTimeout(t), + settings: { + es: { + license: 'trial', + }, + kbn: {}, + }, + }); + + esServer = await startES(); + const startKibana = async () => { + const root = kbnTestServer.createRootWithCorePlugins( + { + xpack: { + fleet: { + registryUrl, + // Preconfigure two policies test-12345 and test-456789 + agentPolicies: [ + { + name: 'Elastic Cloud agent policy 0001', + description: 'Default agent policy for agents hosted on Elastic Cloud', + is_default: false, + is_managed: true, + id: 'test-12345', + namespace: 'default', + monitoring_enabled: [], + package_policies: [ + { + name: 'fleet_server123456789', + package: { + name: 'fleet_server', + }, + inputs: [ + { + type: 'fleet-server', + keep_enabled: true, + vars: [ + { + name: 'host', + value: '127.0.0.1', + frozen: true, + }, + ], + }, + ], + }, + ], + }, + { + name: 'Second preconfigured policy', + description: 'second policy', + is_default: false, + is_managed: true, + id: 'test-456789', + namespace: 'default', + monitoring_enabled: [], + package_policies: [ + { + name: 'fleet_server987654321', + package: { + name: 'fleet_server', + }, + inputs: [ + { + type: 'fleet-server', + keep_enabled: true, + vars: [ + { + name: 'host', + value: '127.0.0.1', + frozen: true, + }, + ], + }, + ], + }, + ], + }, + ], + }, + }, + logging: { + appenders: { + file: { + type: 'file', + fileName: logFilePath, + layout: { + type: 'json', + }, + }, + }, + loggers: [ + { + name: 'root', + appenders: ['file'], + }, + { + name: 'plugins.fleet', + level: 'all', + }, + ], + }, + }, + { oss: false } + ); + + await root.preboot(); + const coreSetup = await root.setup(); + const coreStart = await root.start(); + + return { + root, + coreSetup, + coreStart, + stop: async () => await root.shutdown(), + }; + }; + kbnServer = await startKibana(); + await waitForFleetSetup(kbnServer.root); + }; + + const stopServers = async () => { + if (kbnServer) { + await kbnServer.stop(); + } + + if (esServer) { + await esServer.stop(); + } + + await new Promise((res) => setTimeout(res, 10000)); + }; + + // Share the same servers for all the test to make test a lot faster (but test are not isolated anymore) + beforeAll(async () => { + await startServers(); + }); + + afterAll(async () => { + await stopServers(); + }); + + describe('Reset all policy', () => { + it('Works and reset all preconfigured policies', async () => { + const resetAPI = kbnTestServer.getSupertest( + kbnServer.root, + 'post', + '/internal/fleet/reset_preconfigured_agent_policies' + ); + await resetAPI.set('kbn-sxrf', 'xx').send(); + + const agentPolicies = await kbnServer.coreStart.savedObjects + .createInternalRepository() + .find({ + type: 'ingest-agent-policies', + perPage: 10000, + }); + expect(agentPolicies.saved_objects).toHaveLength(2); + expect(agentPolicies.saved_objects.map((ap) => ap.attributes)).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + name: 'Elastic Cloud agent policy 0001', + }), + expect.objectContaining({ + name: 'Second preconfigured policy', + }), + ]) + ); + }); + }); + + // SKIP: https://github.com/elastic/kibana/issues/123528 + describe.skip('Reset one preconfigured policy', () => { + const POLICY_ID = 'test-12345'; + + it('Works and reset one preconfigured policies if the policy is already deleted (with a ghost package policy)', async () => { + const soClient = kbnServer.coreStart.savedObjects.createInternalRepository(); + + await soClient.delete('ingest-agent-policies', POLICY_ID); + + const oldAgentPolicies = await soClient.find({ + type: 'ingest-agent-policies', + perPage: 10000, + }); + + const secondAgentPoliciesUpdatedAt = oldAgentPolicies.saved_objects[0].updated_at; + + const resetAPI = kbnTestServer.getSupertest( + kbnServer.root, + 'post', + '/internal/fleet/reset_preconfigured_agent_policies/test-12345' + ); + await resetAPI.set('kbn-sxrf', 'xx').send(); + + const agentPolicies = await kbnServer.coreStart.savedObjects + .createInternalRepository() + .find({ + type: 'ingest-agent-policies', + perPage: 10000, + }); + expect(agentPolicies.saved_objects).toHaveLength(2); + expect( + agentPolicies.saved_objects.map((ap) => ({ ...ap.attributes, updated_at: ap.updated_at })) + ).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + name: 'Elastic Cloud agent policy 0001', + }), + expect.objectContaining({ + name: 'Second preconfigured policy', + updated_at: secondAgentPoliciesUpdatedAt, // Check that policy was not updated + }), + ]) + ); + }); + + it('Works if the preconfigured policies already exists with a missing package policy', async () => { + const soClient = kbnServer.coreStart.savedObjects.createInternalRepository(); + + await soClient.update('ingest-agent-policies', POLICY_ID, { + package_policies: [], + }); + + const resetAPI = kbnTestServer.getSupertest( + kbnServer.root, + 'post', + '/internal/fleet/reset_preconfigured_agent_policies/test-12345' + ); + await resetAPI.set('kbn-sxrf', 'xx').send(); + + const agentPolicies = await soClient.find({ + type: 'ingest-agent-policies', + perPage: 10000, + }); + expect(agentPolicies.saved_objects).toHaveLength(2); + expect(agentPolicies.saved_objects.map((ap) => ap.attributes)).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + name: 'Elastic Cloud agent policy 0001', + package_policies: expect.arrayContaining([expect.stringMatching(/.*/)]), + }), + expect.objectContaining({ + name: 'Second preconfigured policy', + }), + ]) + ); + }); + + it('Works and reset one preconfigured policies if the policy was deleted with a preconfiguration deletion record', async () => { + const soClient = kbnServer.coreStart.savedObjects.createInternalRepository(); + + await soClient.delete('ingest-agent-policies', POLICY_ID); + await soClient.create(PRECONFIGURATION_DELETION_RECORD_SAVED_OBJECT_TYPE, { + id: POLICY_ID, + }); + + const resetAPI = kbnTestServer.getSupertest( + kbnServer.root, + 'post', + `/internal/fleet/reset_preconfigured_agent_policies/${POLICY_ID}` + ); + await resetAPI.set('kbn-sxrf', 'xx').expect(200).send(); + + const agentPolicies = await kbnServer.coreStart.savedObjects + .createInternalRepository() + .find({ + type: 'ingest-agent-policies', + perPage: 10000, + }); + expect(agentPolicies.saved_objects).toHaveLength(2); + expect(agentPolicies.saved_objects.map((ap) => ({ ...ap.attributes }))).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + name: 'Elastic Cloud agent policy 0001', + }), + expect.objectContaining({ + name: 'Second preconfigured policy', + }), + ]) + ); + }); + }); +}); diff --git a/x-pack/plugins/fleet/server/routes/agent/upgrade_handler.ts b/x-pack/plugins/fleet/server/routes/agent/upgrade_handler.ts index 52f62037f61e6..bf386e7f463a7 100644 --- a/x-pack/plugins/fleet/server/routes/agent/upgrade_handler.ts +++ b/x-pack/plugins/fleet/server/routes/agent/upgrade_handler.ts @@ -28,6 +28,7 @@ export const postAgentUpgradeHandler: RequestHandler< const kibanaVersion = appContextService.getKibanaVersion(); try { checkVersionIsSame(version, kibanaVersion); + checkSourceUriAllowed(sourceUri); } catch (err) { return response.customError({ statusCode: 400, @@ -82,6 +83,7 @@ export const postBulkAgentsUpgradeHandler: RequestHandler< const kibanaVersion = appContextService.getKibanaVersion(); try { checkVersionIsSame(version, kibanaVersion); + checkSourceUriAllowed(sourceUri); } catch (err) { return response.customError({ statusCode: 400, @@ -127,3 +129,11 @@ export const checkVersionIsSame = (version: string, kibanaVersion: string) => { `cannot upgrade agent to ${versionToUpgradeNumber} because it is different than the installed kibana version ${kibanaVersionNumber}` ); }; + +const checkSourceUriAllowed = (sourceUri?: string) => { + if (sourceUri && !appContextService.getConfig()?.developer?.allowAgentUpgradeSourceUri) { + throw new Error( + `source_uri is not allowed or recommended in production. Set xpack.fleet.developer.allowAgentUpgradeSourceUri in kibana.yml to enable.` + ); + } +}; diff --git a/x-pack/plugins/fleet/server/routes/agent_policy/handlers.ts b/x-pack/plugins/fleet/server/routes/agent_policy/handlers.ts index 84b132e102908..15c8856f6c79a 100644 --- a/x-pack/plugins/fleet/server/routes/agent_policy/handlers.ts +++ b/x-pack/plugins/fleet/server/routes/agent_policy/handlers.ts @@ -22,6 +22,7 @@ import type { CopyAgentPolicyRequestSchema, DeleteAgentPolicyRequestSchema, GetFullAgentPolicyRequestSchema, + FleetRequestHandler, } from '../../types'; import type { AgentPolicy, NewPackagePolicy } from '../../types'; import { FLEET_SYSTEM_PACKAGE } from '../../../common'; @@ -39,12 +40,12 @@ import type { import { defaultIngestErrorHandler } from '../../errors'; import { incrementPackageName } from '../../services/package_policy'; -export const getAgentPoliciesHandler: RequestHandler< +export const getAgentPoliciesHandler: FleetRequestHandler< undefined, TypeOf > = async (context, request, response) => { - const soClient = context.core.savedObjects.client; - const esClient = context.core.elasticsearch.client.asCurrentUser; + const soClient = context.fleet.epm.internalSoClient; + const esClient = context.core.elasticsearch.client.asInternalUser; const { full: withPackagePolicies = false, ...restOfQuery } = request.query; try { const { items, total, page, perPage } = await agentPolicyService.list(soClient, { diff --git a/x-pack/plugins/fleet/server/routes/preconfiguration/handler.ts b/x-pack/plugins/fleet/server/routes/preconfiguration/handler.ts new file mode 100644 index 0000000000000..24ed8a822deae --- /dev/null +++ b/x-pack/plugins/fleet/server/routes/preconfiguration/handler.ts @@ -0,0 +1,72 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { TypeOf } from '@kbn/config-schema'; + +import type { PreconfiguredAgentPolicy } from '../../../common'; + +import type { FleetRequestHandler } from '../../types'; +import type { + PutPreconfigurationSchema, + PostResetOnePreconfiguredAgentPoliciesSchema, +} from '../../types'; +import { defaultIngestErrorHandler } from '../../errors'; +import { ensurePreconfiguredPackagesAndPolicies, outputService } from '../../services'; +import { resetPreconfiguredAgentPolicies } from '../../services/preconfiguration/index'; + +export const updatePreconfigurationHandler: FleetRequestHandler< + undefined, + undefined, + TypeOf +> = async (context, request, response) => { + const soClient = context.core.savedObjects.client; + const esClient = context.core.elasticsearch.client.asInternalUser; + const defaultOutput = await outputService.ensureDefaultOutput(soClient); + const { agentPolicies, packages } = request.body; + + try { + const body = await ensurePreconfiguredPackagesAndPolicies( + soClient, + esClient, + (agentPolicies as PreconfiguredAgentPolicy[]) ?? [], + packages ?? [], + defaultOutput + ); + return response.ok({ body }); + } catch (error) { + return defaultIngestErrorHandler({ error, response }); + } +}; + +export const resetOnePreconfigurationHandler: FleetRequestHandler< + TypeOf, + undefined, + undefined +> = async (context, request, response) => { + const soClient = context.core.savedObjects.client; + const esClient = context.core.elasticsearch.client.asInternalUser; + + try { + await resetPreconfiguredAgentPolicies(soClient, esClient, request.params.agentPolicyId); + return response.ok({}); + } catch (error) { + return defaultIngestErrorHandler({ error, response }); + } +}; + +export const resetPreconfigurationHandler: FleetRequestHandler = + async (context, request, response) => { + const soClient = context.core.savedObjects.client; + const esClient = context.core.elasticsearch.client.asInternalUser; + + try { + await resetPreconfiguredAgentPolicies(soClient, esClient); + return response.ok({}); + } catch (error) { + return defaultIngestErrorHandler({ error, response }); + } + }; diff --git a/x-pack/plugins/fleet/server/routes/preconfiguration/index.ts b/x-pack/plugins/fleet/server/routes/preconfiguration/index.ts index d6c483ffe30d9..010594ab3b235 100644 --- a/x-pack/plugins/fleet/server/routes/preconfiguration/index.ts +++ b/x-pack/plugins/fleet/server/routes/preconfiguration/index.ts @@ -6,47 +6,42 @@ */ import type { IRouter, RequestHandler } from 'src/core/server'; -import type { TypeOf } from '@kbn/config-schema'; - -import type { PreconfiguredAgentPolicy } from '../../../common'; import { PLUGIN_ID, PRECONFIGURATION_API_ROUTES } from '../../constants'; -import { PutPreconfigurationSchema } from '../../types'; -import { defaultIngestErrorHandler } from '../../errors'; -import { ensurePreconfiguredPackagesAndPolicies, outputService } from '../../services'; - -export const updatePreconfigurationHandler: RequestHandler< - undefined, - undefined, - TypeOf -> = async (context, request, response) => { - const soClient = context.core.savedObjects.client; - const esClient = context.core.elasticsearch.client.asCurrentUser; - const defaultOutput = await outputService.ensureDefaultOutput(soClient); - - const { agentPolicies, packages } = request.body; +import { + PutPreconfigurationSchema, + PostResetOnePreconfiguredAgentPoliciesSchema, +} from '../../types'; - try { - const body = await ensurePreconfiguredPackagesAndPolicies( - soClient, - esClient, - (agentPolicies as PreconfiguredAgentPolicy[]) ?? [], - packages ?? [], - defaultOutput - ); - return response.ok({ body }); - } catch (error) { - return defaultIngestErrorHandler({ error, response }); - } -}; +import { + updatePreconfigurationHandler, + resetPreconfigurationHandler, + resetOnePreconfigurationHandler, +} from './handler'; export const registerRoutes = (router: IRouter) => { + router.post( + { + path: PRECONFIGURATION_API_ROUTES.RESET_PATTERN, + validate: false, + options: { tags: [`access:${PLUGIN_ID}-all`] }, + }, + resetPreconfigurationHandler as RequestHandler + ); + router.post( + { + path: PRECONFIGURATION_API_ROUTES.RESET_ONE_PATTERN, + validate: PostResetOnePreconfiguredAgentPoliciesSchema, + options: { tags: [`access:${PLUGIN_ID}-all`] }, + }, + resetOnePreconfigurationHandler as RequestHandler + ); router.put( { path: PRECONFIGURATION_API_ROUTES.UPDATE_PATTERN, validate: PutPreconfigurationSchema, options: { tags: [`access:${PLUGIN_ID}-all`] }, }, - updatePreconfigurationHandler + updatePreconfigurationHandler as RequestHandler ); }; diff --git a/x-pack/plugins/fleet/server/services/agent_policies/full_agent_policy.ts b/x-pack/plugins/fleet/server/services/agent_policies/full_agent_policy.ts index 60cf9c8d96257..13e00668d4da4 100644 --- a/x-pack/plugins/fleet/server/services/agent_policies/full_agent_policy.ts +++ b/x-pack/plugins/fleet/server/services/agent_policies/full_agent_policy.ts @@ -21,12 +21,13 @@ import { storedPackagePoliciesToAgentPermissions, DEFAULT_PERMISSIONS, } from '../package_policies_to_agent_permissions'; -import { storedPackagePoliciesToAgentInputs, dataTypes, outputType } from '../../../common'; +import { dataTypes, outputType } from '../../../common'; import type { FullAgentPolicyOutputPermissions } from '../../../common'; import { getSettings } from '../settings'; import { DEFAULT_OUTPUT } from '../../constants'; import { getMonitoringPermissions } from './monitoring_permissions'; +import { storedPackagePoliciesToAgentInputs } from './'; export async function getFullAgentPolicy( soClient: SavedObjectsClientContract, @@ -82,7 +83,8 @@ export async function getFullAgentPolicy( return acc; }, {}), }, - inputs: storedPackagePoliciesToAgentInputs( + inputs: await storedPackagePoliciesToAgentInputs( + soClient, agentPolicy.package_policies as PackagePolicy[], getOutputIdForAgentPolicy(dataOutput) ), diff --git a/x-pack/plugins/fleet/server/services/agent_policies/index.ts b/x-pack/plugins/fleet/server/services/agent_policies/index.ts index b793ed26a08b5..f1248d99d3664 100644 --- a/x-pack/plugins/fleet/server/services/agent_policies/index.ts +++ b/x-pack/plugins/fleet/server/services/agent_policies/index.ts @@ -6,3 +6,7 @@ */ export { getFullAgentPolicy } from './full_agent_policy'; +export { + storedPackagePolicyToAgentInputs, + storedPackagePoliciesToAgentInputs, +} from './package_policies_to_agent_inputs'; diff --git a/x-pack/plugins/fleet/common/services/package_policies_to_agent_inputs.test.ts b/x-pack/plugins/fleet/server/services/agent_policies/package_policies_to_agent_inputs.test.ts similarity index 57% rename from x-pack/plugins/fleet/common/services/package_policies_to_agent_inputs.test.ts rename to x-pack/plugins/fleet/server/services/agent_policies/package_policies_to_agent_inputs.test.ts index a5acd823c20fd..0812e3f593c66 100644 --- a/x-pack/plugins/fleet/common/services/package_policies_to_agent_inputs.test.ts +++ b/x-pack/plugins/fleet/server/services/agent_policies/package_policies_to_agent_inputs.test.ts @@ -4,11 +4,42 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ +import { savedObjectsClientMock } from 'src/core/server/mocks'; -import type { PackagePolicy, PackagePolicyInput } from '../types'; +import type { PackagePolicy, PackagePolicyInput } from '../../types'; import { storedPackagePoliciesToAgentInputs } from './package_policies_to_agent_inputs'; +async function mockedGetPackageInfo({ pkgName }: { pkgName: string }) { + const packages: Record = { + 'mock-package': { + name: 'mock-package', + version: '0.0.0', + policy_templates: [ + { + multiple: true, + }, + ], + }, + 'limited-package': { + name: 'limited-package', + version: '0.0.0', + policy_templates: [ + { + multiple: false, + }, + ], + }, + }; + return Promise.resolve(packages[pkgName]); +} + +jest.mock('../epm/packages', () => { + return { + getPackageInfo: jest.fn().mockImplementation(mockedGetPackageInfo), + }; +}); + describe('Fleet - storedPackagePoliciesToAgentInputs', () => { const mockPackagePolicy: PackagePolicy = { id: 'some-uuid', @@ -77,11 +108,43 @@ describe('Fleet - storedPackagePoliciesToAgentInputs', () => { ], }; - it('returns no inputs for package policy with no inputs, or only disabled inputs', () => { - expect(storedPackagePoliciesToAgentInputs([mockPackagePolicy])).toEqual([]); + const mockInput2: PackagePolicyInput = { + type: 'test-metrics', + policy_template: 'some-template', + enabled: true, + vars: { + inputVar: { value: 'input-value' }, + inputVar2: { value: undefined }, + inputVar3: { + type: 'yaml', + value: 'testField: test', + }, + inputVar4: { value: '' }, + }, + streams: [ + { + id: 'test-metrics-foo', + enabled: true, + data_stream: { dataset: 'foo', type: 'metrics' }, + vars: { + fooVar: { value: 'foo-value' }, + fooVar2: { value: [1, 2] }, + }, + compiled_stream: { + fooKey: 'fooValue1', + fooKey2: ['fooValue2'], + }, + }, + ], + }; + + it('returns no inputs for package policy with no inputs, or only disabled inputs', async () => { + expect( + await storedPackagePoliciesToAgentInputs(savedObjectsClientMock.create(), [mockPackagePolicy]) + ).toEqual([]); expect( - storedPackagePoliciesToAgentInputs([ + await storedPackagePoliciesToAgentInputs(savedObjectsClientMock.create(), [ { ...mockPackagePolicy, package: { @@ -94,7 +157,7 @@ describe('Fleet - storedPackagePoliciesToAgentInputs', () => { ).toEqual([]); expect( - storedPackagePoliciesToAgentInputs([ + await storedPackagePoliciesToAgentInputs(savedObjectsClientMock.create(), [ { ...mockPackagePolicy, inputs: [{ ...mockInput, enabled: false }], @@ -103,9 +166,9 @@ describe('Fleet - storedPackagePoliciesToAgentInputs', () => { ).toEqual([]); }); - it('returns agent inputs with streams', () => { + it('returns agent inputs with streams', async () => { expect( - storedPackagePoliciesToAgentInputs([ + await storedPackagePoliciesToAgentInputs(savedObjectsClientMock.create(), [ { ...mockPackagePolicy, package: { @@ -118,7 +181,7 @@ describe('Fleet - storedPackagePoliciesToAgentInputs', () => { ]) ).toEqual([ { - id: 'some-uuid', + id: 'test-logs-some-uuid', name: 'mock-package-policy', revision: 1, type: 'test-logs', @@ -146,9 +209,105 @@ describe('Fleet - storedPackagePoliciesToAgentInputs', () => { ]); }); - it('returns agent inputs without streams', () => { + it('returns unique agent inputs IDs, with policy template name if one exists for non-limited packages', async () => { expect( - storedPackagePoliciesToAgentInputs([ + await storedPackagePoliciesToAgentInputs(savedObjectsClientMock.create(), [ + { + ...mockPackagePolicy, + package: { + name: 'mock-package', + title: 'Mock package', + version: '0.0.0', + }, + inputs: [mockInput, mockInput2], + }, + { + ...mockPackagePolicy, + package: { + name: 'limited-package', + title: 'Limited package', + version: '0.0.0', + }, + inputs: [mockInput2], + }, + ]) + ).toEqual([ + { + id: 'test-logs-some-uuid', + name: 'mock-package-policy', + revision: 1, + type: 'test-logs', + data_stream: { namespace: 'default' }, + use_output: 'default', + meta: { + package: { + name: 'mock-package', + version: '0.0.0', + }, + }, + streams: [ + { + id: 'test-logs-foo', + data_stream: { dataset: 'foo', type: 'logs' }, + fooKey: 'fooValue1', + fooKey2: ['fooValue2'], + }, + { + id: 'test-logs-bar', + data_stream: { dataset: 'bar', type: 'logs' }, + }, + ], + }, + { + id: 'test-metrics-some-template-some-uuid', + name: 'mock-package-policy', + revision: 1, + type: 'test-metrics', + data_stream: { namespace: 'default' }, + use_output: 'default', + meta: { + package: { + name: 'mock-package', + version: '0.0.0', + }, + }, + streams: [ + { + id: 'test-metrics-foo', + data_stream: { dataset: 'foo', type: 'metrics' }, + fooKey: 'fooValue1', + fooKey2: ['fooValue2'], + }, + ], + }, + { + id: 'some-uuid', + name: 'mock-package-policy', + revision: 1, + type: 'test-metrics', + data_stream: { namespace: 'default' }, + use_output: 'default', + meta: { + package: { + name: 'limited-package', + version: '0.0.0', + }, + }, + streams: [ + { + id: 'test-metrics-foo', + data_stream: { dataset: 'foo', type: 'metrics' }, + fooKey: 'fooValue1', + fooKey2: ['fooValue2'], + }, + ], + }, + ]); + }); + + it('returns agent inputs without streams', async () => { + expect( + await storedPackagePoliciesToAgentInputs(savedObjectsClientMock.create(), [ { ...mockPackagePolicy, package: { @@ -169,7 +328,7 @@ describe('Fleet - storedPackagePoliciesToAgentInputs', () => { ]) ).toEqual([ { - id: 'some-uuid', + id: 'test-logs-some-uuid', name: 'mock-package-policy', revision: 1, type: 'test-logs', @@ -186,9 +345,9 @@ describe('Fleet - storedPackagePoliciesToAgentInputs', () => { ]); }); - it('returns agent inputs without disabled streams', () => { + it('returns agent inputs without disabled streams', async () => { expect( - storedPackagePoliciesToAgentInputs([ + await storedPackagePoliciesToAgentInputs(savedObjectsClientMock.create(), [ { ...mockPackagePolicy, inputs: [ @@ -201,7 +360,7 @@ describe('Fleet - storedPackagePoliciesToAgentInputs', () => { ]) ).toEqual([ { - id: 'some-uuid', + id: 'test-logs-some-uuid', name: 'mock-package-policy', revision: 1, type: 'test-logs', @@ -219,9 +378,9 @@ describe('Fleet - storedPackagePoliciesToAgentInputs', () => { ]); }); - it('returns agent inputs with deeply merged config values', () => { + it('returns agent inputs with deeply merged config values', async () => { expect( - storedPackagePoliciesToAgentInputs([ + await storedPackagePoliciesToAgentInputs(savedObjectsClientMock.create(), [ { ...mockPackagePolicy, inputs: [ @@ -263,7 +422,7 @@ describe('Fleet - storedPackagePoliciesToAgentInputs', () => { ]) ).toEqual([ { - id: 'some-uuid', + id: 'test-logs-some-uuid', revision: 1, name: 'mock-package-policy', type: 'test-logs', diff --git a/x-pack/plugins/fleet/server/services/agent_policies/package_policies_to_agent_inputs.ts b/x-pack/plugins/fleet/server/services/agent_policies/package_policies_to_agent_inputs.ts new file mode 100644 index 0000000000000..f2c11c2067ee7 --- /dev/null +++ b/x-pack/plugins/fleet/server/services/agent_policies/package_policies_to_agent_inputs.ts @@ -0,0 +1,129 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import type { SavedObjectsClientContract } from 'kibana/server'; +import { merge } from 'lodash'; + +import { isPackageLimited } from '../../../common'; +import type { + PackagePolicy, + FullAgentPolicyInput, + FullAgentPolicyInputStream, + PackageInfo, +} from '../../types'; +import { DEFAULT_OUTPUT } from '../../constants'; + +import { getPackageInfo } from '../epm/packages'; + +const isPolicyEnabled = (packagePolicy: PackagePolicy) => { + return packagePolicy.enabled && packagePolicy.inputs && packagePolicy.inputs.length; +}; + +export const storedPackagePolicyToAgentInputs = ( + packagePolicy: PackagePolicy, + packageInfo?: PackageInfo, + outputId: string = DEFAULT_OUTPUT.name +): FullAgentPolicyInput[] => { + const fullInputs: FullAgentPolicyInput[] = []; + + if (!isPolicyEnabled(packagePolicy)) { + return fullInputs; + } + + // Marks to skip appending input information to package policy ID to make it unique if package is "limited": + // this means that only one policy for the package can exist on the agent policy, so its ID is already unique + const appendInputId = packageInfo && isPackageLimited(packageInfo) ? false : true; + + packagePolicy.inputs.forEach((input) => { + if (!input.enabled) { + return; + } + + const inputId = appendInputId + ? `${input.type}${input.policy_template ? `-${input.policy_template}-` : '-'}${ + packagePolicy.id + }` + : packagePolicy.id; + + const fullInput: FullAgentPolicyInput = { + id: inputId, + revision: packagePolicy.revision, + name: packagePolicy.name, + type: input.type, + data_stream: { + namespace: packagePolicy.namespace || 'default', + }, + use_output: outputId, + ...(input.compiled_input || {}), + ...(input.streams.length + ? { + streams: input.streams + .filter((stream) => stream.enabled) + .map((stream) => { + const fullStream: FullAgentPolicyInputStream = { + id: stream.id, + data_stream: stream.data_stream, + ...stream.compiled_stream, + ...Object.entries(stream.config || {}).reduce((acc, [key, { value }]) => { + acc[key] = value; + return acc; + }, {} as { [k: string]: any }), + }; + return fullStream; + }), + } + : {}), + }; + + // deeply merge the input.config values with the full policy input + merge( + fullInput, + Object.entries(input.config || {}).reduce( + (acc, [key, { value }]) => ({ ...acc, [key]: value }), + {} + ) + ); + + if (packagePolicy.package) { + fullInput.meta = { + package: { + name: packagePolicy.package.name, + version: packagePolicy.package.version, + }, + }; + } + + fullInputs.push(fullInput); + }); + + return fullInputs; +}; + +export const storedPackagePoliciesToAgentInputs = async ( + soClient: SavedObjectsClientContract, + packagePolicies: PackagePolicy[], + outputId: string = DEFAULT_OUTPUT.name +): Promise => { + const fullInputs: FullAgentPolicyInput[] = []; + + for (const packagePolicy of packagePolicies) { + if (!isPolicyEnabled(packagePolicy)) { + continue; + } + + const packageInfo = packagePolicy.package + ? await getPackageInfo({ + savedObjectsClient: soClient, + pkgName: packagePolicy.package.name, + pkgVersion: packagePolicy.package.version, + }) + : undefined; + + fullInputs.push(...storedPackagePolicyToAgentInputs(packagePolicy, packageInfo, outputId)); + } + + return fullInputs; +}; diff --git a/x-pack/plugins/fleet/server/services/agent_policy.test.ts b/x-pack/plugins/fleet/server/services/agent_policy.test.ts index 5617f8ef7bd7c..d60f5e959196e 100644 --- a/x-pack/plugins/fleet/server/services/agent_policy.test.ts +++ b/x-pack/plugins/fleet/server/services/agent_policy.test.ts @@ -5,9 +5,18 @@ * 2.0. */ +import uuidv5 from 'uuid/v5'; + import { elasticsearchServiceMock, savedObjectsClientMock } from 'src/core/server/mocks'; -import type { AgentPolicy, FullAgentPolicy, NewAgentPolicy } from '../types'; +import type { + AgentPolicy, + FullAgentPolicy, + NewAgentPolicy, + PreconfiguredAgentPolicy, +} from '../types'; + +import { AGENT_POLICY_SAVED_OBJECT_TYPE } from '../constants'; import { agentPolicyService } from './agent_policy'; import { agentPolicyUpdateEventHandler } from './agent_policy_update'; @@ -56,6 +65,7 @@ jest.mock('./agents'); jest.mock('./package_policy'); jest.mock('./app_context'); jest.mock('./agent_policies/full_agent_policy'); +jest.mock('uuid/v5'); const mockedAppContextService = appContextService as jest.Mocked; const mockedOutputService = outputService as jest.Mocked; @@ -285,5 +295,90 @@ describe('agent policy', () => { }) ); }); + + describe('ensurePreconfiguredAgentPolicy', () => { + it('should use preconfigured id if provided for default policy', async () => { + const soClient = savedObjectsClientMock.create(); + const esClient = elasticsearchServiceMock.createClusterClient().asInternalUser; + + const preconfiguredAgentPolicy: PreconfiguredAgentPolicy = { + id: 'my-unique-id', + name: 'My Preconfigured Policy', + is_default: true, + package_policies: [ + { + name: 'my-package-policy', + id: 'my-package-policy-id', + package: { + name: 'test-package', + }, + }, + ], + }; + + soClient.find.mockResolvedValueOnce({ total: 0, saved_objects: [], page: 1, per_page: 10 }); + + soClient.create.mockResolvedValueOnce({ + id: 'my-unique-id', + type: AGENT_POLICY_SAVED_OBJECT_TYPE, + attributes: {}, + references: [], + }); + + await agentPolicyService.ensurePreconfiguredAgentPolicy( + soClient, + esClient, + preconfiguredAgentPolicy + ); + + expect(soClient.create).toHaveBeenCalledWith( + AGENT_POLICY_SAVED_OBJECT_TYPE, + expect.anything(), + expect.objectContaining({ id: 'my-unique-id' }) + ); + }); + }); + + it('should generate uuid if no id is provided for default policy', async () => { + const soClient = savedObjectsClientMock.create(); + const esClient = elasticsearchServiceMock.createClusterClient().asInternalUser; + + const preconfiguredAgentPolicy = { + name: 'My Preconfigured Policy', + is_default: true, + package_policies: [ + { + name: 'my-package-policy', + id: 'my-package-policy-id', + package: { + name: 'test-package', + }, + }, + ], + }; + + (uuidv5 as unknown as jest.Mock).mockReturnValueOnce('fake-uuid'); + + soClient.find.mockResolvedValueOnce({ total: 0, saved_objects: [], page: 1, per_page: 10 }); + + soClient.create.mockResolvedValueOnce({ + id: 'my-unique-id', + type: AGENT_POLICY_SAVED_OBJECT_TYPE, + attributes: {}, + references: [], + }); + + await agentPolicyService.ensurePreconfiguredAgentPolicy( + soClient, + esClient, + preconfiguredAgentPolicy as any + ); + + expect(soClient.create).toHaveBeenCalledWith( + AGENT_POLICY_SAVED_OBJECT_TYPE, + expect.anything(), + expect.objectContaining({ id: 'fake-uuid' }) + ); + }); }); }); diff --git a/x-pack/plugins/fleet/server/services/agent_policy.ts b/x-pack/plugins/fleet/server/services/agent_policy.ts index e3411a34b92ad..692c53143c490 100644 --- a/x-pack/plugins/fleet/server/services/agent_policy.ts +++ b/x-pack/plugins/fleet/server/services/agent_policy.ts @@ -8,14 +8,14 @@ import { uniq, omit } from 'lodash'; import uuid from 'uuid/v4'; import uuidv5 from 'uuid/v5'; +import { safeDump } from 'js-yaml'; +import pMap from 'p-map'; import type { ElasticsearchClient, SavedObjectsClientContract, SavedObjectsBulkUpdateResponse, } from 'src/core/server'; -import { safeDump } from 'js-yaml'; - import { SavedObjectsErrorHelpers } from '../../../../../src/core/server'; import type { AuthenticatedUser } from '../../../security/server'; @@ -23,6 +23,7 @@ import { AGENT_POLICY_SAVED_OBJECT_TYPE, AGENT_SAVED_OBJECT_TYPE, PRECONFIGURATION_DELETION_RECORD_SAVED_OBJECT_TYPE, + SO_SEARCH_LIMIT, } from '../constants'; import type { PackagePolicy, @@ -206,7 +207,9 @@ class AgentPolicyService { if (agentPolicies.total === 0) { return { created: true, - policy: await this.create(soClient, esClient, newAgentPolicy, { id: String(id) }), + policy: await this.create(soClient, esClient, newAgentPolicy, { + id: id ? String(id) : uuidv5(newAgentPolicy.name, UUID_V5_NAMESPACE), + }), }; } @@ -226,6 +229,7 @@ class AgentPolicyService { options?: { id?: string; user?: AuthenticatedUser } ): Promise { await this.requireUniqueName(soClient, agentPolicy); + const newSo = await soClient.create( SAVED_OBJECT_TYPE, { @@ -477,6 +481,7 @@ class AgentPolicyService { fields: ['revision', 'data_output_id', 'monitoring_output_id'], searchFields: ['data_output_id', 'monitoring_output_id'], search: escapeSearchQueryPhrase(outputId), + perPage: SO_SEARCH_LIMIT, }); const bumpedPolicies = currentPolicies.saved_objects.map((policy) => { policy.attributes = { @@ -488,11 +493,10 @@ class AgentPolicyService { return policy; }); const res = await soClient.bulkUpdate(bumpedPolicies); - - await Promise.all( - currentPolicies.saved_objects.map((policy) => - this.triggerAgentPolicyUpdatedEvent(soClient, esClient, 'updated', policy.id) - ) + await pMap( + currentPolicies.saved_objects, + (policy) => this.triggerAgentPolicyUpdatedEvent(soClient, esClient, 'updated', policy.id), + { concurrency: 50 } ); return res; @@ -506,6 +510,7 @@ class AgentPolicyService { const currentPolicies = await soClient.find({ type: SAVED_OBJECT_TYPE, fields: ['revision'], + perPage: SO_SEARCH_LIMIT, }); const bumpedPolicies = currentPolicies.saved_objects.map((policy) => { policy.attributes = { @@ -518,10 +523,10 @@ class AgentPolicyService { }); const res = await soClient.bulkUpdate(bumpedPolicies); - await Promise.all( - currentPolicies.saved_objects.map((policy) => - this.triggerAgentPolicyUpdatedEvent(soClient, esClient, 'updated', policy.id) - ) + await pMap( + currentPolicies.saved_objects, + (policy) => this.triggerAgentPolicyUpdatedEvent(soClient, esClient, 'updated', policy.id), + { concurrency: 50 } ); return res; @@ -613,22 +618,23 @@ class AgentPolicyService { public async delete( soClient: SavedObjectsClientContract, esClient: ElasticsearchClient, - id: string + id: string, + options?: { force?: boolean; removeFleetServerDocuments?: boolean } ): Promise { const agentPolicy = await this.get(soClient, id, false); if (!agentPolicy) { throw new Error('Agent policy not found'); } - if (agentPolicy.is_managed) { + if (agentPolicy.is_managed && !options?.force) { throw new HostedAgentPolicyRestrictionRelatedError(`Cannot delete hosted agent policy ${id}`); } - if (agentPolicy.is_default) { + if (agentPolicy.is_default && !options?.force) { throw new Error('The default agent policy cannot be deleted'); } - if (agentPolicy.is_default_fleet_server) { + if (agentPolicy.is_default_fleet_server && !options?.force) { throw new Error('The default fleet server agent policy cannot be deleted'); } @@ -650,6 +656,7 @@ class AgentPolicyService { esClient, agentPolicy.package_policies as string[], { + force: options?.force, skipUnassignFromAgentPolicies: true, } ); @@ -662,7 +669,7 @@ class AgentPolicyService { } } - if (agentPolicy.is_preconfigured) { + if (agentPolicy.is_preconfigured && !options?.force) { await soClient.create(PRECONFIGURATION_DELETION_RECORD_SAVED_OBJECT_TYPE, { id: String(id), }); @@ -670,6 +677,11 @@ class AgentPolicyService { await soClient.delete(SAVED_OBJECT_TYPE, id); await this.triggerAgentPolicyUpdatedEvent(soClient, esClient, 'deleted', id); + + if (options?.removeFleetServerDocuments) { + await this.deleteFleetServerPoliciesForPolicyId(esClient, id); + } + return { id, name: agentPolicy.name, @@ -715,6 +727,23 @@ class AgentPolicyService { }); } + public async deleteFleetServerPoliciesForPolicyId( + esClient: ElasticsearchClient, + agentPolicyId: string + ) { + await esClient.deleteByQuery({ + index: AGENT_POLICY_INDEX, + ignore_unavailable: true, + body: { + query: { + term: { + policy_id: agentPolicyId, + }, + }, + }, + }); + } + public async getLatestFleetPolicy(esClient: ElasticsearchClient, agentPolicyId: string) { const res = await esClient.search({ index: AGENT_POLICY_INDEX, @@ -792,7 +821,8 @@ export async function addPackageToAgentPolicy( packagePolicyName?: string, packagePolicyId?: string | number, packagePolicyDescription?: string, - transformPackagePolicy?: (p: NewPackagePolicy) => NewPackagePolicy + transformPackagePolicy?: (p: NewPackagePolicy) => NewPackagePolicy, + bumpAgentPolicyRevison = false ) { const packageInfo = await getPackageInfo({ savedObjectsClient: soClient, @@ -821,7 +851,10 @@ export async function addPackageToAgentPolicy( await packagePolicyService.create(soClient, esClient, newPackagePolicy, { id, - bumpRevision: false, + bumpRevision: bumpAgentPolicyRevison, skipEnsureInstalled: true, + skipUniqueNameVerification: true, + overwrite: true, + force: true, // To add package to managed policy we need the force flag }); } diff --git a/x-pack/plugins/fleet/server/services/api_keys/enrollment_api_key.ts b/x-pack/plugins/fleet/server/services/api_keys/enrollment_api_key.ts index cc2357351f6df..07ecda4aead6c 100644 --- a/x-pack/plugins/fleet/server/services/api_keys/enrollment_api_key.ts +++ b/x-pack/plugins/fleet/server/services/api_keys/enrollment_api_key.ts @@ -96,21 +96,33 @@ export async function getEnrollmentAPIKey( * Invalidate an api key and mark it as inactive * @param id */ -export async function deleteEnrollmentApiKey(esClient: ElasticsearchClient, id: string) { +export async function deleteEnrollmentApiKey( + esClient: ElasticsearchClient, + id: string, + forceDelete = false +) { const enrollmentApiKey = await getEnrollmentAPIKey(esClient, id); await invalidateAPIKeys([enrollmentApiKey.api_key_id]); - await esClient.update({ - index: ENROLLMENT_API_KEYS_INDEX, - id, - body: { - doc: { - active: false, + if (forceDelete) { + await esClient.delete({ + index: ENROLLMENT_API_KEYS_INDEX, + id, + refresh: 'wait_for', + }); + } else { + await esClient.update({ + index: ENROLLMENT_API_KEYS_INDEX, + id, + body: { + doc: { + active: false, + }, }, - }, - refresh: 'wait_for', - }); + refresh: 'wait_for', + }); + } } export async function deleteEnrollmentApiKeyForAgentPolicyId( @@ -211,7 +223,7 @@ export async function generateEnrollmentAPIKey( index: [], applications: [ { - application: '.fleet', + application: 'fleet', privileges: ['no-privileges'], resources: ['*'], }, diff --git a/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/install.ts b/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/install.ts index 67b57dea6e310..3ecd7c366b074 100644 --- a/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/install.ts +++ b/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/install.ts @@ -265,7 +265,6 @@ async function installDataStreamComponentTemplates(params: { }); const templateNames = Object.keys(templates); const templateEntries = Object.entries(templates); - // TODO: Check return values for errors await Promise.all( templateEntries.map(async ([name, body]) => { @@ -275,7 +274,10 @@ async function installDataStreamComponentTemplates(params: { const hasUserSettingsTemplate = result.body.component_templates?.length === 1; if (!hasUserSettingsTemplate) { // only add if one isn't already present - const { clusterPromise } = putComponentTemplate(esClient, { body, name, create: true }); + const { clusterPromise } = putComponentTemplate(esClient, { + body, + name, + }); return clusterPromise; } } else { @@ -303,7 +305,6 @@ export async function ensureDefaultComponentTemplate(esClient: ElasticsearchClie await putComponentTemplate(esClient, { name: FLEET_GLOBAL_COMPONENT_TEMPLATE_NAME, body: FLEET_GLOBAL_COMPONENT_TEMPLATE_CONTENT, - create: true, }); } @@ -372,7 +373,7 @@ export async function installTemplate({ const defaultSettings = buildDefaultSettings({ templateName, packageName, - fields, + fields: validFields, type: dataStream.type, ilmPolicy: dataStream.ilm_policy, }); diff --git a/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.test.ts b/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.test.ts index 4c10d0e74dad7..5c0b5e4092163 100644 --- a/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.test.ts +++ b/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.test.ts @@ -9,10 +9,10 @@ import { readFileSync } from 'fs'; import path from 'path'; import { safeLoad } from 'js-yaml'; +import { elasticsearchServiceMock } from 'src/core/server/mocks'; import { createAppContextStartContractMock } from '../../../../mocks'; import { appContextService } from '../../../../services'; - import type { RegistryDataStream } from '../../../../types'; import { processFields } from '../../fields/field'; import type { Field } from '../../fields/field'; @@ -22,6 +22,7 @@ import { getTemplate, getTemplatePriority, generateTemplateIndexPattern, + updateCurrentWriteIndices, } from './template'; const FLEET_COMPONENT_TEMPLATE = '.fleet_component_template-1'; @@ -801,4 +802,60 @@ describe('EPM template', () => { expect(templateIndexPattern).toEqual(templateIndexPatternDatasetIsPrefixTrue); expect(templatePriority).toEqual(templatePriorityDatasetIsPrefixTrue); }); + + describe('updateCurrentWriteIndices', () => { + it('update all the index matching, index template index pattern', async () => { + const esClient = elasticsearchServiceMock.createElasticsearchClient(); + esClient.indices.getDataStream.mockResolvedValue({ + body: { + data_streams: [{ name: 'test.prefix1-default' }], + }, + } as any); + await updateCurrentWriteIndices(esClient, [ + { + templateName: 'test', + indexTemplate: { + index_patterns: ['test.*-*'], + template: { + settings: { index: {} }, + mappings: { properties: {} }, + }, + } as any, + }, + ]); + expect(esClient.indices.getDataStream).toBeCalledWith({ + name: 'test.*-*', + }); + const putMappingsCall = esClient.indices.putMapping.mock.calls.map(([{ index }]) => index); + expect(putMappingsCall).toHaveLength(1); + expect(putMappingsCall[0]).toBe('test.prefix1-default'); + }); + it('update non replicated datastream', async () => { + const esClient = elasticsearchServiceMock.createElasticsearchClient(); + esClient.indices.getDataStream.mockResolvedValue({ + body: { + data_streams: [ + { name: 'test-non-replicated' }, + { name: 'test-replicated', replicated: true }, + ], + }, + } as any); + await updateCurrentWriteIndices(esClient, [ + { + templateName: 'test', + indexTemplate: { + index_patterns: ['test-*'], + template: { + settings: { index: {} }, + mappings: { properties: {} }, + }, + } as any, + }, + ]); + + const putMappingsCall = esClient.indices.putMapping.mock.calls.map(([{ index }]) => index); + expect(putMappingsCall).toHaveLength(1); + expect(putMappingsCall[0]).toBe('test-non-replicated'); + }); + }); }); diff --git a/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.ts b/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.ts index 44d633d5f6e53..1c440572df322 100644 --- a/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.ts +++ b/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.ts @@ -31,6 +31,7 @@ export interface IndexTemplateMapping { } export interface CurrentDataStream { dataStreamName: string; + replicated: boolean; indexTemplate: IndexTemplate; } const DEFAULT_SCALING_FACTOR = 1000; @@ -418,8 +419,14 @@ export const updateCurrentWriteIndices = async ( if (!templates.length) return; const allIndices = await queryDataStreamsFromTemplates(esClient, templates); - if (!allIndices.length) return; - return updateAllDataStreams(allIndices, esClient); + const allUpdatablesIndices = allIndices.filter((indice) => { + if (indice.replicated) { + return false; + } + return true; + }); + if (!allUpdatablesIndices.length) return; + return updateAllDataStreams(allUpdatablesIndices, esClient); }; function isCurrentDataStream(item: CurrentDataStream[] | undefined): item is CurrentDataStream[] { @@ -441,12 +448,18 @@ const getDataStreams = async ( esClient: ElasticsearchClient, template: IndexTemplateEntry ): Promise => { - const { templateName, indexTemplate } = template; - const { body } = await esClient.indices.getDataStream({ name: `${templateName}-*` }); + const { indexTemplate } = template; + + const { body } = await esClient.indices.getDataStream({ + name: indexTemplate.index_patterns.join(','), + }); + const dataStreams = body.data_streams; + if (!dataStreams.length) return; return dataStreams.map((dataStream: any) => ({ dataStreamName: dataStream.name, + replicated: dataStream.replicated, indexTemplate, })); }; @@ -478,7 +491,6 @@ const updateExistingDataStream = async ({ // to skip updating and assume the value in the index mapping is correct delete mappings.properties.stream; delete mappings.properties.data_stream; - // try to update the mappings first try { await esClient.indices.putMapping({ diff --git a/x-pack/plugins/fleet/server/services/package_policy.test.ts b/x-pack/plugins/fleet/server/services/package_policy.test.ts index edb49a7bf5c70..cce3b3be30c67 100644 --- a/x-pack/plugins/fleet/server/services/package_policy.test.ts +++ b/x-pack/plugins/fleet/server/services/package_policy.test.ts @@ -1979,6 +1979,10 @@ describe('Package policy service', () => { type: 'text', value: ['/var/log/logfile.log'], }, + is_value_enabled: { + type: 'bool', + value: false, + }, }, streams: [], }, @@ -2009,6 +2013,10 @@ describe('Package policy service', () => { name: 'path', type: 'text', }, + { + name: 'is_value_enabled', + type: 'bool', + }, ], }, ], @@ -2028,6 +2036,10 @@ describe('Package policy service', () => { type: 'text', value: '/var/log/new-logfile.log', }, + is_value_enabled: { + type: 'bool', + value: 'true', + }, }, }, ]; @@ -2041,6 +2053,7 @@ describe('Package policy service', () => { false ); expect(result.inputs[0]?.vars?.path.value).toEqual(['/var/log/logfile.log']); + expect(result.inputs[0]?.vars?.is_value_enabled.value).toEqual(false); }); }); diff --git a/x-pack/plugins/fleet/server/services/package_policy.ts b/x-pack/plugins/fleet/server/services/package_policy.ts index 8131bb3d83464..c010fde36fcad 100644 --- a/x-pack/plugins/fleet/server/services/package_policy.ts +++ b/x-pack/plugins/fleet/server/services/package_policy.ts @@ -59,6 +59,7 @@ import type { } from '../types'; import type { ExternalCallback } from '..'; +import { storedPackagePolicyToAgentInputs } from './agent_policies'; import { agentPolicyService } from './agent_policy'; import { outputService } from './output'; import * as Registry from './epm/registry'; @@ -106,17 +107,22 @@ class PackagePolicyService { bumpRevision?: boolean; force?: boolean; skipEnsureInstalled?: boolean; + skipUniqueNameVerification?: boolean; + overwrite?: boolean; } ): Promise { - const existingPoliciesWithName = await this.list(soClient, { - perPage: 1, - kuery: `${PACKAGE_POLICY_SAVED_OBJECT_TYPE}.name: "${packagePolicy.name}"`, - }); + if (!options?.skipUniqueNameVerification) { + const existingPoliciesWithName = await this.list(soClient, { + perPage: 1, + kuery: `${PACKAGE_POLICY_SAVED_OBJECT_TYPE}.name: "${packagePolicy.name}"`, + }); - // Check that the name does not exist already - if (existingPoliciesWithName.items.length > 0) { - throw new IngestManagerError('There is already a package with the same name'); + // Check that the name does not exist already + if (existingPoliciesWithName.items.length > 0) { + throw new IngestManagerError('There is already an integration policy with the same name'); + } } + let elasticsearch: PackagePolicy['elasticsearch']; // Add ids to stream const packagePolicyId = options?.id || uuid.v4(); @@ -369,13 +375,14 @@ class PackagePolicyService { } // Check that the name does not exist already but exclude the current package policy const existingPoliciesWithName = await this.list(soClient, { - perPage: 1, - kuery: `${PACKAGE_POLICY_SAVED_OBJECT_TYPE}.name: "${packagePolicy.name}"`, + perPage: SO_SEARCH_LIMIT, + kuery: `${PACKAGE_POLICY_SAVED_OBJECT_TYPE}.name:"${packagePolicy.name}"`, }); + const filtered = (existingPoliciesWithName?.items || []).filter((p) => p.id !== id); if (filtered.length > 0) { - throw new IngestManagerError('There is already a package with the same name'); + throw new IngestManagerError('There is already an integration policy with the same name'); } let inputs = restOfPackagePolicy.inputs.map((input) => @@ -488,6 +495,7 @@ class PackagePolicyService { title: packagePolicy.package?.title || '', version: packagePolicy.package?.version || '', }, + policy_id: packagePolicy.policy_id, }); } catch (error) { result.push({ @@ -674,6 +682,9 @@ class PackagePolicyService { return { name: updatedPackagePolicy.name, diff: [packagePolicy, updatedPackagePolicy], + // TODO: Currently only returns the agent inputs for current package policy, not the upgraded one + // as we only show this version in the UI + agent_diff: [storedPackagePolicyToAgentInputs(packagePolicy, packageInfo)], hasErrors, }; } catch (error) { @@ -1288,7 +1299,7 @@ function deepMergeVars(original: any, override: any, keepOriginalValue = false): // Ensure that any value from the original object is persisted on the newly merged resulting object, // even if we merge other data about the given variable - if (keepOriginalValue && originalVar?.value) { + if (keepOriginalValue && originalVar?.value !== undefined) { result.vars[name].value = originalVar.value; } } @@ -1313,7 +1324,7 @@ export async function incrementPackageName( ? packagePolicyData.items .filter((ds) => Boolean(ds.name.match(pkgPoliciesNamePattern))) .map((ds) => parseInt(ds.name.match(pkgPoliciesNamePattern)![1], 10)) - .sort() + .sort((a, b) => a - b) : []; return `${packageName}-${ diff --git a/x-pack/plugins/fleet/server/services/preconfiguration.test.ts b/x-pack/plugins/fleet/server/services/preconfiguration.test.ts index aecbe079fac26..99399648dd8db 100644 --- a/x-pack/plugins/fleet/server/services/preconfiguration.test.ts +++ b/x-pack/plugins/fleet/server/services/preconfiguration.test.ts @@ -5,12 +5,14 @@ * 2.0. */ +import uuid from 'uuid'; import { elasticsearchServiceMock, savedObjectsClientMock } from 'src/core/server/mocks'; import { SavedObjectsErrorHelpers } from '../../../../../src/core/server'; import type { InstallResult, + PackagePolicy, PreconfiguredAgentPolicy, PreconfiguredOutput, } from '../../common/types'; @@ -27,11 +29,13 @@ import { cleanPreconfiguredOutputs, } from './preconfiguration'; import { outputService } from './output'; +import { packagePolicyService } from './package_policy'; jest.mock('./agent_policy_update'); jest.mock('./output'); const mockedOutputService = outputService as jest.Mocked; +const mockedPackagePolicyService = packagePolicyService as jest.Mocked; const mockInstalledPackages = new Map(); const mockInstallPackageErrors = new Map(); @@ -56,7 +60,7 @@ function getPutPreconfiguredPackagesMock() { return { saved_objects: [ { - id: `mocked-${id}`, + id, attributes, type: type as string, score: 1, @@ -79,8 +83,9 @@ function getPutPreconfiguredPackagesMock() { soClient.get.mockImplementation(async (type, id) => { const attributes = mockConfiguredPolicies.get(id); if (!attributes) throw SavedObjectsErrorHelpers.createGenericNotFoundError(type, id); + return { - id: `mocked-${id}`, + id, attributes, type: type as string, references: [], @@ -91,7 +96,7 @@ function getPutPreconfiguredPackagesMock() { const { id } = options!; mockConfiguredPolicies.set(id, attributes); return { - id: `mocked-${id}`, + id: id || uuid.v4(), attributes, type, references: [], @@ -162,13 +167,15 @@ jest.mock('./package_policy', () => ({ packagePolicyService: { getByIDs: jest.fn().mockReturnValue([]), listIds: jest.fn().mockReturnValue({ items: [] }), - create(soClient: any, esClient: any, newPackagePolicy: NewPackagePolicy) { - return { - id: 'mocked', - version: 'mocked', - ...newPackagePolicy, - }; - }, + create: jest + .fn() + .mockImplementation((soClient: any, esClient: any, newPackagePolicy: NewPackagePolicy) => { + return { + id: 'mocked', + version: 'mocked', + ...newPackagePolicy, + }; + }), get(soClient: any, id: string) { return { id: 'mocked', @@ -200,6 +207,8 @@ const spyAgentPolicyServicBumpAllAgentPoliciesForOutput = jest.spyOn( describe('policy preconfiguration', () => { beforeEach(() => { + mockedPackagePolicyService.getByIDs.mockReset(); + mockedPackagePolicyService.create.mockReset(); mockInstalledPackages.clear(); mockInstallPackageErrors.clear(); mockConfiguredPolicies.clear(); @@ -266,11 +275,116 @@ describe('policy preconfiguration', () => { ); expect(policies.length).toEqual(1); - expect(policies[0].id).toBe('mocked-test-id'); + expect(policies[0].id).toBe('test-id'); expect(packages).toEqual(expect.arrayContaining(['test_package-3.0.0'])); expect(nonFatalErrors.length).toBe(0); }); + it('should not add new package policy to existing non managed policies', async () => { + const soClient = getPutPreconfiguredPackagesMock(); + const esClient = elasticsearchServiceMock.createClusterClient().asInternalUser; + mockedPackagePolicyService.getByIDs.mockResolvedValue([ + { name: 'test_package1' } as PackagePolicy, + ]); + + mockConfiguredPolicies.set('test-id', { + name: 'Test policy', + description: 'Test policy description', + unenroll_timeout: 120, + namespace: 'default', + id: 'test-id', + package_policies: [ + { + name: 'test_package1', + }, + ], + } as PreconfiguredAgentPolicy); + + await ensurePreconfiguredPackagesAndPolicies( + soClient, + esClient, + [ + { + name: 'Test policy', + namespace: 'default', + id: 'test-id', + is_managed: false, + package_policies: [ + { + package: { name: 'test_package' }, + name: 'test_package1', + }, + { + package: { name: 'test_package' }, + name: 'test_package2', + }, + ], + }, + ] as PreconfiguredAgentPolicy[], + [{ name: 'test_package', version: '3.0.0' }], + mockDefaultOutput + ); + + expect(mockedPackagePolicyService.create).not.toBeCalled(); + }); + + it('should add new package policy to existing managed policies', async () => { + const soClient = getPutPreconfiguredPackagesMock(); + const esClient = elasticsearchServiceMock.createClusterClient().asInternalUser; + mockedPackagePolicyService.getByIDs.mockResolvedValue([ + { name: 'test_package1' } as PackagePolicy, + ]); + + mockConfiguredPolicies.set('test-id', { + name: 'Test policy', + description: 'Test policy description', + unenroll_timeout: 120, + namespace: 'default', + id: 'test-id', + package_policies: [ + { + name: 'test_package1', + }, + ], + is_managed: true, + } as PreconfiguredAgentPolicy); + + await ensurePreconfiguredPackagesAndPolicies( + soClient, + esClient, + [ + { + name: 'Test policy', + namespace: 'default', + id: 'test-id', + is_managed: true, + package_policies: [ + { + package: { name: 'test_package' }, + name: 'test_package1', + }, + { + package: { name: 'test_package' }, + name: 'test_package2', + }, + ], + }, + ] as PreconfiguredAgentPolicy[], + [{ name: 'test_package', version: '3.0.0' }], + mockDefaultOutput + ); + + expect(mockedPackagePolicyService.create).toBeCalledTimes(1); + expect(mockedPackagePolicyService.create).toBeCalledWith( + expect.anything(), // so client + expect.anything(), // es client + expect.objectContaining({ + name: 'test_package2', + }), + expect.anything() // options + ); + }); + it('should throw an error when trying to install duplicate packages', async () => { const soClient = getPutPreconfiguredPackagesMock(); const esClient = elasticsearchServiceMock.createClusterClient().asInternalUser; @@ -352,6 +466,7 @@ describe('policy preconfiguration', () => { '[Test policy] could not be added. [test_package] is not installed, add [test_package] to [xpack.fleet.packages] or remove it from [Test package].' ); }); + it('should not attempt to recreate or modify an agent policy if its ID is unchanged', async () => { const soClient = getPutPreconfiguredPackagesMock(); const esClient = elasticsearchServiceMock.createClusterClient().asInternalUser; @@ -373,7 +488,7 @@ describe('policy preconfiguration', () => { ); expect(policiesA.length).toEqual(1); - expect(policiesA[0].id).toBe('mocked-test-id'); + expect(policiesA[0].id).toBe('test-id'); expect(nonFatalErrorsA.length).toBe(0); const { policies: policiesB, nonFatalErrors: nonFatalErrorsB } = @@ -398,11 +513,59 @@ describe('policy preconfiguration', () => { ); expect(policiesB.length).toEqual(1); - expect(policiesB[0].id).toBe('mocked-test-id'); + expect(policiesB[0].id).toBe('test-id'); expect(policiesB[0].updated_at).toEqual(policiesA[0].updated_at); expect(nonFatalErrorsB.length).toBe(0); }); + it('should not try to recreate preconfigure package policy that has been renamed', async () => { + const soClient = getPutPreconfiguredPackagesMock(); + const esClient = elasticsearchServiceMock.createClusterClient().asInternalUser; + + mockedPackagePolicyService.getByIDs.mockResolvedValue([ + { name: 'Renamed package policy', id: 'test_package1' } as PackagePolicy, + ]); + + mockConfiguredPolicies.set('test-id', { + name: 'Test policy', + description: 'Test policy description', + unenroll_timeout: 120, + namespace: 'default', + id: 'test-id', + package_policies: [ + { + name: 'test_package1', + id: 'test_package1', + }, + ], + is_managed: true, + } as PreconfiguredAgentPolicy); + + await ensurePreconfiguredPackagesAndPolicies( + soClient, + esClient, + [ + { + name: 'Test policy', + namespace: 'default', + id: 'test-id', + is_managed: true, + package_policies: [ + { + package: { name: 'test_package' }, + name: 'test_package1', + id: 'test_package1', + }, + ], + }, + ] as PreconfiguredAgentPolicy[], + [{ name: 'test_package', version: '3.0.0' }], + mockDefaultOutput + ); + + expect(mockedPackagePolicyService.create).not.toBeCalled(); + }); + it('should update a managed policy if top level fields are changed', async () => { const soClient = getPutPreconfiguredPackagesMock(); const esClient = elasticsearchServiceMock.createClusterClient().asInternalUser; diff --git a/x-pack/plugins/fleet/server/services/preconfiguration.ts b/x-pack/plugins/fleet/server/services/preconfiguration.ts index cd67cc85ef3d7..aa4ddd73be1db 100644 --- a/x-pack/plugins/fleet/server/services/preconfiguration.ts +++ b/x-pack/plugins/fleet/server/services/preconfiguration.ts @@ -19,12 +19,9 @@ import type { PreconfiguredPackage, PreconfigurationError, PreconfiguredOutput, + PackagePolicy, } from '../../common'; -import { - AGENT_POLICY_SAVED_OBJECT_TYPE, - SO_SEARCH_LIMIT, - normalizeHostsForAgents, -} from '../../common'; +import { SO_SEARCH_LIMIT, normalizeHostsForAgents } from '../../common'; import { PRECONFIGURATION_DELETION_RECORD_SAVED_OBJECT_TYPE, PRECONFIGURATION_LATEST_KEYWORD, @@ -287,65 +284,71 @@ export async function ensurePreconfiguredPackagesAndPolicies( } fulfilledPolicies.push(policyResult.value); const { created, policy, shouldAddIsManagedFlag } = policyResult.value; - if (created) { - try { - const preconfiguredAgentPolicy = policies[i]; - const { package_policies: packagePolicies } = preconfiguredAgentPolicy; - - const installedPackagePolicies = await Promise.all( - packagePolicies.map(async ({ package: pkg, name, ...newPackagePolicy }) => { - const installedPackage = await getInstallation({ - savedObjectsClient: soClient, - pkgName: pkg.name, - }); - if (!installedPackage) { - const rejectedPackage = rejectedPackages.find((rp) => rp.package?.name === pkg.name); - - if (rejectedPackage) { - throw new Error( - i18n.translate('xpack.fleet.preconfiguration.packageRejectedError', { - defaultMessage: `[{agentPolicyName}] could not be added. [{pkgName}] could not be installed due to error: [{errorMessage}]`, - values: { - agentPolicyName: preconfiguredAgentPolicy.name, - pkgName: pkg.name, - errorMessage: rejectedPackage.error.toString(), - }, - }) - ); - } + if (created || policies[i].is_managed) { + const preconfiguredAgentPolicy = policies[i]; + const { package_policies: packagePolicies } = preconfiguredAgentPolicy; + const agentPolicyWithPackagePolicies = await agentPolicyService.get( + soClient, + policy!.id, + true + ); + const installedPackagePolicies = await Promise.all( + packagePolicies.map(async ({ package: pkg, name, ...newPackagePolicy }) => { + const installedPackage = await getInstallation({ + savedObjectsClient: soClient, + pkgName: pkg.name, + }); + if (!installedPackage) { + const rejectedPackage = rejectedPackages.find((rp) => rp.package?.name === pkg.name); + + if (rejectedPackage) { throw new Error( - i18n.translate('xpack.fleet.preconfiguration.packageMissingError', { - defaultMessage: - '[{agentPolicyName}] could not be added. [{pkgName}] is not installed, add [{pkgName}] to [{packagesConfigValue}] or remove it from [{packagePolicyName}].', + i18n.translate('xpack.fleet.preconfiguration.packageRejectedError', { + defaultMessage: `[{agentPolicyName}] could not be added. [{pkgName}] could not be installed due to error: [{errorMessage}]`, values: { agentPolicyName: preconfiguredAgentPolicy.name, - packagePolicyName: name, pkgName: pkg.name, - packagesConfigValue: 'xpack.fleet.packages', + errorMessage: rejectedPackage.error.toString(), }, }) ); } - return { name, installedPackage, ...newPackagePolicy }; - }) - ); - await addPreconfiguredPolicyPackages( - soClient, - esClient, - policy!, - installedPackagePolicies!, - defaultOutput + + throw new Error( + i18n.translate('xpack.fleet.preconfiguration.packageMissingError', { + defaultMessage: + '[{agentPolicyName}] could not be added. [{pkgName}] is not installed, add [{pkgName}] to [{packagesConfigValue}] or remove it from [{packagePolicyName}].', + values: { + agentPolicyName: preconfiguredAgentPolicy.name, + packagePolicyName: name, + pkgName: pkg.name, + packagesConfigValue: 'xpack.fleet.packages', + }, + }) + ); + } + return { name, installedPackage, ...newPackagePolicy }; + }) + ); + + const packagePoliciesToAdd = installedPackagePolicies.filter((installablePackagePolicy) => { + return !(agentPolicyWithPackagePolicies?.package_policies as PackagePolicy[]).some( + (packagePolicy) => + (packagePolicy.id !== undefined && packagePolicy.id === installablePackagePolicy.id) || + packagePolicy.name === installablePackagePolicy.name ); - // If ann error happens while adding a package to the policy we will delete the policy so the setup can be retried later - } catch (err) { - await soClient - .delete(AGENT_POLICY_SAVED_OBJECT_TYPE, policy!.id) - // swallow error - .catch((deleteErr) => appContextService.getLogger().error(deleteErr)); - - throw err; - } + }); + + await addPreconfiguredPolicyPackages( + soClient, + esClient, + policy!, + packagePoliciesToAdd!, + defaultOutput, + true + ); + // Add the is_managed flag after configuring package policies to avoid errors if (shouldAddIsManagedFlag) { await agentPolicyService.update(soClient, esClient, policy!.id, { is_managed: true }); @@ -412,7 +415,8 @@ async function addPreconfiguredPolicyPackages( inputs?: InputsOverride[]; } >, - defaultOutput: Output + defaultOutput: Output, + bumpAgentPolicyRevison = false ) { // Add packages synchronously to avoid overwriting for (const { installedPackage, id, name, description, inputs } of installedPackagePolicies) { @@ -431,7 +435,8 @@ async function addPreconfiguredPolicyPackages( name, id, description, - (policy) => preconfigurePackageInputs(policy, packageInfo, inputs) + (policy) => preconfigurePackageInputs(policy, packageInfo, inputs), + bumpAgentPolicyRevison ); } } diff --git a/x-pack/plugins/fleet/server/services/preconfiguration/index.ts b/x-pack/plugins/fleet/server/services/preconfiguration/index.ts new file mode 100644 index 0000000000000..ccd550759337b --- /dev/null +++ b/x-pack/plugins/fleet/server/services/preconfiguration/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { resetPreconfiguredAgentPolicies } from './reset_agent_policies'; diff --git a/x-pack/plugins/fleet/server/services/preconfiguration/reset_agent_policies.ts b/x-pack/plugins/fleet/server/services/preconfiguration/reset_agent_policies.ts new file mode 100644 index 0000000000000..513d061d3cf0d --- /dev/null +++ b/x-pack/plugins/fleet/server/services/preconfiguration/reset_agent_policies.ts @@ -0,0 +1,192 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import pMap from 'p-map'; +import type { ElasticsearchClient, SavedObjectsClientContract, Logger } from 'src/core/server'; + +import { appContextService } from '../app_context'; +import { setupFleet } from '../setup'; +import { + AGENT_POLICY_SAVED_OBJECT_TYPE, + SO_SEARCH_LIMIT, + PACKAGE_POLICY_SAVED_OBJECT_TYPE, + PRECONFIGURATION_DELETION_RECORD_SAVED_OBJECT_TYPE, +} from '../../constants'; +import { agentPolicyService } from '../agent_policy'; +import { packagePolicyService } from '../package_policy'; +import { getAgentsByKuery, forceUnenrollAgent } from '../agents'; +import { listEnrollmentApiKeys, deleteEnrollmentApiKey } from '../api_keys'; +import type { AgentPolicy } from '../../types'; + +export async function resetPreconfiguredAgentPolicies( + soClient: SavedObjectsClientContract, + esClient: ElasticsearchClient, + agentPolicyId?: string +) { + const logger = appContextService.getLogger(); + logger.warn('Reseting Fleet preconfigured agent policies'); + await _deleteExistingData(soClient, esClient, logger, agentPolicyId); + await _deleteGhostPackagePolicies(soClient, esClient, logger); + await _deletePreconfigurationDeleteRecord(soClient, logger, agentPolicyId); + + await setupFleet(soClient, esClient); +} + +/** + * Delete all package policies that are not used in any agent policies + */ +async function _deleteGhostPackagePolicies( + soClient: SavedObjectsClientContract, + esClient: ElasticsearchClient, + logger: Logger +) { + const { items: packagePolicies } = await packagePolicyService.list(soClient, { + perPage: SO_SEARCH_LIMIT, + }); + + const policyIds = Array.from( + packagePolicies.reduce((acc, packagePolicy) => { + acc.add(packagePolicy.policy_id); + + return acc; + }, new Set()) + ); + + const objects = policyIds.map((id) => ({ id, type: AGENT_POLICY_SAVED_OBJECT_TYPE })); + const agentPolicyExistsMap = (await soClient.bulkGet(objects)).saved_objects.reduce((acc, so) => { + if (so.error && so.error.statusCode === 404) { + acc.set(so.id, false); + } else { + acc.set(so.id, true); + } + return acc; + }, new Map()); + + await pMap( + packagePolicies, + (packagePolicy) => { + if (agentPolicyExistsMap.get(packagePolicy.policy_id) === false) { + logger.info(`Deleting ghost package policy ${packagePolicy.name} (${packagePolicy.id})`); + return soClient.delete(PACKAGE_POLICY_SAVED_OBJECT_TYPE, packagePolicy.id); + } + }, + { + concurrency: 20, + } + ); +} + +async function _deletePreconfigurationDeleteRecord( + soClient: SavedObjectsClientContract, + logger: Logger, + agentPolicyId?: string +) { + const existingDeletionRecord = await soClient.find<{ id: string }>({ + type: PRECONFIGURATION_DELETION_RECORD_SAVED_OBJECT_TYPE, + perPage: SO_SEARCH_LIMIT, + }); + + const deletionRecordSavedObjects = agentPolicyId + ? existingDeletionRecord.saved_objects.filter((so) => so.attributes.id === agentPolicyId) + : existingDeletionRecord.saved_objects; + + if (deletionRecordSavedObjects.length > 0) { + await pMap( + deletionRecordSavedObjects, + (savedObject) => + soClient + .delete(PRECONFIGURATION_DELETION_RECORD_SAVED_OBJECT_TYPE, savedObject.id) + .catch((err) => { + if (soClient.errors.isNotFoundError(err)) { + return undefined; + } + throw err; + }), + + { + concurrency: 20, + } + ); + } +} + +async function _deleteExistingData( + soClient: SavedObjectsClientContract, + esClient: ElasticsearchClient, + logger: Logger, + agentPolicyId?: string +) { + let existingPolicies: AgentPolicy[] = []; + + if (agentPolicyId) { + const policy = await agentPolicyService.get(soClient, agentPolicyId).catch((err) => { + if (err.output?.statusCode === 404) { + return undefined; + } + throw err; + }); + if (policy && !policy.is_preconfigured) { + throw new Error('Invalid policy'); + } + if (policy) { + existingPolicies = [policy]; + } + } else { + existingPolicies = ( + await agentPolicyService.list(soClient, { + perPage: SO_SEARCH_LIMIT, + kuery: `${AGENT_POLICY_SAVED_OBJECT_TYPE}.is_preconfigured:true`, + }) + ).items; + } + + // unenroll all the agents enroled in this policies + const { agents } = await getAgentsByKuery(esClient, { + showInactive: false, + perPage: SO_SEARCH_LIMIT, + kuery: existingPolicies.map((policy) => `policy_id:"${policy.id}"`).join(' or '), + }); + + // Delete + if (agents.length > 0) { + logger.info(`Force unenrolling ${agents.length} agents`); + await pMap(agents, (agent) => forceUnenrollAgent(soClient, esClient, agent.id), { + concurrency: 20, + }); + } + + const { items: enrollmentApiKeys } = await listEnrollmentApiKeys(esClient, { + perPage: SO_SEARCH_LIMIT, + showInactive: true, + kuery: existingPolicies.map((policy) => `policy_id:"${policy.id}"`).join(' or '), + }); + + if (enrollmentApiKeys.length > 0) { + logger.info(`Deleting ${enrollmentApiKeys.length} enrollment api keys`); + await pMap( + enrollmentApiKeys, + (enrollmentKey) => deleteEnrollmentApiKey(esClient, enrollmentKey.id, true), + { + concurrency: 20, + } + ); + } + if (existingPolicies.length > 0) { + logger.info(`Deleting ${existingPolicies.length} agent policies`); + await pMap( + existingPolicies, + (policy) => + agentPolicyService.delete(soClient, esClient, policy.id, { + force: true, + removeFleetServerDocuments: true, + }), + { + concurrency: 20, + } + ); + } +} diff --git a/x-pack/plugins/fleet/server/types/index.tsx b/x-pack/plugins/fleet/server/types/index.tsx index 174aac03d6a3c..f7e7482fa11ea 100644 --- a/x-pack/plugins/fleet/server/types/index.tsx +++ b/x-pack/plugins/fleet/server/types/index.tsx @@ -74,6 +74,7 @@ export type { FleetServerAgent, FleetServerAgentAction, FleetServerPolicy, + FullAgentPolicyInputStream, } from '../../common'; export { ElasticsearchAssetType, diff --git a/x-pack/plugins/fleet/server/types/rest_spec/preconfiguration.ts b/x-pack/plugins/fleet/server/types/rest_spec/preconfiguration.ts index dc802b89f1894..9ea5e8ab5e392 100644 --- a/x-pack/plugins/fleet/server/types/rest_spec/preconfiguration.ts +++ b/x-pack/plugins/fleet/server/types/rest_spec/preconfiguration.ts @@ -15,3 +15,9 @@ export const PutPreconfigurationSchema = { packages: schema.maybe(PreconfiguredPackagesSchema), }), }; + +export const PostResetOnePreconfiguredAgentPoliciesSchema = { + params: schema.object({ + agentPolicyId: schema.string(), + }), +}; diff --git a/x-pack/plugins/global_search/jest.integration.config.js b/x-pack/plugins/global_search/jest.integration.config.js new file mode 100644 index 0000000000000..6fb4e4bfe6d68 --- /dev/null +++ b/x-pack/plugins/global_search/jest.integration.config.js @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +module.exports = { + preset: '@kbn/test/jest_integration', + rootDir: '../../..', + roots: ['/x-pack/plugins/global_search'], +}; diff --git a/x-pack/plugins/index_management/__jest__/client_integration/helpers/http_requests.ts b/x-pack/plugins/index_management/__jest__/client_integration/helpers/http_requests.ts index a93c7f661a6eb..4726286319e52 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/helpers/http_requests.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/helpers/http_requests.ts @@ -5,134 +5,118 @@ * 2.0. */ -import sinon, { SinonFakeServer } from 'sinon'; +import { httpServiceMock } from '../../../../../../src/core/public/mocks'; import { API_BASE_PATH } from '../../../common/constants'; type HttpResponse = Record | any[]; +type HttpMethod = 'GET' | 'PUT' | 'DELETE' | 'POST'; -// Register helpers to mock HTTP Requests -const registerHttpRequestMockHelpers = (server: SinonFakeServer) => { - const setLoadTemplatesResponse = (response: HttpResponse = []) => { - server.respondWith('GET', `${API_BASE_PATH}/index_templates`, [ - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify(response), - ]); - }; - - const setLoadIndicesResponse = (response: HttpResponse = []) => { - server.respondWith('GET', `${API_BASE_PATH}/indices`, [ - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify(response), - ]); - }; +export interface ResponseError { + statusCode: number; + message: string | Error; + attributes?: Record; +} - const setReloadIndicesResponse = (response: HttpResponse = []) => { - server.respondWith('POST', `${API_BASE_PATH}/indices/reload`, [ - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify(response), - ]); +// Register helpers to mock HTTP Requests +const registerHttpRequestMockHelpers = ( + httpSetup: ReturnType +) => { + const mockResponses = new Map>>( + ['GET', 'PUT', 'DELETE', 'POST'].map( + (method) => [method, new Map()] as [HttpMethod, Map>] + ) + ); + + const mockMethodImplementation = (method: HttpMethod, path: string) => { + return mockResponses.get(method)?.get(path) ?? Promise.resolve({}); }; - const setLoadDataStreamsResponse = (response: HttpResponse = []) => { - server.respondWith('GET', `${API_BASE_PATH}/data_streams`, [ - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify(response), - ]); + httpSetup.get.mockImplementation((path) => + mockMethodImplementation('GET', path as unknown as string) + ); + httpSetup.delete.mockImplementation((path) => + mockMethodImplementation('DELETE', path as unknown as string) + ); + httpSetup.post.mockImplementation((path) => + mockMethodImplementation('POST', path as unknown as string) + ); + httpSetup.put.mockImplementation((path) => + mockMethodImplementation('PUT', path as unknown as string) + ); + + const mockResponse = (method: HttpMethod, path: string, response?: unknown, error?: unknown) => { + const defuse = (promise: Promise) => { + promise.catch(() => {}); + return promise; + }; + + return mockResponses + .get(method)! + .set(path, error ? defuse(Promise.reject({ body: error })) : Promise.resolve(response)); }; - const setLoadDataStreamResponse = (response: HttpResponse = []) => { - server.respondWith('GET', `${API_BASE_PATH}/data_streams/:id`, [ - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify(response), - ]); - }; + const setLoadTemplatesResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('GET', `${API_BASE_PATH}/index_templates`, response, error); - const setDeleteDataStreamResponse = (response: HttpResponse = []) => { - server.respondWith('POST', `${API_BASE_PATH}/delete_data_streams`, [ - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify(response), - ]); - }; + const setLoadIndicesResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('GET', `${API_BASE_PATH}/indices`, response, error); - const setDeleteTemplateResponse = (response: HttpResponse = []) => { - server.respondWith('POST', `${API_BASE_PATH}/delete_index_templates`, [ - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify(response), - ]); - }; + const setReloadIndicesResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('POST', `${API_BASE_PATH}/indices/reload`, response, error); - const setLoadTemplateResponse = (response?: HttpResponse, error?: any) => { - const status = error ? error.status || 400 : 200; - const body = error ? error.body : response; + const setLoadDataStreamsResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('GET', `${API_BASE_PATH}/data_streams`, response, error); - server.respondWith('GET', `${API_BASE_PATH}/index_templates/:id`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; + const setLoadDataStreamResponse = ( + dataStreamId: string, + response?: HttpResponse, + error?: ResponseError + ) => + mockResponse( + 'GET', + `${API_BASE_PATH}/data_streams/${encodeURIComponent(dataStreamId)}`, + response, + error + ); - const setCreateTemplateResponse = (response?: HttpResponse, error?: any) => { - const status = error ? error.body.status || 400 : 200; - const body = error ? JSON.stringify(error.body) : JSON.stringify(response); + const setDeleteDataStreamResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('POST', `${API_BASE_PATH}/delete_data_streams`, response, error); - server.respondWith('POST', `${API_BASE_PATH}/index_templates`, [ - status, - { 'Content-Type': 'application/json' }, - body, - ]); - }; + const setDeleteTemplateResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('POST', `${API_BASE_PATH}/delete_index_templates`, response, error); - const setUpdateTemplateResponse = (response?: HttpResponse, error?: any) => { - const status = error ? error.status || 400 : 200; - const body = error ? JSON.stringify(error.body) : JSON.stringify(response); + const setLoadTemplateResponse = ( + templateId: string, + response?: HttpResponse, + error?: ResponseError + ) => mockResponse('GET', `${API_BASE_PATH}/index_templates/${templateId}`, response, error); - server.respondWith('PUT', `${API_BASE_PATH}/index_templates/:name`, [ - status, - { 'Content-Type': 'application/json' }, - body, - ]); - }; + const setCreateTemplateResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('POST', `${API_BASE_PATH}/index_templates`, response, error); - const setSimulateTemplateResponse = (response?: HttpResponse, error?: any) => { - const status = error ? error.status || 400 : 200; - const body = error ? JSON.stringify(error.body) : JSON.stringify(response); + const setUpdateTemplateResponse = ( + templateId: string, + response?: HttpResponse, + error?: ResponseError + ) => mockResponse('PUT', `${API_BASE_PATH}/index_templates/${templateId}`, response, error); - server.respondWith('POST', `${API_BASE_PATH}/index_templates/simulate`, [ - status, - { 'Content-Type': 'application/json' }, - body, - ]); - }; + const setUpdateIndexSettingsResponse = ( + indexName: string, + response?: HttpResponse, + error?: ResponseError + ) => mockResponse('PUT', `${API_BASE_PATH}/settings/${indexName}`, response, error); - const setLoadComponentTemplatesResponse = (response?: HttpResponse, error?: any) => { - const status = error ? error.status || 400 : 200; - const body = error ? error.body : response; + const setSimulateTemplateResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('POST', `${API_BASE_PATH}/index_templates/simulate`, response, error); - server.respondWith('GET', `${API_BASE_PATH}/component_templates`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; + const setLoadComponentTemplatesResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('GET', `${API_BASE_PATH}/component_templates`, response, error); - const setLoadNodesPluginsResponse = (response?: HttpResponse, error?: any) => { - const status = error ? error.status || 400 : 200; - const body = error ? error.body : response; + const setLoadNodesPluginsResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('GET', `${API_BASE_PATH}/nodes/plugins`, response, error); - server.respondWith('GET', `${API_BASE_PATH}/nodes/plugins`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; + const setLoadTelemetryResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('GET', '/api/ui_counters/_report', response, error); return { setLoadTemplatesResponse, @@ -145,25 +129,20 @@ const registerHttpRequestMockHelpers = (server: SinonFakeServer) => { setLoadTemplateResponse, setCreateTemplateResponse, setUpdateTemplateResponse, + setUpdateIndexSettingsResponse, setSimulateTemplateResponse, setLoadComponentTemplatesResponse, setLoadNodesPluginsResponse, + setLoadTelemetryResponse, }; }; export const init = () => { - const server = sinon.fakeServer.create(); - server.respondImmediately = true; - - // Define default response for unhandled requests. - // We make requests to APIs which don't impact the component under test, e.g. UI metric telemetry, - // and we can mock them all with a 200 instead of mocking each one individually. - server.respondWith([200, {}, 'DefaultSinonMockServerResponse']); - - const httpRequestsMockHelpers = registerHttpRequestMockHelpers(server); + const httpSetup = httpServiceMock.createSetupContract(); + const httpRequestsMockHelpers = registerHttpRequestMockHelpers(httpSetup); return { - server, + httpSetup, httpRequestsMockHelpers, }; }; diff --git a/x-pack/plugins/index_management/__jest__/client_integration/helpers/setup_environment.tsx b/x-pack/plugins/index_management/__jest__/client_integration/helpers/setup_environment.tsx index 1682431900a84..c5b077ef00333 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/helpers/setup_environment.tsx +++ b/x-pack/plugins/index_management/__jest__/client_integration/helpers/setup_environment.tsx @@ -6,11 +6,10 @@ */ import React from 'react'; -import axios from 'axios'; -import axiosXhrAdapter from 'axios/lib/adapters/xhr'; import { merge } from 'lodash'; import SemVer from 'semver/classes/semver'; +import { HttpSetup } from 'src/core/public'; import { notificationServiceMock, docLinksServiceMock, @@ -36,7 +35,6 @@ import { import { componentTemplatesMockDependencies } from '../../../public/application/components/component_templates/__jest__'; import { init as initHttpRequests } from './http_requests'; -const mockHttpClient = axios.create({ adapter: axiosXhrAdapter }); const { GlobalFlyoutProvider } = GlobalFlyout; export const services = { @@ -64,30 +62,24 @@ const { Provider: KibanaReactContextProvider } = createKibanaReactContext({ }); export const setupEnvironment = () => { - // Mock initialization of services - // @ts-ignore - httpService.setup(mockHttpClient); breadcrumbService.setup(() => undefined); documentationService.setup(docLinksServiceMock.createStartContract()); notificationService.setup(notificationServiceMock.createSetupContract()); - const { server, httpRequestsMockHelpers } = initHttpRequests(); - - return { - server, - httpRequestsMockHelpers, - }; + return initHttpRequests(); }; export const WithAppDependencies = - (Comp: any, overridingDependencies: any = {}) => + (Comp: any, httpSetup: HttpSetup, overridingDependencies: any = {}) => (props: any) => { + httpService.setup(httpSetup); const mergedDependencies = merge({}, appDependencies, overridingDependencies); + return ( - + diff --git a/x-pack/plugins/index_management/__jest__/client_integration/helpers/test_subjects.ts b/x-pack/plugins/index_management/__jest__/client_integration/helpers/test_subjects.ts index 8ee05bfa5d322..fe7c6f057747b 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/helpers/test_subjects.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/helpers/test_subjects.ts @@ -21,11 +21,12 @@ export type TestSubjects = | 'deleteTemplatesConfirmation' | 'documentationLink' | 'emptyPrompt' + | 'forcemergeIndexMenuButton' | 'filterList.filterItem' + | 'freezeIndexMenuButton' | 'ilmPolicyLink' | 'includeStatsSwitch' | 'includeManagedSwitch' - | 'indexActionsContextMenuButton' | 'indexContextMenu' | 'indexManagementHeaderContent' | 'indexTable' @@ -59,4 +60,7 @@ export type TestSubjects = | 'templatesTab' | 'templateTable' | 'title' + | 'unfreezeIndexMenuButton' + | 'updateEditIndexSettingsButton' + | 'updateIndexSettingsErrorCallout' | 'viewButton'; diff --git a/x-pack/plugins/index_management/__jest__/client_integration/home/data_streams_tab.helpers.ts b/x-pack/plugins/index_management/__jest__/client_integration/home/data_streams_tab.helpers.ts index e3184cadbdc49..2abea510bb944 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/home/data_streams_tab.helpers.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/home/data_streams_tab.helpers.ts @@ -10,6 +10,7 @@ import { ReactWrapper } from 'enzyme'; import { EuiDescriptionListDescription } from '@elastic/eui'; import { registerTestBed, TestBed, AsyncTestBedConfig, findTestSubject } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { DataStream } from '../../../common'; import { IndexManagementHome } from '../../../public/application/sections/home'; import { indexManagementStore } from '../../../public/application/store'; @@ -41,7 +42,10 @@ export interface DataStreamsTabTestBed extends TestBed { findDetailPanelIndexTemplateLink: () => ReactWrapper; } -export const setup = async (overridingDependencies: any = {}): Promise => { +export const setup = async ( + httpSetup: HttpSetup, + overridingDependencies: any = {} +): Promise => { const testBedConfig: AsyncTestBedConfig = { store: () => indexManagementStore(services as any), memoryRouter: { @@ -52,7 +56,7 @@ export const setup = async (overridingDependencies: any = {}): Promise { - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); let testBed: DataStreamsTabTestBed; - afterAll(() => { - server.restore(); - }); - describe('when there are no data streams', () => { beforeEach(async () => { httpRequestsMockHelpers.setLoadIndicesResponse([]); @@ -53,7 +49,7 @@ describe('Data Streams tab', () => { }); test('displays an empty prompt', async () => { - testBed = await setup({ + testBed = await setup(httpSetup, { url: urlServiceMock, }); @@ -69,7 +65,7 @@ describe('Data Streams tab', () => { }); test('when Ingest Manager is disabled, goes to index templates tab when "Get started" link is clicked', async () => { - testBed = await setup({ + testBed = await setup(httpSetup, { plugins: {}, url: urlServiceMock, }); @@ -89,7 +85,7 @@ describe('Data Streams tab', () => { }); test('when Fleet is enabled, links to Fleet', async () => { - testBed = await setup({ + testBed = await setup(httpSetup, { plugins: { isFleetEnabled: true }, url: urlServiceMock, }); @@ -112,7 +108,7 @@ describe('Data Streams tab', () => { }); httpRequestsMockHelpers.setLoadDataStreamsResponse([hiddenDataStream]); - testBed = await setup({ + testBed = await setup(httpSetup, { plugins: {}, url: urlServiceMock, }); @@ -156,13 +152,13 @@ describe('Data Streams tab', () => { }), ]); - setLoadDataStreamResponse(dataStreamForDetailPanel); + setLoadDataStreamResponse(dataStreamForDetailPanel.name, dataStreamForDetailPanel); const indexTemplate = fixtures.getTemplate({ name: 'indexTemplate' }); setLoadTemplatesResponse({ templates: [indexTemplate], legacyTemplates: [] }); - setLoadTemplateResponse(indexTemplate); + setLoadTemplateResponse(indexTemplate.name, indexTemplate); - testBed = await setup({ history: createMemoryHistory() }); + testBed = await setup(httpSetup, { history: createMemoryHistory() }); await act(async () => { testBed.actions.goToDataStreamsList(); }); @@ -181,7 +177,6 @@ describe('Data Streams tab', () => { test('has a button to reload the data streams', async () => { const { exists, actions } = testBed; - const totalRequests = server.requests.length; expect(exists('reloadButton')).toBe(true); @@ -189,13 +184,14 @@ describe('Data Streams tab', () => { actions.clickReloadButton(); }); - expect(server.requests.length).toBe(totalRequests + 1); - expect(server.requests[server.requests.length - 1].url).toBe(`${API_BASE_PATH}/data_streams`); + expect(httpSetup.get).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/data_streams`, + expect.anything() + ); }); test('has a switch that will reload the data streams with additional stats when clicked', async () => { const { exists, actions, table, component } = testBed; - const totalRequests = server.requests.length; expect(exists('includeStatsSwitch')).toBe(true); @@ -205,9 +201,10 @@ describe('Data Streams tab', () => { }); component.update(); - // A request is sent, but sinon isn't capturing the query parameters for some reason. - expect(server.requests.length).toBe(totalRequests + 1); - expect(server.requests[server.requests.length - 1].url).toBe(`${API_BASE_PATH}/data_streams`); + expect(httpSetup.get).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/data_streams`, + expect.anything() + ); // The table renders with the stats columns though. const { tableCellsValues } = table.getMetaData('dataStreamTable'); @@ -279,19 +276,17 @@ describe('Data Streams tab', () => { await clickConfirmDelete(); - const { method, url, requestBody } = server.requests[server.requests.length - 1]; - - expect(method).toBe('POST'); - expect(url).toBe(`${API_BASE_PATH}/delete_data_streams`); - expect(JSON.parse(JSON.parse(requestBody).body)).toEqual({ - dataStreams: ['dataStream1'], - }); + expect(httpSetup.post).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/delete_data_streams`, + expect.objectContaining({ body: JSON.stringify({ dataStreams: ['dataStream1'] }) }) + ); }); }); describe('detail panel', () => { test('opens when the data stream name in the table is clicked', async () => { const { actions, findDetailPanel, findDetailPanelTitle } = testBed; + httpRequestsMockHelpers.setLoadDataStreamResponse('dataStream1'); await actions.clickNameAt(0); expect(findDetailPanel().length).toBe(1); expect(findDetailPanelTitle()).toBe('dataStream1'); @@ -315,13 +310,10 @@ describe('Data Streams tab', () => { await clickConfirmDelete(); - const { method, url, requestBody } = server.requests[server.requests.length - 1]; - - expect(method).toBe('POST'); - expect(url).toBe(`${API_BASE_PATH}/delete_data_streams`); - expect(JSON.parse(JSON.parse(requestBody).body)).toEqual({ - dataStreams: ['dataStream1'], - }); + expect(httpSetup.post).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/delete_data_streams`, + expect.objectContaining({ body: JSON.stringify({ dataStreams: ['dataStream1'] }) }) + ); }); test('clicking index template name navigates to the index template details', async () => { @@ -358,9 +350,9 @@ describe('Data Streams tab', () => { const dataStreamPercentSign = createDataStreamPayload({ name: '%dataStream' }); setLoadDataStreamsResponse([dataStreamPercentSign]); - setLoadDataStreamResponse(dataStreamPercentSign); + setLoadDataStreamResponse(dataStreamPercentSign.name, dataStreamPercentSign); - testBed = await setup({ + testBed = await setup(httpSetup, { history: createMemoryHistory(), url: urlServiceMock, }); @@ -396,10 +388,11 @@ describe('Data Streams tab', () => { name: 'dataStream1', ilmPolicyName: 'my_ilm_policy', }); + setLoadDataStreamsResponse([dataStreamForDetailPanel]); - setLoadDataStreamResponse(dataStreamForDetailPanel); + setLoadDataStreamResponse(dataStreamForDetailPanel.name, dataStreamForDetailPanel); - testBed = await setup({ + testBed = await setup(httpSetup, { history: createMemoryHistory(), url: urlServiceMock, }); @@ -417,10 +410,11 @@ describe('Data Streams tab', () => { const { setLoadDataStreamsResponse, setLoadDataStreamResponse } = httpRequestsMockHelpers; const dataStreamForDetailPanel = createDataStreamPayload({ name: 'dataStream1' }); + setLoadDataStreamsResponse([dataStreamForDetailPanel]); - setLoadDataStreamResponse(dataStreamForDetailPanel); + setLoadDataStreamResponse(dataStreamForDetailPanel.name, dataStreamForDetailPanel); - testBed = await setup({ + testBed = await setup(httpSetup, { history: createMemoryHistory(), url: urlServiceMock, }); @@ -442,10 +436,11 @@ describe('Data Streams tab', () => { name: 'dataStream1', ilmPolicyName: 'my_ilm_policy', }); + setLoadDataStreamsResponse([dataStreamForDetailPanel]); - setLoadDataStreamResponse(dataStreamForDetailPanel); + setLoadDataStreamResponse(dataStreamForDetailPanel.name, dataStreamForDetailPanel); - testBed = await setup({ + testBed = await setup(httpSetup, { history: createMemoryHistory(), url: { locators: { @@ -476,9 +471,10 @@ describe('Data Streams tab', () => { }, }); const nonManagedDataStream = createDataStreamPayload({ name: 'non-managed-data-stream' }); + httpRequestsMockHelpers.setLoadDataStreamsResponse([managedDataStream, nonManagedDataStream]); - testBed = await setup({ + testBed = await setup(httpSetup, { history: createMemoryHistory(), url: urlServiceMock, }); @@ -520,9 +516,10 @@ describe('Data Streams tab', () => { name: 'hidden-data-stream', hidden: true, }); + httpRequestsMockHelpers.setLoadDataStreamsResponse([hiddenDataStream]); - testBed = await setup({ + testBed = await setup(httpSetup, { history: createMemoryHistory(), url: urlServiceMock, }); @@ -561,7 +558,7 @@ describe('Data Streams tab', () => { beforeEach(async () => { setLoadDataStreamsResponse([dataStreamWithDelete, dataStreamNoDelete]); - testBed = await setup({ history: createMemoryHistory(), url: urlServiceMock }); + testBed = await setup(httpSetup, { history: createMemoryHistory(), url: urlServiceMock }); await act(async () => { testBed.actions.goToDataStreamsList(); }); @@ -599,7 +596,7 @@ describe('Data Streams tab', () => { actions: { clickNameAt }, find, } = testBed; - setLoadDataStreamResponse(dataStreamWithDelete); + setLoadDataStreamResponse(dataStreamWithDelete.name, dataStreamWithDelete); await clickNameAt(1); expect(find('deleteDataStreamButton').exists()).toBeTruthy(); @@ -610,7 +607,7 @@ describe('Data Streams tab', () => { actions: { clickNameAt }, find, } = testBed; - setLoadDataStreamResponse(dataStreamNoDelete); + setLoadDataStreamResponse(dataStreamNoDelete.name, dataStreamNoDelete); await clickNameAt(0); expect(find('deleteDataStreamButton').exists()).toBeFalsy(); diff --git a/x-pack/plugins/index_management/__jest__/client_integration/home/home.helpers.ts b/x-pack/plugins/index_management/__jest__/client_integration/home/home.helpers.ts index ad8aceb7d56b8..19d4e82bcdb34 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/home/home.helpers.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/home/home.helpers.ts @@ -6,6 +6,7 @@ */ import { registerTestBed, TestBed, AsyncTestBedConfig } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { IndexManagementHome } from '../../../public/application/sections/home'; import { indexManagementStore } from '../../../public/application/store'; import { WithAppDependencies, services, TestSubjects } from '../helpers'; @@ -19,8 +20,6 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed(WithAppDependencies(IndexManagementHome), testBedConfig); - export interface HomeTestBed extends TestBed { actions: { selectHomeTab: (tab: 'indicesTab' | 'templatesTab') => void; @@ -28,7 +27,11 @@ export interface HomeTestBed extends TestBed { }; } -export const setup = async (): Promise => { +export const setup = async (httpSetup: HttpSetup): Promise => { + const initTestBed = registerTestBed( + WithAppDependencies(IndexManagementHome, httpSetup), + testBedConfig + ); const testBed = await initTestBed(); const { find } = testBed; diff --git a/x-pack/plugins/index_management/__jest__/client_integration/home/home.test.ts b/x-pack/plugins/index_management/__jest__/client_integration/home/home.test.ts index 426bb11f3c733..5d2e3d0b840a1 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/home/home.test.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/home/home.test.ts @@ -20,18 +20,14 @@ import { stubWebWorker } from '@kbn/test/jest'; stubWebWorker(); describe('', () => { - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); let testBed: HomeTestBed; - afterAll(() => { - server.restore(); - }); - describe('on component mount', () => { beforeEach(async () => { httpRequestsMockHelpers.setLoadIndicesResponse([]); - testBed = await setup(); + testBed = await setup(httpSetup); await act(async () => { const { component } = testBed; diff --git a/x-pack/plugins/index_management/__jest__/client_integration/home/index_templates_tab.helpers.ts b/x-pack/plugins/index_management/__jest__/client_integration/home/index_templates_tab.helpers.ts index 4ddd14562577a..b4c3215cbe535 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/home/index_templates_tab.helpers.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/home/index_templates_tab.helpers.ts @@ -8,6 +8,7 @@ import { act } from 'react-dom/test-utils'; import { registerTestBed, TestBed, AsyncTestBedConfig, findTestSubject } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { TemplateList } from '../../../public/application/sections/home/template_list'; import { TemplateDeserialized } from '../../../common'; import { WithAppDependencies, TestSubjects } from '../helpers'; @@ -20,8 +21,6 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed(WithAppDependencies(TemplateList), testBedConfig); - const createActions = (testBed: TestBed) => { /** * Additional helpers @@ -127,7 +126,11 @@ const createActions = (testBed: TestBed) => { }; }; -export const setup = async (): Promise => { +export const setup = async (httpSetup: HttpSetup): Promise => { + const initTestBed = registerTestBed( + WithAppDependencies(TemplateList, httpSetup), + testBedConfig + ); const testBed = await initTestBed(); return { diff --git a/x-pack/plugins/index_management/__jest__/client_integration/home/index_templates_tab.test.ts b/x-pack/plugins/index_management/__jest__/client_integration/home/index_templates_tab.test.ts index bf1a78e3cfe90..3d1360d620ff5 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/home/index_templates_tab.test.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/home/index_templates_tab.test.ts @@ -24,19 +24,15 @@ const removeWhiteSpaceOnArrayValues = (array: any[]) => }); describe('Index Templates tab', () => { - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); let testBed: IndexTemplatesTabTestBed; - afterAll(() => { - server.restore(); - }); - describe('when there are no index templates of either kind', () => { test('should display an empty prompt', async () => { httpRequestsMockHelpers.setLoadTemplatesResponse({ templates: [], legacyTemplates: [] }); await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); const { exists, component } = testBed; component.update(); @@ -54,7 +50,7 @@ describe('Index Templates tab', () => { }); await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); const { exists, component } = testBed; component.update(); @@ -68,7 +64,8 @@ describe('Index Templates tab', () => { describe('when there are index templates', () => { // Add a default loadIndexTemplate response - httpRequestsMockHelpers.setLoadTemplateResponse(fixtures.getTemplate()); + const templateMock = fixtures.getTemplate(); + httpRequestsMockHelpers.setLoadTemplateResponse(templateMock.name, templateMock); const template1 = fixtures.getTemplate({ name: `a${getRandomString()}`, @@ -132,7 +129,7 @@ describe('Index Templates tab', () => { httpRequestsMockHelpers.setLoadTemplatesResponse({ templates, legacyTemplates }); await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); }); @@ -194,7 +191,6 @@ describe('Index Templates tab', () => { test('should have a button to reload the index templates', async () => { const { exists, actions } = testBed; - const totalRequests = server.requests.length; expect(exists('reloadButton')).toBe(true); @@ -202,9 +198,9 @@ describe('Index Templates tab', () => { actions.clickReloadButton(); }); - expect(server.requests.length).toBe(totalRequests + 1); - expect(server.requests[server.requests.length - 1].url).toBe( - `${API_BASE_PATH}/index_templates` + expect(httpSetup.get).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/index_templates`, + expect.anything() ); }); @@ -235,6 +231,7 @@ describe('Index Templates tab', () => { const { find, exists, actions, component } = testBed; // Composable templates + httpRequestsMockHelpers.setLoadTemplateResponse(templates[0].name, templates[0]); await actions.clickTemplateAt(0); expect(exists('templateList')).toBe(true); expect(exists('templateDetails')).toBe(true); @@ -246,6 +243,7 @@ describe('Index Templates tab', () => { }); component.update(); + httpRequestsMockHelpers.setLoadTemplateResponse(legacyTemplates[0].name, legacyTemplates[0]); await actions.clickTemplateAt(0, true); expect(exists('templateList')).toBe(true); @@ -380,13 +378,14 @@ describe('Index Templates tab', () => { confirmButton!.click(); }); - const latestRequest = server.requests[server.requests.length - 1]; - - expect(latestRequest.method).toBe('POST'); - expect(latestRequest.url).toBe(`${API_BASE_PATH}/delete_index_templates`); - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual({ - templates: [{ name: templates[0].name, isLegacy }], - }); + expect(httpSetup.post).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/delete_index_templates`, + expect.objectContaining({ + body: JSON.stringify({ + templates: [{ name: templates[0].name, isLegacy }], + }), + }) + ); }); }); @@ -442,16 +441,14 @@ describe('Index Templates tab', () => { confirmButton!.click(); }); - const latestRequest = server.requests[server.requests.length - 1]; - - expect(latestRequest.method).toBe('POST'); - expect(latestRequest.url).toBe(`${API_BASE_PATH}/delete_index_templates`); - - // Commenting as I don't find a way to make it work. - // It keeps on returning the composable template instead of the legacy one - // expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual({ - // templates: [{ name: templateName, isLegacy }], - // }); + expect(httpSetup.post).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/delete_index_templates`, + expect.objectContaining({ + body: JSON.stringify({ + templates: [{ name: templates[0].name, isLegacy: false }], + }), + }) + ); }); }); @@ -463,7 +460,7 @@ describe('Index Templates tab', () => { isLegacy: true, }); - httpRequestsMockHelpers.setLoadTemplateResponse(template); + httpRequestsMockHelpers.setLoadTemplateResponse(template.name, template); }); test('should show details when clicking on a template', async () => { @@ -471,6 +468,7 @@ describe('Index Templates tab', () => { expect(exists('templateDetails')).toBe(false); + httpRequestsMockHelpers.setLoadTemplateResponse(templates[0].name, templates[0]); await actions.clickTemplateAt(0); expect(exists('templateDetails')).toBe(true); @@ -480,6 +478,7 @@ describe('Index Templates tab', () => { beforeEach(async () => { const { actions } = testBed; + httpRequestsMockHelpers.setLoadTemplateResponse(templates[0].name, templates[0]); await actions.clickTemplateAt(0); }); @@ -544,7 +543,7 @@ describe('Index Templates tab', () => { const { find, actions, exists } = testBed; - httpRequestsMockHelpers.setLoadTemplateResponse(template); + httpRequestsMockHelpers.setLoadTemplateResponse(templates[0].name, template); httpRequestsMockHelpers.setSimulateTemplateResponse({ simulateTemplate: 'response' }); await actions.clickTemplateAt(0); @@ -598,8 +597,10 @@ describe('Index Templates tab', () => { const { actions, find, exists } = testBed; - httpRequestsMockHelpers.setLoadTemplateResponse(templateWithNoOptionalFields); - + httpRequestsMockHelpers.setLoadTemplateResponse( + templates[0].name, + templateWithNoOptionalFields + ); await actions.clickTemplateAt(0); expect(find('templateDetails.tab').length).toBe(5); @@ -621,13 +622,12 @@ describe('Index Templates tab', () => { it('should render an error message if error fetching template details', async () => { const { actions, exists } = testBed; const error = { - status: 404, + statusCode: 404, error: 'Not found', message: 'Template not found', }; - httpRequestsMockHelpers.setLoadTemplateResponse(undefined, { body: error }); - + httpRequestsMockHelpers.setLoadTemplateResponse(templates[0].name, undefined, error); await actions.clickTemplateAt(0); expect(exists('sectionError')).toBe(true); diff --git a/x-pack/plugins/index_management/__jest__/client_integration/home/indices_tab.helpers.ts b/x-pack/plugins/index_management/__jest__/client_integration/home/indices_tab.helpers.ts index cbcfc2f22dd8f..6052ad448f6b5 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/home/indices_tab.helpers.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/home/indices_tab.helpers.ts @@ -9,6 +9,7 @@ import { act } from 'react-dom/test-utils'; import { ReactWrapper } from 'enzyme'; import { registerTestBed, TestBed, AsyncTestBedConfig, findTestSubject } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { IndexManagementHome } from '../../../public/application/sections/home'; import { indexManagementStore } from '../../../public/application/store'; import { WithAppDependencies, services, TestSubjects } from '../helpers'; @@ -28,16 +29,21 @@ export interface IndicesTestBed extends TestBed { getIncludeHiddenIndicesToggleStatus: () => boolean; clickIncludeHiddenIndicesToggle: () => void; clickDataStreamAt: (index: number) => void; - clickContextMenuOption: (subj: string) => void; + dataStreamLinkExistsAt: (index: number) => boolean; clickManageContextMenuButton: () => void; + clickContextMenuOption: (optionDataTestSubject: string) => void; + clickModalConfirm: () => void; }; findDataStreamDetailPanel: () => ReactWrapper; findDataStreamDetailPanelTitle: () => string; } -export const setup = async (overridingDependencies: any = {}): Promise => { +export const setup = async ( + httpSetup: HttpSetup, + overridingDependencies: any = {} +): Promise => { const initTestBed = registerTestBed( - WithAppDependencies(IndexManagementHome, overridingDependencies), + WithAppDependencies(IndexManagementHome, httpSetup, overridingDependencies), testBedConfig ); const testBed = await initTestBed(); @@ -45,7 +51,6 @@ export const setup = async (overridingDependencies: any = {}): Promise { const { find, component } = testBed; @@ -98,6 +103,21 @@ export const setup = async (overridingDependencies: any = {}): Promise { + const { table } = testBed; + const { rows } = table.getMetaData('indexTable'); + return findTestSubject(rows[index].reactWrapper, 'dataStreamLink').exists(); + }; + + const clickModalConfirm = async () => { + const { find, component } = testBed; + + await act(async () => { + find('confirmModalConfirmButton').simulate('click'); + }); + component.update(); + }; + const findDataStreamDetailPanel = () => { const { find } = testBed; return find('dataStreamDetailPanel'); @@ -115,8 +135,10 @@ export const setup = async (overridingDependencies: any = {}): Promise { + const createAceEditor = () => { + return { + getValue: mockGetAceEditorValue, + getSession: () => { + return { + on: () => null, + getValue: () => null, + }; + }, + destroy: () => null, + }; + }; + + return { + createAceEditor, + }; +}); + /** * The below import is required to avoid a console error warn from the "brace" package * console.warn ../node_modules/brace/index.js:3999 @@ -24,22 +49,20 @@ stubWebWorker(); describe('', () => { let testBed: IndicesTestBed; - let server: ReturnType['server']; + let httpSetup: ReturnType['httpSetup']; let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; beforeEach(() => { - ({ server, httpRequestsMockHelpers } = setupEnvironment()); - }); - - afterAll(() => { - server.restore(); + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; }); describe('on component mount', () => { beforeEach(async () => { httpRequestsMockHelpers.setLoadIndicesResponse([]); - testBed = await setup(); + testBed = await setup(httpSetup); await act(async () => { const { component } = testBed; @@ -75,16 +98,29 @@ describe('', () => { name: 'data-stream-index', data_stream: 'dataStream1', }, + { + health: '', + status: '', + primary: '', + replica: '', + documents: '', + documents_deleted: '', + size: '', + primary_size: '', + name: 'no-data-stream-index', + data_stream: null, + }, ]); // The detail panel should still appear even if there are no data streams. httpRequestsMockHelpers.setLoadDataStreamsResponse([]); httpRequestsMockHelpers.setLoadDataStreamResponse( + 'dataStream1', createDataStreamPayload({ name: 'dataStream1' }) ); - testBed = await setup({ + testBed = await setup(httpSetup, { history: createMemoryHistory(), }); @@ -100,14 +136,23 @@ describe('', () => { const { findDataStreamDetailPanel, findDataStreamDetailPanelTitle, - actions: { clickDataStreamAt }, + actions: { clickDataStreamAt, dataStreamLinkExistsAt }, } = testBed; + expect(dataStreamLinkExistsAt(0)).toBeTruthy(); await clickDataStreamAt(0); expect(findDataStreamDetailPanel().length).toBe(1); expect(findDataStreamDetailPanelTitle()).toBe('dataStream1'); }); + + test(`doesn't show data stream link if the index doesn't have a data stream`, () => { + const { + actions: { dataStreamLinkExistsAt }, + } = testBed; + + expect(dataStreamLinkExistsAt(1)).toBeFalsy(); + }); }); describe('index detail panel with % character in index name', () => { @@ -116,7 +161,7 @@ describe('', () => { beforeEach(async () => { httpRequestsMockHelpers.setLoadIndicesResponse([createNonDataStreamIndex(indexName)]); - testBed = await setup(); + testBed = await setup(httpSetup); const { component, find } = testBed; component.update(); @@ -128,60 +173,249 @@ describe('', () => { const { actions } = testBed; await actions.selectIndexDetailsTab('settings'); - const latestRequest = server.requests[server.requests.length - 1]; - expect(latestRequest.url).toBe(`${API_BASE_PATH}/settings/${encodeURIComponent(indexName)}`); + expect(httpSetup.get).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/settings/${encodeURIComponent(indexName)}` + ); }); test('should encode indexName when loading mappings in detail panel', async () => { const { actions } = testBed; await actions.selectIndexDetailsTab('mappings'); - const latestRequest = server.requests[server.requests.length - 1]; - expect(latestRequest.url).toBe(`${API_BASE_PATH}/mapping/${encodeURIComponent(indexName)}`); + expect(httpSetup.get).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/mapping/${encodeURIComponent(indexName)}` + ); }); test('should encode indexName when loading stats in detail panel', async () => { const { actions } = testBed; await actions.selectIndexDetailsTab('stats'); - const latestRequest = server.requests[server.requests.length - 1]; - expect(latestRequest.url).toBe(`${API_BASE_PATH}/stats/${encodeURIComponent(indexName)}`); + expect(httpSetup.get).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/stats/${encodeURIComponent(indexName)}` + ); }); test('should encode indexName when editing settings in detail panel', async () => { const { actions } = testBed; await actions.selectIndexDetailsTab('edit_settings'); - const latestRequest = server.requests[server.requests.length - 1]; - expect(latestRequest.url).toBe(`${API_BASE_PATH}/settings/${encodeURIComponent(indexName)}`); + expect(httpSetup.get).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/settings/${encodeURIComponent(indexName)}` + ); }); }); describe('index actions', () => { - const indexName = 'testIndex'; + const indexNameA = 'testIndexA'; + const indexNameB = 'testIndexB'; + const indexMockA = createNonDataStreamIndex(indexNameA); + const indexMockB = createNonDataStreamIndex(indexNameB); beforeEach(async () => { - httpRequestsMockHelpers.setLoadIndicesResponse([createNonDataStreamIndex(indexName)]); - httpRequestsMockHelpers.setReloadIndicesResponse({ indexNames: [indexName] }); + httpRequestsMockHelpers.setLoadIndicesResponse([ + { + ...indexMockA, + isFrozen: true, + }, + { + ...indexMockB, + status: 'closed', + }, + ]); + httpRequestsMockHelpers.setReloadIndicesResponse({ indexNames: [indexNameA, indexNameB] }); + + testBed = await setup(httpSetup); + const { component, find } = testBed; - testBed = await setup(); - const { find, component } = testBed; component.update(); find('indexTableIndexNameLink').at(0).simulate('click'); }); + test('should be able to refresh index', async () => { + const { actions } = testBed; + + await actions.clickManageContextMenuButton(); + await actions.clickContextMenuOption('refreshIndexMenuButton'); + + expect(httpSetup.post).toHaveBeenCalledWith( + `${API_BASE_PATH}/indices/refresh`, + expect.anything() + ); + expect(httpSetup.post).toHaveBeenCalledWith( + `${API_BASE_PATH}/indices/reload`, + expect.anything() + ); + }); + + test('should be able to close an open index', async () => { + const { actions } = testBed; + + await actions.clickManageContextMenuButton(); + await actions.clickContextMenuOption('closeIndexMenuButton'); + + // After the index is closed, we imediately do a reload. So we need to expect to see + // a reload server call also. + expect(httpSetup.post).toHaveBeenCalledWith( + `${API_BASE_PATH}/indices/close`, + expect.anything() + ); + expect(httpSetup.post).toHaveBeenCalledWith( + `${API_BASE_PATH}/indices/reload`, + expect.anything() + ); + }); + + test('should be able to open a closed index', async () => { + testBed = await setup(httpSetup); + const { component, find, actions } = testBed; + + component.update(); + + find('indexTableIndexNameLink').at(1).simulate('click'); + + await actions.clickManageContextMenuButton(); + await actions.clickContextMenuOption('openIndexMenuButton'); + + // After the index is opened, we imediately do a reload. So we need to expect to see + // a reload server call also. + expect(httpSetup.post).toHaveBeenCalledWith( + `${API_BASE_PATH}/indices/open`, + expect.anything() + ); + expect(httpSetup.post).toHaveBeenCalledWith( + `${API_BASE_PATH}/indices/reload`, + expect.anything() + ); + }); + test('should be able to flush index', async () => { const { actions } = testBed; await actions.clickManageContextMenuButton(); await actions.clickContextMenuOption('flushIndexMenuButton'); - const requestsCount = server.requests.length; - expect(server.requests[requestsCount - 2].url).toBe(`${API_BASE_PATH}/indices/flush`); - // After the indices are flushed, we imediately reload them. So we need to expect to see + // After the index is flushed, we imediately do a reload. So we need to expect to see + // a reload server call also. + expect(httpSetup.post).toHaveBeenCalledWith( + `${API_BASE_PATH}/indices/flush`, + expect.anything() + ); + expect(httpSetup.post).toHaveBeenCalledWith( + `${API_BASE_PATH}/indices/reload`, + expect.anything() + ); + }); + + test("should be able to clear an index's cache", async () => { + const { actions } = testBed; + await actions.clickManageContextMenuButton(); + + await actions.clickManageContextMenuButton(); + await actions.clickContextMenuOption('clearCacheIndexMenuButton'); + + // After the index cache is cleared, we imediately do a reload. So we need to expect to see + // a reload server call also. + expect(httpSetup.post).toHaveBeenCalledWith( + `${API_BASE_PATH}/indices/clear_cache`, + expect.anything() + ); + expect(httpSetup.post).toHaveBeenCalledWith( + `${API_BASE_PATH}/indices/reload`, + expect.anything() + ); + }); + + test('should be able to unfreeze a frozen index', async () => { + httpRequestsMockHelpers.setLoadIndicesResponse([ + { + ...indexMockA, + isFrozen: true, + }, + ]); + const { actions, exists } = testBed; + // Open context menu + await actions.clickManageContextMenuButton(); + // Check that the unfreeze action exists for the current index and unfreeze it + expect(exists('unfreezeIndexMenuButton')).toBe(true); + await actions.clickContextMenuOption('unfreezeIndexMenuButton'); + + // After the index is unfrozen, we imediately do a reload. So we need to expect to see + // a reload server call also. + expect(httpSetup.post).toHaveBeenCalledWith( + `${API_BASE_PATH}/indices/unfreeze`, + expect.anything() + ); + expect(httpSetup.post).toHaveBeenCalledWith( + `${API_BASE_PATH}/indices/reload`, + expect.anything() + ); + }); + + test('should be able to force merge an index', async () => { + const { actions, exists } = testBed; + + httpRequestsMockHelpers.setReloadIndicesResponse([{ ...indexMockA, isFrozen: false }]); + + // Open context menu + await actions.clickManageContextMenuButton(); + // Check that the force merge action exists for the current index and merge it + expect(exists('forcemergeIndexMenuButton')).toBe(true); + await actions.clickContextMenuOption('forcemergeIndexMenuButton'); + + await actions.clickModalConfirm(); + + // After the index force merged, we imediately do a reload. So we need to expect to see // a reload server call also. - expect(server.requests[requestsCount - 1].url).toBe(`${API_BASE_PATH}/indices/reload`); + expect(httpSetup.post).toHaveBeenCalledWith( + `${API_BASE_PATH}/indices/forcemerge`, + expect.anything() + ); + expect(httpSetup.post).toHaveBeenCalledWith( + `${API_BASE_PATH}/indices/reload`, + expect.anything() + ); + }); + }); + + describe('Edit index settings', () => { + const indexName = 'test'; + + beforeEach(async () => { + httpRequestsMockHelpers.setLoadIndicesResponse([createNonDataStreamIndex(indexName)]); + + testBed = await setup(httpSetup); + const { component, find } = testBed; + + component.update(); + + find('indexTableIndexNameLink').at(0).simulate('click'); + }); + + test('shows error callout when request fails', async () => { + const { actions, find, component, exists } = testBed; + + mockGetAceEditorValue.mockReturnValue(`{ + "index.routing.allocation.include._tier_preference": "non_existent_tier" + }`); + + const error = { + statusCode: 400, + error: 'Bad Request', + message: 'invalid tier names found in ...', + }; + httpRequestsMockHelpers.setUpdateIndexSettingsResponse(indexName, undefined, error); + + await actions.selectIndexDetailsTab('edit_settings'); + + await act(async () => { + find('updateEditIndexSettingsButton').simulate('click'); + }); + + component.update(); + + expect(exists('updateIndexSettingsErrorCallout')).toBe(true); }); }); }); diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_clone.helpers.ts b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_clone.helpers.ts index dffa6fee19d06..b74a5a67a1b76 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_clone.helpers.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_clone.helpers.ts @@ -6,10 +6,11 @@ */ import { registerTestBed, AsyncTestBedConfig } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { TemplateClone } from '../../../public/application/sections/template_clone'; import { WithAppDependencies } from '../helpers'; -import { formSetup } from './template_form.helpers'; +import { formSetup, TestSubjects } from './template_form.helpers'; import { TEMPLATE_NAME } from './constants'; const testBedConfig: AsyncTestBedConfig = { @@ -20,6 +21,11 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed(WithAppDependencies(TemplateClone), testBedConfig); +export const setup = async (httpSetup: HttpSetup) => { + const initTestBed = registerTestBed( + WithAppDependencies(TemplateClone, httpSetup), + testBedConfig + ); -export const setup: any = formSetup.bind(null, initTestBed); + return formSetup(initTestBed); +}; diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_clone.test.tsx b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_clone.test.tsx index 31e65625cfdd0..861b1041a4f14 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_clone.test.tsx +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_clone.test.tsx @@ -9,6 +9,7 @@ import React from 'react'; import { act } from 'react-dom/test-utils'; import '../../../test/global_mocks'; +import { API_BASE_PATH } from '../../../common/constants'; import { getComposableTemplate } from '../../../test/fixtures'; import { setupEnvironment } from '../helpers'; @@ -44,23 +45,22 @@ const templateToClone = getComposableTemplate({ describe('', () => { let testBed: TemplateFormTestBed; - - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); beforeAll(() => { jest.useFakeTimers(); + httpRequestsMockHelpers.setLoadTelemetryResponse({}); httpRequestsMockHelpers.setLoadComponentTemplatesResponse([]); - httpRequestsMockHelpers.setLoadTemplateResponse(templateToClone); + httpRequestsMockHelpers.setLoadTemplateResponse(templateToClone.name, templateToClone); }); afterAll(() => { - server.restore(); jest.useRealTimers(); }); beforeEach(async () => { await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); }); @@ -98,17 +98,19 @@ describe('', () => { actions.clickNextButton(); }); - const latestRequest = server.requests[server.requests.length - 1]; - - const expected = { - ...templateToClone, - name: `${templateToClone.name}-copy`, - indexPatterns: DEFAULT_INDEX_PATTERNS, - }; - - delete expected.template; // As no settings, mappings or aliases have been defined, no "template" param is sent - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual(expected); + const { priority, version, _kbnMeta } = templateToClone; + expect(httpSetup.post).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/index_templates`, + expect.objectContaining({ + body: JSON.stringify({ + name: `${templateToClone.name}-copy`, + indexPatterns: DEFAULT_INDEX_PATTERNS, + priority, + version, + _kbnMeta, + }), + }) + ); }); }); }); diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_create.helpers.ts b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_create.helpers.ts index 450d2c524b445..333441b79d6cc 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_create.helpers.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_create.helpers.ts @@ -6,12 +6,13 @@ */ import { registerTestBed, AsyncTestBedConfig } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { TemplateCreate } from '../../../public/application/sections/template_create'; import { WithAppDependencies } from '../helpers'; import { formSetup, TestSubjects } from './template_form.helpers'; -export const setup: any = (isLegacy: boolean = false) => { +export const setup = async (httpSetup: HttpSetup, isLegacy: boolean = false) => { const route = isLegacy ? { pathname: '/create_template', search: '?legacy=true' } : { pathname: '/create_template' }; @@ -25,9 +26,9 @@ export const setup: any = (isLegacy: boolean = false) => { }; const initTestBed = registerTestBed( - WithAppDependencies(TemplateCreate), + WithAppDependencies(TemplateCreate, httpSetup), testBedConfig ); - return formSetup.call(null, initTestBed); + return formSetup(initTestBed); }; diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_create.test.tsx b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_create.test.tsx index 65d3678735689..078a171ac6a75 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_create.test.tsx +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_create.test.tsx @@ -9,6 +9,7 @@ import React from 'react'; import { act } from 'react-dom/test-utils'; import '../../../test/global_mocks'; +import { API_BASE_PATH } from '../../../common/constants'; import { setupEnvironment } from '../helpers'; import { @@ -76,7 +77,7 @@ const componentTemplates = [componentTemplate1, componentTemplate2]; describe('', () => { let testBed: TemplateFormTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); beforeAll(() => { jest.useFakeTimers(); @@ -89,7 +90,6 @@ describe('', () => { }); afterAll(() => { - server.restore(); jest.useRealTimers(); (window as any)['__react-beautiful-dnd-disable-dev-warnings'] = false; }); @@ -97,7 +97,7 @@ describe('', () => { describe('composable index template', () => { beforeEach(async () => { await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); }); @@ -130,7 +130,7 @@ describe('', () => { describe('legacy index template', () => { beforeEach(async () => { await act(async () => { - testBed = await setup(true); + testBed = await setup(httpSetup, true); }); }); @@ -150,7 +150,7 @@ describe('', () => { describe('form validation', () => { beforeEach(async () => { await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); }); @@ -367,7 +367,7 @@ describe('', () => { httpRequestsMockHelpers.setLoadNodesPluginsResponse(['mapper-size']); await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); await navigateToMappingsStep(); @@ -415,7 +415,7 @@ describe('', () => { describe('review (step 6)', () => { beforeEach(async () => { await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -472,7 +472,7 @@ describe('', () => { it('should render a warning message if a wildcard is used as an index pattern', async () => { await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -505,7 +505,7 @@ describe('', () => { const MAPPING_FIELDS = [BOOLEAN_MAPPING_FIELD, TEXT_MAPPING_FIELD, KEYWORD_MAPPING_FIELD]; await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -534,49 +534,50 @@ describe('', () => { actions.clickNextButton(); }); - const latestRequest = server.requests[server.requests.length - 1]; - - const expected = { - name: TEMPLATE_NAME, - indexPatterns: DEFAULT_INDEX_PATTERNS, - composedOf: ['test_component_template_1'], - template: { - settings: SETTINGS, - mappings: { - properties: { - [BOOLEAN_MAPPING_FIELD.name]: { - type: BOOLEAN_MAPPING_FIELD.type, - }, - [TEXT_MAPPING_FIELD.name]: { - type: TEXT_MAPPING_FIELD.type, - }, - [KEYWORD_MAPPING_FIELD.name]: { - type: KEYWORD_MAPPING_FIELD.type, + expect(httpSetup.post).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/index_templates`, + expect.objectContaining({ + body: JSON.stringify({ + name: TEMPLATE_NAME, + indexPatterns: DEFAULT_INDEX_PATTERNS, + _kbnMeta: { + type: 'default', + hasDatastream: false, + isLegacy: false, + }, + composedOf: ['test_component_template_1'], + template: { + settings: SETTINGS, + mappings: { + properties: { + [BOOLEAN_MAPPING_FIELD.name]: { + type: BOOLEAN_MAPPING_FIELD.type, + }, + [TEXT_MAPPING_FIELD.name]: { + type: TEXT_MAPPING_FIELD.type, + }, + [KEYWORD_MAPPING_FIELD.name]: { + type: KEYWORD_MAPPING_FIELD.type, + }, + }, }, + aliases: ALIASES, }, - }, - aliases: ALIASES, - }, - _kbnMeta: { - type: 'default', - isLegacy: false, - hasDatastream: false, - }, - }; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual(expected); + }), + }) + ); }); it('should surface the API errors from the put HTTP request', async () => { const { component, actions, find, exists } = testBed; const error = { - status: 409, + statusCode: 409, error: 'Conflict', message: `There is already a template with name '${TEMPLATE_NAME}'`, }; - httpRequestsMockHelpers.setCreateTemplateResponse(undefined, { body: error }); + httpRequestsMockHelpers.setCreateTemplateResponse(undefined, error); await act(async () => { actions.clickNextButton(); diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_edit.helpers.ts b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_edit.helpers.ts index 6c73da3b3379d..3544f19694f49 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_edit.helpers.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_edit.helpers.ts @@ -6,6 +6,7 @@ */ import { registerTestBed, AsyncTestBedConfig } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { TemplateEdit } from '../../../public/application/sections/template_edit'; import { WithAppDependencies } from '../helpers'; @@ -20,6 +21,11 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed(WithAppDependencies(TemplateEdit), testBedConfig); +export const setup = async (httpSetup: HttpSetup) => { + const initTestBed = registerTestBed( + WithAppDependencies(TemplateEdit, httpSetup), + testBedConfig + ); -export const setup: any = formSetup.bind(null, initTestBed); + return formSetup(initTestBed); +}; diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_edit.test.tsx b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_edit.test.tsx index 9af90e71badfa..5e477bcd3863b 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_edit.test.tsx +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_edit.test.tsx @@ -10,6 +10,7 @@ import { act } from 'react-dom/test-utils'; import '../../../test/global_mocks'; import * as fixtures from '../../../test/fixtures'; +import { API_BASE_PATH } from '../../../common/constants'; import { setupEnvironment, kibanaVersion } from '../helpers'; import { TEMPLATE_NAME, SETTINGS, ALIASES, MAPPINGS as DEFAULT_MAPPING } from './constants'; @@ -48,7 +49,7 @@ jest.mock('@elastic/eui', () => { describe('', () => { let testBed: TemplateFormTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); beforeAll(() => { jest.useFakeTimers(); @@ -56,7 +57,6 @@ describe('', () => { }); afterAll(() => { - server.restore(); jest.useRealTimers(); }); @@ -71,12 +71,12 @@ describe('', () => { }); beforeAll(() => { - httpRequestsMockHelpers.setLoadTemplateResponse(templateToEdit); + httpRequestsMockHelpers.setLoadTemplateResponse('my_template', templateToEdit); }); beforeEach(async () => { await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -114,25 +114,25 @@ describe('', () => { actions.clickNextButton(); }); - const latestRequest = server.requests[server.requests.length - 1]; - const { version } = templateToEdit; - - const expected = { - name: 'index_template_without_mappings', - indexPatterns: ['indexPattern1'], - dataStream: { - hidden: true, - anyUnknownKey: 'should_be_kept', - }, - version, - _kbnMeta: { - type: 'default', - isLegacy: templateToEdit._kbnMeta.isLegacy, - hasDatastream: true, - }, - }; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual(expected); + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/index_templates/index_template_without_mappings`, + expect.objectContaining({ + body: JSON.stringify({ + name: 'index_template_without_mappings', + indexPatterns: ['indexPattern1'], + version: templateToEdit.version, + dataStream: { + hidden: true, + anyUnknownKey: 'should_be_kept', + }, + _kbnMeta: { + type: 'default', + hasDatastream: true, + isLegacy: templateToEdit._kbnMeta.isLegacy, + }, + }), + }) + ); }); it('allows you to view the "Request" tab of an unmodified template', async () => { @@ -175,24 +175,25 @@ describe('', () => { actions.clickNextButton(); }); - const latestRequest = server.requests[server.requests.length - 1]; - - const expected = { - name: 'test', - indexPatterns: ['myPattern*'], - dataStream: { - hidden: true, - anyUnknownKey: 'should_be_kept', - }, - version: 1, - _kbnMeta: { - type: 'default', - isLegacy: false, - hasDatastream: true, - }, - }; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual(expected); + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/index_templates/test`, + expect.objectContaining({ + body: JSON.stringify({ + name: 'test', + indexPatterns: ['myPattern*'], + version: 1, + dataStream: { + hidden: true, + anyUnknownKey: 'should_be_kept', + }, + _kbnMeta: { + type: 'default', + hasDatastream: true, + isLegacy: false, + }, + }), + }) + ); }); }); @@ -206,12 +207,12 @@ describe('', () => { }); beforeAll(() => { - httpRequestsMockHelpers.setLoadTemplateResponse(templateToEdit); + httpRequestsMockHelpers.setLoadTemplateResponse('my_template', templateToEdit); }); beforeEach(async () => { await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); }); @@ -283,40 +284,40 @@ describe('', () => { actions.clickNextButton(); }); - const latestRequest = server.requests[server.requests.length - 1]; - const { version } = templateToEdit; - - const expected = { - name: TEMPLATE_NAME, - version, - priority: 3, - indexPatterns: UPDATED_INDEX_PATTERN, - template: { - mappings: { - properties: { - [UPDATED_MAPPING_TEXT_FIELD_NAME]: { - type: 'text', - store: false, - index: true, - fielddata: false, - eager_global_ordinals: false, - index_phrases: false, - norms: true, - index_options: 'positions', + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/index_templates/${TEMPLATE_NAME}`, + expect.objectContaining({ + body: JSON.stringify({ + name: TEMPLATE_NAME, + indexPatterns: UPDATED_INDEX_PATTERN, + priority: 3, + version: templateToEdit.version, + _kbnMeta: { + type: 'default', + hasDatastream: false, + isLegacy: templateToEdit._kbnMeta.isLegacy, + }, + template: { + settings: SETTINGS, + mappings: { + properties: { + [UPDATED_MAPPING_TEXT_FIELD_NAME]: { + type: 'text', + index: true, + eager_global_ordinals: false, + index_phrases: false, + norms: true, + fielddata: false, + store: false, + index_options: 'positions', + }, + }, }, + aliases: ALIASES, }, - }, - settings: SETTINGS, - aliases: ALIASES, - }, - _kbnMeta: { - type: 'default', - isLegacy: templateToEdit._kbnMeta.isLegacy, - hasDatastream: false, - }, - }; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual(expected); + }), + }) + ); }); }); }); @@ -335,12 +336,12 @@ describe('', () => { }); beforeAll(() => { - httpRequestsMockHelpers.setLoadTemplateResponse(legacyTemplateToEdit); + httpRequestsMockHelpers.setLoadTemplateResponse('my_template', legacyTemplateToEdit); }); beforeEach(async () => { await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -363,24 +364,10 @@ describe('', () => { actions.clickNextButton(); }); - const latestRequest = server.requests[server.requests.length - 1]; - - const { version, template, name, indexPatterns, _kbnMeta, order } = legacyTemplateToEdit; - - const expected = { - name, - indexPatterns, - version, - order, - template: { - aliases: undefined, - mappings: template!.mappings, - settings: undefined, - }, - _kbnMeta, - }; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual(expected); + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/index_templates/${legacyTemplateToEdit.name}`, + expect.anything() + ); }); }); } diff --git a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_form.helpers.ts b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_form.helpers.ts index f2fcf7bbab50c..7ac814c330a80 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_form.helpers.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/index_template_wizard/template_form.helpers.ts @@ -10,7 +10,7 @@ import { act } from 'react-dom/test-utils'; import { TestBed, SetupFunc, UnwrapPromise } from '@kbn/test/jest'; import { TemplateDeserialized } from '../../../common'; -interface MappingField { +export interface MappingField { name: string; type: string; } diff --git a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/component_template_create.test.tsx b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/component_template_create.test.tsx index f3957e0cc15c9..81f43a1b46073 100644 --- a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/component_template_create.test.tsx +++ b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/component_template_create.test.tsx @@ -11,6 +11,7 @@ import { act } from 'react-dom/test-utils'; import '../../../../../../../../../src/plugins/es_ui_shared/public/components/code_editor/jest_mock'; import '../../../../../../test/global_mocks'; import { setupEnvironment } from './helpers'; +import { API_BASE_PATH } from './helpers/constants'; import { setup, ComponentTemplateCreateTestBed } from './helpers/component_template_create.helpers'; jest.mock('@elastic/eui', () => { @@ -34,16 +35,12 @@ jest.mock('@elastic/eui', () => { describe('', () => { let testBed: ComponentTemplateCreateTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); - - afterAll(() => { - server.restore(); - }); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); describe('On component mount', () => { beforeEach(async () => { await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -108,7 +105,7 @@ describe('', () => { beforeEach(async () => { await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); const { actions, component } = testBed; @@ -164,37 +161,38 @@ describe('', () => { component.update(); - const latestRequest = server.requests[server.requests.length - 1]; - - const expected = { - name: COMPONENT_TEMPLATE_NAME, - template: { - settings: SETTINGS, - mappings: { - properties: { - [BOOLEAN_MAPPING_FIELD.name]: { - type: BOOLEAN_MAPPING_FIELD.type, + expect(httpSetup.post).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/component_templates`, + expect.objectContaining({ + body: JSON.stringify({ + name: COMPONENT_TEMPLATE_NAME, + template: { + settings: SETTINGS, + mappings: { + properties: { + [BOOLEAN_MAPPING_FIELD.name]: { + type: BOOLEAN_MAPPING_FIELD.type, + }, + }, }, + aliases: ALIASES, }, - }, - aliases: ALIASES, - }, - _kbnMeta: { usedBy: [], isManaged: false }, - }; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual(expected); + _kbnMeta: { usedBy: [], isManaged: false }, + }), + }) + ); }); test('should surface API errors if the request is unsuccessful', async () => { const { component, actions, find, exists } = testBed; const error = { - status: 409, + statusCode: 409, error: 'Conflict', message: `There is already a template with name '${COMPONENT_TEMPLATE_NAME}'`, }; - httpRequestsMockHelpers.setCreateComponentTemplateResponse(undefined, { body: error }); + httpRequestsMockHelpers.setCreateComponentTemplateResponse(undefined, error); await act(async () => { actions.clickNextButton(); diff --git a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/component_template_details.test.ts b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/component_template_details.test.ts index 36ea2c27ec4fe..95495af1272c3 100644 --- a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/component_template_details.test.ts +++ b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/component_template_details.test.ts @@ -32,19 +32,18 @@ const COMPONENT_TEMPLATE_ONLY_REQUIRED_FIELDS: ComponentTemplateDeserialized = { }; describe('', () => { - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); let testBed: ComponentTemplateDetailsTestBed; - afterAll(() => { - server.restore(); - }); - describe('With component template details', () => { beforeEach(async () => { - httpRequestsMockHelpers.setLoadComponentTemplateResponse(COMPONENT_TEMPLATE); + httpRequestsMockHelpers.setLoadComponentTemplateResponse( + COMPONENT_TEMPLATE.name, + COMPONENT_TEMPLATE + ); await act(async () => { - testBed = setup({ + testBed = setup(httpSetup, { componentTemplateName: COMPONENT_TEMPLATE.name, onClose: () => {}, }); @@ -104,11 +103,12 @@ describe('', () => { describe('With only required component template fields', () => { beforeEach(async () => { httpRequestsMockHelpers.setLoadComponentTemplateResponse( + COMPONENT_TEMPLATE_ONLY_REQUIRED_FIELDS.name, COMPONENT_TEMPLATE_ONLY_REQUIRED_FIELDS ); await act(async () => { - testBed = setup({ + testBed = setup(httpSetup, { componentTemplateName: COMPONENT_TEMPLATE_ONLY_REQUIRED_FIELDS.name, onClose: () => {}, }); @@ -156,10 +156,13 @@ describe('', () => { describe('With actions', () => { beforeEach(async () => { - httpRequestsMockHelpers.setLoadComponentTemplateResponse(COMPONENT_TEMPLATE); + httpRequestsMockHelpers.setLoadComponentTemplateResponse( + COMPONENT_TEMPLATE.name, + COMPONENT_TEMPLATE + ); await act(async () => { - testBed = setup({ + testBed = setup(httpSetup, { componentTemplateName: COMPONENT_TEMPLATE.name, onClose: () => {}, actions: [ @@ -197,16 +200,20 @@ describe('', () => { describe('Error handling', () => { const error = { - status: 500, + statusCode: 500, error: 'Internal server error', message: 'Internal server error', }; beforeEach(async () => { - httpRequestsMockHelpers.setLoadComponentTemplateResponse(undefined, { body: error }); + httpRequestsMockHelpers.setLoadComponentTemplateResponse( + COMPONENT_TEMPLATE.name, + undefined, + error + ); await act(async () => { - testBed = setup({ + testBed = setup(httpSetup, { componentTemplateName: COMPONENT_TEMPLATE.name, onClose: () => {}, }); diff --git a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/component_template_edit.test.tsx b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/component_template_edit.test.tsx index 1f4abac806276..f3b5b52fe2c41 100644 --- a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/component_template_edit.test.tsx +++ b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/component_template_edit.test.tsx @@ -10,6 +10,7 @@ import { act } from 'react-dom/test-utils'; import '../../../../../../test/global_mocks'; import { setupEnvironment } from './helpers'; +import { API_BASE_PATH } from './helpers/constants'; import { setup, ComponentTemplateEditTestBed } from './helpers/component_template_edit.helpers'; jest.mock('@elastic/eui', () => { @@ -33,11 +34,7 @@ jest.mock('@elastic/eui', () => { describe('', () => { let testBed: ComponentTemplateEditTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); - - afterAll(() => { - server.restore(); - }); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); const COMPONENT_TEMPLATE_NAME = 'comp-1'; const COMPONENT_TEMPLATE_TO_EDIT = { @@ -49,10 +46,13 @@ describe('', () => { }; beforeEach(async () => { - httpRequestsMockHelpers.setLoadComponentTemplateResponse(COMPONENT_TEMPLATE_TO_EDIT); + httpRequestsMockHelpers.setLoadComponentTemplateResponse( + COMPONENT_TEMPLATE_TO_EDIT.name, + COMPONENT_TEMPLATE_TO_EDIT + ); await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -98,17 +98,18 @@ describe('', () => { component.update(); - const latestRequest = server.requests[server.requests.length - 1]; - - const expected = { - version: 1, - ...COMPONENT_TEMPLATE_TO_EDIT, - template: { - ...COMPONENT_TEMPLATE_TO_EDIT.template, - }, - }; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual(expected); + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/component_templates/${COMPONENT_TEMPLATE_TO_EDIT.name}`, + expect.objectContaining({ + body: JSON.stringify({ + ...COMPONENT_TEMPLATE_TO_EDIT, + template: { + ...COMPONENT_TEMPLATE_TO_EDIT.template, + }, + version: 1, + }), + }) + ); }); }); }); diff --git a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/component_template_list.test.ts b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/component_template_list.test.ts index dee15f2ae3a45..a3e9524dcd3ca 100644 --- a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/component_template_list.test.ts +++ b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/component_template_list.test.ts @@ -16,16 +16,12 @@ import { API_BASE_PATH } from './helpers/constants'; const { setup } = pageHelpers.componentTemplateList; describe('', () => { - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); let testBed: ComponentTemplateListTestBed; - afterAll(() => { - server.restore(); - }); - beforeEach(async () => { await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -69,7 +65,6 @@ describe('', () => { test('should reload the component templates data', async () => { const { component, actions } = testBed; - const totalRequests = server.requests.length; await act(async () => { actions.clickReloadButton(); @@ -77,9 +72,9 @@ describe('', () => { component.update(); - expect(server.requests.length).toBe(totalRequests + 1); - expect(server.requests[server.requests.length - 1].url).toBe( - `${API_BASE_PATH}/component_templates` + expect(httpSetup.get).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/component_templates`, + expect.anything() ); }); @@ -103,7 +98,7 @@ describe('', () => { expect(modal).not.toBe(null); expect(modal!.textContent).toContain('Delete component template'); - httpRequestsMockHelpers.setDeleteComponentTemplateResponse({ + httpRequestsMockHelpers.setDeleteComponentTemplateResponse(componentTemplateName, { itemsDeleted: [componentTemplateName], errors: [], }); @@ -114,13 +109,10 @@ describe('', () => { component.update(); - const deleteRequest = server.requests[server.requests.length - 2]; - - expect(deleteRequest.method).toBe('DELETE'); - expect(deleteRequest.url).toBe( - `${API_BASE_PATH}/component_templates/${componentTemplateName}` + expect(httpSetup.delete).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/component_templates/${componentTemplateName}`, + expect.anything() ); - expect(deleteRequest.status).toEqual(200); }); }); @@ -129,7 +121,7 @@ describe('', () => { httpRequestsMockHelpers.setLoadComponentTemplatesResponse([]); await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -147,15 +139,15 @@ describe('', () => { describe('Error handling', () => { beforeEach(async () => { const error = { - status: 500, + statusCode: 500, error: 'Internal server error', message: 'Internal server error', }; - httpRequestsMockHelpers.setLoadComponentTemplatesResponse(undefined, { body: error }); + httpRequestsMockHelpers.setLoadComponentTemplatesResponse(undefined, error); await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); diff --git a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/component_template_create.helpers.ts b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/component_template_create.helpers.ts index 06f0036cc5c77..20190f1079ddd 100644 --- a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/component_template_create.helpers.ts +++ b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/component_template_create.helpers.ts @@ -6,6 +6,7 @@ */ import { registerTestBed, TestBed, AsyncTestBedConfig } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { BASE_PATH } from '../../../../../../../common'; import { ComponentTemplateCreate } from '../../../component_template_wizard'; @@ -27,9 +28,11 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed(WithAppDependencies(ComponentTemplateCreate), testBedConfig); - -export const setup = async (): Promise => { +export const setup = async (httpSetup: HttpSetup): Promise => { + const initTestBed = registerTestBed( + WithAppDependencies(ComponentTemplateCreate, httpSetup), + testBedConfig + ); const testBed = await initTestBed(); return { diff --git a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/component_template_details.helpers.ts b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/component_template_details.helpers.ts index 49bef82ce3d11..a1c6ab4f5f1f9 100644 --- a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/component_template_details.helpers.ts +++ b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/component_template_details.helpers.ts @@ -6,6 +6,7 @@ */ import { registerTestBed, TestBed } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { WithAppDependencies } from './setup_environment'; import { ComponentTemplateDetailsFlyoutContent } from '../../../component_template_details'; @@ -43,9 +44,9 @@ const createActions = (testBed: TestBed) = }; }; -export const setup = (props: any): ComponentTemplateDetailsTestBed => { +export const setup = (httpSetup: HttpSetup, props: any): ComponentTemplateDetailsTestBed => { const setupTestBed = registerTestBed( - WithAppDependencies(ComponentTemplateDetailsFlyoutContent), + WithAppDependencies(ComponentTemplateDetailsFlyoutContent, httpSetup), { memoryRouter: { wrapComponent: false, diff --git a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/component_template_edit.helpers.ts b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/component_template_edit.helpers.ts index e7b8df245aaa9..e927fdcb28dfd 100644 --- a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/component_template_edit.helpers.ts +++ b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/component_template_edit.helpers.ts @@ -6,6 +6,7 @@ */ import { registerTestBed, TestBed, AsyncTestBedConfig } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { BASE_PATH } from '../../../../../../../common'; import { ComponentTemplateEdit } from '../../../component_template_wizard'; @@ -27,9 +28,11 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed(WithAppDependencies(ComponentTemplateEdit), testBedConfig); - -export const setup = async (): Promise => { +export const setup = async (httpSetup: HttpSetup): Promise => { + const initTestBed = registerTestBed( + WithAppDependencies(ComponentTemplateEdit, httpSetup), + testBedConfig + ); const testBed = await initTestBed(); return { diff --git a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/component_template_list.helpers.ts b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/component_template_list.helpers.ts index 680550d16096b..147ff0c379d0d 100644 --- a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/component_template_list.helpers.ts +++ b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/component_template_list.helpers.ts @@ -6,6 +6,7 @@ */ import { act } from 'react-dom/test-utils'; +import { HttpSetup } from 'src/core/public'; import { registerTestBed, @@ -26,8 +27,6 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed(WithAppDependencies(ComponentTemplateList), testBedConfig); - export type ComponentTemplateListTestBed = TestBed & { actions: ReturnType; }; @@ -74,7 +73,11 @@ const createActions = (testBed: TestBed) => { }; }; -export const setup = async (): Promise => { +export const setup = async (httpSetup: HttpSetup): Promise => { + const initTestBed = registerTestBed( + WithAppDependencies(ComponentTemplateList, httpSetup), + testBedConfig + ); const testBed = await initTestBed(); return { diff --git a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/http_requests.ts b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/http_requests.ts index 520da90c58862..025f34066908c 100644 --- a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/http_requests.ts +++ b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/http_requests.ts @@ -5,65 +5,74 @@ * 2.0. */ -import sinon, { SinonFakeServer } from 'sinon'; -import { - ComponentTemplateListItem, - ComponentTemplateDeserialized, - ComponentTemplateSerialized, -} from '../../../shared_imports'; +import { httpServiceMock } from '../../../../../../../../../../src/core/public/mocks'; import { API_BASE_PATH } from './constants'; +type HttpResponse = Record | any[]; +type HttpMethod = 'GET' | 'PUT' | 'DELETE' | 'POST'; + +export interface ResponseError { + statusCode: number; + message: string | Error; + attributes?: Record; +} + // Register helpers to mock HTTP Requests -const registerHttpRequestMockHelpers = (server: SinonFakeServer) => { - const setLoadComponentTemplatesResponse = ( - response?: ComponentTemplateListItem[], - error?: any - ) => { - const status = error ? error.status || 400 : 200; - const body = error ? error.body : response; +const registerHttpRequestMockHelpers = ( + httpSetup: ReturnType +) => { + const mockResponses = new Map>>( + ['GET', 'PUT', 'DELETE', 'POST'].map( + (method) => [method, new Map()] as [HttpMethod, Map>] + ) + ); - server.respondWith('GET', `${API_BASE_PATH}/component_templates`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); + const mockMethodImplementation = (method: HttpMethod, path: string) => { + return mockResponses.get(method)?.get(path) ?? Promise.resolve({}); }; - const setLoadComponentTemplateResponse = ( - response?: ComponentTemplateDeserialized, - error?: any - ) => { - const status = error ? error.status || 400 : 200; - const body = error ? error.body : response; + httpSetup.get.mockImplementation((path) => + mockMethodImplementation('GET', path as unknown as string) + ); + httpSetup.delete.mockImplementation((path) => + mockMethodImplementation('DELETE', path as unknown as string) + ); + httpSetup.post.mockImplementation((path) => + mockMethodImplementation('POST', path as unknown as string) + ); + httpSetup.put.mockImplementation((path) => + mockMethodImplementation('PUT', path as unknown as string) + ); - server.respondWith('GET', `${API_BASE_PATH}/component_templates/:name`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; + const mockResponse = (method: HttpMethod, path: string, response?: unknown, error?: unknown) => { + const defuse = (promise: Promise) => { + promise.catch(() => {}); + return promise; + }; - const setDeleteComponentTemplateResponse = (response?: object) => { - server.respondWith('DELETE', `${API_BASE_PATH}/component_templates/:name`, [ - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify(response), - ]); + return mockResponses + .get(method)! + .set(path, error ? defuse(Promise.reject({ body: error })) : Promise.resolve(response)); }; - const setCreateComponentTemplateResponse = ( - response?: ComponentTemplateSerialized, - error?: any - ) => { - const status = error ? error.body.status || 400 : 200; - const body = error ? JSON.stringify(error.body) : JSON.stringify(response); + const setLoadComponentTemplatesResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('GET', `${API_BASE_PATH}/component_templates`, response, error); - server.respondWith('POST', `${API_BASE_PATH}/component_templates`, [ - status, - { 'Content-Type': 'application/json' }, - body, - ]); - }; + const setLoadComponentTemplateResponse = ( + templateId: string, + response?: HttpResponse, + error?: ResponseError + ) => mockResponse('GET', `${API_BASE_PATH}/component_templates/${templateId}`, response, error); + + const setDeleteComponentTemplateResponse = ( + templateId: string, + response?: HttpResponse, + error?: ResponseError + ) => + mockResponse('DELETE', `${API_BASE_PATH}/component_templates/${templateId}`, response, error); + + const setCreateComponentTemplateResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('POST', `${API_BASE_PATH}/component_templates`, response, error); return { setLoadComponentTemplatesResponse, @@ -74,18 +83,11 @@ const registerHttpRequestMockHelpers = (server: SinonFakeServer) => { }; export const init = () => { - const server = sinon.fakeServer.create(); - server.respondImmediately = true; - - // Define default response for unhandled requests. - // We make requests to APIs which don't impact the component under test, e.g. UI metric telemetry, - // and we can mock them all with a 200 instead of mocking each one individually. - server.respondWith([200, {}, 'DefaultMockedResponse']); - - const httpRequestsMockHelpers = registerHttpRequestMockHelpers(server); + const httpSetup = httpServiceMock.createSetupContract(); + const httpRequestsMockHelpers = registerHttpRequestMockHelpers(httpSetup); return { - server, + httpSetup, httpRequestsMockHelpers, }; }; diff --git a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/setup_environment.tsx b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/setup_environment.tsx index d532eaaba8923..9c2017ad651f1 100644 --- a/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/setup_environment.tsx +++ b/x-pack/plugins/index_management/public/application/components/component_templates/__jest__/client_integration/helpers/setup_environment.tsx @@ -6,8 +6,6 @@ */ import React from 'react'; -import axios from 'axios'; -import axiosXhrAdapter from 'axios/lib/adapters/xhr'; import { HttpSetup } from 'kibana/public'; import { @@ -24,7 +22,6 @@ import { ComponentTemplatesProvider } from '../../../component_templates_context import { init as initHttpRequests } from './http_requests'; import { API_BASE_PATH } from './constants'; -const mockHttpClient = axios.create({ adapter: axiosXhrAdapter }); const { GlobalFlyoutProvider } = GlobalFlyout; // We provide the minimum deps required to make the tests pass @@ -32,30 +29,23 @@ const appDependencies = { docLinks: {} as any, } as any; -export const componentTemplatesDependencies = { - httpClient: mockHttpClient as unknown as HttpSetup, +export const componentTemplatesDependencies = (httpSetup: HttpSetup) => ({ + httpClient: httpSetup, apiBasePath: API_BASE_PATH, trackMetric: () => {}, docLinks: docLinksServiceMock.createStartContract(), toasts: notificationServiceMock.createSetupContract().toasts, setBreadcrumbs: () => {}, getUrlForApp: applicationServiceMock.createStartContract().getUrlForApp, -}; +}); -export const setupEnvironment = () => { - const { server, httpRequestsMockHelpers } = initHttpRequests(); +export const setupEnvironment = initHttpRequests; - return { - server, - httpRequestsMockHelpers, - }; -}; - -export const WithAppDependencies = (Comp: any) => (props: any) => +export const WithAppDependencies = (Comp: any, httpSetup: HttpSetup) => (props: any) => ( - + diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/detail_panel/edit_settings_json/edit_settings_json.js b/x-pack/plugins/index_management/public/application/sections/home/index_list/detail_panel/edit_settings_json/edit_settings_json.js index 5db24ff95e548..5fc37882069c5 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/detail_panel/edit_settings_json/edit_settings_json.js +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/detail_panel/edit_settings_json/edit_settings_json.js @@ -6,6 +6,8 @@ */ import React from 'react'; + +import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; import { documentationService } from '../../../../../services/documentation'; @@ -13,10 +15,9 @@ import { EuiButton, EuiFlexGroup, EuiFlexItem, - EuiIcon, + EuiCallOut, EuiLink, EuiSpacer, - EuiTextColor, EuiTitle, } from '@elastic/eui'; import { TAB_SETTINGS } from '../../../../../constants'; @@ -90,16 +91,25 @@ export class EditSettingsJson extends React.PureComponent { }; errorMessage() { const { error } = this.props; + if (!error) { return null; } + return ( -
    - - - {error} + <> -
    + +

    {error}

    +
    + ); } render() { @@ -135,6 +145,7 @@ export class EditSettingsJson extends React.PureComponent {
    + {this.errorMessage()} - {this.errorMessage()}
    ); diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/detail_panel/summary/summary.js b/x-pack/plugins/index_management/public/application/sections/home/index_list/detail_panel/summary/summary.js index 901ee9dbec3cf..6ff9882e78b11 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/detail_panel/summary/summary.js +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/detail_panel/summary/summary.js @@ -36,16 +36,16 @@ const getHeaders = () => { defaultMessage: 'Replicas', }), documents: i18n.translate('xpack.idxMgmt.summary.headers.documentsHeader', { - defaultMessage: 'Docs Count', + defaultMessage: 'Docs count', }), documents_deleted: i18n.translate('xpack.idxMgmt.summary.headers.deletedDocumentsHeader', { - defaultMessage: 'Docs Deleted', + defaultMessage: 'Docs deleted', }), size: i18n.translate('xpack.idxMgmt.summary.headers.storageSizeHeader', { - defaultMessage: 'Storage Size', + defaultMessage: 'Storage size', }), primary_size: i18n.translate('xpack.idxMgmt.summary.headers.primaryStorageSizeHeader', { - defaultMessage: 'Primary Storage Size', + defaultMessage: 'Primary storage size', }), aliases: i18n.translate('xpack.idxMgmt.summary.headers.aliases', { defaultMessage: 'Aliases', diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/index_actions_context_menu/index_actions_context_menu.js b/x-pack/plugins/index_management/public/application/sections/home/index_list/index_actions_context_menu/index_actions_context_menu.js index c5bd62feff826..dedb4426c6dea 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/index_actions_context_menu/index_actions_context_menu.js +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/index_actions_context_menu/index_actions_context_menu.js @@ -178,6 +178,7 @@ export class IndexActionsContextMenu extends Component { }); if (allFrozen) { items.push({ + 'data-test-subj': 'unfreezeIndexMenuButton', name: i18n.translate('xpack.idxMgmt.indexActionsMenu.unfreezeIndexLabel', { defaultMessage: 'Unfreeze {selectedIndexCount, plural, one {index} other {indices} }', values: { selectedIndexCount }, @@ -740,9 +741,9 @@ export class IndexActionsContextMenu extends Component { repositionOnScroll >
    diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/index_table/index_table.js b/x-pack/plugins/index_management/public/application/sections/home/index_list/index_table/index_table.js index d40f04d03cc92..fd59899d4fb0d 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/index_table/index_table.js +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/index_table/index_table.js @@ -285,7 +285,7 @@ export class IndexTable extends Component { {renderBadges(index, filterChanged, appServices.extensionsService)} ); - } else if (fieldName === 'data_stream') { + } else if (fieldName === 'data_stream' && value) { return ( async (dispatch) => { if (Object.keys(settings).length !== 0) { - try { - const { error, message } = await request(indexName, settings); + const { error } = await request(indexName, settings); - if (error) { - return dispatch(updateIndexSettingsError({ error: message })); - } - } catch (error) { + if (error) { return dispatch(updateIndexSettingsError({ error: error.message })); } } diff --git a/x-pack/plugins/index_management/server/lib/fetch_indices.ts b/x-pack/plugins/index_management/server/lib/fetch_indices.ts index 1dd27dff98c16..84d9897cc3392 100644 --- a/x-pack/plugins/index_management/server/lib/fetch_indices.ts +++ b/x-pack/plugins/index_management/server/lib/fetch_indices.ts @@ -18,7 +18,9 @@ async function fetchIndicesCall( // This call retrieves alias and settings (incl. hidden status) information about indices const { body: indices } = await client.asCurrentUser.indices.get({ index: indexNamesString, - expand_wildcards: 'hidden,all', + expand_wildcards: ['hidden', 'all'], + // only get specified properties in the response + filter_path: ['*.aliases', '*.settings.index.hidden', '*.data_stream'], }); if (!Object.keys(indices).length) { @@ -28,7 +30,7 @@ async function fetchIndicesCall( const { body: catHits } = await client.asCurrentUser.cat.indices({ format: 'json', h: 'health,status,index,uuid,pri,rep,docs.count,sth,store.size', - expand_wildcards: 'hidden,all', + expand_wildcards: ['hidden', 'all'], index: indexNamesString, }); @@ -53,7 +55,7 @@ async function fetchIndicesCall( isFrozen: hit.sth === 'true', // sth value coming back as a string from ES aliases: aliases.length ? aliases : 'none', // @ts-expect-error @elastic/elasticsearch https://github.com/elastic/elasticsearch-specification/issues/532 - hidden: index.settings.index.hidden === 'true', + hidden: index.settings?.index.hidden === 'true', data_stream: index.data_stream!, }); } diff --git a/x-pack/plugins/infra/common/alerting/metrics/types.ts b/x-pack/plugins/infra/common/alerting/metrics/types.ts index 19812a7d37517..e74d938fbbc9a 100644 --- a/x-pack/plugins/infra/common/alerting/metrics/types.ts +++ b/x-pack/plugins/infra/common/alerting/metrics/types.ts @@ -80,3 +80,7 @@ export interface InventoryMetricThresholdParams { sourceId?: string; alertOnNoData?: boolean; } + +export const QUERY_INVALID: unique symbol = Symbol('QUERY_INVALID'); + +export type FilterQuery = string | typeof QUERY_INVALID; diff --git a/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx b/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx index 06420a9d42a03..6cf3c6c5284e2 100644 --- a/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx +++ b/x-pack/plugins/infra/public/alerting/inventory/components/expression.tsx @@ -40,6 +40,7 @@ import { IErrorObject, AlertTypeParamsExpressionProps, } from '../../../../../triggers_actions_ui/public'; +import { FilterQuery, QUERY_INVALID } from '../../../../common/alerting/metrics'; import { MetricsExplorerKueryBar } from '../../../pages/metrics/metrics_explorer/components/kuery_bar'; import { useSourceViaHttp } from '../../../containers/metrics_source/use_source_via_http'; import { sqsMetricTypes } from '../../../../common/inventory_models/aws_sqs/toolbar_items'; @@ -70,7 +71,6 @@ import { useKibanaContextForPlugin } from '../../../hooks/use_kibana'; import { ExpressionChart } from './expression_chart'; const FILTER_TYPING_DEBOUNCE_MS = 500; -export const QUERY_INVALID = Symbol('QUERY_INVALID'); export interface AlertContextMeta { options?: Partial; @@ -85,7 +85,7 @@ type Props = Omit< { criteria: Criteria; nodeType: InventoryItemType; - filterQuery?: string | symbol; + filterQuery?: FilterQuery; filterQueryText?: string; sourceId: string; alertOnNoData?: boolean; diff --git a/x-pack/plugins/infra/public/alerting/inventory/components/validation.tsx b/x-pack/plugins/infra/public/alerting/inventory/components/validation.tsx index 561bb39c6dce7..e4c11a899c840 100644 --- a/x-pack/plugins/infra/public/alerting/inventory/components/validation.tsx +++ b/x-pack/plugins/infra/public/alerting/inventory/components/validation.tsx @@ -13,14 +13,14 @@ import { } from '../../../../server/lib/alerting/inventory_metric_threshold/types'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { ValidationResult } from '../../../../../triggers_actions_ui/public/types'; -import { QUERY_INVALID } from './expression'; +import { FilterQuery, QUERY_INVALID } from '../../../../common/alerting/metrics'; export function validateMetricThreshold({ criteria, filterQuery, }: { criteria: InventoryMetricConditions[]; - filterQuery?: string | symbol; + filterQuery?: FilterQuery; }): ValidationResult { const validationResult = { errors: {} }; const errors: { diff --git a/x-pack/plugins/infra/public/alerting/log_threshold/components/expression_editor/criterion_preview_chart.tsx b/x-pack/plugins/infra/public/alerting/log_threshold/components/expression_editor/criterion_preview_chart.tsx index 0ad6378a22960..371dff4ed6a70 100644 --- a/x-pack/plugins/infra/public/alerting/log_threshold/components/expression_editor/criterion_preview_chart.tsx +++ b/x-pack/plugins/infra/public/alerting/log_threshold/components/expression_editor/criterion_preview_chart.tsx @@ -47,6 +47,7 @@ import { } from '../../../../../common/http_api/log_alerts/'; import { useChartPreviewData } from './hooks/use_chart_preview_data'; import { decodeOrThrow } from '../../../../../common/runtime_types'; +import { useKibanaTimeZoneSetting } from '../../../../hooks/use_kibana_time_zone_setting'; const GROUP_LIMIT = 5; @@ -126,6 +127,7 @@ const CriterionPreviewChart: React.FC = ({ }) => { const { uiSettings } = useKibana().services; const isDarkMode = uiSettings?.get('theme:darkMode') || false; + const timezone = useKibanaTimeZoneSetting(); const { getChartPreviewData, @@ -242,6 +244,7 @@ const CriterionPreviewChart: React.FC = ({ }, }} color={!isGrouped ? colorTransformer(Color.color0) : undefined} + timeZone={timezone} /> {showThreshold && threshold ? ( , diff --git a/x-pack/plugins/infra/public/alerting/metric_threshold/components/validation.tsx b/x-pack/plugins/infra/public/alerting/metric_threshold/components/validation.tsx index 8df313aa1627a..9bd3784c2271b 100644 --- a/x-pack/plugins/infra/public/alerting/metric_threshold/components/validation.tsx +++ b/x-pack/plugins/infra/public/alerting/metric_threshold/components/validation.tsx @@ -13,14 +13,14 @@ import { } from '../../../../server/lib/alerting/metric_threshold/types'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { ValidationResult } from '../../../../../triggers_actions_ui/public/types'; -import { QUERY_INVALID } from './expression'; +import { FilterQuery, QUERY_INVALID } from '../../../../common/alerting/metrics'; export function validateMetricThreshold({ criteria, filterQuery, }: { criteria: MetricExpressionParams[]; - filterQuery?: string | symbol; + filterQuery?: FilterQuery; }): ValidationResult { const validationResult = { errors: {} }; const errors: { diff --git a/x-pack/plugins/infra/public/alerting/metric_threshold/types.ts b/x-pack/plugins/infra/public/alerting/metric_threshold/types.ts index 0d1c85087f33d..3364583006510 100644 --- a/x-pack/plugins/infra/public/alerting/metric_threshold/types.ts +++ b/x-pack/plugins/infra/public/alerting/metric_threshold/types.ts @@ -10,6 +10,7 @@ import { // eslint-disable-next-line @kbn/eslint/no-restricted-paths } from '../../../server/lib/alerting/metric_threshold/types'; import { MetricsExplorerOptions } from '../../pages/metrics/metrics_explorer/hooks/use_metrics_explorer_options'; +import { FilterQuery } from '../../../common/alerting/metrics'; import { MetricsExplorerSeries } from '../../../common/http_api/metrics_explorer'; export interface AlertContextMeta { @@ -57,7 +58,7 @@ export interface ExpressionChartData { export interface AlertParams { criteria: MetricExpression[]; groupBy?: string | string[]; - filterQuery?: string | symbol; + filterQuery?: FilterQuery; sourceId: string; filterQueryText?: string; alertOnNoData?: boolean; diff --git a/x-pack/plugins/infra/public/components/logging/log_source_error_page.tsx b/x-pack/plugins/infra/public/components/logging/log_source_error_page.tsx index 6c757f7383a06..2fcca2f165287 100644 --- a/x-pack/plugins/infra/public/components/logging/log_source_error_page.tsx +++ b/x-pack/plugins/infra/public/components/logging/log_source_error_page.tsx @@ -8,7 +8,7 @@ import { EuiButton, EuiButtonEmpty, EuiCallOut, EuiEmptyPrompt, EuiSpacer } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import React from 'react'; -import { SavedObjectNotFound } from '../../../../../../src/plugins/kibana_utils/common'; +import { isSavedObjectNotFoundError } from '../../../../../../src/plugins/kibana_utils/common'; import { FetchLogSourceConfigurationError, FetchLogSourceStatusError, @@ -82,7 +82,7 @@ const LogSourceErrorMessage: React.FC<{ error: Error }> = ({ error }) => { /> } > - {error.cause instanceof SavedObjectNotFound ? ( + {isSavedObjectNotFoundError(error.cause) ? ( // the SavedObjectNotFound error message contains broken markup (UI_SETTINGS.DATEFORMAT_TZ); + + if (!kibanaTimeZone || kibanaTimeZone === 'Browser') { + return 'local'; + } + + return kibanaTimeZone; +} diff --git a/x-pack/plugins/infra/public/pages/logs/log_entry_categories/sections/top_categories/single_metric_sparkline.tsx b/x-pack/plugins/infra/public/pages/logs/log_entry_categories/sections/top_categories/single_metric_sparkline.tsx index 861a584b26ad3..75b47c8334bf6 100644 --- a/x-pack/plugins/infra/public/pages/logs/log_entry_categories/sections/top_categories/single_metric_sparkline.tsx +++ b/x-pack/plugins/infra/public/pages/logs/log_entry_categories/sections/top_categories/single_metric_sparkline.tsx @@ -14,6 +14,7 @@ import { } from '@elastic/eui/dist/eui_charts_theme'; import { useKibanaUiSetting } from '../../../../../utils/use_kibana_ui_setting'; +import { useKibanaTimeZoneSetting } from '../../../../../hooks/use_kibana_time_zone_setting'; import { TimeRange } from '../../../../../../common/time'; interface TimeSeriesPoint { @@ -33,6 +34,7 @@ export const SingleMetricSparkline: React.FunctionComponent<{ timeRange: TimeRange; }> = ({ metric, timeRange }) => { const [isDarkMode] = useKibanaUiSetting('theme:darkMode'); + const timeZone = useKibanaTimeZoneSetting(); const theme = useMemo( () => [ @@ -60,6 +62,7 @@ export const SingleMetricSparkline: React.FunctionComponent<{ xAccessor={timestampAccessor} xScaleType="time" yAccessors={valueAccessor} + timeZone={timeZone} /> ); diff --git a/x-pack/plugins/infra/public/pages/logs/settings/indices_configuration_form_state.ts b/x-pack/plugins/infra/public/pages/logs/settings/indices_configuration_form_state.ts index 1a70aaff6636c..5bcf4cfbd8081 100644 --- a/x-pack/plugins/infra/public/pages/logs/settings/indices_configuration_form_state.ts +++ b/x-pack/plugins/infra/public/pages/logs/settings/indices_configuration_form_state.ts @@ -6,7 +6,7 @@ */ import { useMemo } from 'react'; -import { SavedObjectNotFound } from '../../../../../../../src/plugins/kibana_utils/common'; +import { isSavedObjectNotFoundError } from '../../../../../../../src/plugins/kibana_utils/common'; import { useUiTracker } from '../../../../../observability/public'; import { LogIndexNameReference, @@ -48,8 +48,8 @@ export const useLogIndicesFormElement = (initialValue: LogIndicesFormState) => { const indexPatternErrors = await indexPatternService .get(logIndices.indexPatternId) - .then(validateIndexPattern, (error): FormValidationError[] => { - if (error instanceof SavedObjectNotFound) { + .then(validateIndexPattern, (error: Error): FormValidationError[] => { + if (isSavedObjectNotFoundError(error)) { return [ { type: 'missing_index_pattern' as const, diff --git a/x-pack/plugins/infra/public/pages/metrics/metric_detail/components/series_chart.tsx b/x-pack/plugins/infra/public/pages/metrics/metric_detail/components/series_chart.tsx index d1c98ed97ce18..22079943efb54 100644 --- a/x-pack/plugins/infra/public/pages/metrics/metric_detail/components/series_chart.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/metric_detail/components/series_chart.tsx @@ -16,6 +16,7 @@ import { } from '@elastic/charts'; import { NodeDetailsDataSeries } from '../../../../../common/http_api/node_details_api'; import { InventoryVisType } from '../../../../../common/inventory_models/types'; +import { useKibanaTimeZoneSetting } from '../../../../hooks/use_kibana_time_zone_setting'; interface Props { id: string; @@ -34,6 +35,7 @@ export const SeriesChart = (props: Props) => { }; export const AreaChart = ({ id, color, series, name, type, stack }: Props) => { + const timezone = useKibanaTimeZoneSetting(); const style: RecursivePartial = { area: { opacity: 1, @@ -56,11 +58,13 @@ export const AreaChart = ({ id, color, series, name, type, stack }: Props) => { areaSeriesStyle={style} color={color ? color : void 0} stackAccessors={stack ? ['timestamp'] : void 0} + timeZone={timezone} /> ); }; export const BarChart = ({ id, color, series, name, stack }: Props) => { + const timezone = useKibanaTimeZoneSetting(); const style: RecursivePartial = { rectBorder: { stroke: color || void 0, @@ -83,6 +87,7 @@ export const BarChart = ({ id, color, series, name, stack }: Props) => { barSeriesStyle={style} color={color ? color : void 0} stackAccessors={stack ? ['timestamp'] : void 0} + timeZone={timezone} /> ); }; diff --git a/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/components/series_chart.tsx b/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/components/series_chart.tsx index 47844543a279a..12db775e243f8 100644 --- a/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/components/series_chart.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/components/series_chart.tsx @@ -21,6 +21,7 @@ import { MetricsExplorerOptionsMetric, MetricsExplorerChartType, } from '../hooks/use_metrics_explorer_options'; +import { useKibanaTimeZoneSetting } from '../../../../hooks/use_kibana_time_zone_setting'; import { getMetricId } from './helpers/get_metric_id'; type NumberOrString = string | number; @@ -42,6 +43,7 @@ export const MetricExplorerSeriesChart = (props: Props) => { }; export const MetricsExplorerAreaChart = ({ metric, id, series, type, stack, opacity }: Props) => { + const timezone = useKibanaTimeZoneSetting(); const color = (metric.color && colorTransformer(metric.color)) || colorTransformer(Color.color0); const yAccessors = Array.isArray(id) @@ -78,11 +80,13 @@ export const MetricsExplorerAreaChart = ({ metric, id, series, type, stack, opac stackAccessors={stack ? ['timestamp'] : void 0} areaSeriesStyle={seriesAreaStyle} color={color} + timeZone={timezone} /> ); }; export const MetricsExplorerBarChart = ({ metric, id, series, stack }: Props) => { + const timezone = useKibanaTimeZoneSetting(); const color = (metric.color && colorTransformer(metric.color)) || colorTransformer(Color.color0); const yAccessors = Array.isArray(id) @@ -113,6 +117,7 @@ export const MetricsExplorerBarChart = ({ metric, id, series, stack }: Props) => stackAccessors={stack ? ['timestamp'] : void 0} barSeriesStyle={seriesBarStyle} color={color} + timeZone={timezone} /> ); }; diff --git a/x-pack/plugins/infra/public/plugin.ts b/x-pack/plugins/infra/public/plugin.ts index 5565c90970ecd..712b7c01b9f0a 100644 --- a/x-pack/plugins/infra/public/plugin.ts +++ b/x-pack/plugins/infra/public/plugin.ts @@ -10,6 +10,9 @@ import { AppMountParameters, PluginInitializerContext } from 'kibana/public'; import { from } from 'rxjs'; import { map } from 'rxjs/operators'; import { DEFAULT_APP_CATEGORIES } from '../../../../src/core/public'; +import { createInventoryMetricAlertType } from './alerting/inventory'; +import { createLogThresholdAlertType } from './alerting/log_threshold'; +import { createMetricThresholdAlertType } from './alerting/metric_threshold'; import { LOG_STREAM_EMBEDDABLE } from './components/log_stream/log_stream_embeddable'; import { LogStreamEmbeddableFactoryDefinition } from './components/log_stream/log_stream_embeddable_factory'; import { createMetricsFetchData, createMetricsHasData } from './metrics_overview_fetchers'; @@ -26,15 +29,11 @@ import { getLogsHasDataFetcher, getLogsOverviewDataFetcher } from './utils/logs_ export class Plugin implements InfraClientPluginClass { constructor(_context: PluginInitializerContext) {} - async setup(core: InfraClientCoreSetup, pluginsSetup: InfraClientSetupDeps) { + setup(core: InfraClientCoreSetup, pluginsSetup: InfraClientSetupDeps) { if (pluginsSetup.home) { registerFeatures(pluginsSetup.home); } - const { createInventoryMetricAlertType } = await import('./alerting/inventory'); - const { createLogThresholdAlertType } = await import('./alerting/log_threshold'); - const { createMetricThresholdAlertType } = await import('./alerting/metric_threshold'); - pluginsSetup.observability.observabilityRuleTypeRegistry.register( createInventoryMetricAlertType() ); diff --git a/x-pack/plugins/infra/server/lib/adapters/metrics/kibana_metrics_adapter.ts b/x-pack/plugins/infra/server/lib/adapters/metrics/kibana_metrics_adapter.ts index 730da9511dc38..a61697bd23c86 100644 --- a/x-pack/plugins/infra/server/lib/adapters/metrics/kibana_metrics_adapter.ts +++ b/x-pack/plugins/infra/server/lib/adapters/metrics/kibana_metrics_adapter.ts @@ -6,8 +6,8 @@ */ import { i18n } from '@kbn/i18n'; -import { flatten, get } from 'lodash'; import { KibanaRequest } from 'src/core/server'; +import { flatten, get } from 'lodash'; import { NodeDetailsMetricData } from '../../../../common/http_api/node_details_api'; import { KibanaFramework } from '../framework/kibana_framework_adapter'; import { InfraMetricsAdapter, InfraMetricsRequestOptions } from './adapter_types'; @@ -62,7 +62,7 @@ export class KibanaMetricsAdapter implements InfraMetricsAdapter { .then((results) => { return results.filter(isVisSeriesData).map((result) => { const metricIds = Object.keys(result).filter( - (k) => !['type', 'uiRestrictions'].includes(k) + (k) => !['type', 'uiRestrictions', 'trackedEsSearches'].includes(k) ); return metricIds.map((id: string) => { diff --git a/x-pack/plugins/infra/server/lib/alerting/log_threshold/log_threshold_executor.ts b/x-pack/plugins/infra/server/lib/alerting/log_threshold/log_threshold_executor.ts index f99f7a96158c3..737ece22bb6a8 100644 --- a/x-pack/plugins/infra/server/lib/alerting/log_threshold/log_threshold_executor.ts +++ b/x-pack/plugins/infra/server/lib/alerting/log_threshold/log_threshold_executor.ts @@ -324,22 +324,22 @@ const getReducedGroupByResults = ( key: GroupedSearchQueryResponse['aggregations']['groups']['buckets'][0]['key'] ) => Object.values(key).join(', '); + const reducedGroupByResults: ReducedGroupByResults = []; if (isOptimizedGroupedSearchQueryResponse(results)) { - return results.reduce((acc, groupBucket) => { + for (const groupBucket of results) { const groupName = getGroupName(groupBucket.key); - const groupResult = { name: groupName, documentCount: groupBucket.doc_count }; - return [...acc, groupResult]; - }, []); + reducedGroupByResults.push({ name: groupName, documentCount: groupBucket.doc_count }); + } } else { - return results.reduce((acc, groupBucket) => { + for (const groupBucket of results) { const groupName = getGroupName(groupBucket.key); - const groupResult = { + reducedGroupByResults.push({ name: groupName, documentCount: groupBucket.filtered_results.doc_count, - }; - return [...acc, groupResult]; - }, []); + }); + } } + return reducedGroupByResults; }; export const processGroupByResults = ( diff --git a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/lib/evaluate_alert.ts b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/lib/evaluate_alert.ts index a794bb3d60450..a6ded107fe6fe 100644 --- a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/lib/evaluate_alert.ts +++ b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/lib/evaluate_alert.ts @@ -7,7 +7,7 @@ import moment from 'moment'; import { ElasticsearchClient } from 'kibana/server'; -import { mapValues, first, last, isNaN, isNumber, isObject, has } from 'lodash'; +import { difference, mapValues, first, last, isNaN, isNumber, isObject, has } from 'lodash'; import { isTooManyBucketsPreviewException, TOO_MANY_BUCKETS_PREVIEW_EXCEPTION, @@ -97,27 +97,21 @@ export const evaluateAlert = !currentGroups.includes(g)); + const missingGroups = difference(prevGroups, currentGroups); if (currentGroups.length === 0 && missingGroups.length === 0) { missingGroups.push(UNGROUPED_FACTORY_KEY); } const backfillTimestamp = last(last(Object.values(currentValues)))?.key ?? new Date().toISOString(); - const backfilledPrevGroups: Record< - string, - Array<{ key: string; value: number }> - > = missingGroups.reduce( - (result, group) => ({ - ...result, - [group]: [ - { - key: backfillTimestamp, - value: criterion.aggType === Aggregators.COUNT ? 0 : null, - }, - ], - }), - {} - ); + const backfilledPrevGroups: Record> = {}; + for (const group of missingGroups) { + backfilledPrevGroups[group] = [ + { + key: backfillTimestamp, + value: criterion.aggType === Aggregators.COUNT ? 0 : null, + }, + ]; + } const currentValuesWithBackfilledPrevGroups = { ...currentValues, ...backfilledPrevGroups, @@ -206,21 +200,18 @@ const getMetric: ( bucketSelector, afterKeyHandler )) as Array; doc_count: number }>; - const groupedResults = compositeBuckets.reduce( - (result, bucket) => ({ - ...result, - [Object.values(bucket.key) - .map((value) => value) - .join(', ')]: getValuesFromAggregations( - bucket, - aggType, - dropPartialBucketsOptions, - calculatedTimerange, - bucket.doc_count - ), - }), - {} - ); + const groupedResults: Record = {}; + for (const bucket of compositeBuckets) { + const key = Object.values(bucket.key).join(', '); + const value = getValuesFromAggregations( + bucket, + aggType, + dropPartialBucketsOptions, + calculatedTimerange, + bucket.doc_count + ); + groupedResults[key] = value; + } return groupedResults; } const { body: result } = await esClient.search({ diff --git a/x-pack/plugins/infra/server/lib/sources/migrations/7_16_2_extract_inventory_default_view_reference.test.ts b/x-pack/plugins/infra/server/lib/sources/migrations/7_16_2_extract_inventory_default_view_reference.test.ts new file mode 100644 index 0000000000000..465545618c8d7 --- /dev/null +++ b/x-pack/plugins/infra/server/lib/sources/migrations/7_16_2_extract_inventory_default_view_reference.test.ts @@ -0,0 +1,89 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { migrationMocks } from 'src/core/server/mocks'; +import { SavedObjectReference } from '../../../../../../../src/core/server'; +import { + inventoryDefaultViewReferenceName, + logIndexPatternReferenceName, +} from '../saved_object_references'; +import { extractInventoryDefaultViewReference } from './7_16_2_extract_inventory_default_view_reference'; +import { createTestSourceConfiguration } from './create_test_source_configuration'; + +describe('infra source configuration migration function for inventory default views in 7.16.2', () => { + test('migrates the inventoryDefaultView to be a reference', () => { + const initialReferences: SavedObjectReference[] = [ + { + type: 'index-pattern', + name: logIndexPatternReferenceName, + id: 'TEST LOG INDEX PATTERN', + }, + ]; + const unmigratedConfiguration = createTestSourceConfiguration( + { + inventoryDefaultView: 'TEST UUID', + }, + initialReferences + ); + + const migratedConfiguration = extractInventoryDefaultViewReference( + unmigratedConfiguration, + migrationMocks.createContext() + ); + + expect(migratedConfiguration).toStrictEqual( + createTestSourceConfiguration( + { + inventoryDefaultView: inventoryDefaultViewReferenceName, + }, + [ + ...initialReferences, + { + type: 'inventory-view', + name: inventoryDefaultViewReferenceName, + id: 'TEST UUID', + }, + ] + ) + ); + }); + + test('ignores already migrated inventoryDefaultView references', () => { + const initialReferences: SavedObjectReference[] = [ + { + type: 'index-pattern', + name: logIndexPatternReferenceName, + id: 'TEST LOG INDEX PATTERN', + }, + { + type: 'inventory-view', + name: inventoryDefaultViewReferenceName, + id: 'TEST UUID', + }, + ]; + const unmigratedConfiguration = createTestSourceConfiguration( + { + inventoryDefaultView: inventoryDefaultViewReferenceName, + }, + initialReferences + ); + + const migratedConfiguration = extractInventoryDefaultViewReference( + unmigratedConfiguration, + migrationMocks.createContext() + ); + + expect(migratedConfiguration).toStrictEqual( + createTestSourceConfiguration( + { + inventoryDefaultView: inventoryDefaultViewReferenceName, + }, + initialReferences + ) + ); + }); +}); diff --git a/x-pack/plugins/infra/server/lib/sources/migrations/7_16_2_extract_inventory_default_view_reference.ts b/x-pack/plugins/infra/server/lib/sources/migrations/7_16_2_extract_inventory_default_view_reference.ts new file mode 100644 index 0000000000000..745359270cc4c --- /dev/null +++ b/x-pack/plugins/infra/server/lib/sources/migrations/7_16_2_extract_inventory_default_view_reference.ts @@ -0,0 +1,25 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { SavedObjectMigrationFn } from 'src/core/server'; +import { InfraSourceConfiguration } from '../../../../common/source_configuration/source_configuration'; +import { extractInventorySavedViewReferences } from '../saved_object_references'; + +export const extractInventoryDefaultViewReference: SavedObjectMigrationFn< + InfraSourceConfiguration, + InfraSourceConfiguration +> = (sourceConfigurationDocument) => { + const { attributes, references } = extractInventorySavedViewReferences( + sourceConfigurationDocument.attributes + ); + + return { + ...sourceConfigurationDocument, + attributes, + references: [...(sourceConfigurationDocument.references ?? []), ...references], + }; +}; diff --git a/x-pack/plugins/infra/server/lib/sources/migrations/7_16_2_extract_metrics_explorer_default_view_reference.test.ts b/x-pack/plugins/infra/server/lib/sources/migrations/7_16_2_extract_metrics_explorer_default_view_reference.test.ts new file mode 100644 index 0000000000000..6a97193211034 --- /dev/null +++ b/x-pack/plugins/infra/server/lib/sources/migrations/7_16_2_extract_metrics_explorer_default_view_reference.test.ts @@ -0,0 +1,89 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { migrationMocks } from 'src/core/server/mocks'; +import { SavedObjectReference } from '../../../../../../../src/core/server'; +import { + logIndexPatternReferenceName, + metricsExplorerDefaultViewReferenceName, +} from '../saved_object_references'; +import { extractMetricsExplorerDefaultViewReference } from './7_16_2_extract_metrics_explorer_default_view_reference'; +import { createTestSourceConfiguration } from './create_test_source_configuration'; + +describe('infra source configuration migration function for metrics explorer default views in 7.16.2', () => { + test('migrates the metricsExplorerDefaultView to be a reference', () => { + const initialReferences: SavedObjectReference[] = [ + { + type: 'index-pattern', + name: logIndexPatternReferenceName, + id: 'TEST LOG INDEX PATTERN', + }, + ]; + const unmigratedConfiguration = createTestSourceConfiguration( + { + metricsExplorerDefaultView: 'TEST UUID', + }, + initialReferences + ); + + const migratedConfiguration = extractMetricsExplorerDefaultViewReference( + unmigratedConfiguration, + migrationMocks.createContext() + ); + + expect(migratedConfiguration).toStrictEqual( + createTestSourceConfiguration( + { + metricsExplorerDefaultView: metricsExplorerDefaultViewReferenceName, + }, + [ + ...initialReferences, + { + type: 'metrics-explorer-view', + name: metricsExplorerDefaultViewReferenceName, + id: 'TEST UUID', + }, + ] + ) + ); + }); + + test('ignores already migrated metricsExplorerDefaultView references', () => { + const initialReferences: SavedObjectReference[] = [ + { + type: 'index-pattern', + name: logIndexPatternReferenceName, + id: 'TEST LOG INDEX PATTERN', + }, + { + type: 'metrics-explorer-view', + name: metricsExplorerDefaultViewReferenceName, + id: 'TEST UUID', + }, + ]; + const unmigratedConfiguration = createTestSourceConfiguration( + { + metricsExplorerDefaultView: metricsExplorerDefaultViewReferenceName, + }, + initialReferences + ); + + const migratedConfiguration = extractMetricsExplorerDefaultViewReference( + unmigratedConfiguration, + migrationMocks.createContext() + ); + + expect(migratedConfiguration).toStrictEqual( + createTestSourceConfiguration( + { + metricsExplorerDefaultView: metricsExplorerDefaultViewReferenceName, + }, + initialReferences + ) + ); + }); +}); diff --git a/x-pack/plugins/infra/server/lib/sources/migrations/7_16_2_extract_metrics_explorer_default_view_reference.ts b/x-pack/plugins/infra/server/lib/sources/migrations/7_16_2_extract_metrics_explorer_default_view_reference.ts new file mode 100644 index 0000000000000..4ef9024ccb9ce --- /dev/null +++ b/x-pack/plugins/infra/server/lib/sources/migrations/7_16_2_extract_metrics_explorer_default_view_reference.ts @@ -0,0 +1,25 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { SavedObjectMigrationFn } from 'src/core/server'; +import { InfraSourceConfiguration } from '../../../../common/source_configuration/source_configuration'; +import { extractMetricsExplorerSavedViewReferences } from '../saved_object_references'; + +export const extractMetricsExplorerDefaultViewReference: SavedObjectMigrationFn< + InfraSourceConfiguration, + InfraSourceConfiguration +> = (sourceConfigurationDocument) => { + const { attributes, references } = extractMetricsExplorerSavedViewReferences( + sourceConfigurationDocument.attributes + ); + + return { + ...sourceConfigurationDocument, + attributes, + references: [...(sourceConfigurationDocument.references ?? []), ...references], + }; +}; diff --git a/x-pack/plugins/infra/server/lib/sources/migrations/compose_migrations.test.ts b/x-pack/plugins/infra/server/lib/sources/migrations/compose_migrations.test.ts new file mode 100644 index 0000000000000..f7612fbe1dbcb --- /dev/null +++ b/x-pack/plugins/infra/server/lib/sources/migrations/compose_migrations.test.ts @@ -0,0 +1,38 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { SavedObjectUnsanitizedDoc } from '../../../../../../../src/core/server'; +import { migrationMocks } from '../../../../../../../src/core/server/mocks'; +import { composeMigrations } from './compose_migrations'; + +type TestDocument = SavedObjectUnsanitizedDoc<{ + a: number; +}>; + +describe('composeMigrations function', () => { + test('correctly composes two migration functions', () => { + const firstMigration = jest.fn( + (doc: TestDocument): TestDocument => ({ + ...doc, + attributes: { ...doc.attributes, a: doc.attributes.a + 1 }, + }) + ); + const secondMigration = jest.fn( + (doc: TestDocument): TestDocument => ({ + ...doc, + attributes: { ...doc.attributes, a: doc.attributes.a ** 2 }, + }) + ); + + const composedMigrations = composeMigrations(firstMigration, secondMigration); + const migrationContext = migrationMocks.createContext(); + + expect( + composedMigrations({ id: 'ID', type: 'TYPE', attributes: { a: 1 } }, migrationContext) + ).toStrictEqual({ id: 'ID', type: 'TYPE', attributes: { a: 4 } }); + }); +}); diff --git a/x-pack/plugins/infra/server/lib/sources/migrations/compose_migrations.ts b/x-pack/plugins/infra/server/lib/sources/migrations/compose_migrations.ts new file mode 100644 index 0000000000000..561685eb47127 --- /dev/null +++ b/x-pack/plugins/infra/server/lib/sources/migrations/compose_migrations.ts @@ -0,0 +1,35 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { SavedObjectMigrationFn } from '../../../../../../../src/core/server'; + +type InputAttributesOf = MigrationFn extends SavedObjectMigrationFn< + infer InputAttributes, + any +> + ? InputAttributes + : never; +type MigratedAttributesOf = MigrationFn extends SavedObjectMigrationFn< + any, + infer MigratedAttributes +> + ? MigratedAttributes + : never; + +export function composeMigrations< + FirstFn extends SavedObjectMigrationFn, + IntermediateFns extends SavedObjectMigrationFn[], + LastFn extends SavedObjectMigrationFn +>( + ...migrations: [FirstFn, ...IntermediateFns, LastFn] +): SavedObjectMigrationFn, MigratedAttributesOf> { + return (doc, context) => + migrations.reduce( + (migratedDoc, nextMigration) => nextMigration(migratedDoc, context), + doc as any + ); +} diff --git a/x-pack/plugins/infra/server/lib/sources/migrations/create_test_source_configuration.ts b/x-pack/plugins/infra/server/lib/sources/migrations/create_test_source_configuration.ts new file mode 100644 index 0000000000000..3f0d71ff96e25 --- /dev/null +++ b/x-pack/plugins/infra/server/lib/sources/migrations/create_test_source_configuration.ts @@ -0,0 +1,51 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + SavedObjectReference, + SavedObjectUnsanitizedDoc, +} from '../../../../../../../src/core/server'; +import { InfraSourceConfiguration } from '../../../../common/source_configuration/source_configuration'; +import { infraSourceConfigurationSavedObjectName } from '../saved_object_type'; + +export const createTestSourceConfiguration = ( + overrideAttributes: Partial = {}, + initialReferences: SavedObjectReference[] = [] +): SavedObjectUnsanitizedDoc => ({ + attributes: { + name: 'TEST CONFIGURATION', + description: '', + fields: { + pod: 'TEST POD FIELD', + host: 'TEST HOST FIELD', + message: ['TEST MESSAGE FIELD'], + container: 'TEST CONTAINER FIELD', + timestamp: 'TEST TIMESTAMP FIELD', + tiebreaker: 'TEST TIEBREAKER FIELD', + }, + inventoryDefaultView: '0', + metricsExplorerDefaultView: '0', + logColumns: [ + { + fieldColumn: { + id: 'TEST FIELD COLUMN ID', + field: 'TEST FIELD COLUMN FIELD', + }, + }, + ], + logIndices: { + type: 'index_name', + indexName: 'TEST INDEX', + }, + metricAlias: 'metricbeat-*,metrics-*', + anomalyThreshold: 20, + ...overrideAttributes, + }, + id: 'TEST_ID', + type: infraSourceConfigurationSavedObjectName, + references: initialReferences, +}); diff --git a/x-pack/plugins/infra/server/lib/sources/saved_object_references.ts b/x-pack/plugins/infra/server/lib/sources/saved_object_references.ts index 9ad8c9951d4f3..1e3a3acce8926 100644 --- a/x-pack/plugins/infra/server/lib/sources/saved_object_references.ts +++ b/x-pack/plugins/infra/server/lib/sources/saved_object_references.ts @@ -12,7 +12,9 @@ import { } from '../../../common/source_configuration/source_configuration'; import { SavedObjectReferenceResolutionError } from './errors'; -const logIndexPatternReferenceName = 'log_index_pattern_0'; +export const logIndexPatternReferenceName = 'log_index_pattern_0'; +export const inventoryDefaultViewReferenceName = 'inventory-saved-view-0'; +export const metricsExplorerDefaultViewReferenceName = 'metrics-explorer-saved-view-0'; interface SavedObjectAttributesWithReferences { attributes: SavedObjectAttributes; @@ -91,15 +93,19 @@ const extractLogIndicesSavedObjectReferences = ( } }; -const extractInventorySavedViewReferences = ( +export const extractInventorySavedViewReferences = ( sourceConfiguration: InfraSourceConfiguration ): SavedObjectAttributesWithReferences => { const { inventoryDefaultView } = sourceConfiguration; - if (inventoryDefaultView && inventoryDefaultView !== '0') { + if ( + inventoryDefaultView && + inventoryDefaultView !== '0' && + inventoryDefaultView !== inventoryDefaultViewReferenceName + ) { const inventoryDefaultViewReference: SavedObjectReference = { id: inventoryDefaultView, type: 'inventory-view', - name: 'inventory-saved-view-0', + name: inventoryDefaultViewReferenceName, }; const attributes: InfraSourceConfiguration = { ...sourceConfiguration, @@ -117,15 +123,19 @@ const extractInventorySavedViewReferences = ( } }; -const extractMetricsExplorerSavedViewReferences = ( +export const extractMetricsExplorerSavedViewReferences = ( sourceConfiguration: InfraSourceConfiguration ): SavedObjectAttributesWithReferences => { const { metricsExplorerDefaultView } = sourceConfiguration; - if (metricsExplorerDefaultView && metricsExplorerDefaultView !== '0') { + if ( + metricsExplorerDefaultView && + metricsExplorerDefaultView !== '0' && + metricsExplorerDefaultView !== metricsExplorerDefaultViewReferenceName + ) { const metricsExplorerDefaultViewReference: SavedObjectReference = { id: metricsExplorerDefaultView, type: 'metrics-explorer-view', - name: 'metrics-explorer-saved-view-0', + name: metricsExplorerDefaultViewReferenceName, }; const attributes: InfraSourceConfiguration = { ...sourceConfiguration, @@ -176,12 +186,12 @@ const resolveInventoryViewSavedObjectReferences = ( ): InfraSavedSourceConfiguration => { if (attributes.inventoryDefaultView && attributes.inventoryDefaultView !== '0') { const inventoryViewReference = references.find( - (reference) => reference.name === 'inventory-saved-view-0' + (reference) => reference.name === inventoryDefaultViewReferenceName ); if (inventoryViewReference == null) { throw new SavedObjectReferenceResolutionError( - 'Failed to resolve Inventory default view "inventory-saved-view-0".' + `Failed to resolve Inventory default view "${inventoryDefaultViewReferenceName}".` ); } @@ -200,12 +210,12 @@ const resolveMetricsExplorerSavedObjectReferences = ( ): InfraSavedSourceConfiguration => { if (attributes.metricsExplorerDefaultView && attributes.metricsExplorerDefaultView !== '0') { const metricsExplorerViewReference = references.find( - (reference) => reference.name === 'metrics-explorer-saved-view-0' + (reference) => reference.name === metricsExplorerDefaultViewReferenceName ); if (metricsExplorerViewReference == null) { throw new SavedObjectReferenceResolutionError( - 'Failed to resolve Metrics Explorer default view "metrics-explorer-saved-view-0".' + `Failed to resolve Metrics Explorer default view "${metricsExplorerDefaultViewReferenceName}".` ); } diff --git a/x-pack/plugins/infra/server/lib/sources/saved_object_type.ts b/x-pack/plugins/infra/server/lib/sources/saved_object_type.ts index 135f715d8b604..c150a51d78c9c 100644 --- a/x-pack/plugins/infra/server/lib/sources/saved_object_type.ts +++ b/x-pack/plugins/infra/server/lib/sources/saved_object_type.ts @@ -8,6 +8,9 @@ import { SavedObjectsType } from 'src/core/server'; import { addNewIndexingStrategyIndexNames } from './migrations/7_9_0_add_new_indexing_strategy_index_names'; import { convertLogAliasToLogIndices } from './migrations/7_13_0_convert_log_alias_to_log_indices'; +import { composeMigrations } from './migrations/compose_migrations'; +import { extractInventoryDefaultViewReference } from './migrations/7_16_2_extract_inventory_default_view_reference'; +import { extractMetricsExplorerDefaultViewReference } from './migrations/7_16_2_extract_metrics_explorer_default_view_reference'; export const infraSourceConfigurationSavedObjectName = 'infrastructure-ui-source'; @@ -25,5 +28,9 @@ export const infraSourceConfigurationSavedObjectType: SavedObjectsType = { migrations: { '7.9.0': addNewIndexingStrategyIndexNames, '7.13.0': convertLogAliasToLogIndices, + '7.16.2': composeMigrations( + extractInventoryDefaultViewReference, + extractMetricsExplorerDefaultViewReference + ), }, }; diff --git a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/http_requests.ts b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/http_requests.ts index 67adb15f7cd85..08f3240ea10a5 100644 --- a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/http_requests.ts +++ b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/http_requests.ts @@ -5,52 +5,70 @@ * 2.0. */ -import sinon, { SinonFakeServer } from 'sinon'; - +import { httpServiceMock } from '../../../../../../src/core/public/mocks'; import { API_BASE_PATH } from '../../../common/constants'; +type HttpMethod = 'GET' | 'PUT' | 'DELETE' | 'POST'; +export interface ResponseError { + statusCode: number; + message: string | Error; + attributes?: Record; +} + // Register helpers to mock HTTP Requests -const registerHttpRequestMockHelpers = (server: SinonFakeServer) => { - const setLoadPipelinesResponse = (response?: any[], error?: any) => { - const status = error ? error.status || 400 : 200; - const body = error ? error.body : response; +const registerHttpRequestMockHelpers = ( + httpSetup: ReturnType +) => { + const mockResponses = new Map>>( + ['GET', 'PUT', 'DELETE', 'POST'].map( + (method) => [method, new Map()] as [HttpMethod, Map>] + ) + ); - server.respondWith('GET', API_BASE_PATH, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; + const mockMethodImplementation = (method: HttpMethod, path: string) => + mockResponses.get(method)?.get(path) ?? Promise.resolve({}); - const setLoadPipelineResponse = (response?: {}, error?: any) => { - const status = error ? error.status || 400 : 200; - const body = error ? error.body : response; + httpSetup.get.mockImplementation((path) => + mockMethodImplementation('GET', path as unknown as string) + ); + httpSetup.delete.mockImplementation((path) => + mockMethodImplementation('DELETE', path as unknown as string) + ); + httpSetup.post.mockImplementation((path) => + mockMethodImplementation('POST', path as unknown as string) + ); + httpSetup.put.mockImplementation((path) => + mockMethodImplementation('PUT', path as unknown as string) + ); - server.respondWith('GET', `${API_BASE_PATH}/:name`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; + const mockResponse = (method: HttpMethod, path: string, response?: unknown, error?: unknown) => { + const defuse = (promise: Promise) => { + promise.catch(() => {}); + return promise; + }; - const setDeletePipelineResponse = (response?: object) => { - server.respondWith('DELETE', `${API_BASE_PATH}/:name`, [ - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify(response), - ]); + return mockResponses + .get(method)! + .set(path, error ? defuse(Promise.reject({ body: error })) : Promise.resolve(response)); }; - const setCreatePipelineResponse = (response?: object, error?: any) => { - const status = error ? error.status || 400 : 200; - const body = error ? JSON.stringify(error.body) : JSON.stringify(response); + const setLoadPipelinesResponse = (response?: object[], error?: ResponseError) => + mockResponse('GET', API_BASE_PATH, response, error); - server.respondWith('POST', API_BASE_PATH, [ - status, - { 'Content-Type': 'application/json' }, - body, - ]); - }; + const setLoadPipelineResponse = ( + pipelineName: string, + response?: object, + error?: ResponseError + ) => mockResponse('GET', `${API_BASE_PATH}/${pipelineName}`, response, error); + + const setDeletePipelineResponse = ( + pipelineName: string, + response?: object, + error?: ResponseError + ) => mockResponse('DELETE', `${API_BASE_PATH}/${pipelineName}`, response, error); + + const setCreatePipelineResponse = (response?: object, error?: ResponseError) => + mockResponse('POST', API_BASE_PATH, response, error); return { setLoadPipelinesResponse, @@ -61,18 +79,11 @@ const registerHttpRequestMockHelpers = (server: SinonFakeServer) => { }; export const init = () => { - const server = sinon.fakeServer.create(); - server.respondImmediately = true; - - // Define default response for unhandled requests. - // We make requests to APIs which don't impact the component under test, e.g. UI metric telemetry, - // and we can mock them all with a 200 instead of mocking each one individually. - server.respondWith([200, {}, 'DefaultMockedResponse']); - - const httpRequestsMockHelpers = registerHttpRequestMockHelpers(server); + const httpSetup = httpServiceMock.createSetupContract(); + const httpRequestsMockHelpers = registerHttpRequestMockHelpers(httpSetup); return { - server, + httpSetup, httpRequestsMockHelpers, }; }; diff --git a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipelines_clone.helpers.ts b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipelines_clone.helpers.ts index 51f6d9bd96bd6..079124ed612b6 100644 --- a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipelines_clone.helpers.ts +++ b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipelines_clone.helpers.ts @@ -6,6 +6,7 @@ */ import { registerTestBed, AsyncTestBedConfig, TestBed } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { PipelinesClone } from '../../../public/application/sections/pipelines_clone'; import { getFormActions, PipelineFormTestSubjects } from './pipeline_form.helpers'; import { WithAppDependencies } from './setup_environment'; @@ -36,9 +37,11 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed(WithAppDependencies(PipelinesClone), testBedConfig); - -export const setup = async (): Promise => { +export const setup = async (httpSetup: HttpSetup): Promise => { + const initTestBed = registerTestBed( + WithAppDependencies(PipelinesClone, httpSetup), + testBedConfig + ); const testBed = await initTestBed(); return { diff --git a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipelines_create.helpers.ts b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipelines_create.helpers.ts index faf1b42042ec1..22cd589ec1800 100644 --- a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipelines_create.helpers.ts +++ b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipelines_create.helpers.ts @@ -6,6 +6,7 @@ */ import { registerTestBed, AsyncTestBedConfig, TestBed } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { PipelinesCreate } from '../../../public/application/sections/pipelines_create'; import { getFormActions, PipelineFormTestSubjects } from './pipeline_form.helpers'; import { WithAppDependencies } from './setup_environment'; @@ -23,9 +24,11 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed(WithAppDependencies(PipelinesCreate), testBedConfig); - -export const setup = async (): Promise => { +export const setup = async (httpSetup: HttpSetup): Promise => { + const initTestBed = registerTestBed( + WithAppDependencies(PipelinesCreate, httpSetup), + testBedConfig + ); const testBed = await initTestBed(); return { diff --git a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipelines_edit.helpers.ts b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipelines_edit.helpers.ts index 9a3c41196653f..ab64656a4cfb2 100644 --- a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipelines_edit.helpers.ts +++ b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipelines_edit.helpers.ts @@ -6,6 +6,7 @@ */ import { registerTestBed, AsyncTestBedConfig, TestBed } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { PipelinesEdit } from '../../../public/application/sections/pipelines_edit'; import { getFormActions, PipelineFormTestSubjects } from './pipeline_form.helpers'; import { WithAppDependencies } from './setup_environment'; @@ -36,9 +37,8 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed(WithAppDependencies(PipelinesEdit), testBedConfig); - -export const setup = async (): Promise => { +export const setup = async (httpSetup: HttpSetup): Promise => { + const initTestBed = registerTestBed(WithAppDependencies(PipelinesEdit, httpSetup), testBedConfig); const testBed = await initTestBed(); return { diff --git a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipelines_list.helpers.ts b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipelines_list.helpers.ts index 3cd768104203a..2acead6f6a51e 100644 --- a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipelines_list.helpers.ts +++ b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/pipelines_list.helpers.ts @@ -6,6 +6,7 @@ */ import { act } from 'react-dom/test-utils'; +import { HttpSetup } from 'src/core/public'; import { registerTestBed, TestBed, AsyncTestBedConfig, findTestSubject } from '@kbn/test/jest'; import { PipelinesList } from '../../../public/application/sections/pipelines_list'; @@ -20,8 +21,6 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed(WithAppDependencies(PipelinesList), testBedConfig); - export type PipelineListTestBed = TestBed & { actions: ReturnType; }; @@ -84,7 +83,8 @@ const createActions = (testBed: TestBed) => { }; }; -export const setup = async (): Promise => { +export const setup = async (httpSetup: HttpSetup): Promise => { + const initTestBed = registerTestBed(WithAppDependencies(PipelinesList, httpSetup), testBedConfig); const testBed = await initTestBed(); return { diff --git a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/setup_environment.tsx b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/setup_environment.tsx index 7ba5e44cddf61..fc9cf3f458c95 100644 --- a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/setup_environment.tsx +++ b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/helpers/setup_environment.tsx @@ -6,8 +6,6 @@ */ import React from 'react'; -import axios from 'axios'; -import axiosXhrAdapter from 'axios/lib/adapters/xhr'; import { LocationDescriptorObject } from 'history'; import { HttpSetup } from 'kibana/public'; @@ -29,8 +27,6 @@ import { import { init as initHttpRequests } from './http_requests'; -const mockHttpClient = axios.create({ adapter: axiosXhrAdapter }); - const history = scopedHistoryMock.create(); history.createHref.mockImplementation((location: LocationDescriptorObject) => { return `${location.pathname}?${location.search}`; @@ -51,22 +47,19 @@ const appServices = { }; export const setupEnvironment = () => { - uiMetricService.setup(usageCollectionPluginMock.createSetupContract()); - apiService.setup(mockHttpClient as unknown as HttpSetup, uiMetricService); documentationService.setup(docLinksServiceMock.createStartContract()); breadcrumbService.setup(() => {}); - const { server, httpRequestsMockHelpers } = initHttpRequests(); - - return { - server, - httpRequestsMockHelpers, - }; + return initHttpRequests(); }; -export const WithAppDependencies = (Comp: any) => (props: any) => - ( +export const WithAppDependencies = (Comp: any, httpSetup: HttpSetup) => (props: any) => { + uiMetricService.setup(usageCollectionPluginMock.createSetupContract()); + apiService.setup(httpSetup, uiMetricService); + + return ( ); +}; diff --git a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_clone.test.tsx b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_clone.test.tsx index 556cea9eb5f80..8d7ed011b60cd 100644 --- a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_clone.test.tsx +++ b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_clone.test.tsx @@ -9,6 +9,7 @@ import React from 'react'; import { act } from 'react-dom/test-utils'; import { setupEnvironment, pageHelpers } from './helpers'; +import { API_BASE_PATH } from '../../common/constants'; import { PIPELINE_TO_CLONE, PipelinesCloneTestBed } from './helpers/pipelines_clone.helpers'; const { setup } = pageHelpers.pipelinesClone; @@ -33,17 +34,13 @@ jest.mock('@elastic/eui', () => { describe('', () => { let testBed: PipelinesCloneTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); - - afterAll(() => { - server.restore(); - }); - - httpRequestsMockHelpers.setLoadPipelineResponse(PIPELINE_TO_CLONE); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); beforeEach(async () => { + httpRequestsMockHelpers.setLoadPipelineResponse(PIPELINE_TO_CLONE.name, PIPELINE_TO_CLONE); + await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -67,14 +64,15 @@ describe('', () => { await actions.clickSubmitButton(); - const latestRequest = server.requests[server.requests.length - 1]; - - const expected = { - ...PIPELINE_TO_CLONE, - name: `${PIPELINE_TO_CLONE.name}-copy`, - }; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual(expected); + expect(httpSetup.post).toHaveBeenLastCalledWith( + API_BASE_PATH, + expect.objectContaining({ + body: JSON.stringify({ + ...PIPELINE_TO_CLONE, + name: `${PIPELINE_TO_CLONE.name}-copy`, + }), + }) + ); }); }); }); diff --git a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_create.test.tsx b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_create.test.tsx index bb1d3f2503f9b..c73a703bf0385 100644 --- a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_create.test.tsx +++ b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_create.test.tsx @@ -9,6 +9,7 @@ import React from 'react'; import { act } from 'react-dom/test-utils'; import { setupEnvironment, pageHelpers } from './helpers'; +import { API_BASE_PATH } from '../../common/constants'; import { PipelinesCreateTestBed } from './helpers/pipelines_create.helpers'; import { nestedProcessorsErrorFixture } from './fixtures'; @@ -35,16 +36,12 @@ jest.mock('@elastic/eui', () => { describe('', () => { let testBed: PipelinesCreateTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); - - afterAll(() => { - server.restore(); - }); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); describe('on component mount', () => { beforeEach(async () => { await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -106,7 +103,7 @@ describe('', () => { describe('form submission', () => { beforeEach(async () => { await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -129,27 +126,28 @@ describe('', () => { await actions.clickSubmitButton(); - const latestRequest = server.requests[server.requests.length - 1]; - - const expected = { - name: 'my_pipeline', - description: 'pipeline description', - processors: [], - }; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual(expected); + expect(httpSetup.post).toHaveBeenLastCalledWith( + API_BASE_PATH, + expect.objectContaining({ + body: JSON.stringify({ + name: 'my_pipeline', + description: 'pipeline description', + processors: [], + }), + }) + ); }); test('should surface API errors from the request', async () => { const { actions, find, exists } = testBed; const error = { - status: 409, + statusCode: 409, error: 'Conflict', message: `There is already a pipeline with name 'my_pipeline'.`, }; - httpRequestsMockHelpers.setCreatePipelineResponse(undefined, { body: error }); + httpRequestsMockHelpers.setCreatePipelineResponse(undefined, error); await actions.clickSubmitButton(); @@ -160,7 +158,9 @@ describe('', () => { test('displays nested pipeline errors as a flat list', async () => { const { actions, find, exists, component } = testBed; httpRequestsMockHelpers.setCreatePipelineResponse(undefined, { - body: nestedProcessorsErrorFixture, + statusCode: 409, + message: 'Error', + ...nestedProcessorsErrorFixture, }); await actions.clickSubmitButton(); diff --git a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_edit.test.tsx b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_edit.test.tsx index 8b44727b4a985..04ea1e5928a19 100644 --- a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_edit.test.tsx +++ b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_edit.test.tsx @@ -9,6 +9,7 @@ import React from 'react'; import { act } from 'react-dom/test-utils'; import { setupEnvironment, pageHelpers } from './helpers'; +import { API_BASE_PATH } from '../../common/constants'; import { PIPELINE_TO_EDIT, PipelinesEditTestBed } from './helpers/pipelines_edit.helpers'; const { setup } = pageHelpers.pipelinesEdit; @@ -33,17 +34,13 @@ jest.mock('@elastic/eui', () => { describe('', () => { let testBed: PipelinesEditTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); - - afterAll(() => { - server.restore(); - }); - - httpRequestsMockHelpers.setLoadPipelineResponse(PIPELINE_TO_EDIT); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); beforeEach(async () => { + httpRequestsMockHelpers.setLoadPipelineResponse(PIPELINE_TO_EDIT.name, PIPELINE_TO_EDIT); + await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -78,16 +75,16 @@ describe('', () => { await actions.clickSubmitButton(); - const latestRequest = server.requests[server.requests.length - 1]; - const { name, ...pipelineDefinition } = PIPELINE_TO_EDIT; - - const expected = { - ...pipelineDefinition, - description: UPDATED_DESCRIPTION, - }; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual(expected); + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/${name}`, + expect.objectContaining({ + body: JSON.stringify({ + ...pipelineDefinition, + description: UPDATED_DESCRIPTION, + }), + }) + ); }); }); }); diff --git a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_list.test.ts b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_list.test.ts index 19a2abb5a5a52..97c6142811760 100644 --- a/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_list.test.ts +++ b/x-pack/plugins/ingest_pipelines/__jest__/client_integration/ingest_pipelines_list.test.ts @@ -15,17 +15,13 @@ import { PipelineListTestBed } from './helpers/pipelines_list.helpers'; const { setup } = pageHelpers.pipelinesList; describe('', () => { - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); let testBed: PipelineListTestBed; - afterAll(() => { - server.restore(); - }); - describe('With pipelines', () => { beforeEach(async () => { await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -72,12 +68,10 @@ describe('', () => { test('should reload the pipeline data', async () => { const { actions } = testBed; - const totalRequests = server.requests.length; await actions.clickReloadButton(); - expect(server.requests.length).toBe(totalRequests + 1); - expect(server.requests[server.requests.length - 1].url).toBe(API_BASE_PATH); + expect(httpSetup.get).toHaveBeenLastCalledWith(API_BASE_PATH, expect.anything()); }); test('should show the details of a pipeline', async () => { @@ -94,7 +88,7 @@ describe('', () => { const { actions, component } = testBed; const { name: pipelineName } = pipeline1; - httpRequestsMockHelpers.setDeletePipelineResponse({ + httpRequestsMockHelpers.setDeletePipelineResponse(pipelineName, { itemsDeleted: [pipelineName], errors: [], }); @@ -117,11 +111,10 @@ describe('', () => { component.update(); - const deleteRequest = server.requests[server.requests.length - 2]; - - expect(deleteRequest.method).toBe('DELETE'); - expect(deleteRequest.url).toBe(`${API_BASE_PATH}/${pipelineName}`); - expect(deleteRequest.status).toEqual(200); + expect(httpSetup.delete).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/${pipelineName}`, + expect.anything() + ); }); }); @@ -130,7 +123,7 @@ describe('', () => { httpRequestsMockHelpers.setLoadPipelinesResponse([]); await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); const { exists, component, find } = testBed; component.update(); @@ -144,15 +137,15 @@ describe('', () => { describe('Error handling', () => { beforeEach(async () => { const error = { - status: 500, + statusCode: 500, error: 'Internal server error', message: 'Internal server error', }; - httpRequestsMockHelpers.setLoadPipelinesResponse(undefined, { body: error }); + httpRequestsMockHelpers.setLoadPipelinesResponse(undefined, error); await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/http_requests.helpers.ts b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/http_requests.helpers.ts index 4bea242fb8656..516e104b37b3f 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/http_requests.helpers.ts +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/http_requests.helpers.ts @@ -5,34 +5,58 @@ * 2.0. */ -import sinon, { SinonFakeServer } from 'sinon'; +import { httpServiceMock } from '../../../../../../../../src/core/public/mocks'; +import { API_BASE_PATH } from '../../../../../common/constants'; type HttpResponse = Record | any[]; +type HttpMethod = 'GET' | 'POST'; +export interface ResponseError { + statusCode: number; + message: string | Error; + attributes?: Record; +} // Register helpers to mock HTTP Requests -const registerHttpRequestMockHelpers = (server: SinonFakeServer) => { - const setSimulatePipelineResponse = (response?: HttpResponse, error?: any) => { - const status = error ? error.status || 400 : 200; - const body = error ? JSON.stringify(error.body) : JSON.stringify(response); - - server.respondWith('POST', '/api/ingest_pipelines/simulate', [ - status, - { 'Content-Type': 'application/json' }, - body, - ]); - }; +const registerHttpRequestMockHelpers = ( + httpSetup: ReturnType +) => { + const mockResponses = new Map>>( + ['GET', 'POST'].map( + (method) => [method, new Map()] as [HttpMethod, Map>] + ) + ); + + const mockMethodImplementation = (method: HttpMethod, path: string) => + mockResponses.get(method)?.get(path) ?? Promise.resolve({}); - const setFetchDocumentsResponse = (response?: HttpResponse, error?: any) => { - const status = error ? error.status || 400 : 200; - const body = error ? JSON.stringify(error.body) : JSON.stringify(response); + httpSetup.get.mockImplementation((path) => + mockMethodImplementation('GET', path as unknown as string) + ); + httpSetup.post.mockImplementation((path) => + mockMethodImplementation('POST', path as unknown as string) + ); - server.respondWith('GET', '/api/ingest_pipelines/documents/:index/:id', [ - status, - { 'Content-Type': 'application/json' }, - body, - ]); + const mockResponse = (method: HttpMethod, path: string, response?: unknown, error?: unknown) => { + const defuse = (promise: Promise) => { + promise.catch(() => {}); + return promise; + }; + + return mockResponses + .get(method)! + .set(path, error ? defuse(Promise.reject({ body: error })) : Promise.resolve(response)); }; + const setSimulatePipelineResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('POST', `${API_BASE_PATH}/simulate`, response, error); + + const setFetchDocumentsResponse = ( + index: string, + documentId: string, + response?: HttpResponse, + error?: ResponseError + ) => mockResponse('GET', `${API_BASE_PATH}/documents/${index}/${documentId}`, response, error); + return { setSimulatePipelineResponse, setFetchDocumentsResponse, @@ -40,19 +64,11 @@ const registerHttpRequestMockHelpers = (server: SinonFakeServer) => { }; export const initHttpRequests = () => { - const server = sinon.fakeServer.create(); - - server.respondImmediately = true; - - // Define default response for unhandled requests. - // We make requests to APIs which don't impact the component under test, e.g. UI metric telemetry, - // and we can mock them all with a 200 instead of mocking each one individually. - server.respondWith([200, {}, 'DefaultSinonMockServerResponse']); - - const httpRequestsMockHelpers = registerHttpRequestMockHelpers(server); + const httpSetup = httpServiceMock.createSetupContract(); + const httpRequestsMockHelpers = registerHttpRequestMockHelpers(httpSetup); return { - server, + httpSetup, httpRequestsMockHelpers, }; }; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/pipeline_processors_editor.helpers.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/pipeline_processors_editor.helpers.tsx index 79ffd28c9e788..dec8c86256348 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/pipeline_processors_editor.helpers.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/pipeline_processors_editor.helpers.tsx @@ -178,7 +178,7 @@ const createActions = (testBed: TestBed) => { }; export const setup = async (props: Props): Promise => { - const testBed = await testBedSetup(props); + const testBed = testBedSetup(props); return { ...testBed, actions: createActions(testBed), diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/processors/processor.helpers.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/processors/processor.helpers.tsx index 65d9b8f306058..56b58a7a182d0 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/processors/processor.helpers.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/processors/processor.helpers.tsx @@ -104,7 +104,7 @@ const createActions = (testBed: TestBed) => { }; export const setup = async (props: Props): Promise => { - const testBed = await testBedSetup(props); + const testBed = testBedSetup(props); return { ...testBed, actions: createActions(testBed), @@ -119,10 +119,9 @@ export const setupEnvironment = () => { // @ts-ignore apiService.setup(mockHttpClient, uiMetricService); - const { server, httpRequestsMockHelpers } = initHttpRequests(); + const { httpRequestsMockHelpers } = initHttpRequests(); return { - server, httpRequestsMockHelpers, }; }; diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/test_pipeline.helpers.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/test_pipeline.helpers.tsx index 263a40a605d2d..19f0cde5898f0 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/test_pipeline.helpers.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/test_pipeline.helpers.tsx @@ -7,11 +7,10 @@ import { act } from 'react-dom/test-utils'; import React from 'react'; -import axios from 'axios'; -import axiosXhrAdapter from 'axios/lib/adapters/xhr'; /* eslint-disable-next-line @kbn/eslint/no-restricted-paths */ import { usageCollectionPluginMock } from 'src/plugins/usage_collection/public/mocks'; +import { HttpSetup } from 'src/core/public'; import { registerTestBed, TestBed } from '@kbn/test/jest'; import { stubWebWorker } from '@kbn/test/jest'; @@ -62,6 +61,7 @@ const testBedSetup = registerTestBed( ); export interface SetupResult extends TestBed { + httpSetup: HttpSetup; actions: ReturnType; } @@ -189,30 +189,23 @@ const createActions = (testBed: TestBed) => { }; }; -export const setup = async (props: Props): Promise => { - const testBed = await testBedSetup(props); - return { - ...testBed, - actions: createActions(testBed), - }; -}; - -const mockHttpClient = axios.create({ adapter: axiosXhrAdapter }); - -export const setupEnvironment = () => { +export const setup = async (httpSetup: HttpSetup, props: Props): Promise => { // Initialize mock services uiMetricService.setup(usageCollectionPluginMock.createSetupContract()); // @ts-ignore - apiService.setup(mockHttpClient, uiMetricService); + apiService.setup(httpSetup, uiMetricService); - const { server, httpRequestsMockHelpers } = initHttpRequests(); + const testBed = testBedSetup(props); return { - server, - httpRequestsMockHelpers, + ...testBed, + httpSetup, + actions: createActions(testBed), }; }; +export const setupEnvironment = initHttpRequests; + type TestSubject = | 'addDocumentsButton' | 'testPipelineFlyout' diff --git a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/test_pipeline.test.tsx b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/test_pipeline.test.tsx index 607978512e203..6feb3464fae91 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/test_pipeline.test.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/components/pipeline_editor/__jest__/test_pipeline.test.tsx @@ -6,6 +6,7 @@ */ import { Pipeline } from '../../../../../common/types'; +import { API_BASE_PATH } from '../../../../../common/constants'; import { VerboseTestOutput, Document } from '../types'; import { setup, SetupResult, setupEnvironment } from './test_pipeline.helpers'; @@ -21,7 +22,7 @@ describe('Test pipeline', () => { let onUpdate: jest.Mock; let testBed: SetupResult; - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); // This is a hack // We need to provide the processor id in the mocked output; @@ -49,13 +50,12 @@ describe('Test pipeline', () => { }); afterAll(() => { - server.restore(); jest.useRealTimers(); }); beforeEach(async () => { onUpdate = jest.fn(); - testBed = await setup({ + testBed = await setup(httpSetup, { value: { ...PROCESSORS, }, @@ -87,8 +87,9 @@ describe('Test pipeline', () => { await actions.clickRunPipelineButton(); // Verify request - const latestRequest = server.requests[server.requests.length - 1]; - const requestBody: ReqBody = JSON.parse(JSON.parse(latestRequest.requestBody).body); + const latestRequest: any = httpSetup.post.mock.calls.pop() || []; + const requestBody: ReqBody = JSON.parse(latestRequest[1]?.body); + const { documents: reqDocuments, verbose: reqVerbose, @@ -114,23 +115,26 @@ describe('Test pipeline', () => { expect(exists('outputTabContent')).toBe(true); // Click reload button and verify request - const totalRequests = server.requests.length; await actions.clickRefreshOutputButton(); // There will be two requests made to the simulate API // the second request will have verbose enabled to update the processor results - expect(server.requests.length).toBe(totalRequests + 2); - expect(server.requests[server.requests.length - 2].url).toBe( - '/api/ingest_pipelines/simulate' + expect(httpSetup.post).toHaveBeenNthCalledWith( + 1, + `${API_BASE_PATH}/simulate`, + expect.anything() ); - expect(server.requests[server.requests.length - 1].url).toBe( - '/api/ingest_pipelines/simulate' + expect(httpSetup.post).toHaveBeenNthCalledWith( + 2, + `${API_BASE_PATH}/simulate`, + expect.anything() ); // Click verbose toggle and verify request await actions.toggleVerboseSwitch(); - expect(server.requests.length).toBe(totalRequests + 3); - expect(server.requests[server.requests.length - 1].url).toBe( - '/api/ingest_pipelines/simulate' + // There will be one request made to the simulate API + expect(httpSetup.post).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/simulate`, + expect.anything() ); }); @@ -163,12 +167,12 @@ describe('Test pipeline', () => { const { actions, find, exists } = testBed; const error = { - status: 500, + statusCode: 500, error: 'Internal server error', message: 'Internal server error', }; - httpRequestsMockHelpers.setSimulatePipelineResponse(undefined, { body: error }); + httpRequestsMockHelpers.setSimulatePipelineResponse(undefined, error); // Open flyout actions.clickAddDocumentsButton(); @@ -201,7 +205,7 @@ describe('Test pipeline', () => { const { _index: index, _id: documentId } = DOCUMENTS[0]; - httpRequestsMockHelpers.setFetchDocumentsResponse(DOCUMENTS[0]); + httpRequestsMockHelpers.setFetchDocumentsResponse(index, documentId, DOCUMENTS[0]); // Open flyout actions.clickAddDocumentsButton(); @@ -220,9 +224,10 @@ describe('Test pipeline', () => { await actions.clickAddDocumentButton(); // Verify request - const latestRequest = server.requests[server.requests.length - 1]; - expect(latestRequest.status).toEqual(200); - expect(latestRequest.url).toEqual(`/api/ingest_pipelines/documents/${index}/${documentId}`); + expect(httpSetup.get).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/documents/${index}/${documentId}`, + expect.anything() + ); // Verify success callout expect(exists('addDocumentSuccess')).toBe(true); }); @@ -236,12 +241,17 @@ describe('Test pipeline', () => { }; const error = { - status: 404, + statusCode: 404, error: 'Not found', message: '[index_not_found_exception] no such index', }; - httpRequestsMockHelpers.setFetchDocumentsResponse(undefined, { body: error }); + httpRequestsMockHelpers.setFetchDocumentsResponse( + nonExistentDoc.index, + nonExistentDoc.id, + undefined, + error + ); // Open flyout actions.clickAddDocumentsButton(); diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.scss b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.scss index b9f233d2b2950..37a4a88c32f22 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.scss +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.scss @@ -1,10 +1,6 @@ @import '../../mixins'; @import '../../variables'; -.lnsSuggestionPanel__title { - margin-left: $euiSizeXS / 2; -} - .lnsSuggestionPanel__suggestions { @include euiScrollBar; @include lnsOverflowShadowHorizontal; @@ -16,7 +12,10 @@ // Padding / negative margins to make room for overflow shadow padding-left: $euiSizeXS; margin-left: -$euiSizeXS; - padding-bottom: $euiSizeXS; +} + +.lnsSuggestionPanel { + padding-bottom: $euiSizeS; } .lnsSuggestionPanel__button { diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.test.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.test.tsx index 26e0be3555714..47070822a8080 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.test.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.test.tsx @@ -18,7 +18,7 @@ import { act } from 'react-dom/test-utils'; import { ReactExpressionRendererType } from '../../../../../../src/plugins/expressions/public'; import { SuggestionPanel, SuggestionPanelProps, SuggestionPanelWrapper } from './suggestion_panel'; import { getSuggestions, Suggestion } from './suggestion_helpers'; -import { EuiIcon, EuiPanel, EuiToolTip } from '@elastic/eui'; +import { EuiIcon, EuiPanel, EuiToolTip, EuiAccordion } from '@elastic/eui'; import { LensIconChartDatatable } from '../../assets/chart_datatable'; import { mountWithProvider } from '../../mocks'; import { LensAppState, PreviewState, setState, setToggleFullscreen } from '../../state_management'; @@ -264,8 +264,10 @@ describe('suggestion_panel', () => { preloadedState, }); - expect(instance.find(EuiIcon)).toHaveLength(1); - expect(instance.find(EuiIcon).prop('type')).toEqual(LensIconChartDatatable); + expect(instance.find('[data-test-subj="lnsSuggestionsPanel"]').find(EuiIcon)).toHaveLength(1); + expect( + instance.find('[data-test-subj="lnsSuggestionsPanel"]').find(EuiIcon).prop('type') + ).toEqual(LensIconChartDatatable); }); it('should return no suggestion if visualization has missing index-patterns', async () => { @@ -292,6 +294,16 @@ describe('suggestion_panel', () => { expect(instance.html()).toEqual(null); }); + it('should hide the selections when the accordion is hidden', async () => { + const { instance } = await mountWithProvider(); + expect(instance.find(EuiAccordion)).toHaveLength(1); + act(() => { + instance.find(EuiAccordion).at(0).simulate('change'); + }); + + expect(instance.find('[data-test-subj="lnsSuggestionsPanel"]')).toEqual({}); + }); + it('should render preview expression if there is one', () => { mockDatasource.getLayers.mockReturnValue(['first']); (getSuggestions as jest.Mock).mockReturnValue([ diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.tsx index 5e5e19ea29e84..2f5ca01774ba1 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/suggestion_panel.tsx @@ -8,17 +8,17 @@ import './suggestion_panel.scss'; import { camelCase, pick } from 'lodash'; -import React, { useState, useEffect, useMemo, useRef } from 'react'; +import React, { useState, useEffect, useMemo, useRef, useCallback } from 'react'; import { FormattedMessage } from '@kbn/i18n/react'; +import useLocalStorage from 'react-use/lib/useLocalStorage'; import { EuiIcon, EuiTitle, EuiPanel, EuiIconTip, EuiToolTip, - EuiFlexGroup, - EuiFlexItem, EuiButtonEmpty, + EuiAccordion, } from '@elastic/eui'; import { IconType } from '@elastic/eui/src/components/icon/icon'; import { Ast, toExpression } from '@kbn/interpreter/common'; @@ -58,6 +58,7 @@ import { } from '../../state_management'; const MAX_SUGGESTIONS_DISPLAYED = 5; +const LOCAL_STORAGE_SUGGESTIONS_PANEL = 'LENS_SUGGESTIONS_PANEL_HIDDEN'; export interface SuggestionPanelProps { datasourceMap: DatasourceMap; @@ -189,6 +190,15 @@ export function SuggestionPanel({ const existsStagedPreview = useLensSelector((state) => Boolean(state.lens.stagedPreview)); const currentVisualization = useLensSelector(selectCurrentVisualization); const currentDatasourceStates = useLensSelector(selectCurrentDatasourceStates); + // get user's selection from localStorage, this key defines if the suggestions panel will be hidden or not + const [hideSuggestions, setHideSuggestions] = useLocalStorage( + LOCAL_STORAGE_SUGGESTIONS_PANEL, + false + ); + + const toggleSuggestions = useCallback(() => { + setHideSuggestions(!hideSuggestions); + }, [setHideSuggestions, hideSuggestions]); const missingIndexPatterns = getMissingIndexPattern( activeDatasourceId ? datasourceMap[activeDatasourceId] : null, @@ -322,9 +332,10 @@ export function SuggestionPanel({ return (
    - - - +

    -
    - {existsStagedPreview && ( - + } + forceState={hideSuggestions ? 'closed' : 'open'} + onToggle={toggleSuggestions} + extraAction={ + existsStagedPreview && + !hideSuggestions && ( - - )} -
    - -
    - {currentVisualization.activeId && ( - - )} - {suggestions.map((suggestion, index) => { - return ( + ) + } + > +
    + {currentVisualization.activeId && !hideSuggestions && ( { - trackUiEvent('suggestion_clicked'); - if (lastSelectedSuggestion === index) { - rollbackToCurrentVisualization(); - } else { - setLastSelectedSuggestion(index); - switchToSuggestion(dispatchLens, suggestion); - } - }} - selected={index === lastSelectedSuggestion} + onSelect={rollbackToCurrentVisualization} + selected={lastSelectedSuggestion === -1} + showTitleAsLabel /> - ); - })} -
    + )} + {!hideSuggestions && + suggestions.map((suggestion, index) => { + return ( + { + trackUiEvent('suggestion_clicked'); + if (lastSelectedSuggestion === index) { + rollbackToCurrentVisualization(); + } else { + setLastSelectedSuggestion(index); + switchToSuggestion(dispatchLens, suggestion); + } + }} + selected={index === lastSelectedSuggestion} + /> + ); + })} +
    +
    ); } diff --git a/x-pack/plugins/lens/public/embeddable/embeddable.tsx b/x-pack/plugins/lens/public/embeddable/embeddable.tsx index ba7d82ce0df2e..789b45a96e6fc 100644 --- a/x-pack/plugins/lens/public/embeddable/embeddable.tsx +++ b/x-pack/plugins/lens/public/embeddable/embeddable.tsx @@ -546,16 +546,14 @@ export class Embeddable }; public getInputAsRefType = async (): Promise => { - const input = this.deps.attributeService.getExplicitInputFromEmbeddable(this); - return this.deps.attributeService.getInputAsRefType(input, { + return this.deps.attributeService.getInputAsRefType(this.getExplicitInput(), { showSaveModal: true, saveModalTitle: this.getTitle(), }); }; public getInputAsValueType = async (): Promise => { - const input = this.deps.attributeService.getExplicitInputFromEmbeddable(this); - return this.deps.attributeService.getInputAsValueType(input); + return this.deps.attributeService.getInputAsValueType(this.getExplicitInput()); }; // same API as Visualize diff --git a/x-pack/plugins/lens/public/heatmap_visualization/chart_component.tsx b/x-pack/plugins/lens/public/heatmap_visualization/chart_component.tsx index 677cb9d20c25b..0894f930e8cc1 100644 --- a/x-pack/plugins/lens/public/heatmap_visualization/chart_component.tsx +++ b/x-pack/plugins/lens/public/heatmap_visualization/chart_component.tsx @@ -16,6 +16,8 @@ import { HeatmapSpec, ScaleType, Settings, + ESFixedIntervalUnit, + ESCalendarIntervalUnit, } from '@elastic/charts'; import type { CustomPaletteState } from 'src/plugins/charts/public'; import { VisualizationContainer } from '../visualization_container'; @@ -30,6 +32,7 @@ import { } from '../shared_components'; import { LensIconChartHeatmap } from '../assets/chart_heatmap'; import { DEFAULT_PALETTE_NAME } from './constants'; +import { search } from '../../../../../src/plugins/data/public'; declare global { interface Window { @@ -162,8 +165,30 @@ export const HeatmapComponent: FC = ({ // Fallback to the ordinal scale type when a single row of data is provided. // Related issue https://github.com/elastic/elastic-charts/issues/1184 - const xScaleType = - isTimeBasedSwimLane && chartData.length > 1 ? ScaleType.Time : ScaleType.Ordinal; + + let xScale: HeatmapSpec['xScale'] = { type: ScaleType.Ordinal }; + if (isTimeBasedSwimLane && chartData.length > 1) { + const dateInterval = + search.aggs.getDateHistogramMetaDataByDatatableColumn(xAxisColumn)?.interval; + const esInterval = dateInterval ? search.aggs.parseEsInterval(dateInterval) : undefined; + if (esInterval) { + xScale = { + type: ScaleType.Time, + interval: + esInterval.type === 'fixed' + ? { + type: 'fixed', + unit: esInterval.unit as ESFixedIntervalUnit, + value: esInterval.value, + } + : { + type: 'calendar', + unit: esInterval.unit as ESCalendarIntervalUnit, + value: esInterval.value, + }, + }; + } + } const xValuesFormatter = formatFactory(xAxisMeta.params); const valueFormatter = formatFactory(valueColumn.meta.params); @@ -338,6 +363,10 @@ export const HeatmapComponent: FC = ({ labelOptions: { maxLines: args.legend.shouldTruncate ? args.legend?.maxLines ?? 1 : 0 }, }, }} + xDomain={{ + min: data.dateRange?.fromDate.getTime() ?? NaN, + max: data.dateRange?.toDate.getTime() ?? NaN, + }} onBrushEnd={onBrushEnd as BrushEndListener} /> = ({ yAccessor={args.yAccessor || 'unifiedY'} valueAccessor={args.valueAccessor} valueFormatter={(v: number) => valueFormatter.convert(v)} - xScaleType={xScaleType} + xScale={xScale} ySortPredicate="dataIndex" config={config} xSortPredicate="dataIndex" diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.test.tsx index 9315b61adcc54..5df02482a2745 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.test.tsx @@ -1952,6 +1952,64 @@ describe('IndexPattern Data Source suggestions', () => { suggestions.forEach((suggestion) => expect(suggestion.table.columns.length).toBe(1)); }); + it("should not propose an over time suggestion if there's a top values aggregation with an high size", () => { + const initialState = testInitialState(); + (initialState.layers.first.columns.col1 as { params: { size: number } }).params!.size = 6; + const suggestions = getDatasourceSuggestionsFromCurrentState({ + ...initialState, + indexPatterns: { 1: { ...initialState.indexPatterns['1'], timeFieldName: undefined } }, + }); + suggestions.forEach((suggestion) => expect(suggestion.table.columns.length).toBe(1)); + }); + + it('should not propose an over time suggestion if there are multiple bucket dimensions', () => { + const initialState = testInitialState(); + const state: IndexPatternPrivateState = { + ...initialState, + layers: { + first: { + indexPatternId: '1', + columnOrder: ['col1', 'col2', 'col3'], + columns: { + ...initialState.layers.first.columns, + col2: { + label: 'My Op', + customLabel: true, + dataType: 'number', + isBucketed: false, + operationType: 'average', + sourceField: 'bytes', + scale: 'ratio', + }, + col3: { + label: 'My Op', + customLabel: true, + dataType: 'string', + isBucketed: true, + + // Private + operationType: 'terms', + sourceField: 'dest', + params: { + size: 5, + orderBy: { type: 'alphabetical' }, + orderDirection: 'asc', + }, + }, + }, + }, + }, + }; + const suggestions = getDatasourceSuggestionsFromCurrentState({ + ...state, + indexPatterns: { 1: { ...state.indexPatterns['1'], timeFieldName: undefined } }, + }); + suggestions.forEach((suggestion) => { + const firstBucket = suggestion.table.columns.find(({ columnId }) => columnId === 'col1'); + expect(firstBucket?.operation).not.toBe('date'); + }); + }); + it('returns simplified versions of table with more than 2 columns', () => { const initialState = testInitialState(); const fields = [ diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.ts b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.ts index d3c292b7e019b..8b940ec1f05af 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern_suggestions.ts @@ -21,6 +21,7 @@ import { getExistingColumnGroups, isReferenced, getReferencedColumnIds, + hasTermsWithManyBuckets, } from './operations'; import { hasField } from './utils'; import type { @@ -424,7 +425,7 @@ export function getDatasourceSuggestionsFromCurrentState( ); if (!references.length && metrics.length && buckets.length === 0) { - if (timeField) { + if (timeField && buckets.length < 1 && !hasTermsWithManyBuckets(layer)) { // suggest current metric over time if there is a default time field suggestions.push(createSuggestionWithDefaultDateHistogram(state, layerId, timeField)); } @@ -436,7 +437,13 @@ export function getDatasourceSuggestionsFromCurrentState( // base range intervals are of number dataType. // Custom range/intervals have a different dataType so they still receive the Over Time suggestion - if (!timeDimension && timeField && !hasNumericDimension) { + if ( + !timeDimension && + timeField && + buckets.length < 2 && + !hasNumericDimension && + !hasTermsWithManyBuckets(layer) + ) { // suggest current configuration over time if there is a default time field // and no time dimension yet suggestions.push(createSuggestionWithDefaultDateHistogram(state, layerId, timeField)); diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/operations/layer_helpers.test.ts b/x-pack/plugins/lens/public/indexpattern_datasource/operations/layer_helpers.test.ts index 77a2b334a9e20..3dc0677f3b9b6 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/operations/layer_helpers.test.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/operations/layer_helpers.test.ts @@ -15,6 +15,7 @@ import { deleteColumn, updateLayerIndexPattern, getErrorMessages, + hasTermsWithManyBuckets, } from './layer_helpers'; import { operationDefinitionMap, OperationType } from '../operations'; import { TermsIndexPatternColumn } from './definitions/terms'; @@ -3005,4 +3006,79 @@ describe('state_helpers', () => { ); }); }); + + describe('hasTermsWithManyBuckets', () => { + it('should return false for a bucketed non terms operation', () => { + const layer: IndexPatternLayer = { + columnOrder: ['col1'], + columns: { + col1: { + dataType: 'date', + isBucketed: true, + label: '', + operationType: 'date_histogram', + sourceField: 'fieldD', + params: { + interval: 'd', + }, + }, + }, + indexPatternId: 'original', + }; + + expect(hasTermsWithManyBuckets(layer)).toBeFalsy(); + }); + + it('should return false if all terms operation have a lower size', () => { + const layer: IndexPatternLayer = { + columnOrder: ['col1'], + columns: { + col1: { + label: 'My Op', + customLabel: true, + dataType: 'string', + isBucketed: true, + + // Private + operationType: 'terms', + sourceField: 'dest', + params: { + size: 5, + orderBy: { type: 'alphabetical' }, + orderDirection: 'asc', + }, + }, + }, + indexPatternId: 'original', + }; + + expect(hasTermsWithManyBuckets(layer)).toBeFalsy(); + }); + + it('should return true if the size is high', () => { + const layer: IndexPatternLayer = { + columnOrder: ['col1'], + columns: { + col1: { + label: 'My Op', + customLabel: true, + dataType: 'string', + isBucketed: true, + + // Private + operationType: 'terms', + sourceField: 'dest', + params: { + size: 15, + orderBy: { type: 'alphabetical' }, + orderDirection: 'asc', + }, + }, + }, + indexPatternId: 'original', + }; + + expect(hasTermsWithManyBuckets(layer)).toBeTruthy(); + }); + }); }); diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/operations/layer_helpers.ts b/x-pack/plugins/lens/public/indexpattern_datasource/operations/layer_helpers.ts index 9f3cba89ce17b..84b2a98279690 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/operations/layer_helpers.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/operations/layer_helpers.ts @@ -1371,6 +1371,17 @@ export function getReferencedColumnIds(layer: IndexPatternLayer, columnId: strin return referencedIds; } +export function hasTermsWithManyBuckets(layer: IndexPatternLayer): boolean { + return layer.columnOrder.some((columnId) => { + const column = layer.columns[columnId]; + if (column) { + return ( + column.isBucketed && column.params && 'size' in column.params && column.params.size > 5 + ); + } + }); +} + export function isOperationAllowedAsReference({ operationType, validation, diff --git a/x-pack/plugins/lens/public/visualization_container.scss b/x-pack/plugins/lens/public/visualization_container.scss index c3c15eff3819a..9fc16a0afc365 100644 --- a/x-pack/plugins/lens/public/visualization_container.scss +++ b/x-pack/plugins/lens/public/visualization_container.scss @@ -1,6 +1,6 @@ .lnsVisualizationContainer { @include euiScrollBar; - overflow: auto; + overflow: auto hidden; user-select: text; } diff --git a/x-pack/plugins/lens/server/routes/field_stats.ts b/x-pack/plugins/lens/server/routes/field_stats.ts index 7103e395eabdc..14acf766f97eb 100644 --- a/x-pack/plugins/lens/server/routes/field_stats.ts +++ b/x-pack/plugins/lens/server/routes/field_stats.ts @@ -9,7 +9,7 @@ import DateMath from '@elastic/datemath'; import { schema } from '@kbn/config-schema'; import { CoreSetup } from 'src/core/server'; import type { IndexPatternField } from 'src/plugins/data/common'; -import { SavedObjectNotFound } from '../../../../../src/plugins/kibana_utils/common'; +import { isSavedObjectNotFoundError } from '../../../../../src/plugins/kibana_utils/common'; import { ESSearchResponse } from '../../../../../src/core/types/elasticsearch'; import { FieldStatsResponse, BASE_API_URL } from '../../common'; import { PluginStartContract } from '../plugin'; @@ -123,7 +123,7 @@ export async function initFieldsRoute(setup: CoreSetup) { body: await getStringSamples(search, field, size), }); } catch (e) { - if (e instanceof SavedObjectNotFound) { + if (isSavedObjectNotFoundError(e)) { return res.notFound(); } if (e instanceof errors.ResponseError && e.statusCode === 404) { diff --git a/x-pack/plugins/lists/server/routes/read_privileges_route.mock.ts b/x-pack/plugins/lists/server/routes/read_privileges_route.mock.ts index 1e027e50f5070..caf7e6d8da62b 100644 --- a/x-pack/plugins/lists/server/routes/read_privileges_route.mock.ts +++ b/x-pack/plugins/lists/server/routes/read_privileges_route.mock.ts @@ -88,7 +88,7 @@ export const getReadPrivilegeMock = ( manage_index_templates: booleanValues, manage_ingest_pipelines: booleanValues, manage_ml: booleanValues, - manage_own_api_key: false, + manage_own_api_key: booleanValues, manage_pipeline: booleanValues, manage_rollup: booleanValues, manage_saml: booleanValues, @@ -105,7 +105,7 @@ export const getReadPrivilegeMock = ( read_ilm: booleanValues, transport_client: booleanValues, }, - has_all_requested: false, + has_all_requested: booleanValues, index: { [listItemsIndex]: { all: booleanValues, @@ -141,7 +141,7 @@ export const getReadPrivilegeMock = ( manage_index_templates: booleanValues, manage_ingest_pipelines: booleanValues, manage_ml: booleanValues, - manage_own_api_key: false, + manage_own_api_key: booleanValues, manage_pipeline: booleanValues, manage_rollup: booleanValues, manage_saml: booleanValues, @@ -158,7 +158,7 @@ export const getReadPrivilegeMock = ( read_ilm: booleanValues, transport_client: booleanValues, }, - has_all_requested: false, + has_all_requested: booleanValues, index: { [listIndex]: { all: booleanValues, diff --git a/x-pack/plugins/maps/common/descriptor_types/map_descriptor.ts b/x-pack/plugins/maps/common/descriptor_types/map_descriptor.ts index 8cb43713face4..9e181eacd5fa7 100644 --- a/x-pack/plugins/maps/common/descriptor_types/map_descriptor.ts +++ b/x-pack/plugins/maps/common/descriptor_types/map_descriptor.ts @@ -42,10 +42,23 @@ export type TooltipFeatureAction = { }; export type TooltipFeature = { + /* + * Feature id. Assigned by layer + */ id?: number | string; + + /* + * Id of layer that manages feature on the map + */ layerId: string; + geometry?: Geometry; + + /* + * Feature properties. Retrieved from the map implemenation + */ mbProperties: GeoJsonProperties; + actions: TooltipFeatureAction[]; }; diff --git a/x-pack/plugins/maps/public/classes/sources/wms_source/wms_client.js b/x-pack/plugins/maps/public/classes/sources/wms_source/wms_client.js index d71c329ee7d3e..0cbcbcd7ab8fe 100644 --- a/x-pack/plugins/maps/public/classes/sources/wms_source/wms_client.js +++ b/x-pack/plugins/maps/public/classes/sources/wms_source/wms_client.js @@ -122,13 +122,17 @@ function reduceLayers(path, layers) { const updatedStyles = [...accumulatedCapabilities.styles]; if (_.has(layer, 'Style[0]')) { updatedStyles.push( - createOption(path, _.get(layer, 'Style[0].Title[0]'), _.get(layer, 'Style[0].Name[0]')) + createOption( + path, + _.get(layer, 'Style[0].Title[0]', ''), + _.get(layer, 'Style[0].Name[0]', '') + ) ); } return { layers: [ ...accumulatedCapabilities.layers, - createOption(path, layer.Title[0], layer.Name[0]), + createOption(path, _.get(layer, 'Title[0]', ''), _.get(layer, 'Name[0]', '')), ], styles: updatedStyles, }; diff --git a/x-pack/plugins/maps/public/classes/tooltips/tooltip_property.ts b/x-pack/plugins/maps/public/classes/tooltips/tooltip_property.ts index 8caddaed87a21..d26751fbea909 100644 --- a/x-pack/plugins/maps/public/classes/tooltips/tooltip_property.ts +++ b/x-pack/plugins/maps/public/classes/tooltips/tooltip_property.ts @@ -40,14 +40,18 @@ export interface RenderTooltipContentParams { getFilterActions?: () => Promise; getLayerName: (layerId: string) => Promise; isLocked: boolean; + + /* + * Uses feature's layer to extend, filter, and format feature properties into tooltip properties. + * @param {string} layerId Use features[featureIndex].layerId + * @param {GeoJsonProperties} properties Use features[featureIndex].mbProperties or pass in a custom properties object + */ loadFeatureProperties: ({ layerId, - featureId, - mbProperties, + properties, }: { layerId: string; - featureId?: string | number; - mbProperties: GeoJsonProperties; + properties: GeoJsonProperties; }) => Promise; loadFeatureGeometry: ({ layerId, diff --git a/x-pack/plugins/maps/public/connected_components/mb_map/draw_control/draw_circle.ts b/x-pack/plugins/maps/public/connected_components/mb_map/draw_control/draw_circle.ts index 998329a78bfbb..c555b67eebac2 100644 --- a/x-pack/plugins/maps/public/connected_components/mb_map/draw_control/draw_circle.ts +++ b/x-pack/plugins/maps/public/connected_components/mb_map/draw_control/draw_circle.ts @@ -15,7 +15,24 @@ import { Feature, GeoJSON, Position } from 'geojson'; const DRAW_CIRCLE_RADIUS = 'draw-circle-radius'; -export const DRAW_CIRCLE_RADIUS_MB_FILTER = ['==', 'meta', DRAW_CIRCLE_RADIUS]; +export const DRAW_CIRCLE_RADIUS_LABEL_STYLE = { + id: 'gl-draw-radius-label', + type: 'symbol', + filter: ['==', 'meta', DRAW_CIRCLE_RADIUS], + layout: { + 'text-anchor': 'right', + 'text-field': '{radiusLabel}', + 'text-size': 16, + 'text-offset': [-1, 0], + 'text-ignore-placement': true, + 'text-allow-overlap': true, + }, + paint: { + 'text-color': '#fbb03b', + 'text-halo-color': 'rgba(0, 0, 0, 1)', + 'text-halo-width': 2, + }, +}; export interface DrawCircleProperties { center: Position; @@ -148,7 +165,7 @@ export const DrawCircle = { radiusLabel = `${Math.round(state.circle.properties.radiusKm)} km`; } - // display radius label, requires custom 'symbol' style with DRAW_CIRCLE_RADIUS_MB_FILTER filter + // display radius label, requires custom style: DRAW_CIRCLE_RADIUS_LABEL_STYLE display({ type: 'Feature', properties: { diff --git a/x-pack/plugins/maps/public/connected_components/mb_map/draw_control/draw_control.tsx b/x-pack/plugins/maps/public/connected_components/mb_map/draw_control/draw_control.tsx index ce4fcd8f12560..11b8c80e9fdec 100644 --- a/x-pack/plugins/maps/public/connected_components/mb_map/draw_control/draw_control.tsx +++ b/x-pack/plugins/maps/public/connected_components/mb_map/draw_control/draw_control.tsx @@ -10,16 +10,16 @@ import React, { Component } from 'react'; // @ts-expect-error import MapboxDraw from '@mapbox/mapbox-gl-draw'; // @ts-expect-error +import mapboxDrawStyles from '@mapbox/mapbox-gl-draw/src/lib/theme'; +// @ts-expect-error import DrawRectangle from 'mapbox-gl-draw-rectangle-mode'; import type { Map as MbMap } from '@kbn/mapbox-gl'; import { Feature } from 'geojson'; import { MapMouseEvent } from '@kbn/mapbox-gl'; import { DRAW_SHAPE } from '../../../../common/constants'; -import { DrawCircle, DRAW_CIRCLE_RADIUS_MB_FILTER } from './draw_circle'; +import { DrawCircle, DRAW_CIRCLE_RADIUS_LABEL_STYLE } from './draw_circle'; import { DrawTooltip } from './draw_tooltip'; -const GL_DRAW_RADIUS_LABEL_LAYER_ID = 'gl-draw-radius-label'; - const mbModeEquivalencies = new Map([ ['simple_select', DRAW_SHAPE.SIMPLE_SELECT], ['draw_rectangle', DRAW_SHAPE.BOUNDS], @@ -50,6 +50,7 @@ export class DrawControl extends Component { private _mbDrawControl = new MapboxDraw({ displayControlsDefault: false, modes: mbDrawModes, + styles: [...mapboxDrawStyles, DRAW_CIRCLE_RADIUS_LABEL_STYLE], }); componentDidUpdate() { @@ -97,7 +98,9 @@ export class DrawControl extends Component { }; _removeDrawControl() { - if (!this._mbDrawControlAdded) { + // Do not remove draw control after mbMap.remove is called, causes execeptions and mbMap.remove cleans up all map resources. + const isMapRemoved = !this.props.mbMap.loaded(); + if (!this._mbDrawControlAdded || isMapRemoved) { return; } @@ -107,7 +110,6 @@ export class DrawControl extends Component { if (this.props.onClick) { this.props.mbMap.off('click', this._onClick); } - this.props.mbMap.removeLayer(GL_DRAW_RADIUS_LABEL_LAYER_ID); this.props.mbMap.removeControl(this._mbDrawControl); this._mbDrawControlAdded = false; } @@ -119,25 +121,6 @@ export class DrawControl extends Component { if (!this._mbDrawControlAdded) { this.props.mbMap.addControl(this._mbDrawControl); - this.props.mbMap.addLayer({ - id: GL_DRAW_RADIUS_LABEL_LAYER_ID, - type: 'symbol', - source: 'mapbox-gl-draw-hot', - filter: DRAW_CIRCLE_RADIUS_MB_FILTER, - layout: { - 'text-anchor': 'right', - 'text-field': '{radiusLabel}', - 'text-size': 16, - 'text-offset': [-1, 0], - 'text-ignore-placement': true, - 'text-allow-overlap': true, - }, - paint: { - 'text-color': '#fbb03b', - 'text-halo-color': 'rgba(0, 0, 0, 1)', - 'text-halo-width': 2, - }, - }); this._mbDrawControlAdded = true; this.props.mbMap.getCanvas().style.cursor = 'crosshair'; this.props.mbMap.on('draw.modechange', this._onModeChange); diff --git a/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/features_tooltip/feature_properties.tsx b/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/features_tooltip/feature_properties.tsx index 570c06ff4ae7f..b549c644879ef 100644 --- a/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/features_tooltip/feature_properties.tsx +++ b/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/features_tooltip/feature_properties.tsx @@ -30,12 +30,10 @@ interface Props { mbProperties: GeoJsonProperties; loadFeatureProperties: ({ layerId, - featureId, - mbProperties, + properties, }: { layerId: string; - featureId?: string | number; - mbProperties: GeoJsonProperties; + properties: GeoJsonProperties; }) => Promise; showFilterButtons: boolean; onCloseTooltip: () => void; @@ -149,8 +147,7 @@ export class FeatureProperties extends Component { try { properties = await this.props.loadFeatureProperties({ layerId: nextLayerId, - featureId: nextFeatureId, - mbProperties, + properties: mbProperties, }); } catch (error) { if (this._isMounted) { diff --git a/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/features_tooltip/features_tooltip.tsx b/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/features_tooltip/features_tooltip.tsx index 0d2ba07a5c956..28f301e96711d 100644 --- a/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/features_tooltip/features_tooltip.tsx +++ b/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/features_tooltip/features_tooltip.tsx @@ -34,12 +34,10 @@ interface Props { isLocked: boolean; loadFeatureProperties: ({ layerId, - featureId, - mbProperties, + properties, }: { layerId: string; - featureId?: string | number; - mbProperties: GeoJsonProperties; + properties: GeoJsonProperties; }) => Promise; getLayerName: (layerId: string) => Promise; findLayerById: (layerId: string) => IVectorLayer | undefined; diff --git a/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/tooltip_popover.tsx b/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/tooltip_popover.tsx index 181952a142ede..90a97509a5c5d 100644 --- a/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/tooltip_popover.tsx +++ b/x-pack/plugins/maps/public/connected_components/mb_map/tooltip_control/tooltip_popover.tsx @@ -88,31 +88,16 @@ export class TooltipPopover extends Component { _loadFeatureProperties = async ({ layerId, - featureId, - mbProperties, + properties, }: { layerId: string; - featureId?: string | number; - mbProperties?: GeoJsonProperties; + properties: GeoJsonProperties; }) => { const tooltipLayer = this.props.findLayerById(layerId); if (!tooltipLayer) { return []; } - let targetFeature; - if (typeof featureId !== 'undefined') { - targetFeature = tooltipLayer.getFeatureById(featureId); - } - - let properties: GeoJsonProperties | undefined; - if (mbProperties) { - properties = mbProperties; - } else if (targetFeature?.properties) { - properties = targetFeature?.properties; - } else { - properties = {}; - } return await tooltipLayer.getPropertiesForTooltip(properties); }; diff --git a/x-pack/plugins/maps/public/embeddable/map_embeddable.tsx b/x-pack/plugins/maps/public/embeddable/map_embeddable.tsx index ef7ca4655a600..723e43426dd29 100644 --- a/x-pack/plugins/maps/public/embeddable/map_embeddable.tsx +++ b/x-pack/plugins/maps/public/embeddable/map_embeddable.tsx @@ -9,6 +9,7 @@ import { i18n } from '@kbn/i18n'; import _ from 'lodash'; import React from 'react'; import { Provider } from 'react-redux'; +import fastIsEqual from 'fast-deep-equal'; import { render, unmountComponentAtNode } from 'react-dom'; import { Subscription } from 'rxjs'; import { Unsubscribe } from 'redux'; @@ -17,7 +18,9 @@ import { Embeddable, IContainer, ReferenceOrValueEmbeddable, + genericEmbeddableInputIsEqual, VALUE_CLICK_TRIGGER, + omitGenericEmbeddableInput, } from '../../../../../src/plugins/embeddable/public'; import { ActionExecutionContext } from '../../../../../src/plugins/ui_actions/public'; import { @@ -206,16 +209,26 @@ export class MapEmbeddable } public async getInputAsRefType(): Promise { - const input = getMapAttributeService().getExplicitInputFromEmbeddable(this); - return getMapAttributeService().getInputAsRefType(input, { + return getMapAttributeService().getInputAsRefType(this.getExplicitInput(), { showSaveModal: true, saveModalTitle: this.getTitle(), }); } + public async getExplicitInputIsEqual( + lastExplicitInput: Partial + ): Promise { + const currentExplicitInput = this.getExplicitInput(); + if (!genericEmbeddableInputIsEqual(lastExplicitInput, currentExplicitInput)) return false; + + // generic embeddable input is equal, now we compare map specific input elements, ignoring 'mapBuffer'. + const lastMapInput = omitGenericEmbeddableInput(_.omit(lastExplicitInput, 'mapBuffer')); + const currentMapInput = omitGenericEmbeddableInput(_.omit(currentExplicitInput, 'mapBuffer')); + return fastIsEqual(lastMapInput, currentMapInput); + } + public async getInputAsValueType(): Promise { - const input = getMapAttributeService().getExplicitInputFromEmbeddable(this); - return getMapAttributeService().getInputAsValueType(input); + return getMapAttributeService().getInputAsValueType(this.getExplicitInput()); } public getDescription() { diff --git a/x-pack/plugins/maps/server/maps_telemetry/maps_telemetry.ts b/x-pack/plugins/maps/server/maps_telemetry/maps_telemetry.ts index fedb7675f9968..67675da1b19ee 100644 --- a/x-pack/plugins/maps/server/maps_telemetry/maps_telemetry.ts +++ b/x-pack/plugins/maps/server/maps_telemetry/maps_telemetry.ts @@ -204,7 +204,7 @@ export function getLayerLists(mapSavedObjects: MapSavedObject[]): LayerDescripto async function filterIndexPatternsByField(fields: string[]) { const indexPatternsService = await getIndexPatternsService(); - const indexPatternIds = await indexPatternsService.getIds(true); + const indexPatternIds = await indexPatternsService.getIds(); let numIndexPatternsContainingField = 0; await Promise.all( indexPatternIds.map(async (indexPatternId: string) => { diff --git a/x-pack/plugins/maps/server/plugin.ts b/x-pack/plugins/maps/server/plugin.ts index 121b5059cfb87..b12c3e19bb6e1 100644 --- a/x-pack/plugins/maps/server/plugin.ts +++ b/x-pack/plugins/maps/server/plugin.ts @@ -83,6 +83,21 @@ export class MapsPlugin implements Plugin { }, ]); + home.sampleData.replacePanelInSampleDatasetDashboard({ + sampleDataId: 'ecommerce', + dashboardId: '722b74f0-b882-11e8-a6d9-e546fe2bba5f', + oldEmbeddableId: '2c9c1f60-1909-11e9-919b-ffe5949a18d2', + embeddableId: '2c9c1f60-1909-11e9-919b-ffe5949a18d2', + // @ts-ignore + embeddableType: MAP_SAVED_OBJECT_TYPE, + embeddableConfig: { + isLayerTOCOpen: false, + hiddenLayers: [], + mapCenter: { lat: 45.88578, lon: -15.07605, zoom: 2.11 }, + openTOCDetails: [], + }, + }); + home.sampleData.addSavedObjectsToSampleDataset('flights', getFlightsSavedObjects()); home.sampleData.addAppLinksToSampleDataset('flights', [ @@ -102,6 +117,9 @@ export class MapsPlugin implements Plugin { embeddableType: MAP_SAVED_OBJECT_TYPE, embeddableConfig: { isLayerTOCOpen: true, + hiddenLayers: [], + mapCenter: { lat: 48.72307, lon: -115.18171, zoom: 4.28 }, + openTOCDetails: [], }, }); @@ -122,6 +140,9 @@ export class MapsPlugin implements Plugin { embeddableType: MAP_SAVED_OBJECT_TYPE, embeddableConfig: { isLayerTOCOpen: false, + hiddenLayers: [], + mapCenter: { lat: 42.16337, lon: -88.92107, zoom: 3.64 }, + openTOCDetails: [], }, }); diff --git a/x-pack/plugins/ml/common/types/annotations.ts b/x-pack/plugins/ml/common/types/annotations.ts index dbc146c1175d8..57b7551c2308a 100644 --- a/x-pack/plugins/ml/common/types/annotations.ts +++ b/x-pack/plugins/ml/common/types/annotations.ts @@ -6,10 +6,10 @@ */ // The Annotation interface is based on annotation documents stored in the -// `.ml-annotations-6` index, accessed via the `.ml-annotations-[read|write]` aliases. +// `.ml-annotations-*` index, accessed via the `.ml-annotations-[read|write]` aliases. // Annotation document mapping: -// PUT .ml-annotations-6 +// PUT .ml-annotations-000001 // { // "mappings": { // "annotation": { @@ -54,8 +54,8 @@ // POST /_aliases // { // "actions" : [ -// { "add" : { "index" : ".ml-annotations-6", "alias" : ".ml-annotations-read" } }, -// { "add" : { "index" : ".ml-annotations-6", "alias" : ".ml-annotations-write" } } +// { "add" : { "index" : ".ml-annotations-000001", "alias" : ".ml-annotations-read" } }, +// { "add" : { "index" : ".ml-annotations-000001", "alias" : ".ml-annotations-write" } } // ] // } diff --git a/x-pack/plugins/ml/common/util/runtime_field_utils.test.ts b/x-pack/plugins/ml/common/util/runtime_field_utils.test.ts index e7f9230666898..6aa5075344556 100644 --- a/x-pack/plugins/ml/common/util/runtime_field_utils.test.ts +++ b/x-pack/plugins/ml/common/util/runtime_field_utils.test.ts @@ -30,7 +30,9 @@ describe('ML runtime field utils', () => { expect(isRuntimeField({ type: 'keyword' })).toBe(true); }); it('allows objects with both type and script attributes', () => { - expect(isRuntimeField({ type: 'keyword', script: 'some script' })).toBe(true); + expect( + isRuntimeField({ type: 'keyword', script: 'some script', format: 'some format' }) + ).toBe(true); }); }); @@ -90,6 +92,19 @@ describe('ML runtime field utils', () => { isRuntimeMappings({ fieldName1: { type: 'keyword' }, fieldName2: { type: 'keyword', script: 'some script as script' }, + fieldName3: { + type: 'keyword', + script: { + source: 'source script', + }, + }, + fieldName4: { + type: 'keyword', + script: { + source: 'source script', + params: {}, + }, + }, }) ).toBe(true); expect( @@ -97,6 +112,28 @@ describe('ML runtime field utils', () => { fieldName: { type: 'long', script: { source: 'some script as source' } }, }) ).toBe(true); + expect( + isRuntimeMappings({ + fieldName: { + type: 'long', + script: { + source: 'source script', + params: {}, + lang: 'lang', + }, + }, + }) + ).toBe(true); + expect( + isRuntimeMappings({ + fieldName: { + type: 'long', + script: { + id: 'a script id', + }, + }, + }) + ).toBe(true); }); }); }); diff --git a/x-pack/plugins/ml/common/util/runtime_field_utils.ts b/x-pack/plugins/ml/common/util/runtime_field_utils.ts index 1fcf8e2e72b15..3819dc51feb60 100644 --- a/x-pack/plugins/ml/common/util/runtime_field_utils.ts +++ b/x-pack/plugins/ml/common/util/runtime_field_utils.ts @@ -7,7 +7,6 @@ import { estypes } from '@elastic/elasticsearch'; import { isPopulatedObject } from './object_utils'; import { RUNTIME_FIELD_TYPES } from '../../../../../src/plugins/data/common'; -import type { RuntimeMappings } from '../types/fields'; type RuntimeType = typeof RUNTIME_FIELD_TYPES[number]; @@ -15,15 +14,16 @@ export function isRuntimeField(arg: unknown): arg is estypes.MappingRuntimeField return ( ((isPopulatedObject(arg, ['type']) && Object.keys(arg).length === 1) || (isPopulatedObject(arg, ['type', 'script']) && - Object.keys(arg).length === 2 && + // Can be a string (typeof arg.script === 'string' || - (isPopulatedObject(arg.script, ['source']) && - Object.keys(arg.script).length === 1 && - typeof arg.script.source === 'string')))) && + // Can be InlineScript + (isPopulatedObject(arg.script, ['source']) && typeof arg.script.source === 'string') || + // Can be StoredScriptId + (isPopulatedObject(arg.script, ['id']) && typeof arg.script.id === 'string')))) && RUNTIME_FIELD_TYPES.includes(arg.type as RuntimeType) ); } -export function isRuntimeMappings(arg: unknown): arg is RuntimeMappings { +export function isRuntimeMappings(arg: unknown): arg is estypes.MappingRuntimeFields { return isPopulatedObject(arg) && Object.values(arg).every((d) => isRuntimeField(d)); } diff --git a/x-pack/plugins/ml/public/application/components/anomalies_table/anomalies_table_columns.js b/x-pack/plugins/ml/public/application/components/anomalies_table/anomalies_table_columns.js index 1f3979e6efe29..3857e54a052ae 100644 --- a/x-pack/plugins/ml/public/application/components/anomalies_table/anomalies_table_columns.js +++ b/x-pack/plugins/ml/public/application/components/anomalies_table/anomalies_table_columns.js @@ -91,7 +91,7 @@ export function getColumns( }) } data-row-id={item.rowId} - data-test-subj="mlJobListRowDetailsToggle" + data-test-subj="mlAnomaliesListRowDetailsToggle" /> ), }, diff --git a/x-pack/plugins/ml/public/application/components/anomalies_table/anomaly_details.js b/x-pack/plugins/ml/public/application/components/anomalies_table/anomaly_details.js index 669a81ffd6248..488f4c3469e6a 100644 --- a/x-pack/plugins/ml/public/application/components/anomalies_table/anomaly_details.js +++ b/x-pack/plugins/ml/public/application/components/anomalies_table/anomaly_details.js @@ -313,7 +313,10 @@ export class AnomalyDetails extends Component { }), content: ( -
    +
    {this.renderDescription()} {this.renderDetails()} @@ -633,7 +636,7 @@ export class AnomalyDetails extends Component { ); } else { return ( -
    +
    {this.renderDescription()} {this.renderDetails()} diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/expandable_section/expandable_section.tsx b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/expandable_section/expandable_section.tsx index 6ce3c1f5a6548..7187eb22652e2 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/expandable_section/expandable_section.tsx +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/expandable_section/expandable_section.tsx @@ -84,6 +84,7 @@ export const ExpandableSection: FC = ({ iconType={isExpanded ? 'arrowUp' : 'arrowDown'} iconSide="right" flush="left" + data-test-subj={`mlDFExpandableSection-${dataTestId}-toggle-button`} > {title} @@ -126,7 +127,12 @@ export const ExpandableSection: FC = ({ )}
    {isExpanded && ( -
    {content}
    +
    + {content} +
    )} ); diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/exploration_query_bar/exploration_query_bar.tsx b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/exploration_query_bar/exploration_query_bar.tsx index 3639836c6be01..b79a1604b2b20 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/exploration_query_bar/exploration_query_bar.tsx +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_exploration/components/exploration_query_bar/exploration_query_bar.tsx @@ -192,7 +192,7 @@ export const ExplorationQueryBar: FC = ({ }) } disableAutoFocus={true} - dataTestSubj="transformQueryInput" + dataTestSubj="mlDFAnalyticsQueryInput" languageSwitcherPopoverAnchorPosition="rightDown" /> diff --git a/x-pack/plugins/ml/public/application/explorer/anomalies_map.tsx b/x-pack/plugins/ml/public/application/explorer/anomalies_map.tsx index 28f346c0148c6..a3871f41b9f94 100644 --- a/x-pack/plugins/ml/public/application/explorer/anomalies_map.tsx +++ b/x-pack/plugins/ml/public/application/explorer/anomalies_map.tsx @@ -222,7 +222,7 @@ export const AnomaliesMap: FC = ({ anomalies, jobIds }) => { return ( <> - + = ({ valueAccessor="value" highlightedData={highlightedData} valueFormatter={getFormattedSeverityScore} - xScaleType={ScaleType.Time} + xScale={{ + type: ScaleType.Time, + interval: { + type: 'fixed', + unit: 'ms', + // the xDomain.minInterval should always be available at rendering time + // adding a fallback to 1m bucket + value: xDomain?.minInterval ?? 1000 * 60, + }, + }} ySortPredicate="dataIndex" config={swimLaneConfig} /> diff --git a/x-pack/plugins/ml/public/application/jobs/jobs_list/components/jobs_list_view/jobs_list_view.js b/x-pack/plugins/ml/public/application/jobs/jobs_list/components/jobs_list_view/jobs_list_view.js index 6f7a9adaecceb..eecc986358161 100644 --- a/x-pack/plugins/ml/public/application/jobs/jobs_list/components/jobs_list_view/jobs_list_view.js +++ b/x-pack/plugins/ml/public/application/jobs/jobs_list/components/jobs_list_view/jobs_list_view.js @@ -18,7 +18,6 @@ import { EuiSpacer, EuiTitle, } from '@elastic/eui'; -import { debounce } from 'lodash'; import { ml } from '../../../../services/ml_api_service'; import { checkForAutoStartDatafeed, filterJobs, loadFullJob } from '../utils'; @@ -44,11 +43,6 @@ import { JobListMlAnomalyAlertFlyout } from '../../../../../alerting/ml_alerting let blockingJobsRefreshTimeout = null; -const filterJobsDebounce = debounce((jobsSummaryList, filterClauses, callback) => { - const ss = filterJobs(jobsSummaryList, filterClauses); - callback(ss); -}, 500); - // 'isManagementTable' bool prop to determine when to configure table for use in Kibana management page export class JobsListView extends Component { constructor(props) { @@ -282,19 +276,10 @@ export class JobsListView extends Component { return; } - if (this._isFiltersSet === true) { - filterJobsDebounce(this.state.jobsSummaryList, filterClauses, (jobsSummaryList) => { - this.setState({ filteredJobsSummaryList: jobsSummaryList, filterClauses }, () => { - this.refreshSelectedJobs(); - }); - }); - } else { - // first use after page load, do not debounce. - const filteredJobsSummaryList = filterJobs(this.state.jobsSummaryList, filterClauses); - this.setState({ filteredJobsSummaryList, filterClauses }, () => { - this.refreshSelectedJobs(); - }); - } + const filteredJobsSummaryList = filterJobs(this.state.jobsSummaryList, filterClauses); + this.setState({ filteredJobsSummaryList, filterClauses }, () => { + this.refreshSelectedJobs(); + }); this._isFiltersSet = true; }; diff --git a/x-pack/plugins/ml/public/application/util/custom_url_utils.test.ts b/x-pack/plugins/ml/public/application/util/custom_url_utils.test.ts index 3e2b78d3b0ebb..5932509e86e51 100644 --- a/x-pack/plugins/ml/public/application/util/custom_url_utils.test.ts +++ b/x-pack/plugins/ml/public/application/util/custom_url_utils.test.ts @@ -11,6 +11,7 @@ import { isValidLabel, isValidTimeRange, openCustomUrlWindow, + getQueryField, } from './custom_url_utils'; import { AnomalyRecordDoc } from '../../../common/types/anomalies'; import { @@ -127,7 +128,7 @@ describe('ML - custom URL utils', () => { describe('replaceTokensInUrlValue', () => { test('replaces tokens as expected for a Kibana Dashboard type URL', () => { expect(replaceTokensInUrlValue(TEST_DASHBOARD_URL, 300, TEST_DOC, 'timestamp')).toBe( - "dashboards#/view/5f112420-9fc6-11e8-9130-150552a4bef3?_g=(time:(from:'2017-02-09T15:10:00.000Z',mode:absolute,to:'2017-02-09T17:15:00.000Z'))&_a=(filters:!(),query:(language:kuery,query:'airline:\"AAL\"'))" + "dashboards#/view/5f112420-9fc6-11e8-9130-150552a4bef3?_g=(time:(from:'2017-02-09T15:10:00.000Z',mode:absolute,to:'2017-02-09T17:15:00.000Z'))&_a=(filters:!(),query:(language:kuery,query:'\"airline\":\"AAL\"'))" ); }); @@ -135,7 +136,7 @@ describe('ML - custom URL utils', () => { expect( replaceTokensInUrlValue(TEST_DASHBOARD_URL, 300, TEST_RECORD_SPECIAL_CHARS, 'timestamp') ).toBe( - "dashboards#/view/5f112420-9fc6-11e8-9130-150552a4bef3?_g=(time:(from:'2017-02-09T15:10:00.000Z',mode:absolute,to:'2017-02-09T17:15:00.000Z'))&_a=(filters:!(),query:(language:kuery,query:'airline:\"%3C%3E%3A%3B%5B%7D%5C%22)\"'))" + "dashboards#/view/5f112420-9fc6-11e8-9130-150552a4bef3?_g=(time:(from:'2017-02-09T15:10:00.000Z',mode:absolute,to:'2017-02-09T17:15:00.000Z'))&_a=(filters:!(),query:(language:kuery,query:'\"airline\":\"%3C%3E%3A%3B%5B%7D%5C%22)\"'))" ); }); @@ -154,7 +155,7 @@ describe('ML - custom URL utils', () => { test('replaces tokens as expected for a Kibana Discover type URL', () => { expect(replaceTokensInUrlValue(TEST_DISCOVER_URL, 300, TEST_DOC, 'timestamp')).toBe( - "discover#/?_g=(time:(from:'2017-02-09T16:05:00.000Z',mode:absolute,to:'2017-02-09T16:20:00.000Z'))&_a=(index:bf6e5860-9404-11e8-8d4c-593f69c47267,query:(language:kuery,query:'airline:\"AAL\"'))" + "discover#/?_g=(time:(from:'2017-02-09T16:05:00.000Z',mode:absolute,to:'2017-02-09T16:20:00.000Z'))&_a=(index:bf6e5860-9404-11e8-8d4c-593f69c47267,query:(language:kuery,query:'\"airline\":\"AAL\"'))" ); }); @@ -167,7 +168,7 @@ describe('ML - custom URL utils', () => { 'timestamp' ) ).toBe( - "discover#/?_g=(time:(from:'2017-02-09T16:05:00.000Z',mode:absolute,to:'2017-02-09T16:20:00.000Z'))&_a=(index:bf6e5860-9404-11e8-8d4c-593f69c47267,query:(language:kuery,query:'(airline:\"AAL\" OR airline:\"AWE\")'))" + 'discover#/?_g=(time:(from:\'2017-02-09T16:05:00.000Z\',mode:absolute,to:\'2017-02-09T16:20:00.000Z\'))&_a=(index:bf6e5860-9404-11e8-8d4c-593f69c47267,query:(language:kuery,query:\'("airline":"AAL" OR "airline":"AWE")\'))' ); }); @@ -251,7 +252,7 @@ describe('ML - custom URL utils', () => { 'timestamp' ) ).toBe( - `discover#/11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61?_g=(filters:!(),time:(from:'2017-02-09T16:05:00.000Z',mode:absolute,to:'2017-02-09T16:20:00.000Z'))&_a=(columns:!(_source),filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:'7e06e310-dae4-11e9-8260-995f99197467',key:method,negate:!f,params:(query:POST),type:phrase,value:POST),query:(match:(method:(query:POST,type:phrase))))),index:'7e06e310-dae4-11e9-8260-995f99197467',interval:auto,query:(language:kuery,query:'(clientip:\"92.20.59.36\" OR clientip:\"92.20.59.41\") AND (action:\"dashboard-widgets\" OR action:\"edit\" OR action:\"delete\")'),sort:!(!('@timestamp',desc)))` + 'discover#/11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61-b3ad9930-db86-11e9-b5d5-e3a9ca224c61?_g=(filters:!(),time:(from:\'2017-02-09T16:05:00.000Z\',mode:absolute,to:\'2017-02-09T16:20:00.000Z\'))&_a=(columns:!(_source),filters:!((\'$state\':(store:appState),meta:(alias:!n,disabled:!f,index:\'7e06e310-dae4-11e9-8260-995f99197467\',key:method,negate:!f,params:(query:POST),type:phrase,value:POST),query:(match:(method:(query:POST,type:phrase))))),index:\'7e06e310-dae4-11e9-8260-995f99197467\',interval:auto,query:(language:kuery,query:\'("clientip":"92.20.59.36" OR "clientip":"92.20.59.41") AND ("action":"dashboard-widgets" OR "action":"edit" OR "action":"delete")\'),sort:!(!(\'@timestamp\',desc)))' ); }); }); @@ -259,19 +260,19 @@ describe('ML - custom URL utils', () => { describe('getUrlForRecord', () => { test('returns expected URL for a Kibana Dashboard type URL', () => { expect(getUrlForRecord(TEST_DASHBOARD_URL, TEST_RECORD)).toBe( - "dashboards#/view/5f112420-9fc6-11e8-9130-150552a4bef3?_g=(time:(from:'2017-02-09T15:10:00.000Z',mode:absolute,to:'2017-02-09T17:15:00.000Z'))&_a=(filters:!(),query:(language:kuery,query:'airline:\"AAL\"'))" + "dashboards#/view/5f112420-9fc6-11e8-9130-150552a4bef3?_g=(time:(from:'2017-02-09T15:10:00.000Z',mode:absolute,to:'2017-02-09T17:15:00.000Z'))&_a=(filters:!(),query:(language:kuery,query:'\"airline\":\"AAL\"'))" ); }); test('returns expected URL for a Kibana Discover type URL', () => { expect(getUrlForRecord(TEST_DISCOVER_URL, TEST_RECORD)).toBe( - "discover#/?_g=(time:(from:'2017-02-09T15:10:00.000Z',mode:absolute,to:'2017-02-09T17:15:00.000Z'))&_a=(index:bf6e5860-9404-11e8-8d4c-593f69c47267,query:(language:kuery,query:'airline:\"AAL\"'))" + "discover#/?_g=(time:(from:'2017-02-09T15:10:00.000Z',mode:absolute,to:'2017-02-09T17:15:00.000Z'))&_a=(index:bf6e5860-9404-11e8-8d4c-593f69c47267,query:(language:kuery,query:'\"airline\":\"AAL\"'))" ); }); - test.skip('returns expected URL for a Kibana Discover type URL when record field contains special characters', () => { + test('returns expected URL for a Kibana Discover type URL when record field contains special characters', () => { expect(getUrlForRecord(TEST_DISCOVER_URL, TEST_RECORD_SPECIAL_CHARS)).toBe( - "discover#/?_g=(time:(from:'2017-02-09T15:10:00.000Z',mode:absolute,to:'2017-02-09T17:15:00.000Z'))&_a=(index:bf6e5860-9404-11e8-8d4c-593f69c47267,query:(language:kuery,query:'airline:\"%3C%3E%3A%3B%5B%7D%5C%22)\" and odd:field,name:>:&12<''))" + 'discover#/?_g=(time:(from:\'2017-02-09T15:10:00.000Z\',mode:absolute,to:\'2017-02-09T17:15:00.000Z\'))&_a=(index:bf6e5860-9404-11e8-8d4c-593f69c47267,query:(language:kuery,query:\'"airline":"%3C%3E%3A%3B%5B%7D%5C%22)" AND "odd:field,name":"%3E%3A%2612%3C!\'"\'))' ); }); @@ -317,7 +318,7 @@ describe('ML - custom URL utils', () => { }; expect(getUrlForRecord(testUrl, testRecord)).toBe( - `dashboards#/view/351de820-f2bb-11ea-ab06-cb93221707e9?_a=(filters:!(),query:(language:kuery,query:'at@name:"contains%20a%20!'%20quote" AND singlequote!'name:"contains%20a%20!'%20quote"'))&_g=(filters:!(),time:(from:'2019-02-08T00:00:00.000Z',mode:absolute,to:'2019-02-08T23:59:59.999Z'))` + "dashboards#/view/351de820-f2bb-11ea-ab06-cb93221707e9?_a=(filters:!(),query:(language:kuery,query:'\"at@name\":\"contains%20a%20!'%20quote\" AND \"singlequote!'name\":\"contains%20a%20!'%20quote\"'))&_g=(filters:!(),time:(from:'2019-02-08T00:00:00.000Z',mode:absolute,to:'2019-02-08T23:59:59.999Z'))" ); }); @@ -505,7 +506,7 @@ describe('ML - custom URL utils', () => { }; expect(getUrlForRecord(urlConfig, testRecords)).toBe( - "security/hosts/ml-hosts/showcase?_g=()&query=(language:kuery,query:'process.name:\"seq\"')&timerange=(global:(linkTo:!(timeline),timerange:(from:'2019-02-01T16:00:00.000Z',kind:absolute,to:'2019-02-01T18:59:59.999Z')),timeline:(linkTo:!(global),timerange:(from:'2019-02-01T16%3A00%3A00.000Z',kind:absolute,to:'2019-02-01T18%3A59%3A59.999Z')))" + "security/hosts/ml-hosts/showcase?_g=()&query=(language:kuery,query:'\"process.name\":\"seq\"')&timerange=(global:(linkTo:!(timeline),timerange:(from:'2019-02-01T16:00:00.000Z',kind:absolute,to:'2019-02-01T18:59:59.999Z')),timeline:(linkTo:!(global),timerange:(from:'2019-02-01T16%3A00%3A00.000Z',kind:absolute,to:'2019-02-01T18%3A59%3A59.999Z')))" ); }); @@ -585,6 +586,63 @@ describe('ML - custom URL utils', () => { 'http://airlinecodes.info/airline-code-AAL' ); }); + + test('returns expected URL with preserving custom filter', () => { + const urlWithCustomFilter: UrlConfig = { + url_name: 'URL with a custom filter', + url_value: `discover#/?_g=(time:(from:'$earliest$',mode:absolute,to:'$latest$'))&_a=(filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,key:subSystem.keyword,negate:!f,params:(query:JDBC),type:phrase),query:(match_phrase:(subSystem.keyword:JDBC)))),index:'eap_wls_server_12c*,*:eap_wls_server_12c*',query:(language:kuery,query:'wlscluster.keyword:"$wlscluster.keyword$"'))`, + }; + + const testRecords = { + job_id: 'farequote', + result_type: 'record', + probability: 6.533287347648861e-45, + record_score: 93.84475, + initial_record_score: 94.867922946384, + bucket_span: 300, + detector_index: 0, + is_interim: false, + timestamp: 1486656600000, + partition_field_name: 'wlscluster.keyword', + partition_field_value: 'AAL', + function: 'mean', + function_description: 'mean', + typical: [99.2329899996025], + actual: [274.7279901504516], + field_name: 'wlscluster.keyword', + influencers: [ + { + influencer_field_name: 'wlscluster.keyword', + influencer_field_values: ['AAL'], + }, + ], + 'wlscluster.keyword': ['AAL'], + earliest: '2019-02-01T16:00:00.000Z', + latest: '2019-02-01T18:59:59.999Z', + }; + + expect(getUrlForRecord(urlWithCustomFilter, testRecords)).toBe( + "discover#/?_g=(time:(from:'2019-02-01T16:00:00.000Z',mode:absolute,to:'2019-02-01T18:59:59.999Z'))&_a=(filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,key:subSystem.keyword,negate:!f,params:(query:JDBC),type:phrase),query:(match_phrase:(subSystem.keyword:JDBC)))),index:'eap_wls_server_12c*,*:eap_wls_server_12c*',query:(language:kuery,query:'\"wlscluster.keyword\":\"AAL\"'))" + ); + }); + }); + + describe('getQueryField', () => { + test('accounts for colon : in field name', () => { + expect(getQueryField(`odd:field,name : " $odd:field,name$"`)).toBe('odd:field,name'); + expect(getQueryField(`odd:field,name: $odd:field,name$ "`)).toBe('odd:field,name'); + expect(getQueryField(`odd:field,name:$odd:field,name$"`)).toBe('odd:field,name'); + expect(getQueryField(`odd:field,name: " $odd:field,name$"`)).toBe('odd:field,name'); + expect(getQueryField(`odd:field,name&:$odd:field,name&$"`)).toBe('odd:field,name&'); + expect(getQueryField('{air}line:${air}line$')).toBe('{air}line'); + expect(getQueryField(`odd:field$name&:$odd:field$name&$`)).toBe('odd:field$name&'); + }); + + test('accounts for spaces in query string', () => { + expect(getQueryField(`airline : $airline$"`)).toBe('airline'); + expect(getQueryField(`airline:" $airline$""`)).toBe('airline'); + expect(getQueryField(`airline:$airline$"`)).toBe('airline'); + }); }); describe('isValidLabel', () => { diff --git a/x-pack/plugins/ml/public/application/util/custom_url_utils.ts b/x-pack/plugins/ml/public/application/util/custom_url_utils.ts index 0a764318d601d..76912429f025d 100644 --- a/x-pack/plugins/ml/public/application/util/custom_url_utils.ts +++ b/x-pack/plugins/ml/public/application/util/custom_url_utils.ts @@ -10,7 +10,6 @@ import { get, flow } from 'lodash'; import moment from 'moment'; import rison, { RisonObject, RisonValue } from 'rison-node'; - import { parseInterval } from '../../../common/util/parse_interval'; import { escapeForElasticsearchQuery, replaceStringTokens } from './string_utils'; import { @@ -138,25 +137,63 @@ export const isRisonObject = (value: RisonValue): value is RisonObject => { return value !== null && typeof value === 'object'; }; +/** + * Helper to grab field value from the string containing field value & name + * which also handle special characters like colons and spaces + * `odd:field$name&:"$odd:field$name&$"` => 'odd:field$name&' + */ +export const getQueryField = (str: string): string => { + let fieldName = ''; + // Find the first valid '$' anchor which is the start of the field value + for (let i = 0; i < str.length; i++) { + if (str[i] === '$') { + let foundIdxToSplit = i; + // Then back track to find the nearest colon on the left + // the rest of string to the left of found colon + // would be the field name + for (let idx = foundIdxToSplit; idx > -1; idx--) { + if (str[idx] === ':') { + foundIdxToSplit = idx; + break; + } + } + + // As the field name may contain both : and $, + // we need to keep searching until the two sides match + fieldName = str.slice(0, foundIdxToSplit).trim(); + let fieldValue = str.slice(foundIdxToSplit, str.length); + const fieldValueStart = fieldValue.indexOf('$'); + const fieldValueEnd = fieldValue.lastIndexOf('$'); + fieldValue = fieldValue.slice(fieldValueStart, fieldValueEnd + 1); + if (fieldValue === `$${fieldName}$`) { + break; + } + } + } + return fieldName; +}; const getQueryStringResultProvider = (record: CustomUrlAnomalyRecordDoc, getResultTokenValue: GetResultTokenValue) => - (resultPrefix: string, queryString: string, resultPostfix: string): string => { + (resultPrefix: string, queryString: string, resultPostfix: string, isKuery: boolean): string => { const URL_LENGTH_LIMIT = 2000; let availableCharactersLeft = URL_LENGTH_LIMIT - resultPrefix.length - resultPostfix.length; + const testStr = queryString; // URL template might contain encoded characters - const queryFields = queryString + const queryFields = testStr // Split query string by AND operator. .split(/\sand\s/i) // Get property name from `influencerField:$influencerField$` string. - .map((v) => String(v.split(/:(.+)?\$/)[0]).trim()); + .map((v) => getQueryField(String(v).replace(/\\/g, ''))); const queryParts: string[] = []; const joinOperator = ' AND '; fieldsLoop: for (let i = 0; i < queryFields.length; i++) { const field = queryFields[i]; + const fieldName = isKuery ? `"${queryFields[i]}"` : escapeForElasticsearchQuery(field); + // Use lodash get to allow nested JSON fields to be retrieved. let tokenValues: string[] | string | null = get(record, field) || null; if (tokenValues === null) { @@ -169,7 +206,7 @@ const getQueryStringResultProvider = // combine values with OR operator e.g. `(influencerField:value or influencerField:another_value)`. let result = ''; for (let j = 0; j < tokenValues.length; j++) { - const part = `${j > 0 ? ' OR ' : ''}${field}:"${getResultTokenValue(tokenValues[j])}"`; + const part = `${j > 0 ? ' OR ' : ''}${fieldName}:"${getResultTokenValue(tokenValues[j])}"`; // Build up a URL string which is not longer than the allowed length and isn't corrupted by invalid query. if (availableCharactersLeft < part.length) { @@ -225,9 +262,9 @@ function buildKibanaUrl(urlConfig: UrlConfig, record: CustomUrlAnomalyRecordDoc) }; return flow( + decodeURIComponent, (str: string) => str.replace('$earliest$', record.earliest).replace('$latest$', record.latest), // Process query string content of the URL - decodeURIComponent, (str: string) => { const getResultTokenValue: GetResultTokenValue = flow( queryLanguageEscapeCallback, @@ -241,11 +278,18 @@ function buildKibanaUrl(urlConfig: UrlConfig, record: CustomUrlAnomalyRecordDoc) if (match !== null && match[2] !== undefined) { const [, prefix, queryDef, postfix] = match; + const isKuery = queryDef.indexOf('language:kuery') > -1; + const q = rison.decode(queryDef); if (isRisonObject(q) && q.hasOwnProperty('query')) { const [resultPrefix, resultPostfix] = [prefix, postfix].map(replaceSingleTokenValues); - const resultQuery = getQueryStringResult(resultPrefix, q.query as string, resultPostfix); + const resultQuery = getQueryStringResult( + resultPrefix, + q.query as string, + resultPostfix, + isKuery + ); return `${resultPrefix}${rison.encode({ ...q, query: resultQuery })}${resultPostfix}`; } } @@ -254,7 +298,12 @@ function buildKibanaUrl(urlConfig: UrlConfig, record: CustomUrlAnomalyRecordDoc) /(.+&kuery=)(.*?)[^!](&.+)/, (fullMatch, prefix: string, queryString: string, postfix: string) => { const [resultPrefix, resultPostfix] = [prefix, postfix].map(replaceSingleTokenValues); - const resultQuery = getQueryStringResult(resultPrefix, queryString, resultPostfix); + const resultQuery = getQueryStringResult( + resultPrefix, + queryString, + resultPostfix, + str.indexOf('language:kuery') > -1 + ); return `${resultPrefix}${resultQuery}${resultPostfix}`; } ); diff --git a/x-pack/plugins/ml/public/embeddables/anomaly_charts/anomaly_charts_embeddable.tsx b/x-pack/plugins/ml/public/embeddables/anomaly_charts/anomaly_charts_embeddable.tsx index 47be6065aa99b..67d05d3b45404 100644 --- a/x-pack/plugins/ml/public/embeddables/anomaly_charts/anomaly_charts_embeddable.tsx +++ b/x-pack/plugins/ml/public/embeddables/anomaly_charts/anomaly_charts_embeddable.tsx @@ -92,10 +92,28 @@ export class AnomalyChartsEmbeddable extends Embeddable< } } + public onLoading() { + this.renderComplete.dispatchInProgress(); + this.updateOutput({ loading: true, error: undefined }); + } + + public onError(error: Error) { + this.renderComplete.dispatchError(); + this.updateOutput({ loading: false, error: { name: error.name, message: error.message } }); + } + + public onRenderComplete() { + this.renderComplete.dispatchComplete(); + this.updateOutput({ loading: false, error: undefined }); + } + public render(node: HTMLElement) { super.render(node); this.node = node; + // required for the export feature to work + this.node.setAttribute('data-shared-item', ''); + const I18nContext = this.services[0].i18n.Context; ReactDOM.render( @@ -110,6 +128,9 @@ export class AnomalyChartsEmbeddable extends Embeddable< refresh={this.reload$.asObservable()} onInputChange={this.updateInput.bind(this)} onOutputChange={this.updateOutput.bind(this)} + onRenderComplete={this.onRenderComplete.bind(this)} + onLoading={this.onLoading.bind(this)} + onError={this.onError.bind(this)} /> diff --git a/x-pack/plugins/ml/public/embeddables/anomaly_charts/embeddable_anomaly_charts_container.test.tsx b/x-pack/plugins/ml/public/embeddables/anomaly_charts/embeddable_anomaly_charts_container.test.tsx index 55e07da9011fb..2b6c0273db263 100644 --- a/x-pack/plugins/ml/public/embeddables/anomaly_charts/embeddable_anomaly_charts_container.test.tsx +++ b/x-pack/plugins/ml/public/embeddables/anomaly_charts/embeddable_anomaly_charts_container.test.tsx @@ -49,6 +49,9 @@ describe('EmbeddableAnomalyChartsContainer', () => { const onInputChange = jest.fn(); const onOutputChange = jest.fn(); + const onRenderComplete = jest.fn(); + const onLoading = jest.fn(); + const onError = jest.fn(); const mockedInput = { viewMode: 'view', @@ -145,6 +148,9 @@ describe('EmbeddableAnomalyChartsContainer', () => { refresh={refresh} onInputChange={onInputChange} onOutputChange={onOutputChange} + onLoading={onLoading} + onRenderComplete={onRenderComplete} + onError={onError} />, defaultOptions ); @@ -172,6 +178,9 @@ describe('EmbeddableAnomalyChartsContainer', () => { refresh={refresh} onInputChange={onInputChange} onOutputChange={onOutputChange} + onLoading={onLoading} + onRenderComplete={onRenderComplete} + onError={onError} />, defaultOptions ); diff --git a/x-pack/plugins/ml/public/embeddables/anomaly_charts/embeddable_anomaly_charts_container.tsx b/x-pack/plugins/ml/public/embeddables/anomaly_charts/embeddable_anomaly_charts_container.tsx index 698fcfd55583e..77a8611f8ac8e 100644 --- a/x-pack/plugins/ml/public/embeddables/anomaly_charts/embeddable_anomaly_charts_container.tsx +++ b/x-pack/plugins/ml/public/embeddables/anomaly_charts/embeddable_anomaly_charts_container.tsx @@ -38,6 +38,9 @@ export interface EmbeddableAnomalyChartsContainerProps { refresh: Observable; onInputChange: (input: Partial) => void; onOutputChange: (output: Partial) => void; + onRenderComplete: () => void; + onLoading: () => void; + onError: (error: Error) => void; } export const EmbeddableAnomalyChartsContainer: FC = ({ @@ -48,6 +51,9 @@ export const EmbeddableAnomalyChartsContainer: FC { const [chartWidth, setChartWidth] = useState(0); const [severity, setSeverity] = useState( @@ -93,7 +99,8 @@ export const EmbeddableAnomalyChartsContainer: FC { diff --git a/x-pack/plugins/ml/public/embeddables/anomaly_charts/use_anomaly_charts_input_resolver.test.ts b/x-pack/plugins/ml/public/embeddables/anomaly_charts/use_anomaly_charts_input_resolver.test.ts index 4dde7b41148c2..9b7c0d9800ad2 100644 --- a/x-pack/plugins/ml/public/embeddables/anomaly_charts/use_anomaly_charts_input_resolver.test.ts +++ b/x-pack/plugins/ml/public/embeddables/anomaly_charts/use_anomaly_charts_input_resolver.test.ts @@ -40,6 +40,12 @@ describe('useAnomalyChartsInputResolver', () => { const start = moment().subtract(1, 'years'); const end = moment(); + const renderCallbacks = { + onRenderComplete: jest.fn(), + onLoading: jest.fn(), + onError: jest.fn(), + }; + beforeEach(() => { jest.useFakeTimers(); @@ -157,24 +163,30 @@ describe('useAnomalyChartsInputResolver', () => { refresh, services, 1000, - 0 + 0, + renderCallbacks ) ); expect(result.current.chartsData).toBe(undefined); expect(result.current.error).toBe(undefined); expect(result.current.isLoading).toBe(true); + expect(renderCallbacks.onLoading).toHaveBeenCalledTimes(0); await act(async () => { jest.advanceTimersByTime(501); await waitForNextUpdate(); }); + expect(renderCallbacks.onLoading).toHaveBeenCalledTimes(1); + const explorerServices = services[2]; expect(explorerServices.anomalyDetectorService.getJobs$).toHaveBeenCalledTimes(1); expect(explorerServices.anomalyExplorerService.getAnomalyData).toHaveBeenCalledTimes(1); + expect(renderCallbacks.onRenderComplete).toHaveBeenCalledTimes(1); + await act(async () => { embeddableInput.next({ id: 'test-explorer-charts-embeddable', @@ -191,8 +203,13 @@ describe('useAnomalyChartsInputResolver', () => { await waitForNextUpdate(); }); + expect(renderCallbacks.onLoading).toHaveBeenCalledTimes(2); + expect(explorerServices.anomalyDetectorService.getJobs$).toHaveBeenCalledTimes(2); expect(explorerServices.anomalyExplorerService.getAnomalyData).toHaveBeenCalledTimes(2); + + expect(renderCallbacks.onRenderComplete).toHaveBeenCalledTimes(2); + expect(renderCallbacks.onError).toHaveBeenCalledTimes(0); }); test('should not complete the observable on error', async () => { @@ -203,7 +220,8 @@ describe('useAnomalyChartsInputResolver', () => { refresh, services, 1000, - 1 + 1, + renderCallbacks ) ); @@ -216,5 +234,6 @@ describe('useAnomalyChartsInputResolver', () => { } as Partial); }); expect(result.current.error).toBeDefined(); + expect(renderCallbacks.onError).toHaveBeenCalledTimes(1); }); }); diff --git a/x-pack/plugins/ml/public/embeddables/anomaly_charts/use_anomaly_charts_input_resolver.ts b/x-pack/plugins/ml/public/embeddables/anomaly_charts/use_anomaly_charts_input_resolver.ts index 86772dac40dc0..da3329b7bb520 100644 --- a/x-pack/plugins/ml/public/embeddables/anomaly_charts/use_anomaly_charts_input_resolver.ts +++ b/x-pack/plugins/ml/public/embeddables/anomaly_charts/use_anomaly_charts_input_resolver.ts @@ -38,7 +38,12 @@ export function useAnomalyChartsInputResolver( refresh: Observable, services: [CoreStart, MlStartDependencies, AnomalyChartsServices], chartWidth: number, - severity: number + severity: number, + renderCallbacks: { + onRenderComplete: () => void; + onLoading: () => void; + onError: (error: Error) => void; + } ): { chartsData: ExplorerChartsData; isLoading: boolean; error: Error | null | undefined } { const [ { uiSettings }, @@ -74,6 +79,9 @@ export function useAnomalyChartsInputResolver( .pipe( tap(setIsLoading.bind(null, true)), debounceTime(FETCH_RESULTS_DEBOUNCE_MS), + tap(() => { + renderCallbacks.onLoading(); + }), switchMap(([explorerJobs, input, embeddableContainerWidth, severityValue]) => { if (!explorerJobs) { // couldn't load the list of jobs @@ -157,6 +165,8 @@ export function useAnomalyChartsInputResolver( setError(null); setChartsData(results.chartsData); setIsLoading(false); + + renderCallbacks.onRenderComplete(); } }); @@ -173,5 +183,11 @@ export function useAnomalyChartsInputResolver( severity$.next(severity); }, [severity]); + useEffect(() => { + if (error) { + renderCallbacks.onError(error); + } + }, [error]); + return { chartsData, isLoading, error }; } diff --git a/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/anomaly_swimlane_embeddable.tsx b/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/anomaly_swimlane_embeddable.tsx index 7f9e99f3a0c8e..1ee8aba380d62 100644 --- a/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/anomaly_swimlane_embeddable.tsx +++ b/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/anomaly_swimlane_embeddable.tsx @@ -53,10 +53,28 @@ export class AnomalySwimlaneEmbeddable extends Embeddable< ); } + public onLoading() { + this.renderComplete.dispatchInProgress(); + this.updateOutput({ loading: true, error: undefined }); + } + + public onError(error: Error) { + this.renderComplete.dispatchError(); + this.updateOutput({ loading: false, error: { name: error.name, message: error.message } }); + } + + public onRenderComplete() { + this.renderComplete.dispatchComplete(); + this.updateOutput({ loading: false, error: undefined }); + } + public render(node: HTMLElement) { super.render(node); this.node = node; + // required for the export feature to work + this.node.setAttribute('data-shared-item', ''); + const I18nContext = this.services[0].i18n.Context; ReactDOM.render( @@ -71,6 +89,9 @@ export class AnomalySwimlaneEmbeddable extends Embeddable< refresh={this.reload$.asObservable()} onInputChange={this.updateInput.bind(this)} onOutputChange={this.updateOutput.bind(this)} + onRenderComplete={this.onRenderComplete.bind(this)} + onLoading={this.onLoading.bind(this)} + onError={this.onError.bind(this)} /> diff --git a/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/embeddable_swim_lane_container.test.tsx b/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/embeddable_swim_lane_container.test.tsx index c48113d74a9e0..98b675105d4c8 100644 --- a/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/embeddable_swim_lane_container.test.tsx +++ b/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/embeddable_swim_lane_container.test.tsx @@ -48,6 +48,9 @@ describe('ExplorerSwimlaneContainer', () => { const onInputChange = jest.fn(); const onOutputChange = jest.fn(); + const onRenderComplete = jest.fn(); + const onLoading = jest.fn(); + const onError = jest.fn(); beforeEach(() => { embeddableContext = { id: 'test-id' } as AnomalySwimlaneEmbeddable; @@ -102,6 +105,9 @@ describe('ExplorerSwimlaneContainer', () => { refresh={refresh} onInputChange={onInputChange} onOutputChange={onOutputChange} + onLoading={onLoading} + onRenderComplete={onRenderComplete} + onError={onError} />, defaultOptions ); @@ -141,6 +147,9 @@ describe('ExplorerSwimlaneContainer', () => { refresh={refresh} onInputChange={onInputChange} onOutputChange={onOutputChange} + onLoading={onLoading} + onRenderComplete={onRenderComplete} + onError={onError} />, defaultOptions ); diff --git a/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/embeddable_swim_lane_container.tsx b/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/embeddable_swim_lane_container.tsx index daa2858659cae..ef3553c8fd65a 100644 --- a/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/embeddable_swim_lane_container.tsx +++ b/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/embeddable_swim_lane_container.tsx @@ -35,6 +35,9 @@ export interface ExplorerSwimlaneContainerProps { refresh: Observable; onInputChange: (input: Partial) => void; onOutputChange: (output: Partial) => void; + onRenderComplete: () => void; + onLoading: () => void; + onError: (error: Error) => void; } export const EmbeddableSwimLaneContainer: FC = ({ @@ -45,6 +48,9 @@ export const EmbeddableSwimLaneContainer: FC = ( refresh, onInputChange, onOutputChange, + onRenderComplete, + onLoading, + onError, }) => { const [chartWidth, setChartWidth] = useState(0); @@ -61,7 +67,8 @@ export const EmbeddableSwimLaneContainer: FC = ( refresh, services, chartWidth, - fromPage + fromPage, + { onRenderComplete, onError, onLoading } ); useEffect(() => { diff --git a/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/swimlane_input_resolver.test.ts b/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/swimlane_input_resolver.test.ts index 28aae4bcc0a55..de2281b395000 100644 --- a/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/swimlane_input_resolver.test.ts +++ b/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/swimlane_input_resolver.test.ts @@ -19,6 +19,12 @@ describe('useSwimlaneInputResolver', () => { let services: [CoreStart, MlStartDependencies, AnomalySwimlaneServices]; let onInputChange: jest.Mock; + const renderCallbacks = { + onRenderComplete: jest.fn(), + onLoading: jest.fn(), + onError: jest.fn(), + }; + beforeEach(() => { jest.useFakeTimers(); @@ -78,6 +84,7 @@ describe('useSwimlaneInputResolver', () => { ]; onInputChange = jest.fn(); }); + afterEach(() => { jest.useRealTimers(); jest.clearAllMocks(); @@ -91,7 +98,8 @@ describe('useSwimlaneInputResolver', () => { refresh, services, 1000, - 1 + 1, + renderCallbacks ) ); @@ -106,6 +114,9 @@ describe('useSwimlaneInputResolver', () => { expect(services[2].anomalyDetectorService.getJobs$).toHaveBeenCalledTimes(1); expect(services[2].anomalyTimelineService.loadOverallData).toHaveBeenCalledTimes(1); + expect(renderCallbacks.onLoading).toHaveBeenCalledTimes(1); + expect(renderCallbacks.onRenderComplete).toHaveBeenCalledTimes(1); + await act(async () => { embeddableInput.next({ id: 'test-swimlane-embeddable', @@ -121,6 +132,9 @@ describe('useSwimlaneInputResolver', () => { expect(services[2].anomalyDetectorService.getJobs$).toHaveBeenCalledTimes(2); expect(services[2].anomalyTimelineService.loadOverallData).toHaveBeenCalledTimes(2); + expect(renderCallbacks.onLoading).toHaveBeenCalledTimes(2); + expect(renderCallbacks.onRenderComplete).toHaveBeenCalledTimes(2); + await act(async () => { embeddableInput.next({ id: 'test-swimlane-embeddable', @@ -135,6 +149,9 @@ describe('useSwimlaneInputResolver', () => { expect(services[2].anomalyDetectorService.getJobs$).toHaveBeenCalledTimes(2); expect(services[2].anomalyTimelineService.loadOverallData).toHaveBeenCalledTimes(3); + + expect(renderCallbacks.onLoading).toHaveBeenCalledTimes(3); + expect(renderCallbacks.onRenderComplete).toHaveBeenCalledTimes(3); }); test('should not complete the observable on error', async () => { @@ -145,7 +162,8 @@ describe('useSwimlaneInputResolver', () => { refresh, services, 1000, - 1 + 1, + renderCallbacks ) ); @@ -160,5 +178,7 @@ describe('useSwimlaneInputResolver', () => { }); expect(result.current[6]?.message).toBe('Invalid job'); + + expect(renderCallbacks.onError).toHaveBeenCalledTimes(1); }); }); diff --git a/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/swimlane_input_resolver.ts b/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/swimlane_input_resolver.ts index 8b0c89bbd16b7..ee3a635071071 100644 --- a/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/swimlane_input_resolver.ts +++ b/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/swimlane_input_resolver.ts @@ -46,10 +46,15 @@ const FETCH_RESULTS_DEBOUNCE_MS = 500; export function useSwimlaneInputResolver( embeddableInput$: Observable, onInputChange: (output: Partial) => void, - refresh: Observable, + refresh: Observable, services: [CoreStart, MlStartDependencies, AnomalySwimlaneServices], chartWidth: number, - fromPage: number + fromPage: number, + renderCallbacks: { + onRenderComplete: () => void; + onLoading: () => void; + onError: (error: Error) => void; + } ): [ string | undefined, OverallSwimlaneData | undefined, @@ -122,6 +127,9 @@ export function useSwimlaneInputResolver( .pipe( tap(setIsLoading.bind(null, true)), debounceTime(FETCH_RESULTS_DEBOUNCE_MS), + tap(() => { + renderCallbacks.onLoading(); + }), switchMap(([explorerJobs, input, bucketInterval, fromPageInput, perPageFromState]) => { if (!explorerJobs) { // couldn't load the list of jobs @@ -227,6 +235,18 @@ export function useSwimlaneInputResolver( chartWidth$.next(chartWidth); }, [chartWidth]); + useEffect(() => { + if (error) { + renderCallbacks.onError(error); + } + }, [error]); + + useEffect(() => { + if (swimlaneData) { + renderCallbacks.onRenderComplete(); + } + }, [swimlaneData]); + return [ swimlaneType, swimlaneData, diff --git a/x-pack/plugins/ml/readme.md b/x-pack/plugins/ml/readme.md index 79ba88e67be8b..7bd1a1a221edd 100644 --- a/x-pack/plugins/ml/readme.md +++ b/x-pack/plugins/ml/readme.md @@ -141,6 +141,20 @@ and Kibana instance that the tests will be run against. ML accessibility tests are located in `x-pack/test/accessibility/apps`. +## Generating docs screenshots + +The screenshot generation uses the functional test runner described in the +`Functional tests` section above. + +Run the following commands from the `x-pack` directory and use separate terminals +for test server and test runner. The test server command starts an Elasticsearch +and Kibana instance that the tests will be run against. + + node scripts/functional_tests_server.js --config test/screenshot_creation/config.ts + node scripts/functional_test_runner.js --config test/screenshot_creation/config.ts --include-tag mlqa + +The generated screenshots are stored in `x-pack/test/functional/screenshots/session/ml_docs`. +ML screenshot generation tests are located in `x-pack/test/screenshot_creation/apps/ml_docs`. ## Shared functions You can find the ML shared functions in the following files in GitHub: diff --git a/x-pack/plugins/ml/server/models/annotation_service/__mocks__/get_annotations_response.json b/x-pack/plugins/ml/server/models/annotation_service/__mocks__/get_annotations_response.json index a0b8f6b242319..829b9c6581bea 100644 --- a/x-pack/plugins/ml/server/models/annotation_service/__mocks__/get_annotations_response.json +++ b/x-pack/plugins/ml/server/models/annotation_service/__mocks__/get_annotations_response.json @@ -15,8 +15,7 @@ "max_score": 0, "hits": [ { - "_index": ".ml-annotations-6", - "_type": "doc", + "_index": ".ml-annotations-000001", "_id": "T-CNvmgBQUJYQVn7TCPA", "_score": 0, "_source": { @@ -32,8 +31,7 @@ } }, { - "_index": ".ml-annotations-6", - "_type": "doc", + "_index": ".ml-annotations-000001", "_id": "3lVpvmgB5xYzd3PM-MSe", "_score": 0, "_source": { diff --git a/x-pack/plugins/ml/server/models/annotation_service/annotation.test.ts b/x-pack/plugins/ml/server/models/annotation_service/annotation.test.ts index 975070e92a7ec..5663ee6ac79ca 100644 --- a/x-pack/plugins/ml/server/models/annotation_service/annotation.test.ts +++ b/x-pack/plugins/ml/server/models/annotation_service/annotation.test.ts @@ -41,7 +41,7 @@ describe('annotation_service', () => { const annotationMockId = 'mockId'; const deleteParamsMock: DeleteParams = { - index: '.ml-annotations-6', + index: '.ml-annotations-000001', id: annotationMockId, refresh: 'wait_for', }; diff --git a/x-pack/plugins/ml/server/models/annotation_service/annotation.ts b/x-pack/plugins/ml/server/models/annotation_service/annotation.ts index 227bcee256fb4..f018d44f53c84 100644 --- a/x-pack/plugins/ml/server/models/annotation_service/annotation.ts +++ b/x-pack/plugins/ml/server/models/annotation_service/annotation.ts @@ -72,6 +72,31 @@ export interface DeleteParams { } export function annotationProvider({ asInternalUser }: IScopedClusterClient) { + // Find the index the annotation is stored in. + async function fetchAnnotationIndex(id: string) { + const searchParams: estypes.SearchRequest = { + index: ML_ANNOTATIONS_INDEX_ALIAS_READ, + size: 1, + body: { + query: { + ids: { + values: [id], + }, + }, + }, + }; + + const { body } = await asInternalUser.search(searchParams); + const totalCount = + typeof body.hits.total === 'number' ? body.hits.total : body.hits.total!.value; + + if (totalCount === 0) { + throw Boom.notFound(`Cannot find annotation with ID ${id}`); + } + + return body.hits.hits[0]._index; + } + async function indexAnnotation(annotation: Annotation, username: string) { if (isAnnotation(annotation) === false) { // No need to translate, this will not be exposed in the UI. @@ -95,6 +120,8 @@ export function annotationProvider({ asInternalUser }: IScopedClusterClient) { if (typeof annotation._id !== 'undefined') { params.id = annotation._id; + params.index = await fetchAnnotationIndex(annotation._id); + params.require_alias = false; delete params.body._id; delete params.body.key; } @@ -385,28 +412,7 @@ export function annotationProvider({ asInternalUser }: IScopedClusterClient) { } async function deleteAnnotation(id: string) { - // Find the index the annotation is stored in. - const searchParams: estypes.SearchRequest = { - index: ML_ANNOTATIONS_INDEX_ALIAS_READ, - size: 1, - body: { - query: { - ids: { - values: [id], - }, - }, - }, - }; - - const { body } = await asInternalUser.search(searchParams); - const totalCount = - typeof body.hits.total === 'number' ? body.hits.total : body.hits.total.value; - - if (totalCount === 0) { - throw Boom.notFound(`Cannot find annotation with ID ${id}`); - } - - const index = body.hits.hits[0]._index; + const index = await fetchAnnotationIndex(id); const deleteParams: DeleteParams = { index, diff --git a/x-pack/plugins/ml/server/models/job_service/new_job/categorization/top_categories.ts b/x-pack/plugins/ml/server/models/job_service/new_job/categorization/top_categories.ts index 87715d9d85dbf..f260fe7680dce 100644 --- a/x-pack/plugins/ml/server/models/job_service/new_job/categorization/top_categories.ts +++ b/x-pack/plugins/ml/server/models/job_service/new_job/categorization/top_categories.ts @@ -34,7 +34,7 @@ export function topCategoriesProvider(mlClient: MlClient) { }, }, }, - [] + [jobId] ); return typeof body.hits.total === 'number' ? body.hits.total : body.hits.total.value; } @@ -75,7 +75,7 @@ export function topCategoriesProvider(mlClient: MlClient) { }, }, }, - [] + [jobId] ); const catCounts: Array<{ @@ -123,7 +123,7 @@ export function topCategoriesProvider(mlClient: MlClient) { }, }, }, - [] + [jobId] ); // @ts-expect-error incorrect search response type diff --git a/x-pack/plugins/ml/server/models/results_service/results_service.ts b/x-pack/plugins/ml/server/models/results_service/results_service.ts index d366338d461c7..18704fc2e1cd2 100644 --- a/x-pack/plugins/ml/server/models/results_service/results_service.ts +++ b/x-pack/plugins/ml/server/models/results_service/results_service.ts @@ -180,7 +180,7 @@ export function resultsServiceProvider(mlClient: MlClient, client?: IScopedClust sort: [{ record_score: { order: 'desc' } }], }, }, - [] + jobIds ); const tableData: { @@ -311,7 +311,7 @@ export function resultsServiceProvider(mlClient: MlClient, client?: IScopedClust }, }; - const { body } = await mlClient.anomalySearch(query, []); + const { body } = await mlClient.anomalySearch(query, jobIds); const maxScore = get(body, ['aggregations', 'max_score', 'value'], null); return { maxScore }; @@ -375,7 +375,7 @@ export function resultsServiceProvider(mlClient: MlClient, client?: IScopedClust }, }, }, - [] + jobIds ); const bucketsByJobId: Array<{ key: string; maxTimestamp: { value?: number } }> = get( @@ -406,7 +406,7 @@ export function resultsServiceProvider(mlClient: MlClient, client?: IScopedClust }, }, }, - [] + [jobId] ); const examplesByCategoryId: { [key: string]: any } = {}; @@ -443,7 +443,7 @@ export function resultsServiceProvider(mlClient: MlClient, client?: IScopedClust }, }, }, - [] + [jobId] ); const definition = { categoryId, terms: null, regex: null, examples: [] }; @@ -492,7 +492,7 @@ export function resultsServiceProvider(mlClient: MlClient, client?: IScopedClust }, }, }, - [] + [jobId] ); return body ? body.hits.hits.map((r) => r._source) : []; } @@ -583,7 +583,7 @@ export function resultsServiceProvider(mlClient: MlClient, client?: IScopedClust aggs, }, }, - [] + jobIds ); if (fieldToBucket === JOB_ID) { finalResults = { diff --git a/x-pack/plugins/ml/server/routes/schemas/runtime_mappings_schema.ts b/x-pack/plugins/ml/server/routes/schemas/runtime_mappings_schema.ts index 36d4ba8cee5e9..31d8d615c8e33 100644 --- a/x-pack/plugins/ml/server/routes/schemas/runtime_mappings_schema.ts +++ b/x-pack/plugins/ml/server/routes/schemas/runtime_mappings_schema.ts @@ -6,6 +6,7 @@ */ import { schema } from '@kbn/config-schema'; +import { i18n } from '@kbn/i18n'; import { isRuntimeField } from '../../../common/util/runtime_field_utils'; export const runtimeMappingsSchema = schema.object( @@ -14,7 +15,9 @@ export const runtimeMappingsSchema = schema.object( unknowns: 'allow', validate: (v: object) => { if (Object.values(v).some((o) => !isRuntimeField(o))) { - return 'Invalid runtime field'; + return i18n.translate('xpack.ml.invalidRuntimeFieldMessage', { + defaultMessage: 'Invalid runtime field', + }); } }, } diff --git a/x-pack/plugins/monitoring/public/alerts/alerts_dropdown.tsx b/x-pack/plugins/monitoring/public/alerts/alerts_dropdown.tsx index 976569f39de4c..60eaa7c7213dd 100644 --- a/x-pack/plugins/monitoring/public/alerts/alerts_dropdown.tsx +++ b/x-pack/plugins/monitoring/public/alerts/alerts_dropdown.tsx @@ -15,13 +15,12 @@ import { i18n } from '@kbn/i18n'; import React, { useState } from 'react'; import { FormattedMessage } from '@kbn/i18n/react'; import { useKibana } from '../../../../../src/plugins/kibana_react/public'; -import { MonitoringStartPluginDependencies } from '../types'; +import { MonitoringStartServices } from '../types'; import { useAlertsModal } from '../application/hooks/use_alerts_modal'; export const AlertsDropdown: React.FC<{}> = () => { const alertsEnableModalProvider = useAlertsModal(); - const { navigateToApp } = - useKibana().services.application; + const { navigateToApp } = useKibana().services.application; const [isPopoverOpen, setIsPopoverOpen] = useState(false); diff --git a/x-pack/plugins/monitoring/public/alerts/ccr_read_exceptions_alert/index.tsx b/x-pack/plugins/monitoring/public/alerts/ccr_read_exceptions_alert/index.tsx index 64eab04cbd5ce..cd09185b8ad93 100644 --- a/x-pack/plugins/monitoring/public/alerts/ccr_read_exceptions_alert/index.tsx +++ b/x-pack/plugins/monitoring/public/alerts/ccr_read_exceptions_alert/index.tsx @@ -5,17 +5,20 @@ * 2.0. */ -import React from 'react'; import { i18n } from '@kbn/i18n'; -import { Expression, Props } from '../components/param_details_form/expression'; -import { AlertTypeModel, ValidationResult } from '../../../../triggers_actions_ui/public'; +import React from 'react'; +import type { AlertTypeParams } from '../../../../alerting/common'; +import type { AlertTypeModel, ValidationResult } from '../../../../triggers_actions_ui/public'; import { RULE_CCR_READ_EXCEPTIONS, RULE_DETAILS, RULE_REQUIRES_APP_CONTEXT, } from '../../../common/constants'; -import { AlertTypeParams } from '../../../../alerting/common'; -import { MonitoringConfig } from '../../types'; +import type { MonitoringConfig } from '../../types'; +import { + LazyExpression, + LazyExpressionProps, +} from '../components/param_details_form/lazy_expression'; interface ValidateOptions extends AlertTypeParams { duration: string; @@ -47,8 +50,8 @@ export function createCCRReadExceptionsAlertType( documentationUrl(docLinks) { return `${docLinks.links.monitoring.alertsKibanaCCRReadExceptions}`; }, - alertParamsExpression: (props: Props) => ( - ( + = (props) => { ); }; + +// for lazy loading +// eslint-disable-next-line import/no-default-export +export default Expression; diff --git a/x-pack/plugins/watcher/__jest__/client_integration/helpers/body_response.ts b/x-pack/plugins/monitoring/public/alerts/components/param_details_form/lazy_expression.tsx similarity index 57% rename from x-pack/plugins/watcher/__jest__/client_integration/helpers/body_response.ts rename to x-pack/plugins/monitoring/public/alerts/components/param_details_form/lazy_expression.tsx index dce7213297388..b05eb57921b81 100644 --- a/x-pack/plugins/watcher/__jest__/client_integration/helpers/body_response.ts +++ b/x-pack/plugins/monitoring/public/alerts/components/param_details_form/lazy_expression.tsx @@ -5,6 +5,7 @@ * 2.0. */ -export const wrapBodyResponse = (obj: object) => JSON.stringify({ body: JSON.stringify(obj) }); +import React from 'react'; -export const unwrapBodyResponse = (string: string) => JSON.parse(JSON.parse(string).body); +export type { Props as LazyExpressionProps } from './expression'; +export const LazyExpression = React.lazy(() => import('./expression')); diff --git a/x-pack/plugins/monitoring/public/alerts/cpu_usage_alert/cpu_usage_alert.tsx b/x-pack/plugins/monitoring/public/alerts/cpu_usage_alert/cpu_usage_alert.tsx index f0e0a413435f9..337c3c8e1c496 100644 --- a/x-pack/plugins/monitoring/public/alerts/cpu_usage_alert/cpu_usage_alert.tsx +++ b/x-pack/plugins/monitoring/public/alerts/cpu_usage_alert/cpu_usage_alert.tsx @@ -6,12 +6,14 @@ */ import React from 'react'; -// eslint-disable-next-line @kbn/eslint/no-restricted-paths -import { AlertTypeModel } from '../../../../triggers_actions_ui/public/types'; +import type { AlertTypeModel } from '../../../../triggers_actions_ui/public'; import { RULE_CPU_USAGE, RULE_DETAILS, RULE_REQUIRES_APP_CONTEXT } from '../../../common/constants'; -import { validate, MonitoringAlertTypeParams } from '../components/param_details_form/validation'; -import { Expression, Props } from '../components/param_details_form/expression'; -import { MonitoringConfig } from '../../types'; +import type { MonitoringConfig } from '../../types'; +import { + LazyExpression, + LazyExpressionProps, +} from '../components/param_details_form/lazy_expression'; +import { MonitoringAlertTypeParams, validate } from '../components/param_details_form/validation'; export function createCpuUsageAlertType( config: MonitoringConfig @@ -23,8 +25,8 @@ export function createCpuUsageAlertType( documentationUrl(docLinks) { return `${docLinks.links.monitoring.alertsKibanaCpuThreshold}`; }, - alertParamsExpression: (props: Props) => ( - ( + ( - ( + ( - ( + ); }; + +// for lazy loading +// eslint-disable-next-line import/no-default-export +export default Expression; diff --git a/x-pack/plugins/monitoring/public/alerts/legacy_alert/lazy_expression.tsx b/x-pack/plugins/monitoring/public/alerts/legacy_alert/lazy_expression.tsx new file mode 100644 index 0000000000000..7479c932e53ee --- /dev/null +++ b/x-pack/plugins/monitoring/public/alerts/legacy_alert/lazy_expression.tsx @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; + +export type { Props as LazyExpressionProps } from '../components/param_details_form/expression'; +export const LazyExpression = React.lazy(() => import('./expression')); diff --git a/x-pack/plugins/monitoring/public/alerts/legacy_alert/legacy_alert.tsx b/x-pack/plugins/monitoring/public/alerts/legacy_alert/legacy_alert.tsx index a6c22035c5a5a..f7bf8388886d6 100644 --- a/x-pack/plugins/monitoring/public/alerts/legacy_alert/legacy_alert.tsx +++ b/x-pack/plugins/monitoring/public/alerts/legacy_alert/legacy_alert.tsx @@ -6,16 +6,14 @@ */ import React from 'react'; -// eslint-disable-next-line @kbn/eslint/no-restricted-paths -import { AlertTypeModel } from '../../../../triggers_actions_ui/public/types'; +import type { AlertTypeModel } from '../../../../triggers_actions_ui/public'; import { LEGACY_RULES, LEGACY_RULE_DETAILS, RULE_REQUIRES_APP_CONTEXT, } from '../../../common/constants'; -import { MonitoringConfig } from '../../types'; -import { Expression } from './expression'; -import { Props } from '../components/param_details_form/expression'; +import type { MonitoringConfig } from '../../types'; +import { LazyExpression, LazyExpressionProps } from './lazy_expression'; export function createLegacyAlertTypes(config: MonitoringConfig): AlertTypeModel[] { return LEGACY_RULES.map((legacyAlert) => { @@ -26,7 +24,9 @@ export function createLegacyAlertTypes(config: MonitoringConfig): AlertTypeModel documentationUrl(docLinks) { return `${docLinks.links.monitoring.alertsKibanaClusterAlerts}`; }, - alertParamsExpression: (props: Props) => , + alertParamsExpression: (props: LazyExpressionProps) => ( + + ), defaultActionMessage: '{{context.internalFullMessage}}', validate: () => ({ errors: {} }), requiresAppContext: RULE_REQUIRES_APP_CONTEXT, diff --git a/x-pack/plugins/monitoring/public/alerts/memory_usage_alert/index.tsx b/x-pack/plugins/monitoring/public/alerts/memory_usage_alert/index.tsx index 2fe0c9b77c0eb..18193fca860fa 100644 --- a/x-pack/plugins/monitoring/public/alerts/memory_usage_alert/index.tsx +++ b/x-pack/plugins/monitoring/public/alerts/memory_usage_alert/index.tsx @@ -6,17 +6,18 @@ */ import React from 'react'; -import { validate, MonitoringAlertTypeParams } from '../components/param_details_form/validation'; -import { Expression, Props } from '../components/param_details_form/expression'; - -// eslint-disable-next-line @kbn/eslint/no-restricted-paths -import { AlertTypeModel } from '../../../../triggers_actions_ui/public/types'; +import type { AlertTypeModel } from '../../../../triggers_actions_ui/public'; import { - RULE_MEMORY_USAGE, RULE_DETAILS, + RULE_MEMORY_USAGE, RULE_REQUIRES_APP_CONTEXT, } from '../../../common/constants'; -import { MonitoringConfig } from '../../types'; +import type { MonitoringConfig } from '../../types'; +import { + LazyExpression, + LazyExpressionProps, +} from '../components/param_details_form/lazy_expression'; +import { MonitoringAlertTypeParams, validate } from '../components/param_details_form/validation'; export function createMemoryUsageAlertType( config: MonitoringConfig @@ -28,8 +29,8 @@ export function createMemoryUsageAlertType( documentationUrl(docLinks) { return `${docLinks.links.monitoring.alertsKibanaJvmThreshold}`; }, - alertParamsExpression: (props: Props) => ( - ( + = (props) => { ); }; + +// for lazy loading +// eslint-disable-next-line import/no-default-export +export default Expression; diff --git a/x-pack/plugins/monitoring/public/alerts/missing_monitoring_data_alert/lazy_expression.tsx b/x-pack/plugins/monitoring/public/alerts/missing_monitoring_data_alert/lazy_expression.tsx new file mode 100644 index 0000000000000..b05eb57921b81 --- /dev/null +++ b/x-pack/plugins/monitoring/public/alerts/missing_monitoring_data_alert/lazy_expression.tsx @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; + +export type { Props as LazyExpressionProps } from './expression'; +export const LazyExpression = React.lazy(() => import('./expression')); diff --git a/x-pack/plugins/monitoring/public/alerts/missing_monitoring_data_alert/missing_monitoring_data_alert.tsx b/x-pack/plugins/monitoring/public/alerts/missing_monitoring_data_alert/missing_monitoring_data_alert.tsx index 4c90f067d47c0..4d19a2c3865c3 100644 --- a/x-pack/plugins/monitoring/public/alerts/missing_monitoring_data_alert/missing_monitoring_data_alert.tsx +++ b/x-pack/plugins/monitoring/public/alerts/missing_monitoring_data_alert/missing_monitoring_data_alert.tsx @@ -6,15 +6,14 @@ */ import React from 'react'; -// eslint-disable-next-line @kbn/eslint/no-restricted-paths -import { AlertTypeModel } from '../../../../triggers_actions_ui/public/types'; -import { validate } from './validation'; +import type { AlertTypeModel } from '../../../../triggers_actions_ui/public'; import { - RULE_MISSING_MONITORING_DATA, RULE_DETAILS, + RULE_MISSING_MONITORING_DATA, RULE_REQUIRES_APP_CONTEXT, } from '../../../common/constants'; -import { Expression } from './expression'; +import { LazyExpression, LazyExpressionProps } from './lazy_expression'; +import { validate } from './validation'; export function createMissingMonitoringDataAlertType(): AlertTypeModel { return { @@ -24,8 +23,8 @@ export function createMissingMonitoringDataAlertType(): AlertTypeModel { documentationUrl(docLinks) { return `${docLinks.links.monitoring.alertsKibanaMissingData}`; }, - alertParamsExpression: (props: any) => ( - ( + diff --git a/x-pack/plugins/monitoring/public/alerts/thread_pool_rejections_alert/index.tsx b/x-pack/plugins/monitoring/public/alerts/thread_pool_rejections_alert/index.tsx index e8a15ad835581..11c5d783ca439 100644 --- a/x-pack/plugins/monitoring/public/alerts/thread_pool_rejections_alert/index.tsx +++ b/x-pack/plugins/monitoring/public/alerts/thread_pool_rejections_alert/index.tsx @@ -5,15 +5,17 @@ * 2.0. */ -import React from 'react'; -import { i18n } from '@kbn/i18n'; import { EuiSpacer } from '@elastic/eui'; -import { Expression, Props } from '../components/param_details_form/expression'; -// eslint-disable-next-line @kbn/eslint/no-restricted-paths -import { AlertTypeModel } from '../../../../triggers_actions_ui/public/types'; -import { CommonAlertParamDetails } from '../../../common/types/alerts'; +import { i18n } from '@kbn/i18n'; +import React from 'react'; +import type { AlertTypeModel } from '../../../../triggers_actions_ui/public'; import { RULE_REQUIRES_APP_CONTEXT } from '../../../common/constants'; -import { MonitoringConfig } from '../../types'; +import type { CommonAlertParamDetails } from '../../../common/types/alerts'; +import type { MonitoringConfig } from '../../types'; +import { + LazyExpression, + LazyExpressionProps, +} from '../components/param_details_form/lazy_expression'; interface ThreadPoolTypes { [key: string]: unknown; @@ -37,10 +39,14 @@ export function createThreadPoolRejectionsAlertType( documentationUrl(docLinks) { return `${docLinks.links.monitoring.alertsKibanaThreadpoolRejections}`; }, - alertParamsExpression: (props: Props) => ( + alertParamsExpression: (props: LazyExpressionProps) => ( <> - + ), validate: (inputValues: ThreadPoolTypes) => { diff --git a/x-pack/plugins/monitoring/public/application/contexts/global_state_context.tsx b/x-pack/plugins/monitoring/public/application/contexts/global_state_context.tsx index cc8619dbc7ad2..3dbb703b5706f 100644 --- a/x-pack/plugins/monitoring/public/application/contexts/global_state_context.tsx +++ b/x-pack/plugins/monitoring/public/application/contexts/global_state_context.tsx @@ -6,13 +6,13 @@ */ import React, { createContext } from 'react'; import { GlobalState } from '../../url_state'; -import { MonitoringStartPluginDependencies } from '../../types'; +import { MonitoringStartPluginDependencies, MonitoringStartServices } from '../../types'; import { TimeRange, RefreshInterval } from '../../../../../../src/plugins/data/public'; import { Legacy } from '../../legacy_shims'; interface GlobalStateProviderProps { query: MonitoringStartPluginDependencies['data']['query']; - toasts: MonitoringStartPluginDependencies['core']['notifications']['toasts']; + toasts: MonitoringStartServices['notifications']['toasts']; } export interface State { diff --git a/x-pack/plugins/monitoring/public/components/shared/toolbar.tsx b/x-pack/plugins/monitoring/public/components/shared/toolbar.tsx index 6a1ed1dd16f48..eac4814580adb 100644 --- a/x-pack/plugins/monitoring/public/components/shared/toolbar.tsx +++ b/x-pack/plugins/monitoring/public/components/shared/toolbar.tsx @@ -12,17 +12,41 @@ import { EuiTitle, OnRefreshChangeProps, } from '@elastic/eui'; -import React, { useContext, useCallback } from 'react'; +import React, { useContext, useCallback, useMemo } from 'react'; import { MonitoringTimeContainer } from '../../application/hooks/use_monitoring_time'; import { GlobalStateContext } from '../../application/contexts/global_state_context'; import { Legacy } from '../../legacy_shims'; - +import { MonitoringStartServices } from '../../types'; +import { useKibana } from '../../../../../../src/plugins/kibana_react/public'; +import { UI_SETTINGS } from '../../../../../../src/plugins/data/common'; interface MonitoringToolbarProps { pageTitle?: string; onRefresh?: () => void; } +interface TimePickerQuickRange { + from: string; + to: string; + display: string; +} + export const MonitoringToolbar: React.FC = ({ pageTitle, onRefresh }) => { + const { services } = useKibana(); + + const timePickerQuickRanges = services.uiSettings.get( + UI_SETTINGS.TIMEPICKER_QUICK_RANGES + ); + + const commonlyUsedRanges = useMemo( + () => + timePickerQuickRanges.map(({ from, to, display }) => ({ + start: from, + end: to, + label: display, + })), + [timePickerQuickRanges] + ); + const { currentTimerange, handleTimeChange, @@ -88,6 +112,7 @@ export const MonitoringToolbar: React.FC = ({ pageTitle, isPaused={isPaused} refreshInterval={refreshInterval} onRefreshChange={onRefreshChange} + commonlyUsedRanges={commonlyUsedRanges} />
    diff --git a/x-pack/plugins/monitoring/public/legacy_shims.ts b/x-pack/plugins/monitoring/public/legacy_shims.ts index 7c7e7642cac81..37d04e1121473 100644 --- a/x-pack/plugins/monitoring/public/legacy_shims.ts +++ b/x-pack/plugins/monitoring/public/legacy_shims.ts @@ -8,7 +8,10 @@ import { CoreStart, HttpSetup, IUiSettingsClient, AppMountParameters } from 'kibana/public'; import { Observable } from 'rxjs'; import { HttpRequestInit } from '../../../../src/core/public'; -import { MonitoringStartPluginDependencies } from './types'; +import { + MonitoringStartPluginDependencies, + LegacyMonitoringStartPluginDependencies, +} from './types'; import { TriggersAndActionsUIPublicPluginStart } from '../../triggers_actions_ui/public'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { TypeRegistry } from '../../triggers_actions_ui/public/application/type_registry'; @@ -75,7 +78,7 @@ export class Legacy { triggersActionsUi, usageCollection, appMountParameters, - }: MonitoringStartPluginDependencies) { + }: LegacyMonitoringStartPluginDependencies) { this._shims = { toastNotifications: core.notifications.toasts, capabilities: core.application.capabilities, diff --git a/x-pack/plugins/monitoring/public/plugin.ts b/x-pack/plugins/monitoring/public/plugin.ts index 38bf0ee20afd3..e532a1e2ff300 100644 --- a/x-pack/plugins/monitoring/public/plugin.ts +++ b/x-pack/plugins/monitoring/public/plugin.ts @@ -14,21 +14,33 @@ import { Plugin, PluginInitializerContext, } from 'kibana/public'; -import { Legacy } from './legacy_shims'; -import { UsageCollectionSetup } from '../../../../src/plugins/usage_collection/public'; +import { DEFAULT_APP_CATEGORIES } from '../../../../src/core/public'; import { FeatureCatalogueCategory, HomePublicPluginSetup, } from '../../../../src/plugins/home/public'; -import { DEFAULT_APP_CATEGORIES } from '../../../../src/core/public'; -import { MonitoringStartPluginDependencies, MonitoringConfig } from './types'; +import { UsageCollectionSetup } from '../../../../src/plugins/usage_collection/public'; import { TriggersAndActionsUIPublicPluginSetup } from '../../triggers_actions_ui/public'; import { + RULE_DETAILS, RULE_THREAD_POOL_SEARCH_REJECTIONS, RULE_THREAD_POOL_WRITE_REJECTIONS, - RULE_DETAILS, } from '../common/constants'; +import { createCCRReadExceptionsAlertType } from './alerts/ccr_read_exceptions_alert'; +import { createCpuUsageAlertType } from './alerts/cpu_usage_alert'; +import { createDiskUsageAlertType } from './alerts/disk_usage_alert'; +import { createLargeShardSizeAlertType } from './alerts/large_shard_size_alert'; +import { createLegacyAlertTypes } from './alerts/legacy_alert'; +import { createMemoryUsageAlertType } from './alerts/memory_usage_alert'; +import { createMissingMonitoringDataAlertType } from './alerts/missing_monitoring_data_alert'; +import { createThreadPoolRejectionsAlertType } from './alerts/thread_pool_rejections_alert'; import { setConfig } from './external_config'; +import { Legacy } from './legacy_shims'; +import { + MonitoringConfig, + MonitoringStartPluginDependencies, + LegacyMonitoringStartPluginDependencies, +} from './types'; interface MonitoringSetupPluginDependencies { home?: HomePublicPluginSetup; @@ -42,7 +54,7 @@ export class MonitoringPlugin { constructor(private initializerContext: PluginInitializerContext) {} - public async setup( + public setup( core: CoreSetup, plugins: MonitoringSetupPluginDependencies ) { @@ -75,7 +87,7 @@ export class MonitoringPlugin }); } - await this.registerAlerts(plugins, monitoring); + this.registerAlerts(plugins, monitoring); const app: App = { id, @@ -86,7 +98,7 @@ export class MonitoringPlugin mount: async (params: AppMountParameters) => { const [coreStart, pluginsStart] = await core.getStartServices(); const externalConfig = this.getExternalConfig(); - const deps: MonitoringStartPluginDependencies = { + const deps: LegacyMonitoringStartPluginDependencies = { navigation: pluginsStart.navigation, element: params.element, core: coreStart, @@ -136,27 +148,11 @@ export class MonitoringPlugin ]; } - private async registerAlerts( - plugins: MonitoringSetupPluginDependencies, - config: MonitoringConfig - ) { + private registerAlerts(plugins: MonitoringSetupPluginDependencies, config: MonitoringConfig) { const { triggersActionsUi: { ruleTypeRegistry }, } = plugins; - const { createCpuUsageAlertType } = await import('./alerts/cpu_usage_alert'); - const { createMissingMonitoringDataAlertType } = await import( - './alerts/missing_monitoring_data_alert' - ); - const { createLegacyAlertTypes } = await import('./alerts/legacy_alert'); - const { createDiskUsageAlertType } = await import('./alerts/disk_usage_alert'); - const { createThreadPoolRejectionsAlertType } = await import( - './alerts/thread_pool_rejections_alert' - ); - const { createMemoryUsageAlertType } = await import('./alerts/memory_usage_alert'); - const { createCCRReadExceptionsAlertType } = await import('./alerts/ccr_read_exceptions_alert'); - const { createLargeShardSizeAlertType } = await import('./alerts/large_shard_size_alert'); - ruleTypeRegistry.register(createCpuUsageAlertType(config)); ruleTypeRegistry.register(createDiskUsageAlertType(config)); ruleTypeRegistry.register(createMemoryUsageAlertType(config)); diff --git a/x-pack/plugins/monitoring/public/types.ts b/x-pack/plugins/monitoring/public/types.ts index fa92cfacafdcc..35c6b7acf0cf3 100644 --- a/x-pack/plugins/monitoring/public/types.ts +++ b/x-pack/plugins/monitoring/public/types.ts @@ -10,7 +10,6 @@ import { NavigationPublicPluginStart as NavigationStart } from '../../../../src/ import { DataPublicPluginStart } from '../../../../src/plugins/data/public'; import { TriggersAndActionsUIPublicPluginStart } from '../../triggers_actions_ui/public'; import { UsageCollectionSetup } from '../../../../src/plugins/usage_collection/public'; - // eslint-disable-next-line @kbn/eslint/no-restricted-paths export type { MonitoringConfig } from '../server'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths @@ -19,12 +18,20 @@ export type { MLJobs } from '../server/lib/elasticsearch/get_ml_jobs'; export interface MonitoringStartPluginDependencies { navigation: NavigationStart; data: DataPublicPluginStart; + triggersActionsUi: TriggersAndActionsUIPublicPluginStart; + usageCollection: UsageCollectionSetup; +} + +interface LegacyStartDependencies { element: HTMLElement; core: CoreStart; isCloud: boolean; pluginInitializerContext: PluginInitializerContext; externalConfig: Array | Array>; - triggersActionsUi: TriggersAndActionsUIPublicPluginStart; - usageCollection: UsageCollectionSetup; appMountParameters: AppMountParameters; } + +export type LegacyMonitoringStartPluginDependencies = MonitoringStartPluginDependencies & + LegacyStartDependencies; + +export type MonitoringStartServices = CoreStart & MonitoringStartPluginDependencies; diff --git a/x-pack/plugins/monitoring/public/url_state.ts b/x-pack/plugins/monitoring/public/url_state.ts index 8f89df732b800..ab7d578dbca49 100644 --- a/x-pack/plugins/monitoring/public/url_state.ts +++ b/x-pack/plugins/monitoring/public/url_state.ts @@ -6,7 +6,7 @@ */ import { Subscription } from 'rxjs'; import { History, createHashHistory } from 'history'; -import { MonitoringStartPluginDependencies } from './types'; +import { MonitoringStartPluginDependencies, MonitoringStartServices } from './types'; import { Legacy } from './legacy_shims'; import { @@ -67,7 +67,7 @@ export class GlobalState { constructor( queryService: MonitoringStartPluginDependencies['data']['query'], - toasts: MonitoringStartPluginDependencies['core']['notifications']['toasts'], + toasts: MonitoringStartServices['notifications']['toasts'], externalState: RawObject ) { this.timefilterRef = queryService.timefilter.timefilter; diff --git a/x-pack/plugins/monitoring/server/index.ts b/x-pack/plugins/monitoring/server/index.ts index f54dbad250c1b..e9306ecacfbfd 100644 --- a/x-pack/plugins/monitoring/server/index.ts +++ b/x-pack/plugins/monitoring/server/index.ts @@ -21,7 +21,15 @@ export const config: PluginConfigDescriptor> = { deprecations, exposeToBrowser: { enabled: true, - ui: true, + ui: { + enabled: true, + min_interval_seconds: true, + show_license_expiration: true, + container: true, + ccs: { + enabled: true, + }, + }, kibana: true, }, }; diff --git a/x-pack/plugins/monitoring/server/kibana_monitoring/bulk_uploader.test.js b/x-pack/plugins/monitoring/server/kibana_monitoring/bulk_uploader.test.js index 97ff9bfbc164b..793325bb0a409 100644 --- a/x-pack/plugins/monitoring/server/kibana_monitoring/bulk_uploader.test.js +++ b/x-pack/plugins/monitoring/server/kibana_monitoring/bulk_uploader.test.js @@ -21,9 +21,6 @@ class MockCollectorSet { isUsageCollector(x) { return !!x.isUsageCollector; } - areAllCollectorsReady() { - return this.mockCollectors.every((collector) => collector.isReady()); - } getCollectorByType(type) { return ( this.mockCollectors.find((collector) => collector.type === type) || this.mockCollectors[0] diff --git a/x-pack/plugins/monitoring/server/telemetry_collection/get_all_stats.ts b/x-pack/plugins/monitoring/server/telemetry_collection/get_all_stats.ts index a0bad277dacf6..256086e3812a4 100644 --- a/x-pack/plugins/monitoring/server/telemetry_collection/get_all_stats.ts +++ b/x-pack/plugins/monitoring/server/telemetry_collection/get_all_stats.ts @@ -36,9 +36,9 @@ export async function getAllStats( const end = moment(timestamp).toISOString(); const [esClusters, kibana, logstash, beats] = await Promise.all([ - getElasticsearchStats(callCluster, clusterUuids, maxBucketSize), // cluster_stats, stack_stats.xpack, cluster_name/uuid, license, version + getElasticsearchStats(callCluster, clusterUuids, start, end, maxBucketSize), // cluster_stats, stack_stats.xpack, cluster_name/uuid, license, version getKibanaStats(callCluster, clusterUuids, start, end, maxBucketSize), // stack_stats.kibana - getLogstashStats(callCluster, clusterUuids), // stack_stats.logstash + getLogstashStats(callCluster, clusterUuids, start, end), // stack_stats.logstash getBeatsStats(callCluster, clusterUuids, start, end), // stack_stats.beats ]); diff --git a/x-pack/plugins/monitoring/server/telemetry_collection/get_es_stats.test.ts b/x-pack/plugins/monitoring/server/telemetry_collection/get_es_stats.test.ts index f2d9f343bf1f0..90d6c81fa53dc 100644 --- a/x-pack/plugins/monitoring/server/telemetry_collection/get_es_stats.test.ts +++ b/x-pack/plugins/monitoring/server/telemetry_collection/get_es_stats.test.ts @@ -28,14 +28,16 @@ describe('get_es_stats', () => { const expectedClusters = body.hits.hits.map((hit) => hit._source); const clusterUuids = expectedClusters.map((cluster) => cluster.cluster_uuid); const maxBucketSize = 1; + const start = '2022-03-09T00:00:00.000Z'; + const end = '2022-03-09T00:20:00.000Z'; describe('getElasticsearchStats', () => { it('returns clusters', async () => { searchMock.returns(Promise.resolve({ body })); - expect(await getElasticsearchStats(client, clusterUuids, maxBucketSize)).toStrictEqual( - expectedClusters - ); + expect( + await getElasticsearchStats(client, clusterUuids, start, end, maxBucketSize) + ).toStrictEqual(expectedClusters); }); }); @@ -43,9 +45,9 @@ describe('get_es_stats', () => { it('searches for clusters', async () => { searchMock.returns({ body }); - expect(await fetchElasticsearchStats(client, clusterUuids, maxBucketSize)).toStrictEqual( - body - ); + expect( + await fetchElasticsearchStats(client, clusterUuids, start, end, maxBucketSize) + ).toStrictEqual(body); }); }); diff --git a/x-pack/plugins/monitoring/server/telemetry_collection/get_es_stats.ts b/x-pack/plugins/monitoring/server/telemetry_collection/get_es_stats.ts index 92aa48cbe90ef..57716ef4ba30c 100644 --- a/x-pack/plugins/monitoring/server/telemetry_collection/get_es_stats.ts +++ b/x-pack/plugins/monitoring/server/telemetry_collection/get_es_stats.ts @@ -7,6 +7,7 @@ import { ElasticsearchClient } from 'kibana/server'; import { estypes } from '@elastic/elasticsearch'; +import moment from 'moment'; import { INDEX_PATTERN_ELASTICSEARCH } from '../../common/constants'; /** @@ -19,9 +20,17 @@ import { INDEX_PATTERN_ELASTICSEARCH } from '../../common/constants'; export async function getElasticsearchStats( callCluster: ElasticsearchClient, clusterUuids: string[], + start: string, + end: string, maxBucketSize: number ) { - const response = await fetchElasticsearchStats(callCluster, clusterUuids, maxBucketSize); + const response = await fetchElasticsearchStats( + callCluster, + clusterUuids, + start, + end, + maxBucketSize + ); return handleElasticsearchStats(response); } @@ -37,6 +46,8 @@ export async function getElasticsearchStats( export async function fetchElasticsearchStats( callCluster: ElasticsearchClient, clusterUuids: string[], + start: string, + end: string, maxBucketSize: number ) { const params: estypes.SearchRequest = { @@ -61,6 +72,15 @@ export async function fetchElasticsearchStats( */ { term: { type: 'cluster_stats' } }, { terms: { cluster_uuid: clusterUuids } }, + { + range: { + timestamp: { + format: 'epoch_millis', + gte: moment.utc(start).valueOf(), + lte: moment.utc(end).valueOf(), + }, + }, + }, ], }, }, diff --git a/x-pack/plugins/monitoring/server/telemetry_collection/get_licenses.test.ts b/x-pack/plugins/monitoring/server/telemetry_collection/get_licenses.test.ts index 90d5d0e5a7fe2..c716ef5bf9efe 100644 --- a/x-pack/plugins/monitoring/server/telemetry_collection/get_licenses.test.ts +++ b/x-pack/plugins/monitoring/server/telemetry_collection/get_licenses.test.ts @@ -11,6 +11,7 @@ import { getLicenses, handleLicenses, fetchLicenses } from './get_licenses'; describe('get_licenses', () => { const searchMock = sinon.stub(); + const timestamp = 1646785200000; const client = { search: searchMock } as unknown as ElasticsearchClient; const body = { hits: { @@ -33,7 +34,7 @@ describe('get_licenses', () => { it('returns clusters', async () => { searchMock.returns(Promise.resolve({ body })); - expect(await getLicenses(clusterUuids, client, 1)).toStrictEqual(expectedLicenses); + expect(await getLicenses(clusterUuids, client, timestamp, 1)).toStrictEqual(expectedLicenses); }); }); @@ -41,7 +42,7 @@ describe('get_licenses', () => { it('searches for clusters', async () => { searchMock.returns({ body }); - expect(await fetchLicenses(client, clusterUuids, 1)).toStrictEqual(body); + expect(await fetchLicenses(client, clusterUuids, timestamp, 1)).toStrictEqual(body); }); }); diff --git a/x-pack/plugins/monitoring/server/telemetry_collection/get_licenses.ts b/x-pack/plugins/monitoring/server/telemetry_collection/get_licenses.ts index 514b04bf1a0e7..80acb2046d673 100644 --- a/x-pack/plugins/monitoring/server/telemetry_collection/get_licenses.ts +++ b/x-pack/plugins/monitoring/server/telemetry_collection/get_licenses.ts @@ -8,17 +8,18 @@ import { ElasticsearchClient } from 'kibana/server'; import { estypes } from '@elastic/elasticsearch'; import { ESLicense } from '../../../telemetry_collection_xpack/server'; -import { INDEX_PATTERN_ELASTICSEARCH } from '../../common/constants'; +import { INDEX_PATTERN_ELASTICSEARCH, USAGE_FETCH_INTERVAL } from '../../common/constants'; /** * Get statistics for all selected Elasticsearch clusters. */ export async function getLicenses( clusterUuids: string[], - callCluster: ElasticsearchClient, // TODO: To be changed to the new ES client when the plugin migrates + callCluster: ElasticsearchClient, + timestamp: number, maxBucketSize: number ): Promise<{ [clusterUuid: string]: ESLicense | undefined }> { - const response = await fetchLicenses(callCluster, clusterUuids, maxBucketSize); + const response = await fetchLicenses(callCluster, clusterUuids, timestamp, maxBucketSize); return handleLicenses(response); } @@ -34,6 +35,7 @@ export async function getLicenses( export async function fetchLicenses( callCluster: ElasticsearchClient, clusterUuids: string[], + timestamp: number, maxBucketSize: number ) { const params: estypes.SearchRequest = { @@ -51,6 +53,15 @@ export async function fetchLicenses( */ { term: { type: 'cluster_stats' } }, { terms: { cluster_uuid: clusterUuids } }, + { + range: { + timestamp: { + format: 'epoch_millis', + gte: timestamp - USAGE_FETCH_INTERVAL, + lte: timestamp, + }, + }, + }, ], }, }, diff --git a/x-pack/plugins/monitoring/server/telemetry_collection/get_logstash_stats.test.ts b/x-pack/plugins/monitoring/server/telemetry_collection/get_logstash_stats.test.ts index d093cfbf3a7fb..c3df7669b1068 100644 --- a/x-pack/plugins/monitoring/server/telemetry_collection/get_logstash_stats.test.ts +++ b/x-pack/plugins/monitoring/server/telemetry_collection/get_logstash_stats.test.ts @@ -36,6 +36,8 @@ describe('Get Logstash Stats', () => { const clusterUuids = ['aCluster', 'bCluster', 'cCluster']; const searchMock = sinon.stub(); const callCluster = { search: searchMock } as unknown as ElasticsearchClient; + const start = '2022-03-09T00:00:00.000Z'; + const end = '2022-03-09T00:20:00.000Z'; beforeEach(() => { searchMock.returns(Promise.resolve({ body: {} })); @@ -52,6 +54,15 @@ describe('Get Logstash Stats', () => { const expected = { bool: { filter: [ + { + range: { + timestamp: { + format: 'epoch_millis', + gte: 1646784000000, + lte: 1646785200000, + }, + }, + }, { terms: { 'logstash_state.pipeline.ephemeral_id': ['a', 'b', 'c'], @@ -68,70 +79,30 @@ describe('Get Logstash Stats', () => { }, }; - await fetchLogstashState(callCluster, clusterUuid, ephemeralIds, {} as any); + await fetchLogstashState(callCluster, clusterUuid, ephemeralIds, start, end, {} as any); const { args } = searchMock.firstCall; const [{ body }] = args; expect(body.query).toEqual(expected); }); it('should set `from: 0, to: 10000` in the query', async () => { - await fetchLogstashState(callCluster, clusterUuid, ephemeralIds, {} as any); + await fetchLogstashState(callCluster, clusterUuid, ephemeralIds, start, end, {} as any); const { args } = searchMock.firstCall; const [{ body }] = args; expect(body.from).toEqual(0); expect(body.size).toEqual(10000); }); - - it('should set `from: 10000, to: 10000` in the query', async () => { - await fetchLogstashState(callCluster, clusterUuid, ephemeralIds, { - page: 1, - } as any); - const { args } = searchMock.firstCall; - const [{ body }] = args; - - expect(body.from).toEqual(10000); - expect(body.size).toEqual(10000); - }); - - it('should set `from: 20000, to: 10000` in the query', async () => { - await fetchLogstashState(callCluster, clusterUuid, ephemeralIds, { - page: 2, - } as any); - const { args } = searchMock.firstCall; - const [{ body }] = args; - - expect(body.from).toEqual(20000); - expect(body.size).toEqual(10000); - }); }); describe('fetchLogstashStats', () => { it('should set `from: 0, to: 10000` in the query', async () => { - await fetchLogstashStats(callCluster, clusterUuids, {} as any); + await fetchLogstashStats(callCluster, clusterUuids, start, end, {} as any); const { args } = searchMock.firstCall; const [{ body }] = args; expect(body.from).toEqual(0); expect(body.size).toEqual(10000); }); - - it('should set `from: 10000, to: 10000` in the query', async () => { - await fetchLogstashStats(callCluster, clusterUuids, { page: 1 } as any); - const { args } = searchMock.firstCall; - const [{ body }] = args; - - expect(body.from).toEqual(10000); - expect(body.size).toEqual(10000); - }); - - it('should set `from: 20000, to: 10000` in the query', async () => { - await fetchLogstashStats(callCluster, clusterUuids, { page: 2 } as any); - const { args } = searchMock.firstCall; - const [{ body }] = args; - - expect(body.from).toEqual(20000); - expect(body.size).toEqual(10000); - }); }); describe('processLogstashStatsResults', () => { diff --git a/x-pack/plugins/monitoring/server/telemetry_collection/get_logstash_stats.ts b/x-pack/plugins/monitoring/server/telemetry_collection/get_logstash_stats.ts index 306c9b6201557..614d641dbc4b3 100644 --- a/x-pack/plugins/monitoring/server/telemetry_collection/get_logstash_stats.ts +++ b/x-pack/plugins/monitoring/server/telemetry_collection/get_logstash_stats.ts @@ -263,6 +263,8 @@ export function processLogstashStateResults( export async function fetchLogstashStats( callCluster: ElasticsearchClient, clusterUuids: string[], + start: string, + end: string, { page = 0, ...options }: { page?: number } & LogstashProcessOptions ): Promise { const params: estypes.SearchRequest = { @@ -281,6 +283,8 @@ export async function fetchLogstashStats( ], body: { query: createQuery({ + start, + end, filters: [ { terms: { cluster_uuid: clusterUuids } }, { @@ -310,17 +314,6 @@ export async function fetchLogstashStats( if (hitsLength > 0) { // further augment the clusters object with more stats processStatsResults(results, options); - - if (hitsLength === HITS_SIZE) { - // call recursively - const nextOptions = { - page: page + 1, - ...options, - }; - - // returns a promise and keeps the caller blocked from returning until the entire clusters object is built - return fetchLogstashStats(callCluster, clusterUuids, nextOptions); - } } return Promise.resolve(); } @@ -329,6 +322,8 @@ export async function fetchLogstashState( callCluster: ElasticsearchClient, clusterUuid: string, ephemeralIds: string[], + start: string, + end: string, { page = 0, ...options }: { page?: number } & LogstashProcessOptions ): Promise { const params: estypes.SearchRequest = { @@ -345,6 +340,8 @@ export async function fetchLogstashState( ], body: { query: createQuery({ + start, + end, filters: [ { terms: { 'logstash_state.pipeline.ephemeral_id': ephemeralIds } }, { @@ -371,17 +368,6 @@ export async function fetchLogstashState( if (hitsLength > 0) { // further augment the clusters object with more stats processLogstashStateResults(results, clusterUuid, options); - - if (hitsLength === HITS_SIZE) { - // call recursively - const nextOptions = { - page: page + 1, - ...options, - }; - - // returns a promise and keeps the caller blocked from returning until the entire clusters object is built - return fetchLogstashState(callCluster, clusterUuid, ephemeralIds, nextOptions); - } } return Promise.resolve(); } @@ -396,7 +382,9 @@ export interface LogstashStatsByClusterUuid { */ export async function getLogstashStats( callCluster: ElasticsearchClient, - clusterUuids: string[] + clusterUuids: string[], + start: string, + end: string ): Promise { const options: LogstashProcessOptions = { clusters: {}, // the result object to be built up @@ -405,7 +393,7 @@ export async function getLogstashStats( plugins: {}, }; - await fetchLogstashStats(callCluster, clusterUuids, options); + await fetchLogstashStats(callCluster, clusterUuids, start, end, options); await Promise.all( clusterUuids.map(async (clusterUuid) => { if (options.clusters[clusterUuid] !== undefined) { @@ -413,6 +401,8 @@ export async function getLogstashStats( callCluster, clusterUuid, options.allEphemeralIds[clusterUuid], + start, + end, options ); } diff --git a/x-pack/plugins/monitoring/server/telemetry_collection/register_monitoring_telemetry_collection.ts b/x-pack/plugins/monitoring/server/telemetry_collection/register_monitoring_telemetry_collection.ts index bce6f57d6f950..db25183d1e965 100644 --- a/x-pack/plugins/monitoring/server/telemetry_collection/register_monitoring_telemetry_collection.ts +++ b/x-pack/plugins/monitoring/server/telemetry_collection/register_monitoring_telemetry_collection.ts @@ -146,7 +146,7 @@ export function registerMonitoringTelemetryCollection( const callCluster = kibanaRequest ? esClient : getClient().asInternalUser; const clusterDetails = await getClusterUuids(callCluster, timestamp, maxBucketSize); const [licenses, stats] = await Promise.all([ - getLicenses(clusterDetails, callCluster, maxBucketSize), + getLicenses(clusterDetails, callCluster, timestamp, maxBucketSize), getAllStats(clusterDetails, callCluster, timestamp, maxBucketSize), ]); diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/components/date_range_picker.tsx b/x-pack/plugins/observability/public/components/shared/exploratory_view/components/date_range_picker.tsx index 32994b37fffe3..8bc68c06cb505 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/components/date_range_picker.tsx +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/components/date_range_picker.tsx @@ -15,9 +15,10 @@ import { useUiSetting } from '../../../../../../../../src/plugins/kibana_react/p import { SeriesUrl } from '../types'; import { ReportTypes } from '../configurations/constants'; -export const parseRelativeDate = (date: string, options = {}) => { +export const parseRelativeDate = (date: string, options = {}): Moment | null | undefined => { return DateMath.parse(date, options)!; }; + export function DateRangePicker({ seriesId, series }: { seriesId: number; series: SeriesUrl }) { const { firstSeries, setSeries, reportType } = useSeriesStorage(); const dateFormat = useUiSetting('dateFormat'); diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/lens_attributes.test.ts b/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/lens_attributes.test.ts index 135cf3c59a1ce..12525807dca66 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/lens_attributes.test.ts +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/lens_attributes.test.ts @@ -478,6 +478,11 @@ describe('Lens Attribute', () => { }); }); + it('should not use global filters when there is more than one series', function () { + const multiSeriesLensAttr = new LensAttributes([layerConfig, layerConfig]).getJSON(); + expect(multiSeriesLensAttr.state.query.query).toEqual('transaction.duration.us < 60000000'); + }); + describe('Layer breakdowns', function () { it('should return breakdown column', function () { const layerConfig1: LayerConfig = { @@ -517,8 +522,8 @@ describe('Lens Attribute', () => { expect(lnsAttr.layers.layer0).toEqual({ columnOrder: [ - 'x-axis-column-layer0', 'breakdown-column-layer0', + 'x-axis-column-layer0', 'y-axis-column-layer0', 'y-axis-column-layer0X0', 'y-axis-column-layer0X1', diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/lens_attributes.ts b/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/lens_attributes.ts index 3e6e6d9cb83b0..f873b1eb5cbab 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/lens_attributes.ts +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/lens_attributes.ts @@ -102,6 +102,7 @@ export class LensAttributes { visualization: XYState; layerConfigs: LayerConfig[]; isMultiSeries: boolean; + globalFilter?: { query: string; language: string }; constructor(layerConfigs: LayerConfig[]) { this.layers = {}; @@ -119,10 +120,27 @@ export class LensAttributes { this.layerConfigs = layerConfigs; this.isMultiSeries = layerConfigs.length > 1; + this.globalFilter = this.getGlobalFilter(this.isMultiSeries); this.layers = this.getLayers(); this.visualization = this.getXyState(); } + getGlobalFilter(isMultiSeries: boolean) { + if (isMultiSeries) { + return undefined; + } + const defaultLayerFilter = this.layerConfigs[0].seriesConfig.query + ? ` and ${this.layerConfigs[0].seriesConfig.query.query}` + : ''; + return { + query: `${this.getLayerFilters( + this.layerConfigs[0], + this.layerConfigs.length + )}${defaultLayerFilter}`, + language: 'kuery', + }; + } + getBreakdownColumn({ sourceField, layerId, @@ -635,11 +653,17 @@ export class LensAttributes { time: { from }, } = layerConfig; - const inDays = Math.abs(parseRelativeDate(mainFrom).diff(parseRelativeDate(from), 'days')); + const parsedMainFrom = parseRelativeDate(mainFrom); + const parsedFrom = parseRelativeDate(from); + + const inDays = + parsedMainFrom && parsedFrom ? Math.abs(parsedMainFrom.diff(parsedFrom, 'days')) : 0; if (inDays > 1) { return inDays + 'd'; } - const inHours = Math.abs(parseRelativeDate(mainFrom).diff(parseRelativeDate(from), 'hours')); + + const inHours = + parsedMainFrom && parsedFrom ? Math.abs(parsedMainFrom?.diff(parsedFrom, 'hours')) : 0; if (inHours === 0) { return null; } @@ -670,10 +694,10 @@ export class LensAttributes { layers[layerId] = { columnOrder: [ - `x-axis-column-${layerId}`, ...(breakdown && sourceField !== USE_BREAK_DOWN_COLUMN && breakdown !== PERCENTILE ? [`breakdown-column-${layerId}`] : []), + `x-axis-column-${layerId}`, `y-axis-column-${layerId}`, ...Object.keys(this.getChildYAxises(layerConfig, layerId, columnFilter)), ], @@ -764,7 +788,7 @@ export class LensAttributes { new Set([...this.layerConfigs.map(({ indexPattern }) => indexPattern.id)]) ); - const query = this.layerConfigs[0].seriesConfig.query; + const query = this.globalFilter || this.layerConfigs[0].seriesConfig.query; return { title: 'Prefilled from exploratory view app', diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute.ts b/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute.ts index cfbd2a5df0358..1a9c87fc826bd 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute.ts +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute.ts @@ -155,7 +155,8 @@ export const sampleAttribute = { filters: [], query: { language: 'kuery', - query: 'transaction.duration.us < 60000000', + query: + 'transaction.type: page-load and processor.event: transaction and transaction.type : * and transaction.duration.us < 60000000', }, visualization: { axisTitlesVisibilitySettings: { diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_cwv.ts b/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_cwv.ts index 4563509eeb19a..5f373de200897 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_cwv.ts +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_cwv.ts @@ -95,7 +95,8 @@ export const sampleAttributeCoreWebVital = { filters: [], query: { language: 'kuery', - query: 'transaction.type: "page-load"', + query: + 'transaction.type: page-load and processor.event: transaction and transaction.type: "page-load"', }, visualization: { axisTitlesVisibilitySettings: { diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_kpi.ts b/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_kpi.ts index 668049dcc122b..415b2eb0d4c7a 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_kpi.ts +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_kpi.ts @@ -57,7 +57,7 @@ export const sampleAttributeKpi = { filters: [], query: { language: 'kuery', - query: '', + query: 'transaction.type: page-load and processor.event: transaction', }, visualization: { axisTitlesVisibilitySettings: { diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/header/add_to_case_action.test.tsx b/x-pack/plugins/observability/public/components/shared/exploratory_view/header/add_to_case_action.test.tsx index e4c9e25f6b29f..ddc6370195fc9 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/header/add_to_case_action.test.tsx +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/header/add_to_case_action.test.tsx @@ -6,7 +6,7 @@ */ import React from 'react'; -import { render } from '../rtl_helpers'; +import { render, forNearestButton } from '../rtl_helpers'; import { fireEvent } from '@testing-library/dom'; import { AddToCaseAction } from './add_to_case_action'; import * as useCaseHook from '../hooks/use_add_to_case'; @@ -14,6 +14,10 @@ import * as datePicker from '../components/date_range_picker'; import moment from 'moment'; describe('AddToCaseAction', function () { + beforeEach(() => { + jest.spyOn(datePicker, 'parseRelativeDate').mockRestore(); + }); + it('should render properly', async function () { const { findByText } = render( + ); + + expect(await forNearestButton(getByText)('Add to case')).toBeDisabled(); + + expect(useAddToCaseHook).toHaveBeenCalledWith( + expect.objectContaining({ + lensAttributes: null, + timeRange: { + from: '', + to: '', + }, + }) + ); + }); + it('should be able to click add to case button', async function () { const initSeries = { data: [ diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/header/add_to_case_action.tsx b/x-pack/plugins/observability/public/components/shared/exploratory_view/header/add_to_case_action.tsx index 1d230c765edae..ad4def855c669 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/header/add_to_case_action.tsx +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/header/add_to_case_action.tsx @@ -39,7 +39,10 @@ export function AddToCaseAction({ lensAttributes, timeRange }: AddToCaseProps) { useAddToCase({ lensAttributes, getToastText, - timeRange: { from: absoluteFromDate.toISOString(), to: absoluteToDate.toISOString() }, + timeRange: { + from: absoluteFromDate?.toISOString() ?? '', + to: absoluteToDate?.toISOString() ?? '', + }, }); const getAllCasesSelectorModalProps: AllCasesSelectorModalProps = { diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/header/last_updated.tsx b/x-pack/plugins/observability/public/components/shared/exploratory_view/header/last_updated.tsx index bc82c48214a01..d36cfbb7db82e 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/header/last_updated.tsx +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/header/last_updated.tsx @@ -14,8 +14,8 @@ import { ChartCreationInfo } from './chart_creation_info'; export interface ChartTimeRange { lastUpdated: number; - to: number; - from: number; + to?: number; + from?: number; } interface Props { diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/hooks/use_time_range.test.tsx b/x-pack/plugins/observability/public/components/shared/exploratory_view/hooks/use_time_range.test.tsx index 38534b1c79e3e..edac44cf22e38 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/hooks/use_time_range.test.tsx +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/hooks/use_time_range.test.tsx @@ -12,7 +12,10 @@ import { renderHook } from '@testing-library/react-hooks'; import { useExpViewTimeRange } from './use_time_range'; import { ReportTypes } from '../configurations/constants'; import { createKbnUrlStateStorage } from '../../../../../../../../src/plugins/kibana_utils/public'; -import { TRANSACTION_DURATION } from '../configurations/constants/elasticsearch_fieldnames'; +import { + TRANSACTION_DURATION, + METRIC_SYSTEM_MEMORY_USAGE, +} from '../configurations/constants/elasticsearch_fieldnames'; const mockSingleSeries = [ { @@ -85,6 +88,31 @@ describe('useExpViewTimeRange', function () { }); }); + it("should correctly parse dates when last series doesn't have a report definition", async function () { + const mockSeriesWithoutDefinitions = [ + ...mockSingleSeries, + { + dataType: 'mobile', + name: 'mobile-series-1', + reportDefinitions: undefined, + selectedMetricField: METRIC_SYSTEM_MEMORY_USAGE, + time: { from: 'now-30m', to: 'now' }, + }, + ]; + + await storage.set(allSeriesKey, mockSeriesWithoutDefinitions); + await storage.set(reportTypeKey, ReportTypes.DISTRIBUTION); + + const { result } = renderHook(() => useExpViewTimeRange(), { + wrapper: Wrapper, + }); + + expect(result.current).toEqual({ + from: 'now-30m', + to: 'now', + }); + }); + it('should return expected result when there are multiple distribution series with absolute dates', async function () { // from:'2021-10-11T09:55:39.551Z',to:'2021-10-11T10:55:41.516Z'))) mockMultipleSeries[0].time.from = '2021-10-11T09:55:39.551Z'; diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/hooks/use_time_range.ts b/x-pack/plugins/observability/public/components/shared/exploratory_view/hooks/use_time_range.ts index 60087cfd0330c..81ecc80f00253 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/hooks/use_time_range.ts +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/hooks/use_time_range.ts @@ -5,7 +5,6 @@ * 2.0. */ -import { isEmpty } from 'lodash'; import { useMemo } from 'react'; import { AllSeries, @@ -31,19 +30,17 @@ export const combineTimeRanges = ( } allSeries.forEach((series) => { - if ( - series.dataType && - series.selectedMetricField && - !isEmpty(series.reportDefinitions) && - series.time - ) { + if (series.dataType && series.selectedMetricField && series.time) { const seriesFrom = parseRelativeDate(series.time.from)!; const seriesTo = parseRelativeDate(series.time.to, { roundUp: true })!; - if (!to || seriesTo > parseRelativeDate(to, { roundUp: true })) { + const currentLatest = parseRelativeDate(to, { roundUp: true }); + if (!to || (currentLatest && seriesTo > currentLatest)) { to = series.time.to; } - if (!from || seriesFrom < parseRelativeDate(from)) { + + const currentEarliest = parseRelativeDate(from); + if (!from || (currentEarliest && seriesFrom < currentEarliest)) { from = series.time.from; } } diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/lens_embeddable.tsx b/x-pack/plugins/observability/public/components/shared/exploratory_view/lens_embeddable.tsx index 437981baf81d5..f7f63097e2926 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/lens_embeddable.tsx +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/lens_embeddable.tsx @@ -45,8 +45,8 @@ export function LensEmbeddable(props: Props) { setChartTimeRangeContext({ lastUpdated: timeLoaded, - to: parseRelativeDate(timeRange?.to || '').valueOf(), - from: parseRelativeDate(timeRange?.from || '').valueOf(), + to: parseRelativeDate(timeRange?.to || '')?.valueOf(), + from: parseRelativeDate(timeRange?.from || '')?.valueOf(), }); if (!isLoading) { diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/rtl_helpers.tsx b/x-pack/plugins/observability/public/components/shared/exploratory_view/rtl_helpers.tsx index 04d74844beb83..9f1088d9607c0 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/rtl_helpers.tsx +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/rtl_helpers.tsx @@ -9,7 +9,12 @@ import { of } from 'rxjs'; import React, { ReactElement } from 'react'; import { stringify } from 'query-string'; // eslint-disable-next-line import/no-extraneous-dependencies -import { render as reactTestLibRender, RenderOptions } from '@testing-library/react'; +import { + render as reactTestLibRender, + RenderOptions, + Nullish, + MatcherFunction, +} from '@testing-library/react'; import { Route, Router } from 'react-router-dom'; import { createMemoryHistory, History } from 'history'; import { CoreStart } from 'kibana/public'; @@ -348,3 +353,18 @@ export const mockIndexPattern = createStubIndexPattern({ fields: JSON.parse(indexPatternData.attributes.fields), }, }); + +// This function allows us to query for the nearest button with test +// no matter whether it has nested tags or not (as EuiButton elements do). +export const forNearestButton = + (getByText: (f: MatcherFunction) => HTMLElement | null) => + (text: string): HTMLElement | null => + getByText((_content: string, node: Nullish) => { + if (!node) return false; + const noOtherButtonHasText = Array.from(node.children).every( + (child) => child && (child.textContent !== text || child.tagName.toLowerCase() !== 'button') + ); + return ( + noOtherButtonHasText && node.textContent === text && node.tagName.toLowerCase() === 'button' + ); + }); diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/data_type_select.tsx b/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/data_type_select.tsx index 71fd147e8e264..49dc5ea95106f 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/data_type_select.tsx +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/columns/data_type_select.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { useState } from 'react'; +import React, { useState, useCallback } from 'react'; import { EuiButton, EuiPopover, @@ -67,6 +67,10 @@ export function DataTypesSelect({ seriesId, series }: Props) { const { setSeries, reportType } = useSeriesStorage(); const [showOptions, setShowOptions] = useState(false); + const focusButton = useCallback((ref: HTMLButtonElement) => { + ref?.focus(); + }, []); + const onDataTypeChange = (dataType: AppDataType) => { if (String(dataType) !== SELECT_DATA_TYPE) { setSeries(seriesId, { @@ -102,6 +106,7 @@ export function DataTypesSelect({ seriesId, series }: Props) { onClick={() => setShowOptions((prevState) => !prevState)} fill size="s" + buttonRef={focusButton} > {SELECT_DATA_TYPE_LABEL} diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/report_metric_options.tsx b/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/report_metric_options.tsx index bc7c2328dcbba..66fc5aa61b372 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/report_metric_options.tsx +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/series_editor/report_metric_options.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { useState } from 'react'; +import React, { useState, useCallback } from 'react'; import { EuiToolTip, EuiPopover, @@ -44,6 +44,10 @@ export function ReportMetricOptions({ seriesId, series, seriesConfig }: Props) { }); }; + const focusButton = useCallback((ref: HTMLButtonElement) => { + ref?.focus(); + }, []); + if (!series.dataType) { return null; } @@ -107,6 +111,7 @@ export function ReportMetricOptions({ seriesId, series, seriesConfig }: Props) { fill size="s" isLoading={!indexPattern && loading} + buttonRef={focusButton} > {SELECT_REPORT_METRIC_LABEL} diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/utils/observability_index_patterns.ts b/x-pack/plugins/observability/public/components/shared/exploratory_view/utils/observability_index_patterns.ts index 1c14ffe3d13c9..20171755eca23 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/utils/observability_index_patterns.ts +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/utils/observability_index_patterns.ts @@ -6,7 +6,7 @@ */ import type { FieldFormat as IFieldFormat } from 'src/plugins/field_formats/common'; -import { SavedObjectNotFound } from '../../../../../../../../src/plugins/kibana_utils/public'; +import { isSavedObjectNotFoundError } from '../../../../../../../../src/plugins/kibana_utils/public'; import { DataPublicPluginStart, IndexPattern, @@ -163,8 +163,8 @@ export class ObservabilityIndexPatterns { // this is intentional a non blocking call, so no await clause this.validateFieldFormats(app, indexPattern); return indexPattern; - } catch (e: unknown) { - if (e instanceof SavedObjectNotFound) { + } catch (e) { + if (isSavedObjectNotFoundError(e)) { return await this.createIndexPattern(app, appIndices); } } diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/views/add_series_button.tsx b/x-pack/plugins/observability/public/components/shared/exploratory_view/views/add_series_button.tsx index 71b16c9c0e682..b848fb0f30965 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/views/add_series_button.tsx +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/views/add_series_button.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { useEffect, useState } from 'react'; +import React, { useEffect, useState, useRef } from 'react'; import { EuiToolTip, EuiButton } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; @@ -17,6 +17,7 @@ import { DEFAULT_TIME, ReportTypes } from '../configurations/constants'; export function AddSeriesButton() { const [editorItems, setEditorItems] = useState([]); + const addSeriesButtonRef = useRef(null); const { getSeries, allSeries, setSeries, reportType } = useSeriesStorage(); const { loading, indexPatterns } = useAppIndexPatternContext(); @@ -29,6 +30,9 @@ export function AddSeriesButton() { const prevSeries = allSeries?.[0]; const name = `${NEW_SERIES_KEY}-${editorItems.length + 1}`; const nextSeries = { name } as SeriesUrl; + if (addSeriesButtonRef?.current) { + addSeriesButtonRef.current.blur(); + } const nextSeriesId = allSeries.length; @@ -70,6 +74,7 @@ export function AddSeriesButton() { isDisabled={isAddDisabled} iconType="plusInCircle" size="s" + buttonRef={addSeriesButtonRef} > {i18n.translate('xpack.observability.expView.seriesBuilder.addSeries', { defaultMessage: 'Add series', diff --git a/x-pack/plugins/osquery/public/action_results/action_agents_status_badges.tsx b/x-pack/plugins/osquery/public/action_results/action_agents_status_badges.tsx index 95b96ca454610..7244c2417151b 100644 --- a/x-pack/plugins/osquery/public/action_results/action_agents_status_badges.tsx +++ b/x-pack/plugins/osquery/public/action_results/action_agents_status_badges.tsx @@ -13,7 +13,7 @@ import { getColorForAgentStatus, getLabelForAgentStatus, } from './services/agent_status'; -import type { ActionAgentStatus } from './types'; +import { ActionAgentStatus } from './types'; export const ActionAgentsStatusBadges = memo<{ agentStatus: { [k in ActionAgentStatus]: number }; diff --git a/x-pack/plugins/osquery/public/action_results/action_agents_status_bar.tsx b/x-pack/plugins/osquery/public/action_results/action_agents_status_bar.tsx index 21866566cb7e3..def52bf511215 100644 --- a/x-pack/plugins/osquery/public/action_results/action_agents_status_bar.tsx +++ b/x-pack/plugins/osquery/public/action_results/action_agents_status_bar.tsx @@ -10,7 +10,7 @@ import { EuiColorPaletteDisplay } from '@elastic/eui'; import React, { useMemo } from 'react'; import { AGENT_STATUSES, getColorForAgentStatus } from './services/agent_status'; -import type { ActionAgentStatus } from './types'; +import { ActionAgentStatus } from './types'; const StyledEuiColorPaletteDisplay = styled(EuiColorPaletteDisplay)` &.osquery-action-agent-status-bar { diff --git a/x-pack/plugins/osquery/public/action_results/helpers.ts b/x-pack/plugins/osquery/public/action_results/helpers.ts deleted file mode 100644 index 171530a77299f..0000000000000 --- a/x-pack/plugins/osquery/public/action_results/helpers.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { - PaginationInputPaginated, - FactoryQueryTypes, - StrategyResponseType, - Inspect, -} from '../../common/search_strategy'; - -export type InspectResponse = Inspect & { response: string[] }; - -export const generateTablePaginationOptions = ( - activePage: number, - limit: number -): PaginationInputPaginated => { - const cursorStart = activePage * limit; - return { - activePage, - cursorStart, - fakePossibleCount: 4 <= activePage && activePage > 0 ? limit * (activePage + 2) : limit * 5, - querySize: limit, - }; -}; - -export const getInspectResponse = ( - response: StrategyResponseType, - prevResponse: InspectResponse -): InspectResponse => ({ - dsl: response?.inspect?.dsl ?? prevResponse?.dsl ?? [], - response: - response != null ? [JSON.stringify(response.rawResponse, null, 2)] : prevResponse?.response, -}); diff --git a/x-pack/plugins/osquery/public/action_results/services/agent_status.tsx b/x-pack/plugins/osquery/public/action_results/services/agent_status.tsx index 39a033f49ec90..8cebcd0de71ba 100644 --- a/x-pack/plugins/osquery/public/action_results/services/agent_status.tsx +++ b/x-pack/plugins/osquery/public/action_results/services/agent_status.tsx @@ -8,7 +8,7 @@ import { euiPaletteColorBlindBehindText } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import type { ActionAgentStatus } from '../types'; +import { ActionAgentStatus } from '../types'; const visColors = euiPaletteColorBlindBehindText(); const colorToHexMap = { @@ -20,15 +20,19 @@ const colorToHexMap = { danger: visColors[9], }; -export const AGENT_STATUSES: ActionAgentStatus[] = ['success', 'pending', 'failed']; +export const AGENT_STATUSES: ActionAgentStatus[] = [ + ActionAgentStatus.SUCCESS, + ActionAgentStatus.PENDING, + ActionAgentStatus.FAILED, +]; export function getColorForAgentStatus(agentStatus: ActionAgentStatus): string { switch (agentStatus) { - case 'success': + case ActionAgentStatus.SUCCESS: return colorToHexMap.secondary; - case 'pending': + case ActionAgentStatus.PENDING: return colorToHexMap.default; - case 'failed': + case ActionAgentStatus.FAILED: return colorToHexMap.danger; default: throw new Error(`Unsupported action agent status ${agentStatus}`); @@ -37,11 +41,11 @@ export function getColorForAgentStatus(agentStatus: ActionAgentStatus): string { export function getLabelForAgentStatus(agentStatus: ActionAgentStatus, expired: boolean): string { switch (agentStatus) { - case 'success': + case ActionAgentStatus.SUCCESS: return i18n.translate('xpack.osquery.liveQueryActionResults.summary.successfulLabelText', { defaultMessage: 'Successful', }); - case 'pending': + case ActionAgentStatus.PENDING: return expired ? i18n.translate('xpack.osquery.liveQueryActionResults.summary.expiredLabelText', { defaultMessage: 'Expired', @@ -49,7 +53,7 @@ export function getLabelForAgentStatus(agentStatus: ActionAgentStatus, expired: : i18n.translate('xpack.osquery.liveQueryActionResults.summary.pendingLabelText', { defaultMessage: 'Not yet responded', }); - case 'failed': + case ActionAgentStatus.FAILED: return i18n.translate('xpack.osquery.liveQueryActionResults.summary.failedLabelText', { defaultMessage: 'Failed', }); diff --git a/x-pack/plugins/osquery/public/action_results/types.ts b/x-pack/plugins/osquery/public/action_results/types.ts index ce9415986ba02..504626445450d 100644 --- a/x-pack/plugins/osquery/public/action_results/types.ts +++ b/x-pack/plugins/osquery/public/action_results/types.ts @@ -5,4 +5,8 @@ * 2.0. */ -export type ActionAgentStatus = 'success' | 'pending' | 'failed'; +export enum ActionAgentStatus { + SUCCESS = 'success', + PENDING = 'pending', + FAILED = 'failed', +} diff --git a/x-pack/plugins/osquery/public/action_results/use_action_results.ts b/x-pack/plugins/osquery/public/action_results/use_action_results.ts index e4b6ef14eb1e9..0d3396d7331a1 100644 --- a/x-pack/plugins/osquery/public/action_results/use_action_results.ts +++ b/x-pack/plugins/osquery/public/action_results/use_action_results.ts @@ -9,7 +9,12 @@ import { flatten, reverse, uniqBy } from 'lodash/fp'; import { useQuery } from 'react-query'; import { i18n } from '@kbn/i18n'; -import { createFilter } from '../common/helpers'; +import { + createFilter, + getInspectResponse, + InspectResponse, + generateTablePaginationOptions, +} from '../common/helpers'; import { useKibana } from '../common/lib/kibana'; import { ResultEdges, @@ -22,7 +27,6 @@ import { import { ESTermQuery } from '../../common/typed_json'; import { queryClient } from '../query_client'; -import { generateTablePaginationOptions, getInspectResponse, InspectResponse } from './helpers'; import { useErrorToast } from '../common/hooks/use_error_toast'; export interface ResultsArgs { diff --git a/x-pack/plugins/osquery/public/actions/actions_table.tsx b/x-pack/plugins/osquery/public/actions/actions_table.tsx index b3464bad56340..d92d9ee117fde 100644 --- a/x-pack/plugins/osquery/public/actions/actions_table.tsx +++ b/x-pack/plugins/osquery/public/actions/actions_table.tsx @@ -19,11 +19,11 @@ interface ActionTableResultsButtonProps { actionId: string; } -const ActionTableResultsButton = React.memo(({ actionId }) => { +const ActionTableResultsButton: React.FC = ({ actionId }) => { const navProps = useRouterNavigate(`live_queries/${actionId}`); return ; -}); +}; ActionTableResultsButton.displayName = 'ActionTableResultsButton'; diff --git a/x-pack/plugins/osquery/public/actions/helpers.ts b/x-pack/plugins/osquery/public/actions/helpers.ts deleted file mode 100644 index 171530a77299f..0000000000000 --- a/x-pack/plugins/osquery/public/actions/helpers.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { - PaginationInputPaginated, - FactoryQueryTypes, - StrategyResponseType, - Inspect, -} from '../../common/search_strategy'; - -export type InspectResponse = Inspect & { response: string[] }; - -export const generateTablePaginationOptions = ( - activePage: number, - limit: number -): PaginationInputPaginated => { - const cursorStart = activePage * limit; - return { - activePage, - cursorStart, - fakePossibleCount: 4 <= activePage && activePage > 0 ? limit * (activePage + 2) : limit * 5, - querySize: limit, - }; -}; - -export const getInspectResponse = ( - response: StrategyResponseType, - prevResponse: InspectResponse -): InspectResponse => ({ - dsl: response?.inspect?.dsl ?? prevResponse?.dsl ?? [], - response: - response != null ? [JSON.stringify(response.rawResponse, null, 2)] : prevResponse?.response, -}); diff --git a/x-pack/plugins/osquery/public/actions/use_action_details.ts b/x-pack/plugins/osquery/public/actions/use_action_details.ts index dfa23247045ef..61ba6a3340bdb 100644 --- a/x-pack/plugins/osquery/public/actions/use_action_details.ts +++ b/x-pack/plugins/osquery/public/actions/use_action_details.ts @@ -62,6 +62,7 @@ export const useActionDetails = ({ actionId, filterQuery, skip = false }: UseAct defaultMessage: 'Error while fetching action details', }), }), + refetchOnWindowFocus: false, retryDelay: 1000, } ); diff --git a/x-pack/plugins/osquery/public/actions/use_all_actions.ts b/x-pack/plugins/osquery/public/actions/use_all_actions.ts index ae872d3c1ed52..4951b3c9d8fd1 100644 --- a/x-pack/plugins/osquery/public/actions/use_all_actions.ts +++ b/x-pack/plugins/osquery/public/actions/use_all_actions.ts @@ -8,7 +8,12 @@ import { useQuery } from 'react-query'; import { i18n } from '@kbn/i18n'; -import { createFilter } from '../common/helpers'; +import { + createFilter, + generateTablePaginationOptions, + getInspectResponse, + InspectResponse, +} from '../common/helpers'; import { useKibana } from '../common/lib/kibana'; import { ActionEdges, @@ -20,7 +25,6 @@ import { } from '../../common/search_strategy'; import { ESTermQuery } from '../../common/typed_json'; -import { generateTablePaginationOptions, getInspectResponse, InspectResponse } from './helpers'; import { useErrorToast } from '../common/hooks/use_error_toast'; export interface ActionsArgs { diff --git a/x-pack/plugins/osquery/public/agent_policies/use_agent_policy.ts b/x-pack/plugins/osquery/public/agent_policies/use_agent_policy.ts index 15f1e48f1536e..3e211bd683a9e 100644 --- a/x-pack/plugins/osquery/public/agent_policies/use_agent_policy.ts +++ b/x-pack/plugins/osquery/public/agent_policies/use_agent_policy.ts @@ -21,7 +21,8 @@ export const useAgentPolicy = ({ policyId, skip, silent }: UseAgentPolicy) => { const { http } = useKibana().services; const setErrorToast = useErrorToast(); - return useQuery( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + return useQuery( ['agentPolicy', { policyId }], () => http.get(`/internal/osquery/fleet_wrapper/agent_policies/${policyId}`), { diff --git a/x-pack/plugins/osquery/public/agents/agents_table.tsx b/x-pack/plugins/osquery/public/agents/agents_table.tsx index a4fee25dfcd9a..105518537384f 100644 --- a/x-pack/plugins/osquery/public/agents/agents_table.tsx +++ b/x-pack/plugins/osquery/public/agents/agents_table.tsx @@ -84,6 +84,22 @@ const AgentsTableComponent: React.FC = ({ agentSelection, onCh const defaultValueInitialized = useRef(false); useEffect(() => { + const handleSelectedOptions = (selection: string[], label: string) => { + const agentOptions = find(['label', label], options); + + if (agentOptions) { + const defaultOptions = agentOptions.options?.filter((option) => { + if (option.key) { + return selection.includes(option.key); + } + }); + + if (defaultOptions?.length) { + setSelectedOptions(defaultOptions); + defaultValueInitialized.current = true; + } + } + }; if (agentSelection && !defaultValueInitialized.current && options.length) { if (agentSelection.allAgentsSelected) { const allAgentsOptions = find(['label', ALL_AGENTS_LABEL], options); @@ -95,35 +111,11 @@ const AgentsTableComponent: React.FC = ({ agentSelection, onCh } if (agentSelection.policiesSelected.length) { - const policyOptions = find(['label', AGENT_POLICY_LABEL], options); - - if (policyOptions) { - const defaultOptions = policyOptions.options?.filter((option) => - // @ts-expect-error update types - agentSelection.policiesSelected.includes(option.key) - ); - - if (defaultOptions?.length) { - setSelectedOptions(defaultOptions); - defaultValueInitialized.current = true; - } - } + handleSelectedOptions(agentSelection.policiesSelected, AGENT_POLICY_LABEL); } if (agentSelection.agents.length) { - const agentOptions = find(['label', AGENT_SELECTION_LABEL], options); - - if (agentOptions) { - const defaultOptions = agentOptions.options?.filter((option) => - // @ts-expect-error update types - agentSelection.agents.includes(option.key) - ); - - if (defaultOptions?.length) { - setSelectedOptions(defaultOptions); - defaultValueInitialized.current = true; - } - } + handleSelectedOptions(agentSelection.agents, AGENT_SELECTION_LABEL); } } }, [agentSelection, options, selectedOptions]); diff --git a/x-pack/plugins/osquery/public/agents/helpers.ts b/x-pack/plugins/osquery/public/agents/helpers.ts index 1b9ac9cedcee2..06b26fd4b53c2 100644 --- a/x-pack/plugins/osquery/public/agents/helpers.ts +++ b/x-pack/plugins/osquery/public/agents/helpers.ts @@ -7,12 +7,6 @@ import type { estypes } from '@elastic/elasticsearch'; import { euiPaletteColorBlindBehindText } from '@elastic/eui'; -import { - PaginationInputPaginated, - FactoryQueryTypes, - StrategyResponseType, - Inspect, -} from '../../common/search_strategy'; import { AGENT_GROUP_KEY, SelectedGroups, @@ -25,8 +19,6 @@ import { GroupOption, } from './types'; -export type InspectResponse = Inspect & { response: string[] }; - export const getNumOverlapped = ( { policy = {}, platform = {} }: SelectedGroups, overlap: Overlap @@ -154,26 +146,3 @@ export const generateAgentSelection = (selection: GroupOption[]) => { } return { newAgentSelection, selectedGroups, selectedAgents }; }; - -export const generateTablePaginationOptions = ( - activePage: number, - limit: number -): PaginationInputPaginated => { - const cursorStart = activePage * limit; - return { - activePage, - cursorStart, - fakePossibleCount: 4 <= activePage && activePage > 0 ? limit * (activePage + 2) : limit * 5, - querySize: limit, - }; -}; - -export const getInspectResponse = ( - response: StrategyResponseType, - prevResponse?: InspectResponse -): InspectResponse => ({ - dsl: response?.inspect?.dsl ?? prevResponse?.dsl ?? [], - // @ts-expect-error update types - response: - response != null ? [JSON.stringify(response.rawResponse, null, 2)] : prevResponse?.response, -}); diff --git a/x-pack/plugins/osquery/public/agents/use_agent_groups.ts b/x-pack/plugins/osquery/public/agents/use_agent_groups.ts index 4163861166acf..6821217c30cbf 100644 --- a/x-pack/plugins/osquery/public/agents/use_agent_groups.ts +++ b/x-pack/plugins/osquery/public/agents/use_agent_groups.ts @@ -16,7 +16,8 @@ import { AgentsStrategyResponse, } from '../../common/search_strategy'; -import { generateTablePaginationOptions, processAggregations } from './helpers'; +import { processAggregations } from './helpers'; +import { generateTablePaginationOptions } from '../common/helpers'; import { Overlap, Group } from './types'; import { useErrorToast } from '../common/hooks/use_error_toast'; diff --git a/x-pack/plugins/osquery/public/common/helpers.ts b/x-pack/plugins/osquery/public/common/helpers.ts index adac59211dee3..4f9efbe839ffd 100644 --- a/x-pack/plugins/osquery/public/common/helpers.ts +++ b/x-pack/plugins/osquery/public/common/helpers.ts @@ -7,7 +7,38 @@ import { isString } from 'lodash/fp'; +import { + PaginationInputPaginated, + FactoryQueryTypes, + StrategyResponseType, + Inspect, +} from '../../common/search_strategy'; + import { ESQuery } from '../../common/typed_json'; export const createFilter = (filterQuery: ESQuery | string | undefined) => isString(filterQuery) ? filterQuery : JSON.stringify(filterQuery); + +export type InspectResponse = Inspect & { response: string[] }; + +export const generateTablePaginationOptions = ( + activePage: number, + limit: number +): PaginationInputPaginated => { + const cursorStart = activePage * limit; + return { + activePage, + cursorStart, + fakePossibleCount: 4 <= activePage && activePage > 0 ? limit * (activePage + 2) : limit * 5, + querySize: limit, + }; +}; + +export const getInspectResponse = ( + response: StrategyResponseType, + prevResponse: InspectResponse +): InspectResponse => ({ + dsl: response?.inspect?.dsl ?? prevResponse?.dsl ?? [], + response: + response != null ? [JSON.stringify(response.rawResponse, null, 2)] : prevResponse?.response, +}); diff --git a/x-pack/plugins/osquery/public/common/hooks/use_breadcrumbs.tsx b/x-pack/plugins/osquery/public/common/hooks/use_breadcrumbs.tsx index 92660943b1170..6bef0ee38c24e 100644 --- a/x-pack/plugins/osquery/public/common/hooks/use_breadcrumbs.tsx +++ b/x-pack/plugins/osquery/public/common/hooks/use_breadcrumbs.tsx @@ -156,12 +156,27 @@ const breadcrumbGetters: { }; export function useBreadcrumbs(page: Page, values: DynamicPagePathValues = {}) { - const { chrome, http } = useKibana().services; + const { chrome, http, application } = useKibana().services; + const breadcrumbs: ChromeBreadcrumb[] = - breadcrumbGetters[page]?.(values).map((breadcrumb) => ({ - ...breadcrumb, - href: breadcrumb.href ? http.basePath.prepend(`${BASE_PATH}${breadcrumb.href}`) : undefined, - })) || []; + breadcrumbGetters[page]?.(values).map((breadcrumb) => { + const href = breadcrumb.href + ? http.basePath.prepend(`${BASE_PATH}${breadcrumb.href}`) + : undefined; + return { + ...breadcrumb, + href, + onClick: href + ? (ev: React.MouseEvent) => { + if (ev.metaKey || ev.altKey || ev.ctrlKey || ev.shiftKey) { + return; + } + ev.preventDefault(); + application.navigateToUrl(href); + } + : undefined, + }; + }) || []; const docTitle: string[] = [...breadcrumbs] .reverse() .map((breadcrumb) => breadcrumb.text as string); diff --git a/x-pack/plugins/osquery/public/components/app.tsx b/x-pack/plugins/osquery/public/components/app.tsx index ef249d5b8c7aa..026fa2753de31 100644 --- a/x-pack/plugins/osquery/public/components/app.tsx +++ b/x-pack/plugins/osquery/public/components/app.tsx @@ -5,33 +5,15 @@ * 2.0. */ -/* eslint-disable react-hooks/rules-of-hooks */ - -import React, { useMemo } from 'react'; -import { FormattedMessage } from '@kbn/i18n/react'; -import { - EuiButtonEmpty, - EuiFlexGroup, - EuiFlexItem, - EuiTabs, - EuiTab, - EuiLoadingElastic, - EuiPage, - EuiPageBody, - EuiPageContent, -} from '@elastic/eui'; -import { useLocation } from 'react-router-dom'; - -import { Container, Nav, Wrapper } from './layouts'; +import React from 'react'; +import { EuiLoadingElastic, EuiPage, EuiPageBody, EuiPageContent } from '@elastic/eui'; +import { Container, Wrapper } from './layouts'; import { OsqueryAppRoutes } from '../routes'; -import { useRouterNavigate } from '../common/lib/kibana'; -import { ManageIntegrationLink } from './manage_integration_link'; import { useOsqueryIntegrationStatus } from '../common/hooks'; import { OsqueryAppEmptyState } from './empty_state'; +import { MainNavigation } from './main_navigation'; const OsqueryAppComponent = () => { - const location = useLocation(); - const section = useMemo(() => location.pathname.split('/')[1] ?? 'overview', [location.pathname]); const { data: osqueryIntegration, isFetched } = useOsqueryIntegrationStatus(); if (!isFetched) { @@ -59,55 +41,7 @@ const OsqueryAppComponent = () => { return ( - + diff --git a/x-pack/plugins/osquery/public/components/main_navigation.tsx b/x-pack/plugins/osquery/public/components/main_navigation.tsx new file mode 100644 index 0000000000000..787c935f82ca6 --- /dev/null +++ b/x-pack/plugins/osquery/public/components/main_navigation.tsx @@ -0,0 +1,76 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useMemo } from 'react'; +import { FormattedMessage } from '@kbn/i18n/react'; +import { EuiButtonEmpty, EuiFlexGroup, EuiFlexItem, EuiTab, EuiTabs } from '@elastic/eui'; +import { useLocation } from 'react-router-dom'; +import { useRouterNavigate } from '../common/lib/kibana'; +import { ManageIntegrationLink } from './manage_integration_link'; +import { Nav } from './layouts'; + +enum Section { + LiveQueries = 'live_queries', + Packs = 'packs', + SavedQueries = 'saved_queries', +} + +export const MainNavigation = () => { + const location = useLocation(); + const section = useMemo(() => location.pathname.split('/')[1] ?? 'overview', [location.pathname]); + return ( + + ); +}; diff --git a/x-pack/plugins/osquery/public/fleet_integration/navigation_buttons.tsx b/x-pack/plugins/osquery/public/fleet_integration/navigation_buttons.tsx index 4bcc9d9ebf2a1..4da470270de76 100644 --- a/x-pack/plugins/osquery/public/fleet_integration/navigation_buttons.tsx +++ b/x-pack/plugins/osquery/public/fleet_integration/navigation_buttons.tsx @@ -30,7 +30,7 @@ const NavigationButtonsComponent: React.FC = ({ getUrlForApp(PLUGIN_ID, { path: agentPolicyId ? `/live_queries/new?agentPolicyId=${agentPolicyId}` - : ' `/live_queries/new', + : '/live_queries/new', }), [agentPolicyId, getUrlForApp] ); @@ -42,7 +42,7 @@ const NavigationButtonsComponent: React.FC = ({ navigateToApp(PLUGIN_ID, { path: agentPolicyId ? `/live_queries/new?agentPolicyId=${agentPolicyId}` - : ' `/live_queries/new', + : '/live_queries/new', }); } }, diff --git a/x-pack/plugins/osquery/public/fleet_integration/osquery_managed_policy_create_import_extension.tsx b/x-pack/plugins/osquery/public/fleet_integration/osquery_managed_policy_create_import_extension.tsx index d00214522b0c5..febab4b8d980e 100644 --- a/x-pack/plugins/osquery/public/fleet_integration/osquery_managed_policy_create_import_extension.tsx +++ b/x-pack/plugins/osquery/public/fleet_integration/osquery_managed_policy_create_import_extension.tsx @@ -308,25 +308,26 @@ export const OsqueryManagedPolicyCreateImportExtension = React.memo< /* From 0.6.0 we don't provide an input template, so we have to set it here */ if (satisfies(newPolicy?.package?.version, '>=0.6.0')) { const updatedPolicy = produce(newPolicy, (draft) => { - if (!draft.inputs.length) { + if (editMode && policy?.inputs.length) { + set(draft, 'inputs', policy.inputs); + } else { set(draft, 'inputs[0]', { type: 'osquery', enabled: true, streams: [], policy_template: 'osquery_manager', }); - } else { - if (!draft.inputs[0].type) { - set(draft, 'inputs[0].type', 'osquery'); - } - if (!draft.inputs[0].policy_template) { - set(draft, 'inputs[0].policy_template', 'osquery_manager'); - } - if (!draft.inputs[0].enabled) { - set(draft, 'inputs[0].enabled', true); - } } + return draft; }); + + if (updatedPolicy?.inputs[0].config) { + setFieldValue( + 'config', + JSON.stringify(updatedPolicy?.inputs[0].config.osquery.value, null, 2) + ); + } + onChange({ isValid: true, updatedPolicy, diff --git a/x-pack/plugins/osquery/public/live_queries/form/index.tsx b/x-pack/plugins/osquery/public/live_queries/form/index.tsx index 4a287eecb78a9..975528839a0c6 100644 --- a/x-pack/plugins/osquery/public/live_queries/form/index.tsx +++ b/x-pack/plugins/osquery/public/live_queries/form/index.tsx @@ -226,6 +226,8 @@ const LiveQueryFormComponent: React.FC = ({ if (!isEmpty(savedQuery.ecs_mapping)) { setFieldValue('ecs_mapping', savedQuery.ecs_mapping); setAdvancedContentState('open'); + } else { + setFieldValue('ecs_mapping', {}); } } else { setFieldValue('savedQueryId', null); diff --git a/x-pack/plugins/osquery/public/live_queries/index.tsx b/x-pack/plugins/osquery/public/live_queries/index.tsx index 81d3a6592a3c9..32cdbc9a354b5 100644 --- a/x-pack/plugins/osquery/public/live_queries/index.tsx +++ b/x-pack/plugins/osquery/public/live_queries/index.tsx @@ -45,7 +45,7 @@ const LiveQueryComponent: React.FC = ({ formType, enabled, }) => { - const { data: hasActionResultsPrivileges, isFetched } = useActionResultsPrivileges(); + const { data: hasActionResultsPrivileges, isLoading } = useActionResultsPrivileges(); const defaultValue = useMemo(() => { if (agentId || agentPolicyIds?.length || query?.length) { @@ -70,7 +70,7 @@ const LiveQueryComponent: React.FC = ({ return undefined; }, [agentId, agentIds, agentPolicyIds, ecs_mapping, query, savedQueryId]); - if (!isFetched) { + if (isLoading) { return ; } diff --git a/x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx b/x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx index a26b831be519b..7a46dad79fc21 100644 --- a/x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx +++ b/x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx @@ -390,13 +390,13 @@ const ScheduledQueryLastResults: React.FC = ({ toggleErrors, expanded, }) => { - const { data: lastResultsData, isFetched } = usePackQueryLastResults({ + const { data: lastResultsData, isLoading } = usePackQueryLastResults({ actionId, interval, logsDataView, }); - const { data: errorsData, isFetched: errorsFetched } = usePackQueryErrors({ + const { data: errorsData, isLoading: errorsLoading } = usePackQueryErrors({ actionId, interval, logsDataView, @@ -407,7 +407,7 @@ const ScheduledQueryLastResults: React.FC = ({ [queryId, interval, toggleErrors] ); - if (!isFetched || !errorsFetched) { + if (isLoading || errorsLoading) { return ; } diff --git a/x-pack/plugins/osquery/public/packs/packs_table.tsx b/x-pack/plugins/osquery/public/packs/packs_table.tsx index 9bea07b7c234c..f8599cc1fc51e 100644 --- a/x-pack/plugins/osquery/public/packs/packs_table.tsx +++ b/x-pack/plugins/osquery/public/packs/packs_table.tsx @@ -13,17 +13,18 @@ import { EuiBasicTableColumn, EuiLink, EuiToolTip, + EuiLoadingContent, } from '@elastic/eui'; import moment from 'moment-timezone'; import React, { useCallback, useMemo, useState } from 'react'; import styled from 'styled-components'; import { i18n } from '@kbn/i18n'; -import { PackagePolicy } from '../../../fleet/common'; import { useRouterNavigate } from '../common/lib/kibana'; import { usePacks } from './use_packs'; import { ActiveStateSwitch } from './active_state_switch'; import { AgentsPolicyLink } from '../agent_policies/agents_policy_link'; +import { PackSavedObject } from './types'; const UpdatedBy = styled.span` white-space: nowrap; @@ -82,7 +83,7 @@ export const AgentPoliciesPopover = ({ agentPolicyIds }: { agentPolicyIds: strin }; const PacksTableComponent = () => { - const { data } = usePacks({}); + const { data, isLoading } = usePacks({}); const renderAgentPolicy = useCallback( (agentPolicyIds) => , @@ -112,15 +113,14 @@ const PacksTableComponent = () => { ); }, []); - // @ts-expect-error update types - const columns: Array> = useMemo( + const columns: Array> = useMemo( () => [ { field: 'attributes.name', name: i18n.translate('xpack.osquery.packs.table.nameColumnTitle', { defaultMessage: 'Name', }), - sortable: true, + sortable: (item) => item.attributes.name.toLowerCase(), render: renderName, }, { @@ -178,8 +178,12 @@ const PacksTableComponent = () => { [] ); + if (isLoading) { + return ; + } + return ( - + // eslint-disable-next-line react-perf/jsx-no-new-array-as-prop items={data?.saved_objects ?? []} columns={columns} diff --git a/x-pack/plugins/osquery/public/packs/queries/ecs_mapping_editor_field.tsx b/x-pack/plugins/osquery/public/packs/queries/ecs_mapping_editor_field.tsx index 5a40be95dd824..9a8b3241261c2 100644 --- a/x-pack/plugins/osquery/public/packs/queries/ecs_mapping_editor_field.tsx +++ b/x-pack/plugins/osquery/public/packs/queries/ecs_mapping_editor_field.tsx @@ -585,33 +585,36 @@ export const ECSMappingEditorForm = forwardRef ({ + key: { type: FIELD_TYPES.COMBO_BOX, - fieldsToValidateOnChange: ['key'], + fieldsToValidateOnChange: ['result.value', 'key'], validations: [ { - validator: getOsqueryResultFieldValidator(osquerySchemaOptions, editForm), + validator: getEcsFieldValidator(editForm), }, ], }, - }, - }; + result: { + type: { + defaultValue: OSQUERY_COLUMN_VALUE_TYPE_OPTIONS[0].value, + type: FIELD_TYPES.COMBO_BOX, + fieldsToValidateOnChange: ['result.value'], + }, + value: { + type: FIELD_TYPES.COMBO_BOX, + fieldsToValidateOnChange: ['key'], + validations: [ + { + validator: getOsqueryResultFieldValidator(osquerySchemaOptions, editForm), + }, + ], + }, + }, + }), + [editForm, osquerySchemaOptions] + ); const { form } = useForm({ // @ts-expect-error update types @@ -634,7 +637,7 @@ export const ECSMappingEditorForm = forwardRef { validate(); - __validateFields(['result.value']); + __validateFields(['result.value', 'key']); const { data, isValid } = await submit(); if (isValid) { @@ -762,6 +765,7 @@ export const ECSMappingEditorForm = forwardRef { + Object.keys(formRefs.current).forEach((key) => { + if (!value[key]) { + delete formRefs.current[key]; + } + }); + }, [value]); + const handleAddRow = useCallback( (newRow) => { if (newRow?.key && newRow?.value) { @@ -1103,7 +1115,7 @@ export const ECSMappingEditorField = React.memo( {Object.entries(value).map(([ecsKey, ecsValue]) => ( { + ref={(formRef) => { if (formRef) { formRefs.current[ecsKey] = formRef; } @@ -1123,7 +1135,7 @@ export const ECSMappingEditorField = React.memo( {!euiFieldProps?.isDisabled && ( { + ref={(formRef) => { if (formRef) { formRefs.current.new = formRef; } diff --git a/x-pack/plugins/osquery/public/packs/queries/query_flyout.tsx b/x-pack/plugins/osquery/public/packs/queries/query_flyout.tsx index 0c08e781c9f2c..2aa71e8906cb7 100644 --- a/x-pack/plugins/osquery/public/packs/queries/query_flyout.tsx +++ b/x-pack/plugins/osquery/public/packs/queries/query_flyout.tsx @@ -53,9 +53,12 @@ const QueryFlyoutComponent: React.FC = ({ defaultValue, handleSubmit: async (payload, isValid) => { const ecsFieldValue = await ecsFieldRef?.current?.validate(); + const isEcsFieldValueValid = + ecsFieldValue && + Object.values(ecsFieldValue).every((field) => !isEmpty(Object.values(field)[0])); return new Promise((resolve) => { - if (isValid && ecsFieldValue) { + if (isValid && ecsFieldValue && isEcsFieldValueValid) { onSave({ ...payload, ...(isEmpty(ecsFieldValue) ? {} : { ecs_mapping: ecsFieldValue }), @@ -67,7 +70,7 @@ const QueryFlyoutComponent: React.FC = ({ }, }); - const { submit, setFieldValue, reset, isSubmitting } = form; + const { submit, setFieldValue, reset, isSubmitting, validate } = form; const [{ query }] = useFormData({ form, @@ -76,36 +79,37 @@ const QueryFlyoutComponent: React.FC = ({ const handleSetQueryValue = useCallback( (savedQuery) => { - if (!savedQuery) { - return reset(); - } + reset(); - setFieldValue('id', savedQuery.id); - setFieldValue('query', savedQuery.query); + if (savedQuery) { + setFieldValue('id', savedQuery.id); + setFieldValue('query', savedQuery.query); - if (savedQuery.description) { - setFieldValue('description', savedQuery.description); - } + if (savedQuery.description) { + setFieldValue('description', savedQuery.description); + } - if (savedQuery.interval) { - setFieldValue('interval', savedQuery.interval); - } + if (savedQuery.interval) { + setFieldValue('interval', savedQuery.interval); + } - if (savedQuery.platform) { - setFieldValue('platform', savedQuery.platform); - } + if (savedQuery.platform) { + setFieldValue('platform', savedQuery.platform); + } - if (savedQuery.version) { - setFieldValue('version', [savedQuery.version]); - } + if (savedQuery.version) { + setFieldValue('version', [savedQuery.version]); + } - if (savedQuery.ecs_mapping) { - setFieldValue('ecs_mapping', savedQuery.ecs_mapping); + if (savedQuery.ecs_mapping) { + setFieldValue('ecs_mapping', savedQuery.ecs_mapping); + } } + + validate(); }, - [setFieldValue, reset] + [reset, validate, setFieldValue] ); - /* Avoids accidental closing of the flyout when the user clicks outside of the flyout */ const maskProps = useMemo(() => ({ onClick: () => ({}) }), []); diff --git a/x-pack/plugins/osquery/public/packs/queries/schema.tsx b/x-pack/plugins/osquery/public/packs/queries/schema.tsx index 596b65a518b0a..f8b52f77956c9 100644 --- a/x-pack/plugins/osquery/public/packs/queries/schema.tsx +++ b/x-pack/plugins/osquery/public/packs/queries/schema.tsx @@ -29,7 +29,7 @@ export const createFormSchema = (ids: Set) => ({ description: { type: FIELD_TYPES.TEXT, label: i18n.translate('xpack.osquery.pack.queryFlyoutForm.descriptionFieldLabel', { - defaultMessage: 'Description', + defaultMessage: 'Description (optional)', }), validations: [], }, diff --git a/x-pack/plugins/osquery/public/packs/types.ts b/x-pack/plugins/osquery/public/packs/types.ts new file mode 100644 index 0000000000000..53bb96a181422 --- /dev/null +++ b/x-pack/plugins/osquery/public/packs/types.ts @@ -0,0 +1,26 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { SavedObject } from 'kibana/server'; + +export interface IQueryPayload { + attributes?: { + name: string; + id: string; + }; +} + +export type PackSavedObject = SavedObject<{ + name: string; + description: string | undefined; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + queries: Array>; + enabled: boolean | undefined; + created_at: string; + created_by: string | undefined; + updated_at: string; + updated_by: string | undefined; +}>; diff --git a/x-pack/plugins/osquery/public/packs/use_create_pack.ts b/x-pack/plugins/osquery/public/packs/use_create_pack.ts index 05756afde40d8..61287730b54c4 100644 --- a/x-pack/plugins/osquery/public/packs/use_create_pack.ts +++ b/x-pack/plugins/osquery/public/packs/use_create_pack.ts @@ -13,6 +13,7 @@ import { PLUGIN_ID } from '../../common'; import { pagePathGetters } from '../common/page_paths'; import { PACKS_ID } from './constants'; import { useErrorToast } from '../common/hooks/use_error_toast'; +import { IQueryPayload } from './types'; interface UseCreatePackProps { withRedirect?: boolean; @@ -29,7 +30,7 @@ export const useCreatePack = ({ withRedirect }: UseCreatePackProps) => { return useMutation( (payload) => - http.post('/internal/osquery/packs', { + http.post('/internal/osquery/packs', { body: JSON.stringify(payload), }), { diff --git a/x-pack/plugins/osquery/public/packs/use_packs.ts b/x-pack/plugins/osquery/public/packs/use_packs.ts index 9870cb481450f..e66d6acf6799a 100644 --- a/x-pack/plugins/osquery/public/packs/use_packs.ts +++ b/x-pack/plugins/osquery/public/packs/use_packs.ts @@ -22,7 +22,8 @@ export const usePacks = ({ return useQuery( [PACKS_ID, { pageIndex, pageSize, sortField, sortDirection }], async () => - http.get('/internal/osquery/packs', { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + http.get('/internal/osquery/packs', { query: { pageIndex, pageSize, sortField, sortDirection }, }), { diff --git a/x-pack/plugins/osquery/public/packs/use_update_pack.ts b/x-pack/plugins/osquery/public/packs/use_update_pack.ts index d9aecbe9ac598..cc88279802d03 100644 --- a/x-pack/plugins/osquery/public/packs/use_update_pack.ts +++ b/x-pack/plugins/osquery/public/packs/use_update_pack.ts @@ -13,6 +13,7 @@ import { PLUGIN_ID } from '../../common'; import { pagePathGetters } from '../common/page_paths'; import { PACKS_ID } from './constants'; import { useErrorToast } from '../common/hooks/use_error_toast'; +import { IQueryPayload } from './types'; interface UseUpdatePackProps { withRedirect?: boolean; @@ -32,7 +33,7 @@ export const useUpdatePack = ({ withRedirect, options }: UseUpdatePackProps) => return useMutation( // @ts-expect-error update types ({ id, ...payload }) => - http.put(`/internal/osquery/packs/${id}`, { + http.put(`/internal/osquery/packs/${id}`, { body: JSON.stringify(payload), }), { diff --git a/x-pack/plugins/osquery/public/results/helpers.ts b/x-pack/plugins/osquery/public/results/helpers.ts deleted file mode 100644 index 171530a77299f..0000000000000 --- a/x-pack/plugins/osquery/public/results/helpers.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { - PaginationInputPaginated, - FactoryQueryTypes, - StrategyResponseType, - Inspect, -} from '../../common/search_strategy'; - -export type InspectResponse = Inspect & { response: string[] }; - -export const generateTablePaginationOptions = ( - activePage: number, - limit: number -): PaginationInputPaginated => { - const cursorStart = activePage * limit; - return { - activePage, - cursorStart, - fakePossibleCount: 4 <= activePage && activePage > 0 ? limit * (activePage + 2) : limit * 5, - querySize: limit, - }; -}; - -export const getInspectResponse = ( - response: StrategyResponseType, - prevResponse: InspectResponse -): InspectResponse => ({ - dsl: response?.inspect?.dsl ?? prevResponse?.dsl ?? [], - response: - response != null ? [JSON.stringify(response.rawResponse, null, 2)] : prevResponse?.response, -}); diff --git a/x-pack/plugins/osquery/public/results/results_table.tsx b/x-pack/plugins/osquery/public/results/results_table.tsx index 164d4fbdc878b..d399679bf0528 100644 --- a/x-pack/plugins/osquery/public/results/results_table.tsx +++ b/x-pack/plugins/osquery/public/results/results_table.tsx @@ -105,7 +105,11 @@ const ResultsTableComponent: React.FC = ({ ]); const [columns, setColumns] = useState([]); - const { data: allResultsData, isFetched } = useAllResults({ + const { + data: allResultsData, + isFetched, + isLoading, + } = useAllResults({ actionId, activePage: pagination.pageIndex, limit: pagination.pageSize, @@ -232,15 +236,11 @@ const ResultsTableComponent: React.FC = ({ ); useEffect(() => { - if (!allResultsData?.edges) { + if (!allResultsData?.columns.length) { return; } - const fields = [ - 'agent.name', - ...ecsMappingColumns.sort(), - ...keys(allResultsData?.edges[0]?.fields || {}).sort(), - ]; + const fields = ['agent.name', ...ecsMappingColumns.sort(), ...allResultsData?.columns]; const newColumns = fields.reduce( (acc, fieldName) => { @@ -277,12 +277,15 @@ const ResultsTableComponent: React.FC = ({ if (fieldName.startsWith('osquery.')) { const displayAsText = fieldName.split('.')[1]; + const hasNumberType = fields.includes(`${fieldName}.number`); if (!seen.has(displayAsText)) { + const id = hasNumberType ? fieldName + '.number' : fieldName; data.push({ - id: fieldName, + id, displayAsText, display: getHeaderDisplay(displayAsText), defaultSortDirection: Direction.asc, + ...(hasNumberType ? { schema: 'numeric' } : {}), }); seen.add(displayAsText); } @@ -298,7 +301,8 @@ const ResultsTableComponent: React.FC = ({ !isEqual(map('id', currentColumns), map('id', newColumns)) ? newColumns : currentColumns ); setVisibleColumns(map('id', newColumns)); - }, [allResultsData?.edges, ecsMappingColumns, getHeaderDisplay]); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [allResultsData?.columns.length, ecsMappingColumns, getHeaderDisplay]); const toolbarVisibility = useMemo( () => ({ @@ -347,7 +351,7 @@ const ResultsTableComponent: React.FC = ({ ); } - if (!isFetched) { + if (isLoading) { return ; } diff --git a/x-pack/plugins/osquery/public/results/use_all_results.ts b/x-pack/plugins/osquery/public/results/use_all_results.ts index a13fceedfa07a..16c5d221cfdd9 100644 --- a/x-pack/plugins/osquery/public/results/use_all_results.ts +++ b/x-pack/plugins/osquery/public/results/use_all_results.ts @@ -8,7 +8,12 @@ import { useQuery } from 'react-query'; import { i18n } from '@kbn/i18n'; -import { createFilter } from '../common/helpers'; +import { + createFilter, + generateTablePaginationOptions, + getInspectResponse, + InspectResponse, +} from '../common/helpers'; import { useKibana } from '../common/lib/kibana'; import { ResultEdges, @@ -20,7 +25,6 @@ import { } from '../../common/search_strategy'; import { ESTermQuery } from '../../common/typed_json'; -import { generateTablePaginationOptions, getInspectResponse, InspectResponse } from './helpers'; import { useErrorToast } from '../common/hooks/use_error_toast'; export interface ResultsArgs { @@ -72,12 +76,20 @@ export const useAllResults = ({ ) .toPromise(); + if (!responseData?.edges?.length && responseData.totalCount) { + throw new Error('Empty edges while positive totalCount'); + } + return { ...responseData, + columns: Object.keys( + (responseData.edges?.length && responseData.edges[0].fields) || {} + ).sort(), inspect: getInspectResponse(responseData, {} as InspectResponse), }; }, { + keepPreviousData: true, refetchInterval: isLive ? 5000 : false, enabled: !skip, onSuccess: () => setErrorToast(), diff --git a/x-pack/plugins/osquery/public/routes/live_queries/list/index.tsx b/x-pack/plugins/osquery/public/routes/live_queries/list/index.tsx index ccf9b655a96d7..e3175cdf28625 100644 --- a/x-pack/plugins/osquery/public/routes/live_queries/list/index.tsx +++ b/x-pack/plugins/osquery/public/routes/live_queries/list/index.tsx @@ -15,9 +15,7 @@ import { WithHeaderLayout } from '../../../components/layouts'; import { useBreadcrumbs } from '../../../common/hooks/use_breadcrumbs'; const LiveQueriesPageComponent = () => { - const permissions = useKibana().services.application.capabilities.osquery; useBreadcrumbs('live_queries'); - const newQueryLinkProps = useRouterNavigate('live_queries/new'); const LeftColumn = useMemo( () => ( @@ -37,28 +35,35 @@ const LiveQueriesPageComponent = () => { [] ); - const RightColumn = useMemo( - () => ( - - - - ), - [permissions.writeLiveQueries, permissions.runSavedQueries, newQueryLinkProps] - ); - return ( - + } + rightColumnGrow={false} + > ); }; export const LiveQueriesPage = React.memo(LiveQueriesPageComponent); + +const NewLiveQueryButton = React.memo(() => { + const permissions = useKibana().services.application.capabilities.osquery; + const newQueryLinkProps = useRouterNavigate('live_queries/new'); + + return ( + + + + ); +}); +NewLiveQueryButton.displayName = 'NewLiveQueryButton'; diff --git a/x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx b/x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx index f59a07763f0fa..d9d872703fbd9 100644 --- a/x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx +++ b/x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx @@ -13,6 +13,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiText, + EuiBasicTableColumn, } from '@elastic/eui'; import React, { useCallback, useMemo, useState } from 'react'; import { i18n } from '@kbn/i18n'; @@ -28,10 +29,12 @@ import { useSavedQueries } from '../../../saved_queries/use_saved_queries'; type SavedQuerySO = SavedObject<{ name: string; + id: string; query: string; ecs_mapping: ECSMapping; updated_at: string; }>; + interface PlayButtonProps { disabled: boolean; savedQuery: SavedQuerySO; @@ -141,14 +144,14 @@ const SavedQueriesPageComponent = () => { return updatedAt ? `${moment(updatedAt).fromNow()}${updatedBy}` : '-'; }, []); - const columns = useMemo( + const columns: Array> = useMemo( () => [ { field: 'attributes.id', name: i18n.translate('xpack.osquery.savedQueries.table.queryIdColumnTitle', { defaultMessage: 'Query ID', }), - sortable: true, + sortable: (item) => item.attributes.id.toLowerCase(), truncateText: true, }, { @@ -156,7 +159,6 @@ const SavedQueriesPageComponent = () => { name: i18n.translate('xpack.osquery.savedQueries.table.descriptionColumnTitle', { defaultMessage: 'Description', }), - sortable: true, truncateText: true, }, { @@ -172,7 +174,7 @@ const SavedQueriesPageComponent = () => { name: i18n.translate('xpack.osquery.savedQueries.table.updatedAtColumnTitle', { defaultMessage: 'Last updated at', }), - sortable: (item: SavedQuerySO) => + sortable: (item) => item.attributes.updated_at ? Date.parse(item.attributes.updated_at) : 0, truncateText: true, render: renderUpdatedAt, diff --git a/x-pack/plugins/osquery/public/saved_queries/form/playground_flyout.tsx b/x-pack/plugins/osquery/public/saved_queries/form/playground_flyout.tsx index 5e8bb725dd5a2..62b47dbdb6eb0 100644 --- a/x-pack/plugins/osquery/public/saved_queries/form/playground_flyout.tsx +++ b/x-pack/plugins/osquery/public/saved_queries/form/playground_flyout.tsx @@ -27,7 +27,7 @@ interface PlaygroundFlyoutProps { const PlaygroundFlyoutComponent: React.FC = ({ enabled, onClose }) => { // eslint-disable-next-line @typescript-eslint/naming-convention - const [{ query, ecs_mapping, savedQueryId }] = useFormData({ + const [{ query, ecs_mapping, id }] = useFormData({ watch: ['query', 'ecs_mapping', 'savedQueryId'], }); @@ -45,11 +45,11 @@ const PlaygroundFlyoutComponent: React.FC = ({ enabled, o diff --git a/x-pack/plugins/osquery/public/saved_queries/form/use_saved_query_form.tsx b/x-pack/plugins/osquery/public/saved_queries/form/use_saved_query_form.tsx index 3fd2275477ebf..b3e0cab60851e 100644 --- a/x-pack/plugins/osquery/public/saved_queries/form/use_saved_query_form.tsx +++ b/x-pack/plugins/osquery/public/saved_queries/form/use_saved_query_form.tsx @@ -54,7 +54,7 @@ export const useSavedQueryForm = ({ try { await handleSubmit({ ...formData, - ...(isEmpty(ecsFieldValue) ? {} : { ecs_mapping: ecsFieldValue }), + ecs_mapping: ecsFieldValue, }); // eslint-disable-next-line no-empty } catch (e) {} diff --git a/x-pack/plugins/osquery/public/saved_queries/use_create_saved_query.ts b/x-pack/plugins/osquery/public/saved_queries/use_create_saved_query.ts index c736cdf9c3545..3ecab8a6d2c4d 100644 --- a/x-pack/plugins/osquery/public/saved_queries/use_create_saved_query.ts +++ b/x-pack/plugins/osquery/public/saved_queries/use_create_saved_query.ts @@ -29,7 +29,8 @@ export const useCreateSavedQuery = ({ withRedirect }: UseCreateSavedQueryProps) return useMutation( (payload) => - http.post('/internal/osquery/saved_query', { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + http.post('/internal/osquery/saved_query', { body: JSON.stringify(payload), }), { diff --git a/x-pack/plugins/osquery/public/saved_queries/use_update_saved_query.ts b/x-pack/plugins/osquery/public/saved_queries/use_update_saved_query.ts index b2e23163a74c8..e31fb2d2f121f 100644 --- a/x-pack/plugins/osquery/public/saved_queries/use_update_saved_query.ts +++ b/x-pack/plugins/osquery/public/saved_queries/use_update_saved_query.ts @@ -29,7 +29,8 @@ export const useUpdateSavedQuery = ({ savedQueryId }: UseUpdateSavedQueryProps) return useMutation( (payload) => - http.put(`/internal/osquery/saved_query/${savedQueryId}`, { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + http.put(`/internal/osquery/saved_query/${savedQueryId}`, { body: JSON.stringify(payload), }), { diff --git a/x-pack/plugins/osquery/public/shared_components/osquery_action/index.tsx b/x-pack/plugins/osquery/public/shared_components/osquery_action/index.tsx index 8fc289b7ef36b..c17d3a425f780 100644 --- a/x-pack/plugins/osquery/public/shared_components/osquery_action/index.tsx +++ b/x-pack/plugins/osquery/public/shared_components/osquery_action/index.tsx @@ -29,7 +29,11 @@ interface OsqueryActionProps { const OsqueryActionComponent: React.FC = ({ metadata }) => { const permissions = useKibana().services.application.capabilities.osquery; const agentId = metadata?.info?.agent?.id ?? undefined; - const { data: agentData, isFetched: agentFetched } = useAgentDetails({ + const { + data: agentData, + isFetched: agentFetched, + isLoading, + } = useAgentDetails({ agentId, silent: true, skip: !agentId, @@ -71,7 +75,7 @@ const OsqueryActionComponent: React.FC = ({ metadata }) => { ); } - if (!agentFetched) { + if (isLoading) { return ; } diff --git a/x-pack/plugins/osquery/server/lib/fleet_integration.ts b/x-pack/plugins/osquery/server/lib/fleet_integration.ts new file mode 100644 index 0000000000000..87d48c95648bb --- /dev/null +++ b/x-pack/plugins/osquery/server/lib/fleet_integration.ts @@ -0,0 +1,54 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { SavedObjectReference, SavedObjectsClient } from 'kibana/server'; +import { filter, map } from 'lodash'; +import { packSavedObjectType } from '../../common/types'; +import { PostPackagePolicyDeleteCallback } from '../../../fleet/server'; +import { AGENT_POLICY_SAVED_OBJECT_TYPE } from '../../../fleet/common'; +import { OSQUERY_INTEGRATION_NAME } from '../../common'; + +export const getPackagePolicyDeleteCallback = + (packsClient: SavedObjectsClient): PostPackagePolicyDeleteCallback => + async (deletedPackagePolicy) => { + const deletedOsqueryManagerPolicies = filter(deletedPackagePolicy, [ + 'package.name', + OSQUERY_INTEGRATION_NAME, + ]); + await Promise.all( + map(deletedOsqueryManagerPolicies, async (deletedOsqueryManagerPolicy) => { + if (deletedOsqueryManagerPolicy.policy_id) { + const foundPacks = await packsClient.find({ + type: packSavedObjectType, + hasReference: { + type: AGENT_POLICY_SAVED_OBJECT_TYPE, + id: deletedOsqueryManagerPolicy.policy_id, + }, + perPage: 1000, + }); + + await Promise.all( + map( + foundPacks.saved_objects, + (pack: { id: string; references: SavedObjectReference[] }) => + packsClient.update( + packSavedObjectType, + pack.id, + {}, + { + references: filter( + pack.references, + (reference) => reference.id !== deletedOsqueryManagerPolicy.policy_id + ), + } + ) + ) + ); + } + }) + ); + }; diff --git a/x-pack/plugins/osquery/server/lib/saved_query/saved_object_mappings.ts b/x-pack/plugins/osquery/server/lib/saved_query/saved_object_mappings.ts index 2990027ff8d97..bed2ba2efe688 100644 --- a/x-pack/plugins/osquery/server/lib/saved_query/saved_object_mappings.ts +++ b/x-pack/plugins/osquery/server/lib/saved_query/saved_object_mappings.ts @@ -58,7 +58,7 @@ export const savedQueryType: SavedObjectsType = { getTitle: (savedObject) => savedObject.attributes.id, getEditUrl: (savedObject) => `/saved_queries/${savedObject.id}/edit`, getInAppUrl: (savedObject) => ({ - path: `/app/saved_queries/${savedObject.id}`, + path: `/app/osquery/saved_queries/${savedObject.id}`, uiCapabilitiesPath: 'osquery.read', }), }, @@ -124,7 +124,7 @@ export const packType: SavedObjectsType = { getTitle: (savedObject) => `Pack: ${savedObject.attributes.name}`, getEditUrl: (savedObject) => `/packs/${savedObject.id}/edit`, getInAppUrl: (savedObject) => ({ - path: `/app/packs/${savedObject.id}`, + path: `/app/osquery/packs/${savedObject.id}`, uiCapabilitiesPath: 'osquery.read', }), onExport: (context, objects) => diff --git a/x-pack/plugins/osquery/server/plugin.ts b/x-pack/plugins/osquery/server/plugin.ts index 271ffe7250ce7..5bdde86607afc 100644 --- a/x-pack/plugins/osquery/server/plugin.ts +++ b/x-pack/plugins/osquery/server/plugin.ts @@ -6,20 +6,16 @@ */ import { i18n } from '@kbn/i18n'; -import { - ASSETS_SAVED_OBJECT_TYPE, - PACKAGE_POLICY_SAVED_OBJECT_TYPE, - AGENT_POLICY_SAVED_OBJECT_TYPE, - PACKAGES_SAVED_OBJECT_TYPE, -} from '../../fleet/common'; import { PluginInitializerContext, CoreSetup, CoreStart, Plugin, Logger, + SavedObjectsClient, DEFAULT_APP_CATEGORIES, } from '../../../../src/core/server'; + import { createConfig } from './create_config'; import { OsqueryPluginSetup, OsqueryPluginStart, SetupPlugins, StartPlugins } from './types'; import { defineRoutes } from './routes'; @@ -30,6 +26,7 @@ import { OsqueryAppContext, OsqueryAppContextService } from './lib/osquery_app_c import { ConfigType } from './config'; import { packSavedObjectType, savedQuerySavedObjectType } from '../common/types'; import { PLUGIN_ID } from '../common'; +import { getPackagePolicyDeleteCallback } from './lib/fleet_integration'; const registerFeatures = (features: SetupPlugins['features']) => { features.registerKibanaFeature({ @@ -48,12 +45,8 @@ const registerFeatures = (features: SetupPlugins['features']) => { app: [PLUGIN_ID, 'kibana'], catalogue: [PLUGIN_ID], savedObject: { - all: [ - PACKAGE_POLICY_SAVED_OBJECT_TYPE, - ASSETS_SAVED_OBJECT_TYPE, - AGENT_POLICY_SAVED_OBJECT_TYPE, - ], - read: [PACKAGES_SAVED_OBJECT_TYPE], + all: [], + read: [], }, ui: ['write'], }, @@ -63,11 +56,7 @@ const registerFeatures = (features: SetupPlugins['features']) => { catalogue: [PLUGIN_ID], savedObject: { all: [], - read: [ - PACKAGE_POLICY_SAVED_OBJECT_TYPE, - PACKAGES_SAVED_OBJECT_TYPE, - AGENT_POLICY_SAVED_OBJECT_TYPE, - ], + read: [], }, ui: ['read'], }, @@ -173,11 +162,7 @@ const registerFeatures = (features: SetupPlugins['features']) => { includeIn: 'all', name: 'All', savedObject: { - all: [ - PACKAGE_POLICY_SAVED_OBJECT_TYPE, - ASSETS_SAVED_OBJECT_TYPE, - packSavedObjectType, - ], + all: [packSavedObjectType], read: [], }, ui: ['writePacks', 'readPacks'], @@ -261,6 +246,11 @@ export class OsqueryPlugin implements Plugin { const esClient = context.core.elasticsearch.client.asInternalUser; - const soClient = context.core.savedObjects.client; const internalSavedObjectsClient = await getInternalSavedObjectsClient( osqueryContext.getStartServices ); @@ -47,7 +46,7 @@ export const createActionRoute = (router: IRouter, osqueryContext: OsqueryAppCon const { agentSelection } = request.body as { agentSelection: AgentSelection }; const selectedAgents = await parseAgentSelection( esClient, - soClient, + internalSavedObjectsClient, osqueryContext, agentSelection ); diff --git a/x-pack/plugins/osquery/server/routes/fleet_wrapper/get_agent_policies.ts b/x-pack/plugins/osquery/server/routes/fleet_wrapper/get_agent_policies.ts index accfc2d9ef4da..53ceba73e7840 100644 --- a/x-pack/plugins/osquery/server/routes/fleet_wrapper/get_agent_policies.ts +++ b/x-pack/plugins/osquery/server/routes/fleet_wrapper/get_agent_policies.ts @@ -17,6 +17,7 @@ import { import { OSQUERY_INTEGRATION_NAME, PLUGIN_ID } from '../../../common'; import { IRouter } from '../../../../../../src/core/server'; import { OsqueryAppContext } from '../../lib/osquery_app_context_services'; +import { getInternalSavedObjectsClient } from '../../usage/collector'; export const getAgentPoliciesRoute = (router: IRouter, osqueryContext: OsqueryAppContext) => { router.get( @@ -29,22 +30,30 @@ export const getAgentPoliciesRoute = (router: IRouter, osqueryContext: OsqueryAp options: { tags: [`access:${PLUGIN_ID}-read`] }, }, async (context, request, response) => { - const soClient = context.core.savedObjects.client; + const internalSavedObjectsClient = await getInternalSavedObjectsClient( + osqueryContext.getStartServices + ); const esClient = context.core.elasticsearch.client.asInternalUser; const agentService = osqueryContext.service.getAgentService(); const agentPolicyService = osqueryContext.service.getAgentPolicyService(); const packagePolicyService = osqueryContext.service.getPackagePolicyService(); - const { items: packagePolicies } = (await packagePolicyService?.list(soClient, { - kuery: `${PACKAGE_POLICY_SAVED_OBJECT_TYPE}.package.name:${OSQUERY_INTEGRATION_NAME}`, - perPage: 1000, - page: 1, - })) ?? { items: [] as PackagePolicy[] }; + const { items: packagePolicies } = (await packagePolicyService?.list( + internalSavedObjectsClient, + { + kuery: `${PACKAGE_POLICY_SAVED_OBJECT_TYPE}.package.name:${OSQUERY_INTEGRATION_NAME}`, + perPage: 1000, + page: 1, + } + )) ?? { items: [] as PackagePolicy[] }; const supportedPackagePolicyIds = filter(packagePolicies, (packagePolicy) => satisfies(packagePolicy.package?.version ?? '', '>=0.6.0') ); const agentPolicyIds = uniq(map(supportedPackagePolicyIds, 'policy_id')); - const agentPolicies = await agentPolicyService?.getByIds(soClient, agentPolicyIds); + const agentPolicies = await agentPolicyService?.getByIds( + internalSavedObjectsClient, + agentPolicyIds + ); if (agentPolicies?.length) { await bluebird.map( diff --git a/x-pack/plugins/osquery/server/routes/fleet_wrapper/get_agent_policy.ts b/x-pack/plugins/osquery/server/routes/fleet_wrapper/get_agent_policy.ts index f845b04e99c93..9f2e523941bc2 100644 --- a/x-pack/plugins/osquery/server/routes/fleet_wrapper/get_agent_policy.ts +++ b/x-pack/plugins/osquery/server/routes/fleet_wrapper/get_agent_policy.ts @@ -9,6 +9,7 @@ import { schema } from '@kbn/config-schema'; import { PLUGIN_ID } from '../../../common'; import { IRouter } from '../../../../../../src/core/server'; import { OsqueryAppContext } from '../../lib/osquery_app_context_services'; +import { getInternalSavedObjectsClient } from '../../usage/collector'; export const getAgentPolicyRoute = (router: IRouter, osqueryContext: OsqueryAppContext) => { router.get( @@ -22,11 +23,12 @@ export const getAgentPolicyRoute = (router: IRouter, osqueryContext: OsqueryAppC options: { tags: [`access:${PLUGIN_ID}-read`] }, }, async (context, request, response) => { - const soClient = context.core.savedObjects.client; - + const internalSavedObjectsClient = await getInternalSavedObjectsClient( + osqueryContext.getStartServices + ); const packageInfo = await osqueryContext.service .getAgentPolicyService() - ?.get(soClient, request.params.id); + ?.get(internalSavedObjectsClient, request.params.id); return response.ok({ body: { item: packageInfo } }); } diff --git a/x-pack/plugins/osquery/server/routes/fleet_wrapper/get_package_policies.ts b/x-pack/plugins/osquery/server/routes/fleet_wrapper/get_package_policies.ts index b95dfbdfb9cb4..36d22abc1fd05 100644 --- a/x-pack/plugins/osquery/server/routes/fleet_wrapper/get_package_policies.ts +++ b/x-pack/plugins/osquery/server/routes/fleet_wrapper/get_package_policies.ts @@ -10,6 +10,7 @@ import { PLUGIN_ID, OSQUERY_INTEGRATION_NAME } from '../../../common'; import { IRouter } from '../../../../../../src/core/server'; import { PACKAGE_POLICY_SAVED_OBJECT_TYPE } from '../../../../fleet/common'; import { OsqueryAppContext } from '../../lib/osquery_app_context_services'; +import { getInternalSavedObjectsClient } from '../../usage/collector'; export const getPackagePoliciesRoute = (router: IRouter, osqueryContext: OsqueryAppContext) => { router.get( @@ -21,9 +22,12 @@ export const getPackagePoliciesRoute = (router: IRouter, osqueryContext: Osquery options: { tags: [`access:${PLUGIN_ID}-read`] }, }, async (context, request, response) => { + const internalSavedObjectsClient = await getInternalSavedObjectsClient( + osqueryContext.getStartServices + ); const kuery = `${PACKAGE_POLICY_SAVED_OBJECT_TYPE}.attributes.package.name: ${OSQUERY_INTEGRATION_NAME}`; const packagePolicyService = osqueryContext.service.getPackagePolicyService(); - const policies = await packagePolicyService?.list(context.core.savedObjects.client, { + const policies = await packagePolicyService?.list(internalSavedObjectsClient, { kuery, }); diff --git a/x-pack/plugins/osquery/server/routes/pack/create_pack_route.ts b/x-pack/plugins/osquery/server/routes/pack/create_pack_route.ts index bdc307e36619f..69384619596a2 100644 --- a/x-pack/plugins/osquery/server/routes/pack/create_pack_route.ts +++ b/x-pack/plugins/osquery/server/routes/pack/create_pack_route.ts @@ -20,6 +20,7 @@ import { OSQUERY_INTEGRATION_NAME } from '../../../common'; import { PLUGIN_ID } from '../../../common'; import { packSavedObjectType } from '../../../common/types'; import { convertPackQueriesToSO } from './utils'; +import { getInternalSavedObjectsClient } from '../../usage/collector'; export const createPackRoute = (router: IRouter, osqueryContext: OsqueryAppContext) => { router.post( @@ -61,6 +62,9 @@ export const createPackRoute = (router: IRouter, osqueryContext: OsqueryAppConte async (context, request, response) => { const esClient = context.core.elasticsearch.client.asCurrentUser; const savedObjectsClient = context.core.savedObjects.client; + const internalSavedObjectsClient = await getInternalSavedObjectsClient( + osqueryContext.getStartServices + ); const agentPolicyService = osqueryContext.service.getAgentPolicyService(); const packagePolicyService = osqueryContext.service.getPackagePolicyService(); @@ -78,14 +82,17 @@ export const createPackRoute = (router: IRouter, osqueryContext: OsqueryAppConte return response.conflict({ body: `Pack with name "${name}" already exists.` }); } - const { items: packagePolicies } = (await packagePolicyService?.list(savedObjectsClient, { - kuery: `${PACKAGE_POLICY_SAVED_OBJECT_TYPE}.package.name:${OSQUERY_INTEGRATION_NAME}`, - perPage: 1000, - page: 1, - })) ?? { items: [] }; + const { items: packagePolicies } = (await packagePolicyService?.list( + internalSavedObjectsClient, + { + kuery: `${PACKAGE_POLICY_SAVED_OBJECT_TYPE}.package.name:${OSQUERY_INTEGRATION_NAME}`, + perPage: 1000, + page: 1, + } + )) ?? { items: [] }; const agentPolicies = policy_ids - ? mapKeys(await agentPolicyService?.getByIds(savedObjectsClient, policy_ids), 'id') + ? mapKeys(await agentPolicyService?.getByIds(internalSavedObjectsClient, policy_ids), 'id') : {}; const references = policy_ids @@ -120,7 +127,7 @@ export const createPackRoute = (router: IRouter, osqueryContext: OsqueryAppConte const packagePolicy = find(packagePolicies, ['policy_id', agentPolicyId]); if (packagePolicy) { return packagePolicyService?.update( - savedObjectsClient, + internalSavedObjectsClient, esClient, packagePolicy.id, produce(packagePolicy, (draft) => { diff --git a/x-pack/plugins/osquery/server/routes/pack/update_pack_route.ts b/x-pack/plugins/osquery/server/routes/pack/update_pack_route.ts index 88af904088984..b2cff1b769d1c 100644 --- a/x-pack/plugins/osquery/server/routes/pack/update_pack_route.ts +++ b/x-pack/plugins/osquery/server/routes/pack/update_pack_route.ts @@ -6,19 +6,7 @@ */ import moment from 'moment-timezone'; -import { - isEmpty, - set, - unset, - has, - difference, - filter, - find, - map, - mapKeys, - pickBy, - uniq, -} from 'lodash'; +import { set, unset, has, difference, filter, find, map, mapKeys, uniq } from 'lodash'; import { schema } from '@kbn/config-schema'; import { produce } from 'immer'; import { @@ -33,6 +21,7 @@ import { packSavedObjectType } from '../../../common/types'; import { OsqueryAppContext } from '../../lib/osquery_app_context_services'; import { PLUGIN_ID } from '../../../common'; import { convertSOQueriesToPack, convertPackQueriesToSO } from './utils'; +import { getInternalSavedObjectsClient } from '../../usage/collector'; export const updatePackRoute = (router: IRouter, osqueryContext: OsqueryAppContext) => { router.put( @@ -82,6 +71,9 @@ export const updatePackRoute = (router: IRouter, osqueryContext: OsqueryAppConte async (context, request, response) => { const esClient = context.core.elasticsearch.client.asCurrentUser; const savedObjectsClient = context.core.savedObjects.client; + const internalSavedObjectsClient = await getInternalSavedObjectsClient( + osqueryContext.getStartServices + ); const agentPolicyService = osqueryContext.service.getAgentPolicyService(); const packagePolicyService = osqueryContext.service.getPackagePolicyService(); const currentUser = await osqueryContext.security.authc.getCurrentUser(request)?.username; @@ -108,16 +100,19 @@ export const updatePackRoute = (router: IRouter, osqueryContext: OsqueryAppConte } } - const { items: packagePolicies } = (await packagePolicyService?.list(savedObjectsClient, { - kuery: `${PACKAGE_POLICY_SAVED_OBJECT_TYPE}.package.name:${OSQUERY_INTEGRATION_NAME}`, - perPage: 1000, - page: 1, - })) ?? { items: [] }; + const { items: packagePolicies } = (await packagePolicyService?.list( + internalSavedObjectsClient, + { + kuery: `${PACKAGE_POLICY_SAVED_OBJECT_TYPE}.package.name:${OSQUERY_INTEGRATION_NAME}`, + perPage: 1000, + page: 1, + } + )) ?? { items: [] }; const currentPackagePolicies = filter(packagePolicies, (packagePolicy) => has(packagePolicy, `inputs[0].config.osquery.value.packs.${currentPackSO.attributes.name}`) ); const agentPolicies = policy_ids - ? mapKeys(await agentPolicyService?.getByIds(savedObjectsClient, policy_ids), 'id') + ? mapKeys(await agentPolicyService?.getByIds(internalSavedObjectsClient, policy_ids), 'id') : {}; const agentPolicyIds = Object.keys(agentPolicies); @@ -126,16 +121,11 @@ export const updatePackRoute = (router: IRouter, osqueryContext: OsqueryAppConte request.params.id, { enabled, - ...pickBy( - { - name, - description, - queries: queries && convertPackQueriesToSO(queries), - updated_at: moment().toISOString(), - updated_by: currentUser, - }, - (value) => !isEmpty(value) - ), + name, + description: description || '', + queries: queries && convertPackQueriesToSO(queries), + updated_at: moment().toISOString(), + updated_by: currentUser, }, policy_ids ? { @@ -178,7 +168,7 @@ export const updatePackRoute = (router: IRouter, osqueryContext: OsqueryAppConte if (packagePolicy) { return packagePolicyService?.update( - savedObjectsClient, + internalSavedObjectsClient, esClient, packagePolicy.id, produce(packagePolicy, (draft) => { @@ -206,7 +196,7 @@ export const updatePackRoute = (router: IRouter, osqueryContext: OsqueryAppConte if (!packagePolicy) return; return packagePolicyService?.update( - savedObjectsClient, + internalSavedObjectsClient, esClient, packagePolicy.id, produce(packagePolicy, (draft) => { @@ -233,7 +223,7 @@ export const updatePackRoute = (router: IRouter, osqueryContext: OsqueryAppConte const packagePolicy = find(currentPackagePolicies, ['policy_id', agentPolicyId]); if (packagePolicy) { return packagePolicyService?.update( - savedObjectsClient, + internalSavedObjectsClient, esClient, packagePolicy.id, produce(packagePolicy, (draft) => { @@ -255,7 +245,7 @@ export const updatePackRoute = (router: IRouter, osqueryContext: OsqueryAppConte if (packagePolicy) { return packagePolicyService?.update( - savedObjectsClient, + internalSavedObjectsClient, esClient, packagePolicy.id, produce(packagePolicy, (draft) => { @@ -287,7 +277,7 @@ export const updatePackRoute = (router: IRouter, osqueryContext: OsqueryAppConte if (packagePolicy) { return packagePolicyService?.update( - savedObjectsClient, + internalSavedObjectsClient, esClient, packagePolicy.id, produce(packagePolicy, (draft) => { diff --git a/x-pack/plugins/osquery/server/routes/saved_query/update_saved_query_route.ts b/x-pack/plugins/osquery/server/routes/saved_query/update_saved_query_route.ts index 21cfd0bd43772..7431050996deb 100644 --- a/x-pack/plugins/osquery/server/routes/saved_query/update_saved_query_route.ts +++ b/x-pack/plugins/osquery/server/routes/saved_query/update_saved_query_route.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { isEmpty, filter, pickBy } from 'lodash'; +import { filter } from 'lodash'; import { schema } from '@kbn/config-schema'; import { PLUGIN_ID } from '../../../common'; @@ -77,20 +77,17 @@ export const updateSavedQueryRoute = (router: IRouter, osqueryContext: OsqueryAp const updatedSavedQuerySO = await savedObjectsClient.update( savedQuerySavedObjectType, request.params.id, - pickBy( - { - id, - description, - platform, - query, - version, - interval, - ecs_mapping: convertECSMappingToArray(ecs_mapping), - updated_by: currentUser, - updated_at: new Date().toISOString(), - }, - (value) => !isEmpty(value) - ), + { + id, + description: description || '', + platform, + query, + version, + interval, + ecs_mapping: convertECSMappingToArray(ecs_mapping), + updated_by: currentUser, + updated_at: new Date().toISOString(), + }, { refresh: 'wait_for', } diff --git a/x-pack/plugins/remote_clusters/__jest__/client_integration/add/remote_clusters_add.helpers.tsx b/x-pack/plugins/remote_clusters/__jest__/client_integration/add/remote_clusters_add.helpers.tsx index a47e6c023a161..01f18bbbcc1a4 100644 --- a/x-pack/plugins/remote_clusters/__jest__/client_integration/add/remote_clusters_add.helpers.tsx +++ b/x-pack/plugins/remote_clusters/__jest__/client_integration/add/remote_clusters_add.helpers.tsx @@ -5,38 +5,27 @@ * 2.0. */ -import React from 'react'; import { registerTestBed } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { RemoteClusterAdd } from '../../../public/application/sections'; import { createRemoteClustersStore } from '../../../public/application/store'; import { AppRouter, registerRouter } from '../../../public/application/services'; -import { createRemoteClustersActions } from '../helpers'; -import { AppContextProvider } from '../../../public/application/app_context'; +import { createRemoteClustersActions, WithAppDependencies } from '../helpers'; -const ComponentWithContext = ({ isCloudEnabled }: { isCloudEnabled: boolean }) => { - return ( - - - - ); -}; - -const testBedConfig = ({ isCloudEnabled }: { isCloudEnabled: boolean }) => { - return { - store: createRemoteClustersStore, - memoryRouter: { - onRouter: (router: AppRouter) => registerRouter(router), - }, - defaultProps: { isCloudEnabled }, - }; +const testBedConfig = { + store: createRemoteClustersStore, + memoryRouter: { + onRouter: (router: AppRouter) => registerRouter(router), + }, }; -const initTestBed = (isCloudEnabled: boolean) => - registerTestBed(ComponentWithContext, testBedConfig({ isCloudEnabled }))(); - -export const setup = async (isCloudEnabled = false) => { - const testBed = await initTestBed(isCloudEnabled); +export const setup = async (httpSetup: HttpSetup, overrides?: Record) => { + const initTestBed = registerTestBed( + WithAppDependencies(RemoteClusterAdd, httpSetup, overrides), + testBedConfig + ); + const testBed = await initTestBed(); return { ...testBed, diff --git a/x-pack/plugins/remote_clusters/__jest__/client_integration/add/remote_clusters_add.test.ts b/x-pack/plugins/remote_clusters/__jest__/client_integration/add/remote_clusters_add.test.ts index 0727bc0c9ba2d..9253abf3d91b4 100644 --- a/x-pack/plugins/remote_clusters/__jest__/client_integration/add/remote_clusters_add.test.ts +++ b/x-pack/plugins/remote_clusters/__jest__/client_integration/add/remote_clusters_add.test.ts @@ -5,7 +5,6 @@ * 2.0. */ -import { SinonFakeServer } from 'sinon'; import { TestBed } from '@kbn/test/jest'; import { act } from 'react-dom/test-utils'; @@ -17,20 +16,13 @@ const notInArray = (array: string[]) => (value: string) => array.indexOf(value) let component: TestBed['component']; let actions: RemoteClustersActions; -let server: SinonFakeServer; describe('Create Remote cluster', () => { - beforeAll(() => { - ({ server } = setupEnvironment()); - }); - - afterAll(() => { - server.restore(); - }); + const { httpSetup } = setupEnvironment(); beforeEach(async () => { await act(async () => { - ({ actions, component } = await setup()); + ({ actions, component } = await setup(httpSetup)); }); component.update(); }); @@ -95,7 +87,7 @@ describe('Create Remote cluster', () => { describe('on cloud', () => { beforeEach(async () => { await act(async () => { - ({ actions, component } = await setup(true)); + ({ actions, component } = await setup(httpSetup, { isCloudEnabled: true })); }); component.update(); @@ -153,7 +145,7 @@ describe('Create Remote cluster', () => { describe('proxy address', () => { beforeEach(async () => { await act(async () => { - ({ actions, component } = await setup()); + ({ actions, component } = await setup(httpSetup)); }); component.update(); @@ -190,7 +182,7 @@ describe('Create Remote cluster', () => { describe('on prem', () => { beforeEach(async () => { await act(async () => { - ({ actions, component } = await setup()); + ({ actions, component } = await setup(httpSetup)); }); component.update(); @@ -235,7 +227,7 @@ describe('Create Remote cluster', () => { describe('on cloud', () => { beforeEach(async () => { await act(async () => { - ({ actions, component } = await setup(true)); + ({ actions, component } = await setup(httpSetup, { isCloudEnabled: true })); }); component.update(); diff --git a/x-pack/plugins/remote_clusters/__jest__/client_integration/edit/remote_clusters_edit.helpers.tsx b/x-pack/plugins/remote_clusters/__jest__/client_integration/edit/remote_clusters_edit.helpers.tsx index 2259396bf33f2..3ef8c80474094 100644 --- a/x-pack/plugins/remote_clusters/__jest__/client_integration/edit/remote_clusters_edit.helpers.tsx +++ b/x-pack/plugins/remote_clusters/__jest__/client_integration/edit/remote_clusters_edit.helpers.tsx @@ -6,13 +6,12 @@ */ import { registerTestBed, TestBedConfig } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; -import React from 'react'; import { RemoteClusterEdit } from '../../../public/application/sections'; import { createRemoteClustersStore } from '../../../public/application/store'; import { AppRouter, registerRouter } from '../../../public/application/services'; -import { createRemoteClustersActions } from '../helpers'; -import { AppContextProvider } from '../../../public/application/app_context'; +import { createRemoteClustersActions, WithAppDependencies } from '../helpers'; export const REMOTE_CLUSTER_EDIT_NAME = 'new-york'; @@ -22,15 +21,6 @@ export const REMOTE_CLUSTER_EDIT = { skipUnavailable: true, }; -const ComponentWithContext = (props: { isCloudEnabled: boolean }) => { - const { isCloudEnabled, ...rest } = props; - return ( - - - - ); -}; - const testBedConfig: TestBedConfig = { store: createRemoteClustersStore, memoryRouter: { @@ -43,11 +33,12 @@ const testBedConfig: TestBedConfig = { }, }; -const initTestBed = (isCloudEnabled: boolean) => - registerTestBed(ComponentWithContext, testBedConfig)({ isCloudEnabled }); - -export const setup = async (isCloudEnabled = false) => { - const testBed = await initTestBed(isCloudEnabled); +export const setup = async (httpSetup: HttpSetup, overrides?: Record) => { + const initTestBed = registerTestBed( + WithAppDependencies(RemoteClusterEdit, httpSetup, overrides), + testBedConfig + ); + const testBed = await initTestBed(); return { ...testBed, diff --git a/x-pack/plugins/remote_clusters/__jest__/client_integration/edit/remote_clusters_edit.test.tsx b/x-pack/plugins/remote_clusters/__jest__/client_integration/edit/remote_clusters_edit.test.tsx index 2913de94bc2dd..4bbea9016f351 100644 --- a/x-pack/plugins/remote_clusters/__jest__/client_integration/edit/remote_clusters_edit.test.tsx +++ b/x-pack/plugins/remote_clusters/__jest__/client_integration/edit/remote_clusters_edit.test.tsx @@ -20,18 +20,15 @@ import { Cluster } from '../../../common/lib'; let component: TestBed['component']; let actions: RemoteClustersActions; -const { server, httpRequestsMockHelpers } = setupEnvironment(); describe('Edit Remote cluster', () => { - afterAll(() => { - server.restore(); - }); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); httpRequestsMockHelpers.setLoadRemoteClustersResponse([REMOTE_CLUSTER_EDIT]); beforeEach(async () => { await act(async () => { - ({ component, actions } = await setup()); + ({ component, actions } = await setup(httpSetup)); }); component.update(); }); @@ -54,7 +51,7 @@ describe('Edit Remote cluster', () => { let addRemoteClusterTestBed: TestBed; await act(async () => { - addRemoteClusterTestBed = await setupRemoteClustersAdd(); + addRemoteClusterTestBed = await setupRemoteClustersAdd(httpSetup); }); addRemoteClusterTestBed!.component.update(); @@ -90,7 +87,7 @@ describe('Edit Remote cluster', () => { httpRequestsMockHelpers.setLoadRemoteClustersResponse([cluster]); await act(async () => { - ({ component, actions } = await setup(true)); + ({ component, actions } = await setup(httpSetup, { isCloudEnabled: true })); }); component.update(); @@ -108,7 +105,7 @@ describe('Edit Remote cluster', () => { httpRequestsMockHelpers.setLoadRemoteClustersResponse([cluster]); await act(async () => { - ({ component, actions } = await setup(true)); + ({ component, actions } = await setup(httpSetup, { isCloudEnabled: true })); }); component.update(); @@ -128,7 +125,7 @@ describe('Edit Remote cluster', () => { httpRequestsMockHelpers.setLoadRemoteClustersResponse([cluster]); await act(async () => { - ({ component, actions } = await setup(true)); + ({ component, actions } = await setup(httpSetup, { isCloudEnabled: true })); }); component.update(); diff --git a/x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/http_requests.ts b/x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/http_requests.ts index 3ebe3ab5738d6..92b5e4ccbb1ce 100644 --- a/x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/http_requests.ts +++ b/x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/http_requests.ts @@ -5,26 +5,56 @@ * 2.0. */ -import sinon, { SinonFakeServer } from 'sinon'; +import { httpServiceMock } from '../../../../../../src/core/public/mocks'; +import { API_BASE_PATH } from '../../../common/constants'; import { Cluster } from '../../../common/lib'; +type HttpMethod = 'GET' | 'DELETE'; + +export interface ResponseError { + statusCode: number; + message: string | Error; +} + // Register helpers to mock HTTP Requests -const registerHttpRequestMockHelpers = (server: SinonFakeServer) => { - const mockResponse = (response: Cluster[] | { itemsDeleted: string[]; errors: string[] }) => [ - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify(response), - ]; - - const setLoadRemoteClustersResponse = (response: Cluster[] = []) => { - server.respondWith('GET', '/api/remote_clusters', mockResponse(response)); +const registerHttpRequestMockHelpers = ( + httpSetup: ReturnType +) => { + const mockResponses = new Map>>( + ['GET', 'DELETE'].map( + (method) => [method, new Map()] as [HttpMethod, Map>] + ) + ); + + const mockMethodImplementation = (method: HttpMethod, path: string) => + mockResponses.get(method)?.get(path) ?? Promise.resolve({}); + + httpSetup.get.mockImplementation((path) => + mockMethodImplementation('GET', path as unknown as string) + ); + httpSetup.delete.mockImplementation((path) => + mockMethodImplementation('DELETE', path as unknown as string) + ); + + const mockResponse = (method: HttpMethod, path: string, response?: unknown, error?: unknown) => { + const defuse = (promise: Promise) => { + promise.catch(() => {}); + return promise; + }; + + return mockResponses + .get(method)! + .set(path, error ? defuse(Promise.reject({ body: error })) : Promise.resolve(response)); }; + const setLoadRemoteClustersResponse = (response: Cluster[], error?: ResponseError) => + mockResponse('GET', API_BASE_PATH, response, error); + const setDeleteRemoteClusterResponse = ( - response: { itemsDeleted: string[]; errors: string[] } = { itemsDeleted: [], errors: [] } - ) => { - server.respondWith('DELETE', /api\/remote_clusters/, mockResponse(response)); - }; + clusterName: string, + response: { itemsDeleted: string[]; errors: string[] } = { itemsDeleted: [], errors: [] }, + error?: ResponseError + ) => mockResponse('DELETE', `${API_BASE_PATH}/${clusterName}`, response, error); return { setLoadRemoteClustersResponse, @@ -33,15 +63,11 @@ const registerHttpRequestMockHelpers = (server: SinonFakeServer) => { }; export const init = () => { - const server = sinon.fakeServer.create(); - server.respondImmediately = true; - - // We make requests to APIs which don't impact the UX, e.g. UI metric telemetry, - // and we can mock them all with a 200 instead of mocking each one individually. - server.respondWith([200, {}, '']); + const httpSetup = httpServiceMock.createSetupContract(); + const httpRequestsMockHelpers = registerHttpRequestMockHelpers(httpSetup); return { - server, - httpRequestsMockHelpers: registerHttpRequestMockHelpers(server), + httpSetup, + httpRequestsMockHelpers, }; }; diff --git a/x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/index.ts b/x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/index.ts index 4cfe1fb41a835..d7b988d813542 100644 --- a/x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/index.ts +++ b/x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/index.ts @@ -6,6 +6,6 @@ */ export { nextTick, getRandomString, findTestSubject } from '@kbn/test/jest'; -export { setupEnvironment } from './setup_environment'; +export { setupEnvironment, WithAppDependencies } from './setup_environment'; export type { RemoteClustersActions } from './remote_clusters_actions'; export { createRemoteClustersActions } from './remote_clusters_actions'; diff --git a/x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/setup_environment.ts b/x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/setup_environment.tsx similarity index 68% rename from x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/setup_environment.ts rename to x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/setup_environment.tsx index 084552c5e6abe..a150e2a92fcc9 100644 --- a/x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/setup_environment.ts +++ b/x-pack/plugins/remote_clusters/__jest__/client_integration/helpers/setup_environment.tsx @@ -5,15 +5,15 @@ * 2.0. */ -import axios from 'axios'; -import axiosXhrAdapter from 'axios/lib/adapters/xhr'; - +import React from 'react'; +import { HttpSetup } from 'src/core/public'; import { notificationServiceMock, fatalErrorsServiceMock, docLinksServiceMock, } from '../../../../../../src/core/public/mocks'; +import { AppContextProvider } from '../../../public/application/app_context'; import { usageCollectionPluginMock } from '../../../../../../src/plugins/usage_collection/public/mocks'; import { init as initBreadcrumb } from '../../../public/application/services/breadcrumb'; @@ -23,12 +23,22 @@ import { init as initUiMetric } from '../../../public/application/services/ui_me import { init as initDocumentation } from '../../../public/application/services/documentation'; import { init as initHttpRequests } from './http_requests'; -export const setupEnvironment = () => { - // axios has a similar interface to HttpSetup, but we - // flatten out the response. - const mockHttpClient = axios.create({ adapter: axiosXhrAdapter }); - mockHttpClient.interceptors.response.use(({ data }) => data); +export const WithAppDependencies = + (Comp: any, httpSetup: HttpSetup, overrides: Record = {}) => + (props: Record) => { + const { isCloudEnabled, ...rest } = props; + initHttp(httpSetup); + + return ( + + + + ); + }; +export const setupEnvironment = () => { initBreadcrumb(() => {}); initDocumentation(docLinksServiceMock.createStartContract()); initUiMetric(usageCollectionPluginMock.createSetupContract()); @@ -36,14 +46,6 @@ export const setupEnvironment = () => { notificationServiceMock.createSetupContract().toasts, fatalErrorsServiceMock.createSetupContract() ); - // This expects HttpSetup but we're giving it AxiosInstance. - // @ts-ignore - initHttp(mockHttpClient); - - const { server, httpRequestsMockHelpers } = initHttpRequests(); - return { - server, - httpRequestsMockHelpers, - }; + return initHttpRequests(); }; diff --git a/x-pack/plugins/remote_clusters/__jest__/client_integration/list/remote_clusters_list.helpers.js b/x-pack/plugins/remote_clusters/__jest__/client_integration/list/remote_clusters_list.helpers.js index d05ddbd1800e4..c5916913cd9c1 100644 --- a/x-pack/plugins/remote_clusters/__jest__/client_integration/list/remote_clusters_list.helpers.js +++ b/x-pack/plugins/remote_clusters/__jest__/client_integration/list/remote_clusters_list.helpers.js @@ -9,6 +9,7 @@ import { act } from 'react-dom/test-utils'; import { registerTestBed, findTestSubject } from '@kbn/test/jest'; +import { WithAppDependencies } from '../helpers'; import { RemoteClusterList } from '../../../public/application/sections/remote_cluster_list'; import { createRemoteClustersStore } from '../../../public/application/store'; import { registerRouter } from '../../../public/application/services/routing'; @@ -20,10 +21,15 @@ const testBedConfig = { }, }; -const initTestBed = registerTestBed(RemoteClusterList, testBedConfig); +export const setup = async (httpSetup, overrides) => { + const initTestBed = registerTestBed( + // ESlint cannot figure out that the hoc should start with a capital leter. + // eslint-disable-next-line + WithAppDependencies(RemoteClusterList, httpSetup, overrides), + testBedConfig + ); + const testBed = await initTestBed(); -export const setup = (props) => { - const testBed = initTestBed(props); const EUI_TABLE = 'remoteClusterListTable'; // User actions diff --git a/x-pack/plugins/remote_clusters/__jest__/client_integration/list/remote_clusters_list.test.js b/x-pack/plugins/remote_clusters/__jest__/client_integration/list/remote_clusters_list.test.js index 209c224618f78..3d2bbc3bd67bc 100644 --- a/x-pack/plugins/remote_clusters/__jest__/client_integration/list/remote_clusters_list.test.js +++ b/x-pack/plugins/remote_clusters/__jest__/client_integration/list/remote_clusters_list.test.js @@ -31,7 +31,7 @@ jest.mock('@elastic/eui/lib/components/search_bar/search_box', () => { }); describe('', () => { - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); beforeAll(() => { jest.useFakeTimers(); @@ -39,7 +39,6 @@ describe('', () => { afterAll(() => { jest.useRealTimers(); - server.restore(); }); httpRequestsMockHelpers.setLoadRemoteClustersResponse([]); @@ -47,8 +46,8 @@ describe('', () => { describe('on component mount', () => { let exists; - beforeEach(() => { - ({ exists } = setup()); + beforeEach(async () => { + ({ exists } = await setup(httpSetup)); }); test('should show a "loading remote clusters" indicator', () => { @@ -62,7 +61,7 @@ describe('', () => { beforeEach(async () => { await act(async () => { - ({ exists, component } = setup()); + ({ exists, component } = await setup(httpSetup)); }); component.update(); @@ -77,6 +76,51 @@ describe('', () => { }); }); + describe('can search', () => { + let table; + let component; + let form; + + const remoteClusters = [ + { + name: 'simple_remote_cluster', + seeds: ['127.0.0.1:2000', '127.0.0.2:3000'], + }, + { + name: 'remote_cluster_with_proxy', + proxyAddress: '192.168.0.1:80', + mode: PROXY_MODE, + }, + ]; + + beforeEach(async () => { + httpRequestsMockHelpers.setLoadRemoteClustersResponse(remoteClusters); + + await act(async () => { + ({ table, component, form } = await setup(httpSetup)); + }); + + component.update(); + }); + + test('without any search params it should show all clusters', () => { + const { tableCellsValues } = table.getMetaData('remoteClusterListTable'); + expect(tableCellsValues.length).toBe(2); + }); + + test('search by seed works', () => { + form.setInputValue('remoteClusterSearch', 'simple'); + const { tableCellsValues } = table.getMetaData('remoteClusterListTable'); + expect(tableCellsValues.length).toBe(1); + }); + + test('search by proxyAddress works', () => { + form.setInputValue('remoteClusterSearch', 'proxy'); + const { tableCellsValues } = table.getMetaData('remoteClusterListTable'); + expect(tableCellsValues.length).toBe(1); + }); + }); + describe('when there are multiple pages of remote clusters', () => { let table; let actions; @@ -91,17 +135,25 @@ describe('', () => { ]; for (let i = 0; i < 29; i++) { - remoteClusters.push({ - name: `name${i}`, - seeds: [], - }); + if (i % 2 === 0) { + remoteClusters.push({ + name: `cluster-${i}`, + seeds: [], + }); + } else { + remoteClusters.push({ + name: `cluster_with_proxy-${i}`, + proxyAddress: `127.0.0.1:10${i}`, + mode: PROXY_MODE, + }); + } } beforeEach(async () => { httpRequestsMockHelpers.setLoadRemoteClustersResponse(remoteClusters); await act(async () => { - ({ table, actions, component, form } = setup()); + ({ table, actions, component, form } = await setup(httpSetup)); }); component.update(); @@ -164,7 +216,7 @@ describe('', () => { httpRequestsMockHelpers.setLoadRemoteClustersResponse(remoteClusters); await act(async () => { - ({ component, find, exists, table, actions } = setup()); + ({ component, find, exists, table, actions } = await setup(httpSetup)); }); component.update(); @@ -286,7 +338,7 @@ describe('', () => { describe('confirmation modal (delete remote cluster)', () => { test('should remove the remote cluster from the table after delete is successful', async () => { // Mock HTTP DELETE request - httpRequestsMockHelpers.setDeleteRemoteClusterResponse({ + httpRequestsMockHelpers.setDeleteRemoteClusterResponse(remoteCluster1.name, { itemsDeleted: [remoteCluster1.name], errors: [], }); diff --git a/x-pack/plugins/remote_clusters/kibana.json b/x-pack/plugins/remote_clusters/kibana.json index 192a1308c265a..2c5e0c3cea831 100644 --- a/x-pack/plugins/remote_clusters/kibana.json +++ b/x-pack/plugins/remote_clusters/kibana.json @@ -6,7 +6,7 @@ "name": "Stack Management", "githubTeam": "kibana-stack-management" }, - "requiredPlugins": ["licensing", "management", "indexManagement", "features"], + "requiredPlugins": ["licensing", "management", "indexManagement", "features", "share"], "optionalPlugins": ["usageCollection", "cloud"], "server": true, "ui": true, diff --git a/x-pack/plugins/remote_clusters/public/application/sections/remote_cluster_list/remote_cluster_table/remote_cluster_table.js b/x-pack/plugins/remote_clusters/public/application/sections/remote_cluster_list/remote_cluster_table/remote_cluster_table.js index 1404e51d98a6d..815d76d713181 100644 --- a/x-pack/plugins/remote_clusters/public/application/sections/remote_cluster_list/remote_cluster_table/remote_cluster_table.js +++ b/x-pack/plugins/remote_clusters/public/application/sections/remote_cluster_list/remote_cluster_table/remote_cluster_table.js @@ -31,13 +31,22 @@ const getFilteredClusters = (clusters, queryText) => { const normalizedSearchText = queryText.toLowerCase(); return clusters.filter((cluster) => { - const { name, seeds } = cluster; + const { name, seeds, proxyAddress } = cluster; const normalizedName = name.toLowerCase(); + if (normalizedName.toLowerCase().includes(normalizedSearchText)) { return true; } - return seeds.some((seed) => seed.includes(normalizedSearchText)); + if (proxyAddress && proxyAddress.toLowerCase().includes(normalizedSearchText)) { + return true; + } + + if (seeds) { + return seeds.some((seed) => seed.includes(normalizedSearchText)); + } + + return false; }); } else { return clusters; @@ -81,6 +90,11 @@ export class RemoteClusterTable extends Component { } onSearch = ({ query }) => { + // There's no need to update the state if there arent any search params + if (!query) { + return; + } + const { clusters } = this.props; const { text } = query; diff --git a/x-pack/plugins/remote_clusters/public/locator.ts b/x-pack/plugins/remote_clusters/public/locator.ts new file mode 100644 index 0000000000000..c6ea66f4c4328 --- /dev/null +++ b/x-pack/plugins/remote_clusters/public/locator.ts @@ -0,0 +1,44 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { SerializableRecord } from '@kbn/utility-types'; +import { ManagementAppLocator } from 'src/plugins/management/common'; +import { LocatorDefinition } from '../../../../src/plugins/share/public/'; + +export const REMOTE_CLUSTERS_LOCATOR_ID = 'REMOTE_CLUSTERS_LOCATOR'; + +export interface RemoteClustersLocatorParams extends SerializableRecord { + page: 'remoteClusters'; +} + +export interface RemoteClustersLocatorDefinitionDependencies { + managementAppLocator: ManagementAppLocator; +} + +export class RemoteClustersLocatorDefinition + implements LocatorDefinition +{ + constructor(protected readonly deps: RemoteClustersLocatorDefinitionDependencies) {} + + public readonly id = REMOTE_CLUSTERS_LOCATOR_ID; + + public readonly getLocation = async (params: RemoteClustersLocatorParams) => { + const location = await this.deps.managementAppLocator.getLocation({ + sectionId: 'data', + appId: 'remote_clusters', + }); + + switch (params.page) { + case 'remoteClusters': { + return { + ...location, + path: location.path, + }; + } + } + }; +} diff --git a/x-pack/plugins/remote_clusters/public/plugin.ts b/x-pack/plugins/remote_clusters/public/plugin.ts index be9e1bcceb219..e914cddbf2772 100644 --- a/x-pack/plugins/remote_clusters/public/plugin.ts +++ b/x-pack/plugins/remote_clusters/public/plugin.ts @@ -16,6 +16,7 @@ import { init as initUiMetric } from './application/services/ui_metric'; import { init as initNotification } from './application/services/notification'; import { init as initRedirect } from './application/services/redirect'; import { Dependencies, ClientConfigType } from './types'; +import { RemoteClustersLocatorDefinition } from './locator'; export interface RemoteClustersPluginSetup { isUiEnabled: boolean; @@ -28,7 +29,7 @@ export class RemoteClustersUIPlugin setup( { notifications: { toasts }, http, getStartServices }: CoreSetup, - { management, usageCollection, cloud }: Dependencies + { management, usageCollection, cloud, share }: Dependencies ) { const { ui: { enabled: isRemoteClustersUiEnabled }, @@ -78,6 +79,12 @@ export class RemoteClustersUIPlugin }; }, }); + + share.url.locators.create( + new RemoteClustersLocatorDefinition({ + managementAppLocator: management.locator, + }) + ); } return { diff --git a/x-pack/plugins/remote_clusters/public/types.ts b/x-pack/plugins/remote_clusters/public/types.ts index bcd162599ab77..ad26e388c9fcd 100644 --- a/x-pack/plugins/remote_clusters/public/types.ts +++ b/x-pack/plugins/remote_clusters/public/types.ts @@ -8,6 +8,7 @@ import { ManagementSetup } from 'src/plugins/management/public'; import { UsageCollectionSetup } from 'src/plugins/usage_collection/public'; import { RegisterManagementAppArgs } from 'src/plugins/management/public'; +import { SharePluginSetup } from 'src/plugins/share/public'; import { I18nStart } from 'kibana/public'; import { CloudSetup } from '../../cloud/public'; @@ -15,6 +16,7 @@ export interface Dependencies { management: ManagementSetup; usageCollection: UsageCollectionSetup; cloud: CloudSetup; + share: SharePluginSetup; } export interface ClientConfigType { diff --git a/x-pack/plugins/reporting/common/constants.ts b/x-pack/plugins/reporting/common/constants.ts index bfdb091d495c4..38a9501ea5e66 100644 --- a/x-pack/plugins/reporting/common/constants.ts +++ b/x-pack/plugins/reporting/common/constants.ts @@ -7,6 +7,8 @@ export const PLUGIN_ID = 'reporting'; +export const REPORTING_TRANSACTION_TYPE = PLUGIN_ID; + export const JOB_COMPLETION_NOTIFICATIONS_SESSION_KEY = 'xpack.reporting.jobCompletionNotifications'; diff --git a/x-pack/plugins/reporting/jest.integration.config.js b/x-pack/plugins/reporting/jest.integration.config.js new file mode 100644 index 0000000000000..7f43fa6b4464a --- /dev/null +++ b/x-pack/plugins/reporting/jest.integration.config.js @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +module.exports = { + preset: '@kbn/test/jest_integration', + rootDir: '../../..', + roots: ['/x-pack/plugins/reporting'], +}; diff --git a/x-pack/plugins/reporting/server/config/index.test.ts b/x-pack/plugins/reporting/server/config/index.test.ts index f77713551592b..667bb8795e8d4 100644 --- a/x-pack/plugins/reporting/server/config/index.test.ts +++ b/x-pack/plugins/reporting/server/config/index.test.ts @@ -49,7 +49,7 @@ describe('deprecations', () => { const { messages } = applyReportingDeprecations({ roles: { enabled: true } }); expect(messages).toMatchInlineSnapshot(` Array [ - "Use Kibana application privileges to grant reporting privileges. Using \\"xpack.reporting.roles.allow\\" to grant reporting privileges is deprecated. The \\"xpack.reporting.roles.enabled\\" setting will default to false in a future release.", + "The default mechanism for Reporting privileges will work differently in future versions, which will affect the behavior of this cluster. Set \\"xpack.reporting.roles.enabled\\" to \\"false\\" to adopt the future behavior before upgrading.", ] `); }); diff --git a/x-pack/plugins/reporting/server/config/index.ts b/x-pack/plugins/reporting/server/config/index.ts index 3ff377ca2c3a1..644e90253863c 100644 --- a/x-pack/plugins/reporting/server/config/index.ts +++ b/x-pack/plugins/reporting/server/config/index.ts @@ -56,38 +56,32 @@ export const config: PluginConfigDescriptor = { configPath: `${fromPath}.roles.enabled`, level: 'warning', title: i18n.translate('xpack.reporting.deprecations.reportingRoles.title', { - defaultMessage: 'Setting "{fromPath}.roles" is deprecated', + defaultMessage: `The "{fromPath}.roles" setting is deprecated`, values: { fromPath }, }), // TODO: once scheduled reports is released, restate this to say that we have no access to scheduled reporting. // https://github.com/elastic/kibana/issues/79905 message: i18n.translate('xpack.reporting.deprecations.reportingRoles.description', { defaultMessage: - `Use Kibana application privileges to grant reporting privileges.` + - ` Using "{fromPath}.roles.allow" to grant reporting privileges` + - ` is deprecated.` + - ` The "{fromPath}.roles.enabled" setting will default to false` + - ` in a future release.`, - values: { fromPath }, + `The default mechanism for Reporting privileges will work differently in future versions,` + + ` which will affect the behavior of this cluster. Set "xpack.reporting.roles.enabled" to` + + ` "false" to adopt the future behavior before upgrading.`, }), correctiveActions: { manualSteps: [ i18n.translate('xpack.reporting.deprecations.reportingRoles.manualStepOne', { defaultMessage: `Set "xpack.reporting.roles.enabled" to "false" in kibana.yml.`, }), - i18n.translate('xpack.reporting.deprecations.reportingRoles.manualStepOnePartOne', { - defaultMessage: `Remove "xpack.reporting.roles.allow" to "false" in kibana.yml, if present.`, - }), i18n.translate('xpack.reporting.deprecations.reportingRoles.manualStepTwo', { - defaultMessage: - `Create one or more roles that grant the Kibana application` + - ` privilege for reporting from **Management > Security > Roles**.`, + defaultMessage: `Remove "xpack.reporting.roles.allow" in kibana.yml, if present.`, }), i18n.translate('xpack.reporting.deprecations.reportingRoles.manualStepThree', { defaultMessage: - `Grant reporting privileges to users by assigning one of the new roles.` + - ` Users assigned a reporting role specified in "xpack.reporting.roles.allow"` + - ` will no longer have reporting privileges, they must be assigned an application privilege based role.`, + `Go to Management > Security > Roles to create one or more roles that grant` + + ` the Kibana application privilege for Reporting.`, + }), + i18n.translate('xpack.reporting.deprecations.reportingRoles.manualStepFour', { + defaultMessage: `Grant Reporting privileges to users by assigning one of the new roles.`, }), ], }, diff --git a/x-pack/plugins/reporting/server/deprecations/__snapshots__/reporting_role.test.ts.snap b/x-pack/plugins/reporting/server/deprecations/__snapshots__/reporting_role.test.ts.snap index 00a2a63280c9e..92456f9eec706 100644 --- a/x-pack/plugins/reporting/server/deprecations/__snapshots__/reporting_role.test.ts.snap +++ b/x-pack/plugins/reporting/server/deprecations/__snapshots__/reporting_role.test.ts.snap @@ -5,16 +5,17 @@ Array [ Object { "correctiveActions": Object { "manualSteps": Array [ - "Set \\"xpack.reporting.roles.enabled: false\\" in kibana.yml.", + "Set \\"xpack.reporting.roles.enabled\\" to \\"false\\" in kibana.yml.", "Remove \\"xpack.reporting.roles.allow\\" in kibana.yml, if present.", - "Create a custom role with Kibana privileges to grant access to Reporting.", + "Go to Management > Security > Roles to create one or more roles that grant the Kibana application privilege for Reporting.", + "Grant Reporting privileges to users by assigning one of the new roles.", "Remove the \\"reporting_user\\" role from all users and add the custom role. The affected users are: reportron[reporting_user].", ], }, "deprecationType": "feature", "documentationUrl": "https://www.elastic.co/guide/en/kibana/branch/kibana-privileges.html", "level": "warning", - "message": "Existing users have their Reporting privilege granted by a deprecated setting.", + "message": "The default mechanism for Reporting privileges will work differently in future versions, and this cluster has users who have a deprecated role for this privilege. Set \\"xpack.reporting.roles.enabled\\" to \\"false\\" to adopt the future behavior before upgrading.", "title": "The \\"reporting_user\\" role is deprecated: check user roles", }, ] @@ -25,14 +26,15 @@ Array [ Object { "correctiveActions": Object { "manualSteps": Array [ - "Create a custom role with Kibana privileges to grant access to Reporting.", + "Go to Management > Security > Roles to create one or more roles that grant the Kibana application privilege for Reporting.", + "Grant Reporting privileges to users by assigning one of the new roles.", "Remove the \\"reporting_user\\" role from all role mappings and add the custom role. The affected role mappings are: dungeon_master[my_test_reporting_user].", ], }, "deprecationType": "feature", "documentationUrl": "https://www.elastic.co/guide/en/kibana/branch/kibana-privileges.html", "level": "warning", - "message": "Existing roles are mapped to a deprecated role for Reporting privileges", + "message": "The default mechanism for Reporting privileges will work differently in future versions, and this cluster has role mappings that are mapped to a deprecated role for this privilege. Set \\"xpack.reporting.roles.enabled\\" to \\"false\\" to adopt the future behavior before upgrading.", "title": "The \\"reporting_user\\" role is deprecated: check role mappings", }, ] @@ -43,14 +45,15 @@ Array [ Object { "correctiveActions": Object { "manualSteps": Array [ - "Create a custom role with Kibana privileges to grant access to Reporting.", + "Go to Management > Security > Roles to create one or more roles that grant the Kibana application privilege for Reporting.", + "Grant Reporting privileges to users by assigning one of the new roles.", "Remove the \\"reporting_user\\" role from all role mappings and add the custom role. The affected role mappings are: dungeon_master[reporting_user].", ], }, "deprecationType": "feature", "documentationUrl": "https://www.elastic.co/guide/en/kibana/branch/kibana-privileges.html", "level": "warning", - "message": "Existing roles are mapped to a deprecated role for Reporting privileges", + "message": "The default mechanism for Reporting privileges will work differently in future versions, and this cluster has role mappings that are mapped to a deprecated role for this privilege. Set \\"xpack.reporting.roles.enabled\\" to \\"false\\" to adopt the future behavior before upgrading.", "title": "The \\"reporting_user\\" role is deprecated: check role mappings", }, ] @@ -61,16 +64,17 @@ Array [ Object { "correctiveActions": Object { "manualSteps": Array [ - "Set \\"xpack.reporting.roles.enabled: false\\" in kibana.yml.", + "Set \\"xpack.reporting.roles.enabled\\" to \\"false\\" in kibana.yml.", "Remove \\"xpack.reporting.roles.allow\\" in kibana.yml, if present.", - "Create a custom role with Kibana privileges to grant access to Reporting.", + "Go to Management > Security > Roles to create one or more roles that grant the Kibana application privilege for Reporting.", + "Grant Reporting privileges to users by assigning one of the new roles.", "Remove the \\"reporting_user\\" role from all users and add the custom role. The affected users are: reportron[reporting_user].", ], }, "deprecationType": "feature", "documentationUrl": "https://www.elastic.co/guide/en/kibana/branch/kibana-privileges.html", "level": "warning", - "message": "Existing users have their Reporting privilege granted by a deprecated setting.", + "message": "The default mechanism for Reporting privileges will work differently in future versions, and this cluster has users who have a deprecated role for this privilege. Set \\"xpack.reporting.roles.enabled\\" to \\"false\\" to adopt the future behavior before upgrading.", "title": "The \\"reporting_user\\" role is deprecated: check user roles", }, ] @@ -81,14 +85,15 @@ Array [ Object { "correctiveActions": Object { "manualSteps": Array [ - "Create a custom role with Kibana privileges to grant access to Reporting.", + "Go to Management > Security > Roles to create one or more roles that grant the Kibana application privilege for Reporting.", + "Grant Reporting privileges to users by assigning one of the new roles.", "Remove the \\"reporting_user\\" role from all users and add the custom role. The affected users are: reportron[my_test_reporting_user].", ], }, "deprecationType": "feature", "documentationUrl": "https://www.elastic.co/guide/en/kibana/branch/kibana-privileges.html", "level": "warning", - "message": "Existing users have their Reporting privilege granted by a deprecated setting.", + "message": "The default mechanism for Reporting privileges will work differently in future versions, and this cluster has users who have a deprecated role for this privilege. Set \\"xpack.reporting.roles.enabled\\" to \\"false\\" to adopt the future behavior before upgrading.", "title": "The \\"reporting_user\\" role is deprecated: check user roles", }, ] @@ -99,14 +104,15 @@ Array [ Object { "correctiveActions": Object { "manualSteps": Array [ - "Create a custom role with Kibana privileges to grant access to Reporting.", + "Go to Management > Security > Roles to create one or more roles that grant the Kibana application privilege for Reporting.", + "Grant Reporting privileges to users by assigning one of the new roles.", "Remove the \\"reporting_user\\" role from all users and add the custom role. The affected users are: reportron[reporting_user].", ], }, "deprecationType": "feature", "documentationUrl": "https://www.elastic.co/guide/en/kibana/branch/kibana-privileges.html", "level": "warning", - "message": "Existing users have their Reporting privilege granted by a deprecated setting.", + "message": "The default mechanism for Reporting privileges will work differently in future versions, and this cluster has users who have a deprecated role for this privilege. Set \\"xpack.reporting.roles.enabled\\" to \\"false\\" to adopt the future behavior before upgrading.", "title": "The \\"reporting_user\\" role is deprecated: check user roles", }, ] diff --git a/x-pack/plugins/reporting/server/deprecations/reporting_role.ts b/x-pack/plugins/reporting/server/deprecations/reporting_role.ts index a2a7e9c78726d..46b06d3cbf965 100644 --- a/x-pack/plugins/reporting/server/deprecations/reporting_role.ts +++ b/x-pack/plugins/reporting/server/deprecations/reporting_role.ts @@ -54,32 +54,40 @@ async function getUsersDeprecations( ): Promise { const usingDeprecatedConfig = !reportingCore.getContract().usesUiCapabilities(); const strings = { - title: i18n.translate('xpack.reporting.deprecations.reportingRoleUsersTitle', { - defaultMessage: 'The "{reportingUserRoleName}" role is deprecated: check user roles', + title: i18n.translate('xpack.reporting.deprecations.reportingRoleUsers.title', { + defaultMessage: `The "{reportingUserRoleName}" role is deprecated: check user roles`, values: { reportingUserRoleName: REPORTING_USER_ROLE_NAME }, }), - message: i18n.translate('xpack.reporting.deprecations.reportingRoleUsersMessage', { + message: i18n.translate('xpack.reporting.deprecations.reportingRoleUsers.description', { defaultMessage: - 'Existing users have their Reporting privilege granted by a deprecated setting.', + `The default mechanism for Reporting privileges will work differently in future versions, and` + + ` this cluster has users who have a deprecated role for this privilege.` + + ` Set "xpack.reporting.roles.enabled" to "false" to adopt the future behavior before upgrading.`, }), manualSteps: (usersRoles: string) => [ ...(usingDeprecatedConfig ? [ i18n.translate('xpack.reporting.deprecations.reportingRoleUsers.manualStepOne', { - defaultMessage: 'Set "xpack.reporting.roles.enabled: false" in kibana.yml.', + defaultMessage: `Set "xpack.reporting.roles.enabled" to "false" in kibana.yml.`, }), i18n.translate('xpack.reporting.deprecations.reportingRoleUsers.manualStepTwo', { - defaultMessage: 'Remove "xpack.reporting.roles.allow" in kibana.yml, if present.', + defaultMessage: `Remove "xpack.reporting.roles.allow" in kibana.yml, if present.`, }), ] : []), i18n.translate('xpack.reporting.deprecations.reportingRoleUsers.manualStepThree', { - defaultMessage: 'Create a custom role with Kibana privileges to grant access to Reporting.', + defaultMessage: + `Go to Management > Security > Roles to create one or more roles that grant` + + ` the Kibana application privilege for Reporting.`, }), i18n.translate('xpack.reporting.deprecations.reportingRoleUsers.manualStepFour', { + defaultMessage: `Grant Reporting privileges to users by assigning one of the new roles.`, + }), + i18n.translate('xpack.reporting.deprecations.reportingRoleUsers.manualStepFive', { defaultMessage: - 'Remove the "reporting_user" role from all users and add the custom role. The affected users are: {usersRoles}.', + `Remove the "reporting_user" role from all users and add the custom role.` + + ` The affected users are: {usersRoles}.`, values: { usersRoles }, }), ], @@ -133,31 +141,40 @@ async function getRoleMappingsDeprecations( ): Promise { const usingDeprecatedConfig = !reportingCore.getContract().usesUiCapabilities(); const strings = { - title: i18n.translate('xpack.reporting.deprecations.reportingRoleMappingsTitle', { - defaultMessage: 'The "{reportingUserRoleName}" role is deprecated: check role mappings', + title: i18n.translate('xpack.reporting.deprecations.reportingRoleMappings.title', { + defaultMessage: `The "{reportingUserRoleName}" role is deprecated: check role mappings`, values: { reportingUserRoleName: REPORTING_USER_ROLE_NAME }, }), - message: i18n.translate('xpack.reporting.deprecations.reportingRoleMappingsMessage', { - defaultMessage: 'Existing roles are mapped to a deprecated role for Reporting privileges', + message: i18n.translate('xpack.reporting.deprecations.reportingRoleMappings.description', { + defaultMessage: + `The default mechanism for Reporting privileges will work differently in future versions, and` + + ` this cluster has role mappings that are mapped to a deprecated role for this privilege.` + + ` Set "xpack.reporting.roles.enabled" to "false" to adopt the future behavior before upgrading.`, }), manualSteps: (roleMappings: string) => [ ...(usingDeprecatedConfig ? [ i18n.translate('xpack.reporting.deprecations.reportingRoleMappings.manualStepOne', { - defaultMessage: 'Set "xpack.reporting.roles.enabled: false" in kibana.yml.', + defaultMessage: `Set "xpack.reporting.roles.enabled" to "false" in kibana.yml.`, }), i18n.translate('xpack.reporting.deprecations.reportingRoleMappings.manualStepTwo', { - defaultMessage: 'Remove "xpack.reporting.roles.allow" in kibana.yml, if present.', + defaultMessage: `Remove "xpack.reporting.roles.allow" in kibana.yml, if present.`, }), ] : []), i18n.translate('xpack.reporting.deprecations.reportingRoleMappings.manualStepThree', { - defaultMessage: 'Create a custom role with Kibana privileges to grant access to Reporting.', + defaultMessage: + `Go to Management > Security > Roles to create one or more roles that grant` + + ` the Kibana application privilege for Reporting.`, }), i18n.translate('xpack.reporting.deprecations.reportingRoleMappings.manualStepFour', { + defaultMessage: `Grant Reporting privileges to users by assigning one of the new roles.`, + }), + i18n.translate('xpack.reporting.deprecations.reportingRoleMappings.manualStepFive', { defaultMessage: - 'Remove the "reporting_user" role from all role mappings and add the custom role. The affected role mappings are: {roleMappings}.', + `Remove the "reporting_user" role from all role mappings and add the custom role.` + + ` The affected role mappings are: {roleMappings}.`, values: { roleMappings }, }), ], diff --git a/x-pack/plugins/reporting/server/export_types/common/generate_png.ts b/x-pack/plugins/reporting/server/export_types/common/generate_png.ts index 5ad39a3f91303..c5e70a6c93eff 100644 --- a/x-pack/plugins/reporting/server/export_types/common/generate_png.ts +++ b/x-pack/plugins/reporting/server/export_types/common/generate_png.ts @@ -8,6 +8,7 @@ import apm from 'elastic-apm-node'; import * as Rx from 'rxjs'; import { finalize, map, tap } from 'rxjs/operators'; +import { REPORTING_TRANSACTION_TYPE } from '../../../common/constants'; import { ReportingCore } from '../../'; import { UrlOrUrlLocatorTuple } from '../../../common/types'; import { LevelLogger } from '../../lib'; @@ -27,8 +28,8 @@ export async function generatePngObservableFactory(reporting: ReportingCore) { conditionalHeaders: ConditionalHeaders, layoutParams: LayoutParams & { selectors?: Partial } ): Rx.Observable<{ buffer: Buffer; warnings: string[] }> { - const apmTrans = apm.startTransaction('reporting generate_png', 'reporting'); - const apmLayout = apmTrans?.startSpan('create_layout', 'setup'); + const apmTrans = apm.startTransaction('generate-png', REPORTING_TRANSACTION_TYPE); + const apmLayout = apmTrans?.startSpan('create-layout', 'setup'); if (!layoutParams || !layoutParams.dimensions) { throw new Error(`LayoutParams.Dimensions is undefined.`); } @@ -36,7 +37,7 @@ export async function generatePngObservableFactory(reporting: ReportingCore) { if (apmLayout) apmLayout.end(); - const apmScreenshots = apmTrans?.startSpan('screenshots_pipeline', 'setup'); + const apmScreenshots = apmTrans?.startSpan('screenshots-pipeline', 'setup'); let apmBuffer: typeof apm.currentSpan; const screenshots$ = getScreenshots$(captureConfig, browserDriverFactory, { logger, @@ -47,7 +48,7 @@ export async function generatePngObservableFactory(reporting: ReportingCore) { }).pipe( tap(() => { apmScreenshots?.end(); - apmBuffer = apmTrans?.startSpan('get_buffer', 'output') ?? null; + apmBuffer = apmTrans?.startSpan('get-buffer', 'output') ?? null; }), map((results: ScreenshotResults[]) => ({ buffer: results[0].screenshots[0].data, @@ -63,7 +64,7 @@ export async function generatePngObservableFactory(reporting: ReportingCore) { })), tap(({ buffer }) => { logger.debug(`PNG buffer byte length: ${buffer.byteLength}`); - apmTrans?.setLabel('byte_length', buffer.byteLength, false); + apmTrans?.setLabel('byte-length', buffer.byteLength, false); }), finalize(() => { apmBuffer?.end(); diff --git a/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/generate_csv.ts b/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/generate_csv.ts index 48e43c865ec7f..a2eef2bba98c8 100644 --- a/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/generate_csv.ts +++ b/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/generate_csv.ts @@ -65,7 +65,6 @@ function isPlainStringArray( export class CsvGenerator { private _columns?: string[]; - private _formatters?: Record; private csvContainsFormulas = false; private maxSizeReached = false; private csvRowCount = 0; @@ -122,10 +121,6 @@ export class CsvGenerator { * Load field formats for each field in the list */ private getFormatters(table: Datatable) { - if (this._formatters) { - return this._formatters; - } - // initialize field formats const formatters: Record = {}; table.columns.forEach((c) => { @@ -133,8 +128,7 @@ export class CsvGenerator { formatters[c.id] = fieldFormat; }); - this._formatters = formatters; - return this._formatters; + return formatters; } private escapeValues(settings: CsvExportSettings) { diff --git a/x-pack/plugins/reporting/server/export_types/png/execute_job/index.ts b/x-pack/plugins/reporting/server/export_types/png/execute_job/index.ts index fba6ea7b491c6..2446e7a7d1c51 100644 --- a/x-pack/plugins/reporting/server/export_types/png/execute_job/index.ts +++ b/x-pack/plugins/reporting/server/export_types/png/execute_job/index.ts @@ -8,7 +8,7 @@ import apm from 'elastic-apm-node'; import * as Rx from 'rxjs'; import { catchError, finalize, map, mergeMap, takeUntil, tap } from 'rxjs/operators'; -import { PNG_JOB_TYPE } from '../../../../common/constants'; +import { PNG_JOB_TYPE, REPORTING_TRANSACTION_TYPE } from '../../../../common/constants'; import { TaskRunResult } from '../../../lib/tasks'; import { RunTaskFn, RunTaskFnFactory } from '../../../types'; import { @@ -26,8 +26,8 @@ export const runTaskFnFactory: RunTaskFnFactory> = const encryptionKey = config.get('encryptionKey'); return async function runTask(jobId, job, cancellationToken, stream) { - const apmTrans = apm.startTransaction('reporting execute_job png', 'reporting'); - const apmGetAssets = apmTrans?.startSpan('get_assets', 'setup'); + const apmTrans = apm.startTransaction('execute-job-png', REPORTING_TRANSACTION_TYPE); + const apmGetAssets = apmTrans?.startSpan('get-assets', 'setup'); let apmGeneratePng: { end: () => void } | null | undefined; const generatePngObservable = await generatePngObservableFactory(reporting); @@ -41,7 +41,7 @@ export const runTaskFnFactory: RunTaskFnFactory> = const hashUrl = urls[0]; if (apmGetAssets) apmGetAssets.end(); - apmGeneratePng = apmTrans?.startSpan('generate_png_pipeline', 'execute'); + apmGeneratePng = apmTrans?.startSpan('generate-png-pipeline', 'execute'); return generatePngObservable( jobLogger, hashUrl, diff --git a/x-pack/plugins/reporting/server/export_types/png_v2/execute_job.ts b/x-pack/plugins/reporting/server/export_types/png_v2/execute_job.ts index a7478de1cc96e..00652309b88c1 100644 --- a/x-pack/plugins/reporting/server/export_types/png_v2/execute_job.ts +++ b/x-pack/plugins/reporting/server/export_types/png_v2/execute_job.ts @@ -8,7 +8,7 @@ import apm from 'elastic-apm-node'; import * as Rx from 'rxjs'; import { catchError, finalize, map, mergeMap, takeUntil, tap } from 'rxjs/operators'; -import { PNG_JOB_TYPE_V2 } from '../../../common/constants'; +import { PNG_JOB_TYPE_V2, REPORTING_TRANSACTION_TYPE } from '../../../common/constants'; import { TaskRunResult } from '../../lib/tasks'; import { RunTaskFn, RunTaskFnFactory } from '../../types'; import { @@ -26,8 +26,8 @@ export const runTaskFnFactory: RunTaskFnFactory> = const encryptionKey = config.get('encryptionKey'); return async function runTask(jobId, job, cancellationToken, stream) { - const apmTrans = apm.startTransaction('reporting execute_job pngV2', 'reporting'); - const apmGetAssets = apmTrans?.startSpan('get_assets', 'setup'); + const apmTrans = apm.startTransaction('execute-job-png-v2', REPORTING_TRANSACTION_TYPE); + const apmGetAssets = apmTrans?.startSpan('get-assets', 'setup'); let apmGeneratePng: { end: () => void } | null | undefined; const generatePngObservable = await generatePngObservableFactory(reporting); @@ -42,7 +42,7 @@ export const runTaskFnFactory: RunTaskFnFactory> = apmGetAssets?.end(); - apmGeneratePng = apmTrans?.startSpan('generate_png_pipeline', 'execute'); + apmGeneratePng = apmTrans?.startSpan('generate-png-pipeline', 'execute'); return generatePngObservable( jobLogger, [url, locatorParams], diff --git a/x-pack/plugins/reporting/server/export_types/printable_pdf/execute_job/index.ts b/x-pack/plugins/reporting/server/export_types/printable_pdf/execute_job/index.ts index f4b95e0e20e51..2358333bbe7ef 100644 --- a/x-pack/plugins/reporting/server/export_types/printable_pdf/execute_job/index.ts +++ b/x-pack/plugins/reporting/server/export_types/printable_pdf/execute_job/index.ts @@ -8,7 +8,7 @@ import apm from 'elastic-apm-node'; import * as Rx from 'rxjs'; import { catchError, map, mergeMap, takeUntil, tap } from 'rxjs/operators'; -import { PDF_JOB_TYPE } from '../../../../common/constants'; +import { PDF_JOB_TYPE, REPORTING_TRANSACTION_TYPE } from '../../../../common/constants'; import { TaskRunResult } from '../../../lib/tasks'; import { RunTaskFn, RunTaskFnFactory } from '../../../types'; import { @@ -28,8 +28,8 @@ export const runTaskFnFactory: RunTaskFnFactory> = return async function runTask(jobId, job, cancellationToken, stream) { const jobLogger = parentLogger.clone([PDF_JOB_TYPE, 'execute-job', jobId]); - const apmTrans = apm.startTransaction('reporting execute_job pdf', 'reporting'); - const apmGetAssets = apmTrans?.startSpan('get_assets', 'setup'); + const apmTrans = apm.startTransaction('execute-job-pdf', REPORTING_TRANSACTION_TYPE); + const apmGetAssets = apmTrans?.startSpan('get-assets', 'setup'); let apmGeneratePdf: { end: () => void } | null | undefined; const generatePdfObservable = await generatePdfObservableFactory(reporting); @@ -47,7 +47,7 @@ export const runTaskFnFactory: RunTaskFnFactory> = const { browserTimezone, layout, title } = job; apmGetAssets?.end(); - apmGeneratePdf = apmTrans?.startSpan('generate_pdf_pipeline', 'execute'); + apmGeneratePdf = apmTrans?.startSpan('generate-pdf-pipeline', 'execute'); return generatePdfObservable( jobLogger, title, diff --git a/x-pack/plugins/reporting/server/export_types/printable_pdf/lib/tracker.ts b/x-pack/plugins/reporting/server/export_types/printable_pdf/lib/tracker.ts index 4b5a0a7bdade7..3d720ccade546 100644 --- a/x-pack/plugins/reporting/server/export_types/printable_pdf/lib/tracker.ts +++ b/x-pack/plugins/reporting/server/export_types/printable_pdf/lib/tracker.ts @@ -6,6 +6,7 @@ */ import apm from 'elastic-apm-node'; +import { REPORTING_TRANSACTION_TYPE } from '../../../../common/constants'; interface PdfTracker { setByteLength: (byteLength: number) => void; @@ -32,7 +33,7 @@ interface ApmSpan { } export function getTracker(): PdfTracker { - const apmTrans = apm.startTransaction('reporting generate_pdf', 'reporting'); + const apmTrans = apm.startTransaction('generate-pdf', REPORTING_TRANSACTION_TYPE); let apmLayout: ApmSpan | null = null; let apmScreenshots: ApmSpan | null = null; @@ -43,43 +44,43 @@ export function getTracker(): PdfTracker { return { startLayout() { - apmLayout = apmTrans?.startSpan('create_layout', SPANTYPE_SETUP) || null; + apmLayout = apmTrans?.startSpan('create-layout', SPANTYPE_SETUP) || null; }, endLayout() { if (apmLayout) apmLayout.end(); }, startScreenshots() { - apmScreenshots = apmTrans?.startSpan('screenshots_pipeline', SPANTYPE_SETUP) || null; + apmScreenshots = apmTrans?.startSpan('screenshots-pipeline', SPANTYPE_SETUP) || null; }, endScreenshots() { if (apmScreenshots) apmScreenshots.end(); }, startSetup() { - apmSetup = apmTrans?.startSpan('setup_pdf', SPANTYPE_SETUP) || null; + apmSetup = apmTrans?.startSpan('setup-pdf', SPANTYPE_SETUP) || null; }, endSetup() { if (apmSetup) apmSetup.end(); }, startAddImage() { - apmAddImage = apmTrans?.startSpan('add_pdf_image', SPANTYPE_OUTPUT) || null; + apmAddImage = apmTrans?.startSpan('add-pdf-image', SPANTYPE_OUTPUT) || null; }, endAddImage() { if (apmAddImage) apmAddImage.end(); }, startCompile() { - apmCompilePdf = apmTrans?.startSpan('compile_pdf', SPANTYPE_OUTPUT) || null; + apmCompilePdf = apmTrans?.startSpan('compile-pdf', SPANTYPE_OUTPUT) || null; }, endCompile() { if (apmCompilePdf) apmCompilePdf.end(); }, startGetBuffer() { - apmGetBuffer = apmTrans?.startSpan('get_buffer', SPANTYPE_OUTPUT) || null; + apmGetBuffer = apmTrans?.startSpan('get-buffer', SPANTYPE_OUTPUT) || null; }, endGetBuffer() { if (apmGetBuffer) apmGetBuffer.end(); }, setByteLength(byteLength: number) { - apmTrans?.setLabel('byte_length', byteLength, false); + apmTrans?.setLabel('byte-length', byteLength, false); }, end() { if (apmTrans) apmTrans.end(); diff --git a/x-pack/plugins/reporting/server/export_types/printable_pdf_v2/execute_job.ts b/x-pack/plugins/reporting/server/export_types/printable_pdf_v2/execute_job.ts index 2c553295aa840..b1b6f3f79aee3 100644 --- a/x-pack/plugins/reporting/server/export_types/printable_pdf_v2/execute_job.ts +++ b/x-pack/plugins/reporting/server/export_types/printable_pdf_v2/execute_job.ts @@ -8,7 +8,7 @@ import apm from 'elastic-apm-node'; import * as Rx from 'rxjs'; import { catchError, map, mergeMap, takeUntil, tap } from 'rxjs/operators'; -import { PDF_JOB_TYPE_V2 } from '../../../common/constants'; +import { PDF_JOB_TYPE_V2, REPORTING_TRANSACTION_TYPE } from '../../../common/constants'; import { TaskRunResult } from '../../lib/tasks'; import { RunTaskFn, RunTaskFnFactory } from '../../types'; import { @@ -27,8 +27,8 @@ export const runTaskFnFactory: RunTaskFnFactory> = return async function runTask(jobId, job, cancellationToken, stream) { const jobLogger = parentLogger.clone([PDF_JOB_TYPE_V2, 'execute-job', jobId]); - const apmTrans = apm.startTransaction('reporting execute_job pdf_v2', 'reporting'); - const apmGetAssets = apmTrans?.startSpan('get_assets', 'setup'); + const apmTrans = apm.startTransaction('execute-job-pdf-v2', REPORTING_TRANSACTION_TYPE); + const apmGetAssets = apmTrans?.startSpan('get-assets', 'setup'); let apmGeneratePdf: { end: () => void } | null | undefined; const generatePdfObservable = await generatePdfObservableFactory(reporting); @@ -44,7 +44,7 @@ export const runTaskFnFactory: RunTaskFnFactory> = const { browserTimezone, layout, title, locatorParams } = job; apmGetAssets?.end(); - apmGeneratePdf = apmTrans?.startSpan('generate_pdf_pipeline', 'execute'); + apmGeneratePdf = apmTrans?.startSpan('generate-pdf-pipeline', 'execute'); return generatePdfObservable( jobLogger, job, diff --git a/x-pack/plugins/reporting/server/export_types/printable_pdf_v2/lib/tracker.ts b/x-pack/plugins/reporting/server/export_types/printable_pdf_v2/lib/tracker.ts index 4b5a0a7bdade7..3d720ccade546 100644 --- a/x-pack/plugins/reporting/server/export_types/printable_pdf_v2/lib/tracker.ts +++ b/x-pack/plugins/reporting/server/export_types/printable_pdf_v2/lib/tracker.ts @@ -6,6 +6,7 @@ */ import apm from 'elastic-apm-node'; +import { REPORTING_TRANSACTION_TYPE } from '../../../../common/constants'; interface PdfTracker { setByteLength: (byteLength: number) => void; @@ -32,7 +33,7 @@ interface ApmSpan { } export function getTracker(): PdfTracker { - const apmTrans = apm.startTransaction('reporting generate_pdf', 'reporting'); + const apmTrans = apm.startTransaction('generate-pdf', REPORTING_TRANSACTION_TYPE); let apmLayout: ApmSpan | null = null; let apmScreenshots: ApmSpan | null = null; @@ -43,43 +44,43 @@ export function getTracker(): PdfTracker { return { startLayout() { - apmLayout = apmTrans?.startSpan('create_layout', SPANTYPE_SETUP) || null; + apmLayout = apmTrans?.startSpan('create-layout', SPANTYPE_SETUP) || null; }, endLayout() { if (apmLayout) apmLayout.end(); }, startScreenshots() { - apmScreenshots = apmTrans?.startSpan('screenshots_pipeline', SPANTYPE_SETUP) || null; + apmScreenshots = apmTrans?.startSpan('screenshots-pipeline', SPANTYPE_SETUP) || null; }, endScreenshots() { if (apmScreenshots) apmScreenshots.end(); }, startSetup() { - apmSetup = apmTrans?.startSpan('setup_pdf', SPANTYPE_SETUP) || null; + apmSetup = apmTrans?.startSpan('setup-pdf', SPANTYPE_SETUP) || null; }, endSetup() { if (apmSetup) apmSetup.end(); }, startAddImage() { - apmAddImage = apmTrans?.startSpan('add_pdf_image', SPANTYPE_OUTPUT) || null; + apmAddImage = apmTrans?.startSpan('add-pdf-image', SPANTYPE_OUTPUT) || null; }, endAddImage() { if (apmAddImage) apmAddImage.end(); }, startCompile() { - apmCompilePdf = apmTrans?.startSpan('compile_pdf', SPANTYPE_OUTPUT) || null; + apmCompilePdf = apmTrans?.startSpan('compile-pdf', SPANTYPE_OUTPUT) || null; }, endCompile() { if (apmCompilePdf) apmCompilePdf.end(); }, startGetBuffer() { - apmGetBuffer = apmTrans?.startSpan('get_buffer', SPANTYPE_OUTPUT) || null; + apmGetBuffer = apmTrans?.startSpan('get-buffer', SPANTYPE_OUTPUT) || null; }, endGetBuffer() { if (apmGetBuffer) apmGetBuffer.end(); }, setByteLength(byteLength: number) { - apmTrans?.setLabel('byte_length', byteLength, false); + apmTrans?.setLabel('byte-length', byteLength, false); }, end() { if (apmTrans) apmTrans.end(); diff --git a/x-pack/plugins/reporting/server/lib/screenshots/observable.ts b/x-pack/plugins/reporting/server/lib/screenshots/observable.ts index d400c423c5e04..8ba2a125a5504 100644 --- a/x-pack/plugins/reporting/server/lib/screenshots/observable.ts +++ b/x-pack/plugins/reporting/server/lib/screenshots/observable.ts @@ -9,6 +9,7 @@ import apm from 'elastic-apm-node'; import * as Rx from 'rxjs'; import { catchError, concatMap, first, mergeMap, take, takeUntil, toArray } from 'rxjs/operators'; import { durationToNumber } from '../../../common/schema_utils'; +import { REPORTING_TRANSACTION_TYPE } from '../../../common/constants'; import { HeadlessChromiumDriverFactory } from '../../browsers'; import { CaptureConfig } from '../../types'; import { @@ -46,8 +47,8 @@ export function getScreenshots$( browserDriverFactory: HeadlessChromiumDriverFactory, opts: ScreenshotObservableOpts ): Rx.Observable { - const apmTrans = apm.startTransaction(`reporting screenshot pipeline`, 'reporting'); - const apmCreatePage = apmTrans?.startSpan('create_page', 'wait'); + const apmTrans = apm.startTransaction('screenshot-pipeline', REPORTING_TRANSACTION_TYPE); + const apmCreatePage = apmTrans?.startSpan('create-page', 'wait'); const { browserTimezone, logger } = opts; return browserDriverFactory.createPage({ browserTimezone }, logger).pipe( diff --git a/x-pack/plugins/reporting/server/lib/screenshots/observable_handler.ts b/x-pack/plugins/reporting/server/lib/screenshots/observable_handler.ts index cdbddb8d89c89..c241a529818fa 100644 --- a/x-pack/plugins/reporting/server/lib/screenshots/observable_handler.ts +++ b/x-pack/plugins/reporting/server/lib/screenshots/observable_handler.ts @@ -110,7 +110,7 @@ export class ScreenshotObservableHandler { // allows for them to be displayed properly in many cases await injectCustomCss(driver, layout, logger); - const apmPositionElements = apmTrans?.startSpan('position_elements', 'correction'); + const apmPositionElements = apmTrans?.startSpan('position-elements', 'correction'); // position panel elements for print layout await layout.positionElements?.(driver, logger); apmPositionElements?.end(); diff --git a/x-pack/plugins/reporting/server/routes/deprecations.ts b/x-pack/plugins/reporting/server/routes/deprecations.ts index 874885e2258ae..1688b54cbb0d3 100644 --- a/x-pack/plugins/reporting/server/routes/deprecations.ts +++ b/x-pack/plugins/reporting/server/routes/deprecations.ts @@ -5,6 +5,7 @@ * 2.0. */ import { errors } from '@elastic/elasticsearch'; +import { SecurityHasPrivilegesIndexPrivilegesCheck } from '@elastic/elasticsearch/api/types'; import { RequestHandler } from 'src/core/server'; import { API_MIGRATE_ILM_POLICY_URL, @@ -39,7 +40,8 @@ export const registerDeprecationsRoutes = (reporting: ReportingCore, logger: Log { privileges: ['manage'], // required to do anything with the reporting indices names: [store.getReportingIndexPattern()], - }, + allow_restricted_indices: true, + } as SecurityHasPrivilegesIndexPrivilegesCheck, ], }, }); diff --git a/x-pack/plugins/rollup/public/crud_app/sections/job_create/job_create.js b/x-pack/plugins/rollup/public/crud_app/sections/job_create/job_create.js index 30aca6d5c0f5c..779013ba87f20 100644 --- a/x-pack/plugins/rollup/public/crud_app/sections/job_create/job_create.js +++ b/x-pack/plugins/rollup/public/crud_app/sections/job_create/job_create.js @@ -114,7 +114,7 @@ export class JobCreateUi extends Component { startJobAfterCreation: false, }; - this.lastIndexPatternValidationTime = 0; + this.lastIndexPatternValidationIdx = 0; } componentDidMount() { @@ -160,7 +160,7 @@ export class JobCreateUi extends Component { requestIndexPatternValidation = debounce((resetDefaults = true) => { const indexPattern = this.getIndexPattern(); - const lastIndexPatternValidationTime = (this.lastIndexPatternValidationTime = Date.now()); + const lastIndexPatternValidationIdx = ++this.lastIndexPatternValidationIdx; validateIndexPattern(indexPattern) .then((response) => { // We don't need to do anything if this component has been unmounted. @@ -169,7 +169,7 @@ export class JobCreateUi extends Component { } // Only re-request if the index pattern changed. - if (lastIndexPatternValidationTime !== this.lastIndexPatternValidationTime) { + if (lastIndexPatternValidationIdx !== this.lastIndexPatternValidationIdx) { return; } @@ -292,7 +292,7 @@ export class JobCreateUi extends Component { } // Ignore all responses except that to the most recent request. - if (lastIndexPatternValidationTime !== this.lastIndexPatternValidationTime) { + if (lastIndexPatternValidationIdx !== this.lastIndexPatternValidationIdx) { return; } diff --git a/x-pack/plugins/rollup/public/test/client_integration/helpers/index.js b/x-pack/plugins/rollup/public/test/client_integration/helpers/index.js index 191b44cd46d80..ef5a191b994c6 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/helpers/index.js +++ b/x-pack/plugins/rollup/public/test/client_integration/helpers/index.js @@ -5,13 +5,13 @@ * 2.0. */ +export { mockHttpRequest } from './setup_environment'; + import { setup as jobCreateSetup } from './job_create.helpers'; import { setup as jobListSetup } from './job_list.helpers'; import { setup as jobCloneSetup } from './job_clone.helpers'; -export { nextTick, getRandomString, findTestSubject } from '@kbn/test/jest'; - -export { mockHttpRequest } from './setup_environment'; +export { getRandomString, findTestSubject } from '@kbn/test/jest'; export { wrapComponent } from './setup_context'; diff --git a/x-pack/plugins/rollup/public/test/client_integration/helpers/jest.mocks.tsx b/x-pack/plugins/rollup/public/test/client_integration/helpers/jest.mocks.tsx new file mode 100644 index 0000000000000..5e5c8bb1f071d --- /dev/null +++ b/x-pack/plugins/rollup/public/test/client_integration/helpers/jest.mocks.tsx @@ -0,0 +1,20 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +jest.mock('lodash', () => ({ + ...jest.requireActual('lodash'), + debounce: (fn: () => unknown) => fn, +})); + +jest.mock('../../../crud_app/services/documentation_links', () => { + const coreMocks = jest.requireActual('../../../../../../../src/core/public/mocks'); + + return { + init: jest.fn(), + documentationLinks: coreMocks.docLinksServiceMock.createStartContract().links, + }; +}); diff --git a/x-pack/plugins/rollup/public/test/client_integration/helpers/job_create.helpers.js b/x-pack/plugins/rollup/public/test/client_integration/helpers/job_create.helpers.js index 9bbfb405bce22..36550d904fa39 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/helpers/job_create.helpers.js +++ b/x-pack/plugins/rollup/public/test/client_integration/helpers/job_create.helpers.js @@ -5,6 +5,8 @@ * 2.0. */ +import { act } from 'react-dom/test-utils'; + import { registerTestBed } from '@kbn/test/jest'; import { rollupJobsStore } from '../../../crud_app/store'; import { JobCreate } from '../../../crud_app/sections'; @@ -22,7 +24,9 @@ export const setup = (props) => { // User actions const clickNextStep = () => { const button = testBed.find('rollupJobNextButton'); - button.simulate('click'); + act(() => { + button.simulate('click'); + }); component.update(); }; @@ -34,7 +38,9 @@ export const setup = (props) => { const clickSave = () => { const button = testBed.find('rollupJobSaveButton'); - button.simulate('click'); + act(() => { + button.simulate('click'); + }); component.update(); }; @@ -42,23 +48,33 @@ export const setup = (props) => { const fillFormFields = async (step) => { switch (step) { case 'logistics': - form.setInputValue('rollupJobName', JOB_TO_CREATE.id); - await form.setInputValue('rollupIndexPattern', JOB_TO_CREATE.indexPattern, true); - form.setInputValue('rollupIndexName', JOB_TO_CREATE.rollupIndex); + act(() => { + form.setInputValue('rollupJobName', JOB_TO_CREATE.id); + }); + act(() => { + form.setInputValue('rollupIndexPattern', JOB_TO_CREATE.indexPattern); + }); + act(() => { + form.setInputValue('rollupIndexName', JOB_TO_CREATE.rollupIndex); + }); break; case 'date-histogram': - form.setInputValue('rollupJobInterval', JOB_TO_CREATE.interval); + act(() => { + form.setInputValue('rollupJobInterval', JOB_TO_CREATE.interval); + }); break; default: return; } + + component.update(); }; // Navigation const goToStep = async (targetStep) => { const stepHandlers = { - 1: () => fillFormFields('logistics'), - 2: () => fillFormFields('date-histogram'), + 1: async () => await fillFormFields('logistics'), + 2: async () => await fillFormFields('date-histogram'), }; let currentStep = 1; diff --git a/x-pack/plugins/rollup/public/test/client_integration/helpers/setup_environment.ts b/x-pack/plugins/rollup/public/test/client_integration/helpers/setup_environment.ts index 805621257d73e..53e8630cfab8b 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/helpers/setup_environment.ts +++ b/x-pack/plugins/rollup/public/test/client_integration/helpers/setup_environment.ts @@ -4,6 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ +import './jest.mocks'; interface RequestMocks { jobs?: object; diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_clone.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_clone.test.js index 40c26baa76441..0b314d9174d0d 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_clone.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_clone.test.js @@ -5,16 +5,13 @@ * 2.0. */ +import { mockHttpRequest, pageHelpers } from './helpers'; + +import { act } from 'react-dom/test-utils'; import { setHttp, init as initDocumentation } from '../../crud_app/services'; -import { mockHttpRequest, pageHelpers, nextTick } from './helpers'; import { JOB_TO_CLONE, JOB_CLONE_INDEX_PATTERN_CHECK } from './helpers/constants'; import { coreMock, docLinksServiceMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash', () => ({ - ...jest.requireActual('lodash'), - debounce: (fn) => fn, -})); - const { setup } = pageHelpers.jobClone; const { jobs: [{ config: jobConfig }], @@ -29,11 +26,16 @@ describe('Cloning a rollup job through create job wizard', () => { let startMock; beforeAll(() => { + jest.useFakeTimers(); startMock = coreMock.createStart(); setHttp(startMock.http); initDocumentation(docLinksServiceMock.createStartContract()); }); + afterAll(() => { + jest.useRealTimers(); + }); + beforeEach(() => { mockHttpRequest(startMock.http, { indxPatternVldtResp: JOB_CLONE_INDEX_PATTERN_CHECK }); @@ -149,9 +151,10 @@ describe('Cloning a rollup job through create job wizard', () => { // Changing the index pattern value after cloning a rollup job should update a number of values. // On each view of the set up wizard we check for the expected state after this change. - form.setInputValue('rollupIndexPattern', 'test'); - // Fires off a network request. - await nextTick(); + + await act(async () => { + form.setInputValue('rollupIndexPattern', 'test'); + }); const { groups: { date_histogram: dateHistogram }, diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_date_histogram.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_date_histogram.test.js index 88c72140bcdda..dda79395dd4a7 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_date_histogram.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_date_histogram.test.js @@ -5,17 +5,12 @@ * 2.0. */ -import moment from 'moment-timezone'; +import { mockHttpRequest, pageHelpers } from './helpers'; +import moment from 'moment-timezone'; import { setHttp, init as initDocumentation } from '../../crud_app/services'; -import { mockHttpRequest, pageHelpers } from './helpers'; import { docLinksServiceMock, coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash', () => ({ - ...jest.requireActual('lodash'), - debounce: (fn) => fn, -})); - const { setup } = pageHelpers.jobCreate; describe('Create Rollup Job, step 2: Date histogram', () => { @@ -28,10 +23,16 @@ describe('Create Rollup Job, step 2: Date histogram', () => { let startMock; beforeAll(() => { + jest.useFakeTimers(); startMock = coreMock.createStart(); setHttp(startMock.http); initDocumentation(docLinksServiceMock.createStartContract()); }); + + afterAll(() => { + jest.useRealTimers(); + }); + beforeEach(() => { // Set "default" mock responses by not providing any arguments mockHttpRequest(startMock.http); diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_histogram.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_histogram.test.js index 7d9d714ba8d2d..50615ed00a680 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_histogram.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_histogram.test.js @@ -5,14 +5,10 @@ * 2.0. */ -import { setHttp, init as initDocumentation } from '../../crud_app/services'; import { mockHttpRequest, pageHelpers } from './helpers'; -import { coreMock, docLinksServiceMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash', () => ({ - ...jest.requireActual('lodash'), - debounce: (fn) => fn, -})); +import { setHttp, init as initDocumentation } from '../../crud_app/services'; +import { coreMock, docLinksServiceMock } from '../../../../../../src/core/public/mocks'; const { setup } = pageHelpers.jobCreate; @@ -27,11 +23,16 @@ describe('Create Rollup Job, step 4: Histogram', () => { let startMock; beforeAll(() => { + jest.useFakeTimers(); startMock = coreMock.createStart(); setHttp(startMock.http); initDocumentation(docLinksServiceMock.createStartContract()); }); + afterAll(() => { + jest.useRealTimers(); + }); + beforeEach(() => { // Set "default" mock responses by not providing any arguments mockHttpRequest(startMock.http); diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_logistics.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_logistics.test.js index 70fc79c3af59f..92b11aec3bdf1 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_logistics.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_logistics.test.js @@ -5,15 +5,12 @@ * 2.0. */ -import { indexPatterns } from '../../../../../../src/plugins/data/public'; -import { setHttp, init as initDocumentation } from '../../crud_app/services'; import { mockHttpRequest, pageHelpers } from './helpers'; -import { coreMock, docLinksServiceMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash', () => ({ - ...jest.requireActual('lodash'), - debounce: (fn) => fn, -})); +import { act } from 'react-dom/test-utils'; +import { indexPatterns } from '../../../../../../src/plugins/data/public'; +import { coreMock, docLinksServiceMock } from '../../../../../../src/core/public/mocks'; +import { setHttp, init as initDocumentation } from '../../crud_app/services'; const { setup } = pageHelpers.jobCreate; @@ -26,11 +23,16 @@ describe('Create Rollup Job, step 1: Logistics', () => { let startMock; beforeAll(() => { + jest.useFakeTimers(); startMock = coreMock.createStart(); setHttp(startMock.http); initDocumentation(docLinksServiceMock.createStartContract()); }); + afterAll(() => { + jest.useRealTimers(); + }); + beforeEach(() => { // Set "default" mock responses by not providing any arguments mockHttpRequest(startMock.http); @@ -87,21 +89,27 @@ describe('Create Rollup Job, step 1: Logistics', () => { }); it('should not allow spaces', async () => { - await form.setInputValue('rollupIndexPattern', 'with space', true); + await act(async () => { + form.setInputValue('rollupIndexPattern', 'with space'); + }); actions.clickNextStep(); expect(form.getErrorsMessages()).toContain('Remove the spaces from your index pattern.'); }); it('should not allow an unknown index pattern', async () => { mockHttpRequest(startMock.http, { indxPatternVldtResp: { doesMatchIndices: false } }); - await form.setInputValue('rollupIndexPattern', 'unknown', true); + await act(async () => { + form.setInputValue('rollupIndexPattern', 'unknown'); + }); actions.clickNextStep(); expect(form.getErrorsMessages()).toContain("Index pattern doesn't match any indices."); }); it('should not allow an index pattern without time fields', async () => { mockHttpRequest(startMock.http, { indxPatternVldtResp: { dateFields: [] } }); - await form.setInputValue('rollupIndexPattern', 'abc', true); + await act(async () => { + form.setInputValue('rollupIndexPattern', 'abc'); + }); actions.clickNextStep(); expect(form.getErrorsMessages()).toContain( 'Index pattern must match indices that contain time fields.' @@ -112,14 +120,21 @@ describe('Create Rollup Job, step 1: Logistics', () => { mockHttpRequest(startMock.http, { indxPatternVldtResp: { doesMatchRollupIndices: true }, }); - await form.setInputValue('rollupIndexPattern', 'abc', true); + await act(async () => { + form.setInputValue('rollupIndexPattern', 'abc'); + }); actions.clickNextStep(); expect(form.getErrorsMessages()).toContain('Index pattern must not match rollup indices.'); }); it('should not be the same as the rollup index name', async () => { - await form.setInputValue('rollupIndexPattern', 'abc', true); - await form.setInputValue('rollupIndexName', 'abc', true); + await act(async () => { + form.setInputValue('rollupIndexPattern', 'abc'); + }); + + await act(async () => { + form.setInputValue('rollupIndexName', 'abc'); + }); actions.clickNextStep(); diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_metrics.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_metrics.test.js index 35861586b68f3..659bcbce1c8eb 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_metrics.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_metrics.test.js @@ -5,14 +5,10 @@ * 2.0. */ -import { setHttp, init as initDocumentation } from '../../crud_app/services'; import { mockHttpRequest, pageHelpers } from './helpers'; -import { coreMock, docLinksServiceMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash', () => ({ - ...jest.requireActual('lodash'), - debounce: (fn) => fn, -})); +import { setHttp, init as initDocumentation } from '../../crud_app/services'; +import { coreMock, docLinksServiceMock } from '../../../../../../src/core/public/mocks'; const { setup } = pageHelpers.jobCreate; @@ -27,11 +23,16 @@ describe('Create Rollup Job, step 5: Metrics', () => { let startMock; beforeAll(() => { + jest.useFakeTimers(); startMock = coreMock.createStart(); setHttp(startMock.http); initDocumentation(docLinksServiceMock.createStartContract()); }); + afterAll(() => { + jest.useRealTimers(); + }); + beforeEach(() => { // Set "default" mock responses by not providing any arguments mockHttpRequest(startMock.http); diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_review.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_review.test.js index dd102ce88ae5b..bbd2e72c6eee1 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_review.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_review.test.js @@ -6,15 +6,12 @@ */ import { pageHelpers, mockHttpRequest } from './helpers'; + +import { act } from 'react-dom/test-utils'; import { first } from 'lodash'; +import { coreMock } from '../../../../../../src/core/public/mocks'; import { setHttp } from '../../crud_app/services'; import { JOBS } from './helpers/constants'; -import { coreMock } from '../../../../../../src/core/public/mocks'; - -jest.mock('lodash', () => ({ - ...jest.requireActual('lodash'), - debounce: (fn) => fn, -})); jest.mock('../../kibana_services', () => { const services = jest.requireActual('../../kibana_services'); @@ -26,9 +23,7 @@ jest.mock('../../kibana_services', () => { const { setup } = pageHelpers.jobCreate; -// FLAKY: https://github.com/elastic/kibana/issues/69783 -// FLAKY: https://github.com/elastic/kibana/issues/70043 -describe.skip('Create Rollup Job, step 6: Review', () => { +describe('Create Rollup Job, step 6: Review', () => { let find; let exists; let actions; @@ -37,16 +32,23 @@ describe.skip('Create Rollup Job, step 6: Review', () => { let table; let form; let startMock; + let component; beforeAll(() => { + jest.useFakeTimers(); startMock = coreMock.createStart(); setHttp(startMock.http); }); + afterAll(() => { + jest.useRealTimers(); + }); + beforeEach(() => { // Set "default" mock responses by not providing any arguments mockHttpRequest(startMock.http); - ({ find, exists, actions, getEuiStepsHorizontalActive, goToStep, table, form } = setup()); + ({ find, exists, actions, getEuiStepsHorizontalActive, goToStep, table, form, component } = + setup()); }); afterEach(() => { @@ -83,12 +85,18 @@ describe.skip('Create Rollup Job, step 6: Review', () => { describe('tabs', () => { const getTabsText = () => find('stepReviewTab').map((tab) => tab.text()); const selectFirstField = (step) => { - find('rollupJobShowFieldChooserButton').simulate('click'); + act(() => { + find('rollupJobShowFieldChooserButton').simulate('click'); + }); + component.update(); - // Select the first term field - table - .getMetaData(`rollupJob${step}FieldChooser-table`) - .rows[0].reactWrapper.simulate('click'); + act(() => { + // Select the first term field + table + .getMetaData(`rollupJob${step}FieldChooser-table`) + .rows[0].reactWrapper.simulate('click'); + }); + component.update(); }; it('should have a "Summary" & "Request" tabs to review the Job', async () => { @@ -105,6 +113,7 @@ describe.skip('Create Rollup Job, step 6: Review', () => { actions.clickNextStep(); // go to step 5 actions.clickNextStep(); // go to review + expect(exists('rollupJobCreateReviewTitle')); // Make sure we are on the review step expect(getTabsText()).toEqual(['Summary', 'Terms', 'Request']); }); @@ -153,9 +162,10 @@ describe.skip('Create Rollup Job, step 6: Review', () => { expect(startMock.http.get).not.toHaveBeenCalledWith(jobStartApiPath); // make sure it hasn't been called actions.clickSave(); - // Given the following anti-jitter sleep x-pack/plugins/rollup/public/crud_app/store/actions/create_job.js - // we add a longer sleep here :( - await new Promise((res) => setTimeout(res, 750)); + + // There is a 500 timeout before receiving the response. + // To be investigated, this is the only app requiring a timeout to avoid a "weird flicker"; + jest.advanceTimersByTime(500); expect(startMock.http.put).toHaveBeenCalledWith(jobCreateApiPath, expect.anything()); // It has been called! expect(startMock.http.get).not.toHaveBeenCalledWith(jobStartApiPath); // It has still not been called! @@ -170,18 +180,33 @@ describe.skip('Create Rollup Job, step 6: Review', () => { await goToStep(6); - find('rollupJobToggleJobStartAfterCreation').simulate('change', { - target: { checked: true }, + act(() => { + find('rollupJobToggleJobStartAfterCreation').simulate('change', { + target: { checked: true }, + }); }); + component.update(); expect(startMock.http.post).not.toHaveBeenCalledWith(jobStartApiPath); // make sure it hasn't been called actions.clickSave(); - // Given the following anti-jitter sleep x-pack/plugins/rollup/public/crud_app/store/actions/create_job.js - // we add a longer sleep here :( - await new Promise((res) => setTimeout(res, 750)); - expect(startMock.http.post).toHaveBeenCalledWith(jobStartApiPath, expect.anything()); // It has been called! + // There is a 500 timeout before receiving the response. + // To be investigated, this is the only app requiring a timeout to avoid a "weird flicker"; + await act(async () => { + jest.advanceTimersByTime(500); + }); + + // We then have a createNoticeableDelay() that we need to account for. + act(() => { + jest.advanceTimersByTime(300); + }); + + expect(startMock.http.post).toHaveBeenCalledWith(jobStartApiPath, { + body: JSON.stringify({ + jobIds: ['test-job'], + }), + }); }); }); }); diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_create_terms.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_create_terms.test.js index d27eab75b7758..b84aad9bf9aa4 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_create_terms.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_create_terms.test.js @@ -5,14 +5,10 @@ * 2.0. */ -import { setHttp, init as initDocumentation } from '../../crud_app/services'; import { pageHelpers, mockHttpRequest } from './helpers'; -import { coreMock, docLinksServiceMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash', () => ({ - ...jest.requireActual('lodash'), - debounce: (fn) => fn, -})); +import { setHttp, init as initDocumentation } from '../../crud_app/services'; +import { coreMock, docLinksServiceMock } from '../../../../../../src/core/public/mocks'; const { setup } = pageHelpers.jobCreate; @@ -26,11 +22,16 @@ describe('Create Rollup Job, step 3: Terms', () => { let startMock; beforeAll(() => { + jest.useFakeTimers(); startMock = coreMock.createStart(); setHttp(startMock.http); initDocumentation(docLinksServiceMock.createStartContract()); }); + afterAll(() => { + jest.useRealTimers(); + }); + beforeEach(() => { // Set "default" mock responses by not providing any arguments mockHttpRequest(startMock.http); diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_list.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_list.test.js index 46ddfbcfc2de5..18ffce77b9656 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_list.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_list.test.js @@ -5,8 +5,10 @@ * 2.0. */ +import { mockHttpRequest, pageHelpers } from './helpers'; + +import { act } from 'react-dom/test-utils'; import { getRouter, setHttp, init as initDocumentation } from '../../crud_app/services'; -import { mockHttpRequest, pageHelpers, nextTick } from './helpers'; import { JOBS } from './helpers/constants'; import { coreMock, docLinksServiceMock } from '../../../../../../src/core/public/mocks'; @@ -36,17 +38,23 @@ describe('', () => { let startMock; beforeAll(() => { + jest.useFakeTimers(); startMock = coreMock.createStart(); setHttp(startMock.http); initDocumentation(docLinksServiceMock.createStartContract()); }); + afterAll(() => { + jest.useRealTimers(); + }); + beforeEach(async () => { mockHttpRequest(startMock.http, { jobs: JOBS }); - ({ component, exists, table } = setup()); + await act(async () => { + ({ component, exists, table } = setup()); + }); - await nextTick(); // We need to wait next tick for the mock server response to comes in component.update(); }); diff --git a/x-pack/plugins/rollup/public/test/client_integration/job_list_clone.test.js b/x-pack/plugins/rollup/public/test/client_integration/job_list_clone.test.js index 3987e18538e57..1e24a4f92666c 100644 --- a/x-pack/plugins/rollup/public/test/client_integration/job_list_clone.test.js +++ b/x-pack/plugins/rollup/public/test/client_integration/job_list_clone.test.js @@ -5,17 +5,14 @@ * 2.0. */ -import { mockHttpRequest, pageHelpers, nextTick } from './helpers'; +import { mockHttpRequest, pageHelpers } from './helpers'; + +import { act } from 'react-dom/test-utils'; import { JOB_TO_CLONE, JOB_CLONE_INDEX_PATTERN_CHECK } from './helpers/constants'; import { getRouter } from '../../crud_app/services/routing'; import { setHttp } from '../../crud_app/services'; import { coreMock } from '../../../../../../src/core/public/mocks'; -jest.mock('lodash', () => ({ - ...jest.requireActual('lodash'), - debounce: (fn) => fn, -})); - jest.mock('../../kibana_services', () => { const services = jest.requireActual('../../kibana_services'); return { @@ -24,15 +21,6 @@ jest.mock('../../kibana_services', () => { }; }); -jest.mock('../../crud_app/services/documentation_links', () => { - const coreMocks = jest.requireActual('../../../../../../src/core/public/mocks'); - - return { - init: jest.fn(), - documentationLinks: coreMocks.docLinksServiceMock.createStartContract().links, - }; -}); - const { setup } = pageHelpers.jobList; describe('Smoke test cloning an existing rollup job from job list', () => { @@ -43,19 +31,25 @@ describe('Smoke test cloning an existing rollup job from job list', () => { let startMock; beforeAll(() => { + jest.useFakeTimers(); startMock = coreMock.createStart(); setHttp(startMock.http); }); + afterAll(() => { + jest.useRealTimers(); + }); + beforeEach(async () => { mockHttpRequest(startMock.http, { jobs: JOB_TO_CLONE, indxPatternVldtResp: JOB_CLONE_INDEX_PATTERN_CHECK, }); - ({ find, exists, table, component } = setup()); + await act(async () => { + ({ find, exists, table, component } = setup()); + }); - await nextTick(); // We need to wait next tick for the mock server response to comes in component.update(); }); diff --git a/x-pack/plugins/rule_registry/server/rule_data_client/types.ts b/x-pack/plugins/rule_registry/server/rule_data_client/types.ts index 7c05945a98b10..32313b12cefbe 100644 --- a/x-pack/plugins/rule_registry/server/rule_data_client/types.ts +++ b/x-pack/plugins/rule_registry/server/rule_data_client/types.ts @@ -10,7 +10,7 @@ import { BulkRequest, BulkResponse } from '@elastic/elasticsearch/api/types'; import { ESSearchRequest, ESSearchResponse } from 'src/core/types/elasticsearch'; import { FieldDescriptor } from 'src/plugins/data/server'; -import { TechnicalRuleDataFieldName } from '../../common/technical_rule_data_field_names'; +import { ParsedTechnicalFields } from '../../common/parse_technical_fields'; export interface IRuleDataClient { indexName: string; @@ -23,9 +23,7 @@ export interface IRuleDataClient { export interface IRuleDataReader { search( request: TSearchRequest - ): Promise< - ESSearchResponse>, TSearchRequest> - >; + ): Promise, TSearchRequest>>; getDynamicIndexPattern(target?: string): Promise<{ title: string; diff --git a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.test.ts b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.test.ts index c65fdece6c5f0..6be945dfe02da 100644 --- a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.test.ts +++ b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.test.ts @@ -126,7 +126,7 @@ describe('createLifecycleExecutor', () => { hits: { hits: [ { - fields: { + _source: { '@timestamp': '', [ALERT_INSTANCE_ID]: 'TEST_ALERT_0', [ALERT_UUID]: 'ALERT_0_UUID', @@ -143,7 +143,7 @@ describe('createLifecycleExecutor', () => { }, }, { - fields: { + _source: { '@timestamp': '', [ALERT_INSTANCE_ID]: 'TEST_ALERT_1', [ALERT_UUID]: 'ALERT_1_UUID', @@ -246,7 +246,7 @@ describe('createLifecycleExecutor', () => { hits: { hits: [ { - fields: { + _source: { '@timestamp': '', [ALERT_INSTANCE_ID]: 'TEST_ALERT_0', [ALERT_UUID]: 'ALERT_0_UUID', @@ -262,7 +262,7 @@ describe('createLifecycleExecutor', () => { }, }, { - fields: { + _source: { '@timestamp': '', [ALERT_INSTANCE_ID]: 'TEST_ALERT_1', [ALERT_UUID]: 'ALERT_1_UUID', diff --git a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.ts b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.ts index 1acbc0c3f43bd..6f83d50d99416 100644 --- a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.ts +++ b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.ts @@ -10,6 +10,7 @@ import type { PublicContract } from '@kbn/utility-types'; import { getOrElse } from 'fp-ts/lib/Either'; import * as rt from 'io-ts'; import { v4 } from 'uuid'; +import { difference } from 'lodash'; import { AlertExecutorOptions, AlertInstance, @@ -18,12 +19,11 @@ import { AlertTypeParams, AlertTypeState, } from '../../../alerting/server'; -import { ParsedTechnicalFields, parseTechnicalFields } from '../../common/parse_technical_fields'; +import { ParsedTechnicalFields } from '../../common/parse_technical_fields'; import { ALERT_DURATION, ALERT_END, ALERT_INSTANCE_ID, - ALERT_RULE_UUID, ALERT_START, ALERT_STATUS, ALERT_STATUS_ACTIVE, @@ -37,6 +37,7 @@ import { } from '../../common/technical_rule_data_field_names'; import { IRuleDataClient } from '../rule_data_client'; import { AlertExecutorOptionsWithExtraServices } from '../types'; +import { fetchExistingAlerts } from './fetch_existing_alerts'; import { CommonAlertFieldName, CommonAlertIdFieldName, @@ -177,13 +178,13 @@ export const createLifecycleExecutor = const currentAlertIds = Object.keys(currentAlerts); const trackedAlertIds = Object.keys(state.trackedAlerts); - const newAlertIds = currentAlertIds.filter((alertId) => !trackedAlertIds.includes(alertId)); + const newAlertIds = difference(currentAlertIds, trackedAlertIds); const allAlertIds = [...new Set(currentAlertIds.concat(trackedAlertIds))]; const trackedAlertStates = Object.values(state.trackedAlerts); logger.debug( - `Tracking ${allAlertIds.length} alerts (${newAlertIds.length} new, ${trackedAlertStates.length} previous)` + `[Rule Registry] Tracking ${allAlertIds.length} alerts (${newAlertIds.length} new, ${trackedAlertStates.length} previous)` ); const trackedAlertsDataMap: Record< @@ -192,47 +193,19 @@ export const createLifecycleExecutor = > = {}; if (trackedAlertStates.length) { - const { hits } = await ruleDataClient.getReader().search({ - body: { - query: { - bool: { - filter: [ - { - term: { - [ALERT_RULE_UUID]: commonRuleFields[ALERT_RULE_UUID], - }, - }, - { - terms: { - [ALERT_UUID]: trackedAlertStates.map( - (trackedAlertState) => trackedAlertState.alertUuid - ), - }, - }, - ], - }, - }, - size: trackedAlertStates.length, - collapse: { - field: ALERT_UUID, - }, - _source: false, - fields: [{ field: '*', include_unmapped: true }], - sort: { - [TIMESTAMP]: 'desc' as const, - }, - }, - allow_no_indices: true, - }); - - hits.hits.forEach((hit) => { - const fields = parseTechnicalFields(hit.fields); - const indexName = hit._index; - const alertId = fields[ALERT_INSTANCE_ID]; - trackedAlertsDataMap[alertId] = { - indexName, - fields, - }; + const result = await fetchExistingAlerts( + ruleDataClient, + trackedAlertStates, + commonRuleFields + ); + result.forEach((hit) => { + const alertId = hit._source ? hit._source[ALERT_INSTANCE_ID] : void 0; + if (alertId && hit._source) { + trackedAlertsDataMap[alertId] = { + indexName: hit._index, + fields: hit._source, + }; + } }); } @@ -242,7 +215,7 @@ export const createLifecycleExecutor = const currentAlertData = currentAlerts[alertId]; if (!alertData) { - logger.warn(`Could not find alert data for ${alertId}`); + logger.debug(`[Rule Registry] Could not find alert data for ${alertId}`); } const isNew = !state.trackedAlerts[alertId]; @@ -282,7 +255,7 @@ export const createLifecycleExecutor = const allEventsToIndex = [...trackedEventsToIndex, ...newEventsToIndex]; if (allEventsToIndex.length > 0 && ruleDataClient.isWriteEnabled()) { - logger.debug(`Preparing to index ${allEventsToIndex.length} alerts.`); + logger.debug(`[Rule Registry] Preparing to index ${allEventsToIndex.length} alerts.`); await ruleDataClient.getWriter().bulk({ body: allEventsToIndex.flatMap(({ event, indexName }) => [ diff --git a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_rule_type.test.ts b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_rule_type.test.ts index 3fa567b8aca96..8d64da9db3704 100644 --- a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_rule_type.test.ts +++ b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_rule_type.test.ts @@ -14,7 +14,7 @@ import { ALERT_UUID, } from '@kbn/rule-data-utils'; import { loggerMock } from '@kbn/logging/mocks'; -import { castArray, omit, mapValues } from 'lodash'; +import { castArray, omit } from 'lodash'; import { RuleDataClient } from '../rule_data_client'; import { createRuleDataClientMock } from '../rule_data_client/rule_data_client.mock'; import { createLifecycleRuleTypeFactory } from './create_lifecycle_rule_type_factory'; @@ -272,13 +272,9 @@ describe('createLifecycleRuleTypeFactory', () => { (doc: any) => !('index' in doc) && doc['service.name'] === 'opbeans-node' ) as Record; - const stored = mapValues(lastOpbeansNodeDoc, (val) => { - return castArray(val); - }); - helpers.ruleDataClientMock.getReader().search.mockResolvedValueOnce({ hits: { - hits: [{ fields: stored } as any], + hits: [{ _source: lastOpbeansNodeDoc } as any], total: { value: 1, relation: 'eq', @@ -356,13 +352,9 @@ describe('createLifecycleRuleTypeFactory', () => { (doc: any) => !('index' in doc) && doc['service.name'] === 'opbeans-node' ) as Record; - const stored = mapValues(lastOpbeansNodeDoc, (val) => { - return castArray(val); - }); - helpers.ruleDataClientMock.getReader().search.mockResolvedValueOnce({ hits: { - hits: [{ fields: stored } as any], + hits: [{ _source: lastOpbeansNodeDoc } as any], total: { value: 1, relation: 'eq', diff --git a/x-pack/plugins/rule_registry/server/utils/fetch_existing_alerts.ts b/x-pack/plugins/rule_registry/server/utils/fetch_existing_alerts.ts new file mode 100644 index 0000000000000..892e237f8e301 --- /dev/null +++ b/x-pack/plugins/rule_registry/server/utils/fetch_existing_alerts.ts @@ -0,0 +1,74 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { chunk } from 'lodash'; +import { PublicContract } from '@kbn/utility-types'; +import { IRuleDataClient } from '../rule_data_client'; +import { + ALERT_RULE_UUID, + ALERT_UUID, + TIMESTAMP, +} from '../../common/technical_rule_data_field_names'; + +const CHUNK_SIZE = 10000; + +interface TrackedAlertState { + alertId: string; + alertUuid: string; + started: string; +} +type RuleDataClient = PublicContract; + +const fetchAlertsForStates = async ( + ruleDataClient: RuleDataClient, + states: TrackedAlertState[], + commonRuleFields: any +) => { + const request = { + body: { + query: { + bool: { + filter: [ + { + term: { + [ALERT_RULE_UUID]: commonRuleFields[ALERT_RULE_UUID], + }, + }, + { + terms: { + [ALERT_UUID]: states.map((state) => state.alertUuid), + }, + }, + ], + }, + }, + size: states.length, + collapse: { + field: ALERT_UUID, + }, + sort: { + [TIMESTAMP]: 'desc' as const, + }, + }, + allow_no_indices: true, + } as any; + const { hits } = await ruleDataClient.getReader().search(request); + return hits.hits; +}; + +export const fetchExistingAlerts = async ( + ruleDataClient: RuleDataClient, + trackedAlertStates: TrackedAlertState[], + commonRuleFields: any +) => { + const results = await Promise.all( + chunk(trackedAlertStates, CHUNK_SIZE).map((states) => + fetchAlertsForStates(ruleDataClient, states, commonRuleFields) + ) + ); + return results.flat(); +}; diff --git a/x-pack/plugins/security/common/index.ts b/x-pack/plugins/security/common/index.ts index 1d05036191635..6b6ff3fb1e2d2 100644 --- a/x-pack/plugins/security/common/index.ts +++ b/x-pack/plugins/security/common/index.ts @@ -5,5 +5,18 @@ * 2.0. */ -export type { SecurityLicense } from './licensing'; -export type { AuthenticatedUser, PrivilegeDeprecationsService } from './model'; +export type { SecurityLicense, SecurityLicenseFeatures, LoginLayout } from './licensing'; +export type { + AuthenticatedUser, + AuthenticationProvider, + PrivilegeDeprecationsService, + PrivilegeDeprecationsRolesRequest, + PrivilegeDeprecationsRolesResponse, + Role, + RoleIndexPrivilege, + RoleKibanaPrivilege, + FeaturesPrivileges, + User, + ApiKey, + UserRealm, +} from './model'; diff --git a/x-pack/plugins/security/common/model/index.ts b/x-pack/plugins/security/common/model/index.ts index 30920fd8d926e..edb3079d69900 100644 --- a/x-pack/plugins/security/common/model/index.ts +++ b/x-pack/plugins/security/common/model/index.ts @@ -8,7 +8,7 @@ export type { ApiKey, ApiKeyToInvalidate, ApiKeyRoleDescriptors } from './api_key'; export type { User, EditUser } from './user'; export { getUserDisplayName } from './user'; -export type { AuthenticatedUser } from './authenticated_user'; +export type { AuthenticatedUser, UserRealm } from './authenticated_user'; export { canUserChangePassword } from './authenticated_user'; export type { AuthenticationProvider } from './authentication_provider'; export { shouldProviderUseLoginForm } from './authentication_provider'; diff --git a/x-pack/plugins/security/public/authentication/login/__snapshots__/login_page.test.tsx.snap b/x-pack/plugins/security/public/authentication/login/__snapshots__/login_page.test.tsx.snap index 64d456c3c6b0a..bf0e26a09c812 100644 --- a/x-pack/plugins/security/public/authentication/login/__snapshots__/login_page.test.tsx.snap +++ b/x-pack/plugins/security/public/authentication/login/__snapshots__/login_page.test.tsx.snap @@ -1,5 +1,81 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`LoginPage disabled form states renders CTA and browser settings warning when cookies are disabled, document is embedded inside iframe, and cross-origin cookies are allowed 1`] = ` +
    + +

    + +

    +
    + + + + +
    +`; + +exports[`LoginPage disabled form states renders CTA and cross-origin cookie warning when cookies are disabled, document is embedded inside iframe, and cross-origin cookies are blocked 1`] = ` +
    + +

    + +

    +
    + + + + +
    +`; + exports[`LoginPage disabled form states renders as expected when a connection to ES is not available 1`] = ` `; +exports[`LoginPage disabled form states renders warning when cookies are disabled and document is not embedded inside iframe 1`] = ` + + } + title={ + + } +/> +`; + exports[`LoginPage enabled form state renders as expected 1`] = ` { loginApp.create({ ...coreSetupMock, - config: { loginAssistanceMessage: '' }, + config: { loginAssistanceMessage: '', sameSiteCookies: undefined }, }); expect(coreSetupMock.http.anonymousPaths.register).toHaveBeenCalledTimes(1); @@ -44,7 +44,7 @@ describe('loginApp', () => { loginApp.create({ ...coreSetupMock, - config: { loginAssistanceMessage: 'some-message' }, + config: { loginAssistanceMessage: 'some-message', sameSiteCookies: undefined }, }); const [[{ mount }]] = coreSetupMock.application.register.mock.calls; diff --git a/x-pack/plugins/security/public/authentication/login/login_app.ts b/x-pack/plugins/security/public/authentication/login/login_app.ts index 21937e937ccf1..141d8e746d7c2 100644 --- a/x-pack/plugins/security/public/authentication/login/login_app.ts +++ b/x-pack/plugins/security/public/authentication/login/login_app.ts @@ -19,7 +19,7 @@ interface CreateDeps { application: ApplicationSetup; http: HttpSetup; getStartServices: StartServicesAccessor; - config: Pick; + config: Pick; } export const loginApp = Object.freeze({ @@ -41,6 +41,7 @@ export const loginApp = Object.freeze({ notifications: coreStart.notifications, fatalErrors: coreStart.fatalErrors, loginAssistanceMessage: config.loginAssistanceMessage, + sameSiteCookies: config.sameSiteCookies, }); }, }); diff --git a/x-pack/plugins/security/public/authentication/login/login_page.test.tsx b/x-pack/plugins/security/public/authentication/login/login_page.test.tsx index b3e2fac3ea2cc..c01777a106490 100644 --- a/x-pack/plugins/security/public/authentication/login/login_page.test.tsx +++ b/x-pack/plugins/security/public/authentication/login/login_page.test.tsx @@ -5,6 +5,7 @@ * 2.0. */ +import { EuiFlexItem } from '@elastic/eui'; import { act } from '@testing-library/react'; import { shallow } from 'enzyme'; import React from 'react'; @@ -75,6 +76,20 @@ describe('LoginPage', () => { }); describe('disabled form states', () => { + const originalNavigator = window.navigator; + const originalTop = window.top; + + afterEach(function () { + Object.defineProperty(window, 'navigator', { + value: originalNavigator, + writable: true, + }); + Object.defineProperty(window, 'top', { + value: originalTop, + writable: true, + }); + }); + it('renders as expected when secure connection is required but not present', async () => { const coreStartMock = coreMock.createStart(); httpMock.get.mockResolvedValue(createLoginState({ requiresSecureConnection: true })); @@ -183,6 +198,94 @@ describe('LoginPage', () => { expect(wrapper.find(DisabledLoginForm)).toMatchSnapshot(); }); + + it('renders CTA and cross-origin cookie warning when cookies are disabled, document is embedded inside iframe, and cross-origin cookies are blocked', async () => { + const coreStartMock = coreMock.createStart(); + httpMock.get.mockResolvedValue(createLoginState()); + + Object.defineProperty(window, 'navigator', { + value: { cookieEnabled: false }, + writable: true, + }); + Object.defineProperty(window, 'top', { + value: {}, + writable: true, + }); + + const wrapper = shallow( + + ); + + await act(async () => { + await nextTick(); + wrapper.update(); + }); + + expect(wrapper.find(EuiFlexItem).children()).toMatchSnapshot(); + }); + + it('renders CTA and browser settings warning when cookies are disabled, document is embedded inside iframe, and cross-origin cookies are allowed', async () => { + const coreStartMock = coreMock.createStart(); + httpMock.get.mockResolvedValue(createLoginState()); + + Object.defineProperty(window, 'navigator', { + value: { cookieEnabled: false }, + writable: true, + }); + Object.defineProperty(window, 'top', { + value: {}, + writable: true, + }); + + const wrapper = shallow( + + ); + + await act(async () => { + await nextTick(); + wrapper.update(); + }); + + expect(wrapper.find(EuiFlexItem).children()).toMatchSnapshot(); + }); + + it('renders warning when cookies are disabled and document is not embedded inside iframe', async () => { + const coreStartMock = coreMock.createStart(); + httpMock.get.mockResolvedValue(createLoginState()); + + Object.defineProperty(window, 'navigator', { + value: { cookieEnabled: false }, + writable: true, + }); + + const wrapper = shallow( + + ); + + await act(async () => { + await nextTick(); + wrapper.update(); + }); + + expect(wrapper.find(DisabledLoginForm)).toMatchSnapshot(); + }); }); describe('enabled form state', () => { diff --git a/x-pack/plugins/security/public/authentication/login/login_page.tsx b/x-pack/plugins/security/public/authentication/login/login_page.tsx index e22c38b956e8d..9be6a76db7077 100644 --- a/x-pack/plugins/security/public/authentication/login/login_page.tsx +++ b/x-pack/plugins/security/public/authentication/login/login_page.tsx @@ -7,7 +7,15 @@ import './login_page.scss'; -import { EuiFlexGroup, EuiFlexItem, EuiIcon, EuiSpacer, EuiTitle } from '@elastic/eui'; +import { + EuiButton, + EuiFlexGroup, + EuiFlexItem, + EuiIcon, + EuiSpacer, + EuiText, + EuiTitle, +} from '@elastic/eui'; import classNames from 'classnames'; import React, { Component } from 'react'; import ReactDOM from 'react-dom'; @@ -23,6 +31,7 @@ import { } from '../../../common/constants'; import type { LoginState } from '../../../common/login_state'; import type { LogoutReason } from '../../../common/types'; +import type { ConfigType } from '../../config'; import type { LoginFormProps } from './components'; import { DisabledLoginForm, LoginForm, LoginFormMessageType } from './components'; @@ -31,6 +40,7 @@ interface Props { notifications: NotificationsStart; fatalErrors: FatalErrorsStart; loginAssistanceMessage: string; + sameSiteCookies?: ConfigType['sameSiteCookies']; } interface State { @@ -89,10 +99,13 @@ export class LoginPage extends Component { } const isSecureConnection = !!window.location.protocol.match(/^https/); + const isCookiesEnabled = window.navigator.cookieEnabled; const { allowLogin, layout, requiresSecureConnection } = loginState; const loginIsSupported = - requiresSecureConnection && !isSecureConnection ? false : allowLogin && layout === 'form'; + (requiresSecureConnection && !isSecureConnection) || !isCookiesEnabled + ? false + : allowLogin && layout === 'form'; const contentHeaderClasses = classNames('loginWelcome__content', 'eui-textCenter', { ['loginWelcome__contentDisabledForm']: !loginIsSupported, @@ -123,7 +136,13 @@ export class LoginPage extends Component {
    - {this.getLoginForm({ ...loginState, isSecureConnection })} + + {this.getLoginForm({ + ...loginState, + isSecureConnection, + isCookiesEnabled, + })} +
    @@ -134,9 +153,13 @@ export class LoginPage extends Component { layout, requiresSecureConnection, isSecureConnection, + isCookiesEnabled, selector, loginHelp, - }: LoginState & { isSecureConnection: boolean }) => { + }: LoginState & { + isSecureConnection: boolean; + isCookiesEnabled: boolean; + }) => { const isLoginExplicitlyDisabled = selector.providers.length === 0; if (isLoginExplicitlyDisabled) { return ( @@ -176,6 +199,60 @@ export class LoginPage extends Component { ); } + if (!isCookiesEnabled) { + if (isWindowEmbedded()) { + return ( +
    + +

    + {this.props.sameSiteCookies !== 'None' ? ( + + ) : ( + + )} +

    +
    + + + + +
    + ); + } + + return ( + + } + message={ + + } + /> + ); + } + if (layout === 'error-es-unavailable') { return ( ReactDOM.unmountComponentAtNode(element); } + +function isWindowEmbedded() { + try { + return window.self !== window.top; + } catch (error) { + return true; + } +} diff --git a/x-pack/plugins/security/public/config.ts b/x-pack/plugins/security/public/config.ts index a494efd02078c..440bd8da27d90 100644 --- a/x-pack/plugins/security/public/config.ts +++ b/x-pack/plugins/security/public/config.ts @@ -8,4 +8,5 @@ export interface ConfigType { loginAssistanceMessage: string; showInsecureClusterWarning: boolean; + sameSiteCookies: 'Strict' | 'Lax' | 'None' | undefined; } diff --git a/x-pack/plugins/security/public/index.ts b/x-pack/plugins/security/public/index.ts index 55925e142ff24..552442c0b8611 100644 --- a/x-pack/plugins/security/public/index.ts +++ b/x-pack/plugins/security/public/index.ts @@ -19,6 +19,8 @@ export type { SecurityPluginSetup, SecurityPluginStart }; export type { AuthenticatedUser } from '../common/model'; export type { SecurityLicense, SecurityLicenseFeatures } from '../common/licensing'; export type { UserMenuLink, SecurityNavControlServiceStart } from '../public/nav_control'; +export type { UiApi } from './ui_api'; +export type { PersonalInfoProps, ChangePasswordProps } from './account_management'; export type { AuthenticationServiceStart, AuthenticationServiceSetup } from './authentication'; diff --git a/x-pack/plugins/security/public/management/api_keys/api_keys_grid/api_keys_grid_page.tsx b/x-pack/plugins/security/public/management/api_keys/api_keys_grid/api_keys_grid_page.tsx index a4843e4637d8b..fddf52080b4ee 100644 --- a/x-pack/plugins/security/public/management/api_keys/api_keys_grid/api_keys_grid_page.tsx +++ b/x-pack/plugins/security/public/management/api_keys/api_keys_grid/api_keys_grid_page.tsx @@ -22,6 +22,7 @@ import { EuiText, EuiToolTip, } from '@elastic/eui'; +import { css } from '@emotion/react'; import type { History } from 'history'; import moment from 'moment-timezone'; import React, { Component } from 'react'; @@ -388,14 +389,21 @@ export class APIKeysGridPage extends Component { return { value: username, view: ( - - - - - - {username} - - + + + + + + + {username} + + + ), }; }), diff --git a/x-pack/plugins/security/public/session/session_timeout.test.ts b/x-pack/plugins/security/public/session/session_timeout.test.ts index b6cd758354dfa..dc046824dc9a8 100644 --- a/x-pack/plugins/security/public/session/session_timeout.test.ts +++ b/x-pack/plugins/security/public/session/session_timeout.test.ts @@ -130,9 +130,12 @@ describe('SessionTimeout', () => { await sessionTimeout.start(); expect(http.fetch).toHaveBeenCalledTimes(1); - // Increment system time enough so that session extension gets triggered + // Increment system time far enough to bypass throttle time nowMock.mockReturnValue(Date.now() + SESSION_EXTENSION_THROTTLE_MS + 10); + + // Trigger session extension and wait for next tick window.dispatchEvent(new Event('mousemove')); + await new Promise((resolve) => process.nextTick(resolve)); expect(http.fetch).toHaveBeenCalledTimes(2); expect(http.fetch).toHaveBeenLastCalledWith( @@ -159,11 +162,44 @@ describe('SessionTimeout', () => { expect(http.fetch).toHaveBeenCalledTimes(1); + // Trigger session extension and wait for next tick window.dispatchEvent(new Event('mousemove')); + await new Promise((resolve) => process.nextTick(resolve)); expect(http.fetch).toHaveBeenCalledTimes(1); }); + it('exponentially increases retry time when extending session fails', async () => { + nowMock.mockReturnValue(0); + + const { sessionTimeout, http } = createSessionTimeout(); + await sessionTimeout.start(); + + expect(http.fetch).toHaveBeenCalledTimes(1); + + // Increment system time far enough to bypass throttle time + nowMock.mockReturnValue(Date.now() + SESSION_EXTENSION_THROTTLE_MS + 10); + + // Now make subsequent HTTP calls fail + http.fetch.mockRejectedValue(new Error('Failure')); + + // Trigger session extension and wait for next tick + window.dispatchEvent(new Event('mousemove')); + await new Promise((resolve) => process.nextTick(resolve)); + + expect(http.fetch).toHaveBeenCalledTimes(2); + + // Increment system time far enough to bypass throttle time + nowMock.mockReturnValue(Date.now() + SESSION_EXTENSION_THROTTLE_MS + 10); + + // Trigger session extension and wait for next tick + window.dispatchEvent(new Event('mousemove')); + await new Promise((resolve) => process.nextTick(resolve)); + + // Without exponential retry backoff, this would have been called a 3rd time + expect(http.fetch).toHaveBeenCalledTimes(2); + }); + it('marks HTTP requests as system requests when tab is not visible', async () => { const { sessionTimeout, http } = createSessionTimeout(); await sessionTimeout.start(); diff --git a/x-pack/plugins/security/public/session/session_timeout.ts b/x-pack/plugins/security/public/session/session_timeout.ts index 8b83f34f642fd..f3f58b63c0e7f 100644 --- a/x-pack/plugins/security/public/session/session_timeout.ts +++ b/x-pack/plugins/security/public/session/session_timeout.ts @@ -38,6 +38,7 @@ export class SessionTimeout { private isVisible = document.visibilityState !== 'hidden'; private isFetchingSessionInfo = false; + private consecutiveErrorCount = 0; private snoozedWarningState?: SessionState; private sessionState$ = new BehaviorSubject({ @@ -218,7 +219,8 @@ export class SessionTimeout { return ( !this.isFetchingSessionInfo && !this.warningToast && - Date.now() > lastExtensionTime + SESSION_EXTENSION_THROTTLE_MS + Date.now() > + lastExtensionTime + SESSION_EXTENSION_THROTTLE_MS * Math.exp(this.consecutiveErrorCount) ); } @@ -229,6 +231,7 @@ export class SessionTimeout { method: extend ? 'POST' : 'GET', asSystemRequest: !extend, }); + this.consecutiveErrorCount = 0; if (sessionInfo) { const { expiresInMs, canBeExtended } = sessionInfo; const nextState: SessionState = { @@ -243,7 +246,7 @@ export class SessionTimeout { return nextState; } } catch (error) { - // ignore + this.consecutiveErrorCount++; } finally { this.isFetchingSessionInfo = false; } diff --git a/x-pack/plugins/security/server/audit/audit_events.test.ts b/x-pack/plugins/security/server/audit/audit_events.test.ts index 779463aaaf794..df796b0603176 100644 --- a/x-pack/plugins/security/server/audit/audit_events.test.ts +++ b/x-pack/plugins/security/server/audit/audit_events.test.ts @@ -18,6 +18,7 @@ import { SpaceAuditAction, spaceAuditEvent, userLoginEvent, + userLogoutEvent, } from './audit_events'; describe('#savedObjectEvent', () => { @@ -300,6 +301,57 @@ describe('#userLoginEvent', () => { }); }); +describe('#userLogoutEvent', () => { + test('creates event with `unknown` outcome', () => { + expect( + userLogoutEvent({ + username: 'elastic', + provider: { name: 'basic1', type: 'basic' }, + }) + ).toMatchInlineSnapshot(` + Object { + "event": Object { + "action": "user_logout", + "category": Array [ + "authentication", + ], + "outcome": "unknown", + }, + "kibana": Object { + "authentication_provider": "basic1", + "authentication_type": "basic", + }, + "message": "User [elastic] is logging out using basic provider [name=basic1]", + "user": Object { + "name": "elastic", + }, + } + `); + + expect( + userLogoutEvent({ + provider: { name: 'basic1', type: 'basic' }, + }) + ).toMatchInlineSnapshot(` + Object { + "event": Object { + "action": "user_logout", + "category": Array [ + "authentication", + ], + "outcome": "unknown", + }, + "kibana": Object { + "authentication_provider": "basic1", + "authentication_type": "basic", + }, + "message": "User [undefined] is logging out using basic provider [name=basic1]", + "user": undefined, + } + `); + }); +}); + describe('#httpRequestEvent', () => { test('creates event with `unknown` outcome', () => { expect( diff --git a/x-pack/plugins/security/server/audit/audit_events.ts b/x-pack/plugins/security/server/audit/audit_events.ts index a4025b619365f..2043483e4b03d 100644 --- a/x-pack/plugins/security/server/audit/audit_events.ts +++ b/x-pack/plugins/security/server/audit/audit_events.ts @@ -7,6 +7,7 @@ import type { EcsEventOutcome, EcsEventType, KibanaRequest, LogMeta } from 'src/core/server'; +import type { AuthenticationProvider } from '../../common/model'; import type { AuthenticationResult } from '../authentication/authentication_result'; /** @@ -130,6 +131,31 @@ export function userLoginEvent({ }; } +export interface UserLogoutParams { + username?: string; + provider: AuthenticationProvider; +} + +export function userLogoutEvent({ username, provider }: UserLogoutParams): AuditEvent { + return { + message: `User [${username}] is logging out using ${provider.type} provider [name=${provider.name}]`, + event: { + action: 'user_logout', + category: ['authentication'], + outcome: 'unknown', + }, + user: username + ? { + name: username, + } + : undefined, + kibana: { + authentication_provider: provider.name, + authentication_type: provider.type, + }, + }; +} + export enum SavedObjectAction { CREATE = 'saved_object_create', GET = 'saved_object_get', diff --git a/x-pack/plugins/security/server/audit/index.ts b/x-pack/plugins/security/server/audit/index.ts index 3b87877f7ea09..4382a6ef0bc79 100644 --- a/x-pack/plugins/security/server/audit/index.ts +++ b/x-pack/plugins/security/server/audit/index.ts @@ -10,7 +10,7 @@ export { AuditService } from './audit_service'; export type { AuditEvent } from './audit_events'; export { userLoginEvent, - httpRequestEvent, + userLogoutEvent, savedObjectEvent, spaceAuditEvent, SavedObjectAction, diff --git a/x-pack/plugins/security/server/authentication/authenticator.test.ts b/x-pack/plugins/security/server/authentication/authenticator.test.ts index 9e2a2d23ec825..9e5c5cf9379e9 100644 --- a/x-pack/plugins/security/server/authentication/authenticator.test.ts +++ b/x-pack/plugins/security/server/authentication/authenticator.test.ts @@ -1092,9 +1092,15 @@ describe('Authenticator', () => { let authenticator: Authenticator; let mockOptions: ReturnType; let mockSessVal: SessionValue; + const auditLogger = { + log: jest.fn(), + }; + beforeEach(() => { + auditLogger.log.mockClear(); mockOptions = getMockOptions({ providers: { basic: { basic1: { order: 0 } } } }); mockOptions.session.get.mockResolvedValue(null); + mockOptions.audit.asScoped.mockReturnValue(auditLogger); mockSessVal = sessionMock.createValue({ state: { authorization: 'Basic xxx' } }); authenticator = new Authenticator(mockOptions); @@ -1378,6 +1384,26 @@ describe('Authenticator', () => { expect(mockOptions.session.extend).not.toHaveBeenCalled(); }); + it('adds audit event when invalidating session.', async () => { + const request = httpServerMock.createKibanaRequest(); + + mockBasicAuthenticationProvider.authenticate.mockResolvedValue( + AuthenticationResult.redirectTo('some-url', { state: null }) + ); + mockOptions.session.get.mockResolvedValue(mockSessVal); + + await expect(authenticator.authenticate(request)).resolves.toEqual( + AuthenticationResult.redirectTo('some-url', { state: null }) + ); + + expect(auditLogger.log).toHaveBeenCalledTimes(1); + expect(auditLogger.log).toHaveBeenCalledWith( + expect.objectContaining({ + event: { action: 'user_logout', category: ['authentication'], outcome: 'unknown' }, + }) + ); + }); + it('does not clear session if provider can not handle system API request authentication with active session.', async () => { const request = httpServerMock.createKibanaRequest({ headers: { 'kbn-system-request': 'true' }, @@ -1797,8 +1823,14 @@ describe('Authenticator', () => { let authenticator: Authenticator; let mockOptions: ReturnType; let mockSessVal: SessionValue; + const auditLogger = { + log: jest.fn(), + }; + beforeEach(() => { + auditLogger.log.mockClear(); mockOptions = getMockOptions({ providers: { basic: { basic1: { order: 0 } } } }); + mockOptions.audit.asScoped.mockReturnValue(auditLogger); mockSessVal = sessionMock.createValue({ state: { authorization: 'Basic xxx' } }); authenticator = new Authenticator(mockOptions); @@ -1837,6 +1869,25 @@ describe('Authenticator', () => { expect(mockOptions.session.invalidate).toHaveBeenCalled(); }); + it('adds audit event.', async () => { + const request = httpServerMock.createKibanaRequest(); + mockBasicAuthenticationProvider.logout.mockResolvedValue( + DeauthenticationResult.redirectTo('some-url') + ); + mockOptions.session.get.mockResolvedValue(mockSessVal); + + await expect(authenticator.logout(request)).resolves.toEqual( + DeauthenticationResult.redirectTo('some-url') + ); + + expect(auditLogger.log).toHaveBeenCalledTimes(1); + expect(auditLogger.log).toHaveBeenCalledWith( + expect.objectContaining({ + event: { action: 'user_logout', category: ['authentication'], outcome: 'unknown' }, + }) + ); + }); + it('if session does not exist but provider name is valid, returns whatever authentication provider returns.', async () => { const request = httpServerMock.createKibanaRequest({ query: { provider: 'basic1' }, diff --git a/x-pack/plugins/security/server/authentication/authenticator.ts b/x-pack/plugins/security/server/authentication/authenticator.ts index ffd0f273ccc7e..3e9f0999ad851 100644 --- a/x-pack/plugins/security/server/authentication/authenticator.ts +++ b/x-pack/plugins/security/server/authentication/authenticator.ts @@ -21,7 +21,7 @@ import type { SecurityLicense } from '../../common/licensing'; import type { AuthenticatedUser, AuthenticationProvider } from '../../common/model'; import { shouldProviderUseLoginForm } from '../../common/model'; import type { AuditServiceSetup, SecurityAuditLogger } from '../audit'; -import { userLoginEvent } from '../audit'; +import { userLoginEvent, userLogoutEvent } from '../audit'; import type { ConfigType } from '../config'; import { getErrorStatusCode } from '../errors'; import type { SecurityFeatureUsageServiceStart } from '../feature_usage'; @@ -419,7 +419,7 @@ export class Authenticator { sessionValue?.provider.name ?? request.url.searchParams.get(LOGOUT_PROVIDER_QUERY_STRING_PARAMETER); if (suggestedProviderName) { - await this.invalidateSessionValue(request); + await this.invalidateSessionValue(request, sessionValue); // Provider name may be passed in a query param and sourced from the browser's local storage; // hence, we can't assume that this provider exists, so we have to check it. @@ -565,7 +565,7 @@ export class Authenticator { this.logger.warn( `Attempted to retrieve session for the "${existingSessionValue.provider.type}/${existingSessionValue.provider.name}" provider, but it is not configured.` ); - await this.invalidateSessionValue(request); + await this.invalidateSessionValue(request, existingSessionValue); return null; } @@ -599,7 +599,7 @@ export class Authenticator { // attempt didn't fail. if (authenticationResult.shouldClearState()) { this.logger.debug('Authentication provider requested to invalidate existing session.'); - await this.invalidateSessionValue(request); + await this.invalidateSessionValue(request, existingSessionValue); return null; } @@ -613,7 +613,7 @@ export class Authenticator { if (authenticationResult.failed()) { if (ownsSession && getErrorStatusCode(authenticationResult.error) === 401) { this.logger.debug('Authentication attempt failed, existing session will be invalidated.'); - await this.invalidateSessionValue(request); + await this.invalidateSessionValue(request, existingSessionValue); } return null; } @@ -651,17 +651,17 @@ export class Authenticator { this.logger.debug( 'Authentication provider has changed, existing session will be invalidated.' ); - await this.invalidateSessionValue(request); + await this.invalidateSessionValue(request, existingSessionValue); existingSessionValue = null; } else if (sessionHasBeenAuthenticated) { this.logger.debug( 'Session is authenticated, existing unauthenticated session will be invalidated.' ); - await this.invalidateSessionValue(request); + await this.invalidateSessionValue(request, existingSessionValue); existingSessionValue = null; } else if (usernameHasChanged) { this.logger.debug('Username has changed, existing session will be invalidated.'); - await this.invalidateSessionValue(request); + await this.invalidateSessionValue(request, existingSessionValue); existingSessionValue = null; } @@ -697,8 +697,19 @@ export class Authenticator { /** * Invalidates session value associated with the specified request. * @param request Request instance. + * @param sessionValue Value of the existing session if any. */ - private async invalidateSessionValue(request: KibanaRequest) { + private async invalidateSessionValue(request: KibanaRequest, sessionValue: SessionValue | null) { + if (sessionValue) { + const auditLogger = this.options.audit.asScoped(request); + auditLogger.log( + userLogoutEvent({ + username: sessionValue.username, + provider: sessionValue.provider, + }) + ); + } + await this.session.invalidate(request, { match: 'current' }); } diff --git a/x-pack/plugins/security/server/index.ts b/x-pack/plugins/security/server/index.ts index 5116324149381..9f575afd039a5 100644 --- a/x-pack/plugins/security/server/index.ts +++ b/x-pack/plugins/security/server/index.ts @@ -21,6 +21,7 @@ import { SecurityPlugin } from './plugin'; // These exports are part of public Security plugin contract, any change in signature of exported // functions or removal of exports should be considered as a breaking change. export type { + CreateAPIKeyParams, CreateAPIKeyResult, InvalidateAPIKeysParams, InvalidateAPIKeyResult, @@ -41,6 +42,7 @@ export const config: PluginConfigDescriptor> = { exposeToBrowser: { loginAssistanceMessage: true, showInsecureClusterWarning: true, + sameSiteCookies: true, }, }; export const plugin: PluginInitializer< diff --git a/x-pack/plugins/security/server/routes/api_keys/invalidate.test.ts b/x-pack/plugins/security/server/routes/api_keys/invalidate.test.ts index 061a4b0a6161a..7ec7eabf32c25 100644 --- a/x-pack/plugins/security/server/routes/api_keys/invalidate.test.ts +++ b/x-pack/plugins/security/server/routes/api_keys/invalidate.test.ts @@ -129,7 +129,7 @@ describe('Invalidate API keys', () => { isAdmin: true, }, asserts: { - apiArguments: [{ body: { id: 'si8If24B1bKsmSLTAhJV' } }], + apiArguments: [{ body: { ids: ['si8If24B1bKsmSLTAhJV'] } }], statusCode: 200, result: { itemsInvalidated: [], @@ -153,7 +153,7 @@ describe('Invalidate API keys', () => { isAdmin: true, }, asserts: { - apiArguments: [{ body: { id: 'si8If24B1bKsmSLTAhJV' } }], + apiArguments: [{ body: { ids: ['si8If24B1bKsmSLTAhJV'] } }], statusCode: 200, result: { itemsInvalidated: [{ id: 'si8If24B1bKsmSLTAhJV', name: 'my-api-key' }], @@ -169,7 +169,7 @@ describe('Invalidate API keys', () => { isAdmin: false, }, asserts: { - apiArguments: [{ body: { id: 'si8If24B1bKsmSLTAhJV', owner: true } }], + apiArguments: [{ body: { ids: ['si8If24B1bKsmSLTAhJV'], owner: true } }], statusCode: 200, result: { itemsInvalidated: [{ id: 'si8If24B1bKsmSLTAhJV', name: 'my-api-key' }], @@ -194,8 +194,8 @@ describe('Invalidate API keys', () => { }, asserts: { apiArguments: [ - { body: { id: 'si8If24B1bKsmSLTAhJV' } }, - { body: { id: 'ab8If24B1bKsmSLTAhNC' } }, + { body: { ids: ['si8If24B1bKsmSLTAhJV'] } }, + { body: { ids: ['ab8If24B1bKsmSLTAhNC'] } }, ], statusCode: 200, result: { diff --git a/x-pack/plugins/security/server/routes/api_keys/invalidate.ts b/x-pack/plugins/security/server/routes/api_keys/invalidate.ts index 2fb99766434cd..fe4884250e83d 100644 --- a/x-pack/plugins/security/server/routes/api_keys/invalidate.ts +++ b/x-pack/plugins/security/server/routes/api_keys/invalidate.ts @@ -35,7 +35,7 @@ export function defineInvalidateApiKeysRoutes({ router }: RouteDefinitionParams) await Promise.all( request.body.apiKeys.map(async (key) => { try { - const body: { id: string; owner?: boolean } = { id: key.id }; + const body: { ids: string[]; owner?: boolean } = { ids: [key.id] }; if (!request.body.isAdmin) { body.owner = true; } diff --git a/x-pack/plugins/security/server/session_management/session_index.test.ts b/x-pack/plugins/security/server/session_management/session_index.test.ts index 11fb4ca27f590..32ed38f7308f8 100644 --- a/x-pack/plugins/security/server/session_management/session_index.test.ts +++ b/x-pack/plugins/security/server/session_management/session_index.test.ts @@ -40,6 +40,9 @@ describe('Session index', () => { expect(mockElasticsearchClient.indices.existsTemplate).toHaveBeenCalledWith({ name: indexTemplateName, }); + expect(mockElasticsearchClient.indices.existsIndexTemplate).toHaveBeenCalledWith({ + name: indexTemplateName, + }); expect(mockElasticsearchClient.indices.exists).toHaveBeenCalledWith({ index: getSessionIndexTemplate(indexName).index_patterns[0], }); @@ -47,6 +50,9 @@ describe('Session index', () => { it('debounces initialize calls', async () => { mockElasticsearchClient.indices.existsTemplate.mockResolvedValue( + securityMock.createApiResponse({ body: false }) + ); + mockElasticsearchClient.indices.existsIndexTemplate.mockResolvedValue( securityMock.createApiResponse({ body: true }) ); mockElasticsearchClient.indices.exists.mockResolvedValue( @@ -63,8 +69,11 @@ describe('Session index', () => { assertExistenceChecksPerformed(); }); - it('creates neither index template nor index if they exist', async () => { + it('does not delete legacy index template if it does not exist and creates neither index template nor index if they exist', async () => { mockElasticsearchClient.indices.existsTemplate.mockResolvedValue( + securityMock.createApiResponse({ body: false }) + ); + mockElasticsearchClient.indices.existsIndexTemplate.mockResolvedValue( securityMock.createApiResponse({ body: true }) ); mockElasticsearchClient.indices.exists.mockResolvedValue( @@ -74,12 +83,46 @@ describe('Session index', () => { await sessionIndex.initialize(); assertExistenceChecksPerformed(); + + expect(mockElasticsearchClient.indices.deleteTemplate).not.toHaveBeenCalled(); + expect(mockElasticsearchClient.indices.putIndexTemplate).not.toHaveBeenCalled(); + expect(mockElasticsearchClient.indices.create).not.toHaveBeenCalled(); + }); + + it('deletes legacy index template if needed and creates both index template and index if they do not exist', async () => { + mockElasticsearchClient.indices.existsTemplate.mockResolvedValue( + securityMock.createApiResponse({ body: true }) + ); + mockElasticsearchClient.indices.existsIndexTemplate.mockResolvedValue( + securityMock.createApiResponse({ body: false }) + ); + mockElasticsearchClient.indices.exists.mockResolvedValue( + securityMock.createApiResponse({ body: false }) + ); + + await sessionIndex.initialize(); + + const expectedIndexTemplate = getSessionIndexTemplate(indexName); + assertExistenceChecksPerformed(); + expect(mockElasticsearchClient.indices.deleteTemplate).toHaveBeenCalledWith({ + name: indexTemplateName, + }); + expect(mockElasticsearchClient.indices.putIndexTemplate).toHaveBeenCalledWith({ + name: indexTemplateName, + body: expectedIndexTemplate, + }); + expect(mockElasticsearchClient.indices.create).toHaveBeenCalledWith({ + index: expectedIndexTemplate.index_patterns[0], + }); }); it('creates both index template and index if they do not exist', async () => { mockElasticsearchClient.indices.existsTemplate.mockResolvedValue( securityMock.createApiResponse({ body: false }) ); + mockElasticsearchClient.indices.existsIndexTemplate.mockResolvedValue( + securityMock.createApiResponse({ body: false }) + ); mockElasticsearchClient.indices.exists.mockResolvedValue( securityMock.createApiResponse({ body: false }) ); @@ -88,7 +131,8 @@ describe('Session index', () => { const expectedIndexTemplate = getSessionIndexTemplate(indexName); assertExistenceChecksPerformed(); - expect(mockElasticsearchClient.indices.putTemplate).toHaveBeenCalledWith({ + expect(mockElasticsearchClient.indices.deleteTemplate).not.toHaveBeenCalled(); + expect(mockElasticsearchClient.indices.putIndexTemplate).toHaveBeenCalledWith({ name: indexTemplateName, body: expectedIndexTemplate, }); @@ -101,6 +145,9 @@ describe('Session index', () => { mockElasticsearchClient.indices.existsTemplate.mockResolvedValue( securityMock.createApiResponse({ body: false }) ); + mockElasticsearchClient.indices.existsIndexTemplate.mockResolvedValue( + securityMock.createApiResponse({ body: false }) + ); mockElasticsearchClient.indices.exists.mockResolvedValue( securityMock.createApiResponse({ body: true }) ); @@ -108,7 +155,8 @@ describe('Session index', () => { await sessionIndex.initialize(); assertExistenceChecksPerformed(); - expect(mockElasticsearchClient.indices.putTemplate).toHaveBeenCalledWith({ + expect(mockElasticsearchClient.indices.deleteTemplate).not.toHaveBeenCalled(); + expect(mockElasticsearchClient.indices.putIndexTemplate).toHaveBeenCalledWith({ name: indexTemplateName, body: getSessionIndexTemplate(indexName), }); @@ -116,6 +164,9 @@ describe('Session index', () => { it('creates only index if it does not exist even if index template exists', async () => { mockElasticsearchClient.indices.existsTemplate.mockResolvedValue( + securityMock.createApiResponse({ body: false }) + ); + mockElasticsearchClient.indices.existsIndexTemplate.mockResolvedValue( securityMock.createApiResponse({ body: true }) ); mockElasticsearchClient.indices.exists.mockResolvedValue( @@ -125,6 +176,8 @@ describe('Session index', () => { await sessionIndex.initialize(); assertExistenceChecksPerformed(); + expect(mockElasticsearchClient.indices.deleteTemplate).not.toHaveBeenCalled(); + expect(mockElasticsearchClient.indices.putIndexTemplate).not.toHaveBeenCalled(); expect(mockElasticsearchClient.indices.create).toHaveBeenCalledWith({ index: getSessionIndexTemplate(indexName).index_patterns[0], }); @@ -132,6 +185,9 @@ describe('Session index', () => { it('does not fail if tries to create index when it exists already', async () => { mockElasticsearchClient.indices.existsTemplate.mockResolvedValue( + securityMock.createApiResponse({ body: false }) + ); + mockElasticsearchClient.indices.existsIndexTemplate.mockResolvedValue( securityMock.createApiResponse({ body: true }) ); mockElasticsearchClient.indices.exists.mockResolvedValue( @@ -152,8 +208,8 @@ describe('Session index', () => { const unexpectedError = new errors.ResponseError( securityMock.createApiResponse(securityMock.createApiResponse({ body: { type: 'Uh oh.' } })) ); - mockElasticsearchClient.indices.existsTemplate.mockRejectedValueOnce(unexpectedError); - mockElasticsearchClient.indices.existsTemplate.mockResolvedValueOnce( + mockElasticsearchClient.indices.existsIndexTemplate.mockRejectedValueOnce(unexpectedError); + mockElasticsearchClient.indices.existsIndexTemplate.mockResolvedValueOnce( securityMock.createApiResponse({ body: true }) ); diff --git a/x-pack/plugins/security/server/session_management/session_index.ts b/x-pack/plugins/security/server/session_management/session_index.ts index 58ee0d6956511..c5bda16b47d1b 100644 --- a/x-pack/plugins/security/server/session_management/session_index.ts +++ b/x-pack/plugins/security/server/session_management/session_index.ts @@ -40,28 +40,29 @@ const SESSION_INDEX_TEMPLATE_VERSION = 1; export function getSessionIndexTemplate(indexName: string) { return Object.freeze({ index_patterns: [indexName], - order: 1000, - settings: { - index: { - number_of_shards: 1, - number_of_replicas: 0, - auto_expand_replicas: '0-1', - priority: 1000, - refresh_interval: '1s', - hidden: true, + template: { + settings: { + index: { + number_of_shards: 1, + number_of_replicas: 0, + auto_expand_replicas: '0-1', + priority: 1000, + refresh_interval: '1s', + hidden: true, + }, }, + mappings: { + dynamic: 'strict', + properties: { + usernameHash: { type: 'keyword' }, + provider: { properties: { name: { type: 'keyword' }, type: { type: 'keyword' } } }, + idleTimeoutExpiration: { type: 'date' }, + lifespanExpiration: { type: 'date' }, + accessAgreementAcknowledged: { type: 'boolean' }, + content: { type: 'binary' }, + }, + } as const, }, - mappings: { - dynamic: 'strict', - properties: { - usernameHash: { type: 'keyword' }, - provider: { properties: { name: { type: 'keyword' }, type: { type: 'keyword' } } }, - idleTimeoutExpiration: { type: 'date' }, - lifespanExpiration: { type: 'date' }, - accessAgreementAcknowledged: { type: 'boolean' }, - content: { type: 'binary' }, - }, - } as const, }); } @@ -318,11 +319,40 @@ export class SessionIndex { const sessionIndexTemplateName = `${this.options.kibanaIndexName}_security_session_index_template_${SESSION_INDEX_TEMPLATE_VERSION}`; return (this.indexInitialization = new Promise(async (resolve, reject) => { try { + // Check if legacy index template exists, and remove it if it does. + let legacyIndexTemplateExists = false; + try { + legacyIndexTemplateExists = ( + await this.options.elasticsearchClient.indices.existsTemplate({ + name: sessionIndexTemplateName, + }) + ).body; + } catch (err) { + this.options.logger.error( + `Failed to check if session legacy index template exists: ${err.message}` + ); + return reject(err); + } + + if (legacyIndexTemplateExists) { + try { + await this.options.elasticsearchClient.indices.deleteTemplate({ + name: sessionIndexTemplateName, + }); + this.options.logger.debug('Successfully deleted session legacy index template.'); + } catch (err) { + this.options.logger.error( + `Failed to delete session legacy index template: ${err.message}` + ); + return reject(err); + } + } + // Check if required index template exists. let indexTemplateExists = false; try { indexTemplateExists = ( - await this.options.elasticsearchClient.indices.existsTemplate({ + await this.options.elasticsearchClient.indices.existsIndexTemplate({ name: sessionIndexTemplateName, }) ).body; @@ -338,8 +368,9 @@ export class SessionIndex { this.options.logger.debug('Session index template already exists.'); } else { try { - await this.options.elasticsearchClient.indices.putTemplate({ + await this.options.elasticsearchClient.indices.putIndexTemplate({ name: sessionIndexTemplateName, + // @ts-expect-error @elastic/elasticsearch IndicesIndexSettings.index: IndicesIndexSettings body: getSessionIndexTemplate(this.indexName), }); this.options.logger.debug('Successfully created session index template.'); diff --git a/x-pack/plugins/security_solution/common/detection_engine/schemas/request/rule_schemas.mock.ts b/x-pack/plugins/security_solution/common/detection_engine/schemas/request/rule_schemas.mock.ts index a51c1f77844d5..68371bca04eeb 100644 --- a/x-pack/plugins/security_solution/common/detection_engine/schemas/request/rule_schemas.mock.ts +++ b/x-pack/plugins/security_solution/common/detection_engine/schemas/request/rule_schemas.mock.ts @@ -58,6 +58,8 @@ export const getCreateThreatMatchRulesSchemaMock = ( threat_query: '*:*', threat_index: ['list-index'], threat_indicator_path: DEFAULT_INDICATOR_SOURCE_PATH, + interval: '5m', + from: 'now-6m', threat_mapping: [ { entries: [ diff --git a/x-pack/plugins/security_solution/common/endpoint/constants.ts b/x-pack/plugins/security_solution/common/endpoint/constants.ts index 178a2b68a4aab..4b954070950af 100644 --- a/x-pack/plugins/security_solution/common/endpoint/constants.ts +++ b/x-pack/plugins/security_solution/common/endpoint/constants.ts @@ -11,6 +11,8 @@ export const ENDPOINT_ACTIONS_DS = '.logs-endpoint.actions'; export const ENDPOINT_ACTIONS_INDEX = `${ENDPOINT_ACTIONS_DS}-default`; export const ENDPOINT_ACTION_RESPONSES_DS = '.logs-endpoint.action.responses'; export const ENDPOINT_ACTION_RESPONSES_INDEX = `${ENDPOINT_ACTION_RESPONSES_DS}-default`; +// search in all namespaces and not only in default +export const ENDPOINT_ACTION_RESPONSES_INDEX_PATTERN = `${ENDPOINT_ACTION_RESPONSES_DS}-*`; export const eventsIndexPattern = 'logs-endpoint.events.*'; export const alertsIndexPattern = 'logs-endpoint.alerts-*'; diff --git a/x-pack/plugins/security_solution/common/endpoint/data_generators/trusted_app_generator.ts b/x-pack/plugins/security_solution/common/endpoint/data_generators/trusted_app_generator.ts index 6c691894103be..27c4abc65610d 100644 --- a/x-pack/plugins/security_solution/common/endpoint/data_generators/trusted_app_generator.ts +++ b/x-pack/plugins/security_solution/common/endpoint/data_generators/trusted_app_generator.ts @@ -67,13 +67,29 @@ export class TrustedAppGenerator extends BaseDataGenerator { ...(scopeType === 'policy' ? { policies: this.randomArray(5, () => this.randomUUID()) } : {}), }) as EffectScope; + const os = overrides.os ?? 'windows'; + const pathEntry = this.randomChoice([ + { + field: ConditionEntryField.PATH, + operator: 'included', + type: 'match', + value: os !== 'windows' ? '/one/two/three' : 'c:\\fol\\bin.exe', + }, + { + field: ConditionEntryField.PATH, + operator: 'included', + type: 'wildcard', + value: os !== 'windows' ? '/one/t*/*re/three.app' : 'c:\\fol*\\*ub*\\bin.exe', + }, + ]); + // TS types are conditional when it comes to the combination of OS and ENTRIES // @ts-expect-error TS2322 return merge( { description: `Generator says we trust ${name}`, name, - os: this.randomOSFamily(), + os, effectScope, entries: [ { @@ -82,12 +98,7 @@ export class TrustedAppGenerator extends BaseDataGenerator { type: 'match', value: '1234234659af249ddf3e40864e9fb241', }, - { - field: ConditionEntryField.PATH, - operator: 'included', - type: 'match', - value: '/one/two/three', - }, + pathEntry, ], }, overrides diff --git a/x-pack/plugins/security_solution/common/endpoint/service/trusted_apps/validations.test.ts b/x-pack/plugins/security_solution/common/endpoint/service/trusted_apps/validations.test.ts index ae95c21630bd8..952a2fa234ace 100644 --- a/x-pack/plugins/security_solution/common/endpoint/service/trusted_apps/validations.test.ts +++ b/x-pack/plugins/security_solution/common/endpoint/service/trusted_apps/validations.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { isPathValid } from './validations'; +import { isPathValid, hasSimpleExecutableName } from './validations'; import { OperatingSystem, ConditionEntryField } from '../../types'; describe('Unacceptable Windows wildcard paths', () => { @@ -504,3 +504,58 @@ describe('Unacceptable Mac/Linux exact paths', () => { ).toEqual(false); }); }); + +describe('Executable filenames with wildcard PATHS', () => { + it('should return TRUE when MAC/LINUX wildcard paths have an executable name', () => { + expect( + hasSimpleExecutableName({ + os: OperatingSystem.LINUX, + type: 'wildcard', + value: '/opt/*/app', + }) + ).toEqual(true); + expect( + hasSimpleExecutableName({ + os: OperatingSystem.MAC, + type: 'wildcard', + value: '/op*/**/app.dmg', + }) + ).toEqual(true); + }); + + it('should return TRUE when WINDOWS wildcards paths have a executable name', () => { + expect( + hasSimpleExecutableName({ + os: OperatingSystem.WINDOWS, + type: 'wildcard', + value: 'c:\\**\\path.exe', + }) + ).toEqual(true); + }); + + it('should return FALSE when MAC/LINUX wildcard paths have a wildcard in executable name', () => { + expect( + hasSimpleExecutableName({ + os: OperatingSystem.LINUX, + type: 'wildcard', + value: '/op/*/*pp', + }) + ).toEqual(false); + expect( + hasSimpleExecutableName({ + os: OperatingSystem.MAC, + type: 'wildcard', + value: '/op*/b**/ap.m**', + }) + ).toEqual(false); + }); + it('should return FALSE when WINDOWS wildcards paths have a wildcard in executable name', () => { + expect( + hasSimpleExecutableName({ + os: OperatingSystem.WINDOWS, + type: 'wildcard', + value: 'c:\\**\\pa*h.exe', + }) + ).toEqual(false); + }); +}); diff --git a/x-pack/plugins/security_solution/common/endpoint/service/trusted_apps/validations.ts b/x-pack/plugins/security_solution/common/endpoint/service/trusted_apps/validations.ts index 0fe3c0269bd15..3fee05e2f0061 100644 --- a/x-pack/plugins/security_solution/common/endpoint/service/trusted_apps/validations.ts +++ b/x-pack/plugins/security_solution/common/endpoint/service/trusted_apps/validations.ts @@ -34,6 +34,35 @@ export const getDuplicateFields = (entries: ConditionEntry[]) => { .map((entry) => entry[0]); }; +/* + * regex to match executable names + * starts matching from the eol of the path + * file names with a single or multiple spaces (for spaced names) + * and hyphens and combinations of these that produce complex names + * such as: + * c:\home\lib\dmp.dmp + * c:\home\lib\my-binary-app-+/ some/ x/ dmp.dmp + * /home/lib/dmp.dmp + * /home/lib/my-binary-app+-\ some\ x\ dmp.dmp + */ +const WIN_EXEC_PATH = /\\(\w+|\w*[\w+|-]+\/ +)+\w+[\w+|-]+\.*\w+$/i; +const UNIX_EXEC_PATH = /(\/|\w*[\w+|-]+\\ +)+\w+[\w+|-]+\.*\w*$/i; + +export const hasSimpleExecutableName = ({ + os, + type, + value, +}: { + os: OperatingSystem; + type: TrustedAppEntryTypes; + value: string; +}): boolean => { + if (type === 'wildcard') { + return os === OperatingSystem.WINDOWS ? WIN_EXEC_PATH.test(value) : UNIX_EXEC_PATH.test(value); + } + return true; +}; + export const isPathValid = ({ os, field, diff --git a/x-pack/plugins/security_solution/common/test/index.ts b/x-pack/plugins/security_solution/common/test/index.ts index 6d5df76b306a3..f061c5adcd86e 100644 --- a/x-pack/plugins/security_solution/common/test/index.ts +++ b/x-pack/plugins/security_solution/common/test/index.ts @@ -11,6 +11,7 @@ export enum ROLES { t1_analyst = 't1_analyst', t2_analyst = 't2_analyst', hunter = 'hunter', + hunter_no_actions = 'hunter_no_actions', rule_author = 'rule_author', soc_manager = 'soc_manager', platform_engineer = 'platform_engineer', diff --git a/x-pack/plugins/security_solution/common/utils/path_placeholder.ts b/x-pack/plugins/security_solution/common/utils/path_placeholder.ts index bba01b6d05b65..baa9b71cd4483 100644 --- a/x-pack/plugins/security_solution/common/utils/path_placeholder.ts +++ b/x-pack/plugins/security_solution/common/utils/path_placeholder.ts @@ -9,11 +9,11 @@ import { ConditionEntryField, OperatingSystem, TrustedAppEntryTypes } from '../e export const getPlaceholderText = () => ({ windows: { - wildcard: 'C:\\sample\\**\\*', + wildcard: 'C:\\sample\\*\\path.exe', exact: 'C:\\sample\\path.exe', }, others: { - wildcard: '/opt/**/*', + wildcard: '/opt/*/app', exact: '/opt/bin', }, }); diff --git a/x-pack/plugins/security_solution/cypress/integration/detection_alerts/acknowledged.spec.ts b/x-pack/plugins/security_solution/cypress/integration/detection_alerts/acknowledged.spec.ts index 2dad11ac7e937..52aa72eaa0ed3 100644 --- a/x-pack/plugins/security_solution/cypress/integration/detection_alerts/acknowledged.spec.ts +++ b/x-pack/plugins/security_solution/cypress/integration/detection_alerts/acknowledged.spec.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { ROLES } from '../../../common/test'; import { getNewRule } from '../../objects/rule'; import { ALERTS_COUNT, @@ -67,3 +68,41 @@ describe('Marking alerts as acknowledged', () => { }); }); }); + +describe('Marking alerts as acknowledged with read only role', () => { + beforeEach(() => { + cleanKibana(); + loginAndWaitForPage(ALERTS_URL, ROLES.t2_analyst); + createCustomRuleActivated(getNewRule()); + refreshPage(); + waitForAlertsToPopulate(100); + }); + + it('Mark one alert as acknowledged when more than one open alerts are selected', () => { + cy.get(ALERTS_COUNT) + .invoke('text') + .then((alertNumberString) => { + const numberOfAlerts = alertNumberString.split(' ')[0]; + const numberOfAlertsToBeMarkedAcknowledged = 1; + const numberOfAlertsToBeSelected = 3; + + cy.get(TAKE_ACTION_POPOVER_BTN).should('not.exist'); + selectNumberOfAlerts(numberOfAlertsToBeSelected); + cy.get(TAKE_ACTION_POPOVER_BTN).should('exist'); + + markAcknowledgedFirstAlert(); + const expectedNumberOfAlerts = +numberOfAlerts - numberOfAlertsToBeMarkedAcknowledged; + cy.get(ALERTS_COUNT).should('have.text', `${expectedNumberOfAlerts} alerts`); + cy.get(ALERT_COUNT_TABLE_FIRST_ROW_COUNT).should('have.text', `${expectedNumberOfAlerts}`); + + goToAcknowledgedAlerts(); + waitForAlerts(); + + cy.get(ALERTS_COUNT).should('have.text', `${numberOfAlertsToBeMarkedAcknowledged} alert`); + cy.get(ALERT_COUNT_TABLE_FIRST_ROW_COUNT).should( + 'have.text', + `${numberOfAlertsToBeMarkedAcknowledged}` + ); + }); + }); +}); diff --git a/x-pack/plugins/security_solution/cypress/integration/detection_alerts/attach_to_case.spec.ts b/x-pack/plugins/security_solution/cypress/integration/detection_alerts/attach_to_case.spec.ts index 348b03b7f6399..51640f107be28 100644 --- a/x-pack/plugins/security_solution/cypress/integration/detection_alerts/attach_to_case.spec.ts +++ b/x-pack/plugins/security_solution/cypress/integration/detection_alerts/attach_to_case.spec.ts @@ -44,8 +44,8 @@ describe('Alerts timeline', () => { }); it('should not allow user with read only privileges to attach alerts to cases', () => { - cy.get(TIMELINE_CONTEXT_MENU_BTN).first().click({ force: true }); - cy.get(ATTACH_ALERT_TO_CASE_BUTTON).should('not.exist'); + // Disabled actions for read only users are hidden, so actions button should not show + cy.get(TIMELINE_CONTEXT_MENU_BTN).should('not.exist'); }); }); diff --git a/x-pack/plugins/security_solution/cypress/integration/detection_alerts/closing.spec.ts b/x-pack/plugins/security_solution/cypress/integration/detection_alerts/closing.spec.ts index 860a4e6089a27..ad577050a4146 100644 --- a/x-pack/plugins/security_solution/cypress/integration/detection_alerts/closing.spec.ts +++ b/x-pack/plugins/security_solution/cypress/integration/detection_alerts/closing.spec.ts @@ -6,6 +6,7 @@ */ import { getNewRule } from '../../objects/rule'; +import { ROLES } from '../../../common/test'; import { ALERTS_COUNT, SELECTED_ALERTS, @@ -178,3 +179,44 @@ describe('Closing alerts', () => { }); }); }); + +describe('Closing alerts with read only role', () => { + beforeEach(() => { + cleanKibana(); + loginAndWaitForPage(ALERTS_URL, ROLES.t2_analyst); + createCustomRuleActivated(getNewRule(), '1', '100m', 100); + refreshPage(); + waitForAlertsToPopulate(100); + deleteCustomRule(); + }); + + it('Closes alerts', () => { + const numberOfAlertsToBeClosed = 3; + cy.get(ALERTS_COUNT) + .invoke('text') + .then((alertNumberString) => { + const numberOfAlerts = alertNumberString.split(' ')[0]; + cy.get(ALERTS_COUNT).should('have.text', `${numberOfAlerts} alerts`); + cy.get(ALERT_COUNT_TABLE_FIRST_ROW_COUNT).should('have.text', `${numberOfAlerts}`); + + selectNumberOfAlerts(numberOfAlertsToBeClosed); + + cy.get(SELECTED_ALERTS).should('have.text', `Selected ${numberOfAlertsToBeClosed} alerts`); + + closeAlerts(); + waitForAlerts(); + + const expectedNumberOfAlertsAfterClosing = +numberOfAlerts - numberOfAlertsToBeClosed; + cy.get(ALERTS_COUNT).should('have.text', `${expectedNumberOfAlertsAfterClosing} alerts`); + cy.get(ALERT_COUNT_TABLE_FIRST_ROW_COUNT).should( + 'have.text', + `${expectedNumberOfAlertsAfterClosing}` + ); + + goToClosedAlerts(); + waitForAlerts(); + + cy.get(ALERTS_COUNT).should('have.text', `${numberOfAlertsToBeClosed} alerts`); + }); + }); +}); diff --git a/x-pack/plugins/security_solution/cypress/integration/network/hover_actions.spec.ts b/x-pack/plugins/security_solution/cypress/integration/network/hover_actions.spec.ts new file mode 100644 index 0000000000000..c457754d1b9ad --- /dev/null +++ b/x-pack/plugins/security_solution/cypress/integration/network/hover_actions.spec.ts @@ -0,0 +1,76 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { TOP_N_CONTAINER } from '../../screens/network/flows'; +import { GLOBAL_SEARCH_BAR_FILTER_ITEM } from '../../screens/search_bar'; +import { DATA_PROVIDERS } from '../../screens/timeline'; +import { cleanKibana } from '../../tasks/common'; + +import { loginAndWaitForPage } from '../../tasks/login'; +import { NETWORK_URL } from '../../urls/navigation'; +import { + clickOnAddToTimeline, + clickOnCopyValue, + clickOnFilterIn, + clickOnFilterOut, + clickOnShowTopN, + openHoverActions, +} from '../../tasks/network/flows'; +import { openTimelineUsingToggle } from '../../tasks/security_main'; + +const testDomain = 'endpoint-dev-es.app.elstc.co'; + +describe('Hover actions', () => { + const onBeforeLoadCallback = (win: Cypress.AUTWindow) => { + // avoid cypress being held by windows prompt and timeout + cy.stub(win, 'prompt').returns(true); + }; + + before(() => { + cleanKibana(); + }); + + beforeEach(() => { + loginAndWaitForPage(NETWORK_URL, undefined, onBeforeLoadCallback); + openHoverActions(); + }); + + it('Adds global filter - filter in', () => { + clickOnFilterIn(); + + cy.get(GLOBAL_SEARCH_BAR_FILTER_ITEM).should('have.text', `destination.domain: ${testDomain}`); + }); + + it('Adds global filter - filter out', () => { + clickOnFilterOut(); + cy.get(GLOBAL_SEARCH_BAR_FILTER_ITEM).should( + 'contains.text', + `NOT destination.domain: ${testDomain}` + ); + }); + + it('Adds to timeline', () => { + const DATA_PROVIDER_ITEM_NUMBER = 1; + clickOnAddToTimeline(); + openTimelineUsingToggle(); + + cy.get(DATA_PROVIDERS).should('have.length', DATA_PROVIDER_ITEM_NUMBER); + cy.get(DATA_PROVIDERS).should('have.text', `destination.domain: "${testDomain}"`); + }); + + it('Show topN', () => { + clickOnShowTopN(); + cy.get(TOP_N_CONTAINER).should('exist').should('contain.text', 'Top destination.domain'); + }); + + it('Copy value', () => { + cy.document().then((doc) => cy.spy(doc, 'execCommand').as('execCommand')); + + clickOnCopyValue(); + + cy.get('@execCommand').should('have.been.calledOnceWith', 'copy'); + }); +}); diff --git a/x-pack/plugins/security_solution/cypress/integration/network/overflow_items.spec.ts b/x-pack/plugins/security_solution/cypress/integration/network/overflow_items.spec.ts new file mode 100644 index 0000000000000..b9a733093c586 --- /dev/null +++ b/x-pack/plugins/security_solution/cypress/integration/network/overflow_items.spec.ts @@ -0,0 +1,61 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + ADD_TO_TIMELINE, + COPY, + DESTINATION_DOMAIN, + FILTER_IN, + FILTER_OUT, + SHOW_TOP_FIELD, +} from '../../screens/network/flows'; +import { cleanKibana } from '../../tasks/common'; + +import { loginAndWaitForPage } from '../../tasks/login'; +import { openHoverActions } from '../../tasks/network/flows'; + +import { NETWORK_URL } from '../../urls/navigation'; + +const testDomainOne = 'endpoint-dev-es.app.elstc.co'; +const testDomainTwo = 'endpoint2-dev-es.app.elstc.co'; + +describe('Overflow items', () => { + context('Network stats and tables', () => { + before(() => { + cleanKibana(); + }); + beforeEach(() => { + loginAndWaitForPage(NETWORK_URL); + }); + + it('Shows more items in the popover', () => { + cy.get(DESTINATION_DOMAIN(testDomainOne)).should('not.exist'); + cy.get(DESTINATION_DOMAIN(testDomainTwo)).should('not.exist'); + + openHoverActions(); + + cy.get(DESTINATION_DOMAIN(testDomainOne)).should('exist'); + cy.get(DESTINATION_DOMAIN(testDomainTwo)).should('exist'); + }); + + it('Shows Hover actions for more items in the popover', () => { + cy.get(FILTER_IN).should('not.exist'); + cy.get(FILTER_OUT).should('not.exist'); + cy.get(ADD_TO_TIMELINE).should('not.exist'); + cy.get(SHOW_TOP_FIELD).should('not.exist'); + cy.get(COPY).should('not.exist'); + + openHoverActions(); + + cy.get(FILTER_IN).should('exist'); + cy.get(FILTER_OUT).should('exist'); + cy.get(ADD_TO_TIMELINE).should('exist'); + cy.get(SHOW_TOP_FIELD).should('exist'); + cy.get(COPY).should('exist'); + }); + }); +}); diff --git a/x-pack/plugins/security_solution/cypress/integration/timelines/overview.tsx b/x-pack/plugins/security_solution/cypress/integration/timelines/overview.tsx new file mode 100644 index 0000000000000..f961f94d5f867 --- /dev/null +++ b/x-pack/plugins/security_solution/cypress/integration/timelines/overview.tsx @@ -0,0 +1,88 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + TIMELINES_OVERVIEW_TABLE, + TIMELINES_OVERVIEW_ONLY_FAVORITES, + TIMELINES_OVERVIEW_SEARCH, +} from '../../screens/timelines'; + +import { + getTimeline, + getFavoritedTimeline, + sharedTimelineTitleFragment, +} from '../../objects/timeline'; + +import { cleanKibana } from '../../tasks/common'; + +import { loginAndWaitForPageWithoutDateRange } from '../../tasks/login'; +import { createTimeline, favoriteTimeline } from '../../tasks/api_calls/timelines'; + +import { TIMELINES_URL } from '../../urls/navigation'; + +describe('timeline overview search', () => { + before(() => { + cleanKibana(); + + createTimeline(getFavoritedTimeline()) + .then((response) => response.body.data.persistTimeline.timeline.savedObjectId) + .then((timelineId) => favoriteTimeline({ timelineId, timelineType: 'default' })); + createTimeline(getTimeline()); + + loginAndWaitForPageWithoutDateRange(TIMELINES_URL); + }); + + beforeEach(() => { + cy.get(TIMELINES_OVERVIEW_SEARCH).clear(); + }); + + it('should show all timelines when no search term was entered', () => { + cy.get(TIMELINES_OVERVIEW_TABLE).contains(getTimeline().title); + cy.get(TIMELINES_OVERVIEW_TABLE).contains(getFavoritedTimeline().title); + }); + + it('should show the correct favorite count without search', () => { + cy.get(TIMELINES_OVERVIEW_ONLY_FAVORITES).contains(1); + }); + + it('should show the correct timelines when the favorite filter is activated', () => { + cy.get(TIMELINES_OVERVIEW_ONLY_FAVORITES).click(); // enable the filter + + cy.get(TIMELINES_OVERVIEW_TABLE).contains(getTimeline().title).should('not.exist'); + cy.get(TIMELINES_OVERVIEW_TABLE).contains(getFavoritedTimeline().title); + cy.get(TIMELINES_OVERVIEW_ONLY_FAVORITES).contains(1); + + cy.get(TIMELINES_OVERVIEW_ONLY_FAVORITES).click(); // disable the filter + }); + + it('should find the correct timeline and have the correct favorite count when searching by timeline title', () => { + cy.get(TIMELINES_OVERVIEW_SEARCH).type(`"${getTimeline().title}"{enter}`); + + cy.get(TIMELINES_OVERVIEW_TABLE).contains(getFavoritedTimeline().title).should('not.exist'); + cy.get(TIMELINES_OVERVIEW_TABLE).contains(getTimeline().title); + cy.get(TIMELINES_OVERVIEW_ONLY_FAVORITES).contains(0); + }); + + it('should find the correct timelines when searching for favorited timelines', () => { + cy.get(TIMELINES_OVERVIEW_ONLY_FAVORITES).click(); // enable the filter + cy.get(TIMELINES_OVERVIEW_SEARCH).type(`"${getFavoritedTimeline().title}"{enter}`); + + cy.get(TIMELINES_OVERVIEW_TABLE).contains(getTimeline().title).should('not.exist'); + cy.get(TIMELINES_OVERVIEW_TABLE).contains(getFavoritedTimeline().title); + cy.get(TIMELINES_OVERVIEW_ONLY_FAVORITES).contains(1); + + cy.get(TIMELINES_OVERVIEW_ONLY_FAVORITES).click(); // disable the filter + }); + + it('should find the correct timelines when both favorited and non-favorited timelines match', () => { + cy.get(TIMELINES_OVERVIEW_SEARCH).type(`"${sharedTimelineTitleFragment}"{enter}`); + + cy.get(TIMELINES_OVERVIEW_TABLE).contains(getTimeline().title); + cy.get(TIMELINES_OVERVIEW_TABLE).contains(getFavoritedTimeline().title); + cy.get(TIMELINES_OVERVIEW_ONLY_FAVORITES).contains(1); + }); +}); diff --git a/x-pack/plugins/security_solution/cypress/objects/timeline.ts b/x-pack/plugins/security_solution/cypress/objects/timeline.ts index f3d9bc1b9ef1a..7c6f3aa7aae4e 100644 --- a/x-pack/plugins/security_solution/cypress/objects/timeline.ts +++ b/x-pack/plugins/security_solution/cypress/objects/timeline.ts @@ -32,14 +32,24 @@ export const getFilter = (): TimelineFilter => ({ value: 'exists', }); +export const sharedTimelineTitleFragment = 'Timeline'; + export const getTimeline = (): CompleteTimeline => ({ - title: 'Security Timeline', + title: `Security ${sharedTimelineTitleFragment}`, description: 'This is the best timeline', query: 'host.name: *', notes: 'Yes, the best timeline', filter: getFilter(), }); +export const getFavoritedTimeline = (): CompleteTimeline => ({ + title: `Darkest ${sharedTimelineTitleFragment}`, + description: 'This is the darkest timeline', + query: 'host.name: *', + notes: 'Yes, the darkest timeline, you heard me right', + filter: getFilter(), +}); + export const getIndicatorMatchTimelineTemplate = (): CompleteTimeline => ({ ...getTimeline(), title: 'Generic Threat Match Timeline', diff --git a/x-pack/plugins/security_solution/cypress/screens/network/flows.ts b/x-pack/plugins/security_solution/cypress/screens/network/flows.ts index ef76dbc05aac7..d8b68f1a79ca6 100644 --- a/x-pack/plugins/security_solution/cypress/screens/network/flows.ts +++ b/x-pack/plugins/security_solution/cypress/screens/network/flows.ts @@ -6,3 +6,22 @@ */ export const IPS_TABLE_LOADED = '[data-test-subj="table-topNFlowSource-loading-false"]'; + +export const EXPAND_OVERFLOW_ITEMS = '[data-test-subj="overflow-button"]'; + +export const FILTER_IN = '[data-test-subj="hover-actions-filter-for"]'; + +export const FILTER_OUT = '[data-test-subj="hover-actions-filter-out"]'; + +export const ADD_TO_TIMELINE = '[data-test-subj="add-to-timeline"]'; + +export const SHOW_TOP_FIELD = '[data-test-subj="show-top-field"]'; + +export const COPY = '[data-test-subj="clipboard"]'; + +export const TOP_N_CONTAINER = '[data-test-subj="topN-container"]'; + +export const CLOSE_TOP_N = '[data-test-subj="close"]'; + +export const DESTINATION_DOMAIN = (testDomain: string) => + `[data-test-subj="destination.domain-${testDomain}"]`; diff --git a/x-pack/plugins/security_solution/cypress/screens/timelines.ts b/x-pack/plugins/security_solution/cypress/screens/timelines.ts index 5e64e4fbb5ece..7ab7f0d28b6f4 100644 --- a/x-pack/plugins/security_solution/cypress/screens/timelines.ts +++ b/x-pack/plugins/security_solution/cypress/screens/timelines.ts @@ -47,3 +47,11 @@ export const TIMELINES_TABLE = '[data-test-subj="timelines-table"]'; export const TIMELINES_USERNAME = '[data-test-subj="username"]'; export const REFRESH_BUTTON = '[data-test-subj="refreshButton-linkIcon"]'; + +export const TIMELINES_OVERVIEW = '[data-test-subj="timelines-container"]'; + +export const TIMELINES_OVERVIEW_ONLY_FAVORITES = `${TIMELINES_OVERVIEW} [data-test-subj="only-favorites-toggle"]`; + +export const TIMELINES_OVERVIEW_SEARCH = `${TIMELINES_OVERVIEW} [data-test-subj="search-bar"]`; + +export const TIMELINES_OVERVIEW_TABLE = `${TIMELINES_OVERVIEW} [data-test-subj="timelines-table"]`; diff --git a/x-pack/plugins/security_solution/cypress/tasks/login.ts b/x-pack/plugins/security_solution/cypress/tasks/login.ts index 96d37d2d9214a..6dba017912ec6 100644 --- a/x-pack/plugins/security_solution/cypress/tasks/login.ts +++ b/x-pack/plugins/security_solution/cypress/tasks/login.ts @@ -288,10 +288,21 @@ export const getEnvAuth = (): User => { * Authenticates with Kibana, visits the specified `url`, and waits for the * Kibana global nav to be displayed before continuing */ -export const loginAndWaitForPage = (url: string, role?: ROLES) => { +export const loginAndWaitForPage = ( + url: string, + role?: ROLES, + onBeforeLoadCallback?: (win: Cypress.AUTWindow) => void +) => { login(role); cy.visit( - `${url}?timerange=(global:(linkTo:!(timeline),timerange:(from:1547914976217,fromStr:'2019-01-19T16:22:56.217Z',kind:relative,to:1579537385745,toStr:now)),timeline:(linkTo:!(global),timerange:(from:1547914976217,fromStr:'2019-01-19T16:22:56.217Z',kind:relative,to:1579537385745,toStr:now)))` + `${url}?timerange=(global:(linkTo:!(timeline),timerange:(from:1547914976217,fromStr:'2019-01-19T16:22:56.217Z',kind:relative,to:1579537385745,toStr:now)),timeline:(linkTo:!(global),timerange:(from:1547914976217,fromStr:'2019-01-19T16:22:56.217Z',kind:relative,to:1579537385745,toStr:now)))`, + { + onBeforeLoad(win) { + if (onBeforeLoadCallback) { + onBeforeLoadCallback(win); + } + }, + } ); cy.get('[data-test-subj="headerGlobalNav"]'); }; diff --git a/x-pack/plugins/security_solution/cypress/tasks/network/flows.ts b/x-pack/plugins/security_solution/cypress/tasks/network/flows.ts index f6d291989ae41..75ec6f08f535b 100644 --- a/x-pack/plugins/security_solution/cypress/tasks/network/flows.ts +++ b/x-pack/plugins/security_solution/cypress/tasks/network/flows.ts @@ -5,8 +5,42 @@ * 2.0. */ -import { IPS_TABLE_LOADED } from '../../screens/network/flows'; +import { TOASTER } from '../../screens/configure_cases'; +import { + ADD_TO_TIMELINE, + COPY, + FILTER_IN, + FILTER_OUT, + IPS_TABLE_LOADED, + SHOW_TOP_FIELD, + EXPAND_OVERFLOW_ITEMS, +} from '../../screens/network/flows'; export const waitForIpsTableToBeLoaded = () => { cy.get(IPS_TABLE_LOADED).should('exist'); }; + +export const openHoverActions = () => { + cy.get(TOASTER).should('not.exist', { timeout: 12000 }); // Wait until "Your browser does not meet the security requirements for Kibana." toaster goes away + cy.get(EXPAND_OVERFLOW_ITEMS).click({ scrollBehavior: 'center' }); +}; + +export const clickOnFilterIn = () => { + cy.get(FILTER_IN).first().click(); +}; + +export const clickOnFilterOut = () => { + cy.get(FILTER_OUT).first().click(); +}; + +export const clickOnAddToTimeline = () => { + cy.get(ADD_TO_TIMELINE).first().click(); +}; + +export const clickOnShowTopN = () => { + cy.get(SHOW_TOP_FIELD).first().click(); +}; + +export const clickOnCopyValue = () => { + cy.get(COPY).first().invoke('focus').click({ force: true }); +}; diff --git a/x-pack/plugins/security_solution/cypress/tasks/timeline.ts b/x-pack/plugins/security_solution/cypress/tasks/timeline.ts index 03b931bc74d77..b953852b32282 100644 --- a/x-pack/plugins/security_solution/cypress/tasks/timeline.ts +++ b/x-pack/plugins/security_solution/cypress/tasks/timeline.ts @@ -397,3 +397,15 @@ export const expandEventAction = () => { }); cy.get(TIMELINE_COLLAPSED_ITEMS_BTN).click(); }; + +export const setKibanaTimezoneToUTC = () => + cy + .request({ + method: 'POST', + url: 'api/kibana/settings', + body: { changes: { 'dateFormat:tz': 'UTC' } }, + headers: { 'kbn-xsrf': 'set-kibana-timezone-utc' }, + }) + .then(() => { + cy.reload(); + }); diff --git a/x-pack/plugins/security_solution/cypress/tasks/timelines.ts b/x-pack/plugins/security_solution/cypress/tasks/timelines.ts index 07c752a191968..e8e04ccc04a23 100644 --- a/x-pack/plugins/security_solution/cypress/tasks/timelines.ts +++ b/x-pack/plugins/security_solution/cypress/tasks/timelines.ts @@ -34,6 +34,7 @@ export const importTimeline = (timeline: string) => { cy.get(IMPORT_TIMELINE_BTN).click(); cy.get(INPUT_FILE).should('exist'); cy.get(INPUT_FILE).trigger('click', { force: true }).attachFile(timeline).trigger('change'); + cy.get(IMPORT_BTN).should('have.length', 9); cy.get(IMPORT_BTN).eq(IMPORT_BTN_POSITION).click({ force: true }); cy.get(INPUT_FILE).should('not.exist'); }; diff --git a/x-pack/plugins/security_solution/cypress/upgrade_integration/custom_query_rule.spec.ts b/x-pack/plugins/security_solution/cypress/upgrade_integration/custom_query_rule.spec.ts index 1af7a3f9bed03..a7ef96fcd68b6 100644 --- a/x-pack/plugins/security_solution/cypress/upgrade_integration/custom_query_rule.spec.ts +++ b/x-pack/plugins/security_solution/cypress/upgrade_integration/custom_query_rule.spec.ts @@ -49,12 +49,12 @@ const rule = { customQuery: '*:*', name: 'Custom query rule for upgrade', description: 'My description', - index: ['auditbeat-*'], + index: ['auditbeat-custom*'], severity: 'Low', riskScore: '7', timelineTemplate: 'none', - runsEvery: '10s', - lookBack: '179999990s', + runsEvery: '24h', + lookBack: '49976h', timeline: 'None', }; diff --git a/x-pack/plugins/security_solution/cypress/upgrade_integration/import_timeline.spec.ts b/x-pack/plugins/security_solution/cypress/upgrade_integration/import_timeline.spec.ts index cc8499bbf224c..7816bcf4049a4 100644 --- a/x-pack/plugins/security_solution/cypress/upgrade_integration/import_timeline.spec.ts +++ b/x-pack/plugins/security_solution/cypress/upgrade_integration/import_timeline.spec.ts @@ -17,7 +17,6 @@ import { NOTE_DESCRIPTION, NOTE_PREVIEW, NOTES_TAB_BUTTON, - PINNED_EVENT_TABLE_CELL, PINNED_TAB_BUTTON, PROCESS_KPI, QUERY_EVENT_TABLE_CELL, @@ -44,7 +43,7 @@ import { deleteTimeline, goToCorrelationTab, goToNotesTab, - goToPinnedTab, + setKibanaTimezoneToUTC, } from '../tasks/timeline'; import { expandNotes, importTimeline, openTimeline } from '../tasks/timelines'; @@ -54,9 +53,9 @@ const timeline = '7_15_timeline.ndjson'; const username = 'elastic'; const timelineDetails = { - dateStart: 'Oct 11, 2020 @ 00:00:00.000', - dateEnd: 'Oct 11, 2030 @ 17:13:15.851', - queryTab: 'Query2', + dateStart: 'Oct 10, 2020 @ 22:00:00.000', + dateEnd: 'Oct 11, 2030 @ 15:13:15.851', + queryTab: 'Query4', correlationTab: 'Correlation', analyzerTab: 'Analyzer', notesTab: 'Notes2', @@ -64,7 +63,6 @@ const timelineDetails = { }; const detectionAlert = { - timestamp: 'Nov 17, 2021 @ 09:36:25.499', message: '—', eventCategory: 'file', eventAction: 'initial_scan', @@ -75,7 +73,7 @@ const detectionAlert = { }; const event = { - timestamp: 'Nov 4, 2021 @ 11:09:29.438', + timestamp: 'Nov 4, 2021 @ 10:09:29.438', message: '—', eventCategory: 'file', eventAction: 'initial_scan', @@ -89,6 +87,7 @@ describe('Import timeline after upgrade', () => { before(() => { loginAndWaitForPageWithoutDateRange(TIMELINES_URL); importTimeline(timeline); + setKibanaTimezoneToUTC(); }); after(() => { @@ -149,7 +148,6 @@ describe('Import timeline after upgrade', () => { cy.get(NOTES_TAB_BUTTON).should('have.text', timelineDetails.notesTab); cy.get(PINNED_TAB_BUTTON).should('have.text', timelineDetails.pinnedTab); - cy.get(QUERY_EVENT_TABLE_CELL).eq(0).should('contain', detectionAlert.timestamp); cy.get(QUERY_EVENT_TABLE_CELL).eq(1).should('contain', detectionAlert.message); cy.get(QUERY_EVENT_TABLE_CELL).eq(2).should('contain', detectionAlert.eventCategory); cy.get(QUERY_EVENT_TABLE_CELL).eq(3).should('contain', detectionAlert.eventAction); @@ -192,17 +190,4 @@ describe('Import timeline after upgrade', () => { cy.get(NOTE_PREVIEW).last().invoke('text').should('match', noteRegex); }); }); - - it('Displays the correct timeline details inside the pinned tab', () => { - goToPinnedTab(); - - cy.get(PINNED_EVENT_TABLE_CELL).eq(0).should('contain', detectionAlert.timestamp); - cy.get(PINNED_EVENT_TABLE_CELL).eq(1).should('contain', detectionAlert.message); - cy.get(PINNED_EVENT_TABLE_CELL).eq(2).should('contain', detectionAlert.eventCategory); - cy.get(PINNED_EVENT_TABLE_CELL).eq(3).should('contain', detectionAlert.eventAction); - cy.get(PINNED_EVENT_TABLE_CELL).eq(4).should('contain', detectionAlert.hostName); - cy.get(PINNED_EVENT_TABLE_CELL).eq(5).should('contain', detectionAlert.sourceIp); - cy.get(PINNED_EVENT_TABLE_CELL).eq(6).should('contain', detectionAlert.destinationIp); - cy.get(PINNED_EVENT_TABLE_CELL).eq(7).should('contain', detectionAlert.userName); - }); }); diff --git a/x-pack/plugins/security_solution/public/common/components/charts/barchart.tsx b/x-pack/plugins/security_solution/public/common/components/charts/barchart.tsx index b60382481e9d6..a2bc3a2c0456a 100644 --- a/x-pack/plugins/security_solution/public/common/components/charts/barchart.tsx +++ b/x-pack/plugins/security_solution/public/common/components/charts/barchart.tsx @@ -8,7 +8,7 @@ import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import React, { useMemo } from 'react'; import { Chart, BarSeries, Axis, Position, ScaleType, Settings } from '@elastic/charts'; -import { getOr, get, isNumber, isEmpty } from 'lodash/fp'; +import { getOr, get, isNumber } from 'lodash/fp'; import deepmerge from 'deepmerge'; import uuid from 'uuid'; import styled from 'styled-components'; @@ -18,6 +18,7 @@ import { escapeDataProviderId } from '../drag_and_drop/helpers'; import { useTimeZone } from '../../lib/kibana'; import { defaultLegendColors } from '../matrix_histogram/utils'; import { useThrottledResizeObserver } from '../utils'; +import { hasValueToDisplay } from '../../utils/validators'; import { EMPTY_VALUE_LABEL } from '../charts/translation'; import { ChartPlaceHolder } from './chart_place_holder'; @@ -53,7 +54,7 @@ const checkIfAnyValidSeriesExist = ( const yAccessors = ['y']; const splitSeriesAccessors = [ - (datum: ChartData) => (isEmpty(datum.g) ? EMPTY_VALUE_LABEL : datum.g), + (datum: ChartData) => (hasValueToDisplay(datum.g) ? datum.g : EMPTY_VALUE_LABEL), ]; // Bar chart rotation: https://ela.st/chart-rotations diff --git a/x-pack/plugins/security_solution/public/common/components/charts/draggable_legend_item.test.tsx b/x-pack/plugins/security_solution/public/common/components/charts/draggable_legend_item.test.tsx index 9d1dde39d8cc0..6261783a53a68 100644 --- a/x-pack/plugins/security_solution/public/common/components/charts/draggable_legend_item.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/charts/draggable_legend_item.test.tsx @@ -68,4 +68,13 @@ describe('DraggableLegendItem', () => { ); expect(wrapper.find('[data-test-subj="value-wrapper-empty"]').first().exists()).toBeTruthy(); }); + + it('does not render the empty value label when the value is a number', () => { + wrapper = mount( + + + + ); + expect(wrapper.find('[data-test-subj="value-wrapper-empty"]').first().exists()).toBeFalsy(); + }); }); diff --git a/x-pack/plugins/security_solution/public/common/components/charts/draggable_legend_item.tsx b/x-pack/plugins/security_solution/public/common/components/charts/draggable_legend_item.tsx index 3182189a52e2a..1b9085f8869cc 100644 --- a/x-pack/plugins/security_solution/public/common/components/charts/draggable_legend_item.tsx +++ b/x-pack/plugins/security_solution/public/common/components/charts/draggable_legend_item.tsx @@ -7,24 +7,28 @@ import { EuiFlexGroup, EuiFlexItem, EuiHealth, EuiText } from '@elastic/eui'; import React from 'react'; -import { isEmpty } from 'lodash/fp'; import { DefaultDraggable } from '../draggables'; import { EMPTY_VALUE_LABEL } from './translation'; +import { hasValueToDisplay } from '../../utils/validators'; export interface LegendItem { color?: string; dataProviderId: string; field: string; timelineId?: string; - value: string; + value: string | number; } /** * Renders the value or a placeholder in case the value is empty */ -const ValueWrapper = React.memo<{ value?: string | null }>(({ value }) => - isEmpty(value) ? {EMPTY_VALUE_LABEL} : <>{value} +const ValueWrapper = React.memo<{ value: LegendItem['value'] }>(({ value }) => + hasValueToDisplay(value) ? ( + <>{value} + ) : ( + {EMPTY_VALUE_LABEL} + ) ); ValueWrapper.displayName = 'ValueWrapper'; diff --git a/x-pack/plugins/security_solution/public/common/components/draggables/index.tsx b/x-pack/plugins/security_solution/public/common/components/draggables/index.tsx index 26eaec4f7a76e..c9e67e8181d28 100644 --- a/x-pack/plugins/security_solution/public/common/components/draggables/index.tsx +++ b/x-pack/plugins/security_solution/public/common/components/draggables/index.tsx @@ -24,7 +24,7 @@ export interface DefaultDraggableType { id: string; isDraggable?: boolean; field: string; - value?: string | null; + value?: string | number | null; name?: string | null; queryValue?: string | null; children?: React.ReactNode; @@ -63,7 +63,7 @@ export const Content = React.memo<{ field: string; tooltipContent?: React.ReactNode; tooltipPosition?: ToolTipPositions; - value?: string | null; + value?: string | number | null; }>(({ children, field, tooltipContent, tooltipPosition, value }) => !tooltipContentIsExplicitlyNull(tooltipContent) ? ( ( and: [], enabled: true, id: escapeDataProviderId(id), - name: name ? name : value ?? '', + name: name ? name : value?.toString() ?? '', excluded: false, kqlQuery: '', queryMatch: { diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/__snapshots__/alert_summary_view.test.tsx.snap b/x-pack/plugins/security_solution/public/common/components/event_details/__snapshots__/alert_summary_view.test.tsx.snap index 9cd7723e8c205..f45094a62e0fd 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/__snapshots__/alert_summary_view.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/common/components/event_details/__snapshots__/alert_summary_view.test.tsx.snap @@ -25,12 +25,13 @@ exports[`AlertSummaryView Behavior event code renders additional summary rows 1` } .c2 { - min-width: 138px; - padding: 0 8px; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; + min-width: 138px; + padding: 0 8px; + position: relative; } .c2:focus-within .timelines__hoverActionButton, @@ -717,12 +718,13 @@ exports[`AlertSummaryView Memory event code renders additional summary rows 1`] } .c2 { - min-width: 138px; - padding: 0 8px; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; + min-width: 138px; + padding: 0 8px; + position: relative; } .c2:focus-within .timelines__hoverActionButton, diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx index 37fbab924afa3..87605a7b4ad18 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx +++ b/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx @@ -32,11 +32,26 @@ export interface ThreatSummaryDescription { } const EnrichmentFieldProvider = styled.span` - margin-left: ${({ theme }) => theme.eui.paddingSizes.xs}; white-space: nowrap; font-style: italic; `; +export const StyledEuiFlexGroup = styled(EuiFlexGroup)` + .hoverActions-active { + .timelines__hoverActionButton, + .securitySolution__hoverActionButton { + opacity: 1; + } + } + + &:hover { + .timelines__hoverActionButton, + .securitySolution__hoverActionButton { + opacity: 1; + } + } +`; + const EnrichmentDescription: React.FC = ({ browserField, data, @@ -50,9 +65,9 @@ const EnrichmentDescription: React.FC = ({ if (!data || !value) return null; const key = `alert-details-value-formatted-field-value-${timelineId}-${eventId}-${data.field}-${value}-${index}-${provider}`; return ( - + -
    +
    = ({ isDraggable={isDraggable} isObjectArray={data.isObjectArray} value={value} + truncate={false} /> {provider && ( + {' '} {i18n.PROVIDER_PREPOSITION} {provider} )} @@ -82,7 +99,7 @@ const EnrichmentDescription: React.FC = ({ /> )} - + ); }; diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/threat_summary_view.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/threat_summary_view.tsx index bdd342934eeb6..dbedc9a7527b8 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/threat_summary_view.tsx +++ b/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/threat_summary_view.tsx @@ -80,7 +80,7 @@ export const EnrichedDataRow: React.FC<{ field: string | undefined; value: React - {value} + {value} ); diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/table/action_cell.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/table/action_cell.tsx index 74d46cf3431dc..8e5a0fdb05d4d 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/table/action_cell.tsx +++ b/x-pack/plugins/security_solution/public/common/components/event_details/table/action_cell.tsx @@ -16,6 +16,7 @@ import { TimelineContext } from '../../../../../../timelines/public'; interface Props { contextId: string; data: FieldsData | EventFieldsData; + applyWidthAndPadding?: boolean; disabled?: boolean; eventId: string; fieldFromBrowserField?: BrowserField; @@ -29,6 +30,7 @@ interface Props { export const ActionCell: React.FC = React.memo( ({ + applyWidthAndPadding = true, contextId, data, eventId, @@ -68,6 +70,7 @@ export const ActionCell: React.FC = React.memo( return ( { const wrapper = mount( { const wrapper = mount( { const wrapper = mount( { const wrapper = mount( { expect(mockOnDelete).toHaveBeenCalledTimes(1); }); - test('it renders edit button disabled if "disableDelete" is "true"', () => { + test('it does not render edit button if "disableActions" is "true"', () => { const wrapper = mount( ); - const editBtn = wrapper.find('[data-test-subj="exceptionsViewerEditBtn"] button').at(0); + const editBtns = wrapper.find('[data-test-subj="exceptionsViewerEditBtn"] button'); - expect(editBtn.prop('disabled')).toBeTruthy(); + expect(editBtns).toHaveLength(0); }); - test('it renders delete button in loading state if "disableDelete" is "true"', () => { + test('it does not render delete button if "disableActions" is "true"', () => { const wrapper = mount( ); - const deleteBtn = wrapper.find('[data-test-subj="exceptionsViewerDeleteBtn"] button').at(0); + const deleteBtns = wrapper.find('[data-test-subj="exceptionsViewerDeleteBtn"] button').at(0); - expect(deleteBtn.prop('disabled')).toBeTruthy(); - expect(deleteBtn.find('.euiLoadingSpinner')).toBeTruthy(); + expect(deleteBtns).toHaveLength(0); }); test('it renders nested entry', () => { @@ -126,7 +125,7 @@ describe('ExceptionEntries', () => { const wrapper = mount( { const wrapper = mount( void; onEdit: () => void; } const ExceptionEntriesComponent = ({ entries, - disableDelete, + disableActions, onDelete, onEdit, }: ExceptionEntriesComponentProps): JSX.Element => { @@ -181,32 +181,32 @@ const ExceptionEntriesComponent = ({ - - - - - {i18n.EDIT} - - - - - {i18n.REMOVE} - - - - + {!disableActions && ( + + + + + {i18n.EDIT} + + + + + {i18n.REMOVE} + + + + + )} ); diff --git a/x-pack/plugins/security_solution/public/common/components/exceptions/viewer/exception_item/index.stories.tsx b/x-pack/plugins/security_solution/public/common/components/exceptions/viewer/exception_item/index.stories.tsx index f8697b2f3db79..898a9e3ab0388 100644 --- a/x-pack/plugins/security_solution/public/common/components/exceptions/viewer/exception_item/index.stories.tsx +++ b/x-pack/plugins/security_solution/public/common/components/exceptions/viewer/exception_item/index.stories.tsx @@ -35,6 +35,7 @@ storiesOf('Components/ExceptionItem', module) return ( ); + }) + .add('with actions disabled', () => { + const payload = getExceptionListItemSchemaMock(); + payload.description = ''; + payload.comments = getCommentsArrayMock(); + payload.entries = [ + { + field: 'actingProcess.file.signer', + type: 'match', + operator: 'included', + value: 'Elastic, N.V.', + }, + ]; + + return ( + + ); }); diff --git a/x-pack/plugins/security_solution/public/common/components/exceptions/viewer/exception_item/index.test.tsx b/x-pack/plugins/security_solution/public/common/components/exceptions/viewer/exception_item/index.test.tsx index 7c55c0de68c64..983d837267795 100644 --- a/x-pack/plugins/security_solution/public/common/components/exceptions/viewer/exception_item/index.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/exceptions/viewer/exception_item/index.test.tsx @@ -32,6 +32,7 @@ describe('ExceptionItem', () => { const wrapper = mount( { const wrapper = mount( { ); }); + it('it does not render edit or delete action buttons when "disableActions" is "true"', () => { + const mockOnEditException = jest.fn(); + const exceptionItem = getExceptionListItemSchemaMock(); + + const wrapper = mount( + + + + ); + + const editBtn = wrapper.find('[data-test-subj="exceptionsViewerEditBtn"] button'); + const deleteBtn = wrapper.find('[data-test-subj="exceptionsViewerDeleteBtn"] button'); + + expect(editBtn).toHaveLength(0); + expect(deleteBtn).toHaveLength(0); + }); + it('it invokes "onEditException" when edit button clicked', () => { const mockOnEditException = jest.fn(); const exceptionItem = getExceptionListItemSchemaMock(); @@ -77,6 +103,7 @@ describe('ExceptionItem', () => { const wrapper = mount( { const wrapper = mount( { ); - const editBtn = wrapper.find('[data-test-subj="exceptionsViewerDeleteBtn"] button').at(0); - editBtn.simulate('click'); + const deleteBtn = wrapper.find('[data-test-subj="exceptionsViewerDeleteBtn"] button').at(0); + deleteBtn.simulate('click'); expect(mockOnDeleteException).toHaveBeenCalledWith({ id: '1', @@ -124,6 +152,7 @@ describe('ExceptionItem', () => { const wrapper = mount( { const wrapper = mount( void; showName?: boolean; showModified?: boolean; + disableActions: boolean; 'data-test-subj'?: string; } const ExceptionItemComponent = ({ + disableActions, loadingItemIds, exceptionItem, commentsAccordionId, @@ -78,7 +80,7 @@ const ExceptionItemComponent = ({ return getFormattedComments(exceptionItem.comments); }, [exceptionItem.comments]); - const disableDelete = useMemo((): boolean => { + const disableItemActions = useMemo((): boolean => { const foundItems = loadingItemIds.filter(({ id }) => id === exceptionItem.id); return foundItems.length > 0; }, [loadingItemIds, exceptionItem.id]); @@ -96,7 +98,7 @@ const ExceptionItemComponent = ({ showName={showName} /> { ).toBeTruthy(); }); + // This occurs if user does not have sufficient privileges + it('it does not display add exception button if no list types available', () => { + const wrapper = mount( + + ); + + expect(wrapper.find('[data-test-subj="exceptionsHeaderAddExceptionBtn"]').exists()).toBeFalsy(); + }); + it('it displays toggles and add exception popover when more than one list type available', () => { const wrapper = mount( - {supportedListTypes.length < 2 && ( + {supportedListTypes.length === 1 && ( { showEmpty showNoResults={false} isInitLoading={false} + disableActions={false} exceptions={[]} loadingItemIds={[]} commentsAccordionId="comments-accordion-id" @@ -54,6 +55,7 @@ describe('ExceptionsViewerItems', () => { showEmpty={false} showNoResults isInitLoading={false} + disableActions={false} exceptions={[]} loadingItemIds={[]} commentsAccordionId="comments-accordion-id" @@ -78,6 +80,7 @@ describe('ExceptionsViewerItems', () => { showEmpty={false} showNoResults={false} isInitLoading={false} + disableActions={false} exceptions={[getExceptionListItemSchemaMock()]} loadingItemIds={[]} commentsAccordionId="comments-accordion-id" @@ -98,6 +101,7 @@ describe('ExceptionsViewerItems', () => { showEmpty={false} showNoResults={false} isInitLoading={true} + disableActions={false} exceptions={[]} loadingItemIds={[]} commentsAccordionId="comments-accordion-id" @@ -122,6 +126,7 @@ describe('ExceptionsViewerItems', () => { showEmpty={false} showNoResults={false} isInitLoading={false} + disableActions={false} exceptions={[exception1, exception2]} loadingItemIds={[]} commentsAccordionId="comments-accordion-id" @@ -147,6 +152,7 @@ describe('ExceptionsViewerItems', () => { showEmpty={false} showNoResults={false} isInitLoading={false} + disableActions={false} exceptions={[exception1, exception2]} loadingItemIds={[]} commentsAccordionId="comments-accordion-id" @@ -172,6 +178,7 @@ describe('ExceptionsViewerItems', () => { showEmpty={false} showNoResults={false} isInitLoading={false} + disableActions={false} exceptions={[getExceptionListItemSchemaMock()]} loadingItemIds={[]} commentsAccordionId="comments-accordion-id" diff --git a/x-pack/plugins/security_solution/public/common/components/exceptions/viewer/exceptions_viewer_items.tsx b/x-pack/plugins/security_solution/public/common/components/exceptions/viewer/exceptions_viewer_items.tsx index 64fb032b0425c..5331b2376fd9f 100644 --- a/x-pack/plugins/security_solution/public/common/components/exceptions/viewer/exceptions_viewer_items.tsx +++ b/x-pack/plugins/security_solution/public/common/components/exceptions/viewer/exceptions_viewer_items.tsx @@ -36,6 +36,7 @@ interface ExceptionsViewerItemsProps { showEmpty: boolean; showNoResults: boolean; isInitLoading: boolean; + disableActions: boolean; exceptions: ExceptionListItemSchema[]; loadingItemIds: ExceptionListItemIdentifiers[]; commentsAccordionId: string; @@ -52,6 +53,7 @@ const ExceptionsViewerItemsComponent: React.FC = ({ commentsAccordionId, onDeleteException, onEditExceptionItem, + disableActions, }): JSX.Element => ( {showEmpty || showNoResults || isInitLoading ? ( @@ -93,6 +95,7 @@ const ExceptionsViewerItemsComponent: React.FC = ({ )} ([]); + + const [{ canUserCRUD, hasIndexWrite }] = useUserData(); + + useEffect((): void => { + if (!canUserCRUD || !hasIndexWrite) { + setSupportedListTypes([]); + } else { + setSupportedListTypes(availableListTypes); + } + }, [availableListTypes, canUserCRUD, hasIndexWrite]); const setExceptions = useCallback( ({ @@ -356,7 +368,7 @@ const ExceptionsViewerComponent = ({ ` - min-width: ${({ $hideTopN }) => `${$hideTopN ? '112px' : '138px'}`}; - padding: ${(props) => `0 ${props.theme.eui.paddingSizes.s}`}; display: flex; ${(props) => @@ -82,8 +80,15 @@ const StyledHoverActionsContainer = styled.div<{ : ''} `; +const StyledHoverActionsContainerWithPaddingsAndMinWidth = styled(StyledHoverActionsContainer)` + min-width: ${({ $hideTopN }) => `${$hideTopN ? '112px' : '138px'}`}; + padding: ${(props) => `0 ${props.theme.eui.paddingSizes.s}`}; + position: relative; +`; + interface Props { additionalContent?: React.ReactNode; + applyWidthAndPadding?: boolean; closeTopN?: () => void; closePopOver?: () => void; dataProvider?: DataProvider | DataProvider[]; @@ -128,6 +133,7 @@ export const HoverActions: React.FC = React.memo( dataType, draggableId, enableOverflowButton = false, + applyWidthAndPadding = true, field, goGetTimelineId, isObjectArray, @@ -227,6 +233,10 @@ export const HoverActions: React.FC = React.memo( values, }); + const Container = applyWidthAndPadding + ? StyledHoverActionsContainerWithPaddingsAndMinWidth + : StyledHoverActionsContainer; + return ( = React.memo( showTopN, })} > - = React.memo( {additionalContent != null && {additionalContent}} {enableOverflowButton && !isCaseView ? overflowActionItems : allActionItems} - + ); } diff --git a/x-pack/plugins/security_solution/public/common/components/news_feed/translations.ts b/x-pack/plugins/security_solution/public/common/components/news_feed/translations.ts index 6b4c342b57b29..e21f6165f3763 100644 --- a/x-pack/plugins/security_solution/public/common/components/news_feed/translations.ts +++ b/x-pack/plugins/security_solution/public/common/components/news_feed/translations.ts @@ -22,6 +22,6 @@ export const NO_NEWS_MESSAGE_ADMIN = i18n.translate( export const ADVANCED_SETTINGS_LINK_TITLE = i18n.translate( 'xpack.securitySolution.newsFeed.advancedSettingsLinkTitle', { - defaultMessage: 'SIEM advanced settings', + defaultMessage: 'Security Solution advanced settings', } ); diff --git a/x-pack/plugins/security_solution/public/common/components/tables/__snapshots__/helpers.test.tsx.snap b/x-pack/plugins/security_solution/public/common/components/tables/__snapshots__/helpers.test.tsx.snap index 6f55d92aa9875..009482e043f5e 100644 --- a/x-pack/plugins/security_solution/public/common/components/tables/__snapshots__/helpers.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/common/components/tables/__snapshots__/helpers.test.tsx.snap @@ -1,5 +1,64 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`Table Helpers #RowItemOverflow it returns correctly against snapshot 1`] = ` + + + + + + + + +

    + + 1 + + + +

    +
    +
    +
    +`; + exports[`Table Helpers #getRowItemDraggable it returns correctly against snapshot 1`] = ` + `; -exports[`Table Helpers #getRowItemOverflow it returns correctly against snapshot 1`] = ` -
    - - -
      -
    • - item2 -
    • -
    -

    - - 1 - - - -

    -
    -
    -
    -`; - exports[`Table Helpers OverflowField it returns correctly against snapshot 1`] = ` This string is exactly fifty-one chars in length!! diff --git a/x-pack/plugins/security_solution/public/common/components/tables/helpers.test.tsx b/x-pack/plugins/security_solution/public/common/components/tables/helpers.test.tsx index 10e4538c802ad..bc397292af4ec 100644 --- a/x-pack/plugins/security_solution/public/common/components/tables/helpers.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/tables/helpers.test.tsx @@ -11,13 +11,15 @@ import { shallow } from 'enzyme'; import '../../mock/match_media'; import { getRowItemDraggables, - getRowItemOverflow, + RowItemOverflowComponent, getRowItemDraggable, OverflowFieldComponent, + OverflowItemComponent, } from './helpers'; import { TestProviders } from '../../mock'; import { getEmptyValue } from '../empty_value'; import { useMountAppended } from '../../utils/use_mount_appended'; +import { IS_OPERATOR, QueryOperator } from '../../../../common/types'; jest.mock('../../lib/kibana'); @@ -181,22 +183,58 @@ describe('Table Helpers', () => { }); }); - describe('#getRowItemOverflow', () => { + describe('#RowItemOverflow', () => { test('it returns correctly against snapshot', () => { - const rowItemOverflow = getRowItemOverflow(items, 'attrName', 1, 1); - const wrapper = shallow(
    {rowItemOverflow}
    ); + const wrapper = shallow( + + ); expect(wrapper).toMatchSnapshot(); }); test('it does not show "more not shown" when maxOverflowItems are not exceeded', () => { - const rowItemOverflow = getRowItemOverflow(items, 'attrName', 1, 5); - const wrapper = shallow(
    {rowItemOverflow}
    ); + const wrapper = shallow( + + ); expect(wrapper.find('[data-test-subj="popover-additional-overflow"]').length).toBe(0); }); + test('it shows correct number of overflow items when maxOverflowItems are not exceeded', () => { + const wrapper = shallow( + + ); + expect( + wrapper.find('[data-test-subj="overflow-items"]').prop('children')?.length + ).toEqual(2); + }); + test('it shows "more not shown" when maxOverflowItems are exceeded', () => { - const rowItemOverflow = getRowItemOverflow(items, 'attrName', 1, 1); - const wrapper = shallow(
    {rowItemOverflow}
    ); + const wrapper = shallow( + + ); expect(wrapper.find('[data-test-subj="popover-additional-overflow"]').length).toBe(1); }); }); @@ -222,4 +260,34 @@ describe('Table Helpers', () => { expect(wrapper.text()).toBe('This string is exact'); }); }); + + describe('OverflowItemComponent', () => { + const id = 'mock id'; + const rowItem = 'endpoint-dev-es.app.elstc.co'; + const field = 'destination.ip'; + const dataProvider = { + and: [], + enabled: true, + id, + name: rowItem, + excluded: false, + kqlQuery: '', + queryMatch: { + field, + value: rowItem, + displayValue: rowItem, + operator: IS_OPERATOR as QueryOperator, + }, + }; + const props = { + dataProvider, + field, + rowItem, + }; + + test('Renders Hover Actions', () => { + const wrapper = shallow(); + expect(wrapper.find('[data-test-subj="hover-actions"]').exists()).toBeTruthy(); + }); + }); }); diff --git a/x-pack/plugins/security_solution/public/common/components/tables/helpers.tsx b/x-pack/plugins/security_solution/public/common/components/tables/helpers.tsx index 74e9d8ce4bffd..1acce7c3823f0 100644 --- a/x-pack/plugins/security_solution/public/common/components/tables/helpers.tsx +++ b/x-pack/plugins/security_solution/public/common/components/tables/helpers.tsx @@ -4,10 +4,17 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ - -import { EuiLink, EuiPopover, EuiToolTip, EuiText, EuiTextColor } from '@elastic/eui'; +import React, { useCallback, useContext, useMemo, useState } from 'react'; import { FormattedMessage } from '@kbn/i18n/react'; -import React, { useState } from 'react'; +import { + EuiLink, + EuiPopover, + EuiToolTip, + EuiText, + EuiTextColor, + EuiFlexGroup, + EuiFlexItem, +} from '@elastic/eui'; import styled from 'styled-components'; import { DragEffects, DraggableWrapper } from '../drag_and_drop/draggable_wrapper'; @@ -16,18 +23,15 @@ import { defaultToEmptyTag, getEmptyTagValue } from '../empty_value'; import { MoreRowItems } from '../page'; import { IS_OPERATOR } from '../../../timelines/components/timeline/data_providers/data_provider'; import { Provider } from '../../../timelines/components/timeline/data_providers/provider'; +import { HoverActions } from '../hover_actions'; +import { DataProvider, QueryOperator } from '../../../../common/types'; +import { TimelineContext } from '../../../../../timelines/public'; const Subtext = styled.div` font-size: ${(props) => props.theme.eui.euiFontSizeXS}; `; -export const getRowItemDraggable = ({ - rowItem, - attrName, - idPrefix, - render, - dragDisplayValue, -}: { +interface GetRowItemDraggableParams { rowItem: string | null | undefined; attrName: string; idPrefix: string; @@ -35,7 +39,15 @@ export const getRowItemDraggable = ({ displayCount?: number; dragDisplayValue?: string; maxOverflow?: number; -}): JSX.Element => { +} + +export const getRowItemDraggable = ({ + rowItem, + attrName, + idPrefix, + render, + dragDisplayValue, +}: GetRowItemDraggableParams): JSX.Element => { if (rowItem != null) { const id = escapeDataProviderId(`${idPrefix}-${attrName}-${rowItem}`); return ( @@ -71,6 +83,15 @@ export const getRowItemDraggable = ({ } }; +interface GetRowItemDraggablesParams { + rowItems: string[] | null | undefined; + attrName: string; + idPrefix: string; + render?: (item: string) => JSX.Element; + displayCount?: number; + dragDisplayValue?: string; + maxOverflow?: number; +} export const getRowItemDraggables = ({ rowItems, attrName, @@ -79,15 +100,7 @@ export const getRowItemDraggables = ({ dragDisplayValue, displayCount = 5, maxOverflow = 5, -}: { - rowItems: string[] | null | undefined; - attrName: string; - idPrefix: string; - render?: (item: string) => JSX.Element; - displayCount?: number; - dragDisplayValue?: string; - maxOverflow?: number; -}): JSX.Element => { +}: GetRowItemDraggablesParams): JSX.Element => { if (rowItems != null && rowItems.length > 0) { const draggables = rowItems.slice(0, displayCount).map((rowItem, index) => { const id = escapeDataProviderId(`${idPrefix}-${attrName}-${rowItem}-${index}`); @@ -125,7 +138,15 @@ export const getRowItemDraggables = ({ return draggables.length > 0 ? ( <> - {draggables} {getRowItemOverflow(rowItems, idPrefix, displayCount, maxOverflow)} + {draggables}{' '} + ) : ( getEmptyTagValue() @@ -135,24 +156,121 @@ export const getRowItemDraggables = ({ } }; -export const getRowItemOverflow = ( - rowItems: string[], - idPrefix: string, +interface OverflowItemProps { + dataProvider?: DataProvider | DataProvider[] | undefined; + dragDisplayValue?: string; + field: string; + rowItem: string; +} + +export const OverflowItemComponent: React.FC = ({ + dataProvider, + dragDisplayValue, + field, + rowItem, +}) => { + const [showTopN, setShowTopN] = useState(false); + const { timelineId: timelineIdFind } = useContext(TimelineContext); + const [hoverActionsOwnFocus] = useState(false); + const toggleTopN = useCallback(() => { + setShowTopN((prevShowTopN) => { + const newShowTopN = !prevShowTopN; + return newShowTopN; + }); + }, []); + + const closeTopN = useCallback(() => { + setShowTopN(false); + }, []); + + return ( + + {defaultToEmptyTag(rowItem)} + + + + + ); +}; + +OverflowItemComponent.displayName = 'OverflowItemComponent'; +export const OverflowItem = React.memo(OverflowItemComponent); + +interface RowItemOverflowProps { + attrName: string; + dragDisplayValue?: string; + idPrefix: string; + maxOverflowItems: number; + overflowIndexStart: number; + rowItems: string[]; +} + +export const RowItemOverflowComponent: React.FC = ({ + attrName, + dragDisplayValue, + idPrefix, + maxOverflowItems = 5, overflowIndexStart = 5, - maxOverflowItems = 5 -): JSX.Element => { + rowItems, +}) => { + const overflowItems = useMemo( + () => + rowItems + .slice(overflowIndexStart, overflowIndexStart + maxOverflowItems) + .map((rowItem, index) => { + const id = escapeDataProviderId(`${idPrefix}-${attrName}-${rowItem}-${index}`); + const dataProvider = { + and: [], + enabled: true, + id, + name: rowItem, + excluded: false, + kqlQuery: '', + queryMatch: { + field: attrName, + value: rowItem, + displayValue: dragDisplayValue || rowItem, + operator: IS_OPERATOR as QueryOperator, + }, + }; + + return ( + + + + ); + }), + [attrName, dragDisplayValue, idPrefix, maxOverflowItems, overflowIndexStart, rowItems] + ); return ( <> {rowItems.length > overflowIndexStart && ( -
      - {rowItems - .slice(overflowIndexStart, overflowIndexStart + maxOverflowItems) - .map((rowItem) => ( -
    • {defaultToEmptyTag(rowItem)}
    • - ))} -
    + + {overflowItems} + {rowItems.length > overflowIndexStart + maxOverflowItems && (

    @@ -171,25 +289,37 @@ export const getRowItemOverflow = ( ); }; +RowItemOverflowComponent.displayName = 'RowItemOverflowComponent'; +export const RowItemOverflow = React.memo(RowItemOverflowComponent); -export const PopoverComponent = ({ - children, - count, - idPrefix, -}: { +interface PopoverComponentProps { children: React.ReactNode; count: number; idPrefix: string; -}) => { +} + +const PopoverComponent: React.FC = ({ children, count, idPrefix }) => { const [isOpen, setIsOpen] = useState(false); + const onButtonClick = useCallback(() => { + setIsOpen(!isOpen); + }, [isOpen]); return ( setIsOpen(!isOpen)}>{`+${count} More`}} + button={ + + + + } closePopover={() => setIsOpen(!isOpen)} id={`${idPrefix}-popover`} isOpen={isOpen} + panelClassName="withHoverActions__popover" repositionOnScroll > {children} diff --git a/x-pack/plugins/security_solution/public/common/components/top_n/helpers.test.tsx b/x-pack/plugins/security_solution/public/common/components/top_n/helpers.test.tsx index bd1a2892262a6..ffc49a0cfe36c 100644 --- a/x-pack/plugins/security_solution/public/common/components/top_n/helpers.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/top_n/helpers.test.tsx @@ -5,7 +5,155 @@ * 2.0. */ -import { allEvents, defaultOptions, getOptions, rawEvents, alertEvents } from './helpers'; +import type { Filter } from '@kbn/es-query'; + +import { TimelineId } from '../../../../common/types/timeline'; +import { + alertEvents, + allEvents, + defaultOptions, + getOptions, + getSourcererScopeName, + isDetectionsAlertsTable, + rawEvents, + removeIgnoredAlertFilters, + shouldIgnoreAlertFilters, +} from './helpers'; +import { SourcererScopeName } from '../../store/sourcerer/model'; + +/** the following `TimelineId`s are detection alert tables */ +const detectionAlertsTimelines = [TimelineId.detectionsPage, TimelineId.detectionsRulesDetailsPage]; + +/** the following `TimelineId`s are NOT detection alert tables */ +const otherTimelines = [ + TimelineId.hostsPageEvents, + TimelineId.hostsPageExternalAlerts, + TimelineId.networkPageExternalAlerts, + TimelineId.uebaPageExternalAlerts, + TimelineId.active, + TimelineId.casePage, + TimelineId.test, + TimelineId.alternateTest, +]; + +const othersWithoutActive = otherTimelines.filter((x) => x !== TimelineId.active); + +const hostNameFilter: Filter = { + meta: { + alias: null, + negate: false, + disabled: false, + type: 'phrase', + key: 'host.name', + params: { + query: 'Host-abcd', + }, + }, + query: { + match_phrase: { + 'host.name': { + query: 'Host-abcd', + }, + }, + }, +}; + +const buildingBlockTypeFilter: Filter = { + meta: { + alias: null, + negate: true, + disabled: false, + type: 'exists', + key: 'signal.rule.building_block_type', + value: 'exists', + }, + query: { + exists: { + field: 'signal.rule.building_block_type', + }, + }, +}; + +const ruleIdFilter: Filter = { + meta: { + alias: null, + negate: false, + disabled: false, + type: 'phrase', + key: 'kibana.alert.rule.rule_id', + params: { + query: '32a4aefa-80fb-4716-bc0f-3f7bb1f14929', + }, + }, + query: { + match_phrase: { + 'kibana.alert.rule.rule_id': '32a4aefa-80fb-4716-bc0f-3f7bb1f14929', + }, + }, +}; + +const ruleNameFilter: Filter = { + meta: { + alias: null, + negate: false, + disabled: false, + type: 'phrase', + key: 'kibana.alert.rule.name', + params: { + query: 'baz', + }, + }, + query: { + match_phrase: { + 'kibana.alert.rule.name': { + query: 'baz', + }, + }, + }, +}; + +const threatMappingFilter: Filter = { + meta: { + alias: null, + negate: true, + disabled: false, + type: 'exists', + key: 'kibana.alert.rule.threat_mapping', + value: 'exists', + }, + query: { + exists: { + field: 'kibana.alert.rule.threat_mapping', + }, + }, +}; + +const workflowStatusFilter: Filter = { + meta: { + alias: null, + negate: false, + disabled: false, + type: 'phrase', + key: 'kibana.alert.workflow_status', + params: { + query: 'open', + }, + }, + query: { + term: { + 'kibana.alert.workflow_status': 'open', + }, + }, +}; + +const allFilters = [ + hostNameFilter, + buildingBlockTypeFilter, + ruleIdFilter, + ruleNameFilter, + threatMappingFilter, + workflowStatusFilter, +]; describe('getOptions', () => { test(`it returns the default options when 'activeTimelineEventType' is undefined`, () => { @@ -24,3 +172,123 @@ describe('getOptions', () => { expect(getOptions('alert')).toEqual(alertEvents); }); }); + +describe('isDetectionsAlertsTable', () => { + detectionAlertsTimelines.forEach((timelineId) => + test(`it returns true for detections alerts table '${timelineId}'`, () => { + expect(isDetectionsAlertsTable(timelineId)).toEqual(true); + }) + ); + + otherTimelines.forEach((timelineId) => + test(`it returns false for (NON alert table) timeline '${timelineId}'`, () => { + expect(isDetectionsAlertsTable(timelineId)).toEqual(false); + }) + ); +}); + +describe('shouldIgnoreAlertFilters', () => { + detectionAlertsTimelines.forEach((timelineId) => { + test(`it returns true when the view is 'raw' for detections alerts table '${timelineId}'`, () => { + const view = 'raw'; + expect(shouldIgnoreAlertFilters({ timelineId, view })).toEqual(true); + }); + + test(`it returns false when the view is NOT 'raw' for detections alerts table '${timelineId}'`, () => { + const view = 'alert'; // the default selection for detection alert tables + expect(shouldIgnoreAlertFilters({ timelineId, view })).toEqual(false); + }); + }); + + otherTimelines.forEach((timelineId) => { + test(`it returns false when the view is 'raw' for (NON alert table) timeline'${timelineId}'`, () => { + const view = 'raw'; + expect(shouldIgnoreAlertFilters({ timelineId, view })).toEqual(false); + }); + + test(`it returns false when the view is NOT 'raw' for (NON alert table) timeline '${timelineId}'`, () => { + const view = 'alert'; + expect(shouldIgnoreAlertFilters({ timelineId, view })).toEqual(false); + }); + }); +}); + +describe('removeIgnoredAlertFilters', () => { + detectionAlertsTimelines.forEach((timelineId) => { + test(`it removes the ignored alert filters when the view is 'raw' for detections alerts table '${timelineId}'`, () => { + const view = 'raw'; + expect(removeIgnoredAlertFilters({ filters: allFilters, timelineId, view })).toEqual([ + hostNameFilter, + ]); + }); + + test(`it does NOT remove any filters when the view is NOT 'raw' for detections alerts table '${timelineId}'`, () => { + const view = 'alert'; + expect(removeIgnoredAlertFilters({ filters: allFilters, timelineId, view })).toEqual( + allFilters + ); + }); + }); + + otherTimelines.forEach((timelineId) => { + test(`it does NOT remove any filters when the view is 'raw' for (NON alert table) '${timelineId}'`, () => { + const view = 'alert'; + expect(removeIgnoredAlertFilters({ filters: allFilters, timelineId, view })).toEqual( + allFilters + ); + }); + + test(`it does NOT remove any filters when the view is NOT 'raw' for (NON alert table '${timelineId}'`, () => { + const view = 'alert'; + expect(removeIgnoredAlertFilters({ filters: allFilters, timelineId, view })).toEqual( + allFilters + ); + }); + }); +}); + +describe('getSourcererScopeName', () => { + detectionAlertsTimelines.forEach((timelineId) => { + test(`it returns the 'default' SourcererScopeName when the view is 'raw' for detections alerts table '${timelineId}'`, () => { + const view = 'raw'; + expect(getSourcererScopeName({ timelineId, view })).toEqual(SourcererScopeName.default); + }); + + test(`it returns the 'detections' SourcererScopeName when the view is NOT 'raw' for detections alerts table '${timelineId}'`, () => { + const view = 'alert'; + expect(getSourcererScopeName({ timelineId, view })).toEqual(SourcererScopeName.detections); + }); + }); + + test(`it returns the 'default' SourcererScopeName when timelineId is undefined'`, () => { + const timelineId = undefined; + const view = 'raw'; + expect(getSourcererScopeName({ timelineId, view })).toEqual(SourcererScopeName.default); + }); + + test(`it returns the 'timeline' SourcererScopeName when the view is 'raw' for the active timeline '${TimelineId.active}'`, () => { + const view = 'raw'; + expect(getSourcererScopeName({ timelineId: TimelineId.active, view })).toEqual( + SourcererScopeName.timeline + ); + }); + + test(`it returns the 'timeline' SourcererScopeName when the view is NOT 'raw' for the active timeline '${TimelineId.active}'`, () => { + const view = 'all'; + expect(getSourcererScopeName({ timelineId: TimelineId.active, view })).toEqual( + SourcererScopeName.timeline + ); + }); + + othersWithoutActive.forEach((timelineId) => { + test(`it returns the 'default' SourcererScopeName when the view is 'raw' for (NON alert table) timeline '${timelineId}'`, () => { + const view = 'raw'; + expect(getSourcererScopeName({ timelineId, view })).toEqual(SourcererScopeName.default); + }); + + test(`it returns the 'default' SourcererScopeName when the view is NOT 'raw' for detections alerts table '${timelineId}'`, () => { + const view = 'alert'; + expect(getSourcererScopeName({ timelineId, view })).toEqual(SourcererScopeName.default); + }); + }); +}); diff --git a/x-pack/plugins/security_solution/public/common/components/top_n/helpers.ts b/x-pack/plugins/security_solution/public/common/components/top_n/helpers.ts index c7a9310308261..eb2ddf2aa14ef 100644 --- a/x-pack/plugins/security_solution/public/common/components/top_n/helpers.ts +++ b/x-pack/plugins/security_solution/public/common/components/top_n/helpers.ts @@ -5,7 +5,54 @@ * 2.0. */ -import { TimelineEventsType } from '../../../../common/types/timeline'; +import type { Filter } from '@kbn/es-query'; +import { + ALERT_ACTION_GROUP, + ALERT_DURATION, + ALERT_END, + ALERT_EVALUATION_THRESHOLD, + ALERT_EVALUATION_VALUE, + ALERT_INSTANCE_ID, + ALERT_NAMESPACE, + ALERT_REASON, + ALERT_RISK_SCORE, + ALERT_RULE_AUTHOR, + ALERT_RULE_CATEGORY, + ALERT_RULE_CONSUMER, + ALERT_RULE_CREATED_AT, + ALERT_RULE_CREATED_BY, + ALERT_RULE_DESCRIPTION, + ALERT_RULE_ENABLED, + ALERT_RULE_FROM, + ALERT_RULE_INTERVAL, + ALERT_RULE_LICENSE, + ALERT_RULE_NAME, + ALERT_RULE_NAMESPACE, + ALERT_RULE_NOTE, + ALERT_RULE_PRODUCER, + ALERT_RULE_REFERENCES, + ALERT_RULE_RULE_ID, + ALERT_RULE_RULE_NAME_OVERRIDE, + ALERT_RULE_TAGS, + ALERT_RULE_TO, + ALERT_RULE_TYPE, + ALERT_RULE_TYPE_ID, + ALERT_RULE_UPDATED_AT, + ALERT_RULE_UPDATED_BY, + ALERT_RULE_UUID, + ALERT_RULE_VERSION, + ALERT_SEVERITY, + ALERT_START, + ALERT_STATUS, + ALERT_SYSTEM_STATUS, + ALERT_UUID, + ALERT_WORKFLOW_REASON, + ALERT_WORKFLOW_STATUS, + ALERT_WORKFLOW_USER, +} from '@kbn/rule-data-utils'; + +import { TimelineEventsType, TimelineId } from '../../../../common/types/timeline'; +import { SourcererScopeName } from '../../store/sourcerer/model'; import * as i18n from './translations'; @@ -65,3 +112,125 @@ export const getOptions = (activeTimelineEventsType?: TimelineEventsType): TopNO return defaultOptions; } }; + +/** returns true if the specified timelineId is a detections alert table */ +export const isDetectionsAlertsTable = (timelineId: string | undefined): boolean => + timelineId === TimelineId.detectionsPage || timelineId === TimelineId.detectionsRulesDetailsPage; + +/** + * The following fields are used to filter alerts tables, (i.e. tables in the + * `Security > Alert` and `Security > Rule > Details` pages). These fields, + * MUST be ignored when showing Top N alerts for `raw` documents, because + * the raw documents don't include them. + */ +export const IGNORED_ALERT_FILTERS = [ + ALERT_ACTION_GROUP, + ALERT_DURATION, + ALERT_END, + ALERT_EVALUATION_THRESHOLD, + ALERT_EVALUATION_VALUE, + ALERT_INSTANCE_ID, + ALERT_NAMESPACE, + ALERT_RULE_NAMESPACE, + ALERT_RULE_CONSUMER, + ALERT_RULE_PRODUCER, + ALERT_REASON, + ALERT_RISK_SCORE, + ALERT_STATUS, + ALERT_WORKFLOW_REASON, + ALERT_WORKFLOW_STATUS, // open | acknowledged | closed filter + ALERT_WORKFLOW_USER, + ALERT_RULE_AUTHOR, + ALERT_RULE_CREATED_AT, + ALERT_RULE_CREATED_BY, + ALERT_RULE_DESCRIPTION, + ALERT_RULE_ENABLED, + ALERT_RULE_FROM, + ALERT_RULE_INTERVAL, + ALERT_RULE_LICENSE, + ALERT_RULE_NAME, // not a built-in view filter, but frequently applied via the `Filter In` and `Filter Out` actions + ALERT_RULE_NOTE, + ALERT_RULE_REFERENCES, + ALERT_RULE_RULE_ID, // filters alerts to a single rule on the Security > Rules > details pages + ALERT_RULE_RULE_NAME_OVERRIDE, + ALERT_RULE_TAGS, + 'kibana.alert.rule.threat_mapping', // an "Additional filters" option on the alerts table + ALERT_RULE_TO, + ALERT_RULE_TYPE, + ALERT_RULE_TYPE_ID, + ALERT_RULE_UPDATED_AT, + ALERT_RULE_UPDATED_BY, + ALERT_RULE_UUID, + ALERT_RULE_CATEGORY, + ALERT_RULE_VERSION, + ALERT_SEVERITY, + ALERT_START, + ALERT_SYSTEM_STATUS, + ALERT_UUID, + 'signal.rule.building_block_type', + 'signal.rule.id', + 'signal.rule.name', + 'signal.rule.threat_mapping', + 'signal.status', +]; + +/** + * returns true if the Top N query should ignore filters specific to alerts + * when querying raw documents + * + * @see IGNORED_ALERT_FILTERS + */ +export const shouldIgnoreAlertFilters = ({ + timelineId, + view, +}: { + timelineId: string | undefined; + view: TimelineEventsType; +}): boolean => view === 'raw' && isDetectionsAlertsTable(timelineId); + +/** + * returns a new set of `filters` that don't contain the fields specified in + * `IGNORED_ALERT_FILTERS` when they should be ignored + * + * @see IGNORED_ALERT_FILTERS + */ +export const removeIgnoredAlertFilters = ({ + filters, + timelineId, + view, +}: { + filters: Filter[]; + timelineId: string | undefined; + view: TimelineEventsType; +}): Filter[] => { + if (!shouldIgnoreAlertFilters({ timelineId, view })) { + return filters; // unmodified filters + } + + return filters.filter((x) => !IGNORED_ALERT_FILTERS.includes(`${x.meta.key}`)); +}; + +/** returns the SourcererScopeName applicable to the specified timelineId and view */ +export const getSourcererScopeName = ({ + timelineId, + view, +}: { + timelineId: string | undefined; + view: TimelineEventsType; +}): SourcererScopeName => { + // When alerts should be ignored, use the `default` Sourcerer scope, + // because it does NOT include alert indexes: + if (shouldIgnoreAlertFilters({ timelineId, view })) { + return SourcererScopeName.default; // no alerts in this scope + } + + if (isDetectionsAlertsTable(timelineId)) { + return SourcererScopeName.detections; + } + + if (timelineId === TimelineId.active) { + return SourcererScopeName.timeline; + } + + return SourcererScopeName.default; +}; diff --git a/x-pack/plugins/security_solution/public/common/components/top_n/top_n.test.tsx b/x-pack/plugins/security_solution/public/common/components/top_n/top_n.test.tsx index 8cb56d7581b36..c5a8e93145353 100644 --- a/x-pack/plugins/security_solution/public/common/components/top_n/top_n.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/top_n/top_n.test.tsx @@ -8,6 +8,8 @@ import { mount, ReactWrapper } from 'enzyme'; import React from 'react'; import { waitFor } from '@testing-library/react'; + +import { TimelineId } from '../../../../common/types'; import '../../mock/match_media'; import { TestProviders, mockIndexPattern } from '../../mock'; @@ -126,9 +128,59 @@ describe('TopN', () => { expect(toggleTopN).toHaveBeenCalled(); }); + }); + + describe('view selection', () => { + const detectionAlertsTimelines = [ + TimelineId.detectionsPage, + TimelineId.detectionsRulesDetailsPage, + ]; + + const nonDetectionAlertTables = [ + TimelineId.hostsPageEvents, + TimelineId.hostsPageExternalAlerts, + TimelineId.networkPageExternalAlerts, + TimelineId.casePage, + ]; - test('it enables the view select by default', () => { - expect(wrapper.find('[data-test-subj="view-select"]').first().props().disabled).toBe(false); + test('it disables view selection when timelineId is undefined', () => { + const wrapper = mount( + + + + ); + expect(wrapper.find('[data-test-subj="view-select"]').first().props().disabled).toBe(true); + }); + + test('it disables view selection when timelineId is `active`', () => { + const wrapper = mount( + + + + ); + expect(wrapper.find('[data-test-subj="view-select"]').first().props().disabled).toBe(true); + }); + + detectionAlertsTimelines.forEach((timelineId) => { + test(`it enables view selection for detection alert table '${timelineId}'`, () => { + const wrapper = mount( + + + + ); + expect(wrapper.find('[data-test-subj="view-select"]').first().props().disabled).toBe(false); + }); + }); + + nonDetectionAlertTables.forEach((timelineId) => { + test(`it disables view selection for NON detection alert table '${timelineId}'`, () => { + const wrapper = mount( + + + + ); + expect(wrapper.find('[data-test-subj="view-select"]').first().props().disabled).toBe(true); + }); }); }); @@ -203,10 +255,6 @@ describe('TopN', () => { ); }); - test(`it disables the view select when 'options' contains only one entry`, () => { - expect(wrapper.find('[data-test-subj="view-select"]').first().props().disabled).toBe(true); - }); - test(`it renders EventsByDataset when defaultView is 'all'`, () => { expect( wrapper.find('[data-test-subj="eventsByDatasetOverview-uuid.v4()Panel"]').exists() diff --git a/x-pack/plugins/security_solution/public/common/components/top_n/top_n.tsx b/x-pack/plugins/security_solution/public/common/components/top_n/top_n.tsx index f40ee8670171c..b55b63d463b45 100644 --- a/x-pack/plugins/security_solution/public/common/components/top_n/top_n.tsx +++ b/x-pack/plugins/security_solution/public/common/components/top_n/top_n.tsx @@ -18,7 +18,7 @@ import { Filter, IIndexPattern, Query } from '../../../../../../../src/plugins/d import { InputsModelId } from '../../store/inputs/constants'; import { TimelineEventsType } from '../../../../common/types/timeline'; -import { TopNOption } from './helpers'; +import { isDetectionsAlertsTable, removeIgnoredAlertFilters, TopNOption } from './helpers'; import * as i18n from './translations'; import { getIndicesSelector, IndicesSelector } from './selectors'; import { State } from '../../store'; @@ -102,17 +102,24 @@ const TopNComponent: React.FC = ({ () => ( ), - [onViewSelected, options, view] + [onViewSelected, options, timelineId, view] + ); + + // alert workflow statuses (e.g. open | closed) and other alert-specific + // filters must be ignored when viewing raw alerts + const applicableFilters = useMemo( + () => removeIgnoredAlertFilters({ filters, timelineId, view }), + [filters, timelineId, view] ); return ( - + = ({ = ({ ) : ( { describe('isUrlInvalid', () => { @@ -49,4 +49,18 @@ describe('helpers', () => { expect(isUrlInvalid('http:www.thisIsNotValid.com/foo')).toBeTruthy(); }); }); + + describe('hasValueToDisplay', () => { + test('identifies valid values', () => { + expect(hasValueToDisplay('test')).toBeTruthy(); + expect(hasValueToDisplay(0)).toBeTruthy(); + expect(hasValueToDisplay(100)).toBeTruthy(); + }); + + test('identifies empty/invalid values', () => { + expect(hasValueToDisplay('')).toBeFalsy(); + expect(hasValueToDisplay(null)).toBeFalsy(); + expect(hasValueToDisplay(undefined)).toBeFalsy(); + }); + }); }); diff --git a/x-pack/plugins/security_solution/public/common/utils/validators/index.ts b/x-pack/plugins/security_solution/public/common/utils/validators/index.ts index 6989e27fc779d..2194943adab76 100644 --- a/x-pack/plugins/security_solution/public/common/utils/validators/index.ts +++ b/x-pack/plugins/security_solution/public/common/utils/validators/index.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { isEmpty, isNumber } from 'lodash/fp'; export * from './is_endpoint_host_isolated'; const allowedSchemes = ['http:', 'https:']; @@ -29,3 +30,7 @@ export const isUrlInvalid = (url: string | null | undefined) => { } return true; }; + +export function hasValueToDisplay(value: string | number | null | undefined) { + return isNumber(value) || !isEmpty(value); +} diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/alerts_histogram.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/alerts_histogram.tsx index d71330d45861c..95a9f7fd6bcb9 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/alerts_histogram.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_kpis/alerts_histogram_panel/alerts_histogram.tsx @@ -15,10 +15,10 @@ import { } from '@elastic/charts'; import { EuiFlexGroup, EuiFlexItem, EuiProgress } from '@elastic/eui'; import React, { useMemo } from 'react'; -import { isEmpty } from 'lodash/fp'; import { useTheme, UpdateDateRange, ChartData } from '../../../../common/components/charts/common'; import { histogramDateTimeFormatter } from '../../../../common/components/utils'; +import { hasValueToDisplay } from '../../../../common/utils/validators'; import { DraggableLegend } from '../../../../common/components/charts/draggable_legend'; import { LegendItem } from '../../../../common/components/charts/draggable_legend_item'; import { EMPTY_VALUE_LABEL } from '../../../../common/components/charts/translation'; @@ -58,7 +58,7 @@ export const AlertsHistogram = React.memo( const id = 'alertsHistogram'; const yAccessors = useMemo(() => ['y'], []); const splitSeriesAccessors = useMemo( - () => [(datum: ChartData) => (isEmpty(datum.g) ? EMPTY_VALUE_LABEL : datum.g)], + () => [(datum: ChartData) => (hasValueToDisplay(datum.g) ? datum.g : EMPTY_VALUE_LABEL)], [] ); const tickFormat = useMemo(() => histogramDateTimeFormatter([from, to]), [from, to]); diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_add_exception_actions.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_add_exception_actions.tsx index a56ed5b1235b9..e0a09be0873d6 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_add_exception_actions.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_add_exception_actions.tsx @@ -35,25 +35,28 @@ export const useExceptionActions = ({ const disabledAddException = !canUserCRUD || !hasIndexWrite; const exceptionActionItems = useMemo( - () => [ - - {ACTION_ADD_ENDPOINT_EXCEPTION} - , + () => + disabledAddException + ? [] + : [ + + {ACTION_ADD_ENDPOINT_EXCEPTION} + , - - {ACTION_ADD_EXCEPTION} - , - ], + + {ACTION_ADD_EXCEPTION} + , + ], [ disabledAddEndpointException, disabledAddException, diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_alerts_actions.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_alerts_actions.tsx index 8da4ce1c3ed7f..b87cea7008442 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_alerts_actions.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/use_alerts_actions.tsx @@ -31,7 +31,7 @@ export const useAlertsActions = ({ refetch, }: Props) => { const dispatch = useDispatch(); - const { hasIndexWrite, hasKibanaCRUD } = useAlertsPrivileges(); + const { hasIndexWrite } = useAlertsPrivileges(); const onStatusUpdate = useCallback(() => { closePopover(); @@ -66,6 +66,6 @@ export const useAlertsActions = ({ }); return { - actionItems: hasIndexWrite && hasKibanaCRUD ? actionItems : [], + actionItems: hasIndexWrite ? actionItems : [], }; }; diff --git a/x-pack/plugins/security_solution/public/detections/components/take_action_dropdown/index.test.tsx b/x-pack/plugins/security_solution/public/detections/components/take_action_dropdown/index.test.tsx index eac526937551b..21cd4db8ff8ac 100644 --- a/x-pack/plugins/security_solution/public/detections/components/take_action_dropdown/index.test.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/take_action_dropdown/index.test.tsx @@ -17,6 +17,9 @@ import { mockTimelines } from '../../../common/mock/mock_timelines_plugin'; import { createStartServicesMock } from '../../../common/lib/kibana/kibana_react.mock'; import { useKibana } from '../../../common/lib/kibana'; +jest.mock('../user_info', () => ({ + useUserData: jest.fn().mockReturnValue([{ canUserCRUD: true, hasIndexWrite: true }]), +})); jest.mock('../../../common/hooks/endpoint/use_isolate_privileges', () => ({ useIsolationPrivileges: jest.fn().mockReturnValue({ isAllowed: true }), })); diff --git a/x-pack/plugins/security_solution/public/detections/pages/detection_engine/detection_engine.tsx b/x-pack/plugins/security_solution/public/detections/pages/detection_engine/detection_engine.tsx index 461f1c291a452..934b3a21c3be5 100644 --- a/x-pack/plugins/security_solution/public/detections/pages/detection_engine/detection_engine.tsx +++ b/x-pack/plugins/security_solution/public/detections/pages/detection_engine/detection_engine.tsx @@ -127,7 +127,6 @@ const DetectionEnginePageComponent: React.FC = ({ signalIndexName, hasIndexWrite = false, hasIndexMaintenance = false, - canUserCRUD = false, canUserREAD, hasIndexRead, }, @@ -379,8 +378,8 @@ const DetectionEnginePageComponent: React.FC = ({ - {!hideHeader && ( + const pageHeader = useMemo( + () => + hideHeader ? ( + + + {headerBackComponent && <>{headerBackComponent}} + + + ) : ( <> - )} + ), + [ + actions, + description, + getTestId, + hasBottomBorder, + header, + headerBackComponent, + hideHeader, + restrictWidth, + ] + ); + + return ( +

    + {pageHeader} { field: 'process.executable.caseless', operator: 'included', type: 'match', - value: '/one/two/three', + value: 'c:\\fol\\bin.exe', }, ], tags: ['policy:all'], diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/endpoint_activity_log.tsx b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/endpoint_activity_log.tsx index 9b22afc300466..032ea7bf190bf 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/endpoint_activity_log.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/endpoint_activity_log.tsx @@ -71,9 +71,16 @@ export const EndpointActivityLog = memo( [hasActiveDateRange, isPagingDisabled, activityLogLoading, activityLogSize] ); + const doesNotHaveDataAlsoOnRefetch = useMemo( + () => !activityLastLogData?.data.length && !activityLogData.length, + [activityLastLogData, activityLogData] + ); + const showCallout = useMemo( - () => !isPagingDisabled && activityLogLoaded && !activityLogData.length, - [isPagingDisabled, activityLogLoaded, activityLogData] + () => + (!isPagingDisabled && activityLogLoaded && !activityLogData.length) || + doesNotHaveDataAlsoOnRefetch, + [isPagingDisabled, activityLogLoaded, activityLogData, doesNotHaveDataAlsoOnRefetch] ); const loadMoreTrigger = useRef(null); @@ -153,7 +160,7 @@ export const EndpointActivityLog = memo( ref={loadMoreTrigger} /> )} - {isPagingDisabled && !activityLogLoading && ( + {isPagingDisabled && !activityLogLoading && !showCallout && (

    {i18.ACTIVITY_LOG.LogEntry.endOfLog}

    diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/index.test.tsx b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/index.test.tsx index 2affa0d883b67..1b6f7d64ada55 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/index.test.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/index.test.tsx @@ -132,7 +132,8 @@ const timepickerRanges = [ jest.mock('../../../../common/lib/kibana'); jest.mock('../../../../common/hooks/use_license'); -describe('when on the endpoint list page', () => { +// FLAKY: https://github.com/elastic/kibana/issues/115489 +describe.skip('when on the endpoint list page', () => { const docGenerator = new EndpointDocGenerator(); const { act, screen, fireEvent, waitFor } = reactTestingLibrary; @@ -1019,6 +1020,57 @@ describe('when on the endpoint list page', () => { expect(activityLogCallout).not.toBeNull(); }); + it('should display a callout message if no log data also on refetch', async () => { + const userChangedUrlChecker = middlewareSpy.waitForAction('userChangedUrl'); + reactTestingLibrary.act(() => { + history.push( + getEndpointDetailsPath({ + page_index: '0', + page_size: '10', + name: 'endpointActivityLog', + selected_endpoint: '1', + }) + ); + }); + const changedUrlAction = await userChangedUrlChecker; + expect(changedUrlAction.payload.search).toEqual( + '?page_index=0&page_size=10&selected_endpoint=1&show=activity_log' + ); + await middlewareSpy.waitForAction('endpointDetailsActivityLogChanged'); + reactTestingLibrary.act(() => { + dispatchEndpointDetailsActivityLogChanged('success', { + page: 1, + pageSize: 50, + startDate: 'now-1d', + endDate: 'now', + data: [], + }); + }); + + const activityLogCallout = await renderResult.findByTestId('activityLogNoDataCallout'); + expect(activityLogCallout).not.toBeNull(); + + // click refresh button + const refreshLogButton = await renderResult.findByTestId('superDatePickerApplyTimeButton'); + userEvent.click(refreshLogButton); + + await middlewareSpy.waitForAction('endpointDetailsActivityLogChanged'); + reactTestingLibrary.act(() => { + dispatchEndpointDetailsActivityLogChanged('success', { + page: 1, + pageSize: 50, + startDate: 'now-1d', + endDate: 'now', + data: [], + }); + }); + + const activityLogNoDataCallout = await renderResult.findByTestId( + 'activityLogNoDataCallout' + ); + expect(activityLogNoDataCallout).not.toBeNull(); + }); + it('should not display scroll trigger when showing callout message', async () => { const userChangedUrlChecker = middlewareSpy.waitForAction('userChangedUrl'); reactTestingLibrary.act(() => { diff --git a/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/view/host_isolation_exceptions_list.tsx b/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/view/host_isolation_exceptions_list.tsx index f7429c213d2d5..61d9674f046b5 100644 --- a/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/view/host_isolation_exceptions_list.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/view/host_isolation_exceptions_list.tsx @@ -7,11 +7,12 @@ import { ExceptionListItemSchema } from '@kbn/securitysolution-io-ts-list-types'; import { i18n } from '@kbn/i18n'; -import React, { Dispatch, useCallback, useEffect } from 'react'; +import React, { Dispatch, useCallback, useEffect, useMemo } from 'react'; import { EuiButton, EuiText, EuiSpacer } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { useDispatch } from 'react-redux'; -import { useHistory } from 'react-router-dom'; +import { useHistory, useLocation } from 'react-router-dom'; +import { Immutable, ListPageRouteState } from '../../../../../common/endpoint/types'; import { ExceptionItem } from '../../../../common/components/exceptions/viewer/exception_item'; import { getCurrentLocation, @@ -26,8 +27,9 @@ import { useHostIsolationExceptionsNavigateCallback, useHostIsolationExceptionsSelector, } from './hooks'; +import { getEndpointListPath } from '../../../common/routing'; +import { BackToExternalAppButton } from '../../../components/back_to_external_app_button'; import { PaginatedContent, PaginatedContentProps } from '../../../components/paginated_content'; -import { Immutable } from '../../../../../common/endpoint/types'; import { AdministrationListPage } from '../../../components/administration_list_page'; import { SearchExceptions } from '../../../components/search_exceptions'; import { ArtifactEntryCard, ArtifactEntryCardProps } from '../../../components/artifact_entry_card'; @@ -39,7 +41,6 @@ import { DELETE_HOST_ISOLATION_EXCEPTION_LABEL, EDIT_HOST_ISOLATION_EXCEPTION_LABEL, } from './components/translations'; -import { getEndpointListPath } from '../../../common/routing'; import { useEndpointPrivileges } from '../../../../common/components/user_privileges/endpoint'; type HostIsolationExceptionPaginatedContent = PaginatedContentProps< @@ -53,6 +54,8 @@ export const HostIsolationExceptionsList = () => { const pagination = useHostIsolationExceptionsSelector(getListPagination); const isLoading = useHostIsolationExceptionsSelector(getListIsLoading); const fetchError = useHostIsolationExceptionsSelector(getListFetchError); + const { state: routeState } = useLocation(); + const location = useHostIsolationExceptionsSelector(getCurrentLocation); const dispatch = useDispatch>(); const itemToDelete = useHostIsolationExceptionsSelector(getItemToDelete); @@ -116,6 +119,13 @@ export const HostIsolationExceptionsList = () => { [navigateCallback] ); + const backButton = useMemo(() => { + if (routeState && routeState.onBackButtonNavigateTo) { + return ; + } + return null; + }, [routeState]); + const handleAddButtonClick = useCallback( () => navigateCallback({ @@ -127,6 +137,7 @@ export const HostIsolationExceptionsList = () => { return ( ( 'trustedAppsByPolicyEnabled' ); + const [wasByPolicy, setWasByPolicy] = useState(!isGlobalEffectScope(formValues.effectScope)); + // set initial state of `wasByPolicy` that checks if the initial state of the exception was by policy or not + useEffect(() => { + if (!isFormDirty && formValues.effectScope) { + setWasByPolicy(!isGlobalEffectScope(formValues.effectScope)); + } + }, [isFormDirty, formValues.effectScope]); + const isGlobal = useMemo(() => { return isGlobalEffectScope((formValues as NewTrustedApp).effectScope); }, [formValues]); const showExpiredLicenseBanner = useMemo(() => { return ( - isTrustedAppsByPolicyEnabled && !isPlatinumPlus && isEditMode && (!isGlobal || isFormDirty) + isTrustedAppsByPolicyEnabled && + !isPlatinumPlus && + isEditMode && + wasByPolicy && + (!isGlobal || isFormDirty) ); - }, [isTrustedAppsByPolicyEnabled, isPlatinumPlus, isEditMode, isGlobal, isFormDirty]); + }, [ + isTrustedAppsByPolicyEnabled, + isPlatinumPlus, + isEditMode, + isGlobal, + isFormDirty, + wasByPolicy, + ]); // If there was a failure trying to retrieve the Trusted App for edit item, // then redirect back to the list ++ show toast message. @@ -223,7 +242,7 @@ export const CreateTrustedAppFlyout = memo( id="xpack.securitySolution.trustedapps.createTrustedAppFlyout.expiredLicenseMessage" defaultMessage="Your Kibana license has been downgraded. Future policy configurations will now be globally assigned to all policies. For more information, see our " /> - + ( isInvalid={!!creationErrors} isEditMode={isEditMode} isDirty={isFormDirty} + wasByPolicy={wasByPolicy} error={creationErrorsMessage} policies={policies} trustedApp={formValues} diff --git a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/create_trusted_app_form.test.tsx b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/create_trusted_app_form.test.tsx index f05d018fe8e9a..daaa2f909d859 100644 --- a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/create_trusted_app_form.test.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/create_trusted_app_form.test.tsx @@ -136,6 +136,7 @@ describe('When using the Trusted App Form', () => { trustedApp: latestUpdatedTrustedApp, isEditMode: false, isDirty: false, + wasByPolicy: false, onChange: jest.fn((updates) => { latestUpdatedTrustedApp = updates.item; }), diff --git a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/create_trusted_app_form.tsx b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/create_trusted_app_form.tsx index da925ddd8a6c1..e5542c4ecffd2 100644 --- a/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/create_trusted_app_form.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/trusted_apps/view/components/create_trusted_app_form.tsx @@ -30,6 +30,7 @@ import { import { isValidHash, isPathValid, + hasSimpleExecutableName, } from '../../../../../../common/endpoint/service/trusted_apps/validations'; import { useIsExperimentalFeatureEnabled } from '../../../../../common/hooks/use_experimental_features'; @@ -136,6 +137,13 @@ const validateFormValues = (values: MaybeImmutable): ValidationRe ); } else { values.entries.forEach((entry, index) => { + const isValidPathEntry = isPathValid({ + os: values.os, + field: entry.field, + type: entry.type, + value: entry.value, + }); + if (!entry.field || !entry.value.trim()) { isValid = false; addResultToValidation( @@ -161,9 +169,7 @@ const validateFormValues = (values: MaybeImmutable): ValidationRe values: { row: index + 1 }, }) ); - } else if ( - !isPathValid({ os: values.os, field: entry.field, type: entry.type, value: entry.value }) - ) { + } else if (!isValidPathEntry) { addResultToValidation( validation, 'entries', @@ -173,6 +179,22 @@ const validateFormValues = (values: MaybeImmutable): ValidationRe values: { row: index + 1 }, }) ); + } else if ( + isValidPathEntry && + !hasSimpleExecutableName({ os: values.os, value: entry.value, type: entry.type }) + ) { + addResultToValidation( + validation, + 'entries', + 'warnings', + i18n.translate( + 'xpack.securitySolution.trustedapps.create.conditionFieldDegradedPerformanceMsg', + { + defaultMessage: `[{row}] A wildcard in the filename will affect the endpoint's performance`, + values: { row: index + 1 }, + } + ) + ); } }); } @@ -194,6 +216,7 @@ export type CreateTrustedAppFormProps = Pick< trustedApp: MaybeImmutable; isEditMode: boolean; isDirty: boolean; + wasByPolicy: boolean; onChange: (state: TrustedAppFormState) => void; /** Setting passed on to the EffectedPolicySelect component */ policies: Pick; @@ -205,6 +228,7 @@ export const CreateTrustedAppForm = memo( fullWidth, isEditMode, isDirty, + wasByPolicy, onChange, trustedApp: _trustedApp, policies = { options: [] }, @@ -224,9 +248,9 @@ export const CreateTrustedAppForm = memo( return isGlobalEffectScope(trustedApp.effectScope); }, [trustedApp]); - const hideAssignmentSection = useMemo(() => { - return !isPlatinumPlus && (!isEditMode || (isGlobal && !isDirty)); - }, [isEditMode, isGlobal, isDirty, isPlatinumPlus]); + const showAssignmentSection = useMemo(() => { + return isPlatinumPlus || (isEditMode && (!isGlobal || (wasByPolicy && isGlobal && isDirty))); + }, [isEditMode, isGlobal, isDirty, isPlatinumPlus, wasByPolicy]); const osOptions: Array> = useMemo( () => OPERATING_SYSTEMS.map((os) => ({ value: os, inputDisplay: OS_TITLES[os] })), @@ -553,7 +577,7 @@ export const CreateTrustedAppForm = memo( data-test-subj={getTestId('conditionsBuilder')} /> - {isTrustedAppsByPolicyEnabled && !hideAssignmentSection ? ( + {isTrustedAppsByPolicyEnabled && showAssignmentSection ? ( <> diff --git a/x-pack/plugins/security_solution/public/network/components/embeddables/map_tool_tip/map_tool_tip.tsx b/x-pack/plugins/security_solution/public/network/components/embeddables/map_tool_tip/map_tool_tip.tsx index 9d8a1455ba99f..665ea0e885439 100644 --- a/x-pack/plugins/security_solution/public/network/components/embeddables/map_tool_tip/map_tool_tip.tsx +++ b/x-pack/plugins/security_solution/public/network/components/embeddables/map_tool_tip/map_tool_tip.tsx @@ -134,7 +134,7 @@ export const MapToolTipComponent = ({ try { const featureGeo = loadFeatureGeometry({ layerId, featureId }); const [featureProperties, layerNameString] = await Promise.all([ - loadFeatureProperties({ layerId, featureId, mbProperties: {} }), + loadFeatureProperties({ layerId, properties: features[featureIndex].mbProperties }), getLayerName(layerId), ]); diff --git a/x-pack/plugins/security_solution/public/overview/components/overview_risky_host_links/risky_hosts_panel_view.tsx b/x-pack/plugins/security_solution/public/overview/components/overview_risky_host_links/risky_hosts_panel_view.tsx index 84864902f75d3..5f89f261e4246 100644 --- a/x-pack/plugins/security_solution/public/overview/components/overview_risky_host_links/risky_hosts_panel_view.tsx +++ b/x-pack/plugins/security_solution/public/overview/components/overview_risky_host_links/risky_hosts_panel_view.tsx @@ -30,6 +30,8 @@ const columns: Array> = [ align: 'right', field: 'count', name: 'Risk Score', + render: (riskScore) => + Number.isNaN(riskScore) ? riskScore : Number.parseFloat(riskScore).toFixed(2), sortable: true, truncateText: true, width: '15%', diff --git a/x-pack/plugins/security_solution/public/resolver/view/resolver_no_process_events.tsx b/x-pack/plugins/security_solution/public/resolver/view/resolver_no_process_events.tsx index 5a743896518c2..c172d351c7356 100644 --- a/x-pack/plugins/security_solution/public/resolver/view/resolver_no_process_events.tsx +++ b/x-pack/plugins/security_solution/public/resolver/view/resolver_no_process_events.tsx @@ -41,6 +41,14 @@ export const ResolverNoProcessEvents = () => ( })} + + {i18n.translate('xpack.securitySolution.resolver.noProcessEvents.dataView', { + defaultMessage: `In case you selected a different data view, + make sure your data view contains all of the indices that are stored in the source event at "{field}".`, + values: { field: 'kibana.alert.rule.parameters.index' }, + })} + + {i18n.translate('xpack.securitySolution.resolver.noProcessEvents.eventCategory', { defaultMessage: `You may also add the below to your timeline query to check for process events. diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/actions/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/actions/index.test.tsx index c7c61c0311eaf..7377874a9d27f 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/actions/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/actions/index.test.tsx @@ -12,6 +12,10 @@ import { TestProviders, mockTimelineModel, mockTimelineData } from '../../../../ import { Actions } from '.'; import { mockTimelines } from '../../../../../common/mock/mock_timelines_plugin'; import { useIsExperimentalFeatureEnabled } from '../../../../../common/hooks/use_experimental_features'; + +jest.mock('../../../../../detections/components/user_info', () => ({ + useUserData: jest.fn().mockReturnValue([{ canUserCRUD: true, hasIndexWrite: true }]), +})); jest.mock('../../../../../common/hooks/use_experimental_features', () => ({ useIsExperimentalFeatureEnabled: jest.fn().mockReturnValue(false), })); diff --git a/x-pack/plugins/security_solution/public/timelines/pages/timelines_page.tsx b/x-pack/plugins/security_solution/public/timelines/pages/timelines_page.tsx index f79d513380349..abb47788d5a3b 100644 --- a/x-pack/plugins/security_solution/public/timelines/pages/timelines_page.tsx +++ b/x-pack/plugins/security_solution/public/timelines/pages/timelines_page.tsx @@ -79,7 +79,7 @@ export const TimelinesPageComponent: React.FC = () => { - + ({ + deprecationsService: deprecationsServiceMock.createSetupContract(), + getKibanaRoles: jest.fn(), + applicationName: 'kibana-.kibana', +}); + +describe('alerts as data privileges deprecation', () => { + describe('deprecation handler', () => { + let mockDependencies: ReturnType; + let mockContext: ReturnType; + let deprecationHandler: RegisterDeprecationsConfig; + + beforeEach(() => { + mockContext = getContextMock(); + mockDependencies = getDependenciesMock(); + registerAlertsIndexPrivilegeDeprecations(mockDependencies); + + expect(mockDependencies.deprecationsService.registerDeprecations).toHaveBeenCalledTimes(1); + deprecationHandler = + mockDependencies.deprecationsService.registerDeprecations.mock.calls[0][0]; + }); + + it('returns errors from getKibanaRoles', async () => { + const errorResponse = { + errors: [ + { + correctiveActions: { + manualSteps: [ + "A user with the 'manage_security' cluster privilege is required to perform this check.", + ], + }, + level: 'fetch_error', + message: 'Error retrieving roles for privilege deprecations: Test error', + title: 'Error in privilege deprecations services', + }, + ], + }; + mockDependencies.getKibanaRoles.mockResolvedValue(errorResponse); + const result = await deprecationHandler.getDeprecations(mockContext); + expect(result).toEqual([ + { + correctiveActions: { + manualSteps: [ + "A user with the 'manage_security' cluster privilege is required to perform this check.", + ], + }, + level: 'fetch_error', + message: 'Error retrieving roles for privilege deprecations: Test error', + title: 'Error in privilege deprecations services', + }, + ]); + }); + + it('returns no deprecation if no roles are found', async () => { + mockDependencies.getKibanaRoles.mockResolvedValue({ + roles: [], + }); + const result = await deprecationHandler.getDeprecations(mockContext); + expect(result).toEqual([]); + }); + + it('returns no deprecation when a role also has read access to the alerts-as-data index alias and backing index pattern', async () => { + mockDependencies.getKibanaRoles.mockResolvedValue({ + roles: [ + getRoleMock( + [ + { + names: [ + 'other-index', + '.siem-signals-*', + '.alerts-security.alerts-*', + '.internal.alerts-security.alerts-*', + ], + privileges: ['all'], + }, + ], + 'roleWithCorrectAccess' + ), + ], + }); + const result = await deprecationHandler.getDeprecations(mockContext); + expect(result).toEqual([]); + }); + + it('returns no deprecation if all roles found are internal', async () => { + const internalRoleMock = { + ...getRoleMock( + [ + { + names: ['other-index', '.siem-signals-*'], + privileges: ['all'], + }, + ], + 'internalRole' + ), + metadata: { + _reserved: true, + }, + }; + mockDependencies.getKibanaRoles.mockResolvedValue({ + roles: [internalRoleMock], + }); + const result = await deprecationHandler.getDeprecations(mockContext); + expect(result).toEqual([]); + }); + + it('returns an appropriate deprecation if roles are found', async () => { + mockDependencies.getKibanaRoles.mockResolvedValue({ + roles: [ + getRoleMock( + [ + { + names: ['other-index', 'second-index'], + privileges: ['all'], + }, + ], + 'irrelevantRole' + ), + getRoleMock( + [ + { + names: [ + 'other-index', + '.siem-signals-*', + '.alerts-security.alerts-*', + '.internal.alerts-security.alerts-*', + ], + privileges: ['all'], + }, + ], + 'roleWithCorrectAccess' + ), + getRoleMock( + [ + { + names: ['other-index', '.siem-signals-*', '.alerts-security.alerts-*'], + privileges: ['all'], + }, + ], + 'relevantRole1' + ), + getRoleMock( + [ + { + names: ['other-index', '.siem-signals-*', '.internal.alerts-security.alerts-*'], + privileges: ['all'], + }, + ], + 'relevantRole2' + ), + getRoleMock( + [ + { + names: ['other-index', '.siem-signals-*'], + privileges: ['all'], + }, + ], + 'relevantRole3' + ), + ], + }); + const result = await deprecationHandler.getDeprecations(mockContext); + expect(result).toEqual([ + { + correctiveActions: { + manualSteps: [ + 'Update your roles to include read privileges for the detection alerts indices appropriate for that role and space(s).', + 'In 8.0, users will be unable to view alerts until those permissions are added.', + 'The roles that currently have read access to detection alerts indices are: relevantRole1, relevantRole2, relevantRole3', + ], + }, + deprecationType: 'feature', + documentationUrl: + 'https://www.elastic.co/guide/en/security/8.0/upgrade-intro.html#upgrade-reqs', + level: 'warning', + message: `In order to view detection alerts in 8.0+, users will need read privileges to new detection alerts index aliases \ +(.alerts-security.alerts-) and backing indices (.internal.alerts-security.alerts--*), \ +analogous to existing detection alerts indices (.siem-signals-). \ +In addition, any enabled Detection rules will be automatically disabled during the upgrade and must be manually re-enabled after \ +upgrading. Rules that are automatically disabled will also automatically be tagged to assist in manually re-enabling them post-upgrade. \ +Alerts created after upgrading will use a different schema.`, + title: 'The Detection Alerts index names are changing', + }, + ]); + }); + }); +}); diff --git a/x-pack/plugins/security_solution/server/deprecations/alerts_as_data_privileges.ts b/x-pack/plugins/security_solution/server/deprecations/alerts_as_data_privileges.ts new file mode 100644 index 0000000000000..2b4850e7f1f30 --- /dev/null +++ b/x-pack/plugins/security_solution/server/deprecations/alerts_as_data_privileges.ts @@ -0,0 +1,113 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; + +import { DeprecationsServiceSetup } from 'src/core/server'; +import type { PrivilegeDeprecationsService, Role } from '../../../security/common/model'; +import { DEFAULT_SIGNALS_INDEX } from '../../common/constants'; +import { roleHasReadAccess, roleIsExternal } from './utils'; + +const ALERTS_INDEX_PREFIX = '.alerts-security.alerts'; +const INTERNAL_ALERTS_INDEX_PREFIX = '.internal.alerts-security.alerts'; + +const buildManualSteps = (roleNames: string[]): string[] => { + const baseSteps = [ + i18n.translate('xpack.securitySolution.deprecations.alertsIndexPrivileges.manualStep1', { + defaultMessage: + 'Update your roles to include read privileges for the detection alerts indices appropriate for that role and space(s).', + }), + i18n.translate('xpack.securitySolution.deprecations.alertsIndexPrivileges.manualStep2', { + defaultMessage: + 'In 8.0, users will be unable to view alerts until those permissions are added.', + }), + ]; + const informationalStep = i18n.translate( + 'xpack.securitySolution.deprecations.alertsIndexPrivileges.manualStep3', + { + defaultMessage: + 'The roles that currently have read access to detection alerts indices are: {roles}', + values: { + roles: roleNames.join(', '), + }, + } + ); + + if (roleNames.length === 0) { + return baseSteps; + } else { + return [...baseSteps, informationalStep]; + } +}; + +interface Dependencies { + deprecationsService: DeprecationsServiceSetup; + getKibanaRoles?: PrivilegeDeprecationsService['getKibanaRoles']; +} + +export const registerAlertsIndexPrivilegeDeprecations = ({ + deprecationsService, + getKibanaRoles, +}: Dependencies) => { + deprecationsService.registerDeprecations({ + getDeprecations: async (context) => { + let rolesWhichReadSignals: Role[] = []; + + if (getKibanaRoles) { + const { roles, errors } = await getKibanaRoles({ context }); + if (errors?.length) { + return errors; + } + + rolesWhichReadSignals = + roles?.filter( + (role) => + roleIsExternal(role) && + roleHasReadAccess(role) && + (!roleHasReadAccess(role, ALERTS_INDEX_PREFIX) || + !roleHasReadAccess(role, INTERNAL_ALERTS_INDEX_PREFIX)) + ) ?? []; + } + + if (rolesWhichReadSignals.length === 0) { + return []; + } + + const roleNamesWhichReadSignals = rolesWhichReadSignals.map((role) => role.name); + + return [ + { + title: i18n.translate('xpack.securitySolution.deprecations.alertsIndexPrivileges.title', { + defaultMessage: 'The Detection Alerts index names are changing', + }), + message: i18n.translate( + 'xpack.securitySolution.deprecations.alertsIndexPrivileges.message', + { + values: { + alertsIndexPrefix: ALERTS_INDEX_PREFIX, + internalAlertsIndexPrefix: INTERNAL_ALERTS_INDEX_PREFIX, + signalsIndexPrefix: DEFAULT_SIGNALS_INDEX, + }, + defaultMessage: `In order to view detection alerts in 8.0+, users will need read privileges to new detection alerts index aliases \ +({alertsIndexPrefix}-) and backing indices ({internalAlertsIndexPrefix}--*), \ +analogous to existing detection alerts indices ({signalsIndexPrefix}-). \ +In addition, any enabled Detection rules will be automatically disabled during the upgrade and must be manually re-enabled after \ +upgrading. Rules that are automatically disabled will also automatically be tagged to assist in manually re-enabling them post-upgrade. \ +Alerts created after upgrading will use a different schema.`, + } + ), + level: 'warning', + deprecationType: 'feature', + documentationUrl: `https://www.elastic.co/guide/en/security/8.0/upgrade-intro.html#upgrade-reqs`, + correctiveActions: { + manualSteps: buildManualSteps(roleNamesWhichReadSignals), + }, + }, + ]; + }, + }); +}; diff --git a/x-pack/plugins/security_solution/server/deprecations/rule_preview_privileges.test.ts b/x-pack/plugins/security_solution/server/deprecations/rule_preview_privileges.test.ts index d099ac0d8eb88..ad124c2ebfbbc 100644 --- a/x-pack/plugins/security_solution/server/deprecations/rule_preview_privileges.test.ts +++ b/x-pack/plugins/security_solution/server/deprecations/rule_preview_privileges.test.ts @@ -5,36 +5,10 @@ * 2.0. */ -import { - deprecationsServiceMock, - elasticsearchServiceMock, - savedObjectsClientMock, -} from 'src/core/server/mocks'; +import { deprecationsServiceMock } from 'src/core/server/mocks'; import { RegisterDeprecationsConfig } from 'src/core/server'; -import { Role } from '../../../security/common/model'; -import { - registerRulePreviewPrivilegeDeprecations, - roleHasReadAccess, -} from './rule_preview_privileges'; - -const emptyRole: Role = { - name: 'mockRole', - metadata: { _reserved: false }, - elasticsearch: { cluster: [], indices: [], run_as: [] }, - kibana: [{ spaces: [], base: [], feature: {} }], -}; - -const getRoleMock = ( - indicesOverrides: Role['elasticsearch']['indices'] = [], - name = 'mockRole' -): Role => ({ - ...emptyRole, - name, - elasticsearch: { - ...emptyRole.elasticsearch, - indices: indicesOverrides, - }, -}); +import { registerRulePreviewPrivilegeDeprecations } from './rule_preview_privileges'; +import { getRoleMock, getContextMock } from './utils.mock'; const getDependenciesMock = () => ({ deprecationsService: deprecationsServiceMock.createSetupContract(), @@ -49,11 +23,6 @@ const getDependenciesMock = () => ({ applicationName: 'kibana-.kibana', }); -const getContextMock = () => ({ - esClient: elasticsearchServiceMock.createScopedClusterClient(), - savedObjectsClient: savedObjectsClientMock.create(), -}); - describe('rule preview privileges deprecation', () => { describe('deprecation handler', () => { let mockDependencies: ReturnType; @@ -202,63 +171,4 @@ describe('rule preview privileges deprecation', () => { ]); }); }); - - describe('utilities', () => { - describe('roleHasReadAccess', () => { - it('returns true if the role has read privilege to all signals indexes', () => { - const role = getRoleMock([ - { - names: ['.siem-signals-*'], - privileges: ['read'], - }, - ]); - expect(roleHasReadAccess(role)).toEqual(true); - }); - - it('returns true if the role has read privilege to a single signals index', () => { - const role = getRoleMock([ - { - names: ['.siem-signals-spaceId'], - privileges: ['read'], - }, - ]); - expect(roleHasReadAccess(role)).toEqual(true); - }); - - it('returns true if the role has all privilege to a single signals index', () => { - const role = getRoleMock([ - { - names: ['.siem-signals-spaceId', 'other-index'], - privileges: ['all'], - }, - ]); - expect(roleHasReadAccess(role)).toEqual(true); - }); - - it('returns false if the role has read privilege to other indices', () => { - const role = getRoleMock([ - { - names: ['other-index'], - privileges: ['read'], - }, - ]); - expect(roleHasReadAccess(role)).toEqual(false); - }); - - it('returns false if the role has all privilege to other indices', () => { - const role = getRoleMock([ - { - names: ['other-index', 'second-index'], - privileges: ['all'], - }, - ]); - expect(roleHasReadAccess(role)).toEqual(false); - }); - - it('returns false if the role has no specific privileges', () => { - const role = getRoleMock(); - expect(roleHasReadAccess(role)).toEqual(false); - }); - }); - }); }); diff --git a/x-pack/plugins/security_solution/server/deprecations/rule_preview_privileges.ts b/x-pack/plugins/security_solution/server/deprecations/rule_preview_privileges.ts index ab74dfdd79d43..af66088a79929 100644 --- a/x-pack/plugins/security_solution/server/deprecations/rule_preview_privileges.ts +++ b/x-pack/plugins/security_solution/server/deprecations/rule_preview_privileges.ts @@ -10,18 +10,9 @@ import { i18n } from '@kbn/i18n'; import { DeprecationsServiceSetup, PackageInfo } from 'src/core/server'; import type { PrivilegeDeprecationsService, Role } from '../../../security/common/model'; import { DEFAULT_SIGNALS_INDEX } from '../../common/constants'; +import { roleHasReadAccess, roleIsExternal } from './utils'; const PREVIEW_INDEX_PREFIX = '.preview.alerts-security.alerts'; -const READ_PRIVILEGES = ['all', 'read']; - -export const roleHasReadAccess = (role: Role, indexPrefix = DEFAULT_SIGNALS_INDEX): boolean => - role.elasticsearch.indices.some( - (index) => - index.names.some((indexName) => indexName.startsWith(indexPrefix)) && - index.privileges.some((indexPrivilege) => READ_PRIVILEGES.includes(indexPrivilege)) - ); - -export const roleIsExternal = (role: Role): boolean => role.metadata?._reserved !== true; const buildManualSteps = (roleNames: string[]): string[] => { const baseSteps = [ diff --git a/x-pack/plugins/security_solution/server/deprecations/utils.mock.ts b/x-pack/plugins/security_solution/server/deprecations/utils.mock.ts new file mode 100644 index 0000000000000..b96c6681cf85d --- /dev/null +++ b/x-pack/plugins/security_solution/server/deprecations/utils.mock.ts @@ -0,0 +1,33 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { Role } from '../../../security/common/model'; +import { elasticsearchServiceMock, savedObjectsClientMock } from 'src/core/server/mocks'; + +const emptyRole: Role = { + name: 'mockRole', + metadata: { _reserved: false }, + elasticsearch: { cluster: [], indices: [], run_as: [] }, + kibana: [{ spaces: [], base: [], feature: {} }], +}; + +export const getRoleMock = ( + indicesOverrides: Role['elasticsearch']['indices'] = [], + name = 'mockRole' +): Role => ({ + ...emptyRole, + name, + elasticsearch: { + ...emptyRole.elasticsearch, + indices: indicesOverrides, + }, +}); + +export const getContextMock = () => ({ + esClient: elasticsearchServiceMock.createScopedClusterClient(), + savedObjectsClient: savedObjectsClientMock.create(), +}); diff --git a/x-pack/plugins/security_solution/server/deprecations/utils.test.ts b/x-pack/plugins/security_solution/server/deprecations/utils.test.ts new file mode 100644 index 0000000000000..04035a28d0379 --- /dev/null +++ b/x-pack/plugins/security_solution/server/deprecations/utils.test.ts @@ -0,0 +1,68 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { roleHasReadAccess } from './utils'; +import { getRoleMock } from './utils.mock'; + +describe('deprecation utils', () => { + describe('roleHasReadAccess', () => { + it('returns true if the role has read privilege to all signals indexes', () => { + const role = getRoleMock([ + { + names: ['.siem-signals-*'], + privileges: ['read'], + }, + ]); + expect(roleHasReadAccess(role)).toEqual(true); + }); + + it('returns true if the role has read privilege to a single signals index', () => { + const role = getRoleMock([ + { + names: ['.siem-signals-spaceId'], + privileges: ['read'], + }, + ]); + expect(roleHasReadAccess(role)).toEqual(true); + }); + + it('returns true if the role has all privilege to a single signals index', () => { + const role = getRoleMock([ + { + names: ['.siem-signals-spaceId', 'other-index'], + privileges: ['all'], + }, + ]); + expect(roleHasReadAccess(role)).toEqual(true); + }); + + it('returns false if the role has read privilege to other indices', () => { + const role = getRoleMock([ + { + names: ['other-index'], + privileges: ['read'], + }, + ]); + expect(roleHasReadAccess(role)).toEqual(false); + }); + + it('returns false if the role has all privilege to other indices', () => { + const role = getRoleMock([ + { + names: ['other-index', 'second-index'], + privileges: ['all'], + }, + ]); + expect(roleHasReadAccess(role)).toEqual(false); + }); + + it('returns false if the role has no specific privileges', () => { + const role = getRoleMock(); + expect(roleHasReadAccess(role)).toEqual(false); + }); + }); +}); diff --git a/x-pack/plugins/security_solution/server/deprecations/utils.ts b/x-pack/plugins/security_solution/server/deprecations/utils.ts new file mode 100644 index 0000000000000..b51452116461a --- /dev/null +++ b/x-pack/plugins/security_solution/server/deprecations/utils.ts @@ -0,0 +1,20 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { Role } from '../../../security/common/model'; +import { DEFAULT_SIGNALS_INDEX } from '../../common/constants'; + +const READ_PRIVILEGES = ['all', 'read']; + +export const roleHasReadAccess = (role: Role, indexPrefix = DEFAULT_SIGNALS_INDEX): boolean => + role.elasticsearch.indices.some( + (index) => + index.names.some((indexName) => indexName.startsWith(indexPrefix)) && + index.privileges.some((indexPrivilege) => READ_PRIVILEGES.includes(indexPrivilege)) + ); + +export const roleIsExternal = (role: Role): boolean => role.metadata?._reserved !== true; diff --git a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts index e26a2c7f4b4bc..d4a486539855b 100644 --- a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts +++ b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts @@ -5,6 +5,7 @@ * 2.0. */ +import path from 'path'; import { createHash } from 'crypto'; import type { Entry, @@ -19,14 +20,18 @@ import { ENDPOINT_LIST_ID, ENDPOINT_TRUSTED_APPS_LIST_ID, } from '@kbn/securitysolution-list-constants'; +import { OperatingSystem } from '../../../../common/endpoint/types'; import { ExceptionListClient } from '../../../../../lists/server'; import { InternalArtifactCompleteSchema, TranslatedEntry, + TranslatedPerformantEntries, + translatedPerformantEntries as translatedPerformantEntriesType, translatedEntry as translatedEntryType, translatedEntryMatchAnyMatcher, TranslatedEntryMatcher, translatedEntryMatchMatcher, + TranslatedEntryMatchWildcard, TranslatedEntryMatchWildcardMatcher, translatedEntryMatchWildcardMatcher, TranslatedEntryNestedEntry, @@ -35,6 +40,7 @@ import { WrappedTranslatedExceptionList, wrappedTranslatedExceptionList, } from '../../schemas'; +import { hasSimpleExecutableName } from '../../../../common/endpoint/service/trusted_apps/validations'; export async function buildArtifact( exceptions: WrappedTranslatedExceptionList, @@ -194,18 +200,38 @@ export function translateToEndpointExceptions( } } -function getMatcherFunction(field: string, matchAny?: boolean): TranslatedEntryMatcher { +function getMatcherFunction({ + field, + matchAny, + os, +}: { + field: string; + matchAny?: boolean; + os: ExceptionListItemSchema['os_types'][number]; +}): TranslatedEntryMatcher { return matchAny ? field.endsWith('.caseless') ? 'exact_caseless_any' : 'exact_cased_any' : field.endsWith('.caseless') - ? 'exact_caseless' + ? os === 'linux' + ? 'exact_cased' + : 'exact_caseless' : 'exact_cased'; } -function getMatcherWildcardFunction(field: string): TranslatedEntryMatchWildcardMatcher { - return field.endsWith('.caseless') ? 'wildcard_caseless' : 'wildcard_cased'; +function getMatcherWildcardFunction({ + field, + os, +}: { + field: string; + os: ExceptionListItemSchema['os_types'][number]; +}): TranslatedEntryMatchWildcardMatcher { + return field.endsWith('.caseless') + ? os === 'linux' + ? 'wildcard_cased' + : 'wildcard_caseless' + : 'wildcard_cased'; } function normalizeFieldName(field: string): string { @@ -217,31 +243,84 @@ function translateItem( item: ExceptionListItemSchema ): TranslatedExceptionListItem { const itemSet = new Set(); - return { - type: item.type, - entries: item.entries.reduce((translatedEntries, entry) => { - const translatedEntry = translateEntry(schemaVersion, entry); - if (translatedEntry !== undefined && translatedEntryType.is(translatedEntry)) { - const itemHash = createHash('sha256').update(JSON.stringify(translatedEntry)).digest('hex'); - if (!itemSet.has(itemHash)) { - translatedEntries.push(translatedEntry); - itemSet.add(itemHash); + const getEntries = (): TranslatedExceptionListItem['entries'] => { + return item.entries.reduce((translatedEntries, entry) => { + const translatedEntry = translateEntry(schemaVersion, entry, item.os_types[0]); + + if (translatedEntry !== undefined) { + if (translatedEntryType.is(translatedEntry)) { + const itemHash = createHash('sha256') + .update(JSON.stringify(translatedEntry)) + .digest('hex'); + if (!itemSet.has(itemHash)) { + translatedEntries.push(translatedEntry); + itemSet.add(itemHash); + } + } + if (translatedPerformantEntriesType.is(translatedEntry)) { + translatedEntry.forEach((tpe) => { + const itemHash = createHash('sha256').update(JSON.stringify(tpe)).digest('hex'); + if (!itemSet.has(itemHash)) { + translatedEntries.push(tpe); + itemSet.add(itemHash); + } + }); } } + return translatedEntries; - }, []), + }, []); + }; + + return { + type: item.type, + entries: getEntries(), }; } +function appendProcessNameEntry({ + wildcardProcessEntry, + entry, + os, +}: { + wildcardProcessEntry: TranslatedEntryMatchWildcard; + entry: { + field: string; + operator: 'excluded' | 'included'; + type: 'wildcard'; + value: string; + }; + os: ExceptionListItemSchema['os_types'][number]; +}): TranslatedPerformantEntries { + const entries: TranslatedPerformantEntries = [ + wildcardProcessEntry, + { + field: normalizeFieldName('process.name'), + operator: entry.operator, + type: (os === 'linux' ? 'exact_cased' : 'exact_caseless') as Extract< + TranslatedEntryMatcher, + 'exact_caseless' | 'exact_cased' + >, + value: os === 'windows' ? path.win32.basename(entry.value) : path.posix.basename(entry.value), + }, + ].reduce((p, c) => { + p.push(c); + return p; + }, []); + + return entries; +} + function translateEntry( schemaVersion: string, - entry: Entry | EntryNested -): TranslatedEntry | undefined { + entry: Entry | EntryNested, + os: ExceptionListItemSchema['os_types'][number] +): TranslatedEntry | TranslatedPerformantEntries | undefined { switch (entry.type) { case 'nested': { const nestedEntries = entry.entries.reduce( (entries, nestedEntry) => { - const translatedEntry = translateEntry(schemaVersion, nestedEntry); + const translatedEntry = translateEntry(schemaVersion, nestedEntry, os); if (nestedEntry !== undefined && translatedEntryNestedEntry.is(translatedEntry)) { entries.push(translatedEntry); } @@ -256,7 +335,7 @@ function translateEntry( }; } case 'match': { - const matcher = getMatcherFunction(entry.field); + const matcher = getMatcherFunction({ field: entry.field, os }); return translatedEntryMatchMatcher.is(matcher) ? { field: normalizeFieldName(entry.field), @@ -267,7 +346,7 @@ function translateEntry( : undefined; } case 'match_any': { - const matcher = getMatcherFunction(entry.field, true); + const matcher = getMatcherFunction({ field: entry.field, matchAny: true, os }); return translatedEntryMatchAnyMatcher.is(matcher) ? { field: normalizeFieldName(entry.field), @@ -278,15 +357,37 @@ function translateEntry( : undefined; } case 'wildcard': { - const matcher = getMatcherWildcardFunction(entry.field); - return translatedEntryMatchWildcardMatcher.is(matcher) - ? { + const wildcardMatcher = getMatcherWildcardFunction({ field: entry.field, os }); + const translatedEntryWildcardMatcher = + translatedEntryMatchWildcardMatcher.is(wildcardMatcher); + + const buildEntries = () => { + if (translatedEntryWildcardMatcher) { + // default process.executable entry + const wildcardProcessEntry: TranslatedEntryMatchWildcard = { field: normalizeFieldName(entry.field), operator: entry.operator, - type: matcher, + type: wildcardMatcher, value: entry.value, + }; + + const hasExecutableName = hasSimpleExecutableName({ + os: os as OperatingSystem, + type: entry.type, + value: entry.value, + }); + if (hasExecutableName) { + // when path has a full executable name + // append a process.name entry based on os + // `exact_cased` for linux and `exact_caseless` for others + return appendProcessNameEntry({ entry, os, wildcardProcessEntry }); + } else { + return wildcardProcessEntry; } - : undefined; + } + }; + + return buildEntries(); } } } diff --git a/x-pack/plugins/security_solution/server/endpoint/routes/actions/audit_log.test.ts b/x-pack/plugins/security_solution/server/endpoint/routes/actions/audit_log.test.ts index c6df8c9183917..f5ab180a14cee 100644 --- a/x-pack/plugins/security_solution/server/endpoint/routes/actions/audit_log.test.ts +++ b/x-pack/plugins/security_solution/server/endpoint/routes/actions/audit_log.test.ts @@ -235,7 +235,7 @@ describe('Action Log API', () => { hasFleetResponses?: boolean; hasResponses?: boolean; }) => { - esClientMock.asCurrentUser.search = jest.fn().mockImplementationOnce(() => { + esClientMock.asInternalUser.search = jest.fn().mockImplementationOnce(() => { let actions: Results[] = []; let fleetActions: Results[] = []; let responses: Results[] = []; @@ -281,7 +281,7 @@ describe('Action Log API', () => { }; havingErrors = () => { - esClientMock.asCurrentUser.search = jest.fn().mockImplementationOnce(() => + esClientMock.asInternalUser.search = jest.fn().mockImplementationOnce(() => Promise.resolve(() => { throw new Error(); }) diff --git a/x-pack/plugins/security_solution/server/endpoint/routes/actions/isolation.test.ts b/x-pack/plugins/security_solution/server/endpoint/routes/actions/isolation.test.ts index a483a33ea4c8d..7d839ea99d93b 100644 --- a/x-pack/plugins/security_solution/server/endpoint/routes/actions/isolation.test.ts +++ b/x-pack/plugins/security_solution/server/endpoint/routes/actions/isolation.test.ts @@ -213,10 +213,8 @@ describe('Host Isolation', () => { .mockImplementation(() => Promise.resolve({ body: legacyMetadataSearchResponse(searchResponse) }) ); - if (indexExists) { - ctx.core.elasticsearch.client.asInternalUser.index = mockIndexResponse; - } - ctx.core.elasticsearch.client.asCurrentUser.index = mockIndexResponse; + + ctx.core.elasticsearch.client.asInternalUser.index = mockIndexResponse; ctx.core.elasticsearch.client.asCurrentUser.search = mockSearchResponse; const withLicense = license ? license : Platinum; licenseEmitter.next(withLicense); @@ -268,7 +266,7 @@ describe('Host Isolation', () => { searchResponse: metadataResponse, }); const actionDoc: EndpointAction = ( - ctx.core.elasticsearch.client.asCurrentUser.index as jest.Mock + ctx.core.elasticsearch.client.asInternalUser.index as jest.Mock ).mock.calls[0][0].body; expect(actionDoc.agents).toContain(AgentID); }); @@ -279,7 +277,7 @@ describe('Host Isolation', () => { mockUser: testU, }); const actionDoc: EndpointAction = ( - ctx.core.elasticsearch.client.asCurrentUser.index as jest.Mock + ctx.core.elasticsearch.client.asInternalUser.index as jest.Mock ).mock.calls[0][0].body; expect(actionDoc.user_id).toEqual(testU.username); }); @@ -289,7 +287,7 @@ describe('Host Isolation', () => { body: { endpoint_ids: ['XYZ'], comment: CommentText }, }); const actionDoc: EndpointAction = ( - ctx.core.elasticsearch.client.asCurrentUser.index as jest.Mock + ctx.core.elasticsearch.client.asInternalUser.index as jest.Mock ).mock.calls[0][0].body; expect(actionDoc.data.comment).toEqual(CommentText); }); @@ -298,7 +296,7 @@ describe('Host Isolation', () => { body: { endpoint_ids: ['XYZ'], comment: 'XYZ' }, }); const actionDoc: EndpointAction = ( - ctx.core.elasticsearch.client.asCurrentUser.index as jest.Mock + ctx.core.elasticsearch.client.asInternalUser.index as jest.Mock ).mock.calls[0][0].body; const actionID = actionDoc.action_id; expect(mockResponse.ok).toBeCalled(); @@ -311,7 +309,7 @@ describe('Host Isolation', () => { body: { endpoint_ids: ['XYZ'] }, }); const actionDoc: EndpointAction = ( - ctx.core.elasticsearch.client.asCurrentUser.index as jest.Mock + ctx.core.elasticsearch.client.asInternalUser.index as jest.Mock ).mock.calls[0][0].body; expect(actionDoc.timeout).toEqual(300); }); @@ -324,7 +322,7 @@ describe('Host Isolation', () => { searchResponse: doc, }); const actionDoc: EndpointAction = ( - ctx.core.elasticsearch.client.asCurrentUser.index as jest.Mock + ctx.core.elasticsearch.client.asInternalUser.index as jest.Mock ).mock.calls[0][0].body; expect(actionDoc.agents).toContain(AgentID); }); @@ -334,7 +332,7 @@ describe('Host Isolation', () => { body: { endpoint_ids: ['XYZ'] }, }); const actionDoc: EndpointAction = ( - ctx.core.elasticsearch.client.asCurrentUser.index as jest.Mock + ctx.core.elasticsearch.client.asInternalUser.index as jest.Mock ).mock.calls[0][0].body; expect(actionDoc.data.command).toEqual('isolate'); }); @@ -343,7 +341,7 @@ describe('Host Isolation', () => { body: { endpoint_ids: ['XYZ'] }, }); const actionDoc: EndpointAction = ( - ctx.core.elasticsearch.client.asCurrentUser.index as jest.Mock + ctx.core.elasticsearch.client.asInternalUser.index as jest.Mock ).mock.calls[0][0].body; expect(actionDoc.data.command).toEqual('unisolate'); }); @@ -357,13 +355,12 @@ describe('Host Isolation', () => { }, { endpointDsExists: true } ); + + const indexDoc = ctx.core.elasticsearch.client.asInternalUser.index; const actionDocs: [ { index: string; body: LogsEndpointAction }, { index: string; body: EndpointAction } - ] = [ - (ctx.core.elasticsearch.client.asCurrentUser.index as jest.Mock).mock.calls[0][0], - (ctx.core.elasticsearch.client.asInternalUser.index as jest.Mock).mock.calls[1][0], - ]; + ] = [(indexDoc as jest.Mock).mock.calls[0][0], (indexDoc as jest.Mock).mock.calls[1][0]]; expect(actionDocs[0].index).toEqual(ENDPOINT_ACTIONS_INDEX); expect(actionDocs[1].index).toEqual(AGENT_ACTIONS_INDEX); @@ -379,13 +376,11 @@ describe('Host Isolation', () => { }, { endpointDsExists: true } ); + const indexDoc = ctx.core.elasticsearch.client.asInternalUser.index; const actionDocs: [ { index: string; body: LogsEndpointAction }, { index: string; body: EndpointAction } - ] = [ - (ctx.core.elasticsearch.client.asCurrentUser.index as jest.Mock).mock.calls[0][0], - (ctx.core.elasticsearch.client.asInternalUser.index as jest.Mock).mock.calls[1][0], - ]; + ] = [(indexDoc as jest.Mock).mock.calls[0][0], (indexDoc as jest.Mock).mock.calls[1][0]]; expect(actionDocs[0].index).toEqual(ENDPOINT_ACTIONS_INDEX); expect(actionDocs[1].index).toEqual(AGENT_ACTIONS_INDEX); diff --git a/x-pack/plugins/security_solution/server/endpoint/routes/actions/isolation.ts b/x-pack/plugins/security_solution/server/endpoint/routes/actions/isolation.ts index 02f0cb4867646..78a3ebb8441d8 100644 --- a/x-pack/plugins/security_solution/server/endpoint/routes/actions/isolation.ts +++ b/x-pack/plugins/security_solution/server/endpoint/routes/actions/isolation.ts @@ -73,7 +73,8 @@ const createFailedActionResponseEntry = async ({ doc: LogsEndpointActionResponse; logger: Logger; }): Promise => { - const esClient = context.core.elasticsearch.client.asCurrentUser; + // 8.0+ requires internal user to write to system indices + const esClient = context.core.elasticsearch.client.asInternalUser; try { await esClient.index({ index: `${ENDPOINT_ACTION_RESPONSES_DS}-default`, @@ -181,11 +182,14 @@ export const isolationRequestHandler = function ( logger, dataStreamName: ENDPOINT_ACTIONS_DS, }); + + // 8.0+ requires internal user to write to system indices + const esClient = context.core.elasticsearch.client.asInternalUser; + // if the new endpoint indices/data streams exists - // write the action request to the new index as the current user + // write the action request to the new endpoint index if (doesLogsEndpointActionsDsExist) { try { - const esClient = context.core.elasticsearch.client.asCurrentUser; logsEndpointActionsResult = await esClient.index({ index: `${ENDPOINT_ACTIONS_DS}-default`, body: { @@ -208,14 +212,8 @@ export const isolationRequestHandler = function ( } } + // write actions to .fleet-actions index try { - let esClient = context.core.elasticsearch.client.asCurrentUser; - if (doesLogsEndpointActionsDsExist) { - // create action request record as system user with user in .fleet-actions - esClient = context.core.elasticsearch.client.asInternalUser; - } - // write as the current user if the new indices do not exist - // ({ index: AGENT_ACTIONS_INDEX, body: { diff --git a/x-pack/plugins/security_solution/server/endpoint/routes/actions/status.test.ts b/x-pack/plugins/security_solution/server/endpoint/routes/actions/status.test.ts index e4dc9b049e2ba..50bff936d488d 100644 --- a/x-pack/plugins/security_solution/server/endpoint/routes/actions/status.test.ts +++ b/x-pack/plugins/security_solution/server/endpoint/routes/actions/status.test.ts @@ -114,7 +114,7 @@ describe('Endpoint Action Status', () => { responses: MockResponse[], endpointResponses?: MockEndpointResponse[] ) => { - esClientMock.asCurrentUser.search = jest.fn().mockImplementation((req) => { + esClientMock.asInternalUser.search = jest.fn().mockImplementation((req) => { const size = req.size ? req.size : 10; const items: any[] = req.index === '.fleet-actions' @@ -505,7 +505,7 @@ describe('Endpoint Action Status', () => { responses: MockResponse[], endpointResponses?: MockEndpointResponse[] ) => { - esClientMock.asCurrentUser.search = jest.fn().mockImplementation((req) => { + esClientMock.asInternalUser.search = jest.fn().mockImplementation((req) => { const size = req.size ? req.size : 10; const items: any[] = req.index === '.fleet-actions' diff --git a/x-pack/plugins/security_solution/server/endpoint/routes/actions/status.ts b/x-pack/plugins/security_solution/server/endpoint/routes/actions/status.ts index 32c709aef2b87..b394ea7dfbed7 100644 --- a/x-pack/plugins/security_solution/server/endpoint/routes/actions/status.ts +++ b/x-pack/plugins/security_solution/server/endpoint/routes/actions/status.ts @@ -42,7 +42,7 @@ export const actionStatusRequestHandler = function ( SecuritySolutionRequestHandlerContext > { return async (context, req, res) => { - const esClient = context.core.elasticsearch.client.asCurrentUser; + const esClient = context.core.elasticsearch.client.asInternalUser; const agentIDs: string[] = Array.isArray(req.query.agent_ids) ? [...new Set(req.query.agent_ids)] : [req.query.agent_ids]; diff --git a/x-pack/plugins/security_solution/server/endpoint/schemas/artifacts/lists.ts b/x-pack/plugins/security_solution/server/endpoint/schemas/artifacts/lists.ts index 3a37bfbe9320c..7703304e3ae5c 100644 --- a/x-pack/plugins/security_solution/server/endpoint/schemas/artifacts/lists.ts +++ b/x-pack/plugins/security_solution/server/endpoint/schemas/artifacts/lists.ts @@ -48,6 +48,24 @@ export const translatedEntryMatchWildcard = t.exact( ); export type TranslatedEntryMatchWildcard = t.TypeOf; +export const translatedEntryMatchWildcardNameMatcher = t.keyof({ + exact_cased: null, + exact_caseless: null, +}); +export type TranslatedEntryMatchWildcardNameMatcher = t.TypeOf< + typeof translatedEntryMatchWildcardNameMatcher +>; + +export const translatedEntryMatchWildcardName = t.exact( + t.type({ + field: t.string, + operator, + type: translatedEntryMatchWildcardNameMatcher, + value: t.string, + }) +); +export type TranslatedEntryMatchWildcardName = t.TypeOf; + export const translatedEntryMatch = t.exact( t.type({ field: t.string, @@ -84,6 +102,12 @@ export const translatedEntry = t.union([ ]); export type TranslatedEntry = t.TypeOf; +export const translatedPerformantEntries = t.array( + t.union([translatedEntryMatchWildcard, translatedEntryMatchWildcardName]) +); + +export type TranslatedPerformantEntries = t.TypeOf; + export const translatedExceptionListItem = t.exact( t.type({ type: t.string, diff --git a/x-pack/plugins/security_solution/server/endpoint/services/actions.ts b/x-pack/plugins/security_solution/server/endpoint/services/actions.ts index 8e503f433909d..1fb1eb9647417 100644 --- a/x-pack/plugins/security_solution/server/endpoint/services/actions.ts +++ b/x-pack/plugins/security_solution/server/endpoint/services/actions.ts @@ -9,7 +9,7 @@ import { ElasticsearchClient, Logger } from 'kibana/server'; import { SearchHit, SearchResponse } from '@elastic/elasticsearch/api/types'; import { ApiResponse } from '@elastic/elasticsearch'; import { AGENT_ACTIONS_INDEX, AGENT_ACTIONS_RESULTS_INDEX } from '../../../../fleet/common'; -import { ENDPOINT_ACTION_RESPONSES_INDEX } from '../../../common/endpoint/constants'; +import { ENDPOINT_ACTION_RESPONSES_INDEX_PATTERN } from '../../../common/endpoint/constants'; import { SecuritySolutionRequestHandlerContext } from '../../types'; import { ActivityLog, @@ -293,7 +293,7 @@ const hasEndpointResponseDoc = async ({ const response = await esClient .search( { - index: ENDPOINT_ACTION_RESPONSES_INDEX, + index: ENDPOINT_ACTION_RESPONSES_INDEX_PATTERN, size: 10000, body: { query: { diff --git a/x-pack/plugins/security_solution/server/endpoint/utils/audit_log_helpers.ts b/x-pack/plugins/security_solution/server/endpoint/utils/audit_log_helpers.ts index f75b265bf24d7..efa38f7908ca8 100644 --- a/x-pack/plugins/security_solution/server/endpoint/utils/audit_log_helpers.ts +++ b/x-pack/plugins/security_solution/server/endpoint/utils/audit_log_helpers.ts @@ -12,7 +12,7 @@ import { ApiResponse } from '@elastic/elasticsearch'; import { AGENT_ACTIONS_INDEX, AGENT_ACTIONS_RESULTS_INDEX } from '../../../../fleet/common'; import { ENDPOINT_ACTIONS_INDEX, - ENDPOINT_ACTION_RESPONSES_INDEX, + ENDPOINT_ACTION_RESPONSES_INDEX_PATTERN, failedFleetActionErrorCode, } from '../../../common/endpoint/constants'; import { SecuritySolutionRequestHandlerContext } from '../../types'; @@ -32,10 +32,12 @@ import { import { doesLogsEndpointActionsIndexExist } from '../utils'; const actionsIndices = [AGENT_ACTIONS_INDEX, ENDPOINT_ACTIONS_INDEX]; -const responseIndices = [AGENT_ACTIONS_RESULTS_INDEX, ENDPOINT_ACTION_RESPONSES_INDEX]; +// search all responses indices irrelevant of namespace +const responseIndices = [AGENT_ACTIONS_RESULTS_INDEX, ENDPOINT_ACTION_RESPONSES_INDEX_PATTERN]; export const logsEndpointActionsRegex = new RegExp(`(^\.ds-\.logs-endpoint\.actions-default-).+`); +// matches index names like .ds-.logs-endpoint.action.responses-name_space---suffix-2022.01.25-000001 export const logsEndpointResponsesRegex = new RegExp( - `(^\.ds-\.logs-endpoint\.action\.responses-default-).+` + `(^\.ds-\.logs-endpoint\.action\.responses-\\w+-).+` ); const queryOptions = { headers: { @@ -191,7 +193,7 @@ export const getActionRequestsResult = async ({ let actionRequests: ApiResponse, unknown>; try { - const esClient = context.core.elasticsearch.client.asCurrentUser; + const esClient = context.core.elasticsearch.client.asInternalUser; actionRequests = await esClient.search(actionsSearchQuery, queryOptions); const actionIds = actionRequests?.body?.hits?.hits?.map((e) => { return logsEndpointActionsRegex.test(e._index) @@ -231,7 +233,7 @@ export const getActionResponsesResult = async ({ const hasLogsEndpointActionResponsesIndex = await doesLogsEndpointActionsIndexExist({ context, logger, - indexName: ENDPOINT_ACTION_RESPONSES_INDEX, + indexName: ENDPOINT_ACTION_RESPONSES_INDEX_PATTERN, }); const responsesSearchQuery: SearchRequest = { @@ -248,7 +250,7 @@ export const getActionResponsesResult = async ({ let actionResponses: ApiResponse, unknown>; try { - const esClient = context.core.elasticsearch.client.asCurrentUser; + const esClient = context.core.elasticsearch.client.asInternalUser; actionResponses = await esClient.search(responsesSearchQuery, queryOptions); } catch (error) { logger.error(error); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/legacy_rules_notification_alert_type.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/legacy_rules_notification_alert_type.test.ts index 6c0ffa65a9afa..f064380cc4a13 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/legacy_rules_notification_alert_type.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/legacy_rules_notification_alert_type.test.ts @@ -88,7 +88,7 @@ describe('legacyRules_notification_alert_type', () => { }); await alert.executor(payload); expect(logger.error).toHaveBeenCalledWith( - `Security Solution notification (Legacy) saved object for alert ${payload.params.ruleAlertId} was not found` + `Security Solution notification (Legacy) saved object for alert ${payload.params.ruleAlertId} was not found with id: \"1111\". space id: \"\" This indicates a dangling (Legacy) notification alert. You should delete this rule through \"Kibana UI -> Stack Management -> Rules and Connectors\" to remove this error message.` ); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/legacy_rules_notification_alert_type.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/legacy_rules_notification_alert_type.ts index fa05b1fb5b07a..a5622ae68b6b9 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/legacy_rules_notification_alert_type.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/legacy_rules_notification_alert_type.ts @@ -51,11 +51,7 @@ export const legacyRulesNotificationAlertType = ({ }, minimumLicenseRequired: 'basic', isExportable: false, - async executor({ startedAt, previousStartedAt, alertId, services, params }) { - // TODO: Change this to be a link to documentation on how to migrate: https://github.com/elastic/kibana/issues/113055 - logger.warn( - 'Security Solution notification (Legacy) system detected still running. Please see documentation on how to migrate to the new notification system.' - ); + async executor({ startedAt, previousStartedAt, alertId, services, params, spaceId }) { const ruleAlertSavedObject = await services.savedObjectsClient.get( 'alert', params.ruleAlertId @@ -63,17 +59,26 @@ export const legacyRulesNotificationAlertType = ({ if (!ruleAlertSavedObject.attributes.params) { logger.error( - `Security Solution notification (Legacy) saved object for alert ${params.ruleAlertId} was not found` + [ + `Security Solution notification (Legacy) saved object for alert ${params.ruleAlertId} was not found with`, + `id: "${alertId}".`, + `space id: "${spaceId}"`, + 'This indicates a dangling (Legacy) notification alert.', + 'You should delete this rule through "Kibana UI -> Stack Management -> Rules and Connectors" to remove this error message.', + ].join(' ') ); return; } + logger.warn( [ 'Security Solution notification (Legacy) system still active for alert with', `name: "${ruleAlertSavedObject.attributes.name}"`, `description: "${ruleAlertSavedObject.attributes.params.description}"`, `id: "${ruleAlertSavedObject.id}".`, - `Please see documentation on how to migrate to the new notification system.`, + `space id: "${spaceId}"`, + 'Editing or updating this rule through "Kibana UI -> Security -> Alerts -> Manage Rules"', + 'will auto-migrate the rule to the new notification system and remove this warning message.', ].join(' ') ); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.ts index 6aecfff1178bc..d8ca1a6e77ddc 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.ts @@ -25,6 +25,7 @@ import { transformValidateBulkError } from './validate'; import { transformBulkError, buildSiemResponse, createBulkErrorObject } from '../utils'; import { deleteRules } from '../../rules/delete_rules'; import { readRules } from '../../rules/read_rules'; +import { legacyMigrate } from '../../rules/utils'; type Config = RouteConfig; type Handler = RequestHandler< @@ -60,6 +61,7 @@ export const deleteRulesBulkRoute = ( } const ruleStatusClient = context.securitySolution.getExecutionLogClient(); + const savedObjectsClient = context.core.savedObjects.client; const rules = await Promise.all( request.body.map(async (payloadRule) => { @@ -76,24 +78,29 @@ export const deleteRulesBulkRoute = ( try { const rule = await readRules({ rulesClient, id, ruleId, isRuleRegistryEnabled }); - if (!rule) { + const migratedRule = await legacyMigrate({ + rulesClient, + savedObjectsClient, + rule, + }); + if (!migratedRule) { return getIdBulkError({ id, ruleId }); } const ruleStatuses = await ruleStatusClient.find({ logsCount: 6, - ruleId: rule.id, + ruleId: migratedRule.id, spaceId: context.securitySolution.getSpaceId(), }); await deleteRules({ rulesClient, ruleStatusClient, ruleStatuses, - id: rule.id, + id: migratedRule.id, }); return transformValidateBulkError( idOrRuleIdOrUnknown, - rule, + migratedRule, ruleStatuses, isRuleRegistryEnabled ); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.ts index 77b8dd6fc5b54..5172244252011 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.ts @@ -19,6 +19,7 @@ import { getIdError, transform } from './utils'; import { buildSiemResponse } from '../utils'; import { readRules } from '../../rules/read_rules'; +import { legacyMigrate } from '../../rules/utils'; export const deleteRulesRoute = ( router: SecuritySolutionPluginRouter, @@ -47,14 +48,20 @@ export const deleteRulesRoute = ( const { id, rule_id: ruleId } = request.query; const rulesClient = context.alerting?.getRulesClient(); - + const savedObjectsClient = context.core.savedObjects.client; if (!rulesClient) { return siemResponse.error({ statusCode: 404 }); } const ruleStatusClient = context.securitySolution.getExecutionLogClient(); const rule = await readRules({ isRuleRegistryEnabled, rulesClient, id, ruleId }); - if (!rule) { + const migratedRule = await legacyMigrate({ + rulesClient, + savedObjectsClient, + rule, + }); + + if (!migratedRule) { const error = getIdError({ id, ruleId }); return siemResponse.error({ body: error.message, @@ -64,16 +71,17 @@ export const deleteRulesRoute = ( const ruleStatuses = await ruleStatusClient.find({ logsCount: 6, - ruleId: rule.id, + ruleId: migratedRule.id, spaceId: context.securitySolution.getSpaceId(), }); + await deleteRules({ rulesClient, ruleStatusClient, ruleStatuses, - id: rule.id, + id: migratedRule.id, }); - const transformed = transform(rule, ruleStatuses[0], isRuleRegistryEnabled); + const transformed = transform(migratedRule, ruleStatuses[0], isRuleRegistryEnabled); if (transformed == null) { return siemResponse.error({ statusCode: 500, body: 'failed to transform alert' }); } else { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.ts index 187de40d33df0..11af06330a413 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.ts @@ -120,18 +120,29 @@ export const importRulesRoute = ( const [duplicateIdErrors, parsedObjectsWithoutDuplicateErrors] = getTupleDuplicateErrorsAndUniqueRules(parsedObjects, request.query.overwrite); - const [nonExistentActionErrors, uniqueParsedObjects] = await getInvalidConnectors( - parsedObjectsWithoutDuplicateErrors, - actionsClient + let parsedRules; + let actionErrors: BulkError[] = []; + const actualRules = parsedObjects.filter( + (rule): rule is ImportRulesSchemaDecoded => !(rule instanceof Error) ); - const chunkParseObjects = chunk(CHUNK_PARSED_OBJECT_SIZE, uniqueParsedObjects); + if (actualRules.some((rule) => rule.actions.length > 0)) { + const [nonExistentActionErrors, uniqueParsedObjects] = await getInvalidConnectors( + parsedObjectsWithoutDuplicateErrors, + actionsClient + ); + parsedRules = uniqueParsedObjects; + actionErrors = nonExistentActionErrors; + } else { + parsedRules = parsedObjectsWithoutDuplicateErrors; + } + const chunkParseObjects = chunk(CHUNK_PARSED_OBJECT_SIZE, parsedRules); let importRuleResponse: ImportRuleResponse[] = []; // If we had 100% errors and no successful rule could be imported we still have to output an error. // otherwise we would output we are success importing 0 rules. if (chunkParseObjects.length === 0) { - importRuleResponse = [...nonExistentActionErrors, ...duplicateIdErrors]; + importRuleResponse = [...actionErrors, ...duplicateIdErrors]; } while (chunkParseObjects.length) { @@ -370,7 +381,7 @@ export const importRulesRoute = ( }, []) ); importRuleResponse = [ - ...nonExistentActionErrors, + ...actionErrors, ...duplicateIdErrors, ...importRuleResponse, ...newImportRuleResponse, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.ts index 7472d41b9ab77..affdc36e32d27 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.ts @@ -13,7 +13,7 @@ import { RulesSchema } from '../../../../../common/detection_engine/schemas/resp import { ImportRulesSchemaDecoded } from '../../../../../common/detection_engine/schemas/request/import_rules_schema'; import { CreateRulesBulkSchema } from '../../../../../common/detection_engine/schemas/request/create_rules_bulk_schema'; import { PartialAlert, FindResult } from '../../../../../../alerting/server'; -import { ActionsClient } from '../../../../../../actions/server'; +import { ActionsClient, FindActionResult } from '../../../../../../actions/server'; import { INTERNAL_IDENTIFIER } from '../../../../../common/constants'; import { RuleAlertType, @@ -207,7 +207,32 @@ export const getInvalidConnectors = async ( rules: PromiseFromStreams[], actionsClient: ActionsClient ): Promise<[BulkError[], PromiseFromStreams[]]> => { - const actionsFind = await actionsClient.getAll(); + let actionsFind: FindActionResult[] = []; + const reducerAccumulator = { + errors: new Map(), + rulesAcc: new Map(), + }; + try { + actionsFind = await actionsClient.getAll(); + } catch (exc) { + if (exc?.output?.statusCode === 403) { + reducerAccumulator.errors.set( + uuid.v4(), + createBulkErrorObject({ + statusCode: exc.output.statusCode, + message: `You may not have actions privileges required to import rules with actions: ${exc.output.payload.message}`, + }) + ); + } else { + reducerAccumulator.errors.set( + uuid.v4(), + createBulkErrorObject({ + statusCode: 404, + message: JSON.stringify(exc), + }) + ); + } + } const actionIds = new Set(actionsFind.map((action) => action.id)); const { errors, rulesAcc } = rules.reduce( (acc, parsedRule) => { @@ -241,10 +266,7 @@ export const getInvalidConnectors = async ( } return acc; }, // using map (preserves ordering) - { - errors: new Map(), - rulesAcc: new Map(), - } + reducerAccumulator ); return [Array.from(errors.values()), Array.from(rulesAcc.values())]; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/create_security_rule_type_wrapper.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/create_security_rule_type_wrapper.ts index 7d808777feb3c..c7d0725996477 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/create_security_rule_type_wrapper.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/create_security_rule_type_wrapper.ts @@ -164,7 +164,7 @@ export const createSecurityRuleTypeWrapper: CreateSecurityRuleTypeWrapper = } } catch (exc) { const errorMessage = buildRuleMessage(`Check privileges failed to execute ${exc}`); - logger.error(errorMessage); + logger.warn(errorMessage); await ruleStatusClient.logStatusChange({ ...basicLogArguments, message: errorMessage, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.ts index ec25b45dd1597..76940b3f4940b 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.ts @@ -314,7 +314,7 @@ export const legacyMigrate = async ({ } /** * On update / patch I'm going to take the actions as they are, better off taking rules client.find (siem.notification) result - * and putting that into the actions array of the rule, then set the rules onThrottle property, notifyWhen and throttle from null -> actualy value (1hr etc..) + * and putting that into the actions array of the rule, then set the rules onThrottle property, notifyWhen and throttle from null -> actual value (1hr etc..) * Then use the rules client to delete the siem.notification * Then with the legacy Rule Actions saved object type, just delete it. */ @@ -323,6 +323,7 @@ export const legacyMigrate = async ({ const [siemNotification, legacyRuleActionsSO] = await Promise.all([ rulesClient.find({ options: { + filter: 'alert.attributes.alertTypeId:(siem.notifications)', hasReference: { type: 'alert', id: rule.id, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/legacy_notifications/one_action.json b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/legacy_notifications/one_action.json index bf980e370e3a3..cf03a90dfe72b 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/legacy_notifications/one_action.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/legacy_notifications/one_action.json @@ -3,7 +3,7 @@ "interval": "1m", "actions": [ { - "id": "1fa31c30-3046-11ec-8971-1f3f7bae65af", + "id": "0cae9900-6e54-11ec-a124-bfe603780ab8", "group": "default", "params": { "message": "Hourly\nRule {{context.rule.name}} generated {{state.signals_count}} alerts" diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter/detections_role.json b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter/detections_role.json index f9d2c68e6878a..f68558058ab55 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter/detections_role.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter/detections_role.json @@ -24,11 +24,7 @@ "privileges": ["read", "write"] }, { - "names": [ - "metrics-endpoint.metadata_current_*", - ".fleet-agents*", - ".fleet-actions*" - ], + "names": ["metrics-endpoint.metadata_current_*", ".fleet-agents*", ".fleet-actions*"], "privileges": ["read"] } ] diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/README.md b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/README.md new file mode 100644 index 0000000000000..7708972614098 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/README.md @@ -0,0 +1,11 @@ +This user can CRUD rules and signals. The main difference here is the user has + +```json +"builtInAlerts": ["all"], +``` + +privileges whereas the T1 and T2 have "read" privileges which prevents them from creating rules + +| Role | Data Sources | Security Solution ML Jobs/Results | Lists | Rules/Exceptions | Action Connectors | Signals/Alerts | +| :-----------------: | :----------: | :------------------: | :---: | :--------------: | :---------------: | :------------: | +| Hunter / T3 Analyst | read, write | read | read | read, write | none | read, write | diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/delete_detections_user.sh b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/delete_detections_user.sh new file mode 100755 index 0000000000000..8f2ffcb27f111 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/delete_detections_user.sh @@ -0,0 +1,11 @@ + +# +# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +# or more contributor license agreements. Licensed under the Elastic License +# 2.0; you may not use this file except in compliance with the Elastic License +# 2.0. +# + +curl -v -H 'Content-Type: application/json' -H 'kbn-xsrf: 123'\ + -u ${ELASTICSEARCH_USERNAME}:${ELASTICSEARCH_PASSWORD} \ +-XDELETE ${ELASTICSEARCH_URL}/_security/user/hunter_no_actions diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/detections_role.json b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/detections_role.json new file mode 100644 index 0000000000000..e8000d6bb50e7 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/detections_role.json @@ -0,0 +1,43 @@ +{ + "elasticsearch": { + "cluster": [], + "indices": [ + { + "names": [ + "apm-*-transaction*", + "traces-apm*", + "auditbeat-*", + "endgame-*", + "filebeat-*", + "logs-*", + "packetbeat-*", + "winlogbeat-*" + ], + "privileges": ["read", "write"] + }, + { + "names": [".alerts-security*", ".siem-signals-*"], + "privileges": ["read", "write"] + }, + { + "names": [".lists*", ".items*"], + "privileges": ["read", "write"] + }, + { + "names": ["metrics-endpoint.metadata_current_*", ".fleet-agents*", ".fleet-actions*"], + "privileges": ["read"] + } + ] + }, + "kibana": [ + { + "feature": { + "ml": ["read"], + "siem": ["all", "read_alerts", "crud_alerts"], + "securitySolutionCases": ["all"], + "builtInAlerts": ["all"] + }, + "spaces": ["*"] + } + ] +} diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/detections_user.json b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/detections_user.json new file mode 100644 index 0000000000000..c059863b3ca1f --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/detections_user.json @@ -0,0 +1,6 @@ +{ + "password": "changeme", + "roles": ["hunter_no_actions"], + "full_name": "Hunter No Actions", + "email": "detections-reader@example.com" +} diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/get_detections_role.sh b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/get_detections_role.sh new file mode 100755 index 0000000000000..49deae0c6c450 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/get_detections_role.sh @@ -0,0 +1,11 @@ + +# +# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +# or more contributor license agreements. Licensed under the Elastic License +# 2.0; you may not use this file except in compliance with the Elastic License +# 2.0. +# + +curl -H 'Content-Type: application/json' -H 'kbn-xsrf: 123'\ + -u ${ELASTICSEARCH_USERNAME}:${ELASTICSEARCH_PASSWORD} \ +-XGET ${KIBANA_URL}/api/security/role/hunter_no_actions | jq -S . diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/index.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/index.ts new file mode 100644 index 0000000000000..16d50f9b59daa --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import * as hunterNoActionsUser from './detections_user.json'; +import * as hunterNoActionsRole from './detections_role.json'; +export { hunterNoActionsUser, hunterNoActionsRole }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/post_detections_role.sh b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/post_detections_role.sh new file mode 100755 index 0000000000000..aa4f832649b08 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/post_detections_role.sh @@ -0,0 +1,14 @@ + +# +# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +# or more contributor license agreements. Licensed under the Elastic License +# 2.0; you may not use this file except in compliance with the Elastic License +# 2.0. +# + +ROLE=(${@:-./detections_role.json}) + +curl -H 'Content-Type: application/json' -H 'kbn-xsrf: 123'\ + -u ${ELASTICSEARCH_USERNAME}:${ELASTICSEARCH_PASSWORD} \ +-XPUT ${KIBANA_URL}/api/security/role/hunter_no_actions \ +-d @${ROLE} diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/post_detections_user.sh b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/post_detections_user.sh new file mode 100755 index 0000000000000..4840cf3c903eb --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/hunter_no_actions/post_detections_user.sh @@ -0,0 +1,14 @@ + +# +# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one +# or more contributor license agreements. Licensed under the Elastic License +# 2.0; you may not use this file except in compliance with the Elastic License +# 2.0. +# + +USER=(${@:-./detections_user.json}) + +curl -H 'Content-Type: application/json' -H 'kbn-xsrf: 123'\ + -u ${ELASTICSEARCH_USERNAME}:${ELASTICSEARCH_PASSWORD} \ + ${ELASTICSEARCH_URL}/_security/user/hunter_no_actions \ +-d @${USER} diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/index.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/index.ts index bcdc472477531..7bcef506a6671 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/index.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users/index.ts @@ -7,6 +7,7 @@ export * from './detections_admin'; export * from './hunter'; +export * from './hunter_no_actions'; export * from './platform_engineer'; export * from './reader'; export * from './rule_author'; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.test.ts index ce2b15a46ef6f..ba10127efd58f 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.test.ts @@ -779,7 +779,7 @@ describe('utils', () => { }, }, }; - mockLogger.error.mockClear(); + mockLogger.warn.mockClear(); const res = await hasTimestampFields({ timestampField, ruleName: 'myfakerulename', @@ -793,11 +793,12 @@ describe('utils', () => { logger: mockLogger, buildRuleMessage, }); - expect(mockLogger.error).toHaveBeenCalledWith( + expect(mockLogger.warn).toHaveBeenCalledWith( 'The following indices are missing the timestamp override field "event.ingested": ["myfakeindex-1","myfakeindex-2"] name: "fake name" id: "fake id" rule id: "fake rule id" signals index: "fakeindex"' ); expect(res).toBeTruthy(); }); + test('returns true when missing timestamp field', async () => { const timestampField = '@timestamp'; // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -822,7 +823,7 @@ describe('utils', () => { }, }, }; - mockLogger.error.mockClear(); + mockLogger.warn.mockClear(); const res = await hasTimestampFields({ timestampField, ruleName: 'myfakerulename', @@ -836,7 +837,7 @@ describe('utils', () => { logger: mockLogger, buildRuleMessage, }); - expect(mockLogger.error).toHaveBeenCalledWith( + expect(mockLogger.warn).toHaveBeenCalledWith( 'The following indices are missing the timestamp field "@timestamp": ["myfakeindex-1","myfakeindex-2"] name: "fake name" id: "fake id" rule id: "fake rule id" signals index: "fakeindex"' ); expect(res).toBeTruthy(); @@ -851,7 +852,7 @@ describe('utils', () => { fields: {}, }, }; - mockLogger.error.mockClear(); + mockLogger.warn.mockClear(); const res = await hasTimestampFields({ timestampField, ruleName: 'Endpoint Security', @@ -865,7 +866,7 @@ describe('utils', () => { logger: mockLogger, buildRuleMessage, }); - expect(mockLogger.error).toHaveBeenCalledWith( + expect(mockLogger.warn).toHaveBeenCalledWith( 'This rule is attempting to query data from Elasticsearch indices listed in the "Index pattern" section of the rule definition, however no index matching: ["logs-endpoint.alerts-*"] was found. This warning will continue to appear until a matching index is created or this rule is de-activated. If you have recently enrolled agents enabled with Endpoint Security through Fleet, this warning should stop once an alert is sent from an agent. name: "fake name" id: "fake id" rule id: "fake rule id" signals index: "fakeindex"' ); expect(res).toBeTruthy(); @@ -880,7 +881,7 @@ describe('utils', () => { fields: {}, }, }; - mockLogger.error.mockClear(); + mockLogger.warn.mockClear(); const res = await hasTimestampFields({ timestampField, ruleName: 'NOT Endpoint Security', @@ -894,7 +895,7 @@ describe('utils', () => { logger: mockLogger, buildRuleMessage, }); - expect(mockLogger.error).toHaveBeenCalledWith( + expect(mockLogger.warn).toHaveBeenCalledWith( 'This rule is attempting to query data from Elasticsearch indices listed in the "Index pattern" section of the rule definition, however no index matching: ["logs-endpoint.alerts-*"] was found. This warning will continue to appear until a matching index is created or this rule is de-activated. name: "fake name" id: "fake id" rule id: "fake rule id" signals index: "fakeindex"' ); expect(res).toBeTruthy(); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts index 0a3eda70bbd87..9ffe63e614b63 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts @@ -126,7 +126,7 @@ export const hasReadIndexPrivileges = async (args: { const errorString = `This rule may not have the required read privileges to the following indices/index patterns: ${JSON.stringify( indexesWithNoReadPrivileges )}`; - logger.error(buildRuleMessage(errorString)); + logger.warn(buildRuleMessage(errorString)); await ruleStatusClient.logStatusChange({ message: errorString, ruleId, @@ -176,7 +176,7 @@ export const hasTimestampFields = async (args: { ? 'If you have recently enrolled agents enabled with Endpoint Security through Fleet, this warning should stop once an alert is sent from an agent.' : '' }`; - logger.error(buildRuleMessage(errorString.trimEnd())); + logger.warn(buildRuleMessage(errorString.trimEnd())); await ruleStatusClient.logStatusChange({ message: errorString.trimEnd(), ruleId, @@ -203,7 +203,7 @@ export const hasTimestampFields = async (args: { ? timestampFieldCapsResponse.body.indices : timestampFieldCapsResponse.body.fields[timestampField]?.unmapped?.indices )}`; - logger.error(buildRuleMessage(errorString)); + logger.warn(buildRuleMessage(errorString)); await ruleStatusClient.logStatusChange({ message: errorString, ruleId, diff --git a/x-pack/plugins/security_solution/server/lib/telemetry/helpers.test.ts b/x-pack/plugins/security_solution/server/lib/telemetry/helpers.test.ts index 77c78c4dba28d..0d2fca197e74d 100644 --- a/x-pack/plugins/security_solution/server/lib/telemetry/helpers.test.ts +++ b/x-pack/plugins/security_solution/server/lib/telemetry/helpers.test.ts @@ -14,13 +14,15 @@ import { LIST_TRUSTED_APPLICATION, } from './constants'; import { + extractEndpointPolicyConfig, getPreviousDiagTaskTimestamp, getPreviousDailyTaskTimestamp, batchTelemetryRecords, isPackagePolicyList, templateExceptionList, } from './helpers'; -import { ExceptionListItem } from './types'; +import type { ExceptionListItem } from './types'; +import { PolicyData } from '../../../common/endpoint/types'; describe('test diagnostic telemetry scheduled task timing helper', () => { test('test -5 mins is returned when there is no previous task run', async () => { @@ -220,3 +222,39 @@ describe('list telemetry schema', () => { expect(templatedItems[0]?.trusted_application).toBeUndefined(); }); }); + +describe('test endpoint policy data config extraction', () => { + const stubPolicyData = { + id: '872de8c5-85cf-4e1b-a504-9fd39b38570c', + version: 'WzU4MjkwLDFd', + name: 'Test Policy Data', + namespace: 'default', + description: '', + package: { + name: 'endpoint', + title: 'Endpoint Security', + version: '1.4.1', + }, + enabled: true, + policy_id: '499b5aa7-d214-5b5d-838b-3cd76469844e', + output_id: '', + inputs: [ + { + type: 'endpoint', + enabled: true, + streams: [], + config: null, + }, + ], + revision: 1, + created_at: '2022-01-18T14:52:17.385Z', + created_by: 'elastic', + updated_at: '2022-01-18T14:52:17.385Z', + updated_by: 'elastic', + } as unknown as PolicyData; + + test('can succeed when policy config is null or empty', async () => { + const endpointPolicyConfig = extractEndpointPolicyConfig(stubPolicyData); + expect(endpointPolicyConfig).toBeNull(); + }); +}); diff --git a/x-pack/plugins/security_solution/server/lib/telemetry/helpers.ts b/x-pack/plugins/security_solution/server/lib/telemetry/helpers.ts index 37f6debd50257..3abd17b47b73b 100644 --- a/x-pack/plugins/security_solution/server/lib/telemetry/helpers.ts +++ b/x-pack/plugins/security_solution/server/lib/telemetry/helpers.ts @@ -9,14 +9,14 @@ import moment from 'moment'; import type { ExceptionListItemSchema } from '@kbn/securitysolution-io-ts-list-types'; import { PackagePolicy } from '../../../../fleet/common/types/models/package_policy'; import { copyAllowlistedFields, exceptionListEventFields } from './filters'; -import { ExceptionListItem, ListTemplate, TelemetryEvent } from './types'; +import type { ExceptionListItem, ListTemplate, TelemetryEvent } from './types'; import { LIST_DETECTION_RULE_EXCEPTION, LIST_ENDPOINT_EXCEPTION, LIST_ENDPOINT_EVENT_FILTER, LIST_TRUSTED_APPLICATION, } from './constants'; -import { TrustedApp } from '../../../common/endpoint/types'; +import { TrustedApp, PolicyData } from '../../../common/endpoint/types'; /** * Determines the when the last run was in order to execute to. @@ -200,6 +200,14 @@ export const templateExceptionList = (listData: ExceptionListItem[], listType: s * @param label_list the list of labels to create standardized UsageCounter from * @returns a string label for usage in the UsageCounter */ -export function createUsageCounterLabel(labelList: string[]): string { - return labelList.join('-'); -} +export const createUsageCounterLabel = (labelList: string[]): string => labelList.join('-'); + +/** + * Resiliantly handles an edge case where the endpoint config details are not present + * + * @returns the endpoint policy configuration + */ +export const extractEndpointPolicyConfig = (policyData: PolicyData | null) => { + const epPolicyConfig = policyData?.inputs[0]?.config?.policy; + return epPolicyConfig ? epPolicyConfig : null; +}; diff --git a/x-pack/plugins/security_solution/server/lib/telemetry/sender.ts b/x-pack/plugins/security_solution/server/lib/telemetry/sender.ts index 3a8d503c9311f..41b8bcdb868d3 100644 --- a/x-pack/plugins/security_solution/server/lib/telemetry/sender.ts +++ b/x-pack/plugins/security_solution/server/lib/telemetry/sender.ts @@ -178,6 +178,7 @@ export class TelemetryEventsSender { telemetryUrl, 'alerts-endpoint', clusterInfo?.cluster_uuid, + clusterInfo?.cluster_name, clusterInfo?.version?.number, licenseInfo?.uid ); @@ -220,6 +221,7 @@ export class TelemetryEventsSender { telemetryUrl, channel, clusterInfo?.cluster_uuid, + clusterInfo?.cluster_name, clusterInfo?.version?.number, licenseInfo?.uid ); @@ -254,6 +256,7 @@ export class TelemetryEventsSender { telemetryUrl: string, channel: string, clusterUuid: string | undefined, + clusterName: string | undefined, clusterVersionNumber: string | undefined, licenseId: string | undefined ) { @@ -265,6 +268,7 @@ export class TelemetryEventsSender { headers: { 'Content-Type': 'application/x-ndjson', 'X-Elastic-Cluster-ID': clusterUuid, + 'X-Elastic-Cluster-Name': clusterName, 'X-Elastic-Stack-Version': clusterVersionNumber ? clusterVersionNumber : '7.10.0', ...(licenseId ? { 'X-Elastic-License-ID': licenseId } : {}), }, diff --git a/x-pack/plugins/security_solution/server/lib/telemetry/tasks/endpoint.ts b/x-pack/plugins/security_solution/server/lib/telemetry/tasks/endpoint.ts index a06aac19d313b..fd57082cb0a38 100644 --- a/x-pack/plugins/security_solution/server/lib/telemetry/tasks/endpoint.ts +++ b/x-pack/plugins/security_solution/server/lib/telemetry/tasks/endpoint.ts @@ -16,6 +16,7 @@ import { TelemetryReceiver } from '../receiver'; import { TaskExecutionPeriod } from '../task'; import { batchTelemetryRecords, + extractEndpointPolicyConfig, getPreviousDailyTaskTimestamp, isPackagePolicyList, } from '../helpers'; @@ -129,11 +130,11 @@ export function createTelemetryEndpointTaskConfig(maxTelemetryBatch: number) { packagePolicies .map((pPolicy) => pPolicy as PolicyData) .forEach((pPolicy) => { - if (pPolicy.inputs[0].config !== undefined) { + if (pPolicy.inputs[0]?.config !== undefined && pPolicy.inputs[0]?.config !== null) { pPolicy.inputs.forEach((input) => { if ( input.type === FLEET_ENDPOINT_PACKAGE && - input.config !== undefined && + input?.config !== undefined && policyInfo !== undefined ) { endpointPolicyCache.set(policyInfo, pPolicy); @@ -196,6 +197,7 @@ export function createTelemetryEndpointTaskConfig(maxTelemetryBatch: number) { } const { cpu, memory, uptime } = endpoint.endpoint_metrics.Endpoint.metrics; + const endpointPolicyDetail = extractEndpointPolicyConfig(policyConfig); return { '@timestamp': taskExecutionPeriod.current, @@ -210,7 +212,7 @@ export function createTelemetryEndpointTaskConfig(maxTelemetryBatch: number) { endpoint_meta: { os: endpoint.endpoint_metrics.host.os, }, - policy_config: policyConfig !== null ? policyConfig?.inputs[0].config.policy : {}, + policy_config: endpointPolicyDetail !== null ? endpointPolicyDetail : {}, policy_response: failedPolicy !== null && failedPolicy !== undefined ? { diff --git a/x-pack/plugins/security_solution/server/lib/timeline/saved_object/timelines/index.test.ts b/x-pack/plugins/security_solution/server/lib/timeline/saved_object/timelines/index.test.ts index 112796df527fa..0b0f4bf558eb8 100644 --- a/x-pack/plugins/security_solution/server/lib/timeline/saved_object/timelines/index.test.ts +++ b/x-pack/plugins/security_solution/server/lib/timeline/saved_object/timelines/index.test.ts @@ -220,11 +220,10 @@ describe('saved_object', () => { test('should send correct options for counts of favorite timeline', async () => { expect(mockFindSavedObject.mock.calls[5][0]).toEqual({ filter: - 'not siem-ui-timeline.attributes.status: draft and not siem-ui-timeline.attributes.status: immutable', + 'not siem-ui-timeline.attributes.status: draft and not siem-ui-timeline.attributes.status: immutable and siem-ui-timeline.attributes.favorite.keySearch: dXNlcm5hbWU=', page: 1, perPage: 1, - search: ' dXNlcm5hbWU=', - searchFields: ['title', 'description', 'favorite.keySearch'], + searchFields: ['title', 'description'], type: 'siem-ui-timeline', }); }); diff --git a/x-pack/plugins/security_solution/server/lib/timeline/saved_object/timelines/index.ts b/x-pack/plugins/security_solution/server/lib/timeline/saved_object/timelines/index.ts index cc28e0c9eb853..d9bc1ccfa2fe4 100644 --- a/x-pack/plugins/security_solution/server/lib/timeline/saved_object/timelines/index.ts +++ b/x-pack/plugins/security_solution/server/lib/timeline/saved_object/timelines/index.ts @@ -161,9 +161,26 @@ const getTimelineTypeFilter = ( : `not siem-ui-timeline.attributes.status: ${TimelineStatus.immutable}`; const filters = [typeFilter, draftFilter, immutableFilter]; - return filters.filter((f) => f != null).join(' and '); + return combineFilters(filters); }; +const getTimelineFavoriteFilter = ({ + onlyUserFavorite, + request, +}: { + onlyUserFavorite: boolean | null; + request: FrameworkRequest; +}) => { + if (!onlyUserFavorite) { + return null; + } + const username = request.user?.username ?? UNAUTHENTICATED_USER; + return `siem-ui-timeline.attributes.favorite.keySearch: ${convertStringToBase64(username)}`; +}; + +const combineFilters = (filters: Array) => + filters.filter((f) => f != null).join(' and '); + export const getExistingPrepackagedTimelines = async ( request: FrameworkRequest, countsOnly?: boolean, @@ -197,15 +214,19 @@ export const getAllTimeline = async ( status: TimelineStatusLiteralWithNull, timelineType: TimelineTypeLiteralWithNull ): Promise => { + const searchTerm = search != null ? search : undefined; + const searchFields = ['title', 'description']; + const filter = combineFilters([ + getTimelineTypeFilter(timelineType ?? null, status ?? null), + getTimelineFavoriteFilter({ onlyUserFavorite, request }), + ]); const options: SavedObjectsFindOptions = { type: timelineSavedObjectType, perPage: pageInfo.pageSize, page: pageInfo.pageIndex, - search: search != null ? search : undefined, - searchFields: onlyUserFavorite - ? ['title', 'description', 'favorite.keySearch'] - : ['title', 'description'], - filter: getTimelineTypeFilter(timelineType ?? null, status ?? null), + filter, + search: searchTerm, + searchFields, sortField: sort != null ? sort.sortField : undefined, sortOrder: sort != null ? sort.sortOrder : undefined, }; @@ -233,10 +254,14 @@ export const getAllTimeline = async ( const favoriteTimelineOptions = { type: timelineSavedObjectType, - searchFields: ['title', 'description', 'favorite.keySearch'], + search: searchTerm, + searchFields, perPage: 1, page: 1, - filter: getTimelineTypeFilter(timelineType ?? null, TimelineStatus.active), + filter: combineFilters([ + getTimelineTypeFilter(timelineType ?? null, TimelineStatus.active), + getTimelineFavoriteFilter({ onlyUserFavorite: true, request }), + ]), }; const result = await Promise.all([ @@ -623,11 +648,6 @@ const getSavedTimeline = async (request: FrameworkRequest, timelineId: string) = const getAllSavedTimeline = async (request: FrameworkRequest, options: SavedObjectsFindOptions) => { const userName = request.user?.username ?? UNAUTHENTICATED_USER; const savedObjectsClient = request.context.core.savedObjects.client; - if (options.searchFields != null && options.searchFields.includes('favorite.keySearch')) { - options.search = `${options.search != null ? options.search : ''} ${ - userName != null ? convertStringToBase64(userName) : null - }`; - } const savedObjects = await savedObjectsClient.find(options); diff --git a/x-pack/plugins/security_solution/server/plugin.ts b/x-pack/plugins/security_solution/server/plugin.ts index 9efea2ffcb948..ebc96a8b19409 100644 --- a/x-pack/plugins/security_solution/server/plugin.ts +++ b/x-pack/plugins/security_solution/server/plugin.ts @@ -89,6 +89,7 @@ import type { SecuritySolutionPluginStart, PluginInitializerContext, } from './plugin_contract'; +import { registerAlertsIndexPrivilegeDeprecations } from './deprecations/alerts_as_data_privileges'; export type { SetupPlugins, StartPlugins, PluginSetup, PluginStart } from './plugin_contract'; @@ -341,6 +342,10 @@ export class Plugin implements ISecuritySolutionPlugin { getKibanaRoles: plugins.security?.privilegeDeprecationsService.getKibanaRoles, packageInfo: this.pluginContext.env.packageInfo, }); + registerAlertsIndexPrivilegeDeprecations({ + deprecationsService: core.deprecations, + getKibanaRoles: plugins.security?.privilegeDeprecationsService.getKibanaRoles, + }); return {}; } diff --git a/x-pack/plugins/security_solution/server/usage/collector.ts b/x-pack/plugins/security_solution/server/usage/collector.ts index 3f64a6e5e227b..4530dac725c7b 100644 --- a/x-pack/plugins/security_solution/server/usage/collector.ts +++ b/x-pack/plugins/security_solution/server/usage/collector.ts @@ -10,6 +10,8 @@ import { CollectorFetchContext } from '../../../../../src/plugins/usage_collecti import { CollectorDependencies } from './types'; import { fetchDetectionsMetrics } from './detections'; import { SAVED_OBJECT_TYPES } from '../../../cases/common/constants'; +// eslint-disable-next-line no-restricted-imports +import { legacyRuleActionsSavedObjectType } from '../lib/detection_engine/rule_actions/legacy_saved_object_mappings'; export type RegisterCollector = (deps: CollectorDependencies) => void; export interface UsageData { @@ -18,8 +20,12 @@ export interface UsageData { export async function getInternalSavedObjectsClient(core: CoreSetup) { return core.getStartServices().then(async ([coreStart]) => { - // note: we include the cases hidden types here otherwise we would not be able to query them. If at some point cases is not considered a hidden type this can be removed - return coreStart.savedObjects.createInternalRepository(SAVED_OBJECT_TYPES); + // note: we include the "cases" and "alert" hidden types here otherwise we would not be able to query them. If at some point cases and alert is not considered a hidden type this can be removed + return coreStart.savedObjects.createInternalRepository([ + 'alert', + legacyRuleActionsSavedObjectType, + ...SAVED_OBJECT_TYPES, + ]); }); } @@ -51,6 +57,22 @@ export const registerCollector: RegisterCollector = ({ type: 'long', _meta: { description: 'Number of cases attached to query detection rule alerts' }, }, + legacy_notifications_enabled: { + type: 'long', + _meta: { description: 'Number of legacy notifications enabled' }, + }, + legacy_notifications_disabled: { + type: 'long', + _meta: { description: 'Number of legacy notifications disabled' }, + }, + notifications_enabled: { + type: 'long', + _meta: { description: 'Number of notifications enabled' }, + }, + notifications_disabled: { + type: 'long', + _meta: { description: 'Number of notifications enabled' }, + }, }, threshold: { enabled: { @@ -71,6 +93,22 @@ export const registerCollector: RegisterCollector = ({ description: 'Number of cases attached to threshold detection rule alerts', }, }, + legacy_notifications_enabled: { + type: 'long', + _meta: { description: 'Number of legacy notifications enabled' }, + }, + legacy_notifications_disabled: { + type: 'long', + _meta: { description: 'Number of legacy notifications disabled' }, + }, + notifications_enabled: { + type: 'long', + _meta: { description: 'Number of notifications enabled' }, + }, + notifications_disabled: { + type: 'long', + _meta: { description: 'Number of notifications enabled' }, + }, }, eql: { enabled: { type: 'long', _meta: { description: 'Number of eql rules enabled' } }, @@ -83,6 +121,22 @@ export const registerCollector: RegisterCollector = ({ type: 'long', _meta: { description: 'Number of cases attached to eql detection rule alerts' }, }, + legacy_notifications_enabled: { + type: 'long', + _meta: { description: 'Number of legacy notifications enabled' }, + }, + legacy_notifications_disabled: { + type: 'long', + _meta: { description: 'Number of legacy notifications disabled' }, + }, + notifications_enabled: { + type: 'long', + _meta: { description: 'Number of notifications enabled' }, + }, + notifications_disabled: { + type: 'long', + _meta: { description: 'Number of notifications enabled' }, + }, }, machine_learning: { enabled: { @@ -103,6 +157,22 @@ export const registerCollector: RegisterCollector = ({ description: 'Number of cases attached to machine_learning detection rule alerts', }, }, + legacy_notifications_enabled: { + type: 'long', + _meta: { description: 'Number of legacy notifications enabled' }, + }, + legacy_notifications_disabled: { + type: 'long', + _meta: { description: 'Number of legacy notifications disabled' }, + }, + notifications_enabled: { + type: 'long', + _meta: { description: 'Number of notifications enabled' }, + }, + notifications_disabled: { + type: 'long', + _meta: { description: 'Number of notifications enabled' }, + }, }, threat_match: { enabled: { @@ -123,6 +193,22 @@ export const registerCollector: RegisterCollector = ({ description: 'Number of cases attached to threat_match detection rule alerts', }, }, + legacy_notifications_enabled: { + type: 'long', + _meta: { description: 'Number of legacy notifications enabled' }, + }, + legacy_notifications_disabled: { + type: 'long', + _meta: { description: 'Number of legacy notifications disabled' }, + }, + notifications_enabled: { + type: 'long', + _meta: { description: 'Number of notifications enabled' }, + }, + notifications_disabled: { + type: 'long', + _meta: { description: 'Number of notifications enabled' }, + }, }, elastic_total: { enabled: { type: 'long', _meta: { description: 'Number of elastic rules enabled' } }, @@ -138,6 +224,22 @@ export const registerCollector: RegisterCollector = ({ type: 'long', _meta: { description: 'Number of cases attached to elastic detection rule alerts' }, }, + legacy_notifications_enabled: { + type: 'long', + _meta: { description: 'Number of legacy notifications enabled' }, + }, + legacy_notifications_disabled: { + type: 'long', + _meta: { description: 'Number of legacy notifications disabled' }, + }, + notifications_enabled: { + type: 'long', + _meta: { description: 'Number of notifications enabled' }, + }, + notifications_disabled: { + type: 'long', + _meta: { description: 'Number of notifications enabled' }, + }, }, custom_total: { enabled: { type: 'long', _meta: { description: 'Number of custom rules enabled' } }, @@ -150,6 +252,22 @@ export const registerCollector: RegisterCollector = ({ type: 'long', _meta: { description: 'Number of cases attached to custom detection rule alerts' }, }, + legacy_notifications_enabled: { + type: 'long', + _meta: { description: 'Number of legacy notifications enabled' }, + }, + legacy_notifications_disabled: { + type: 'long', + _meta: { description: 'Number of legacy notifications disabled' }, + }, + notifications_enabled: { + type: 'long', + _meta: { description: 'Number of notifications enabled' }, + }, + notifications_disabled: { + type: 'long', + _meta: { description: 'Number of notifications enabled' }, + }, }, }, detection_rule_detail: { @@ -192,6 +310,14 @@ export const registerCollector: RegisterCollector = ({ type: 'long', _meta: { description: 'The number of total cases generated by a rule' }, }, + has_legacy_notification: { + type: 'boolean', + _meta: { description: 'True if this rule has a legacy notification' }, + }, + has_notification: { + type: 'boolean', + _meta: { description: 'True if this rule has a notification' }, + }, }, }, }, diff --git a/x-pack/plugins/security_solution/server/usage/detections/detection_rule_helpers.test.ts b/x-pack/plugins/security_solution/server/usage/detections/detection_rule_helpers.test.ts index d1846caf4ec22..c19e7b18f9e72 100644 --- a/x-pack/plugins/security_solution/server/usage/detections/detection_rule_helpers.test.ts +++ b/x-pack/plugins/security_solution/server/usage/detections/detection_rule_helpers.test.ts @@ -7,140 +7,284 @@ import { initialDetectionRulesUsage, updateDetectionRuleUsage } from './detection_rule_helpers'; import { DetectionRuleMetric, DetectionRulesTypeUsage } from './types'; -import { v4 as uuid } from 'uuid'; -const createStubRule = ( - ruleType: string, - enabled: boolean, - elasticRule: boolean, - alertCount: number, - caseCount: number -): DetectionRuleMetric => ({ - rule_name: uuid(), - rule_id: uuid(), +interface StubRuleOptions { + ruleType: string; + enabled: boolean; + elasticRule: boolean; + alertCount: number; + caseCount: number; + hasLegacyNotification: boolean; + hasNotification: boolean; +} + +const createStubRule = ({ + ruleType, + enabled, + elasticRule, + alertCount, + caseCount, + hasLegacyNotification, + hasNotification, +}: StubRuleOptions): DetectionRuleMetric => ({ + rule_name: 'rule-name', + rule_id: 'id-123', rule_type: ruleType, + rule_version: 1, enabled, elastic_rule: elasticRule, - created_on: uuid(), - updated_on: uuid(), + created_on: '2022-01-06T20:02:45.306Z', + updated_on: '2022-01-06T20:02:45.306Z', alert_count_daily: alertCount, cases_count_total: caseCount, + has_legacy_notification: hasLegacyNotification, + has_notification: hasNotification, }); describe('Detections Usage and Metrics', () => { describe('Update metrics with rule information', () => { it('Should update elastic and eql rule metric total', async () => { - const initialUsage: DetectionRulesTypeUsage = initialDetectionRulesUsage; - const stubRule = createStubRule('eql', true, true, 1, 1); - const usage = updateDetectionRuleUsage(stubRule, initialUsage); + const stubRule = createStubRule({ + ruleType: 'eql', + enabled: true, + elasticRule: true, + alertCount: 1, + caseCount: 1, + hasLegacyNotification: false, + hasNotification: false, + }); + const usage = updateDetectionRuleUsage(stubRule, initialDetectionRulesUsage); - expect(usage).toEqual( - expect.objectContaining({ - custom_total: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - elastic_total: { - alerts: 1, - cases: 1, - disabled: 0, - enabled: 1, - }, - eql: { - alerts: 1, - cases: 1, - disabled: 0, - enabled: 1, - }, - machine_learning: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - query: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - threat_match: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - threshold: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - }) - ); + expect(usage).toEqual({ + ...initialDetectionRulesUsage, + elastic_total: { + alerts: 1, + cases: 1, + disabled: 0, + enabled: 1, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, + }, + eql: { + alerts: 1, + cases: 1, + disabled: 0, + enabled: 1, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, + }, + }); }); it('Should update based on multiple metrics', async () => { - const initialUsage: DetectionRulesTypeUsage = initialDetectionRulesUsage; - const stubEqlRule = createStubRule('eql', true, true, 1, 1); - const stubQueryRuleOne = createStubRule('query', true, true, 5, 2); - const stubQueryRuleTwo = createStubRule('query', true, false, 5, 2); - const stubMachineLearningOne = createStubRule('machine_learning', false, false, 0, 10); - const stubMachineLearningTwo = createStubRule('machine_learning', true, true, 22, 44); + const stubEqlRule = createStubRule({ + ruleType: 'eql', + enabled: true, + elasticRule: true, + alertCount: 1, + caseCount: 1, + hasLegacyNotification: false, + hasNotification: false, + }); + const stubQueryRuleOne = createStubRule({ + ruleType: 'query', + enabled: true, + elasticRule: true, + alertCount: 5, + caseCount: 2, + hasLegacyNotification: false, + hasNotification: false, + }); + const stubQueryRuleTwo = createStubRule({ + ruleType: 'query', + enabled: true, + elasticRule: false, + alertCount: 5, + caseCount: 2, + hasLegacyNotification: false, + hasNotification: false, + }); + const stubMachineLearningOne = createStubRule({ + ruleType: 'machine_learning', + enabled: false, + elasticRule: false, + alertCount: 0, + caseCount: 10, + hasLegacyNotification: false, + hasNotification: false, + }); + const stubMachineLearningTwo = createStubRule({ + ruleType: 'machine_learning', + enabled: true, + elasticRule: true, + alertCount: 22, + caseCount: 44, + hasLegacyNotification: false, + hasNotification: false, + }); - let usage = updateDetectionRuleUsage(stubEqlRule, initialUsage); + let usage = updateDetectionRuleUsage(stubEqlRule, initialDetectionRulesUsage); usage = updateDetectionRuleUsage(stubQueryRuleOne, usage); usage = updateDetectionRuleUsage(stubQueryRuleTwo, usage); usage = updateDetectionRuleUsage(stubMachineLearningOne, usage); usage = updateDetectionRuleUsage(stubMachineLearningTwo, usage); - expect(usage).toEqual( - expect.objectContaining({ - custom_total: { - alerts: 5, - cases: 12, - disabled: 1, - enabled: 1, - }, - elastic_total: { - alerts: 28, - cases: 47, - disabled: 0, - enabled: 3, - }, - eql: { - alerts: 1, - cases: 1, - disabled: 0, - enabled: 1, - }, - machine_learning: { - alerts: 22, - cases: 54, - disabled: 1, - enabled: 1, - }, - query: { - alerts: 10, - cases: 4, - disabled: 0, - enabled: 2, - }, - threat_match: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - threshold: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - }) + expect(usage).toEqual({ + ...initialDetectionRulesUsage, + custom_total: { + alerts: 5, + cases: 12, + disabled: 1, + enabled: 1, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, + }, + elastic_total: { + alerts: 28, + cases: 47, + disabled: 0, + enabled: 3, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, + }, + eql: { + alerts: 1, + cases: 1, + disabled: 0, + enabled: 1, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, + }, + machine_learning: { + alerts: 22, + cases: 54, + disabled: 1, + enabled: 1, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, + }, + query: { + alerts: 10, + cases: 4, + disabled: 0, + enabled: 2, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, + }, + }); + }); + + describe('table tests of "ruleType", "enabled", "elasticRule", and "legacyNotification"', () => { + test.each` + ruleType | enabled | hasLegacyNotification | hasNotification | expectedLegacyNotificationsEnabled | expectedLegacyNotificationsDisabled | expectedNotificationsEnabled | expectedNotificationsDisabled + ${'eql'} | ${true} | ${true} | ${false} | ${1} | ${0} | ${0} | ${0} + ${'eql'} | ${true} | ${false} | ${true} | ${0} | ${0} | ${1} | ${0} + ${'eql'} | ${false} | ${false} | ${true} | ${0} | ${0} | ${0} | ${1} + ${'eql'} | ${true} | ${false} | ${true} | ${0} | ${0} | ${1} | ${0} + ${'eql'} | ${false} | ${true} | ${false} | ${0} | ${1} | ${0} | ${0} + ${'eql'} | ${false} | ${false} | ${false} | ${0} | ${0} | ${0} | ${0} + ${'query'} | ${true} | ${true} | ${false} | ${1} | ${0} | ${0} | ${0} + ${'query'} | ${true} | ${false} | ${true} | ${0} | ${0} | ${1} | ${0} + ${'query'} | ${false} | ${false} | ${true} | ${0} | ${0} | ${0} | ${1} + ${'query'} | ${true} | ${false} | ${true} | ${0} | ${0} | ${1} | ${0} + ${'query'} | ${false} | ${true} | ${false} | ${0} | ${1} | ${0} | ${0} + ${'query'} | ${false} | ${false} | ${false} | ${0} | ${0} | ${0} | ${0} + ${'threshold'} | ${true} | ${true} | ${false} | ${1} | ${0} | ${0} | ${0} + ${'threshold'} | ${true} | ${false} | ${true} | ${0} | ${0} | ${1} | ${0} + ${'threshold'} | ${false} | ${false} | ${true} | ${0} | ${0} | ${0} | ${1} + ${'threshold'} | ${true} | ${false} | ${true} | ${0} | ${0} | ${1} | ${0} + ${'threshold'} | ${false} | ${true} | ${false} | ${0} | ${1} | ${0} | ${0} + ${'threshold'} | ${false} | ${false} | ${false} | ${0} | ${0} | ${0} | ${0} + ${'machine_learning'} | ${true} | ${true} | ${false} | ${1} | ${0} | ${0} | ${0} + ${'machine_learning'} | ${true} | ${false} | ${true} | ${0} | ${0} | ${1} | ${0} + ${'machine_learning'} | ${false} | ${false} | ${true} | ${0} | ${0} | ${0} | ${1} + ${'machine_learning'} | ${true} | ${false} | ${true} | ${0} | ${0} | ${1} | ${0} + ${'machine_learning'} | ${false} | ${true} | ${false} | ${0} | ${1} | ${0} | ${0} + ${'machine_learning'} | ${false} | ${false} | ${false} | ${0} | ${0} | ${0} | ${0} + ${'threat_match'} | ${true} | ${true} | ${false} | ${1} | ${0} | ${0} | ${0} + ${'threat_match'} | ${true} | ${false} | ${true} | ${0} | ${0} | ${1} | ${0} + ${'threat_match'} | ${false} | ${false} | ${true} | ${0} | ${0} | ${0} | ${1} + ${'threat_match'} | ${true} | ${false} | ${true} | ${0} | ${0} | ${1} | ${0} + ${'threat_match'} | ${false} | ${true} | ${false} | ${0} | ${1} | ${0} | ${0} + ${'threat_match'} | ${false} | ${false} | ${false} | ${0} | ${0} | ${0} | ${0} + `( + 'expect { "ruleType": $ruleType, "enabled": $enabled, "hasLegacyNotification": $hasLegacyNotification, "hasNotification": $hasNotification } to equal { legacy_notifications_enabled: $expectedLegacyNotificationsEnabled, legacy_notifications_disabled: $expectedLegacyNotificationsDisabled, notifications_enabled: $expectedNotificationsEnabled, notifications_disabled, $expectedNotificationsDisabled }', + ({ + ruleType, + enabled, + hasLegacyNotification, + hasNotification, + expectedLegacyNotificationsEnabled, + expectedLegacyNotificationsDisabled, + expectedNotificationsEnabled, + expectedNotificationsDisabled, + }) => { + const rule1 = createStubRule({ + ruleType, + enabled, + elasticRule: false, + hasLegacyNotification, + hasNotification, + alertCount: 0, + caseCount: 0, + }); + const usage = updateDetectionRuleUsage(rule1, initialDetectionRulesUsage) as ReturnType< + typeof updateDetectionRuleUsage + > & { [key: string]: unknown }; + expect(usage[ruleType]).toEqual( + expect.objectContaining({ + legacy_notifications_enabled: expectedLegacyNotificationsEnabled, + legacy_notifications_disabled: expectedLegacyNotificationsDisabled, + notifications_enabled: expectedNotificationsEnabled, + notifications_disabled: expectedNotificationsDisabled, + }) + ); + + // extra test where we add everything by 1 to ensure that the addition happens with the correct rule type + const rule2 = createStubRule({ + ruleType, + enabled, + elasticRule: false, + hasLegacyNotification, + hasNotification, + alertCount: 0, + caseCount: 0, + }); + const usageAddedByOne = updateDetectionRuleUsage(rule2, usage) as ReturnType< + typeof updateDetectionRuleUsage + > & { [key: string]: unknown }; + + expect(usageAddedByOne[ruleType]).toEqual( + expect.objectContaining({ + legacy_notifications_enabled: + expectedLegacyNotificationsEnabled !== 0 + ? expectedLegacyNotificationsEnabled + 1 + : 0, + legacy_notifications_disabled: + expectedLegacyNotificationsDisabled !== 0 + ? expectedLegacyNotificationsDisabled + 1 + : 0, + notifications_enabled: + expectedNotificationsEnabled !== 0 ? expectedNotificationsEnabled + 1 : 0, + notifications_disabled: + expectedNotificationsDisabled !== 0 ? expectedNotificationsDisabled + 1 : 0, + }) + ); + } ); }); }); diff --git a/x-pack/plugins/security_solution/server/usage/detections/detection_rule_helpers.ts b/x-pack/plugins/security_solution/server/usage/detections/detection_rule_helpers.ts index eaeceb8ab57ee..15fafee39ceba 100644 --- a/x-pack/plugins/security_solution/server/usage/detections/detection_rule_helpers.ts +++ b/x-pack/plugins/security_solution/server/usage/detections/detection_rule_helpers.ts @@ -8,7 +8,7 @@ import { ElasticsearchClient, SavedObjectsClientContract } from '../../../../../../src/core/server'; import { SIGNALS_ID } from '../../../common/constants'; import { isElasticRule } from './index'; -import { +import type { AlertsAggregationResponse, CasesSavedObject, DetectionRulesTypeUsage, @@ -16,7 +16,35 @@ import { DetectionRuleAdoption, RuleSearchParams, RuleSearchResult, + DetectionMetrics, } from './types'; +// eslint-disable-next-line no-restricted-imports +import { legacyRuleActionsSavedObjectType } from '../../lib/detection_engine/rule_actions/legacy_saved_object_mappings'; +// eslint-disable-next-line no-restricted-imports +import { LegacyIRuleActionsAttributesSavedObjectAttributes } from '../../lib/detection_engine/rule_actions/legacy_types'; + +/** + * Initial detection metrics initialized. + */ +export const getInitialDetectionMetrics = (): DetectionMetrics => ({ + ml_jobs: { + ml_job_usage: { + custom: { + enabled: 0, + disabled: 0, + }, + elastic: { + enabled: 0, + disabled: 0, + }, + }, + ml_job_metrics: [], + }, + detection_rules: { + detection_rule_detail: [], + detection_rule_usage: initialDetectionRulesUsage, + }, +}); /** * Default detection rule usage count, split by type + elastic/custom @@ -27,42 +55,70 @@ export const initialDetectionRulesUsage: DetectionRulesTypeUsage = { disabled: 0, alerts: 0, cases: 0, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, }, threshold: { enabled: 0, disabled: 0, alerts: 0, cases: 0, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, }, eql: { enabled: 0, disabled: 0, alerts: 0, cases: 0, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, }, machine_learning: { enabled: 0, disabled: 0, alerts: 0, cases: 0, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, }, threat_match: { enabled: 0, disabled: 0, alerts: 0, cases: 0, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, }, elastic_total: { enabled: 0, disabled: 0, alerts: 0, cases: 0, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, }, custom_total: { enabled: 0, disabled: 0, alerts: 0, cases: 0, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, }, }; @@ -73,6 +129,16 @@ export const updateDetectionRuleUsage = ( ): DetectionRulesTypeUsage => { let updatedUsage = usage; + const legacyNotificationEnabled = + detectionRuleMetric.has_legacy_notification && detectionRuleMetric.enabled; + + const legacyNotificationDisabled = + detectionRuleMetric.has_legacy_notification && !detectionRuleMetric.enabled; + + const notificationEnabled = detectionRuleMetric.has_notification && detectionRuleMetric.enabled; + + const notificationDisabled = detectionRuleMetric.has_notification && !detectionRuleMetric.enabled; + if (detectionRuleMetric.rule_type === 'query') { updatedUsage = { ...usage, @@ -82,6 +148,18 @@ export const updateDetectionRuleUsage = ( disabled: !detectionRuleMetric.enabled ? usage.query.disabled + 1 : usage.query.disabled, alerts: usage.query.alerts + detectionRuleMetric.alert_count_daily, cases: usage.query.cases + detectionRuleMetric.cases_count_total, + legacy_notifications_enabled: legacyNotificationEnabled + ? usage.query.legacy_notifications_enabled + 1 + : usage.query.legacy_notifications_enabled, + legacy_notifications_disabled: legacyNotificationDisabled + ? usage.query.legacy_notifications_disabled + 1 + : usage.query.legacy_notifications_disabled, + notifications_enabled: notificationEnabled + ? usage.query.notifications_enabled + 1 + : usage.query.notifications_enabled, + notifications_disabled: notificationDisabled + ? usage.query.notifications_disabled + 1 + : usage.query.notifications_disabled, }, }; } else if (detectionRuleMetric.rule_type === 'threshold') { @@ -97,6 +175,18 @@ export const updateDetectionRuleUsage = ( : usage.threshold.disabled, alerts: usage.threshold.alerts + detectionRuleMetric.alert_count_daily, cases: usage.threshold.cases + detectionRuleMetric.cases_count_total, + legacy_notifications_enabled: legacyNotificationEnabled + ? usage.threshold.legacy_notifications_enabled + 1 + : usage.threshold.legacy_notifications_enabled, + legacy_notifications_disabled: legacyNotificationDisabled + ? usage.threshold.legacy_notifications_disabled + 1 + : usage.threshold.legacy_notifications_disabled, + notifications_enabled: notificationEnabled + ? usage.threshold.notifications_enabled + 1 + : usage.threshold.notifications_enabled, + notifications_disabled: notificationDisabled + ? usage.threshold.notifications_disabled + 1 + : usage.threshold.notifications_disabled, }, }; } else if (detectionRuleMetric.rule_type === 'eql') { @@ -108,6 +198,18 @@ export const updateDetectionRuleUsage = ( disabled: !detectionRuleMetric.enabled ? usage.eql.disabled + 1 : usage.eql.disabled, alerts: usage.eql.alerts + detectionRuleMetric.alert_count_daily, cases: usage.eql.cases + detectionRuleMetric.cases_count_total, + legacy_notifications_enabled: legacyNotificationEnabled + ? usage.eql.legacy_notifications_enabled + 1 + : usage.eql.legacy_notifications_enabled, + legacy_notifications_disabled: legacyNotificationDisabled + ? usage.eql.legacy_notifications_disabled + 1 + : usage.eql.legacy_notifications_disabled, + notifications_enabled: notificationEnabled + ? usage.eql.notifications_enabled + 1 + : usage.eql.notifications_enabled, + notifications_disabled: notificationDisabled + ? usage.eql.notifications_disabled + 1 + : usage.eql.notifications_disabled, }, }; } else if (detectionRuleMetric.rule_type === 'machine_learning') { @@ -123,6 +225,18 @@ export const updateDetectionRuleUsage = ( : usage.machine_learning.disabled, alerts: usage.machine_learning.alerts + detectionRuleMetric.alert_count_daily, cases: usage.machine_learning.cases + detectionRuleMetric.cases_count_total, + legacy_notifications_enabled: legacyNotificationEnabled + ? usage.machine_learning.legacy_notifications_enabled + 1 + : usage.machine_learning.legacy_notifications_enabled, + legacy_notifications_disabled: legacyNotificationDisabled + ? usage.machine_learning.legacy_notifications_disabled + 1 + : usage.machine_learning.legacy_notifications_disabled, + notifications_enabled: notificationEnabled + ? usage.machine_learning.notifications_enabled + 1 + : usage.machine_learning.notifications_enabled, + notifications_disabled: notificationDisabled + ? usage.machine_learning.notifications_disabled + 1 + : usage.machine_learning.notifications_disabled, }, }; } else if (detectionRuleMetric.rule_type === 'threat_match') { @@ -138,6 +252,18 @@ export const updateDetectionRuleUsage = ( : usage.threat_match.disabled, alerts: usage.threat_match.alerts + detectionRuleMetric.alert_count_daily, cases: usage.threat_match.cases + detectionRuleMetric.cases_count_total, + legacy_notifications_enabled: legacyNotificationEnabled + ? usage.threat_match.legacy_notifications_enabled + 1 + : usage.threat_match.legacy_notifications_enabled, + legacy_notifications_disabled: legacyNotificationDisabled + ? usage.threat_match.legacy_notifications_disabled + 1 + : usage.threat_match.legacy_notifications_disabled, + notifications_enabled: notificationEnabled + ? usage.threat_match.notifications_enabled + 1 + : usage.threat_match.notifications_enabled, + notifications_disabled: notificationDisabled + ? usage.threat_match.notifications_disabled + 1 + : usage.threat_match.notifications_disabled, }, }; } @@ -155,6 +281,18 @@ export const updateDetectionRuleUsage = ( : updatedUsage.elastic_total.disabled, alerts: updatedUsage.elastic_total.alerts + detectionRuleMetric.alert_count_daily, cases: updatedUsage.elastic_total.cases + detectionRuleMetric.cases_count_total, + legacy_notifications_enabled: legacyNotificationEnabled + ? updatedUsage.elastic_total.legacy_notifications_enabled + 1 + : updatedUsage.elastic_total.legacy_notifications_enabled, + legacy_notifications_disabled: legacyNotificationDisabled + ? updatedUsage.elastic_total.legacy_notifications_disabled + 1 + : updatedUsage.elastic_total.legacy_notifications_disabled, + notifications_enabled: notificationEnabled + ? updatedUsage.elastic_total.notifications_enabled + 1 + : updatedUsage.elastic_total.notifications_enabled, + notifications_disabled: notificationDisabled + ? updatedUsage.elastic_total.notifications_disabled + 1 + : updatedUsage.elastic_total.notifications_disabled, }, }; } else { @@ -170,6 +308,18 @@ export const updateDetectionRuleUsage = ( : updatedUsage.custom_total.disabled, alerts: updatedUsage.custom_total.alerts + detectionRuleMetric.alert_count_daily, cases: updatedUsage.custom_total.cases + detectionRuleMetric.cases_count_total, + legacy_notifications_enabled: legacyNotificationEnabled + ? updatedUsage.custom_total.legacy_notifications_enabled + 1 + : updatedUsage.custom_total.legacy_notifications_enabled, + legacy_notifications_disabled: legacyNotificationDisabled + ? updatedUsage.custom_total.legacy_notifications_disabled + 1 + : updatedUsage.custom_total.legacy_notifications_disabled, + notifications_enabled: notificationEnabled + ? updatedUsage.custom_total.notifications_enabled + 1 + : updatedUsage.custom_total.notifications_enabled, + notifications_disabled: notificationDisabled + ? updatedUsage.custom_total.notifications_disabled + 1 + : updatedUsage.custom_total.notifications_disabled, }, }; } @@ -202,7 +352,7 @@ export const getDetectionRuleMetrics = async ( body: { aggs: { detectionAlerts: { - terms: { field: 'signal.rule.id.keyword' }, + terms: { field: 'signal.rule.id' }, }, }, query: { @@ -227,9 +377,33 @@ export const getDetectionRuleMetrics = async ( fields: [], page: 1, perPage: MAX_RESULTS_WINDOW, + namespaces: ['*'], filter: 'cases-comments.attributes.type: alert', }); + // Once we are confident all rules relying on side-car actions SO's have been migrated to SO references we should remove this function. + const legacyRuleActions = + await savedObjectClient.find({ + type: legacyRuleActionsSavedObjectType, + page: 1, + perPage: MAX_RESULTS_WINDOW, + namespaces: ['*'], + }); + + const legacyNotificationRuleIds = legacyRuleActions.saved_objects.reduce( + (cache, legacyNotificationsObject) => { + const ruleRef = legacyNotificationsObject.references.find( + (reference) => reference.name === 'alert_0' && reference.type === 'alert' + ); + if (ruleRef != null) { + const enabled = legacyNotificationsObject.attributes.ruleThrottle !== 'no_actions'; + cache.set(ruleRef.id, { enabled }); + } + return cache; + }, + new Map() + ); + const casesCache = cases.saved_objects.reduce((cache, { attributes: casesObject }) => { const ruleId = casesObject.rule.id; @@ -251,17 +425,30 @@ export const getDetectionRuleMetrics = async ( const ruleObjects = ruleResults.hits.hits.map((hit) => { const ruleId = hit._id.split(':')[1]; const isElastic = isElasticRule(hit._source?.alert.tags); + + // Even if the legacy notification is set to "no_actions" we still count the rule as having a legacy notification that is not migrated yet. + const hasLegacyNotification = legacyNotificationRuleIds.get(ruleId) != null; + + // We only count a rule as having a notification and being "enabled" if it is _not_ set to "no_actions"/"muteAll" and it has at least one action within its array. + const hasNotification = + !hasLegacyNotification && + hit._source?.alert.actions != null && + hit._source?.alert.actions.length > 0 && + hit._source?.alert.muteAll !== true; + return { rule_name: hit._source?.alert.name, - rule_id: ruleId, + rule_id: hit._source?.alert.params.ruleId, rule_type: hit._source?.alert.params.type, - rule_version: hit._source?.alert.params.version, + rule_version: Number(hit._source?.alert.params.version), enabled: hit._source?.alert.enabled, elastic_rule: isElastic, created_on: hit._source?.alert.createdAt, updated_on: hit._source?.alert.updatedAt, alert_count_daily: alertsCache.get(ruleId) || 0, cases_count_total: casesCache.get(ruleId) || 0, + has_legacy_notification: hasLegacyNotification, + has_notification: hasNotification, } as DetectionRuleMetric; }); diff --git a/x-pack/plugins/security_solution/server/usage/detections/detections.mocks.ts b/x-pack/plugins/security_solution/server/usage/detections/detections.mocks.ts index c4ab55127f5d3..e86025ab8a579 100644 --- a/x-pack/plugins/security_solution/server/usage/detections/detections.mocks.ts +++ b/x-pack/plugins/security_solution/server/usage/detections/detections.mocks.ts @@ -5,6 +5,8 @@ * 2.0. */ +import { SearchResponse } from '@elastic/elasticsearch/api/types'; + export const getMockJobSummaryResponse = () => [ { id: 'linux_anomalous_network_activity_ecs', @@ -287,7 +289,9 @@ export const getMockMlDatafeedStatsResponse = () => ({ ], }); -export const getMockRuleSearchResponse = (immutableTag: string = '__internal_immutable:true') => ({ +export const getMockRuleSearchResponse = ( + immutableTag: string = '__internal_immutable:true' +): SearchResponse => ({ took: 2, timed_out: false, _shards: { @@ -387,36 +391,37 @@ export const getMockRuleSearchResponse = (immutableTag: string = '__internal_imm }, }); -export const getMockRuleAlertsResponse = (docCount: number) => ({ - took: 7, - timed_out: false, - _shards: { - total: 1, - successful: 1, - skipped: 0, - failed: 0, - }, - hits: { - total: { - value: 7322, - relation: 'eq', +export const getMockRuleAlertsResponse = (docCount: number): SearchResponse => + ({ + took: 7, + timed_out: false, + _shards: { + total: 1, + successful: 1, + skipped: 0, + failed: 0, }, - max_score: null, - hits: [], - }, - aggregations: { - detectionAlerts: { - doc_count_error_upper_bound: 0, - sum_other_doc_count: 0, - buckets: [ - { - key: '6eecd8c2-8bfb-11eb-afbe-1b7a66309c6d', - doc_count: docCount, - }, - ], + hits: { + total: { + value: 7322, + relation: 'eq', + }, + max_score: null, + hits: [], }, - }, -}); + aggregations: { + detectionAlerts: { + doc_count_error_upper_bound: 0, + sum_other_doc_count: 0, + buckets: [ + { + key: '6eecd8c2-8bfb-11eb-afbe-1b7a66309c6d', + doc_count: docCount, + }, + ], + }, + }, + } as unknown as SearchResponse); export const getMockAlertCasesResponse = () => ({ page: 1, diff --git a/x-pack/plugins/security_solution/server/usage/detections/detections.test.ts b/x-pack/plugins/security_solution/server/usage/detections/detections.test.ts index 86c77f8febaf6..d08f915e4428f 100644 --- a/x-pack/plugins/security_solution/server/usage/detections/detections.test.ts +++ b/x-pack/plugins/security_solution/server/usage/detections/detections.test.ts @@ -12,7 +12,6 @@ import { } from '../../../../../../src/core/server/mocks'; import { mlServicesMock } from '../../lib/machine_learning/mocks'; import { fetchDetectionsMetrics } from './index'; -import { initialMlJobsUsage } from './detection_ml_helpers'; import { getMockJobSummaryResponse, getMockListModulesResponse, @@ -23,286 +22,184 @@ import { getMockRuleAlertsResponse, getMockAlertCasesResponse, } from './detections.mocks'; - -const savedObjectsClient = savedObjectsClientMock.create(); +import { getInitialDetectionMetrics, initialDetectionRulesUsage } from './detection_rule_helpers'; +import { DetectionMetrics } from './types'; +// eslint-disable-next-line @kbn/eslint/no-restricted-paths +import { elasticsearchClientMock } from 'src/core/server/elasticsearch/client/mocks'; describe('Detections Usage and Metrics', () => { let esClientMock: jest.Mocked; let mlMock: ReturnType; + let savedObjectsClient: ReturnType; describe('getDetectionRuleMetrics()', () => { beforeEach(() => { esClientMock = elasticsearchServiceMock.createClusterClient().asInternalUser; mlMock = mlServicesMock.createSetupContract(); + savedObjectsClient = savedObjectsClientMock.create(); }); it('returns zeroed counts if calls are empty', async () => { const result = await fetchDetectionsMetrics('', '', esClientMock, savedObjectsClient, mlMock); - - expect(result).toEqual( - expect.objectContaining({ - detection_rules: { - detection_rule_detail: [], - detection_rule_usage: { - query: { - enabled: 0, - disabled: 0, - alerts: 0, - cases: 0, - }, - threshold: { - enabled: 0, - disabled: 0, - alerts: 0, - cases: 0, - }, - eql: { - enabled: 0, - disabled: 0, - alerts: 0, - cases: 0, - }, - machine_learning: { - enabled: 0, - disabled: 0, - alerts: 0, - cases: 0, - }, - threat_match: { - enabled: 0, - disabled: 0, - alerts: 0, - cases: 0, - }, - elastic_total: { - enabled: 0, - disabled: 0, - alerts: 0, - cases: 0, - }, - custom_total: { - enabled: 0, - disabled: 0, - alerts: 0, - cases: 0, - }, - }, - }, - ml_jobs: { ml_job_metrics: [], ml_job_usage: initialMlJobsUsage }, - }) - ); + expect(result).toEqual(getInitialDetectionMetrics()); }); it('returns information with rule, alerts and cases', async () => { - (esClientMock.search as jest.Mock) - .mockReturnValueOnce({ body: getMockRuleSearchResponse() }) - .mockReturnValue({ body: getMockRuleAlertsResponse(3400) }); - (savedObjectsClient.find as jest.Mock).mockReturnValue(getMockAlertCasesResponse()); - + esClientMock.search + .mockResolvedValueOnce( + elasticsearchClientMock.createApiResponse({ body: getMockRuleSearchResponse() }) + ) + .mockResolvedValue( + elasticsearchClientMock.createApiResponse({ body: getMockRuleAlertsResponse(3400) }) + ); + savedObjectsClient.find.mockResolvedValue(getMockAlertCasesResponse()); const result = await fetchDetectionsMetrics('', '', esClientMock, savedObjectsClient, mlMock); - expect(result).toEqual( - expect.objectContaining({ - detection_rules: { - detection_rule_detail: [ - { - alert_count_daily: 3400, - cases_count_total: 1, - created_on: '2021-03-23T17:15:59.634Z', - elastic_rule: true, - enabled: false, - rule_id: '6eecd8c2-8bfb-11eb-afbe-1b7a66309c6d', - rule_name: 'Azure Diagnostic Settings Deletion', - rule_type: 'query', - rule_version: 4, - updated_on: '2021-03-23T17:15:59.634Z', - }, - ], - detection_rule_usage: { - custom_total: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - elastic_total: { - alerts: 3400, - cases: 1, - disabled: 1, - enabled: 0, - }, - eql: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - machine_learning: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - query: { - alerts: 3400, - cases: 1, - disabled: 1, - enabled: 0, - }, - threat_match: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - threshold: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, + expect(result).toEqual({ + ...getInitialDetectionMetrics(), + detection_rules: { + detection_rule_detail: [ + { + alert_count_daily: 3400, + cases_count_total: 1, + created_on: '2021-03-23T17:15:59.634Z', + elastic_rule: true, + enabled: false, + rule_id: '5370d4cd-2bb3-4d71-abf5-1e1d0ff5a2de', + rule_name: 'Azure Diagnostic Settings Deletion', + rule_type: 'query', + rule_version: 4, + updated_on: '2021-03-23T17:15:59.634Z', + has_legacy_notification: false, + has_notification: false, + }, + ], + detection_rule_usage: { + ...initialDetectionRulesUsage, + query: { + enabled: 0, + disabled: 1, + alerts: 3400, + cases: 1, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, + }, + elastic_total: { + alerts: 3400, + cases: 1, + disabled: 1, + enabled: 0, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, }, }, - ml_jobs: { ml_job_metrics: [], ml_job_usage: initialMlJobsUsage }, - }) - ); + }, + }); }); it('returns information with on non elastic prebuilt rule', async () => { - (esClientMock.search as jest.Mock) - .mockReturnValueOnce({ body: getMockRuleSearchResponse('not_immutable') }) - .mockReturnValue({ body: getMockRuleAlertsResponse(800) }); - (savedObjectsClient.find as jest.Mock).mockReturnValue(getMockAlertCasesResponse()); - + esClientMock.search + .mockResolvedValueOnce( + elasticsearchClientMock.createApiResponse({ + body: getMockRuleSearchResponse('not_immutable'), + }) + ) + .mockResolvedValue( + elasticsearchClientMock.createApiResponse({ body: getMockRuleAlertsResponse(800) }) + ); + savedObjectsClient.find.mockResolvedValue(getMockAlertCasesResponse()); const result = await fetchDetectionsMetrics('', '', esClientMock, savedObjectsClient, mlMock); - expect(result).toEqual( - expect.objectContaining({ - detection_rules: { - detection_rule_detail: [], // *should not* contain custom detection rule details - detection_rule_usage: { - custom_total: { - alerts: 800, - cases: 1, - disabled: 1, - enabled: 0, - }, - elastic_total: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - eql: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - machine_learning: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - query: { - alerts: 800, - cases: 1, - disabled: 1, - enabled: 0, - }, - threat_match: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - threshold: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, + expect(result).toEqual({ + ...getInitialDetectionMetrics(), + detection_rules: { + detection_rule_detail: [], // *should not* contain custom detection rule details + detection_rule_usage: { + ...initialDetectionRulesUsage, + custom_total: { + alerts: 800, + cases: 1, + disabled: 1, + enabled: 0, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, + }, + query: { + alerts: 800, + cases: 1, + disabled: 1, + enabled: 0, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, }, }, - ml_jobs: { ml_job_metrics: [], ml_job_usage: initialMlJobsUsage }, - }) - ); + }, + }); }); it('returns information with rule, no alerts and no cases', async () => { - (esClientMock.search as jest.Mock) - .mockReturnValueOnce({ body: getMockRuleSearchResponse() }) - .mockReturnValue({ body: getMockRuleAlertsResponse(0) }); - (savedObjectsClient.find as jest.Mock).mockReturnValue(getMockAlertCasesResponse()); - + esClientMock.search + .mockResolvedValueOnce( + elasticsearchClientMock.createApiResponse({ body: getMockRuleSearchResponse() }) + ) + .mockResolvedValue( + elasticsearchClientMock.createApiResponse({ body: getMockRuleAlertsResponse(0) }) + ); + savedObjectsClient.find.mockResolvedValue(getMockAlertCasesResponse()); const result = await fetchDetectionsMetrics('', '', esClientMock, savedObjectsClient, mlMock); - expect(result).toEqual( - expect.objectContaining({ - detection_rules: { - detection_rule_detail: [ - { - alert_count_daily: 0, - cases_count_total: 1, - created_on: '2021-03-23T17:15:59.634Z', - elastic_rule: true, - enabled: false, - rule_id: '6eecd8c2-8bfb-11eb-afbe-1b7a66309c6d', - rule_name: 'Azure Diagnostic Settings Deletion', - rule_type: 'query', - rule_version: 4, - updated_on: '2021-03-23T17:15:59.634Z', - }, - ], - detection_rule_usage: { - custom_total: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - elastic_total: { - alerts: 0, - cases: 1, - disabled: 1, - enabled: 0, - }, - eql: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - machine_learning: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - query: { - alerts: 0, - cases: 1, - disabled: 1, - enabled: 0, - }, - threat_match: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, - threshold: { - alerts: 0, - cases: 0, - disabled: 0, - enabled: 0, - }, + expect(result).toEqual({ + ...getInitialDetectionMetrics(), + detection_rules: { + detection_rule_detail: [ + { + alert_count_daily: 0, + cases_count_total: 1, + created_on: '2021-03-23T17:15:59.634Z', + elastic_rule: true, + enabled: false, + rule_id: '5370d4cd-2bb3-4d71-abf5-1e1d0ff5a2de', + rule_name: 'Azure Diagnostic Settings Deletion', + rule_type: 'query', + rule_version: 4, + updated_on: '2021-03-23T17:15:59.634Z', + has_legacy_notification: false, + has_notification: false, + }, + ], + detection_rule_usage: { + ...initialDetectionRulesUsage, + elastic_total: { + alerts: 0, + cases: 1, + disabled: 1, + enabled: 0, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, + }, + query: { + alerts: 0, + cases: 1, + disabled: 1, + enabled: 0, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, }, }, - ml_jobs: { ml_job_metrics: [], ml_job_usage: initialMlJobsUsage }, - }) - ); + }, + }); }); }); @@ -310,6 +207,7 @@ describe('Detections Usage and Metrics', () => { beforeEach(() => { esClientMock = elasticsearchServiceMock.createClusterClient().asInternalUser; mlMock = mlServicesMock.createSetupContract(); + savedObjectsClient = savedObjectsClientMock.create(); }); it('returns an empty array if there is no data', async () => { @@ -318,12 +216,7 @@ describe('Detections Usage and Metrics', () => { jobStats: null, } as unknown as ReturnType); const result = await fetchDetectionsMetrics('', '', esClientMock, savedObjectsClient, mlMock); - - expect(result).toEqual( - expect.objectContaining({ - ml_jobs: { ml_job_metrics: [], ml_job_usage: initialMlJobsUsage }, - }) - ); + expect(result).toEqual(getInitialDetectionMetrics()); }); it('returns an ml job telemetry object from anomaly detectors provider', async () => { diff --git a/x-pack/plugins/security_solution/server/usage/detections/types.ts b/x-pack/plugins/security_solution/server/usage/detections/types.ts index 430a524f3f03a..b304235cc7342 100644 --- a/x-pack/plugins/security_solution/server/usage/detections/types.ts +++ b/x-pack/plugins/security_solution/server/usage/detections/types.ts @@ -30,7 +30,9 @@ export interface RuleSearchResult { tags: string[]; createdAt: string; updatedAt: string; + muteAll: boolean | undefined | null; params: DetectionRuleParms; + actions: unknown[]; }; } @@ -55,8 +57,11 @@ interface FeatureTypeUsage { disabled: number; alerts: number; cases: number; + legacy_notifications_enabled: number; + legacy_notifications_disabled: number; + notifications_enabled: number; + notifications_disabled: number; } - export interface DetectionRulesTypeUsage { query: FeatureTypeUsage; threshold: FeatureTypeUsage; @@ -121,12 +126,15 @@ export interface DetectionRuleMetric { rule_name: string; rule_id: string; rule_type: string; + rule_version: number; enabled: boolean; elastic_rule: boolean; created_on: string; updated_on: string; alert_count_daily: number; cases_count_total: number; + has_legacy_notification: boolean; + has_notification: boolean; } export interface AlertsAggregationResponse { diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/constant.ts b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/constant.ts index 6f10f25934afc..a04c8aed403d9 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/constant.ts +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/constant.ts @@ -13,4 +13,6 @@ export const REPOSITORY_EDIT = getRepository({ name: REPOSITORY_NAME }); export const POLICY_NAME = 'my-test-policy'; +export const SNAPSHOT_NAME = 'my-test-snapshot'; + export const POLICY_EDIT = getPolicy({ name: POLICY_NAME, retention: { minCount: 1 } }); diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/home.helpers.ts b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/home.helpers.ts index 1e16fa2a40129..11475ae7c2461 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/home.helpers.ts +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/home.helpers.ts @@ -14,6 +14,7 @@ import { AsyncTestBedConfig, delay, } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { SnapshotRestoreHome } from '../../../public/application/sections/home/home'; import { BASE_PATH } from '../../../public/application/constants'; import { WithAppDependencies } from './setup_environment'; @@ -26,8 +27,6 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed(WithAppDependencies(SnapshotRestoreHome), testBedConfig); - export interface HomeTestBed extends TestBed { actions: { clickReloadButton: () => void; @@ -40,7 +39,11 @@ export interface HomeTestBed extends TestBed { }; } -export const setup = async (): Promise => { +export const setup = async (httpSetup: HttpSetup): Promise => { + const initTestBed = registerTestBed( + WithAppDependencies(SnapshotRestoreHome, httpSetup), + testBedConfig + ); const testBed = await initTestBed(); const REPOSITORY_TABLE = 'repositoryTable'; const SNAPSHOT_TABLE = 'snapshotTable'; diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/http_requests.ts b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/http_requests.ts index 662c50a98bfe8..3c14c444d4664 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/http_requests.ts +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/http_requests.ts @@ -5,117 +5,119 @@ * 2.0. */ -import sinon, { SinonFakeServer } from 'sinon'; +import { httpServiceMock } from '../../../../../../src/core/public/mocks'; import { API_BASE_PATH } from '../../../common'; +type HttpMethod = 'GET' | 'PUT' | 'POST'; type HttpResponse = Record | any[]; -const mockResponse = (defaultResponse: HttpResponse, response?: HttpResponse) => [ - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify({ ...defaultResponse, ...response }), -]; +export interface ResponseError { + statusCode: number; + message: string | Error; +} // Register helpers to mock HTTP Requests -const registerHttpRequestMockHelpers = (server: SinonFakeServer) => { - const setLoadRepositoriesResponse = (response: HttpResponse = {}) => { - const defaultResponse = { repositories: [] }; - - server.respondWith( - 'GET', - `${API_BASE_PATH}repositories`, - mockResponse(defaultResponse, response) - ); +const registerHttpRequestMockHelpers = ( + httpSetup: ReturnType +) => { + const mockResponses = new Map>>( + ['GET', 'PUT', 'POST'].map( + (method) => [method, new Map()] as [HttpMethod, Map>] + ) + ); + + const mockMethodImplementation = (method: HttpMethod, path: string) => + mockResponses.get(method)?.get(path) ?? Promise.resolve({}); + + httpSetup.get.mockImplementation((path) => + mockMethodImplementation('GET', path as unknown as string) + ); + httpSetup.post.mockImplementation((path) => + mockMethodImplementation('POST', path as unknown as string) + ); + httpSetup.put.mockImplementation((path) => + mockMethodImplementation('PUT', path as unknown as string) + ); + + const mockResponse = (method: HttpMethod, path: string, response?: unknown, error?: unknown) => { + const defuse = (promise: Promise) => { + promise.catch(() => {}); + return promise; + }; + + return mockResponses + .get(method)! + .set(path, error ? defuse(Promise.reject({ body: error })) : Promise.resolve(response)); }; - const setLoadRepositoryTypesResponse = (response: HttpResponse = []) => { - server.respondWith('GET', `${API_BASE_PATH}repository_types`, JSON.stringify(response)); - }; + const setLoadRepositoriesResponse = ( + response: HttpResponse = { repositories: [] }, + error?: ResponseError + ) => mockResponse('GET', `${API_BASE_PATH}repositories`, response, error); - const setGetRepositoryResponse = (response?: HttpResponse, delay = 0) => { - const defaultResponse = {}; - - server.respondWith( - 'GET', - /api\/snapshot_restore\/repositories\/.+/, - mockResponse(defaultResponse, response) - ); - }; + const setLoadRepositoryTypesResponse = (response: HttpResponse = [], error?: ResponseError) => + mockResponse('GET', `${API_BASE_PATH}repository_types`, response, error); - const setSaveRepositoryResponse = (response?: HttpResponse, error?: any) => { - const status = error ? error.status || 400 : 200; - const body = error ? JSON.stringify(error.body) : JSON.stringify(response); + const setGetRepositoryResponse = ( + repositoryName: string, + response?: HttpResponse, + error?: ResponseError + ) => mockResponse('GET', `${API_BASE_PATH}repositories/${repositoryName}`, response, error); - server.respondWith('PUT', `${API_BASE_PATH}repositories`, [ - status, - { 'Content-Type': 'application/json' }, - body, - ]); - }; + const setSaveRepositoryResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('PUT', `${API_BASE_PATH}repositories`, response, error); - const setLoadSnapshotsResponse = (response: HttpResponse = {}) => { + const setLoadSnapshotsResponse = (response?: HttpResponse, error?: ResponseError) => { const defaultResponse = { errors: {}, snapshots: [], repositories: [], total: 0 }; - - server.respondWith('GET', `${API_BASE_PATH}snapshots`, mockResponse(defaultResponse, response)); + return mockResponse('GET', `${API_BASE_PATH}snapshots`, response ?? defaultResponse, error); }; - const setGetSnapshotResponse = (response?: HttpResponse) => { - const defaultResponse = {}; - - server.respondWith( + const setGetSnapshotResponse = ( + repositoryName: string, + snapshotName: string, + response?: HttpResponse, + error?: ResponseError + ) => + mockResponse( 'GET', - /\/api\/snapshot_restore\/snapshots\/.+/, - mockResponse(defaultResponse, response) + `${API_BASE_PATH}snapshots/${repositoryName}/${snapshotName}`, + response, + error ); - }; - - const setLoadIndicesResponse = (response: HttpResponse = {}) => { - const defaultResponse = { indices: [] }; - server.respondWith( - 'GET', - `${API_BASE_PATH}policies/indices`, - mockResponse(defaultResponse, response) + const setLoadIndicesResponse = ( + response: HttpResponse = { indices: [] }, + error?: ResponseError + ) => mockResponse('GET', `${API_BASE_PATH}policies/indices`, response, error); + + const setAddPolicyResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('POST', `${API_BASE_PATH}policies`, response, error); + + const setCleanupRepositoryResponse = ( + repositoryName: string, + response?: HttpResponse, + error?: ResponseError + ) => + mockResponse('POST', `${API_BASE_PATH}repositories/${repositoryName}/cleanup`, response, error); + + const setGetPolicyResponse = ( + policyName: string, + response?: HttpResponse, + error?: ResponseError + ) => mockResponse('GET', `${API_BASE_PATH}policy/${policyName}`, response, error); + + const setRestoreSnapshotResponse = ( + repositoryName: string, + snapshotId: string, + response?: HttpResponse, + error?: ResponseError + ) => + mockResponse( + 'POST', + `${API_BASE_PATH}restore/${repositoryName}/${snapshotId}`, + response, + error ); - }; - - const setAddPolicyResponse = (response?: HttpResponse, error?: any) => { - const status = error ? error.status || 400 : 200; - const body = error ? JSON.stringify(error.body) : JSON.stringify(response); - - server.respondWith('POST', `${API_BASE_PATH}policies`, [ - status, - { 'Content-Type': 'application/json' }, - body, - ]); - }; - - const setCleanupRepositoryResponse = (response?: HttpResponse, error?: any) => { - const status = error ? error.status || 503 : 200; - const body = error ? JSON.stringify(error) : JSON.stringify(response); - - server.respondWith('POST', `${API_BASE_PATH}repositories/:name/cleanup`, [ - status, - { 'Content-Type': 'application/json' }, - body, - ]); - }; - - const setGetPolicyResponse = (response?: HttpResponse) => { - server.respondWith('GET', `${API_BASE_PATH}policy/:name`, [ - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify(response), - ]); - }; - - const setRestoreSnapshotResponse = (response?: HttpResponse) => { - server.respondWith('POST', `${API_BASE_PATH}restore/:repository/:snapshot`, [ - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify(response), - ]); - }; return { setLoadRepositoriesResponse, @@ -133,18 +135,11 @@ const registerHttpRequestMockHelpers = (server: SinonFakeServer) => { }; export const init = () => { - const server = sinon.fakeServer.create(); - server.respondImmediately = true; - - // Define default response for unhandled requests. - // We make requests to APIs which don't impact the component under test, e.g. UI metric telemetry, - // and we can mock them all with a 200 instead of mocking each one individually. - server.respondWith([200, {}, 'DefaultResponse']); - - const httpRequestsMockHelpers = registerHttpRequestMockHelpers(server); + const httpSetup = httpServiceMock.createSetupContract(); + const httpRequestsMockHelpers = registerHttpRequestMockHelpers(httpSetup); return { - server, + httpSetup, httpRequestsMockHelpers, }; }; diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/index.ts b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/index.ts index e28409871fb4d..fdf8ea8d83868 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/index.ts +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/index.ts @@ -12,6 +12,7 @@ import { setup as repositoryEditSetup } from './repository_edit.helpers'; import { setup as policyAddSetup } from './policy_add.helpers'; import { setup as policyEditSetup } from './policy_edit.helpers'; import { setup as restoreSnapshotSetup } from './restore_snapshot.helpers'; +import { setup as snapshotListSetup } from './snapshot_list.helpers'; export type { TestBed } from '@kbn/test/jest'; export { nextTick, getRandomString, findTestSubject, delay } from '@kbn/test/jest'; @@ -25,4 +26,5 @@ export const pageHelpers = { policyAdd: { setup: policyAddSetup }, policyEdit: { setup: policyEditSetup }, restoreSnapshot: { setup: restoreSnapshotSetup }, + snapshotList: { setup: snapshotListSetup }, }; diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/policy_add.helpers.ts b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/policy_add.helpers.ts index a6e7c4a4c1056..025960eaf5740 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/policy_add.helpers.ts +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/policy_add.helpers.ts @@ -6,6 +6,7 @@ */ import { registerTestBed, AsyncTestBedConfig } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { PolicyAdd } from '../../../public/application/sections/policy_add'; import { formSetup, PolicyFormTestSubjects } from './policy_form.helpers'; import { WithAppDependencies } from './setup_environment'; @@ -18,9 +19,11 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed( - WithAppDependencies(PolicyAdd), - testBedConfig -); +export const setup = async (httpSetup: HttpSetup) => { + const initTestBed = registerTestBed( + WithAppDependencies(PolicyAdd, httpSetup), + testBedConfig + ); -export const setup = formSetup.bind(null, initTestBed); + return formSetup(initTestBed); +}; diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/policy_edit.helpers.ts b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/policy_edit.helpers.ts index 2014d22ffbfbc..caded2b2b06dc 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/policy_edit.helpers.ts +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/policy_edit.helpers.ts @@ -6,6 +6,7 @@ */ import { registerTestBed, AsyncTestBedConfig } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { PolicyEdit } from '../../../public/application/sections/policy_edit'; import { WithAppDependencies } from './setup_environment'; import { POLICY_NAME } from './constant'; @@ -19,9 +20,11 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed( - WithAppDependencies(PolicyEdit), - testBedConfig -); +export const setup = async (httpSetup: HttpSetup) => { + const initTestBed = registerTestBed( + WithAppDependencies(PolicyEdit, httpSetup), + testBedConfig + ); -export const setup = formSetup.bind(null, initTestBed); + return formSetup(initTestBed); +}; diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/repository_add.helpers.ts b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/repository_add.helpers.ts index b369b20c122eb..de78c88f897b5 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/repository_add.helpers.ts +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/repository_add.helpers.ts @@ -6,14 +6,11 @@ */ import { registerTestBed, TestBed } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { RepositoryType } from '../../../common/types'; import { RepositoryAdd } from '../../../public/application/sections/repository_add'; import { WithAppDependencies } from './setup_environment'; -const initTestBed = registerTestBed(WithAppDependencies(RepositoryAdd), { - doMountAsync: true, -}); - export interface RepositoryAddTestBed extends TestBed { actions: { clickNextButton: () => void; @@ -23,7 +20,13 @@ export interface RepositoryAddTestBed extends TestBed }; } -export const setup = async (): Promise => { +export const setup = async (httpSetup: HttpSetup): Promise => { + const initTestBed = registerTestBed( + WithAppDependencies(RepositoryAdd, httpSetup), + { + doMountAsync: true, + } + ); const testBed = await initTestBed(); // User actions diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/repository_edit.helpers.ts b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/repository_edit.helpers.ts index f0563f2831a98..b70ff78f5f6f9 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/repository_edit.helpers.ts +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/repository_edit.helpers.ts @@ -6,6 +6,7 @@ */ import { registerTestBed, AsyncTestBedConfig } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { RepositoryEdit } from '../../../public/application/sections/repository_edit'; import { WithAppDependencies } from './setup_environment'; import { REPOSITORY_NAME } from './constant'; @@ -18,10 +19,14 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -export const setup = registerTestBed( - WithAppDependencies(RepositoryEdit), - testBedConfig -); +export const setup = async (httpSetup: HttpSetup) => { + const initTestBed = registerTestBed( + WithAppDependencies(RepositoryEdit, httpSetup), + testBedConfig + ); + + return await initTestBed(); +}; export type RepositoryEditTestSubjects = TestSubjects | ThreeLevelDepth | NonVisibleTestSubjects; diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/restore_snapshot.helpers.ts b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/restore_snapshot.helpers.ts index 123ae0cbb1c2e..7c3893c4afcff 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/restore_snapshot.helpers.ts +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/restore_snapshot.helpers.ts @@ -7,22 +7,19 @@ import { act } from 'react-dom/test-utils'; import { registerTestBed, TestBed, AsyncTestBedConfig } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { RestoreSnapshot } from '../../../public/application/sections/restore_snapshot'; import { WithAppDependencies } from './setup_environment'; +import { REPOSITORY_NAME, SNAPSHOT_NAME } from '../helpers/constant'; const testBedConfig: AsyncTestBedConfig = { memoryRouter: { - initialEntries: ['/add_policy'], - componentRoutePath: '/add_policy', + initialEntries: [`/restore/${REPOSITORY_NAME}/${SNAPSHOT_NAME}`], + componentRoutePath: '/restore/:repositoryName?/:snapshotId*', }, doMountAsync: true, }; -const initTestBed = registerTestBed( - WithAppDependencies(RestoreSnapshot), - testBedConfig -); - const setupActions = (testBed: TestBed) => { const { find, component, form, exists } = testBed; @@ -84,7 +81,12 @@ export type RestoreSnapshotTestBed = TestBed & { actions: Actions; }; -export const setup = async (): Promise => { +export const setup = async (httpSetup: HttpSetup): Promise => { + const initTestBed = registerTestBed( + WithAppDependencies(RestoreSnapshot, httpSetup), + testBedConfig + ); + const testBed = await initTestBed(); return { diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/setup_environment.tsx b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/setup_environment.tsx index 66ba21b136816..0c961d5e151bc 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/setup_environment.tsx +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/setup_environment.tsx @@ -6,11 +6,10 @@ */ import React from 'react'; -import axios from 'axios'; -import axiosXhrAdapter from 'axios/lib/adapters/xhr'; import { i18n } from '@kbn/i18n'; import { LocationDescriptorObject } from 'history'; +import { HttpSetup } from 'src/core/public'; import { coreMock, scopedHistoryMock } from 'src/core/public/mocks'; import { setUiMetricService, httpService } from '../../../public/application/services/http'; import { @@ -22,8 +21,6 @@ import { textService } from '../../../public/application/services/text'; import { init as initHttpRequests } from './http_requests'; import { UiMetricService } from '../../../public/application/services'; -const mockHttpClient = axios.create({ adapter: axiosXhrAdapter }); - const history = scopedHistoryMock.create(); history.createHref.mockImplementation((location: LocationDescriptorObject) => { return `${location.pathname}?${location.search}`; @@ -48,18 +45,11 @@ const appDependencies = { }; export const setupEnvironment = () => { - // @ts-ignore - httpService.setup(mockHttpClient); breadcrumbService.setup(() => undefined); textService.setup(i18n); docTitleService.setup(() => undefined); - const { server, httpRequestsMockHelpers } = initHttpRequests(); - - return { - server, - httpRequestsMockHelpers, - }; + return initHttpRequests(); }; /** @@ -70,9 +60,16 @@ export const setupEnvironment = () => { this.terminate = () => {}; }; -export const WithAppDependencies = (Comp: any) => (props: any) => - ( +export const WithAppDependencies = (Comp: any, httpSetup?: HttpSetup) => (props: any) => { + // We need to optionally setup the httpService since some cit helpers (such as snapshot_list.helpers) + // use jest mocks to stub the fetch hooks instead of mocking api responses. + if (httpSetup) { + httpService.setup(httpSetup); + } + + return ( ); +}; diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/snapshot_list.helpers.ts b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/snapshot_list.helpers.ts new file mode 100644 index 0000000000000..c7b988cf63f8d --- /dev/null +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/helpers/snapshot_list.helpers.ts @@ -0,0 +1,70 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { act } from 'react-dom/test-utils'; +import { TestBedConfig, registerTestBed, TestBed } from '@kbn/test/jest'; + +import { BASE_PATH } from '../../../public/application/constants'; +import { SnapshotList } from '../../../public/application/sections/home/snapshot_list'; +import { WithAppDependencies } from './setup_environment'; + +const getTestBedConfig = (query?: string): TestBedConfig => ({ + memoryRouter: { + initialEntries: [`${BASE_PATH}/snapshots${query ?? ''}`], + componentRoutePath: `${BASE_PATH}/snapshots/:repositoryName?/:snapshotId*`, + }, +}); + +const initTestBed = (query?: string) => + registerTestBed(WithAppDependencies(SnapshotList), getTestBedConfig(query))(); + +export interface SnapshotListTestBed extends TestBed { + actions: { + setSearchText: (value: string, advanceTime?: boolean) => void; + searchErrorExists: () => boolean; + getSearchErrorText: () => string; + }; +} + +const searchBarSelector = 'snapshotListSearch'; +const searchErrorSelector = 'snapshotListSearchError'; + +export const setup = async (query?: string): Promise => { + const testBed = await initTestBed(query); + + const { form, component, find, exists } = testBed; + + const setSearchText = async (value: string, advanceTime = true) => { + await act(async () => { + form.setInputValue(searchBarSelector, value); + }); + component.update(); + if (advanceTime) { + await act(async () => { + jest.advanceTimersByTime(500); + }); + component.update(); + } + }; + + const searchErrorExists = (): boolean => { + return exists(searchErrorSelector); + }; + + const getSearchErrorText = (): string => { + return find(searchErrorSelector).text(); + }; + + return { + ...testBed, + actions: { + setSearchText, + searchErrorExists, + getSearchErrorText, + }, + }; +}; diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/home.test.ts b/x-pack/plugins/snapshot_restore/__jest__/client_integration/home.test.ts index 7338e84f5c095..818655ebdb64a 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/home.test.ts +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/home.test.ts @@ -32,16 +32,6 @@ jest.mock('@kbn/i18n/react', () => { }; }); -jest.mock('../../common/constants', () => { - const original = jest.requireActual('../../common/constants'); - - return { - ...original, - // Mocking this value to a lower number in order to more easily trigger the max snapshots warning in the tests - SNAPSHOT_LIST_MAX_SIZE: 2, - }; -}); - const removeWhiteSpaceOnArrayValues = (array: any[]) => array.map((value) => { if (!value.trim) { @@ -51,16 +41,12 @@ const removeWhiteSpaceOnArrayValues = (array: any[]) => }); describe('', () => { - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); let testBed: HomeTestBed; - afterAll(() => { - server.restore(); - }); - describe('on component mount', () => { beforeEach(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); test('should set the correct app title', () => { @@ -89,7 +75,7 @@ describe('', () => { describe('tabs', () => { beforeEach(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); await act(async () => { await nextTick(); @@ -142,7 +128,7 @@ describe('', () => { }); test('should display an empty prompt', async () => { - const { component, exists } = await setup(); + const { component, exists } = await setup(httpSetup); await act(async () => { await nextTick(); @@ -174,7 +160,7 @@ describe('', () => { beforeEach(async () => { httpRequestsMockHelpers.setLoadRepositoriesResponse({ repositories }); - testBed = await setup(); + testBed = await setup(httpSetup); await act(async () => { await nextTick(); @@ -218,7 +204,6 @@ describe('', () => { test('should have a button to reload the repositories', async () => { const { component, exists, actions } = testBed; - const totalRequests = server.requests.length; expect(exists('reloadButton')).toBe(true); await act(async () => { @@ -227,9 +212,9 @@ describe('', () => { component.update(); }); - expect(server.requests.length).toBe(totalRequests + 1); - expect(server.requests[server.requests.length - 1].url).toBe( - `${API_BASE_PATH}repositories` + expect(httpSetup.get).toHaveBeenLastCalledWith( + `${API_BASE_PATH}repositories`, + expect.anything() ); }); @@ -283,10 +268,10 @@ describe('', () => { component.update(); }); - const latestRequest = server.requests[server.requests.length - 1]; - - expect(latestRequest.method).toBe('DELETE'); - expect(latestRequest.url).toBe(`${API_BASE_PATH}repositories/${repo1.name}`); + expect(httpSetup.delete).toHaveBeenLastCalledWith( + `${API_BASE_PATH}repositories/${repo1.name}`, + expect.anything() + ); }); }); @@ -314,23 +299,20 @@ describe('', () => { }); test('should show a loading state while fetching the repository', async () => { - server.respondImmediately = false; const { find, exists, actions } = testBed; // By providing undefined, the "loading section" will be displayed - httpRequestsMockHelpers.setGetRepositoryResponse(undefined); + httpRequestsMockHelpers.setGetRepositoryResponse(repo1.name, undefined); await actions.clickRepositoryAt(0); expect(exists('repositoryDetail.sectionLoading')).toBe(true); expect(find('repositoryDetail.sectionLoading').text()).toEqual('Loading repository…'); - - server.respondImmediately = true; }); describe('when the repository has been fetched', () => { beforeEach(async () => { - httpRequestsMockHelpers.setGetRepositoryResponse({ + httpRequestsMockHelpers.setGetRepositoryResponse(repo1.name, { repository: { name: 'my-repo', type: 'fs', @@ -367,15 +349,15 @@ describe('', () => { component.update(); }); - const latestRequest = server.requests[server.requests.length - 1]; - - expect(latestRequest.method).toBe('GET'); - expect(latestRequest.url).toBe(`${API_BASE_PATH}repositories/${repo1.name}/verify`); + expect(httpSetup.get).toHaveBeenLastCalledWith( + `${API_BASE_PATH}repositories/${repo1.name}/verify`, + expect.anything() + ); }); describe('clean repository', () => { test('shows results when request succeeds', async () => { - httpRequestsMockHelpers.setCleanupRepositoryResponse({ + httpRequestsMockHelpers.setCleanupRepositoryResponse(repo1.name, { cleanup: { cleaned: true, response: { @@ -393,16 +375,17 @@ describe('', () => { }); component.update(); - const latestRequest = server.requests[server.requests.length - 1]; - expect(latestRequest.method).toBe('POST'); - expect(latestRequest.url).toBe(`${API_BASE_PATH}repositories/${repo1.name}/cleanup`); + expect(httpSetup.post).toHaveBeenLastCalledWith( + `${API_BASE_PATH}repositories/${repo1.name}/cleanup`, + expect.anything() + ); expect(exists('repositoryDetail.cleanupCodeBlock')).toBe(true); expect(exists('repositoryDetail.cleanupError')).toBe(false); }); test('shows error when success fails', async () => { - httpRequestsMockHelpers.setCleanupRepositoryResponse({ + httpRequestsMockHelpers.setCleanupRepositoryResponse(repo1.name, { cleanup: { cleaned: false, error: { @@ -418,9 +401,10 @@ describe('', () => { }); component.update(); - const latestRequest = server.requests[server.requests.length - 1]; - expect(latestRequest.method).toBe('POST'); - expect(latestRequest.url).toBe(`${API_BASE_PATH}repositories/${repo1.name}/cleanup`); + expect(httpSetup.post).toHaveBeenLastCalledWith( + `${API_BASE_PATH}repositories/${repo1.name}/cleanup`, + expect.anything() + ); expect(exists('repositoryDetail.cleanupCodeBlock')).toBe(false); expect(exists('repositoryDetail.cleanupError')).toBe(true); @@ -430,7 +414,7 @@ describe('', () => { describe('when the repository has been fetched (and has snapshots)', () => { beforeEach(async () => { - httpRequestsMockHelpers.setGetRepositoryResponse({ + httpRequestsMockHelpers.setGetRepositoryResponse(repo1.name, { repository: { name: 'my-repo', type: 'fs', @@ -458,7 +442,7 @@ describe('', () => { }); beforeEach(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); await act(async () => { testBed.actions.selectTab('snapshots'); @@ -488,7 +472,7 @@ describe('', () => { total: 0, }); - testBed = await setup(); + testBed = await setup(httpSetup); await act(async () => { testBed.actions.selectTab('snapshots'); @@ -527,7 +511,7 @@ describe('', () => { total: 2, }); - testBed = await setup(); + testBed = await setup(httpSetup); await act(async () => { testBed.actions.selectTab('snapshots'); @@ -571,7 +555,7 @@ describe('', () => { }, }); - testBed = await setup(); + testBed = await setup(httpSetup); await act(async () => { testBed.actions.selectTab('snapshots'); @@ -599,7 +583,7 @@ describe('', () => { }, }); - testBed = await setup(); + testBed = await setup(httpSetup); await act(async () => { testBed.actions.selectTab('snapshots'); @@ -635,7 +619,6 @@ describe('', () => { test('should have a button to reload the snapshots', async () => { const { component, exists, actions } = testBed; - const totalRequests = server.requests.length; expect(exists('reloadButton')).toBe(true); await act(async () => { @@ -644,13 +627,19 @@ describe('', () => { component.update(); }); - expect(server.requests.length).toBe(totalRequests + 1); - expect(server.requests[server.requests.length - 1].url).toBe(`${API_BASE_PATH}snapshots`); + expect(httpSetup.get).toHaveBeenLastCalledWith( + `${API_BASE_PATH}snapshots`, + expect.anything() + ); }); describe('detail panel', () => { beforeEach(async () => { - httpRequestsMockHelpers.setGetSnapshotResponse(snapshot1); + httpRequestsMockHelpers.setGetSnapshotResponse( + snapshot1.repository, + snapshot1.snapshot, + snapshot1 + ); }); test('should show the detail when clicking on a snapshot', async () => { @@ -666,17 +655,18 @@ describe('', () => { // that makes the component crash. I tried a few things with no luck so, as this // is a low impact test, I prefer to skip it and move on. test.skip('should show a loading while fetching the snapshot', async () => { - server.respondImmediately = false; const { find, exists, actions } = testBed; // By providing undefined, the "loading section" will be displayed - httpRequestsMockHelpers.setGetSnapshotResponse(undefined); + httpRequestsMockHelpers.setGetSnapshotResponse( + snapshot1.repository, + snapshot1.snapshot, + undefined + ); await actions.clickSnapshotAt(0); expect(exists('snapshotDetail.sectionLoading')).toBe(true); expect(find('snapshotDetail.sectionLoading').text()).toEqual('Loading snapshot…'); - - server.respondImmediately = true; }); describe('on mount', () => { @@ -767,7 +757,11 @@ describe('', () => { const setSnapshotStateAndUpdateDetail = async (state: string) => { const updatedSnapshot = { ...snapshot1, state }; - httpRequestsMockHelpers.setGetSnapshotResponse(updatedSnapshot); + httpRequestsMockHelpers.setGetSnapshotResponse( + itemIndexToClickOn === 0 ? snapshot1.repository : snapshot2.repository, + itemIndexToClickOn === 0 ? snapshot1.snapshot : snapshot2.snapshot, + updatedSnapshot + ); await actions.clickSnapshotAt(itemIndexToClickOn); // click another snapshot to trigger the HTTP call }; @@ -797,9 +791,12 @@ describe('', () => { }; // Call sequentially each state and verify that the message is ok - return Object.entries(mapStateToMessage).reduce((promise, [state, message]) => { - return promise.then(async () => expectMessageForSnapshotState(state, message)); - }, Promise.resolve()); + return Object.entries(mapStateToMessage).reduce( + async (promise, [state, message]) => { + return promise.then(async () => expectMessageForSnapshotState(state, message)); + }, + Promise.resolve() + ); }); }); @@ -815,8 +812,12 @@ describe('', () => { test('should display a message when snapshot in progress ', async () => { const { find, actions } = testBed; - const updatedSnapshot = { ...snapshot1, state: 'IN_PROGRESS' }; - httpRequestsMockHelpers.setGetSnapshotResponse(updatedSnapshot); + const updatedSnapshot = { ...snapshot2, state: 'IN_PROGRESS' }; + httpRequestsMockHelpers.setGetSnapshotResponse( + snapshot2.repository, + snapshot2.snapshot, + updatedSnapshot + ); await actions.clickSnapshotAt(1); // click another snapshot to trigger the HTTP call actions.selectSnapshotDetailTab('failedIndices'); @@ -835,7 +836,11 @@ describe('', () => { beforeEach(async () => { const updatedSnapshot = { ...snapshot1, indexFailures }; - httpRequestsMockHelpers.setGetSnapshotResponse(updatedSnapshot); + httpRequestsMockHelpers.setGetSnapshotResponse( + updatedSnapshot.repository, + updatedSnapshot.snapshot, + updatedSnapshot + ); await testBed.actions.clickSnapshotAt(0); testBed.actions.selectSnapshotDetailTab('failedIndices'); }); diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/policy_add.test.ts b/x-pack/plugins/snapshot_restore/__jest__/client_integration/policy_add.test.ts index 1e8546bef50e5..0950eda8fc630 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/policy_add.test.ts +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/policy_add.test.ts @@ -12,6 +12,7 @@ import { ReactElement } from 'react'; import { act } from 'react-dom/test-utils'; import * as fixtures from '../../test/fixtures'; +import { API_BASE_PATH } from '../../common'; import { PolicyFormTestBed } from './helpers/policy_form.helpers'; import { DEFAULT_POLICY_SCHEDULE } from '../../public/application/constants'; @@ -36,12 +37,7 @@ const repository = fixtures.getRepository({ name: `a${getRandomString()}`, type: describe('', () => { let testBed: PolicyFormTestBed; - - const { server, httpRequestsMockHelpers } = setupEnvironment(); - - afterAll(() => { - server.restore(); - }); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); describe('on component mount', () => { beforeEach(async () => { @@ -51,7 +47,7 @@ describe('', () => { dataStreams: ['my_data_stream', 'my_other_data_stream'], }); - testBed = await setup(); + testBed = await setup(httpSetup); await nextTick(); testBed.component.update(); }); @@ -241,36 +237,37 @@ describe('', () => { await nextTick(); }); - const latestRequest = server.requests[server.requests.length - 1]; - - const expected = { - config: {}, - isManagedPolicy: false, - name: POLICY_NAME, - repository: repository.name, - retention: { - expireAfterUnit: 'd', // default - expireAfterValue: Number(EXPIRE_AFTER_VALUE), - maxCount: Number(MAX_COUNT), - minCount: Number(MIN_COUNT), - }, - schedule: DEFAULT_POLICY_SCHEDULE, - snapshotName: SNAPSHOT_NAME, - }; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual(expected); + expect(httpSetup.post).toHaveBeenLastCalledWith( + `${API_BASE_PATH}policies`, + expect.objectContaining({ + body: JSON.stringify({ + name: POLICY_NAME, + snapshotName: SNAPSHOT_NAME, + schedule: DEFAULT_POLICY_SCHEDULE, + repository: repository.name, + config: {}, + retention: { + expireAfterValue: Number(EXPIRE_AFTER_VALUE), + expireAfterUnit: 'd', // default + maxCount: Number(MAX_COUNT), + minCount: Number(MIN_COUNT), + }, + isManagedPolicy: false, + }), + }) + ); }); it('should surface the API errors from the put HTTP request', async () => { const { component, actions, find, exists } = testBed; const error = { - status: 409, + statusCode: 409, error: 'Conflict', message: `There is already a policy with name '${POLICY_NAME}'`, }; - httpRequestsMockHelpers.setAddPolicyResponse(undefined, { body: error }); + httpRequestsMockHelpers.setAddPolicyResponse(undefined, error); await act(async () => { actions.clickSubmitButton(); diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/policy_edit.test.ts b/x-pack/plugins/snapshot_restore/__jest__/client_integration/policy_edit.test.ts index 7d5d605b216bc..117d6f0e0e223 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/policy_edit.test.ts +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/policy_edit.test.ts @@ -8,6 +8,7 @@ import { act } from 'react-dom/test-utils'; import { setupEnvironment, pageHelpers, nextTick } from './helpers'; +import { API_BASE_PATH } from '../../common'; import { PolicyForm } from '../../public/application/components/policy_form'; import { PolicyFormTestBed } from './helpers/policy_form.helpers'; import { POLICY_EDIT } from './helpers/constant'; @@ -22,15 +23,11 @@ const EXPIRE_AFTER_UNIT = TIME_UNITS.MINUTE; describe('', () => { let testBed: PolicyFormTestBed; let testBedPolicyAdd: PolicyFormTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); - - afterAll(() => { - server.restore(); - }); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); describe('on component mount', () => { beforeEach(async () => { - httpRequestsMockHelpers.setGetPolicyResponse({ policy: POLICY_EDIT }); + httpRequestsMockHelpers.setGetPolicyResponse(POLICY_EDIT.name, { policy: POLICY_EDIT }); httpRequestsMockHelpers.setLoadIndicesResponse({ indices: ['my_index'], dataStreams: ['my_data_stream'], @@ -39,7 +36,7 @@ describe('', () => { repositories: [{ name: POLICY_EDIT.repository }], }); - testBed = await setup(); + testBed = await setup(httpSetup); await act(async () => { await nextTick(); @@ -55,7 +52,7 @@ describe('', () => { describe('policy with pre-existing repository that was deleted', () => { beforeEach(async () => { - httpRequestsMockHelpers.setGetPolicyResponse({ policy: POLICY_EDIT }); + httpRequestsMockHelpers.setGetPolicyResponse(POLICY_EDIT.name, { policy: POLICY_EDIT }); httpRequestsMockHelpers.setLoadIndicesResponse({ indices: ['my_index'], dataStreams: ['my_data_stream'], @@ -64,7 +61,7 @@ describe('', () => { repositories: [{ name: 'this-is-a-new-repository' }], }); - testBed = await setup(); + testBed = await setup(httpSetup); await act(async () => { await nextTick(); @@ -97,7 +94,7 @@ describe('', () => { * the same form component is indeed shared between the 2 app sections. */ test('should use the same Form component as the "" section', async () => { - testBedPolicyAdd = await setupPolicyAdd(); + testBedPolicyAdd = await setupPolicyAdd(httpSetup); await act(async () => { await nextTick(); @@ -143,27 +140,28 @@ describe('', () => { await nextTick(); }); - const latestRequest = server.requests[server.requests.length - 1]; - const { name, isManagedPolicy, schedule, repository, retention } = POLICY_EDIT; - const expected = { - name, - isManagedPolicy, - schedule, - repository, - config: { - ignoreUnavailable: true, - }, - retention: { - ...retention, - expireAfterValue: Number(EXPIRE_AFTER_VALUE), - expireAfterUnit: EXPIRE_AFTER_UNIT, - }, - snapshotName: editedSnapshotName, - }; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual(expected); + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}policies/${name}`, + expect.objectContaining({ + body: JSON.stringify({ + name, + snapshotName: editedSnapshotName, + schedule, + repository, + config: { + ignoreUnavailable: true, + }, + retention: { + ...retention, + expireAfterUnit: EXPIRE_AFTER_UNIT, + expireAfterValue: Number(EXPIRE_AFTER_VALUE), + }, + isManagedPolicy, + }), + }) + ); }); it('should provide a default time unit value for retention', async () => { @@ -184,25 +182,27 @@ describe('', () => { await nextTick(); }); - const latestRequest = server.requests[server.requests.length - 1]; - const { name, isManagedPolicy, schedule, repository, retention, config, snapshotName } = POLICY_EDIT; - const expected = { - name, - isManagedPolicy, - schedule, - repository, - config, - snapshotName, - retention: { - ...retention, - expireAfterValue: Number(EXPIRE_AFTER_VALUE), - expireAfterUnit: TIME_UNITS.DAY, // default value - }, - }; - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual(expected); + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}policies/${name}`, + expect.objectContaining({ + body: JSON.stringify({ + name, + snapshotName, + schedule, + repository, + config, + retention: { + ...retention, + expireAfterUnit: TIME_UNITS.DAY, // default value + expireAfterValue: Number(EXPIRE_AFTER_VALUE), + }, + isManagedPolicy, + }), + }) + ); }); }); }); diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/repository_add.test.ts b/x-pack/plugins/snapshot_restore/__jest__/client_integration/repository_add.test.ts index 85d438fc5f3ae..3a34926272e07 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/repository_add.test.ts +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/repository_add.test.ts @@ -8,6 +8,7 @@ import { act } from 'react-dom/test-utils'; import { INVALID_NAME_CHARS } from '../../public/application/services/validation/validate_repository'; +import { API_BASE_PATH } from '../../common'; import { getRepository } from '../../test/fixtures'; import { RepositoryType } from '../../common/types'; import { setupEnvironment, pageHelpers, nextTick, delay } from './helpers'; @@ -18,18 +19,13 @@ const repositoryTypes = ['fs', 'url', 'source', 'azure', 'gcs', 's3', 'hdfs']; describe('', () => { let testBed: RepositoryAddTestBed; - - const { server, httpRequestsMockHelpers } = setupEnvironment(); - - afterAll(() => { - server.restore(); - }); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); describe('on component mount', () => { beforeEach(async () => { httpRequestsMockHelpers.setLoadRepositoryTypesResponse(repositoryTypes); - testBed = await setup(); + testBed = await setup(httpSetup); }); test('should set the correct page title', () => { @@ -65,7 +61,7 @@ describe('', () => { describe('when no repository types are not found', () => { beforeEach(async () => { httpRequestsMockHelpers.setLoadRepositoryTypesResponse([]); - testBed = await setup(); + testBed = await setup(httpSetup); await nextTick(); testBed.component.update(); }); @@ -81,7 +77,7 @@ describe('', () => { describe('when repository types are found', () => { beforeEach(async () => { httpRequestsMockHelpers.setLoadRepositoryTypesResponse(repositoryTypes); - testBed = await setup(); + testBed = await setup(httpSetup); await nextTick(); testBed.component.update(); }); @@ -104,7 +100,7 @@ describe('', () => { beforeEach(async () => { httpRequestsMockHelpers.setLoadRepositoryTypesResponse(repositoryTypes); - testBed = await setup(); + testBed = await setup(httpSetup); await nextTick(); testBed.component.update(); }); @@ -205,7 +201,7 @@ describe('', () => { beforeEach(async () => { httpRequestsMockHelpers.setLoadRepositoryTypesResponse(repositoryTypes); - testBed = await setup(); + testBed = await setup(httpSetup); }); describe('not source only', () => { @@ -231,17 +227,23 @@ describe('', () => { component.update(); - const latestRequest = server.requests[server.requests.length - 1]; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual({ - name: fsRepository.name, - type: fsRepository.type, - settings: { - ...fsRepository.settings, - compress: true, - readonly: true, - }, - }); + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}repositories`, + expect.objectContaining({ + body: JSON.stringify({ + name: fsRepository.name, + type: fsRepository.type, + settings: { + location: fsRepository.settings.location, + compress: true, + chunkSize: fsRepository.settings.chunkSize, + maxSnapshotBytesPerSec: fsRepository.settings.maxSnapshotBytesPerSec, + maxRestoreBytesPerSec: fsRepository.settings.maxRestoreBytesPerSec, + readonly: true, + }, + }), + }) + ); }); test('should send the correct payload for Azure repository', async () => { @@ -283,17 +285,25 @@ describe('', () => { component.update(); - const latestRequest = server.requests[server.requests.length - 1]; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual({ - name: azureRepository.name, - type: azureRepository.type, - settings: { - ...azureRepository.settings, - compress: false, - readonly: true, - }, - }); + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}repositories`, + expect.objectContaining({ + body: JSON.stringify({ + name: azureRepository.name, + type: azureRepository.type, + settings: { + client: azureRepository.settings.client, + container: azureRepository.settings.container, + basePath: azureRepository.settings.basePath, + compress: false, + chunkSize: azureRepository.settings.chunkSize, + maxSnapshotBytesPerSec: azureRepository.settings.maxSnapshotBytesPerSec, + maxRestoreBytesPerSec: azureRepository.settings.maxRestoreBytesPerSec, + readonly: true, + }, + }), + }) + ); }); test('should send the correct payload for GCS repository', async () => { @@ -332,17 +342,25 @@ describe('', () => { component.update(); - const latestRequest = server.requests[server.requests.length - 1]; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual({ - name: gcsRepository.name, - type: gcsRepository.type, - settings: { - ...gcsRepository.settings, - compress: false, - readonly: true, - }, - }); + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}repositories`, + expect.objectContaining({ + body: JSON.stringify({ + name: gcsRepository.name, + type: gcsRepository.type, + settings: { + client: gcsRepository.settings.client, + bucket: gcsRepository.settings.bucket, + basePath: gcsRepository.settings.basePath, + compress: false, + chunkSize: gcsRepository.settings.chunkSize, + maxSnapshotBytesPerSec: gcsRepository.settings.maxSnapshotBytesPerSec, + maxRestoreBytesPerSec: gcsRepository.settings.maxRestoreBytesPerSec, + readonly: true, + }, + }), + }) + ); }); test('should send the correct payload for HDFS repository', async () => { @@ -379,18 +397,24 @@ describe('', () => { component.update(); - const latestRequest = server.requests[server.requests.length - 1]; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual({ - name: hdfsRepository.name, - type: hdfsRepository.type, - settings: { - ...hdfsRepository.settings, - uri: `hdfs://${hdfsRepository.settings.uri}`, - compress: false, - readonly: true, - }, - }); + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}repositories`, + expect.objectContaining({ + body: JSON.stringify({ + name: hdfsRepository.name, + type: hdfsRepository.type, + settings: { + uri: `hdfs://${hdfsRepository.settings.uri}`, + path: hdfsRepository.settings.path, + compress: false, + chunkSize: hdfsRepository.settings.chunkSize, + maxSnapshotBytesPerSec: hdfsRepository.settings.maxSnapshotBytesPerSec, + maxRestoreBytesPerSec: hdfsRepository.settings.maxRestoreBytesPerSec, + readonly: true, + }, + }), + }) + ); }); test('should send the correct payload for S3 repository', async () => { @@ -431,17 +455,26 @@ describe('', () => { component.update(); - const latestRequest = server.requests[server.requests.length - 1]; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual({ - name: s3Repository.name, - type: s3Repository.type, - settings: { - ...s3Repository.settings, - compress: false, - readonly: true, - }, - }); + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}repositories`, + expect.objectContaining({ + body: JSON.stringify({ + name: s3Repository.name, + type: s3Repository.type, + settings: { + bucket: s3Repository.settings.bucket, + client: s3Repository.settings.client, + basePath: s3Repository.settings.basePath, + bufferSize: s3Repository.settings.bufferSize, + compress: false, + chunkSize: s3Repository.settings.chunkSize, + maxSnapshotBytesPerSec: s3Repository.settings.maxSnapshotBytesPerSec, + maxRestoreBytesPerSec: s3Repository.settings.maxRestoreBytesPerSec, + readonly: true, + }, + }), + }) + ); }); test('should surface the API errors from the "save" HTTP request', async () => { @@ -457,12 +490,12 @@ describe('', () => { form.toggleEuiSwitch('compressToggle'); const error = { - status: 400, + statusCode: 400, error: 'Bad request', message: 'Repository payload is invalid', }; - httpRequestsMockHelpers.setSaveRepositoryResponse(undefined, { body: error }); + httpRequestsMockHelpers.setSaveRepositoryResponse(undefined, error); await act(async () => { actions.clickSubmitButton(); @@ -496,16 +529,19 @@ describe('', () => { component.update(); - const latestRequest = server.requests[server.requests.length - 1]; - - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual({ - name: fsRepository.name, - type: 'source', - settings: { - delegateType: fsRepository.type, - location: fsRepository.settings.location, - }, - }); + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}repositories`, + expect.objectContaining({ + body: JSON.stringify({ + name: fsRepository.name, + type: 'source', + settings: { + delegateType: fsRepository.type, + location: fsRepository.settings.location, + }, + }), + }) + ); }); }); }); diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/repository_edit.test.ts b/x-pack/plugins/snapshot_restore/__jest__/client_integration/repository_edit.test.ts index 8adf1e988ff1e..102c0d13a012b 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/repository_edit.test.ts +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/repository_edit.test.ts @@ -11,7 +11,7 @@ import { setupEnvironment, pageHelpers, nextTick, TestBed, getRandomString } fro import { RepositoryForm } from '../../public/application/components/repository_form'; import { RepositoryEditTestSubjects } from './helpers/repository_edit.helpers'; import { RepositoryAddTestSubjects } from './helpers/repository_add.helpers'; -import { REPOSITORY_EDIT } from './helpers/constant'; +import { REPOSITORY_EDIT, REPOSITORY_NAME } from './helpers/constant'; const { setup } = pageHelpers.repositoryEdit; const { setup: setupRepositoryAdd } = pageHelpers.repositoryAdd; @@ -19,19 +19,15 @@ const { setup: setupRepositoryAdd } = pageHelpers.repositoryAdd; describe('', () => { let testBed: TestBed; let testBedRepositoryAdd: TestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); - - afterAll(() => { - server.restore(); - }); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); describe('on component mount', () => { beforeEach(async () => { - httpRequestsMockHelpers.setGetRepositoryResponse({ + httpRequestsMockHelpers.setGetRepositoryResponse(REPOSITORY_EDIT.name, { repository: REPOSITORY_EDIT, snapshots: { count: 0 }, }); - testBed = await setup(); + testBed = await setup(httpSetup); await act(async () => { await nextTick(); @@ -54,7 +50,7 @@ describe('', () => { test('should use the same Form component as the "" section', async () => { httpRequestsMockHelpers.setLoadRepositoryTypesResponse(['fs', 'url']); - testBedRepositoryAdd = await setupRepositoryAdd(); + testBedRepositoryAdd = await setupRepositoryAdd(httpSetup); const formEdit = testBed.component.find(RepositoryForm); const formAdd = testBedRepositoryAdd.component.find(RepositoryForm); @@ -66,11 +62,11 @@ describe('', () => { describe('should populate the correct values', () => { const mountComponentWithMock = async (repository: any) => { - httpRequestsMockHelpers.setGetRepositoryResponse({ + httpRequestsMockHelpers.setGetRepositoryResponse(REPOSITORY_NAME, { repository: { name: getRandomString(), ...repository }, snapshots: { count: 0 }, }); - testBed = await setup(); + testBed = await setup(httpSetup); await act(async () => { await nextTick(); diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/restore_snapshot.test.ts b/x-pack/plugins/snapshot_restore/__jest__/client_integration/restore_snapshot.test.ts index 2d8c734af3605..1bd9898f9f1b2 100644 --- a/x-pack/plugins/snapshot_restore/__jest__/client_integration/restore_snapshot.test.ts +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/restore_snapshot.test.ts @@ -6,8 +6,10 @@ */ import { act } from 'react-dom/test-utils'; +import { API_BASE_PATH } from '../../common'; import { pageHelpers, setupEnvironment } from './helpers'; import { RestoreSnapshotTestBed } from './helpers/restore_snapshot.helpers'; +import { REPOSITORY_NAME, SNAPSHOT_NAME } from './helpers/constant'; import * as fixtures from '../../test/fixtures'; const { @@ -15,19 +17,19 @@ const { } = pageHelpers; describe('', () => { - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); let testBed: RestoreSnapshotTestBed; - afterAll(() => { - server.restore(); - }); - describe('wizard navigation', () => { beforeEach(async () => { - httpRequestsMockHelpers.setGetSnapshotResponse(fixtures.getSnapshot()); + httpRequestsMockHelpers.setGetSnapshotResponse( + REPOSITORY_NAME, + SNAPSHOT_NAME, + fixtures.getSnapshot() + ); await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -44,10 +46,14 @@ describe('', () => { describe('with data streams', () => { beforeEach(async () => { - httpRequestsMockHelpers.setGetSnapshotResponse(fixtures.getSnapshot()); + httpRequestsMockHelpers.setGetSnapshotResponse( + REPOSITORY_NAME, + SNAPSHOT_NAME, + fixtures.getSnapshot() + ); await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -61,9 +67,13 @@ describe('', () => { describe('without data streams', () => { beforeEach(async () => { - httpRequestsMockHelpers.setGetSnapshotResponse(fixtures.getSnapshot({ totalDataStreams: 0 })); + httpRequestsMockHelpers.setGetSnapshotResponse( + REPOSITORY_NAME, + SNAPSHOT_NAME, + fixtures.getSnapshot({ totalDataStreams: 0 }) + ); await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -77,9 +87,13 @@ describe('', () => { describe('global state', () => { beforeEach(async () => { - httpRequestsMockHelpers.setGetSnapshotResponse(fixtures.getSnapshot()); + httpRequestsMockHelpers.setGetSnapshotResponse( + REPOSITORY_NAME, + SNAPSHOT_NAME, + fixtures.getSnapshot() + ); await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -100,11 +114,14 @@ describe('', () => { // the form controls and asserting that the correct payload is sent to the API. describe('include aliases', () => { beforeEach(async () => { - httpRequestsMockHelpers.setGetSnapshotResponse(fixtures.getSnapshot()); - httpRequestsMockHelpers.setRestoreSnapshotResponse({}); + httpRequestsMockHelpers.setGetSnapshotResponse( + REPOSITORY_NAME, + SNAPSHOT_NAME, + fixtures.getSnapshot() + ); await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -116,9 +133,14 @@ describe('', () => { actions.goToStep(3); await actions.clickRestore(); - const expectedPayload = { includeAliases: false }; - const latestRequest = server.requests[server.requests.length - 1]; - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual(expectedPayload); + expect(httpSetup.post).toHaveBeenLastCalledWith( + `${API_BASE_PATH}restore/${REPOSITORY_NAME}/${SNAPSHOT_NAME}`, + expect.objectContaining({ + body: JSON.stringify({ + includeAliases: false, + }), + }) + ); }); }); }); diff --git a/x-pack/plugins/snapshot_restore/__jest__/client_integration/snapshot_list.test.tsx b/x-pack/plugins/snapshot_restore/__jest__/client_integration/snapshot_list.test.tsx new file mode 100644 index 0000000000000..bc6eae3fcd573 --- /dev/null +++ b/x-pack/plugins/snapshot_restore/__jest__/client_integration/snapshot_list.test.tsx @@ -0,0 +1,351 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { act } from 'react-dom/test-utils'; +import { EuiSearchBoxProps } from '@elastic/eui/src/components/search_bar/search_box'; + +import { useLoadSnapshots } from '../../public/application/services/http'; +import { DEFAULT_SNAPSHOT_LIST_PARAMS } from '../../public/application/lib'; + +import * as fixtures from '../../test/fixtures'; +import { SnapshotListTestBed } from './helpers/snapshot_list.helpers'; +import { REPOSITORY_NAME } from './helpers/constant'; +import { pageHelpers, getRandomString } from './helpers'; + +/* + * We are mocking useLoadSnapshots instead of sinon fake server because it's not + * spying on url parameters used in requests, for example /api/snapshot_restore/snapshots + * ?sortField=startTimeInMillis&sortDirection=desc&pageIndex=0&pageSize=20 + * &searchField=repository&searchValue=test&searchMatch=must&searchOperator=exact + * would be shown as url=/api/snapshot_restore/snapshots is sinon server + */ +jest.mock('../../public/application/services/http', () => ({ + useLoadSnapshots: jest.fn(), + setUiMetricServiceSnapshot: () => {}, + setUiMetricService: () => {}, +})); + +/* + * Mocking EuiSearchBar because its onChange is not firing during tests + */ +jest.mock('@elastic/eui/lib/components/search_bar/search_box', () => { + return { + EuiSearchBox: (props: EuiSearchBoxProps) => ( + ) => { + props.onSearch(event.target.value); + }} + /> + ), + }; +}); + +const { setup } = pageHelpers.snapshotList; + +describe('', () => { + let testBed: SnapshotListTestBed; + let setSearchText: SnapshotListTestBed['actions']['setSearchText']; + let searchErrorExists: SnapshotListTestBed['actions']['searchErrorExists']; + let getSearchErrorText: SnapshotListTestBed['actions']['getSearchErrorText']; + + beforeAll(() => { + jest.useFakeTimers(); + const snapshot = fixtures.getSnapshot({ + repository: REPOSITORY_NAME, + snapshot: getRandomString(), + }); + const snapshots = [snapshot]; + (useLoadSnapshots as jest.Mock).mockReturnValue({ + error: null, + isInitialRequest: false, + isLoading: false, + data: { + snapshots, + repositories: [REPOSITORY_NAME], + policies: [], + errors: {}, + total: snapshots.length, + }, + resendRequest: () => {}, + }); + }); + + afterAll(() => { + jest.useRealTimers(); + }); + + beforeEach(async () => { + testBed = await setup(); + ({ + actions: { setSearchText, searchErrorExists, getSearchErrorText }, + } = testBed); + }); + + describe('search', () => { + describe('url parameters', () => { + test('query is updated with repository name from the url', async () => { + testBed = await setup('?repository=test_repo'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'repository', + searchValue: 'test_repo', + searchMatch: 'must', + searchOperator: 'exact', + }); + }); + + test('query is updated with snapshot policy name from the url', async () => { + testBed = await setup('?policy=test_policy'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'policyName', + searchValue: 'test_policy', + searchMatch: 'must', + searchOperator: 'exact', + }); + }); + + test('query is not updated with unknown params from the url', async () => { + testBed = await setup('?some_param=test_param'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + }); + }); + }); + + describe('debounce', () => { + test('waits after input to update list params for search', async () => { + const ADVANCE_TIME = false; + await setSearchText('snapshot=test_snapshot', ADVANCE_TIME); + // the last request was without any search params + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + }); + // advance the timers until after the debounce timeout + // we use act because the component is updated when the timers advance + act(() => { + jest.advanceTimersByTime(500); + }); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'snapshot', + searchValue: 'test_snapshot', + searchMatch: 'must', + searchOperator: 'exact', + }); + }); + }); + + describe('query parsing', () => { + describe('snapshot', () => { + test('term search is converted to partial snapshot search', async () => { + await setSearchText('term_snapshot_search'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'snapshot', + searchValue: 'term_snapshot_search', + searchMatch: 'must', + searchOperator: 'eq', + }); + }); + + test('term search with a date is parsed', async () => { + await setSearchText('2022.02.10'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'snapshot', + searchValue: '2022.02.10', + searchMatch: 'must', + searchOperator: 'eq', + }); + }); + + test('excluding term search is converted to partial excluding snapshot search', async () => { + await setSearchText('-test_snapshot'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'snapshot', + searchValue: 'test_snapshot', + searchMatch: 'must_not', + searchOperator: 'eq', + }); + }); + + test('partial snapshot search is parsed', async () => { + await setSearchText('snapshot:test_snapshot'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'snapshot', + searchValue: 'test_snapshot', + searchMatch: 'must', + searchOperator: 'eq', + }); + }); + + test('excluding partial snapshot search is parsed', async () => { + await setSearchText('-snapshot:test_snapshot'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'snapshot', + searchValue: 'test_snapshot', + searchMatch: 'must_not', + searchOperator: 'eq', + }); + }); + + test('exact snapshot search is parsed', async () => { + await setSearchText('snapshot=test_snapshot'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'snapshot', + searchValue: 'test_snapshot', + searchMatch: 'must', + searchOperator: 'exact', + }); + }); + + test('excluding exact snapshot search is parsed', async () => { + await setSearchText('-snapshot=test_snapshot'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'snapshot', + searchValue: 'test_snapshot', + searchMatch: 'must_not', + searchOperator: 'exact', + }); + }); + }); + + describe('repository', () => { + test('partial repository search is parsed', async () => { + await setSearchText('repository:test_repository'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'repository', + searchValue: 'test_repository', + searchMatch: 'must', + searchOperator: 'eq', + }); + }); + + test('excluding partial repository search is parsed', async () => { + await setSearchText('-repository:test_repository'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'repository', + searchValue: 'test_repository', + searchMatch: 'must_not', + searchOperator: 'eq', + }); + }); + + test('exact repository search is parsed', async () => { + await setSearchText('repository=test_repository'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'repository', + searchValue: 'test_repository', + searchMatch: 'must', + searchOperator: 'exact', + }); + }); + + test('excluding exact repository search is parsed', async () => { + await setSearchText('-repository=test_repository'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'repository', + searchValue: 'test_repository', + searchMatch: 'must_not', + searchOperator: 'exact', + }); + }); + }); + + describe('policy', () => { + test('partial policy search is parsed', async () => { + await setSearchText('policyName:test_policy'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'policyName', + searchValue: 'test_policy', + searchMatch: 'must', + searchOperator: 'eq', + }); + }); + + test('excluding partial policy search is parsed', async () => { + await setSearchText('-policyName:test_policy'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'policyName', + searchValue: 'test_policy', + searchMatch: 'must_not', + searchOperator: 'eq', + }); + }); + + test('exact policy search is parsed', async () => { + await setSearchText('policyName=test_policy'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'policyName', + searchValue: 'test_policy', + searchMatch: 'must', + searchOperator: 'exact', + }); + }); + + test('excluding exact policy search is parsed', async () => { + await setSearchText('-policyName=test_policy'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + searchField: 'policyName', + searchValue: 'test_policy', + searchMatch: 'must_not', + searchOperator: 'exact', + }); + }); + }); + }); + + describe('error handling', () => { + test(`doesn't allow more than 1 terms in the query`, async () => { + await setSearchText('term1 term2'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + }); + expect(searchErrorExists()).toBeTruthy(); + expect(getSearchErrorText()).toEqual( + 'Invalid search: You can only use one clause in the search bar' + ); + }); + + test(`doesn't allow more than 1 clauses in the query`, async () => { + await setSearchText('snapshot=test_snapshot policyName:test_policy'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + }); + expect(searchErrorExists()).toBeTruthy(); + expect(getSearchErrorText()).toEqual( + 'Invalid search: You can only use one clause in the search bar' + ); + }); + + test(`doesn't allow unknown properties in the query`, async () => { + await setSearchText('unknown_field=test'); + expect(useLoadSnapshots).lastCalledWith({ + ...DEFAULT_SNAPSHOT_LIST_PARAMS, + }); + expect(searchErrorExists()).toBeTruthy(); + expect(getSearchErrorText()).toEqual('Invalid search: Unknown field `unknown_field`'); + }); + }); + }); +}); diff --git a/x-pack/plugins/snapshot_restore/public/application/lib/snapshot_list_params.ts b/x-pack/plugins/snapshot_restore/public/application/lib/snapshot_list_params.ts index b75a3e01fb617..20276ae58b8e4 100644 --- a/x-pack/plugins/snapshot_restore/public/application/lib/snapshot_list_params.ts +++ b/x-pack/plugins/snapshot_restore/public/application/lib/snapshot_list_params.ts @@ -6,6 +6,7 @@ */ import { Direction, Query } from '@elastic/eui'; +import { SchemaType } from '@elastic/eui/src/components/search_bar/search_box'; export type SortField = | 'snapshot' @@ -49,12 +50,15 @@ const resetSearchOptions = (listParams: SnapshotListParams): SnapshotListParams }); // to init the query for repository and policyName search passed via url -export const getQueryFromListParams = (listParams: SnapshotListParams): Query => { +export const getQueryFromListParams = ( + listParams: SnapshotListParams, + schema: SchemaType +): Query => { const { searchField, searchValue } = listParams; if (!searchField || !searchValue) { return Query.MATCH_ALL; } - return Query.parse(`${searchField}=${searchValue}`); + return Query.parse(`${searchField}=${searchValue}`, { schema }); }; export const getListParams = (listParams: SnapshotListParams, query: Query): SnapshotListParams => { diff --git a/x-pack/plugins/snapshot_restore/public/application/sections/home/snapshot_list/components/snapshot_search_bar.tsx b/x-pack/plugins/snapshot_restore/public/application/sections/home/snapshot_list/components/snapshot_search_bar.tsx index b3e2c24e396f0..ac1fd6aa2c57a 100644 --- a/x-pack/plugins/snapshot_restore/public/application/sections/home/snapshot_list/components/snapshot_search_bar.tsx +++ b/x-pack/plugins/snapshot_restore/public/application/sections/home/snapshot_list/components/snapshot_search_bar.tsx @@ -126,7 +126,7 @@ export const SnapshotSearchBar: React.FunctionComponent = ({ ); - const [query, setQuery] = useState(getQueryFromListParams(listParams)); + const [query, setQuery] = useState(getQueryFromListParams(listParams, searchSchema)); const [error, setError] = useState(null); const onSearchBarChange = (args: EuiSearchBarOnChangeArgs) => { @@ -152,12 +152,13 @@ export const SnapshotSearchBar: React.FunctionComponent = ({ onChange={onSearchBarChange} toolsLeft={deleteButton} toolsRight={reloadButton} - box={{ schema: searchSchema, incremental: true }} + box={{ schema: searchSchema, incremental: true, 'data-test-subj': 'snapshotListSearch' }} /> {error ? ( <> )} - -
    - + + +
    + +
    +
    +
    + + -
    -
    + + /x-pack/plugins/task_manager'], +}; diff --git a/x-pack/plugins/task_manager/server/config.test.ts b/x-pack/plugins/task_manager/server/config.test.ts index e9701fc3e7c05..b5b36023cf86b 100644 --- a/x-pack/plugins/task_manager/server/config.test.ts +++ b/x-pack/plugins/task_manager/server/config.test.ts @@ -17,6 +17,10 @@ describe('config validation', () => { "enabled": false, "request_capacity": 10, }, + "event_loop_delay": Object { + "monitor": true, + "warn_threshold": 5000, + }, "index": ".kibana_task_manager", "max_attempts": 3, "max_poll_inactivity_cycles": 10, @@ -76,6 +80,10 @@ describe('config validation', () => { "enabled": false, "request_capacity": 10, }, + "event_loop_delay": Object { + "monitor": true, + "warn_threshold": 5000, + }, "index": ".kibana_task_manager", "max_attempts": 3, "max_poll_inactivity_cycles": 10, @@ -122,6 +130,10 @@ describe('config validation', () => { "enabled": false, "request_capacity": 10, }, + "event_loop_delay": Object { + "monitor": true, + "warn_threshold": 5000, + }, "index": ".kibana_task_manager", "max_attempts": 3, "max_poll_inactivity_cycles": 10, diff --git a/x-pack/plugins/task_manager/server/config.ts b/x-pack/plugins/task_manager/server/config.ts index 286a9feaa1b5e..59340feab7f16 100644 --- a/x-pack/plugins/task_manager/server/config.ts +++ b/x-pack/plugins/task_manager/server/config.ts @@ -41,6 +41,14 @@ export const taskExecutionFailureThresholdSchema = schema.object( } ); +const eventLoopDelaySchema = schema.object({ + monitor: schema.boolean({ defaultValue: true }), + warn_threshold: schema.number({ + defaultValue: 5000, + min: 10, + }), +}); + export const configSchema = schema.object( { enabled: schema.boolean({ defaultValue: true }), @@ -128,6 +136,7 @@ export const configSchema = schema.object( max: DEFAULT_MAX_EPHEMERAL_REQUEST_CAPACITY, }), }), + event_loop_delay: eventLoopDelaySchema, /* These are not designed to be used by most users. Please use caution when changing these */ unsafe: schema.object({ exclude_task_types: schema.arrayOf(schema.string(), { defaultValue: [] }), @@ -148,3 +157,4 @@ export const configSchema = schema.object( export type TaskManagerConfig = TypeOf; export type TaskExecutionFailureThreshold = TypeOf; +export type EventLoopDelayConfig = TypeOf; diff --git a/x-pack/plugins/task_manager/server/ephemeral_task_lifecycle.test.ts b/x-pack/plugins/task_manager/server/ephemeral_task_lifecycle.test.ts index 558aa108c2462..a7ae51eeb9dcb 100644 --- a/x-pack/plugins/task_manager/server/ephemeral_task_lifecycle.test.ts +++ b/x-pack/plugins/task_manager/server/ephemeral_task_lifecycle.test.ts @@ -71,6 +71,10 @@ describe('EphemeralTaskLifecycle', () => { unsafe: { exclude_task_types: [], }, + event_loop_delay: { + monitor: true, + warn_threshold: 5000, + }, ...config, }, elasticsearchAndSOAvailability$, diff --git a/x-pack/plugins/task_manager/server/integration_tests/managed_configuration.test.ts b/x-pack/plugins/task_manager/server/integration_tests/managed_configuration.test.ts index 752299b0bdc9a..da171b6b81cc0 100644 --- a/x-pack/plugins/task_manager/server/integration_tests/managed_configuration.test.ts +++ b/x-pack/plugins/task_manager/server/integration_tests/managed_configuration.test.ts @@ -59,6 +59,10 @@ describe.skip('managed configuration', () => { unsafe: { exclude_task_types: [], }, + event_loop_delay: { + monitor: true, + warn_threshold: 5000, + }, }); logger = context.logger.get('taskManager'); diff --git a/x-pack/plugins/task_manager/server/monitoring/configuration_statistics.test.ts b/x-pack/plugins/task_manager/server/monitoring/configuration_statistics.test.ts index 6e88e9803add2..d4e73b6487c70 100644 --- a/x-pack/plugins/task_manager/server/monitoring/configuration_statistics.test.ts +++ b/x-pack/plugins/task_manager/server/monitoring/configuration_statistics.test.ts @@ -42,6 +42,10 @@ describe('Configuration Statistics Aggregator', () => { unsafe: { exclude_task_types: [], }, + event_loop_delay: { + monitor: true, + warn_threshold: 5000, + }, }; const managedConfig = { diff --git a/x-pack/plugins/task_manager/server/monitoring/monitoring_stats_stream.test.ts b/x-pack/plugins/task_manager/server/monitoring/monitoring_stats_stream.test.ts index ec94d9df1a4dc..4ed78147aadcd 100644 --- a/x-pack/plugins/task_manager/server/monitoring/monitoring_stats_stream.test.ts +++ b/x-pack/plugins/task_manager/server/monitoring/monitoring_stats_stream.test.ts @@ -46,6 +46,10 @@ describe('createMonitoringStatsStream', () => { unsafe: { exclude_task_types: [], }, + event_loop_delay: { + monitor: true, + warn_threshold: 5000, + }, }; it('returns the initial config used to configure Task Manager', async () => { diff --git a/x-pack/plugins/task_manager/server/plugin.test.ts b/x-pack/plugins/task_manager/server/plugin.test.ts index c47f006eca415..d96b8de92c64f 100644 --- a/x-pack/plugins/task_manager/server/plugin.test.ts +++ b/x-pack/plugins/task_manager/server/plugin.test.ts @@ -45,6 +45,10 @@ describe('TaskManagerPlugin', () => { unsafe: { exclude_task_types: [], }, + event_loop_delay: { + monitor: true, + warn_threshold: 5000, + }, }); pluginInitializerContext.env.instanceUuid = ''; @@ -88,6 +92,10 @@ describe('TaskManagerPlugin', () => { unsafe: { exclude_task_types: [], }, + event_loop_delay: { + monitor: true, + warn_threshold: 5000, + }, }); const taskManagerPlugin = new TaskManagerPlugin(pluginInitializerContext); @@ -160,6 +168,10 @@ describe('TaskManagerPlugin', () => { unsafe: { exclude_task_types: ['*'], }, + event_loop_delay: { + monitor: true, + warn_threshold: 5000, + }, }); const logger = pluginInitializerContext.logger.get(); diff --git a/x-pack/plugins/task_manager/server/polling_lifecycle.test.ts b/x-pack/plugins/task_manager/server/polling_lifecycle.test.ts index b6a93b14f578b..54320d9d90b5d 100644 --- a/x-pack/plugins/task_manager/server/polling_lifecycle.test.ts +++ b/x-pack/plugins/task_manager/server/polling_lifecycle.test.ts @@ -67,6 +67,10 @@ describe('TaskPollingLifecycle', () => { unsafe: { exclude_task_types: [], }, + event_loop_delay: { + monitor: true, + warn_threshold: 5000, + }, }, taskStore: mockTaskStore, logger: taskManagerLogger, diff --git a/x-pack/plugins/task_manager/server/polling_lifecycle.ts b/x-pack/plugins/task_manager/server/polling_lifecycle.ts index c54c1e2f58414..1e52fc4b24000 100644 --- a/x-pack/plugins/task_manager/server/polling_lifecycle.ts +++ b/x-pack/plugins/task_manager/server/polling_lifecycle.ts @@ -87,6 +87,8 @@ export class TaskPollingLifecycle { private middleware: Middleware; + private config: TaskManagerConfig; + /** * Initializes the task manager, preventing any further addition of middleware, * enabling the task manipulation methods, and beginning the background polling @@ -109,6 +111,7 @@ export class TaskPollingLifecycle { this.definitions = definitions; this.store = taskStore; this.executionContext = executionContext; + this.config = config; const emitEvent = (event: TaskLifecycleEvent) => this.events$.next(event); @@ -230,6 +233,7 @@ export class TaskPollingLifecycle { onTaskEvent: this.emitEvent, defaultMaxAttempts: this.taskClaiming.maxAttempts, executionContext: this.executionContext, + eventLoopDelayConfig: { ...this.config.event_loop_delay }, }); }; diff --git a/x-pack/plugins/task_manager/server/queries/task_claiming.test.ts b/x-pack/plugins/task_manager/server/queries/task_claiming.test.ts index eed8858dc95d8..ed656b5144956 100644 --- a/x-pack/plugins/task_manager/server/queries/task_claiming.test.ts +++ b/x-pack/plugins/task_manager/server/queries/task_claiming.test.ts @@ -17,10 +17,16 @@ import { asOk, asErr } from '../lib/result_type'; import { TaskTypeDictionary } from '../task_type_dictionary'; import type { MustNotCondition } from '../queries/query_clauses'; import { mockLogger } from '../test_utils'; -import { TaskClaiming, OwnershipClaimingOpts, TaskClaimingOpts } from './task_claiming'; +import { + TaskClaiming, + OwnershipClaimingOpts, + TaskClaimingOpts, + TASK_MANAGER_MARK_AS_CLAIMED, +} from './task_claiming'; import { Observable } from 'rxjs'; import { taskStoreMock } from '../task_store.mock'; import apm from 'elastic-apm-node'; +import { TASK_MANAGER_TRANSACTION_TYPE } from '../task_running'; const taskManagerLogger = mockLogger(); @@ -190,8 +196,8 @@ describe('TaskClaiming', () => { const results = await getAllAsPromise(taskClaiming.claimAvailableTasks(claimingOpts)); expect(apm.startTransaction).toHaveBeenCalledWith( - 'markAvailableTasksAsClaimed', - 'taskManager markAvailableTasksAsClaimed' + TASK_MANAGER_MARK_AS_CLAIMED, + TASK_MANAGER_TRANSACTION_TYPE ); expect(mockApmTrans.end).toHaveBeenCalledWith('success'); @@ -250,8 +256,8 @@ describe('TaskClaiming', () => { ).rejects.toMatchInlineSnapshot(`[Error: Oh no]`); expect(apm.startTransaction).toHaveBeenCalledWith( - 'markAvailableTasksAsClaimed', - 'taskManager markAvailableTasksAsClaimed' + TASK_MANAGER_MARK_AS_CLAIMED, + TASK_MANAGER_TRANSACTION_TYPE ); expect(mockApmTrans.end).toHaveBeenCalledWith('failure'); }); diff --git a/x-pack/plugins/task_manager/server/queries/task_claiming.ts b/x-pack/plugins/task_manager/server/queries/task_claiming.ts index fb0b92e87a424..b45591a233e19 100644 --- a/x-pack/plugins/task_manager/server/queries/task_claiming.ts +++ b/x-pack/plugins/task_manager/server/queries/task_claiming.ts @@ -52,6 +52,7 @@ import { SearchOpts, } from '../task_store'; import { FillPoolResult } from '../lib/fill_pool'; +import { TASK_MANAGER_TRANSACTION_TYPE } from '../task_running'; export interface TaskClaimingOpts { logger: Logger; @@ -106,6 +107,8 @@ interface TaskClaimingBatch { type UnlimitedBatch = TaskClaimingBatch>; type LimitedBatch = TaskClaimingBatch; +export const TASK_MANAGER_MARK_AS_CLAIMED = 'mark-available-tasks-as-claimed'; + export class TaskClaiming { public readonly errors$ = new Subject(); public readonly maxAttempts: number; @@ -412,9 +415,10 @@ export class TaskClaiming { ); const apmTrans = apm.startTransaction( - 'markAvailableTasksAsClaimed', - `taskManager markAvailableTasksAsClaimed` + TASK_MANAGER_MARK_AS_CLAIMED, + TASK_MANAGER_TRANSACTION_TYPE ); + try { const result = await this.taskStore.updateByQuery( { diff --git a/x-pack/plugins/task_manager/server/task_events.test.ts b/x-pack/plugins/task_manager/server/task_events.test.ts new file mode 100644 index 0000000000000..607453b7ea92f --- /dev/null +++ b/x-pack/plugins/task_manager/server/task_events.test.ts @@ -0,0 +1,83 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { startTaskTimer, startTaskTimerWithEventLoopMonitoring } from './task_events'; + +const DelayIterations = 4; +const DelayMillis = 250; +const DelayTotal = DelayIterations * DelayMillis; + +async function nonBlockingDelay(millis: number) { + await new Promise((resolve) => setTimeout(resolve, millis)); +} + +async function blockingDelay(millis: number) { + // get task in async queue + await nonBlockingDelay(0); + + const end = Date.now() + millis; + // eslint-disable-next-line no-empty + while (Date.now() < end) {} +} + +async function nonBlockingTask() { + for (let i = 0; i < DelayIterations; i++) { + await nonBlockingDelay(DelayMillis); + } +} + +async function blockingTask() { + for (let i = 0; i < DelayIterations; i++) { + await blockingDelay(DelayMillis); + } +} + +describe('task_events', () => { + test('startTaskTimer', async () => { + const stopTaskTimer = startTaskTimer(); + await nonBlockingTask(); + const result = stopTaskTimer(); + expect(result.stop - result.start).not.toBeLessThan(DelayTotal); + expect(result.eventLoopBlockMs).toBe(undefined); + }); + + // FLAKY: https://github.com/elastic/kibana/issues/128441 + describe.skip('startTaskTimerWithEventLoopMonitoring', () => { + test('non-blocking', async () => { + const stopTaskTimer = startTaskTimerWithEventLoopMonitoring({ + monitor: true, + warn_threshold: 5000, + }); + await nonBlockingTask(); + const result = stopTaskTimer(); + expect(result.stop - result.start).not.toBeLessThan(DelayTotal); + expect(result.eventLoopBlockMs).toBeLessThan(DelayMillis); + }); + + test('blocking', async () => { + const stopTaskTimer = startTaskTimerWithEventLoopMonitoring({ + monitor: true, + warn_threshold: 5000, + }); + await blockingTask(); + const result = stopTaskTimer(); + expect(result.stop - result.start).not.toBeLessThan(DelayTotal); + expect(result.eventLoopBlockMs).not.toBeLessThan(DelayMillis); + }); + + test('not monitoring', async () => { + const stopTaskTimer = startTaskTimerWithEventLoopMonitoring({ + monitor: false, + warn_threshold: 5000, + }); + await blockingTask(); + const result = stopTaskTimer(); + expect(result.stop - result.start).not.toBeLessThan(DelayTotal); + expect(result.eventLoopBlockMs).toBe(0); + }); + }); +}); diff --git a/x-pack/plugins/task_manager/server/task_events.ts b/x-pack/plugins/task_manager/server/task_events.ts index 7c7845569a10b..de2c9dc04acd2 100644 --- a/x-pack/plugins/task_manager/server/task_events.ts +++ b/x-pack/plugins/task_manager/server/task_events.ts @@ -5,6 +5,8 @@ * 2.0. */ +import { monitorEventLoopDelay } from 'perf_hooks'; + import { Option } from 'fp-ts/lib/Option'; import { ConcreteTaskInstance } from './task'; @@ -14,6 +16,7 @@ import { ClaimAndFillPoolResult } from './lib/fill_pool'; import { PollingError } from './polling'; import { TaskRunResult } from './task_running'; import { EphemeralTaskInstanceRequest } from './ephemeral_task_lifecycle'; +import type { EventLoopDelayConfig } from './config'; export enum TaskPersistence { Recurring = 'recurring', @@ -40,6 +43,7 @@ export enum TaskClaimErrorType { export interface TaskTiming { start: number; stop: number; + eventLoopBlockMs?: number; } export type WithTaskTiming = T & { timing: TaskTiming }; @@ -48,6 +52,22 @@ export function startTaskTimer(): () => TaskTiming { return () => ({ start, stop: Date.now() }); } +export function startTaskTimerWithEventLoopMonitoring( + eventLoopDelayConfig: EventLoopDelayConfig +): () => TaskTiming { + const stopTaskTimer = startTaskTimer(); + const eldHistogram = eventLoopDelayConfig.monitor ? monitorEventLoopDelay() : null; + eldHistogram?.enable(); + + return () => { + const { start, stop } = stopTaskTimer(); + eldHistogram?.disable(); + const eldMax = eldHistogram?.max ?? 0; + const eventLoopBlockMs = Math.round(eldMax / 1000 / 1000); // original in nanoseconds + return { start, stop, eventLoopBlockMs }; + }; +} + export interface TaskEvent { id?: ID; timing?: TaskTiming; diff --git a/x-pack/plugins/task_manager/server/task_running/ephemeral_task_runner.ts b/x-pack/plugins/task_manager/server/task_running/ephemeral_task_runner.ts index 358a8003382b0..c92b5f72fe5d8 100644 --- a/x-pack/plugins/task_manager/server/task_running/ephemeral_task_runner.ts +++ b/x-pack/plugins/task_manager/server/task_running/ephemeral_task_runner.ts @@ -47,6 +47,9 @@ import { TaskRunner, TaskRunningInstance, TaskRunResult, + TASK_MANAGER_RUN_TRANSACTION_TYPE, + TASK_MANAGER_TRANSACTION_TYPE, + TASK_MANAGER_TRANSACTION_TYPE_MARK_AS_RUNNING, } from './task_runner'; type Opts = { @@ -188,9 +191,11 @@ export class EphemeralTaskManagerRunner implements TaskRunner { ); } this.logger.debug(`Running ephemeral task ${this}`); - const apmTrans = apm.startTransaction(this.taskType, 'taskManager ephemeral run', { + const apmTrans = apm.startTransaction(this.taskType, TASK_MANAGER_RUN_TRANSACTION_TYPE, { childOf: this.instance.task.traceparent, }); + apmTrans?.addLabels({ ephemeral: true }); + const modifiedContext = await this.beforeRun({ taskInstance: asConcreteInstance(this.instance.task), }); @@ -243,7 +248,11 @@ export class EphemeralTaskManagerRunner implements TaskRunner { ); } - const apmTrans = apm.startTransaction('taskManager', 'taskManager markTaskAsRunning'); + const apmTrans = apm.startTransaction( + TASK_MANAGER_TRANSACTION_TYPE_MARK_AS_RUNNING, + TASK_MANAGER_TRANSACTION_TYPE + ); + apmTrans?.addLabels({ entityId: this.taskType }); const now = new Date(); try { diff --git a/x-pack/plugins/task_manager/server/task_running/task_runner.test.ts b/x-pack/plugins/task_manager/server/task_running/task_runner.test.ts index 86e2230461eb5..1bd067b4b623a 100644 --- a/x-pack/plugins/task_manager/server/task_running/task_runner.test.ts +++ b/x-pack/plugins/task_manager/server/task_running/task_runner.test.ts @@ -26,6 +26,11 @@ import { throwUnrecoverableError } from './errors'; import { taskStoreMock } from '../task_store.mock'; import apm from 'elastic-apm-node'; import { executionContextServiceMock } from '../../../../../src/core/server/mocks'; +import { + TASK_MANAGER_RUN_TRANSACTION_TYPE, + TASK_MANAGER_TRANSACTION_TYPE, + TASK_MANAGER_TRANSACTION_TYPE_MARK_AS_RUNNING, +} from './task_runner'; const executionContext = executionContextServiceMock.createSetupContract(); const minutesFromNow = (mins: number): Date => secondsFromNow(mins * 60); @@ -43,6 +48,8 @@ describe('TaskManagerRunner', () => { const readyToRunStageSetup = (opts: TestOpts) => testOpts(TaskRunningStage.READY_TO_RUN, opts); const mockApmTrans = { end: jest.fn(), + addLabels: jest.fn(), + setLabel: jest.fn(), }; describe('Pending Stage', () => { @@ -71,8 +78,8 @@ describe('TaskManagerRunner', () => { }); await runner.markTaskAsRunning(); expect(apm.startTransaction).toHaveBeenCalledWith( - 'taskManager', - 'taskManager markTaskAsRunning' + TASK_MANAGER_TRANSACTION_TYPE_MARK_AS_RUNNING, + TASK_MANAGER_TRANSACTION_TYPE ); expect(mockApmTrans.end).toHaveBeenCalledWith('success'); }); @@ -100,8 +107,8 @@ describe('TaskManagerRunner', () => { ); // await runner.markTaskAsRunning(); expect(apm.startTransaction).toHaveBeenCalledWith( - 'taskManager', - 'taskManager markTaskAsRunning' + TASK_MANAGER_TRANSACTION_TYPE_MARK_AS_RUNNING, + TASK_MANAGER_TRANSACTION_TYPE ); expect(mockApmTrans.end).toHaveBeenCalledWith('failure'); }); @@ -689,7 +696,7 @@ describe('TaskManagerRunner', () => { }, }); await runner.run(); - expect(apm.startTransaction).toHaveBeenCalledWith('bar', 'taskManager run', { + expect(apm.startTransaction).toHaveBeenCalledWith('bar', TASK_MANAGER_RUN_TRANSACTION_TYPE, { childOf: 'apmTraceparent', }); expect(mockApmTrans.end).toHaveBeenCalledWith('success'); @@ -712,7 +719,7 @@ describe('TaskManagerRunner', () => { }, }); await runner.run(); - expect(apm.startTransaction).toHaveBeenCalledWith('bar', 'taskManager run', { + expect(apm.startTransaction).toHaveBeenCalledWith('bar', TASK_MANAGER_RUN_TRANSACTION_TYPE, { childOf: 'apmTraceparent', }); expect(mockApmTrans.end).toHaveBeenCalledWith('failure'); @@ -1466,7 +1473,11 @@ describe('TaskManagerRunner', () => { function withAnyTiming(taskRun: TaskRun) { return { ...taskRun, - timing: { start: expect.any(Number), stop: expect.any(Number) }, + timing: { + start: expect.any(Number), + stop: expect.any(Number), + eventLoopBlockMs: expect.any(Number), + }, }; } @@ -1526,6 +1537,10 @@ describe('TaskManagerRunner', () => { definitions, onTaskEvent: opts.onTaskEvent, executionContext, + eventLoopDelayConfig: { + monitor: true, + warn_threshold: 5000, + }, }); if (stage === TaskRunningStage.READY_TO_RUN) { diff --git a/x-pack/plugins/task_manager/server/task_running/task_runner.ts b/x-pack/plugins/task_manager/server/task_running/task_runner.ts index 2a5d48845ce48..7f61a7d9d0558 100644 --- a/x-pack/plugins/task_manager/server/task_running/task_runner.ts +++ b/x-pack/plugins/task_manager/server/task_running/task_runner.ts @@ -37,7 +37,7 @@ import { TaskMarkRunning, asTaskRunEvent, asTaskMarkRunningEvent, - startTaskTimer, + startTaskTimerWithEventLoopMonitoring, TaskTiming, TaskPersistence, } from '../task_events'; @@ -55,10 +55,15 @@ import { } from '../task'; import { TaskTypeDictionary } from '../task_type_dictionary'; import { isUnrecoverableError } from './errors'; +import type { EventLoopDelayConfig } from '../config'; const defaultBackoffPerFailure = 5 * 60 * 1000; export const EMPTY_RUN_RESULT: SuccessfulRunResult = { state: {} }; +export const TASK_MANAGER_RUN_TRANSACTION_TYPE = 'task-run'; +export const TASK_MANAGER_TRANSACTION_TYPE = 'task-manager'; +export const TASK_MANAGER_TRANSACTION_TYPE_MARK_AS_RUNNING = 'mark-task-as-running'; + export interface TaskRunner { isExpired: boolean; expiration: Date; @@ -97,6 +102,7 @@ type Opts = { onTaskEvent?: (event: TaskRun | TaskMarkRunning) => void; defaultMaxAttempts: number; executionContext: ExecutionContextStart; + eventLoopDelayConfig: EventLoopDelayConfig; } & Pick; export enum TaskRunResult { @@ -142,6 +148,7 @@ export class TaskManagerRunner implements TaskRunner { private onTaskEvent: (event: TaskRun | TaskMarkRunning) => void; private defaultMaxAttempts: number; private readonly executionContext: ExecutionContextStart; + private eventLoopDelayConfig: EventLoopDelayConfig; /** * Creates an instance of TaskManagerRunner. @@ -163,6 +170,7 @@ export class TaskManagerRunner implements TaskRunner { defaultMaxAttempts, onTaskEvent = identity, executionContext, + eventLoopDelayConfig, }: Opts) { this.instance = asPending(sanitizeInstance(instance)); this.definitions = definitions; @@ -173,6 +181,7 @@ export class TaskManagerRunner implements TaskRunner { this.onTaskEvent = onTaskEvent; this.defaultMaxAttempts = defaultMaxAttempts; this.executionContext = executionContext; + this.eventLoopDelayConfig = eventLoopDelayConfig; } /** @@ -256,7 +265,7 @@ export class TaskManagerRunner implements TaskRunner { } this.logger.debug(`Running task ${this}`); - const apmTrans = apm.startTransaction(this.taskType, 'taskManager run', { + const apmTrans = apm.startTransaction(this.taskType, TASK_MANAGER_RUN_TRANSACTION_TYPE, { childOf: this.instance.task.traceparent, }); @@ -264,7 +273,7 @@ export class TaskManagerRunner implements TaskRunner { taskInstance: this.instance.task, }); - const stopTaskTimer = startTaskTimer(); + const stopTaskTimer = startTaskTimerWithEventLoopMonitoring(this.eventLoopDelayConfig); try { this.task = this.definition.createTaskRunner(modifiedContext); @@ -313,7 +322,11 @@ export class TaskManagerRunner implements TaskRunner { ); } - const apmTrans = apm.startTransaction('taskManager', 'taskManager markTaskAsRunning'); + const apmTrans = apm.startTransaction( + TASK_MANAGER_TRANSACTION_TYPE_MARK_AS_RUNNING, + TASK_MANAGER_TRANSACTION_TYPE + ); + apmTrans?.addLabels({ entityId: this.taskType }); const now = new Date(); try { @@ -571,6 +584,18 @@ export class TaskManagerRunner implements TaskRunner { ); } ); + + const { eventLoopBlockMs = 0 } = taskTiming; + const taskLabel = `${this.taskType} ${this.instance.task.id}`; + if (eventLoopBlockMs > this.eventLoopDelayConfig.warn_threshold) { + this.logger.warn( + `event loop blocked for at least ${eventLoopBlockMs} ms while running task ${taskLabel}`, + { + tags: [this.taskType, taskLabel, 'event-loop-blocked'], + } + ); + } + return result; } diff --git a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json index 639782bdc9766..3fe3864d8550b 100644 --- a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json +++ b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json @@ -6496,6 +6496,30 @@ "_meta": { "description": "Number of cases attached to query detection rule alerts" } + }, + "legacy_notifications_enabled": { + "type": "long", + "_meta": { + "description": "Number of legacy notifications enabled" + } + }, + "legacy_notifications_disabled": { + "type": "long", + "_meta": { + "description": "Number of legacy notifications disabled" + } + }, + "notifications_enabled": { + "type": "long", + "_meta": { + "description": "Number of notifications enabled" + } + }, + "notifications_disabled": { + "type": "long", + "_meta": { + "description": "Number of notifications enabled" + } } } }, @@ -6524,6 +6548,30 @@ "_meta": { "description": "Number of cases attached to threshold detection rule alerts" } + }, + "legacy_notifications_enabled": { + "type": "long", + "_meta": { + "description": "Number of legacy notifications enabled" + } + }, + "legacy_notifications_disabled": { + "type": "long", + "_meta": { + "description": "Number of legacy notifications disabled" + } + }, + "notifications_enabled": { + "type": "long", + "_meta": { + "description": "Number of notifications enabled" + } + }, + "notifications_disabled": { + "type": "long", + "_meta": { + "description": "Number of notifications enabled" + } } } }, @@ -6552,6 +6600,30 @@ "_meta": { "description": "Number of cases attached to eql detection rule alerts" } + }, + "legacy_notifications_enabled": { + "type": "long", + "_meta": { + "description": "Number of legacy notifications enabled" + } + }, + "legacy_notifications_disabled": { + "type": "long", + "_meta": { + "description": "Number of legacy notifications disabled" + } + }, + "notifications_enabled": { + "type": "long", + "_meta": { + "description": "Number of notifications enabled" + } + }, + "notifications_disabled": { + "type": "long", + "_meta": { + "description": "Number of notifications enabled" + } } } }, @@ -6580,6 +6652,30 @@ "_meta": { "description": "Number of cases attached to machine_learning detection rule alerts" } + }, + "legacy_notifications_enabled": { + "type": "long", + "_meta": { + "description": "Number of legacy notifications enabled" + } + }, + "legacy_notifications_disabled": { + "type": "long", + "_meta": { + "description": "Number of legacy notifications disabled" + } + }, + "notifications_enabled": { + "type": "long", + "_meta": { + "description": "Number of notifications enabled" + } + }, + "notifications_disabled": { + "type": "long", + "_meta": { + "description": "Number of notifications enabled" + } } } }, @@ -6608,6 +6704,30 @@ "_meta": { "description": "Number of cases attached to threat_match detection rule alerts" } + }, + "legacy_notifications_enabled": { + "type": "long", + "_meta": { + "description": "Number of legacy notifications enabled" + } + }, + "legacy_notifications_disabled": { + "type": "long", + "_meta": { + "description": "Number of legacy notifications disabled" + } + }, + "notifications_enabled": { + "type": "long", + "_meta": { + "description": "Number of notifications enabled" + } + }, + "notifications_disabled": { + "type": "long", + "_meta": { + "description": "Number of notifications enabled" + } } } }, @@ -6636,6 +6756,30 @@ "_meta": { "description": "Number of cases attached to elastic detection rule alerts" } + }, + "legacy_notifications_enabled": { + "type": "long", + "_meta": { + "description": "Number of legacy notifications enabled" + } + }, + "legacy_notifications_disabled": { + "type": "long", + "_meta": { + "description": "Number of legacy notifications disabled" + } + }, + "notifications_enabled": { + "type": "long", + "_meta": { + "description": "Number of notifications enabled" + } + }, + "notifications_disabled": { + "type": "long", + "_meta": { + "description": "Number of notifications enabled" + } } } }, @@ -6664,6 +6808,30 @@ "_meta": { "description": "Number of cases attached to custom detection rule alerts" } + }, + "legacy_notifications_enabled": { + "type": "long", + "_meta": { + "description": "Number of legacy notifications enabled" + } + }, + "legacy_notifications_disabled": { + "type": "long", + "_meta": { + "description": "Number of legacy notifications disabled" + } + }, + "notifications_enabled": { + "type": "long", + "_meta": { + "description": "Number of notifications enabled" + } + }, + "notifications_disabled": { + "type": "long", + "_meta": { + "description": "Number of notifications enabled" + } } } } @@ -6732,6 +6900,18 @@ "_meta": { "description": "The number of total cases generated by a rule" } + }, + "has_legacy_notification": { + "type": "boolean", + "_meta": { + "description": "True if this rule has a legacy notification" + } + }, + "has_notification": { + "type": "boolean", + "_meta": { + "description": "True if this rule has a notification" + } } } } diff --git a/x-pack/plugins/timelines/public/components/t_grid/body/height_hack.ts b/x-pack/plugins/timelines/public/components/t_grid/body/height_hack.ts index 26d32b13eede7..71f4623f0b600 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/body/height_hack.ts +++ b/x-pack/plugins/timelines/public/components/t_grid/body/height_hack.ts @@ -51,7 +51,9 @@ export const useDataGridHeightHack = (pageSize: number, rowCount: number) => { setHeight(DATA_GRID_HEIGHT_BY_PAGE_SIZE[pageSize]); } else if (rowCount <= pageSize) { // This is unnecessary if we add rowCount > pageSize below - setHeight(dataGridRowHeight * rowCount + (headerSectionHeight + additionalFiltersHeight)); + setHeight( + dataGridRowHeight * (rowCount + 1) + (headerSectionHeight + additionalFiltersHeight) + ); } else if ( // rowCount > pageSize && // This will fix the issue but is always full height so has a lot of empty state gridVirtualized && diff --git a/x-pack/plugins/timelines/public/components/t_grid/standalone/index.tsx b/x-pack/plugins/timelines/public/components/t_grid/standalone/index.tsx index 32766f711ffd4..9a0eb78d205e8 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/standalone/index.tsx +++ b/x-pack/plugins/timelines/public/components/t_grid/standalone/index.tsx @@ -50,7 +50,7 @@ import { AddToCaseAction } from '../../actions/timeline/cases/add_to_case_action import { TGridLoading, TGridEmpty, TimelineContext } from '../shared'; export const EVENTS_VIEWER_HEADER_HEIGHT = 90; // px -const STANDALONE_ID = 'standalone-t-grid'; +export const STANDALONE_ID = 'standalone-t-grid'; const EMPTY_DATA_PROVIDERS: DataProvider[] = []; const TitleText = styled.span` diff --git a/x-pack/plugins/timelines/public/hooks/use_status_bulk_action_items.tsx b/x-pack/plugins/timelines/public/hooks/use_status_bulk_action_items.tsx index c6e0e13c4dcb4..8fc81a57e2b86 100644 --- a/x-pack/plugins/timelines/public/hooks/use_status_bulk_action_items.tsx +++ b/x-pack/plugins/timelines/public/hooks/use_status_bulk_action_items.tsx @@ -12,6 +12,7 @@ import * as i18n from '../components/t_grid/translations'; import type { AlertStatus, StatusBulkActionsProps } from '../../common/types/timeline'; import { useUpdateAlertsStatus } from '../container/use_update_alerts'; import { useAppToasts } from './use_app_toasts'; +import { STANDALONE_ID } from '../components/t_grid/standalone'; export const getUpdateAlertsQuery = (eventIds: Readonly) => { return { bool: { filter: { terms: { _id: eventIds } } } }; @@ -28,7 +29,7 @@ export const useStatusBulkActionItems = ({ onUpdateFailure, timelineId, }: StatusBulkActionsProps) => { - const { updateAlertStatus } = useUpdateAlertsStatus(timelineId != null); + const { updateAlertStatus } = useUpdateAlertsStatus(timelineId !== STANDALONE_ID); const { addSuccess, addError, addWarning } = useAppToasts(); const onAlertStatusUpdateSuccess = useCallback( diff --git a/x-pack/plugins/transform/common/api_schemas/common.ts b/x-pack/plugins/transform/common/api_schemas/common.ts index 5354598dc2475..bee670a913b41 100644 --- a/x-pack/plugins/transform/common/api_schemas/common.ts +++ b/x-pack/plugins/transform/common/api_schemas/common.ts @@ -6,8 +6,9 @@ */ import { schema, TypeOf } from '@kbn/config-schema'; - +import { i18n } from '@kbn/i18n'; import { TRANSFORM_STATE } from '../constants'; +import { isRuntimeField } from '../shared_imports'; export const transformIdsSchema = schema.arrayOf( schema.object({ @@ -57,26 +58,17 @@ export interface CommonResponseStatusSchema { } export const runtimeMappingsSchema = schema.maybe( - schema.recordOf( - schema.string(), - schema.object({ - type: schema.oneOf([ - schema.literal('keyword'), - schema.literal('long'), - schema.literal('double'), - schema.literal('date'), - schema.literal('ip'), - schema.literal('boolean'), - schema.literal('geo_point'), - ]), - script: schema.maybe( - schema.oneOf([ - schema.string(), - schema.object({ - source: schema.string(), - }), - ]) - ), - }) + schema.object( + {}, + { + unknowns: 'allow', + validate: (v: object) => { + if (Object.values(v).some((o) => !isRuntimeField(o))) { + return i18n.translate('xpack.transform.invalidRuntimeFieldMessage', { + defaultMessage: 'Invalid runtime field', + }); + } + }, + } ) ); diff --git a/x-pack/plugins/transform/common/shared_imports.ts b/x-pack/plugins/transform/common/shared_imports.ts index 22201cf7c0757..2cc01a0dbfa57 100644 --- a/x-pack/plugins/transform/common/shared_imports.ts +++ b/x-pack/plugins/transform/common/shared_imports.ts @@ -11,6 +11,7 @@ export { isPopulatedObject, isRuntimeMappings, patternValidator, + isRuntimeField, } from '../../ml/common'; export { RUNTIME_FIELD_TYPES } from '../../../../src/plugins/data/common'; diff --git a/x-pack/plugins/transform/public/app/common/navigation.tsx b/x-pack/plugins/transform/public/app/common/navigation.tsx index b847ac66de58e..b146d4401c633 100644 --- a/x-pack/plugins/transform/public/app/common/navigation.tsx +++ b/x-pack/plugins/transform/public/app/common/navigation.tsx @@ -13,5 +13,5 @@ import { SECTION_SLUG } from '../constants'; export const RedirectToTransformManagement: FC = () => ; export const RedirectToCreateTransform: FC<{ savedObjectId: string }> = ({ savedObjectId }) => ( - + ); diff --git a/x-pack/plugins/transform/public/app/sections/create_transform/components/step_details/step_details_form.tsx b/x-pack/plugins/transform/public/app/sections/create_transform/components/step_details/step_details_form.tsx index 6032a53909b9d..47d450e55a003 100644 --- a/x-pack/plugins/transform/public/app/sections/create_transform/components/step_details/step_details_form.tsx +++ b/x-pack/plugins/transform/public/app/sections/create_transform/components/step_details/step_details_form.tsx @@ -218,7 +218,7 @@ export const StepDetailsForm: FC = React.memo( defaults.isRetentionPolicyEnabled ); const [retentionPolicyDateField, setRetentionPolicyDateField] = useState( - isRetentionPolicyAvailable ? dateFieldNames[0] : '' + isRetentionPolicyAvailable ? defaults.retentionPolicyDateField : '' ); const [retentionPolicyMaxAge, setRetentionPolicyMaxAge] = useState( defaults.retentionPolicyMaxAge diff --git a/x-pack/plugins/transform/public/app/sections/transform_management/components/edit_transform_flyout/edit_transform_flyout_form.tsx b/x-pack/plugins/transform/public/app/sections/transform_management/components/edit_transform_flyout/edit_transform_flyout_form.tsx index 40ccd68724400..0b8ffba7d2625 100644 --- a/x-pack/plugins/transform/public/app/sections/transform_management/components/edit_transform_flyout/edit_transform_flyout_form.tsx +++ b/x-pack/plugins/transform/public/app/sections/transform_management/components/edit_transform_flyout/edit_transform_flyout_form.tsx @@ -55,7 +55,9 @@ export const EditTransformFlyoutForm: FC = ({ ); const retentionDateFieldOptions = useMemo(() => { - return Array.isArray(dateFieldNames) ? dateFieldNames.map((text: string) => ({ text })) : []; + return Array.isArray(dateFieldNames) + ? dateFieldNames.map((text: string) => ({ text, value: text })) + : []; }, [dateFieldNames]); return ( @@ -181,6 +183,11 @@ export const EditTransformFlyoutForm: FC = ({ onChange={(e) => dispatch({ field: 'retentionPolicyField', value: e.target.value }) } + hasNoInitialSelection={ + !retentionDateFieldOptions + .map((d) => d.text) + .includes(formFields.retentionPolicyField.value) + } />
    ) : ( diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index dd62b0b7ac1bc..686856f8bf57f 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -4236,7 +4236,6 @@ "uiActions.errors.incompatibleAction": "操作に互換性がありません", "uiActions.triggers.rowClickkDescription": "テーブル行をクリック", "uiActions.triggers.rowClickTitle": "テーブル行クリック", - "usageCollection.stats.notReadyMessage": "まだ統計が準備できていません。しばらくたってから再試行してください。", "visDefaultEditor.advancedToggle.advancedLinkLabel": "高度な設定", "visDefaultEditor.agg.disableAggButtonTooltip": "{schemaTitle} {aggTitle} アグリゲーションを無効にする", "visDefaultEditor.agg.enableAggButtonTooltip": "{schemaTitle} {aggTitle} アグリゲーションを有効にする", @@ -10562,7 +10561,6 @@ "xpack.fleet.copyAgentPolicy.confirmModal.defaultNewPolicyName": "{name}(コピー)", "xpack.fleet.copyAgentPolicy.confirmModal.newDescriptionLabel": "説明", "xpack.fleet.copyAgentPolicy.confirmModal.newNameLabel": "新しいポリシー名", - "xpack.fleet.copyAgentPolicy.failureNotificationTitle": "エージェントポリシー'{id}'の複製エラー", "xpack.fleet.copyAgentPolicy.fatalErrorNotificationTitle": "エージェントポリシーの複製エラー", "xpack.fleet.copyAgentPolicy.successNotificationTitle": "エージェントポリシーが複製されました", "xpack.fleet.createAgentPolicy.cancelButtonLabel": "キャンセル", @@ -20571,24 +20569,16 @@ "xpack.reporting.deprecations.reportingRole.forbiddenErrorMessage": "この廃止予定を修正する十分な権限がありません。", "xpack.reporting.deprecations.reportingRole.unknownErrorCorrectiveAction": "詳細については、Kibanaログを確認してください。", "xpack.reporting.deprecations.reportingRole.unknownErrorMessage": "廃止予定チェックを実行できませんでした。詳細については、Kibanaログを確認してください。", - "xpack.reporting.deprecations.reportingRoleMappings.manualStepFour": "すべてのロールマッピングから\"reporting_user\"ロールを削除し、カスタムロールを追加します。影響を受けるロールマッピング:{roleMappings}。", "xpack.reporting.deprecations.reportingRoleMappings.manualStepOne": "kibana.ymlで「xpack.reporting.roles.enabled: false」を設定します。", "xpack.reporting.deprecations.reportingRoleMappings.manualStepThree": "レポートへのアクセス権を付与するには、Kibana権限のあるカスタムロールを作成します。", "xpack.reporting.deprecations.reportingRoleMappings.manualStepTwo": "存在する場合は、kibana.ymlで「xpack.reporting.roles.allow」を削除します。", - "xpack.reporting.deprecations.reportingRoleMappingsMessage": "既存のロールはレポート権限の廃止予定のロールにマッピングされています", - "xpack.reporting.deprecations.reportingRoleMappingsTitle": "\"{reportingUserRoleName}\"ロールは廃止予定です。ロールマッピングを確認してください", - "xpack.reporting.deprecations.reportingRoles.description": "Kibanaアプリケーション権限を使用して、レポート権限を付与します。\"{fromPath}.roles.allow\"を使用したレポート権限の付与は廃止予定です。今後のリリースでは、\"{fromPath}.roles.enabled\"設定のデフォルトはfalseです。", "xpack.reporting.deprecations.reportingRoles.manualStepOne": "kibana.ymlで「xpack.reporting.roles.enabled」をfalseに設定します。", - "xpack.reporting.deprecations.reportingRoles.manualStepOnePartOne": "存在する場合は、kibana.ymlで「xpack.reporting.roles.allow」をfalseに設定します。", "xpack.reporting.deprecations.reportingRoles.manualStepThree": "新しいロールのいずれかを割り当てて、レポート権限をユーザーに付与します。「xpack.reporting.roles.allow」で指定されたレポートロールが割り当てられたユーザーにはレポート権限がなくなります。アプリケーション権限に基づくロールを割り当てる必要があります。", "xpack.reporting.deprecations.reportingRoles.manualStepTwo": "**[管理]>[セキュリティ]>[ロール]**から、レポートのKibanaアプリケーション権限を付与する1つ以上のロールを作成します。", "xpack.reporting.deprecations.reportingRoles.title": "\"{fromPath}.roles\"設定は廃止予定です", - "xpack.reporting.deprecations.reportingRoleUsers.manualStepFour": "すべてのユーザーから「reporting_user」ロールを削除し、カスタムロールを追加します。影響を受けるユーザー:{usersRoles}。", "xpack.reporting.deprecations.reportingRoleUsers.manualStepOne": "kibana.ymlで「xpack.reporting.roles.enabled: false」を設定します。", "xpack.reporting.deprecations.reportingRoleUsers.manualStepThree": "レポートへのアクセス権を付与するには、Kibana権限のあるカスタムロールを作成します。", "xpack.reporting.deprecations.reportingRoleUsers.manualStepTwo": "存在する場合は、kibana.ymlで「xpack.reporting.roles.allow」を削除します。", - "xpack.reporting.deprecations.reportingRoleUsersMessage": "既存のユーザーには廃止予定の設定によって付与されたレポート権限があります。", - "xpack.reporting.deprecations.reportingRoleUsersTitle": "\"{reportingUserRoleName}\"ロールは廃止予定です。ユーザーロールを確認してください", "xpack.reporting.diagnostic.browserCrashed": "ブラウザーは起動中に異常終了しました", "xpack.reporting.diagnostic.browserErrored": "ブラウザープロセスは起動中にエラーが発生しました", "xpack.reporting.diagnostic.browserMissingDependency": "システム依存関係が不足しているため、ブラウザーを正常に起動できませんでした。{url}を参照してください", @@ -27061,18 +27051,12 @@ "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexButton.runReindexLabel": "再インデックスの開始", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexButton.tryAgainLabel": "再試行", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexDescription": "再インデックス中はインデックスが読み取り専用です。再インデックスが完了するまでは、ドキュメントの追加、更新、削除ができません。新しいクラスターを再インデックスする必要がある場合は、再インデックスAPIを使用します。{docsLink}", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.aliasSwapStepTitle": "元のインデックスをエイリアスと交換します。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelButton.cancelLabel": "キャンセル", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelButton.cancelledLabel": "キャンセル済み", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelButton.cancellingLabel": "キャンセル中…", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelButton.errorLabel": "キャンセルできませんでした", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelledTitle": "再インデックスはキャンセルされました。", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.createIndexStepTitle": "新しいインデックスを作成します。", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.aliasSwapStepTitle": "元のインデックスをエイリアスと交換しています。", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.createIndexStepTitle": "新しいインデックスを作成しています。", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.readonlyStepTitle": "元のインデックスを読み取り専用に設定しています。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.reindexingDocumentsStepTitle": "ドキュメントを再インデックスしています。", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.readonlyStepTitle": "元のインデックスを読み取り専用に設定します。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.reindexingDocumentsStepTitle": "ドキュメントのインデックスを作成します。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklistTitle": "プロセスを再インデックス中", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingFailedCalloutTitle": "再インデックスエラー", @@ -27243,7 +27227,6 @@ "xpack.upgradeAssistant.overview.pageDescription": "次のバージョンのElasticをお待ちください。", "xpack.upgradeAssistant.overview.pageTitle": "アップグレードアシスタント", "xpack.upgradeAssistant.overview.snapshotRestoreLink": "スナップショットの作成", - "xpack.upgradeAssistant.overview.systemIndices.body": "アップグレード前に、システム情報が格納されたインデックスを移行します。", "xpack.upgradeAssistant.overview.systemIndices.errorLabel": "移行失敗", "xpack.upgradeAssistant.overview.systemIndices.featureNameTableColumn": "機能", "xpack.upgradeAssistant.overview.systemIndices.flyoutCloseButtonLabel": "閉じる", @@ -27262,7 +27245,10 @@ "xpack.upgradeAssistant.overview.systemIndices.statusTableColumn": "ステータス", "xpack.upgradeAssistant.overview.systemIndices.title": "システムインデックスの移行", "xpack.upgradeAssistant.overview.systemIndices.viewSystemIndicesStatus": "移行詳細を表示", + "xpack.upgradeAssistant.overview.upgradeGuideLink": "アップグレードガイドを表示", + "xpack.upgradeAssistant.overview.upgradeStepCloudLink": "クラウドでアップグレード", "xpack.upgradeAssistant.overview.upgradeStepDescription": "重要な問題をすべて解決し、アプリケーションの準備を確認した後に、Elastic 8.xにアップグレードできます。アップグレードする前に、必ずもう一度データをバックアップしたことを確認してください。", + "xpack.upgradeAssistant.overview.upgradeStepDescriptionForCloud": "重要な問題をすべて解決し、アプリケーションの準備を確認した後に、Elastic 8.xにアップグレードできます。アップグレードする前に、必ずもう一度データをバックアップしたことを確認してください。Elastic Cloudでデプロイをアップグレードします。", "xpack.upgradeAssistant.overview.upgradeStepTitle": "Elastic 8.xへのアップグレード", "xpack.upgradeAssistant.overview.verifyChanges.calloutBody": "変更した後、カウンターをリセットして監視を続け、廃止予定の機能を使用していないことを確認します。", "xpack.upgradeAssistant.overview.verifyChanges.calloutTitle": "{previousCheck}以降{warningsCount, plural, =0 {0} other {{warningsCount}}}件の廃止予定{warningsCount, plural, other {件の問題}}", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index f0a1ca7e69c11..4c03a1c94df57 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -4269,7 +4269,6 @@ "uiActions.errors.incompatibleAction": "操作不兼容", "uiActions.triggers.rowClickkDescription": "表格行的单击", "uiActions.triggers.rowClickTitle": "表格行单击", - "usageCollection.stats.notReadyMessage": "统计信息尚未准备就绪。请稍后重试。", "visDefaultEditor.advancedToggle.advancedLinkLabel": "高级", "visDefaultEditor.agg.disableAggButtonTooltip": "禁用 {schemaTitle} {aggTitle} 聚合", "visDefaultEditor.agg.enableAggButtonTooltip": "启用 {schemaTitle} {aggTitle} 聚合", @@ -10659,7 +10658,6 @@ "xpack.fleet.copyAgentPolicy.confirmModal.defaultNewPolicyName": "{name}(副本)", "xpack.fleet.copyAgentPolicy.confirmModal.newDescriptionLabel": "描述", "xpack.fleet.copyAgentPolicy.confirmModal.newNameLabel": "新策略名称", - "xpack.fleet.copyAgentPolicy.failureNotificationTitle": "复制代理策略“{id}”时出错", "xpack.fleet.copyAgentPolicy.fatalErrorNotificationTitle": "复制代理策略时出错", "xpack.fleet.copyAgentPolicy.successNotificationTitle": "已复制代理策略", "xpack.fleet.createAgentPolicy.cancelButtonLabel": "取消", @@ -20870,24 +20868,16 @@ "xpack.reporting.deprecations.reportingRole.forbiddenErrorMessage": "您没有足够的权限来修复此弃用。", "xpack.reporting.deprecations.reportingRole.unknownErrorCorrectiveAction": "请检查 Kibana 日志了解更多详情。", "xpack.reporting.deprecations.reportingRole.unknownErrorMessage": "无法执行弃用检查。请检查 Kibana 日志了解更多详情。", - "xpack.reporting.deprecations.reportingRoleMappings.manualStepFour": "从所有角色映射中移除“reporting_user”角色,然后添加定制角色。受影响的角色映射为:{roleMappings}。", "xpack.reporting.deprecations.reportingRoleMappings.manualStepOne": "在 kibana.yml 中设置“xpack.reporting.roles.enabled: false”。", "xpack.reporting.deprecations.reportingRoleMappings.manualStepThree": "创建具有 Kibana 权限的定制角色以授予对报告的访问权限。", "xpack.reporting.deprecations.reportingRoleMappings.manualStepTwo": "移除 kibana.yml 中的“xpack.reporting.roles.allow”(如果存在)。", - "xpack.reporting.deprecations.reportingRoleMappingsMessage": "现有角色已映射到用于报告权限的过时角色", - "xpack.reporting.deprecations.reportingRoleMappingsTitle": "“{reportingUserRoleName}”角色已过时:检查角色映射", - "xpack.reporting.deprecations.reportingRoles.description": "使用 Kibana 应用程序权限来授予报告权限。使用“{fromPath}.roles.allow”来授予报告权限已过时。在未来版本中,“{fromPath}.roles.enabled”设置默认为 false。", "xpack.reporting.deprecations.reportingRoles.manualStepOne": "在 kibana.yml 中将“xpack.reporting.roles.enabled”设置为“false”。", - "xpack.reporting.deprecations.reportingRoles.manualStepOnePartOne": "在 kibana.yml 中将“xpack.reporting.roles.allow”移除为“false”(如果存在)。", "xpack.reporting.deprecations.reportingRoles.manualStepThree": "通过分配新角色之一向用户授权报告权限。分配到在“xpack.reporting.roles.allow”中指定的报告角色的用户将不再具有报告权限,必须为他们分配基于应用程序权限的角色。", "xpack.reporting.deprecations.reportingRoles.manualStepTwo": "从**“管理”>“安全性”>“角色”**创建一个或多个针对报告授予 Kibana 应用程序权限的角色。", "xpack.reporting.deprecations.reportingRoles.title": "设置“{fromPath}.roles”已过时", - "xpack.reporting.deprecations.reportingRoleUsers.manualStepFour": "从所有用户中移除“reporting_user”角色,然后添加定制角色。受影响的用户为:{usersRoles}。", "xpack.reporting.deprecations.reportingRoleUsers.manualStepOne": "在 kibana.yml 中设置“xpack.reporting.roles.enabled: false”。", "xpack.reporting.deprecations.reportingRoleUsers.manualStepThree": "创建具有 Kibana 权限的定制角色以授予对 Reporting 的访问权限。", "xpack.reporting.deprecations.reportingRoleUsers.manualStepTwo": "移除 kibana.yml 中的“xpack.reporting.roles.allow”(如果存在)。", - "xpack.reporting.deprecations.reportingRoleUsersMessage": "现有用户具有由过时设置授予的 Reporting 权限。", - "xpack.reporting.deprecations.reportingRoleUsersTitle": "“{reportingUserRoleName}”角色已过时:检查用户角色", "xpack.reporting.diagnostic.browserCrashed": "启动期间浏览器已异常退出", "xpack.reporting.diagnostic.browserErrored": "启动时浏览器进程引发了错误", "xpack.reporting.diagnostic.browserMissingDependency": "由于缺少系统依赖项,浏览器无法正常启动。请参见 {url}", @@ -27524,18 +27514,12 @@ "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexButton.runReindexLabel": "启动重新索引", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexButton.tryAgainLabel": "重试", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexDescription": "重新索引期间,索引将处于只读状态。在重新索引完成之前,您无法添加、更新或删除文档。如果需要重新索引到新集群,请使用重新索引 API。{docsLink}", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.aliasSwapStepTitle": "交换具有别名的原始索引。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelButton.cancelLabel": "取消", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelButton.cancelledLabel": "已取消", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelButton.cancellingLabel": "正在取消……", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelButton.errorLabel": "无法取消", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.cancelledTitle": "重新索引已取消。", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.createIndexStepTitle": "创建新索引。", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.aliasSwapStepTitle": "正在交换具有别名的原始索引。", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.createIndexStepTitle": "正在创建新索引。", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.readonlyStepTitle": "正在将原始索引设置为只读。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.inProgress.reindexingDocumentsStepTitle": "正在重新索引文档。", - "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.readonlyStepTitle": "将原始索引设置为只读。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklist.reindexingDocumentsStepTitle": "索引文档。", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingChecklistTitle": "重新索引过程", "xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingFailedCalloutTitle": "重新索引错误", @@ -27708,7 +27692,6 @@ "xpack.upgradeAssistant.overview.pageDescription": "准备使用下一版 Elastic!", "xpack.upgradeAssistant.overview.pageTitle": "升级助手", "xpack.upgradeAssistant.overview.snapshotRestoreLink": "创建快照", - "xpack.upgradeAssistant.overview.systemIndices.body": "在升级之前迁移存储系统信息的索引。", "xpack.upgradeAssistant.overview.systemIndices.errorLabel": "迁移失败", "xpack.upgradeAssistant.overview.systemIndices.featureNameTableColumn": "功能", "xpack.upgradeAssistant.overview.systemIndices.flyoutCloseButtonLabel": "关闭", @@ -27727,7 +27710,10 @@ "xpack.upgradeAssistant.overview.systemIndices.statusTableColumn": "状态", "xpack.upgradeAssistant.overview.systemIndices.title": "迁移系统索引", "xpack.upgradeAssistant.overview.systemIndices.viewSystemIndicesStatus": "查看迁移详情", + "xpack.upgradeAssistant.overview.upgradeGuideLink": "查看升级指南", + "xpack.upgradeAssistant.overview.upgradeStepCloudLink": "在 Cloud 上升级", "xpack.upgradeAssistant.overview.upgradeStepDescription": "解决所有紧急问题并确认您的应用程序就绪后,便可以升级到 Elastic 8.x。在升级之前,请确保再次备份您的数据。", + "xpack.upgradeAssistant.overview.upgradeStepDescriptionForCloud": "解决所有紧急问题并确认您的应用程序就绪后,便可以升级到 Elastic 8.x。在升级之前,请确保再次备份您的数据。在 Elastic Cloud 上升级您的部署。", "xpack.upgradeAssistant.overview.upgradeStepTitle": "升级到 Elastic 8.x", "xpack.upgradeAssistant.overview.verifyChanges.calloutBody": "做出更改后,请重置计数器并继续监测,以确认您不再使用过时功能。", "xpack.upgradeAssistant.overview.verifyChanges.calloutTitle": "自 {previousCheck} 以来出现 {warningsCount, plural, other {{warningsCount}}} 个弃用{warningsCount, plural, other {问题}} ", @@ -27740,7 +27726,6 @@ "xpack.upgradeAssistant.overview.whatsNewLink": "8.x 版新增功能", "xpack.upgradeAssistant.reindex.reindexPrivilegesErrorBatch": "您没有足够的权限重新索引“{indexName}”。", "xpack.upgradeAssistant.status.allDeprecationsResolvedMessage": "所有弃用警告均已解决。", - "xpack.upgradeAssistant.status.deprecationsUnresolvedMessage": "您具有 {esTotalCriticalDeps} 个 Elasticsearch 弃用{esTotalCriticalDeps, plural, other {问题}}和 {kibanaTotalCriticalDeps} 个 Kibana 弃用{kibanaTotalCriticalDeps, plural, other {问题}},必须解决它们才能进行升级。", "xpack.upgradeAssistant.upgradedDescription": "所有 Elasticsearch 节点已升级。可以现在升级 Kibana。", "xpack.upgradeAssistant.upgradedTitle": "您的集群已升级", "xpack.upgradeAssistant.upgradingDescription": "一个或多个 Elasticsearch 节点的 Elasticsearch 版本比 Kibana 版本新。所有节点升级后,请升级 Kibana。", diff --git a/x-pack/plugins/upgrade_assistant/README.md b/x-pack/plugins/upgrade_assistant/README.md index ed4381ab0cdcc..a153a75faf7a0 100644 --- a/x-pack/plugins/upgrade_assistant/README.md +++ b/x-pack/plugins/upgrade_assistant/README.md @@ -35,8 +35,7 @@ Elasticsearch deprecations can be handled in a number of ways: * Create an index alias pointing from the original index name to the prefixed index name. * Reindex from the original index into the prefixed index. * Delete the old index and rename the prefixed index. -* **Updating index settings.** Some index settings will need to be updated, which doesn't require a -reindex. An example of this is the "Remove deprecated settings" button, which is shown when [deprecated translog settings](https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-translog.html#index-modules-translog-retention) are detected ([#93293](https://github.com/elastic/kibana/pull/93293)). +* **Removing settings.** Some index and cluser settings are deprecated and need to be removed. The Upgrade Assistant provides a way to auto-resolve these settings via a "Remove deprecated settings" button. * **Upgrading or deleting snapshots**. This is specific to Machine Learning. If a user has old Machine Learning job model snapshots, they will need to be upgraded or deleted. The Upgrade Assistant provides a way to resolve this automatically for the user ([#100066](https://github.com/elastic/kibana/pull/100066)). * **Following the docs.** The Deprecation Info API provides links to the deprecation docs. Users will follow these docs to address the problem and make these warnings or errors disappear in the @@ -107,17 +106,66 @@ To test the Elasticsearch deprecations page ([#107053](https://github.com/elasti yarn es snapshot --license trial -E path.data=./path_to_6.x_ml_snapshots ``` -**3. Removing deprecated index settings** +**3. Removing deprecated settings** - The Upgrade Assistant currently only supports fixing deprecated translog index settings. However [the code](https://github.com/elastic/kibana/blob/main/x-pack/plugins/upgrade_assistant/common/constants.ts#L22) is written in a way to add support for more if necessary. Run the following Console command to trigger the deprecation warning: + The Upgrade Assistant supports removing deprecated index and cluster settings. This is determined based on the `actions` array returned from the deprecation info API. It currently does not support removing affix settings. See https://github.com/elastic/elasticsearch/pull/84246 for more details. + + Run the following Console commands to trigger deprecation issues for cluster and index settings: + +``` +// Can be set as persistent or transient +PUT /_cluster/settings +{ + "persistent" : { + "script.context.filter.cache_max_size": 10, + "script.context.update.cache_max_size": 10, + "script.context.update.max_compilations_rate": "10/1m", + "discovery.zen.minimum_master_nodes": 10, + "discovery.zen.commit_timeout": "10s", + "discovery.zen.no_master_block": "all", + "discovery.zen.publish_diff.enable": true, + "discovery.zen.publish_timeout": "10s", + "indices.lifecycle.step.master_timeout": "10s", + "script.context.field.max_compilations_rate": "10/1m", + "script.context.score.max_compilations_rate": "10/1m", + "script.context.interval.cache_expire": "10s", + "script.context.moving-function.cache_expire": "10s", + "xpack.watcher.history.cleaner_service.enabled": true, + "cluster.routing.allocation.exclude._tier": "data_warm", + "cluster.routing.allocation.include._tier": "data_cold", + "cluster.routing.allocation.require._tier": "data_hot", + "xpack.monitoring.elasticsearch.collection.enabled": true, + "xpack.monitoring.collection.enabled": true, + "xpack.monitoring.collection.interval": "20s", + "xpack.monitoring.collection.ccr.stats.timeout": "20s", + "xpack.monitoring.collection.cluster.stats.timeout": "20s", + "xpack.monitoring.collection.enrich.stats.timeout": "20s", + "xpack.monitoring.collection.index.recovery.timeout": "20s", + "xpack.monitoring.collection.index.stats.timeout": "20s", + "xpack.monitoring.collection.ml.job.stats.timeout": "20s", + "xpack.monitoring.collection.node.stats.timeout": "20s", + "xpack.monitoring.collection.index.recovery.active_only": true, + "xpack.monitoring.history.duration": "2d", + "xpack.monitoring.migration.decommission_alerts": true, + "cluster.routing.allocation.shard_state.reroute.priority": "HIGH", + "cluster.routing.allocation.disk.include_relocations": true + } +} +``` ``` PUT deprecated_settings { "settings": { - "translog.retention.size": "1b", - "translog.retention.age": "5m", + "index.indexing.slowlog.level": "warn", + "index.max_adjacency_matrix_filters": 10, + "index.routing.allocation.exclude._tier": "data_warm", + "index.routing.allocation.include._tier": "data_hot", + "index.routing.allocation.require._tier": "data_cold", + "index.search.slowlog.level": "warn", "index.soft_deletes.enabled": true, + "index.translog.retention.size": "1mb", + "index.translog.retention.age": "5s" } } ``` diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/app/app.helpers.tsx b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/app/app.helpers.tsx index 55c8c7f721a49..4594c88ac5503 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/app/app.helpers.tsx +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/app/app.helpers.tsx @@ -8,6 +8,7 @@ import { act } from 'react-dom/test-utils'; import { registerTestBed, TestBed, AsyncTestBedConfig } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { App } from '../../../public/application/app'; import { WithAppDependencies } from '../helpers'; @@ -39,8 +40,14 @@ const createActions = (testBed: TestBed) => { }; }; -export const setupAppPage = async (overrides?: Record): Promise => { - const initTestBed = registerTestBed(WithAppDependencies(App, overrides), testBedConfig); +export const setupAppPage = async ( + httpSetup: HttpSetup, + overrides?: Record +): Promise => { + const initTestBed = registerTestBed( + WithAppDependencies(App, httpSetup, overrides), + testBedConfig + ); const testBed = await initTestBed(); return { diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/app/cluster_upgrade.test.tsx b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/app/cluster_upgrade.test.tsx index 7276d005844c2..0ef228431592b 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/app/cluster_upgrade.test.tsx +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/app/cluster_upgrade.test.tsx @@ -12,20 +12,17 @@ import { AppTestBed, setupAppPage } from './app.helpers'; describe('Cluster upgrade', () => { let testBed: AppTestBed; - let server: ReturnType['server']; let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; - - beforeEach(() => { - ({ server, httpRequestsMockHelpers } = setupEnvironment()); - }); - - afterEach(() => { - server.restore(); + let httpSetup: ReturnType['httpSetup']; + beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; }); describe('when user is still preparing for upgrade', () => { beforeEach(async () => { - testBed = await setupAppPage(); + testBed = await setupAppPage(httpSetup); }); test('renders overview', () => { @@ -52,7 +49,7 @@ describe('Cluster upgrade', () => { }); await act(async () => { - testBed = await setupAppPage(); + testBed = await setupAppPage(httpSetup); }); }); @@ -76,7 +73,7 @@ describe('Cluster upgrade', () => { }); await act(async () => { - testBed = await setupAppPage(); + testBed = await setupAppPage(httpSetup); }); }); diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/app/privileges.test.tsx b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/app/privileges.test.tsx new file mode 100644 index 0000000000000..3ae0c013d694f --- /dev/null +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/app/privileges.test.tsx @@ -0,0 +1,52 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { act } from 'react-dom/test-utils'; + +import { AppDependencies } from '../../../public/types'; +import { setupEnvironment, kibanaVersion, getAppContextMock } from '../helpers'; +import { AppTestBed, setupAppPage } from './app.helpers'; + +describe('Privileges', () => { + let testBed: AppTestBed; + let httpSetup: ReturnType['httpSetup']; + beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpSetup = mockEnvironment.httpSetup; + }); + + describe('when user is not a Kibana global admin', () => { + beforeEach(async () => { + const appContextMock = getAppContextMock(kibanaVersion) as unknown as AppDependencies; + const servicesMock = { + ...appContextMock.services, + core: { + ...appContextMock.services.core, + application: { + capabilities: { + spaces: { + manage: false, + }, + }, + }, + }, + }; + + await act(async () => { + testBed = await setupAppPage(httpSetup, { services: servicesMock }); + }); + + testBed.component.update(); + }); + + test('renders not authorized message', () => { + const { exists } = testBed; + expect(exists('overview')).toBe(false); + expect(exists('missingKibanaPrivilegesMessage')).toBe(true); + }); + }); +}); diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecation_logs/es_deprecation_logs.helpers.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecation_logs/es_deprecation_logs.helpers.ts index 11784d0269505..1472752150c1a 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecation_logs/es_deprecation_logs.helpers.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecation_logs/es_deprecation_logs.helpers.ts @@ -7,7 +7,8 @@ import { act } from 'react-dom/test-utils'; import { registerTestBed, TestBed, AsyncTestBedConfig } from '@kbn/test/jest'; -import { EsDeprecationLogs } from '../../../public/application/components/es_deprecation_logs'; +import { HttpSetup } from 'src/core/public'; +import { EsDeprecationLogs } from '../../../public/application/components'; import { WithAppDependencies } from '../helpers'; const testBedConfig: AsyncTestBedConfig = { @@ -65,10 +66,11 @@ const createActions = (testBed: TestBed) => { }; export const setupESDeprecationLogsPage = async ( + httpSetup: HttpSetup, overrides?: Record ): Promise => { const initTestBed = registerTestBed( - WithAppDependencies(EsDeprecationLogs, overrides), + WithAppDependencies(EsDeprecationLogs, httpSetup, overrides), testBedConfig ); const testBed = await initTestBed(); diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecation_logs/es_deprecation_logs.test.tsx b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecation_logs/es_deprecation_logs.test.tsx index 8d97fc3897367..f4b07c6f2f5ad 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecation_logs/es_deprecation_logs.test.tsx +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecation_logs/es_deprecation_logs.test.tsx @@ -16,6 +16,8 @@ import { DEPRECATION_LOGS_INDEX, DEPRECATION_LOGS_SOURCE_ID, DEPRECATION_LOGS_COUNT_POLL_INTERVAL_MS, + APPS_WITH_DEPRECATION_LOGS, + DEPRECATION_LOGS_ORIGIN_FIELD, } from '../../../common/constants'; // Once the logs team register the kibana locators in their app, we should be able @@ -39,18 +41,18 @@ const getLoggingResponse = (toggle: boolean): DeprecationLoggingStatus => ({ describe('ES deprecation logs', () => { let testBed: EsDeprecationLogsTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); - + let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; + let httpSetup: ReturnType['httpSetup']; beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; + httpRequestsMockHelpers.setLoadDeprecationLoggingResponse(getLoggingResponse(true)); - testBed = await setupESDeprecationLogsPage(); + testBed = await setupESDeprecationLogsPage(httpSetup); testBed.component.update(); }); - afterAll(() => { - server.restore(); - }); - describe('Documentation link', () => { test('Has a link for migration info api docs in page header', () => { const { exists } = testBed; @@ -69,8 +71,11 @@ describe('ES deprecation logs', () => { await actions.clickDeprecationToggle(); - const latestRequest = server.requests[server.requests.length - 1]; - expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual({ isEnabled: false }); + expect(httpSetup.put).toHaveBeenLastCalledWith( + `/api/upgrade_assistant/deprecation_logging`, + expect.objectContaining({ body: JSON.stringify({ isEnabled: false }) }) + ); + expect(find('deprecationLoggingToggle').props()['aria-checked']).toBe(false); }); @@ -81,7 +86,7 @@ describe('ES deprecation logs', () => { }); await act(async () => { - testBed = await setupESDeprecationLogsPage(); + testBed = await setupESDeprecationLogsPage(httpSetup); }); const { exists, component } = testBed; @@ -117,7 +122,7 @@ describe('ES deprecation logs', () => { httpRequestsMockHelpers.setLoadDeprecationLoggingResponse(undefined, error); await act(async () => { - testBed = await setupESDeprecationLogsPage(); + testBed = await setupESDeprecationLogsPage(httpSetup); }); const { component, exists } = testBed; @@ -134,7 +139,7 @@ describe('ES deprecation logs', () => { }); await act(async () => { - testBed = await setupESDeprecationLogsPage(); + testBed = await setupESDeprecationLogsPage(httpSetup); }); const { exists, component } = testBed; @@ -154,7 +159,7 @@ describe('ES deprecation logs', () => { test('Has a link to see logs in observability app', async () => { await act(async () => { - testBed = await setupESDeprecationLogsPage({ + testBed = await setupESDeprecationLogsPage(httpSetup, { http: { basePath: { prepend: (url: string) => url, @@ -171,9 +176,15 @@ describe('ES deprecation logs', () => { component.update(); expect(exists('viewObserveLogs')).toBe(true); - expect(find('viewObserveLogs').props().href).toBe( - `/app/logs/stream?sourceId=${DEPRECATION_LOGS_SOURCE_ID}&logPosition=(end:now,start:'${MOCKED_TIME}')` + const sourceId = DEPRECATION_LOGS_SOURCE_ID; + const logPosition = `(end:now,start:'${MOCKED_TIME}')`; + const logFilter = encodeURI( + `(language:kuery,query:'not ${DEPRECATION_LOGS_ORIGIN_FIELD} : (${APPS_WITH_DEPRECATION_LOGS.join( + ' or ' + )})')` ); + const queryParams = `sourceId=${sourceId}&logPosition=${logPosition}&logFilter=${logFilter}`; + expect(find('viewObserveLogs').props().href).toBe(`/app/logs/stream?${queryParams}`); }); test(`Doesn't show observability app link if infra app is not available`, async () => { @@ -186,7 +197,7 @@ describe('ES deprecation logs', () => { test('Has a link to see logs in discover app', async () => { await act(async () => { - testBed = await setupESDeprecationLogsPage(); + testBed = await setupESDeprecationLogsPage(httpSetup); }); const { exists, component, find } = testBed; @@ -197,8 +208,18 @@ describe('ES deprecation logs', () => { const decodedUrl = decodeURIComponent(find('viewDiscoverLogs').props().href); expect(decodedUrl).toContain('discoverUrl'); - ['"language":"kuery"', '"query":"@timestamp+>'].forEach((param) => { - expect(decodedUrl).toContain(param); + [ + '"language":"kuery"', + '"query":"@timestamp+>', + 'filters=', + DEPRECATION_LOGS_ORIGIN_FIELD, + ...APPS_WITH_DEPRECATION_LOGS, + ].forEach((param) => { + try { + expect(decodedUrl).toContain(param); + } catch (e) { + throw new Error(`Expected [${param}] not found in ${decodedUrl}`); + } }); }); }); @@ -215,7 +236,7 @@ describe('ES deprecation logs', () => { }); await act(async () => { - testBed = await setupESDeprecationLogsPage(); + testBed = await setupESDeprecationLogsPage(httpSetup); }); const { find, exists, component } = testBed; @@ -232,7 +253,7 @@ describe('ES deprecation logs', () => { }); await act(async () => { - testBed = await setupESDeprecationLogsPage(); + testBed = await setupESDeprecationLogsPage(httpSetup); }); const { find, exists, component } = testBed; @@ -253,7 +274,7 @@ describe('ES deprecation logs', () => { httpRequestsMockHelpers.setLoadDeprecationLogsCountResponse(undefined, error); await act(async () => { - testBed = await setupESDeprecationLogsPage(); + testBed = await setupESDeprecationLogsPage(httpSetup); }); const { exists, actions, component } = testBed; @@ -277,7 +298,7 @@ describe('ES deprecation logs', () => { }); await act(async () => { - testBed = await setupESDeprecationLogsPage(); + testBed = await setupESDeprecationLogsPage(httpSetup); }); const { exists, actions, component } = testBed; @@ -309,7 +330,7 @@ describe('ES deprecation logs', () => { const addDanger = jest.fn(); await act(async () => { - testBed = await setupESDeprecationLogsPage({ + testBed = await setupESDeprecationLogsPage(httpSetup, { services: { core: { notifications: { @@ -347,7 +368,7 @@ describe('ES deprecation logs', () => { count: 0, }); - testBed = await setupESDeprecationLogsPage(); + testBed = await setupESDeprecationLogsPage(httpSetup); }); afterEach(() => { @@ -383,7 +404,7 @@ describe('ES deprecation logs', () => { test('It shows copy with compatibility api header advice', async () => { await act(async () => { - testBed = await setupESDeprecationLogsPage(); + testBed = await setupESDeprecationLogsPage(httpSetup); }); const { exists, component } = testBed; @@ -407,7 +428,7 @@ describe('ES deprecation logs', () => { test(`doesn't show analyze and resolve logs if it doesn't have the right privileges`, async () => { await act(async () => { - testBed = await setupESDeprecationLogsPage({ + testBed = await setupESDeprecationLogsPage(httpSetup, { privileges: { hasAllPrivileges: false, missingPrivileges: { diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/cluster_settings_deprecation_flyout.test.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/cluster_settings_deprecation_flyout.test.ts new file mode 100644 index 0000000000000..c1d3e284f20e3 --- /dev/null +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/cluster_settings_deprecation_flyout.test.ts @@ -0,0 +1,126 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { act } from 'react-dom/test-utils'; + +import { setupEnvironment } from '../helpers'; +import { ElasticsearchTestBed, setupElasticsearchPage } from './es_deprecations.helpers'; +import { esDeprecationsMockResponse } from './mocked_responses'; + +describe('Cluster settings deprecation flyout', () => { + let testBed: ElasticsearchTestBed; + const clusterSettingDeprecation = esDeprecationsMockResponse.deprecations[4]; + let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; + let httpSetup: ReturnType['httpSetup']; + beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; + + httpRequestsMockHelpers.setLoadEsDeprecationsResponse(esDeprecationsMockResponse); + httpRequestsMockHelpers.setReindexStatusResponse('reindex_index', { + reindexOp: null, + warnings: [], + hasRequiredPrivileges: true, + meta: { + indexName: 'foo', + reindexName: 'reindexed-foo', + aliases: [], + }, + }); + + await act(async () => { + testBed = await setupElasticsearchPage(httpSetup, { isReadOnlyMode: false }); + }); + + const { actions, component } = testBed; + component.update(); + await actions.table.clickDeprecationRowAt('clusterSetting', 0); + }); + + test('renders a flyout with deprecation details', async () => { + const { find, exists } = testBed; + + expect(exists('clusterSettingsDetails')).toBe(true); + expect(find('clusterSettingsDetails.flyoutTitle').text()).toContain( + clusterSettingDeprecation.message + ); + expect(find('clusterSettingsDetails.documentationLink').props().href).toBe( + clusterSettingDeprecation.url + ); + expect(exists('removeClusterSettingsPrompt')).toBe(true); + }); + + it('removes deprecated cluster settings', async () => { + const { find, actions, exists } = testBed; + + httpRequestsMockHelpers.setClusterSettingsResponse({ + acknowledged: true, + persistent: {}, + transietn: {}, + }); + + expect(exists('clusterSettingsDetails.warningDeprecationBadge')).toBe(true); + + await actions.clusterSettingsDeprecationFlyout.clickDeleteSettingsButton(); + + expect(httpSetup.post).toHaveBeenLastCalledWith( + '/api/upgrade_assistant/cluster_settings', + expect.anything() + ); + + // Verify the "Resolution" column of the table is updated + expect(find('clusterSettingsResolutionStatusCell').at(0).text()).toEqual( + 'Deprecated settings removed' + ); + + // Reopen the flyout + await actions.table.clickDeprecationRowAt('clusterSetting', 0); + + // Verify prompt to remove setting no longer displays + expect(find('removeSettingsPrompt').length).toEqual(0); + // Verify the action button no longer displays + expect(find('clusterSettingsDetails.deleteSettingsButton').length).toEqual(0); + // Verify the badge got marked as resolved + expect(exists('clusterSettingsDetails.resolvedDeprecationBadge')).toBe(true); + }); + + it('handles failure', async () => { + const { find, actions } = testBed; + const error = { + statusCode: 500, + error: 'Remove cluster settings error', + message: 'Remove cluster settings error', + }; + + httpRequestsMockHelpers.setClusterSettingsResponse(undefined, error); + + await actions.clusterSettingsDeprecationFlyout.clickDeleteSettingsButton(); + + expect(httpSetup.post).toHaveBeenLastCalledWith( + '/api/upgrade_assistant/cluster_settings', + expect.anything() + ); + + // Verify the "Resolution" column of the table is updated + expect(find('clusterSettingsResolutionStatusCell').at(0).text()).toEqual( + 'Settings removal failed' + ); + + // Reopen the flyout + await actions.table.clickDeprecationRowAt('clusterSetting', 0); + + // Verify the flyout shows an error message + expect(find('clusterSettingsDetails.deleteClusterSettingsError').text()).toContain( + 'Error deleting cluster settings' + ); + // Verify the remove settings button text changes + expect(find('clusterSettingsDetails.deleteClusterSettingsButton').text()).toEqual( + 'Retry removing deprecated settings' + ); + }); +}); diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/default_deprecation_flyout.test.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/default_deprecation_flyout.test.ts index fdd8a1c993937..f728e6685817a 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/default_deprecation_flyout.test.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/default_deprecation_flyout.test.ts @@ -13,13 +13,13 @@ import { esDeprecationsMockResponse, MOCK_SNAPSHOT_ID, MOCK_JOB_ID } from './moc describe('Default deprecation flyout', () => { let testBed: ElasticsearchTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); - - afterAll(() => { - server.restore(); - }); - + let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; + let httpSetup: ReturnType['httpSetup']; beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; + httpRequestsMockHelpers.setLoadEsDeprecationsResponse(esDeprecationsMockResponse); httpRequestsMockHelpers.setUpgradeMlSnapshotStatusResponse({ nodeId: 'my_node', @@ -27,9 +27,21 @@ describe('Default deprecation flyout', () => { jobId: MOCK_JOB_ID, status: 'idle', }); + httpRequestsMockHelpers.setReindexStatusResponse('reindex_index', { + reindexOp: null, + warnings: [], + hasRequiredPrivileges: true, + meta: { + indexName: 'foo', + reindexName: 'reindexed-foo', + aliases: [], + }, + }); await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(httpSetup, { + isReadOnlyMode: false, + }); }); testBed.component.update(); diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/deprecations_list.test.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/deprecations_list.test.ts index 3b8a756b8e64c..5d51ba956c2d9 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/deprecations_list.test.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/deprecations_list.test.ts @@ -20,13 +20,13 @@ import { describe('ES deprecations table', () => { let testBed: ElasticsearchTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); - - afterAll(() => { - server.restore(); - }); - + let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; + let httpSetup: ReturnType['httpSetup']; beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; + httpRequestsMockHelpers.setLoadEsDeprecationsResponse(esDeprecationsMockResponse); httpRequestsMockHelpers.setUpgradeMlSnapshotStatusResponse({ nodeId: 'my_node', @@ -34,9 +34,20 @@ describe('ES deprecations table', () => { jobId: MOCK_JOB_ID, status: 'idle', }); + httpRequestsMockHelpers.setReindexStatusResponse('reindex_index', { + reindexOp: null, + warnings: [], + hasRequiredPrivileges: true, + meta: { + indexName: 'foo', + reindexName: 'reindexed-foo', + aliases: [], + }, + }); + httpRequestsMockHelpers.setLoadRemoteClustersResponse([]); await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(httpSetup, { isReadOnlyMode: false }); }); testBed.component.update(); @@ -55,7 +66,6 @@ describe('ES deprecations table', () => { it('refreshes deprecation data', async () => { const { actions } = testBed; - const totalRequests = server.requests.length; await actions.table.clickRefreshButton(); @@ -63,21 +73,24 @@ describe('ES deprecations table', () => { const reindexDeprecation = esDeprecationsMockResponse.deprecations[3]; // Since upgradeStatusMockResponse includes ML and reindex actions (which require fetching status), there will be 4 requests made - expect(server.requests.length).toBe(totalRequests + 4); - expect(server.requests[server.requests.length - 4].url).toBe( - `${API_BASE_PATH}/es_deprecations` + expect(httpSetup.get).toHaveBeenCalledWith( + `${API_BASE_PATH}/es_deprecations`, + expect.anything() ); - expect(server.requests[server.requests.length - 3].url).toBe( + expect(httpSetup.get).toHaveBeenCalledWith( `${API_BASE_PATH}/ml_snapshots/${(mlDeprecation.correctiveAction as MlAction).jobId}/${ (mlDeprecation.correctiveAction as MlAction).snapshotId - }` + }`, + expect.anything() ); - expect(server.requests[server.requests.length - 2].url).toBe( - `${API_BASE_PATH}/reindex/${reindexDeprecation.index}` + expect(httpSetup.get).toHaveBeenCalledWith( + `${API_BASE_PATH}/reindex/${reindexDeprecation.index}`, + expect.anything() ); - expect(server.requests[server.requests.length - 1].url).toBe( - `${API_BASE_PATH}/ml_upgrade_mode` + expect(httpSetup.get).toHaveBeenCalledWith( + `${API_BASE_PATH}/ml_upgrade_mode`, + expect.anything() ); }); @@ -95,6 +108,27 @@ describe('ES deprecations table', () => { expect(find('warningDeprecationsCount').text()).toContain(warningDeprecations.length); }); + describe('remote clusters callout', () => { + beforeEach(async () => { + httpRequestsMockHelpers.setLoadRemoteClustersResponse(['test_remote_cluster']); + + await act(async () => { + testBed = await setupElasticsearchPage(httpSetup, { + isReadOnlyMode: false, + }); + }); + + testBed.component.update(); + }); + + it('shows a warning message if a user has remote clusters configured', () => { + const { exists } = testBed; + + // Verify warning exists + expect(exists('remoteClustersWarningCallout')).toBe(true); + }); + }); + describe('search bar', () => { it('filters results by "critical" status', async () => { const { find, actions } = testBed; @@ -187,7 +221,9 @@ describe('ES deprecations table', () => { }); await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(httpSetup, { + isReadOnlyMode: false, + }); }); testBed.component.update(); @@ -269,7 +305,7 @@ describe('ES deprecations table', () => { httpRequestsMockHelpers.setLoadEsDeprecationsResponse(noDeprecationsResponse); await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(httpSetup, { isReadOnlyMode: false }); }); testBed.component.update(); diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/error_handling.test.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/error_handling.test.ts index 2f0c8f0597ec3..02e61fdaaadd0 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/error_handling.test.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/error_handling.test.ts @@ -12,10 +12,12 @@ import { ElasticsearchTestBed, setupElasticsearchPage } from './es_deprecations. describe('Error handling', () => { let testBed: ElasticsearchTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); - - afterAll(() => { - server.restore(); + let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; + let httpSetup: ReturnType['httpSetup']; + beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; }); it('handles 403', async () => { @@ -28,7 +30,7 @@ describe('Error handling', () => { httpRequestsMockHelpers.setLoadEsDeprecationsResponse(undefined, error); await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(httpSetup, { isReadOnlyMode: false }); }); const { component, find } = testBed; @@ -53,7 +55,7 @@ describe('Error handling', () => { httpRequestsMockHelpers.setLoadEsDeprecationsResponse(undefined, error); await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(httpSetup, { isReadOnlyMode: false }); }); const { component, find } = testBed; @@ -76,7 +78,7 @@ describe('Error handling', () => { httpRequestsMockHelpers.setLoadEsDeprecationsResponse(undefined, error); await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(httpSetup, { isReadOnlyMode: false }); }); const { component, find } = testBed; @@ -96,7 +98,7 @@ describe('Error handling', () => { httpRequestsMockHelpers.setLoadEsDeprecationsResponse(undefined, error); await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(httpSetup, { isReadOnlyMode: false }); }); const { component, find } = testBed; diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/es_deprecations.helpers.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/es_deprecations.helpers.ts index 28ec1983cbeda..c288bbd91151f 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/es_deprecations.helpers.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/es_deprecations.helpers.ts @@ -7,7 +7,8 @@ import { act } from 'react-dom/test-utils'; import { registerTestBed, TestBed, AsyncTestBedConfig } from '@kbn/test/jest'; -import { EsDeprecations } from '../../../public/application/components/es_deprecations'; +import { HttpSetup } from 'src/core/public'; +import { EsDeprecations } from '../../../public/application/components'; import { WithAppDependencies } from '../helpers'; const testBedConfig: AsyncTestBedConfig = { @@ -38,7 +39,7 @@ const createActions = (testBed: TestBed) => { component.update(); }, clickDeprecationRowAt: async ( - deprecationType: 'mlSnapshot' | 'indexSetting' | 'reindex' | 'default', + deprecationType: 'mlSnapshot' | 'indexSetting' | 'reindex' | 'default' | 'clusterSetting', index: number ) => { await act(async () => { @@ -125,6 +126,16 @@ const createActions = (testBed: TestBed) => { }, }; + const clusterSettingsDeprecationFlyout = { + clickDeleteSettingsButton: async () => { + await act(async () => { + find('deleteClusterSettingsButton').simulate('click'); + }); + + component.update(); + }, + }; + const reindexDeprecationFlyout = { clickReindexButton: async () => { await act(async () => { @@ -142,14 +153,16 @@ const createActions = (testBed: TestBed) => { mlDeprecationFlyout, reindexDeprecationFlyout, indexSettingsDeprecationFlyout, + clusterSettingsDeprecationFlyout, }; }; export const setupElasticsearchPage = async ( + httpSetup: HttpSetup, overrides?: Record ): Promise => { const initTestBed = registerTestBed( - WithAppDependencies(EsDeprecations, overrides), + WithAppDependencies(EsDeprecations, httpSetup, overrides), testBedConfig ); const testBed = await initTestBed(); diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/index_settings_deprecation_flyout.test.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/index_settings_deprecation_flyout.test.ts index f62d24081ed56..20b7bed032f76 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/index_settings_deprecation_flyout.test.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/index_settings_deprecation_flyout.test.ts @@ -9,18 +9,23 @@ import { act } from 'react-dom/test-utils'; import { setupEnvironment } from '../helpers'; import { ElasticsearchTestBed, setupElasticsearchPage } from './es_deprecations.helpers'; -import { esDeprecationsMockResponse, MOCK_SNAPSHOT_ID, MOCK_JOB_ID } from './mocked_responses'; +import { + esDeprecationsMockResponse, + MOCK_SNAPSHOT_ID, + MOCK_JOB_ID, + MOCK_REINDEX_DEPRECATION, +} from './mocked_responses'; describe('Index settings deprecation flyout', () => { let testBed: ElasticsearchTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); + let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; + let httpSetup: ReturnType['httpSetup']; const indexSettingDeprecation = esDeprecationsMockResponse.deprecations[1]; - - afterAll(() => { - server.restore(); - }); - beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; + httpRequestsMockHelpers.setLoadEsDeprecationsResponse(esDeprecationsMockResponse); httpRequestsMockHelpers.setUpgradeMlSnapshotStatusResponse({ nodeId: 'my_node', @@ -28,9 +33,19 @@ describe('Index settings deprecation flyout', () => { jobId: MOCK_JOB_ID, status: 'idle', }); + httpRequestsMockHelpers.setReindexStatusResponse(MOCK_REINDEX_DEPRECATION.index!, { + reindexOp: null, + warnings: [], + hasRequiredPrivileges: true, + meta: { + indexName: 'foo', + reindexName: 'reindexed-foo', + aliases: [], + }, + }); await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(httpSetup, { isReadOnlyMode: false }); }); const { actions, component } = testBed; @@ -38,7 +53,7 @@ describe('Index settings deprecation flyout', () => { await actions.table.clickDeprecationRowAt('indexSetting', 0); }); - test('renders a flyout with deprecation details', async () => { + it('renders a flyout with deprecation details', async () => { const { find, exists } = testBed; expect(exists('indexSettingsDetails')).toBe(true); @@ -54,7 +69,7 @@ describe('Index settings deprecation flyout', () => { it('removes deprecated index settings', async () => { const { find, actions, exists } = testBed; - httpRequestsMockHelpers.setUpdateIndexSettingsResponse({ + httpRequestsMockHelpers.setUpdateIndexSettingsResponse(indexSettingDeprecation.index!, { acknowledged: true, }); @@ -62,13 +77,10 @@ describe('Index settings deprecation flyout', () => { await actions.indexSettingsDeprecationFlyout.clickDeleteSettingsButton(); - const request = server.requests[server.requests.length - 1]; - - expect(request.method).toBe('POST'); - expect(request.url).toBe( - `/api/upgrade_assistant/${indexSettingDeprecation.index!}/index_settings` + expect(httpSetup.post).toHaveBeenLastCalledWith( + `/api/upgrade_assistant/${indexSettingDeprecation.index!}/index_settings`, + expect.anything() ); - expect(request.status).toEqual(200); // Verify the "Resolution" column of the table is updated expect(find('indexSettingsResolutionStatusCell').at(0).text()).toEqual( @@ -94,17 +106,18 @@ describe('Index settings deprecation flyout', () => { message: 'Remove index settings error', }; - httpRequestsMockHelpers.setUpdateIndexSettingsResponse(undefined, error); + httpRequestsMockHelpers.setUpdateIndexSettingsResponse( + indexSettingDeprecation.index!, + undefined, + error + ); await actions.indexSettingsDeprecationFlyout.clickDeleteSettingsButton(); - const request = server.requests[server.requests.length - 1]; - - expect(request.method).toBe('POST'); - expect(request.url).toBe( - `/api/upgrade_assistant/${indexSettingDeprecation.index!}/index_settings` + expect(httpSetup.post).toHaveBeenLastCalledWith( + `/api/upgrade_assistant/${indexSettingDeprecation.index!}/index_settings`, + expect.anything() ); - expect(request.status).toEqual(500); // Verify the "Resolution" column of the table is updated expect(find('indexSettingsResolutionStatusCell').at(0).text()).toEqual( diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/ml_snapshots_deprecation_flyout.test.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/ml_snapshots_deprecation_flyout.test.ts index b24cd5a69a28e..2fa645a60d6d5 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/ml_snapshots_deprecation_flyout.test.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/ml_snapshots_deprecation_flyout.test.ts @@ -14,14 +14,14 @@ import { esDeprecationsMockResponse, MOCK_SNAPSHOT_ID, MOCK_JOB_ID } from './moc describe('Machine learning deprecation flyout', () => { let testBed: ElasticsearchTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); const mlDeprecation = esDeprecationsMockResponse.deprecations[0]; - - afterAll(() => { - server.restore(); - }); - + let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; + let httpSetup: ReturnType['httpSetup']; beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; + httpRequestsMockHelpers.setLoadEsDeprecationsResponse(esDeprecationsMockResponse); httpRequestsMockHelpers.setLoadMlUpgradeModeResponse({ mlUpgradeModeEnabled: false }); httpRequestsMockHelpers.setUpgradeMlSnapshotStatusResponse({ @@ -30,9 +30,19 @@ describe('Machine learning deprecation flyout', () => { jobId: MOCK_JOB_ID, status: 'idle', }); + httpRequestsMockHelpers.setReindexStatusResponse('reindex_index', { + reindexOp: null, + warnings: [], + hasRequiredPrivileges: true, + meta: { + indexName: 'foo', + reindexName: 'reindexed-foo', + aliases: [], + }, + }); await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(mockEnvironment.httpSetup, { isReadOnlyMode: false }); }); const { actions, component } = testBed; @@ -74,15 +84,15 @@ describe('Machine learning deprecation flyout', () => { await actions.mlDeprecationFlyout.clickUpgradeSnapshot(); // First, we expect a POST request to upgrade the snapshot - const upgradeRequest = server.requests[server.requests.length - 2]; - expect(upgradeRequest.method).toBe('POST'); - expect(upgradeRequest.url).toBe('/api/upgrade_assistant/ml_snapshots'); + expect(httpSetup.post).toHaveBeenLastCalledWith( + '/api/upgrade_assistant/ml_snapshots', + expect.anything() + ); // Next, we expect a GET request to check the status of the upgrade - const statusRequest = server.requests[server.requests.length - 1]; - expect(statusRequest.method).toBe('GET'); - expect(statusRequest.url).toBe( - `/api/upgrade_assistant/ml_snapshots/${MOCK_JOB_ID}/${MOCK_SNAPSHOT_ID}` + expect(httpSetup.get).toHaveBeenLastCalledWith( + `/api/upgrade_assistant/ml_snapshots/${MOCK_JOB_ID}/${MOCK_SNAPSHOT_ID}`, + expect.anything() ); // Verify the "Resolution" column of the table is updated @@ -118,9 +128,10 @@ describe('Machine learning deprecation flyout', () => { await actions.mlDeprecationFlyout.clickUpgradeSnapshot(); - const upgradeRequest = server.requests[server.requests.length - 1]; - expect(upgradeRequest.method).toBe('POST'); - expect(upgradeRequest.url).toBe('/api/upgrade_assistant/ml_snapshots'); + expect(httpSetup.post).toHaveBeenLastCalledWith( + '/api/upgrade_assistant/ml_snapshots', + expect.anything() + ); // Verify the "Resolution" column of the table is updated expect(find('mlActionResolutionCell').text()).toContain('Upgrade failed'); @@ -137,10 +148,12 @@ describe('Machine learning deprecation flyout', () => { }); it('Disables actions if ml_upgrade_mode is enabled', async () => { - httpRequestsMockHelpers.setLoadMlUpgradeModeResponse({ mlUpgradeModeEnabled: true }); + httpRequestsMockHelpers.setLoadMlUpgradeModeResponse({ + mlUpgradeModeEnabled: true, + }); await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(httpSetup, { isReadOnlyMode: false }); }); const { actions, exists, component } = testBed; @@ -162,7 +175,9 @@ describe('Machine learning deprecation flyout', () => { it('successfully deletes snapshots', async () => { const { find, actions, exists } = testBed; - httpRequestsMockHelpers.setDeleteMlSnapshotResponse({ + const jobId = (mlDeprecation.correctiveAction! as MlAction).jobId; + const snapshotId = (mlDeprecation.correctiveAction! as MlAction).snapshotId; + httpRequestsMockHelpers.setDeleteMlSnapshotResponse(jobId, snapshotId, { acknowledged: true, }); @@ -171,13 +186,9 @@ describe('Machine learning deprecation flyout', () => { await actions.mlDeprecationFlyout.clickDeleteSnapshot(); - const request = server.requests[server.requests.length - 1]; - - expect(request.method).toBe('DELETE'); - expect(request.url).toBe( - `/api/upgrade_assistant/ml_snapshots/${ - (mlDeprecation.correctiveAction! as MlAction).jobId - }/${(mlDeprecation.correctiveAction! as MlAction).snapshotId}` + expect(httpSetup.delete).toHaveBeenLastCalledWith( + `/api/upgrade_assistant/ml_snapshots/${jobId}/${snapshotId}`, + expect.anything() ); // Verify the "Resolution" column of the table is updated @@ -202,17 +213,15 @@ describe('Machine learning deprecation flyout', () => { message: 'Upgrade snapshot error', }; - httpRequestsMockHelpers.setDeleteMlSnapshotResponse(undefined, error); + const jobId = (mlDeprecation.correctiveAction! as MlAction).jobId; + const snapshotId = (mlDeprecation.correctiveAction! as MlAction).snapshotId; + httpRequestsMockHelpers.setDeleteMlSnapshotResponse(jobId, snapshotId, undefined, error); await actions.mlDeprecationFlyout.clickDeleteSnapshot(); - const request = server.requests[server.requests.length - 1]; - - expect(request.method).toBe('DELETE'); - expect(request.url).toBe( - `/api/upgrade_assistant/ml_snapshots/${ - (mlDeprecation.correctiveAction! as MlAction).jobId - }/${(mlDeprecation.correctiveAction! as MlAction).snapshotId}` + expect(httpSetup.delete).toHaveBeenLastCalledWith( + `/api/upgrade_assistant/ml_snapshots/${jobId}/${snapshotId}`, + expect.anything() ); // Verify the "Resolution" column of the table is updated diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/mocked_responses.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/mocked_responses.ts index ddf477195063c..2f3bece2043a8 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/mocked_responses.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/mocked_responses.ts @@ -6,7 +6,6 @@ */ import type { ESUpgradeStatus, EnrichedDeprecationInfo } from '../../../common/types'; -import { indexSettingDeprecations } from '../../../common/constants'; export const MOCK_SNAPSHOT_ID = '1'; export const MOCK_JOB_ID = 'deprecation_check_job'; @@ -26,7 +25,7 @@ export const MOCK_ML_DEPRECATION: EnrichedDeprecationInfo = { }, }; -const MOCK_REINDEX_DEPRECATION: EnrichedDeprecationInfo = { +export const MOCK_REINDEX_DEPRECATION: EnrichedDeprecationInfo = { isCritical: true, resolveDuringUpgrade: false, type: 'index_settings', @@ -43,13 +42,26 @@ const MOCK_INDEX_SETTING_DEPRECATION: EnrichedDeprecationInfo = { isCritical: false, resolveDuringUpgrade: false, type: 'index_settings', - message: indexSettingDeprecations.translog.deprecationMessage, + message: 'Setting [index.routing.allocation.include._tier] is deprecated', details: 'deprecation details', url: 'doc_url', index: 'my_index', correctiveAction: { type: 'indexSetting', - deprecatedSettings: indexSettingDeprecations.translog.settings, + deprecatedSettings: ['index.routing.allocation.include._tier'], + }, +}; + +const MOCK_CLUSTER_SETTING_DEPRECATION: EnrichedDeprecationInfo = { + isCritical: false, + resolveDuringUpgrade: false, + type: 'cluster_settings', + message: 'Setting [cluster.routing.allocation.require._tier] is deprecated', + details: 'deprecation details', + url: 'doc_url', + correctiveAction: { + type: 'clusterSetting', + deprecatedSettings: ['cluster.routing.allocation.require._tier'], }, }; @@ -70,6 +82,7 @@ export const esDeprecationsMockResponse: ESUpgradeStatus = { MOCK_INDEX_SETTING_DEPRECATION, MOCK_DEFAULT_DEPRECATION, MOCK_REINDEX_DEPRECATION, + MOCK_CLUSTER_SETTING_DEPRECATION, ], }; diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/reindex_deprecation_flyout.test.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/reindex_deprecation_flyout.test.ts index 3c6fe0e5f5329..845141fb7784f 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/reindex_deprecation_flyout.test.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/es_deprecations/reindex_deprecation_flyout.test.ts @@ -7,21 +7,40 @@ import { act } from 'react-dom/test-utils'; +import { ReindexStatus, ReindexStep, ReindexStatusResponse } from '../../../common/types'; import { setupEnvironment } from '../helpers'; import { ElasticsearchTestBed, setupElasticsearchPage } from './es_deprecations.helpers'; -import { esDeprecationsMockResponse, MOCK_SNAPSHOT_ID, MOCK_JOB_ID } from './mocked_responses'; -import { ReindexStatus, ReindexStep } from '../../../common/types'; +import { + esDeprecationsMockResponse, + MOCK_SNAPSHOT_ID, + MOCK_JOB_ID, + MOCK_REINDEX_DEPRECATION, +} from './mocked_responses'; + +const defaultReindexStatusMeta: ReindexStatusResponse['meta'] = { + indexName: 'foo', + reindexName: 'reindexed-foo', + aliases: [], +}; -// Note: The reindexing flyout UX is subject to change; more tests should be added here once functionality is built out describe('Reindex deprecation flyout', () => { let testBed: ElasticsearchTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); + + beforeAll(() => { + jest.useFakeTimers(); + }); afterAll(() => { - server.restore(); + jest.useRealTimers(); }); + let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; + let httpSetup: ReturnType['httpSetup']; beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; + httpRequestsMockHelpers.setLoadEsDeprecationsResponse(esDeprecationsMockResponse); httpRequestsMockHelpers.setUpgradeMlSnapshotStatusResponse({ nodeId: 'my_node', @@ -29,9 +48,20 @@ describe('Reindex deprecation flyout', () => { jobId: MOCK_JOB_ID, status: 'idle', }); + httpRequestsMockHelpers.setReindexStatusResponse(MOCK_REINDEX_DEPRECATION.index!, { + reindexOp: null, + warnings: [], + hasRequiredPrivileges: true, + meta: { + indexName: 'foo', + reindexName: 'reindexed-foo', + aliases: [], + }, + }); + httpRequestsMockHelpers.setLoadNodeDiskSpaceResponse([]); await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(httpSetup, { isReadOnlyMode: false }); }); testBed.component.update(); @@ -50,14 +80,8 @@ describe('Reindex deprecation flyout', () => { }); it('renders error callout when reindex fails', async () => { - httpRequestsMockHelpers.setReindexStatusResponse({ - reindexOp: null, - warnings: [], - hasRequiredPrivileges: true, - }); - await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(httpSetup, { isReadOnlyMode: false }); }); testBed.component.update(); @@ -66,7 +90,7 @@ describe('Reindex deprecation flyout', () => { await actions.table.clickDeprecationRowAt('reindex', 0); - httpRequestsMockHelpers.setStartReindexingResponse(undefined, { + httpRequestsMockHelpers.setStartReindexingResponse(MOCK_REINDEX_DEPRECATION.index!, undefined, { statusCode: 404, message: 'no such index [test]', }); @@ -77,13 +101,13 @@ describe('Reindex deprecation flyout', () => { }); it('renders error callout when fetch status fails', async () => { - httpRequestsMockHelpers.setReindexStatusResponse(undefined, { + httpRequestsMockHelpers.setReindexStatusResponse(MOCK_REINDEX_DEPRECATION.index!, undefined, { statusCode: 404, message: 'no such index [test]', }); await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(httpSetup, { isReadOnlyMode: false }); }); testBed.component.update(); @@ -105,7 +129,7 @@ describe('Reindex deprecation flyout', () => { }); it('has started but not yet reindexing documents', async () => { - httpRequestsMockHelpers.setReindexStatusResponse({ + httpRequestsMockHelpers.setReindexStatusResponse(MOCK_REINDEX_DEPRECATION.index!, { reindexOp: { status: ReindexStatus.inProgress, lastCompletedStep: ReindexStep.readonly, @@ -113,10 +137,11 @@ describe('Reindex deprecation flyout', () => { }, warnings: [], hasRequiredPrivileges: true, + meta: defaultReindexStatusMeta, }); await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(httpSetup, { isReadOnlyMode: false }); }); testBed.component.update(); @@ -129,7 +154,7 @@ describe('Reindex deprecation flyout', () => { }); it('has started reindexing documents', async () => { - httpRequestsMockHelpers.setReindexStatusResponse({ + httpRequestsMockHelpers.setReindexStatusResponse(MOCK_REINDEX_DEPRECATION.index!, { reindexOp: { status: ReindexStatus.inProgress, lastCompletedStep: ReindexStep.reindexStarted, @@ -137,10 +162,11 @@ describe('Reindex deprecation flyout', () => { }, warnings: [], hasRequiredPrivileges: true, + meta: defaultReindexStatusMeta, }); await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(httpSetup, { isReadOnlyMode: false }); }); testBed.component.update(); @@ -148,12 +174,12 @@ describe('Reindex deprecation flyout', () => { await actions.table.clickDeprecationRowAt('reindex', 0); - expect(find('reindexChecklistTitle').text()).toEqual('Reindexing in progress… 31%'); + expect(find('reindexChecklistTitle').text()).toEqual('Reindexing in progress… 30%'); expect(exists('cancelReindexingDocumentsButton')).toBe(true); }); it('has completed reindexing documents', async () => { - httpRequestsMockHelpers.setReindexStatusResponse({ + httpRequestsMockHelpers.setReindexStatusResponse(MOCK_REINDEX_DEPRECATION.index!, { reindexOp: { status: ReindexStatus.inProgress, lastCompletedStep: ReindexStep.reindexCompleted, @@ -161,10 +187,11 @@ describe('Reindex deprecation flyout', () => { }, warnings: [], hasRequiredPrivileges: true, + meta: defaultReindexStatusMeta, }); await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(httpSetup, { isReadOnlyMode: false }); }); testBed.component.update(); @@ -172,12 +199,12 @@ describe('Reindex deprecation flyout', () => { await actions.table.clickDeprecationRowAt('reindex', 0); - expect(find('reindexChecklistTitle').text()).toEqual('Reindexing in progress… 95%'); + expect(find('reindexChecklistTitle').text()).toEqual('Reindexing in progress… 90%'); expect(exists('cancelReindexingDocumentsButton')).toBe(false); }); it('has completed', async () => { - httpRequestsMockHelpers.setReindexStatusResponse({ + httpRequestsMockHelpers.setReindexStatusResponse(MOCK_REINDEX_DEPRECATION.index!, { reindexOp: { status: ReindexStatus.completed, lastCompletedStep: ReindexStep.aliasCreated, @@ -185,19 +212,58 @@ describe('Reindex deprecation flyout', () => { }, warnings: [], hasRequiredPrivileges: true, + meta: defaultReindexStatusMeta, }); await act(async () => { - testBed = await setupElasticsearchPage({ isReadOnlyMode: false }); + testBed = await setupElasticsearchPage(httpSetup, { isReadOnlyMode: false }); }); - testBed.component.update(); - const { actions, find, exists } = testBed; + const { actions, find, exists, component } = testBed; + component.update(); await actions.table.clickDeprecationRowAt('reindex', 0); - expect(find('reindexChecklistTitle').text()).toEqual('Reindexing process'); + expect(find('reindexChecklistTitle').text()).toEqual('Reindexing in progress… 95%'); expect(exists('cancelReindexingDocumentsButton')).toBe(false); + + // We have put in place a "fake" fifth step to delete the original index + // In reality that was done in the last step (when the alias was created), + // but for the user we will display it as a separate reindex step + await act(async () => { + jest.advanceTimersByTime(1000); + }); + component.update(); + + expect(find('reindexChecklistTitle').text()).toEqual('Reindexing process'); + }); + }); + + describe('low disk space', () => { + it('renders a warning callout if nodes detected with low disk space', async () => { + httpRequestsMockHelpers.setLoadNodeDiskSpaceResponse([ + { + nodeId: '9OFkjpAKS_aPzJAuEOSg7w', + nodeName: 'MacBook-Pro.local', + available: '25%', + lowDiskWatermarkSetting: '50%', + }, + ]); + + await act(async () => { + testBed = await setupElasticsearchPage(httpSetup, { isReadOnlyMode: false }); + }); + + testBed.component.update(); + const { actions, find } = testBed; + + await actions.table.clickDeprecationRowAt('reindex', 0); + + expect(find('lowDiskSpaceCallout').text()).toContain('Nodes with low disk space'); + expect(find('impactedNodeListItem').length).toEqual(1); + expect(find('impactedNodeListItem').at(0).text()).toContain( + 'MacBook-Pro.local (25% available)' + ); }); }); }); diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/helpers/app_context.mock.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/helpers/app_context.mock.ts index 3fa6be18a9b31..3ceadecb208df 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/helpers/app_context.mock.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/helpers/app_context.mock.ts @@ -22,10 +22,29 @@ import { breadcrumbService } from '../../../public/application/lib/breadcrumbs'; import { dataPluginMock } from '../../../../../../src/plugins/data/public/mocks'; import { cloudMock } from '../../../../../../x-pack/plugins/cloud/public/mocks'; +const data = dataPluginMock.createStartContract(); +const dataViews = { ...data.dataViews }; +const findDataView = (id: string) => + Promise.resolve([ + { + id, + title: id, + getFieldByName: jest.fn((name: string) => ({ + name, + })), + }, + ]); + const servicesMock = { api: apiService, breadcrumbs: breadcrumbService, - data: dataPluginMock.createStartContract(), + data: { + ...data, + dataViews: { + ...dataViews, + find: findDataView, + }, + }, }; // We'll mock these values to avoid testing the locators themselves. @@ -69,7 +88,14 @@ export const getAppContextMock = (kibanaVersion: SemVer) => ({ notifications: notificationServiceMock.createStartContract(), docLinks: docLinksServiceMock.createStartContract(), history: scopedHistoryMock.create(), - application: applicationServiceMock.createStartContract(), + application: { + ...applicationServiceMock.createStartContract(), + capabilities: { + spaces: { + manage: true, + }, + }, + }, }, }, plugins: { diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/helpers/http_requests.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/helpers/http_requests.ts index 7903ca58ac18a..2be2707c7abaf 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/helpers/http_requests.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/helpers/http_requests.ts @@ -5,7 +5,7 @@ * 2.0. */ -import sinon, { SinonFakeServer } from 'sinon'; +import { httpServiceMock } from '../../../../../../src/core/public/mocks'; import { API_BASE_PATH } from '../../../common/constants'; import { @@ -15,182 +15,138 @@ import { ResponseError, } from '../../../common/types'; +type HttpMethod = 'GET' | 'PUT' | 'DELETE' | 'POST'; + // Register helpers to mock HTTP Requests -const registerHttpRequestMockHelpers = (server: SinonFakeServer) => { - const setLoadCloudBackupStatusResponse = ( - response?: CloudBackupStatus, - error?: ResponseError - ) => { - const status = error ? error.statusCode || 400 : 200; - const body = error ? error : response; - - server.respondWith('GET', `${API_BASE_PATH}/cloud_backup_status`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); +const registerHttpRequestMockHelpers = ( + httpSetup: ReturnType, + shouldDelayResponse: () => boolean +) => { + const mockResponses = new Map>>( + ['GET', 'PUT', 'DELETE', 'POST'].map( + (method) => [method, new Map()] as [HttpMethod, Map>] + ) + ); + + const mockMethodImplementation = (method: HttpMethod, path: string) => { + const responsePromise = mockResponses.get(method)?.get(path) ?? Promise.resolve({}); + if (shouldDelayResponse()) { + return new Promise((resolve) => { + setTimeout(() => resolve(responsePromise), 1000); + }); + } + + return responsePromise; }; - const setLoadEsDeprecationsResponse = (response?: ESUpgradeStatus, error?: ResponseError) => { - const status = error ? error.statusCode || 400 : 200; - const body = error ? error : response; + httpSetup.get.mockImplementation((path) => + mockMethodImplementation('GET', path as unknown as string) + ); + httpSetup.delete.mockImplementation((path) => + mockMethodImplementation('DELETE', path as unknown as string) + ); + httpSetup.post.mockImplementation((path) => + mockMethodImplementation('POST', path as unknown as string) + ); + httpSetup.put.mockImplementation((path) => + mockMethodImplementation('PUT', path as unknown as string) + ); - server.respondWith('GET', `${API_BASE_PATH}/es_deprecations`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); + const mockResponse = (method: HttpMethod, path: string, response?: unknown, error?: unknown) => { + const defuse = (promise: Promise) => { + promise.catch(() => {}); + return promise; + }; + + return mockResponses + .get(method)! + .set(path, error ? defuse(Promise.reject({ body: error })) : Promise.resolve(response)); }; + const setLoadCloudBackupStatusResponse = (response?: CloudBackupStatus, error?: ResponseError) => + mockResponse('GET', `${API_BASE_PATH}/cloud_backup_status`, response, error); + + const setLoadEsDeprecationsResponse = (response?: ESUpgradeStatus, error?: ResponseError) => + mockResponse('GET', `${API_BASE_PATH}/es_deprecations`, response, error); + const setLoadDeprecationLoggingResponse = ( response?: DeprecationLoggingStatus, error?: ResponseError - ) => { - const status = error ? error.statusCode || 400 : 200; - const body = error ? error : response; - - server.respondWith('GET', `${API_BASE_PATH}/deprecation_logging`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; + ) => mockResponse('GET', `${API_BASE_PATH}/deprecation_logging`, response, error); const setLoadDeprecationLogsCountResponse = ( response?: { count: number }, error?: ResponseError - ) => { - const status = error ? error.statusCode || 400 : 200; - const body = error ? error : response; - - server.respondWith('GET', `${API_BASE_PATH}/deprecation_logging/count`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; + ) => mockResponse('GET', `${API_BASE_PATH}/deprecation_logging/count`, response, error); - const setDeleteLogsCacheResponse = (response?: string, error?: ResponseError) => { - const status = error ? error.statusCode || 400 : 200; - const body = error ? error : response; - server.respondWith('DELETE', `${API_BASE_PATH}/deprecation_logging/cache`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; + const setDeleteLogsCacheResponse = (response?: string, error?: ResponseError) => + mockResponse('DELETE', `${API_BASE_PATH}/deprecation_logging/cache`, response, error); const setUpdateDeprecationLoggingResponse = ( response?: DeprecationLoggingStatus, error?: ResponseError - ) => { - const status = error ? error.statusCode || 400 : 200; - const body = error ? error : response; - - server.respondWith('PUT', `${API_BASE_PATH}/deprecation_logging`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; - - const setUpdateIndexSettingsResponse = (response?: object, error?: ResponseError) => { - const status = error ? error.statusCode || 400 : 200; - const body = error ? error : response; - server.respondWith('POST', `${API_BASE_PATH}/:indexName/index_settings`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; - - const setUpgradeMlSnapshotResponse = (response?: object, error?: ResponseError) => { - const status = error ? error.statusCode || 400 : 200; - const body = error ? error : response; - - server.respondWith('POST', `${API_BASE_PATH}/ml_snapshots`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; + ) => mockResponse('PUT', `${API_BASE_PATH}/deprecation_logging`, response, error); - const setUpgradeMlSnapshotStatusResponse = (response?: object, error?: ResponseError) => { - const status = error ? error.statusCode || 400 : 200; - const body = error ? error : response; - - server.respondWith('GET', `${API_BASE_PATH}/ml_snapshots/:jobId/:snapshotId`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; - - const setReindexStatusResponse = (response?: object, error?: ResponseError) => { - const status = error ? error.statusCode || 400 : 200; - const body = error ? error : response; + const setUpdateIndexSettingsResponse = ( + indexName: string, + response?: object, + error?: ResponseError + ) => mockResponse('POST', `${API_BASE_PATH}/${indexName}/index_settings`, response, error); - server.respondWith('GET', `${API_BASE_PATH}/reindex/:indexName`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; + const setUpgradeMlSnapshotResponse = (response?: object, error?: ResponseError) => + mockResponse('POST', `${API_BASE_PATH}/ml_snapshots`, response, error); - const setStartReindexingResponse = (response?: object, error?: ResponseError) => { - const status = error ? error.statusCode || 400 : 200; - const body = error ? error : response; + const setUpgradeMlSnapshotStatusResponse = ( + response?: Record, + error?: ResponseError + ) => + mockResponse( + 'GET', + `${API_BASE_PATH}/ml_snapshots/${response?.jobId}/${response?.snapshotId}`, + response, + error + ); + + const setReindexStatusResponse = ( + indexName: string, + response?: Record, + error?: ResponseError + ) => mockResponse('GET', `${API_BASE_PATH}/reindex/${indexName}`, response, error); - server.respondWith('POST', `${API_BASE_PATH}/reindex/:indexName`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; + const setStartReindexingResponse = ( + indexName: string, + response?: object, + error?: ResponseError + ) => mockResponse('POST', `${API_BASE_PATH}/reindex/${indexName}`, response, error); - const setDeleteMlSnapshotResponse = (response?: object, error?: ResponseError) => { - const status = error ? error.statusCode || 400 : 200; - const body = error ? error : response; + const setDeleteMlSnapshotResponse = ( + jobId: string, + snapshotId: string, + response?: object, + error?: ResponseError + ) => + mockResponse('DELETE', `${API_BASE_PATH}/ml_snapshots/${jobId}/${snapshotId}`, response, error); - server.respondWith('DELETE', `${API_BASE_PATH}/ml_snapshots/:jobId/:snapshotId`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; + const setLoadSystemIndicesMigrationStatus = (response?: object, error?: ResponseError) => + mockResponse('GET', `${API_BASE_PATH}/system_indices_migration`, response, error); - const setLoadSystemIndicesMigrationStatus = (response?: object, error?: ResponseError) => { - const status = error ? error.statusCode || 400 : 200; - const body = error ? error : response; + const setLoadMlUpgradeModeResponse = (response?: object, error?: ResponseError) => + mockResponse('GET', `${API_BASE_PATH}/ml_upgrade_mode`, response, error); - server.respondWith('GET', `${API_BASE_PATH}/system_indices_migration`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; + const setSystemIndicesMigrationResponse = (response?: object, error?: ResponseError) => + mockResponse('POST', `${API_BASE_PATH}/system_indices_migration`, response, error); - const setLoadMlUpgradeModeResponse = (response?: object, error?: ResponseError) => { - const status = error ? error.statusCode || 400 : 200; - const body = error ? error : response; + const setGetUpgradeStatusResponse = (response?: object, error?: ResponseError) => + mockResponse('GET', `${API_BASE_PATH}/status`, response, error); - server.respondWith('GET', `${API_BASE_PATH}/ml_upgrade_mode`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; + const setLoadRemoteClustersResponse = (response?: object, error?: ResponseError) => + mockResponse('GET', `${API_BASE_PATH}/remote_clusters`, response, error); - const setSystemIndicesMigrationResponse = (response?: object, error?: ResponseError) => { - const status = error ? error.statusCode || 400 : 200; - const body = error ? error : response; + const setLoadNodeDiskSpaceResponse = (response?: object, error?: ResponseError) => + mockResponse('GET', `${API_BASE_PATH}/node_disk_space`, response, error); - server.respondWith('POST', `${API_BASE_PATH}/system_indices_migration`, [ - status, - { 'Content-Type': 'application/json' }, - JSON.stringify(body), - ]); - }; + const setClusterSettingsResponse = (response?: object, error?: ResponseError) => + mockResponse('POST', `${API_BASE_PATH}/cluster_settings`, response, error); return { setLoadCloudBackupStatusResponse, @@ -208,33 +164,26 @@ const registerHttpRequestMockHelpers = (server: SinonFakeServer) => { setStartReindexingResponse, setReindexStatusResponse, setLoadMlUpgradeModeResponse, + setGetUpgradeStatusResponse, + setLoadRemoteClustersResponse, + setLoadNodeDiskSpaceResponse, + setClusterSettingsResponse, }; }; export const init = () => { - const server = sinon.fakeServer.create(); - server.respondImmediately = true; - - // Define default response for unhandled requests. - // We make requests to APIs which don't impact the component under test, e.g. UI metric telemetry, - // and we can mock them all with a 200 instead of mocking each one individually. - server.respondWith([200, {}, 'DefaultMockedResponse']); - - const httpRequestsMockHelpers = registerHttpRequestMockHelpers(server); - - const setServerAsync = (isAsync: boolean, timeout: number = 200) => { - if (isAsync) { - server.autoRespond = true; - server.autoRespondAfter = 1000; - server.respondImmediately = false; - } else { - server.respondImmediately = true; - } + let isResponseDelayed = false; + const getDelayResponse = () => isResponseDelayed; + const setDelayResponse = (shouldDelayResponse: boolean) => { + isResponseDelayed = shouldDelayResponse; }; + const httpSetup = httpServiceMock.createSetupContract(); + const httpRequestsMockHelpers = registerHttpRequestMockHelpers(httpSetup, getDelayResponse); + return { - server, - setServerAsync, + setDelayResponse, + httpSetup, httpRequestsMockHelpers, }; }; diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/helpers/index.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/helpers/index.ts index f70bfd00e9c07..4ae44f0027069 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/helpers/index.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/helpers/index.ts @@ -7,3 +7,4 @@ export { setupEnvironment, WithAppDependencies, kibanaVersion } from './setup_environment'; export { advanceTime } from './time_manipulation'; +export { getAppContextMock } from './app_context.mock'; diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/helpers/setup_environment.tsx b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/helpers/setup_environment.tsx index d360f99606251..92de5e5079920 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/helpers/setup_environment.tsx +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/helpers/setup_environment.tsx @@ -6,11 +6,8 @@ */ import React from 'react'; -import axios from 'axios'; import SemVer from 'semver/classes/semver'; import { merge } from 'lodash'; -// @ts-ignore -import axiosXhrAdapter from 'axios/lib/adapters/xhr'; import { HttpSetup } from 'src/core/public'; @@ -26,8 +23,6 @@ import { init as initHttpRequests } from './http_requests'; const { GlobalFlyoutProvider } = GlobalFlyout; -const mockHttpClient = axios.create({ adapter: axiosXhrAdapter }); - const createAuthorizationContextValue = (privileges: Privileges) => { return { isLoading: false, @@ -38,9 +33,9 @@ const createAuthorizationContextValue = (privileges: Privileges) => { export const kibanaVersion = new SemVer(MAJOR_VERSION); export const WithAppDependencies = - (Comp: any, { privileges, ...overrides }: Record = {}) => + (Comp: any, httpSetup: HttpSetup, { privileges, ...overrides }: Record = {}) => (props: Record) => { - apiService.setup(mockHttpClient as unknown as HttpSetup); + apiService.setup(httpSetup); breadcrumbService.setup(() => ''); const appContextMock = getAppContextMock(kibanaVersion) as unknown as AppDependencies; @@ -59,11 +54,5 @@ export const WithAppDependencies = }; export const setupEnvironment = () => { - const { server, setServerAsync, httpRequestsMockHelpers } = initHttpRequests(); - - return { - server, - setServerAsync, - httpRequestsMockHelpers, - }; + return initHttpRequests(); }; diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/deprecation_details_flyout/deprecation_details_flyout.test.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/deprecation_details_flyout/deprecation_details_flyout.test.ts index 9677104a6e558..e235bdc6f4543 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/deprecation_details_flyout/deprecation_details_flyout.test.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/deprecation_details_flyout/deprecation_details_flyout.test.ts @@ -14,21 +14,15 @@ import { KibanaTestBed, setupKibanaPage } from '../kibana_deprecations.helpers'; describe('Kibana deprecations - Deprecation details flyout', () => { let testBed: KibanaTestBed; - const { server } = setupEnvironment(); const { defaultMockedResponses: { mockedKibanaDeprecations }, } = kibanaDeprecationsServiceHelpers; const deprecationService = deprecationsServiceMock.createStartContract(); - - afterAll(() => { - server.restore(); - }); - beforeEach(async () => { await act(async () => { kibanaDeprecationsServiceHelpers.setLoadDeprecations({ deprecationService }); - testBed = await setupKibanaPage({ + testBed = await setupKibanaPage(setupEnvironment().httpSetup, { services: { core: { deprecations: deprecationService, diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/deprecations_table/deprecations_table.test.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/deprecations_table/deprecations_table.test.ts index a14d6e087b017..6e63d150c09f8 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/deprecations_table/deprecations_table.test.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/deprecations_table/deprecations_table.test.ts @@ -17,7 +17,6 @@ describe('Kibana deprecations - Deprecations table', () => { let testBed: KibanaTestBed; let deprecationService: jest.Mocked; - const { server } = setupEnvironment(); const { mockedKibanaDeprecations, mockedCriticalKibanaDeprecations, @@ -25,17 +24,16 @@ describe('Kibana deprecations - Deprecations table', () => { mockedConfigKibanaDeprecations, } = kibanaDeprecationsServiceHelpers.defaultMockedResponses; - afterAll(() => { - server.restore(); - }); - + let httpSetup: ReturnType['httpSetup']; beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpSetup = mockEnvironment.httpSetup; deprecationService = deprecationsServiceMock.createStartContract(); await act(async () => { kibanaDeprecationsServiceHelpers.setLoadDeprecations({ deprecationService }); - testBed = await setupKibanaPage({ + testBed = await setupKibanaPage(httpSetup, { services: { core: { deprecations: deprecationService, @@ -108,7 +106,7 @@ describe('Kibana deprecations - Deprecations table', () => { describe('No deprecations', () => { beforeEach(async () => { await act(async () => { - testBed = await setupKibanaPage({ isReadOnlyMode: false }); + testBed = await setupKibanaPage(httpSetup, { isReadOnlyMode: false }); }); const { component } = testBed; diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/deprecations_table/error_handling.test.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/deprecations_table/error_handling.test.ts index 918ee759a0f45..13616286552ef 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/deprecations_table/error_handling.test.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/deprecations_table/error_handling.test.ts @@ -14,11 +14,12 @@ import { KibanaTestBed, setupKibanaPage } from '../kibana_deprecations.helpers'; describe('Kibana deprecations - Deprecations table - Error handling', () => { let testBed: KibanaTestBed; - const { server } = setupEnvironment(); const deprecationService = deprecationsServiceMock.createStartContract(); - afterAll(() => { - server.restore(); + let httpSetup: ReturnType['httpSetup']; + beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpSetup = mockEnvironment.httpSetup; }); test('handles plugin errors', async () => { @@ -57,7 +58,7 @@ describe('Kibana deprecations - Deprecations table - Error handling', () => { ], }); - testBed = await setupKibanaPage({ + testBed = await setupKibanaPage(httpSetup, { services: { core: { deprecations: deprecationService, @@ -83,7 +84,7 @@ describe('Kibana deprecations - Deprecations table - Error handling', () => { mockRequestErrorMessage: 'Internal Server Error', }); - testBed = await setupKibanaPage({ + testBed = await setupKibanaPage(httpSetup, { services: { core: { deprecations: deprecationService, diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/kibana_deprecations.helpers.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/kibana_deprecations.helpers.ts index 8d14a211786c4..1a7c50c543287 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/kibana_deprecations.helpers.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/kibana_deprecations.helpers.ts @@ -6,6 +6,7 @@ */ import { act } from 'react-dom/test-utils'; import { registerTestBed, TestBed, AsyncTestBedConfig, findTestSubject } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; import { KibanaDeprecations } from '../../../public/application/components'; import { WithAppDependencies } from '../helpers'; @@ -112,10 +113,11 @@ const createActions = (testBed: TestBed) => { }; export const setupKibanaPage = async ( + httpSetup: HttpSetup, overrides?: Record ): Promise => { const initTestBed = registerTestBed( - WithAppDependencies(KibanaDeprecations, overrides), + WithAppDependencies(KibanaDeprecations, httpSetup, overrides), testBedConfig ); const testBed = await initTestBed(); diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/backup_step/backup_step.test.tsx b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/backup_step/backup_step.test.tsx index 4cd4bf3f76629..688e060705ee4 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/backup_step/backup_step.test.tsx +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/backup_step/backup_step.test.tsx @@ -14,21 +14,19 @@ import { OverviewTestBed, setupOverviewPage } from '../overview.helpers'; describe('Overview - Backup Step', () => { let testBed: OverviewTestBed; - let server: ReturnType['server']; - let setServerAsync: ReturnType['setServerAsync']; let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; - - beforeEach(() => { - ({ server, setServerAsync, httpRequestsMockHelpers } = setupEnvironment()); - }); - - afterEach(() => { - server.restore(); + let httpSetup: ReturnType['httpSetup']; + let setDelayResponse: ReturnType['setDelayResponse']; + beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; + setDelayResponse = mockEnvironment.setDelayResponse; }); describe('On-prem', () => { beforeEach(async () => { - testBed = await setupOverviewPage(); + testBed = await setupOverviewPage(httpSetup); }); test('Shows link to Snapshot and Restore', () => { @@ -45,7 +43,7 @@ describe('Overview - Backup Step', () => { describe('On Cloud', () => { const setupCloudOverviewPage = async () => - setupOverviewPage({ + setupOverviewPage(httpSetup, { plugins: { cloud: { isCloudEnabled: true, @@ -57,14 +55,10 @@ describe('Overview - Backup Step', () => { describe('initial loading state', () => { beforeEach(async () => { // We don't want the request to load backup status to resolve immediately. - setServerAsync(true); + setDelayResponse(true); testBed = await setupCloudOverviewPage(); }); - afterEach(() => { - setServerAsync(false); - }); - test('is rendered', () => { const { exists } = testBed; expect(exists('cloudBackupLoading')).toBe(true); diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/fix_issues_step/elasticsearch_deprecation_issues.test.tsx b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/fix_issues_step/elasticsearch_deprecation_issues.test.tsx index e1cef64dfb20c..8671b136844ed 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/fix_issues_step/elasticsearch_deprecation_issues.test.tsx +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/fix_issues_step/elasticsearch_deprecation_issues.test.tsx @@ -19,10 +19,12 @@ import { describe('Overview - Fix deprecation issues step - Elasticsearch deprecations', () => { let testBed: OverviewTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); - - afterAll(() => { - server.restore(); + let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; + let httpSetup: ReturnType['httpSetup']; + beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; }); describe('When load succeeds', () => { @@ -32,7 +34,7 @@ describe('Overview - Fix deprecation issues step - Elasticsearch deprecations', const deprecationService = deprecationsServiceMock.createStartContract(); kibanaDeprecationsServiceHelpers.setLoadDeprecations({ deprecationService, response: [] }); - testBed = await setupOverviewPage({ + testBed = await setupOverviewPage(httpSetup, { services: { core: { deprecations: deprecationService, @@ -116,7 +118,7 @@ describe('Overview - Fix deprecation issues step - Elasticsearch deprecations', httpRequestsMockHelpers.setLoadEsDeprecationsResponse(undefined, error); await act(async () => { - testBed = await setupOverviewPage(); + testBed = await setupOverviewPage(httpSetup); }); const { component, find } = testBed; @@ -136,7 +138,7 @@ describe('Overview - Fix deprecation issues step - Elasticsearch deprecations', httpRequestsMockHelpers.setLoadEsDeprecationsResponse(undefined, error); await act(async () => { - testBed = await setupOverviewPage(); + testBed = await setupOverviewPage(httpSetup); }); const { component, find } = testBed; @@ -159,7 +161,7 @@ describe('Overview - Fix deprecation issues step - Elasticsearch deprecations', httpRequestsMockHelpers.setLoadEsDeprecationsResponse(undefined, error); await act(async () => { - testBed = await setupOverviewPage({ isReadOnlyMode: false }); + testBed = await setupOverviewPage(httpSetup, { isReadOnlyMode: false }); }); const { component, find } = testBed; @@ -182,7 +184,7 @@ describe('Overview - Fix deprecation issues step - Elasticsearch deprecations', httpRequestsMockHelpers.setLoadEsDeprecationsResponse(undefined, error); await act(async () => { - testBed = await setupOverviewPage({ isReadOnlyMode: false }); + testBed = await setupOverviewPage(httpSetup, { isReadOnlyMode: false }); }); const { component, find } = testBed; diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/fix_issues_step/fix_issues_step.test.tsx b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/fix_issues_step/fix_issues_step.test.tsx index b7c417fbfcb8d..cc2cec97cc702 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/fix_issues_step/fix_issues_step.test.tsx +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/fix_issues_step/fix_issues_step.test.tsx @@ -15,10 +15,12 @@ import { esCriticalAndWarningDeprecations, esNoDeprecations } from './mock_es_is describe('Overview - Fix deprecation issues step', () => { let testBed: OverviewTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); - - afterAll(() => { - server.restore(); + let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; + let httpSetup: ReturnType['httpSetup']; + beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; }); describe('when there are critical issues in one panel', () => { @@ -29,7 +31,7 @@ describe('Overview - Fix deprecation issues step', () => { const deprecationService = deprecationsServiceMock.createStartContract(); kibanaDeprecationsServiceHelpers.setLoadDeprecations({ deprecationService, response: [] }); - testBed = await setupOverviewPage({ + testBed = await setupOverviewPage(httpSetup, { services: { core: { deprecations: deprecationService, @@ -55,7 +57,7 @@ describe('Overview - Fix deprecation issues step', () => { const deprecationService = deprecationsServiceMock.createStartContract(); kibanaDeprecationsServiceHelpers.setLoadDeprecations({ deprecationService, response: [] }); - testBed = await setupOverviewPage({ + testBed = await setupOverviewPage(httpSetup, { services: { core: { deprecations: deprecationService, diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/fix_issues_step/kibana_deprecation_issues.test.tsx b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/fix_issues_step/kibana_deprecation_issues.test.tsx index c11a1481b68b5..f060a38440ec1 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/fix_issues_step/kibana_deprecation_issues.test.tsx +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/fix_issues_step/kibana_deprecation_issues.test.tsx @@ -16,12 +16,14 @@ import { esNoDeprecations } from './mock_es_issues'; describe('Overview - Fix deprecation issues step - Kibana deprecations', () => { let testBed: OverviewTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); const { mockedKibanaDeprecations, mockedCriticalKibanaDeprecations } = kibanaDeprecationsServiceHelpers.defaultMockedResponses; - - afterAll(() => { - server.restore(); + let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; + let httpSetup: ReturnType['httpSetup']; + beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; }); describe('When load succeeds', () => { @@ -33,7 +35,7 @@ describe('Overview - Fix deprecation issues step - Kibana deprecations', () => { const deprecationService = deprecationsServiceMock.createStartContract(); kibanaDeprecationsServiceHelpers.setLoadDeprecations({ deprecationService, response }); - testBed = await setupOverviewPage({ + testBed = await setupOverviewPage(httpSetup, { services: { core: { deprecations: deprecationService, @@ -114,7 +116,7 @@ describe('Overview - Fix deprecation issues step - Kibana deprecations', () => { mockRequestErrorMessage: 'Internal Server Error', }); - testBed = await setupOverviewPage({ + testBed = await setupOverviewPage(httpSetup, { services: { core: { deprecations: deprecationService, diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/fix_issues_step/mock_es_issues.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/fix_issues_step/mock_es_issues.ts index 13505b47c5a7f..99c0f4892a4ef 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/fix_issues_step/mock_es_issues.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/fix_issues_step/mock_es_issues.ts @@ -23,11 +23,15 @@ export const esCriticalAndWarningDeprecations: ESUpgradeStatus = { isCritical: false, type: 'index_settings', resolveDuringUpgrade: false, - message: 'translog retention settings are ignored', - url: 'https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-translog.html', + message: 'Setting [index.routing.allocation.include._tier] is deprecated', + url: 'https://www.elastic.co/guide/en/elasticsearch/reference/7.16/migrating-7.13.html#deprecate-tier-filter-setting', details: - 'translog retention settings [index.translog.retention.size] and [index.translog.retention.age] are ignored because translog is no longer used in peer recoveries with soft-deletes enabled (default in 7.0 or later)', + 'Remove the [index.routing.allocation.include._tier] setting. Use [index.routing.allocation.include._tier_preference] to control allocation to data tiers.', index: 'settings', + correctiveAction: { + type: 'indexSetting', + deprecatedSettings: ['index.routing.allocation.include._tier'], + }, }, ], }; diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/logs_step/logs_step.test.tsx b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/logs_step/logs_step.test.tsx new file mode 100644 index 0000000000000..0a8c6cab48256 --- /dev/null +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/logs_step/logs_step.test.tsx @@ -0,0 +1,160 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { act } from 'react-dom/test-utils'; +import { DEPRECATION_LOGS_INDEX } from '../../../../common/constants'; +import { setupEnvironment } from '../../helpers'; +import { OverviewTestBed, setupOverviewPage } from '../overview.helpers'; + +describe('Overview - Logs Step', () => { + let testBed: OverviewTestBed; + let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; + let httpSetup: ReturnType['httpSetup']; + beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; + }); + + describe('error state', () => { + beforeEach(async () => { + const error = { + statusCode: 500, + error: 'Internal server error', + message: 'Internal server error', + }; + + httpRequestsMockHelpers.setLoadDeprecationLogsCountResponse(undefined, error); + + await act(async () => { + testBed = await setupOverviewPage(httpSetup); + }); + + testBed.component.update(); + }); + + test('is rendered', () => { + const { exists } = testBed; + expect(exists('deprecationLogsErrorCallout')).toBe(true); + expect(exists('deprecationLogsRetryButton')).toBe(true); + }); + }); + + describe('success state', () => { + describe('logging enabled', () => { + beforeEach(() => { + httpRequestsMockHelpers.setLoadDeprecationLoggingResponse({ + isDeprecationLogIndexingEnabled: true, + isDeprecationLoggingEnabled: true, + }); + }); + + test('renders step as complete when a user has 0 logs', async () => { + httpRequestsMockHelpers.setLoadDeprecationLogsCountResponse({ + count: 0, + }); + + await act(async () => { + testBed = await setupOverviewPage(httpSetup); + }); + + const { component, exists } = testBed; + + component.update(); + + expect(exists('logsStep-complete')).toBe(true); + }); + + test('renders step as incomplete when a user has >0 logs', async () => { + httpRequestsMockHelpers.setLoadDeprecationLogsCountResponse({ + count: 10, + }); + + await act(async () => { + testBed = await setupOverviewPage(httpSetup); + }); + + const { component, exists } = testBed; + + component.update(); + + expect(exists('logsStep-incomplete')).toBe(true); + }); + + test('renders deprecation issue count and button to view logs', async () => { + httpRequestsMockHelpers.setLoadDeprecationLogsCountResponse({ + count: 10, + }); + + await act(async () => { + testBed = await setupOverviewPage(httpSetup); + }); + + const { component, find } = testBed; + + component.update(); + + expect(find('logsCountDescription').text()).toContain('You have 10 deprecation issues'); + expect(find('viewLogsLink').text()).toContain('View logs'); + }); + }); + + describe('logging disabled', () => { + beforeEach(async () => { + httpRequestsMockHelpers.setLoadDeprecationLoggingResponse({ + isDeprecationLogIndexingEnabled: false, + isDeprecationLoggingEnabled: true, + }); + + await act(async () => { + testBed = await setupOverviewPage(httpSetup); + }); + + const { component } = testBed; + + component.update(); + }); + + test('renders button to enable logs', () => { + const { find, exists } = testBed; + + expect(exists('logsCountDescription')).toBe(false); + expect(find('enableLogsLink').text()).toContain('Enable logging'); + }); + }); + }); + + describe('privileges', () => { + beforeEach(async () => { + httpRequestsMockHelpers.setLoadDeprecationLoggingResponse({ + isDeprecationLogIndexingEnabled: true, + isDeprecationLoggingEnabled: true, + }); + + await act(async () => { + testBed = await setupOverviewPage(httpSetup, { + privileges: { + hasAllPrivileges: true, + missingPrivileges: { + index: [DEPRECATION_LOGS_INDEX], + }, + }, + }); + }); + + const { component } = testBed; + + component.update(); + }); + + test('warns the user of missing index privileges', () => { + const { exists } = testBed; + + expect(exists('missingPrivilegesCallout')).toBe(true); + }); + }); +}); diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/migrate_system_indices/__snapshots__/flyout.test.ts.snap b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/migrate_system_indices/__snapshots__/flyout.test.ts.snap new file mode 100644 index 0000000000000..2a512e8569d9f --- /dev/null +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/migrate_system_indices/__snapshots__/flyout.test.ts.snap @@ -0,0 +1,22 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Overview - Migrate system indices - Flyout shows correct features in flyout table 1`] = ` +Array [ + Array [ + "Security", + "Migration failed", + ], + Array [ + "Machine Learning", + "Migration in progress", + ], + Array [ + "Kibana", + "Migration required", + ], + Array [ + "Logstash", + "Migration complete", + ], +] +`; diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/migrate_system_indices/flyout.test.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/migrate_system_indices/flyout.test.ts index da29c23eeaf80..2d2e917555b74 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/migrate_system_indices/flyout.test.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/migrate_system_indices/flyout.test.ts @@ -8,39 +8,35 @@ import { act } from 'react-dom/test-utils'; import { OverviewTestBed, setupOverviewPage } from '../overview.helpers'; -import { setupEnvironment, kibanaVersion } from '../../helpers'; +import { setupEnvironment } from '../../helpers'; import { systemIndicesMigrationStatus } from './mocks'; -if (kibanaVersion.major >= 8 || kibanaVersion.minor > 16) { - describe('Overview - Migrate system indices - Flyout', () => { - let testBed: OverviewTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); +describe('Overview - Migrate system indices - Flyout', () => { + let testBed: OverviewTestBed; + let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; + let httpSetup: ReturnType['httpSetup']; + beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; - beforeEach(async () => { - httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus(systemIndicesMigrationStatus); + httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus(systemIndicesMigrationStatus); - await act(async () => { - testBed = await setupOverviewPage(); - }); - - testBed.component.update(); + await act(async () => { + testBed = await setupOverviewPage(httpSetup); }); - afterAll(() => { - server.restore(); - }); + testBed.component.update(); + }); - test('shows correct features in flyout table', async () => { - const { actions, table } = testBed; + test('shows correct features in flyout table', async () => { + const { actions, table } = testBed; - await actions.clickViewSystemIndicesState(); + await actions.clickViewSystemIndicesState(); - const { tableCellsValues } = table.getMetaData('flyoutDetails'); + const { tableCellsValues } = table.getMetaData('flyoutDetails'); - expect(tableCellsValues.length).toBe(systemIndicesMigrationStatus.features.length); - expect(tableCellsValues).toMatchSnapshot(); - }); + expect(tableCellsValues.length).toBe(systemIndicesMigrationStatus.features.length); + expect(tableCellsValues).toMatchSnapshot(); }); -} else { - test(`System indices migration is disabled for ${kibanaVersion.version}`, () => undefined); -} +}); diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/migrate_system_indices/migrate_system_indices.test.tsx b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/migrate_system_indices/migrate_system_indices.test.tsx index ded758fb1da55..ae3e184f9c96b 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/migrate_system_indices/migrate_system_indices.test.tsx +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/migrate_system_indices/migrate_system_indices.test.tsx @@ -7,165 +7,161 @@ import { act } from 'react-dom/test-utils'; -import { setupEnvironment, kibanaVersion } from '../../helpers'; +import { setupEnvironment } from '../../helpers'; import { OverviewTestBed, setupOverviewPage } from '../overview.helpers'; -if (kibanaVersion.major >= 8 || kibanaVersion.minor > 16) { - describe('Overview - Migrate system indices', () => { - let testBed: OverviewTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); +describe('Overview - Migrate system indices', () => { + let testBed: OverviewTestBed; + let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; + let httpSetup: ReturnType['httpSetup']; + beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; + + testBed = await setupOverviewPage(httpSetup); + testBed.component.update(); + }); + describe('Error state', () => { beforeEach(async () => { - testBed = await setupOverviewPage(); - testBed.component.update(); - }); + httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus(undefined, { + statusCode: 400, + message: 'error', + }); - afterAll(() => { - server.restore(); + testBed = await setupOverviewPage(httpSetup); }); - describe('Error state', () => { - beforeEach(async () => { - httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus(undefined, { - statusCode: 400, - message: 'error', - }); + test('Is rendered', () => { + const { exists, component } = testBed; + component.update(); - testBed = await setupOverviewPage(); - }); + expect(exists('systemIndicesStatusErrorCallout')).toBe(true); + }); - test('Is rendered', () => { - const { exists, component } = testBed; - component.update(); + test('Lets the user attempt to reload migration status', async () => { + const { exists, component, actions } = testBed; + component.update(); - expect(exists('systemIndicesStatusErrorCallout')).toBe(true); + httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ + migration_status: 'NO_MIGRATION_NEEDED', }); - test('Lets the user attempt to reload migration status', async () => { - const { exists, component, actions } = testBed; - component.update(); - - httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ - migration_status: 'NO_MIGRATION_NEEDED', - }); + await actions.clickRetrySystemIndicesButton(); - await actions.clickRetrySystemIndicesButton(); + expect(exists('noMigrationNeededSection')).toBe(true); + }); + }); - expect(exists('noMigrationNeededSection')).toBe(true); - }); + test('No migration needed', async () => { + httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ + migration_status: 'NO_MIGRATION_NEEDED', }); - test('No migration needed', async () => { - httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ - migration_status: 'NO_MIGRATION_NEEDED', - }); + testBed = await setupOverviewPage(httpSetup); - testBed = await setupOverviewPage(); + const { exists, component } = testBed; - const { exists, component } = testBed; + component.update(); - component.update(); + expect(exists('noMigrationNeededSection')).toBe(true); + expect(exists('startSystemIndicesMigrationButton')).toBe(false); + expect(exists('viewSystemIndicesStateButton')).toBe(false); + }); - expect(exists('noMigrationNeededSection')).toBe(true); - expect(exists('startSystemIndicesMigrationButton')).toBe(false); - expect(exists('viewSystemIndicesStateButton')).toBe(false); + test('Migration in progress', async () => { + httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ + migration_status: 'IN_PROGRESS', }); - test('Migration in progress', async () => { + testBed = await setupOverviewPage(httpSetup); + + const { exists, component, find } = testBed; + + component.update(); + + // Start migration is disabled + expect(exists('startSystemIndicesMigrationButton')).toBe(true); + expect(find('startSystemIndicesMigrationButton').props().disabled).toBe(true); + // But we keep view system indices CTA + expect(exists('viewSystemIndicesStateButton')).toBe(true); + }); + + describe('Migration needed', () => { + test('Initial state', async () => { httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ - migration_status: 'IN_PROGRESS', + migration_status: 'MIGRATION_NEEDED', }); - testBed = await setupOverviewPage(); + testBed = await setupOverviewPage(httpSetup); const { exists, component, find } = testBed; component.update(); - // Start migration is disabled + // Start migration should be enabled expect(exists('startSystemIndicesMigrationButton')).toBe(true); - expect(find('startSystemIndicesMigrationButton').props().disabled).toBe(true); - // But we keep view system indices CTA + expect(find('startSystemIndicesMigrationButton').props().disabled).toBe(false); + // Same for view system indices status expect(exists('viewSystemIndicesStateButton')).toBe(true); }); - describe('Migration needed', () => { - test('Initial state', async () => { - httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ - migration_status: 'MIGRATION_NEEDED', - }); - - testBed = await setupOverviewPage(); - - const { exists, component, find } = testBed; - - component.update(); - - // Start migration should be enabled - expect(exists('startSystemIndicesMigrationButton')).toBe(true); - expect(find('startSystemIndicesMigrationButton').props().disabled).toBe(false); - // Same for view system indices status - expect(exists('viewSystemIndicesStateButton')).toBe(true); + test('Handles errors when migrating', async () => { + httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ + migration_status: 'MIGRATION_NEEDED', + }); + httpRequestsMockHelpers.setSystemIndicesMigrationResponse(undefined, { + statusCode: 400, + message: 'error', }); - test('Handles errors when migrating', async () => { - httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ - migration_status: 'MIGRATION_NEEDED', - }); - httpRequestsMockHelpers.setSystemIndicesMigrationResponse(undefined, { - statusCode: 400, - message: 'error', - }); - - testBed = await setupOverviewPage(); + testBed = await setupOverviewPage(httpSetup); - const { exists, component, find } = testBed; + const { exists, component, find } = testBed; - await act(async () => { - find('startSystemIndicesMigrationButton').simulate('click'); - }); + await act(async () => { + find('startSystemIndicesMigrationButton').simulate('click'); + }); - component.update(); + component.update(); - // Error is displayed - expect(exists('startSystemIndicesMigrationCalloutError')).toBe(true); - // CTA is enabled - expect(exists('startSystemIndicesMigrationButton')).toBe(true); - expect(find('startSystemIndicesMigrationButton').props().disabled).toBe(false); - }); + // Error is displayed + expect(exists('startSystemIndicesMigrationCalloutError')).toBe(true); + // CTA is enabled + expect(exists('startSystemIndicesMigrationButton')).toBe(true); + expect(find('startSystemIndicesMigrationButton').props().disabled).toBe(false); + }); - test('Handles errors from migration', async () => { - httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ - migration_status: 'ERROR', - features: [ - { - feature_name: 'kibana', - indices: [ - { - index: '.kibana', - migration_status: 'ERROR', - failure_cause: { - error: { - type: 'mapper_parsing_exception', - }, + test('Handles errors from migration', async () => { + httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ + migration_status: 'ERROR', + features: [ + { + feature_name: 'kibana', + indices: [ + { + index: '.kibana', + migration_status: 'ERROR', + failure_cause: { + error: { + type: 'mapper_parsing_exception', }, }, - ], - }, - ], - }); + }, + ], + }, + ], + }); - testBed = await setupOverviewPage(); + testBed = await setupOverviewPage(httpSetup); - const { exists } = testBed; + const { exists } = testBed; - // Error is displayed - expect(exists('migrationFailedCallout')).toBe(true); - // CTA is enabled - expect(exists('startSystemIndicesMigrationButton')).toBe(true); - }); + // Error is displayed + expect(exists('migrationFailedCallout')).toBe(true); + // CTA is enabled + expect(exists('startSystemIndicesMigrationButton')).toBe(true); }); }); -} else { - test(`System indices migration is disabled for ${kibanaVersion.version}`, () => undefined); -} +}); diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/migrate_system_indices/step_completion.test.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/migrate_system_indices/step_completion.test.ts index c1821dd937117..cbece74355d6d 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/migrate_system_indices/step_completion.test.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/migrate_system_indices/step_completion.test.ts @@ -8,83 +8,81 @@ import { act } from 'react-dom/test-utils'; import { OverviewTestBed, setupOverviewPage } from '../overview.helpers'; -import { setupEnvironment, advanceTime, kibanaVersion } from '../../helpers'; +import { setupEnvironment, advanceTime } from '../../helpers'; import { SYSTEM_INDICES_MIGRATION_POLL_INTERVAL_MS } from '../../../../common/constants'; -if (kibanaVersion.major >= 8 || kibanaVersion.minor > 16) { - describe('Overview - Migrate system indices - Step completion', () => { - let testBed: OverviewTestBed; - const { server, httpRequestsMockHelpers } = setupEnvironment(); +describe('Overview - Migrate system indices - Step completion', () => { + let testBed: OverviewTestBed; + let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; + let httpSetup: ReturnType['httpSetup']; + beforeEach(async () => { + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; + }); - afterAll(() => { - server.restore(); + test(`It's complete when no upgrade is needed`, async () => { + httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ + migration_status: 'NO_MIGRATION_NEEDED', }); - test(`It's complete when no upgrade is needed`, async () => { - httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ - migration_status: 'NO_MIGRATION_NEEDED', - }); - - await act(async () => { - testBed = await setupOverviewPage(); - }); - - const { exists, component } = testBed; - - component.update(); - - expect(exists(`migrateSystemIndicesStep-complete`)).toBe(true); + await act(async () => { + testBed = await setupOverviewPage(httpSetup); }); - test(`It's incomplete when migration is needed`, async () => { - httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ - migration_status: 'MIGRATION_NEEDED', - }); + const { exists, component } = testBed; - await act(async () => { - testBed = await setupOverviewPage(); - }); + component.update(); - const { exists, component } = testBed; + expect(exists(`migrateSystemIndicesStep-complete`)).toBe(true); + }); - component.update(); + test(`It's incomplete when migration is needed`, async () => { + httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ + migration_status: 'MIGRATION_NEEDED', + }); - expect(exists(`migrateSystemIndicesStep-incomplete`)).toBe(true); + await act(async () => { + testBed = await setupOverviewPage(httpSetup); }); - describe('Poll for new status', () => { - beforeEach(async () => { - jest.useFakeTimers(); + const { exists, component } = testBed; - // First request should make the step be incomplete - httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ - migration_status: 'IN_PROGRESS', - }); + component.update(); - testBed = await setupOverviewPage(); - }); + expect(exists(`migrateSystemIndicesStep-incomplete`)).toBe(true); + }); + + describe('Poll for new status', () => { + beforeEach(async () => { + jest.useFakeTimers(); - afterEach(() => { - jest.useRealTimers(); + // First request should make the step be incomplete + httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ + migration_status: 'IN_PROGRESS', }); - test('renders step as complete when a upgraded needed status is followed by a no upgrade needed', async () => { - const { exists } = testBed; + testBed = await setupOverviewPage(httpSetup); + }); - expect(exists('migrateSystemIndicesStep-incomplete')).toBe(true); + afterEach(() => { + jest.useRealTimers(); + }); - httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ - migration_status: 'NO_MIGRATION_NEEDED', - }); + test('renders step as complete when a upgraded needed status is followed by a no upgrade needed', async () => { + const { exists } = testBed; - // Resolve the polling timeout. - await advanceTime(SYSTEM_INDICES_MIGRATION_POLL_INTERVAL_MS); - testBed.component.update(); + expect(exists('migrateSystemIndicesStep-incomplete')).toBe(true); - expect(exists('migrateSystemIndicesStep-complete')).toBe(true); + httpRequestsMockHelpers.setLoadSystemIndicesMigrationStatus({ + migration_status: 'NO_MIGRATION_NEEDED', }); + + // Resolve the polling timeout. + await advanceTime(SYSTEM_INDICES_MIGRATION_POLL_INTERVAL_MS); + testBed.component.update(); + + expect(exists('migrateSystemIndicesStep-complete')).toBe(true); }); }); -} else { - test(`System indices migration is disabled for ${kibanaVersion.version}`, () => undefined); -} +}); diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/overview.helpers.ts b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/overview.helpers.ts index 34abaed727bd3..05de344a465c8 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/overview.helpers.ts +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/overview.helpers.ts @@ -7,7 +7,8 @@ import { act } from 'react-dom/test-utils'; import { registerTestBed, TestBed, AsyncTestBedConfig } from '@kbn/test/jest'; -import { Overview } from '../../../public/application/components/overview'; +import { HttpSetup } from 'src/core/public'; +import { Overview } from '../../../public/application/components'; import { WithAppDependencies } from '../helpers'; const testBedConfig: AsyncTestBedConfig = { @@ -54,9 +55,13 @@ const createActions = (testBed: TestBed) => { }; export const setupOverviewPage = async ( + httpSetup: HttpSetup, overrides?: Record ): Promise => { - const initTestBed = registerTestBed(WithAppDependencies(Overview, overrides), testBedConfig); + const initTestBed = registerTestBed( + WithAppDependencies(Overview, httpSetup, overrides), + testBedConfig + ); const testBed = await initTestBed(); return { diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/overview.test.tsx b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/overview.test.tsx index 2d318f60149d0..5e49fd510686f 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/overview.test.tsx +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/overview.test.tsx @@ -10,17 +10,11 @@ import { OverviewTestBed, setupOverviewPage } from './overview.helpers'; describe('Overview Page', () => { let testBed: OverviewTestBed; - const { server } = setupEnvironment(); - beforeEach(async () => { - testBed = await setupOverviewPage(); + testBed = await setupOverviewPage(setupEnvironment().httpSetup); testBed.component.update(); }); - afterAll(() => { - server.restore(); - }); - describe('Documentation links', () => { test('Has a whatsNew link and it references target version', () => { const { exists, find } = testBed; diff --git a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/upgrade_step/upgrade_step.test.tsx b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/upgrade_step/upgrade_step.test.tsx index 6dabf8af4996d..dc0f7c0f7c6b0 100644 --- a/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/upgrade_step/upgrade_step.test.tsx +++ b/x-pack/plugins/upgrade_assistant/__jest__/client_integration/overview/upgrade_step/upgrade_step.test.tsx @@ -5,26 +5,37 @@ * 2.0. */ -import { act } from 'react-dom/test-utils'; - import { setupEnvironment } from '../../helpers'; import { OverviewTestBed, setupOverviewPage } from '../overview.helpers'; -describe.skip('Overview - Upgrade Step', () => { +const DEPLOYMENT_URL = 'https://cloud.elastic.co./deployments/bfdad4ef99a24212a06d387593686d63'; + +describe('Overview - Upgrade Step', () => { let testBed: OverviewTestBed; - const { server } = setupEnvironment(); + let httpRequestsMockHelpers: ReturnType['httpRequestsMockHelpers']; + let httpSetup: ReturnType['httpSetup']; + let setDelayResponse: ReturnType['setDelayResponse']; + const setupCloudOverviewPage = () => { + return setupOverviewPage(httpSetup, { + plugins: { + cloud: { + isCloudEnabled: true, + deploymentUrl: DEPLOYMENT_URL, + }, + }, + }); + }; beforeEach(async () => { - testBed = await setupOverviewPage(); - testBed.component.update(); - }); - - afterAll(() => { - server.restore(); + const mockEnvironment = setupEnvironment(); + httpRequestsMockHelpers = mockEnvironment.httpRequestsMockHelpers; + httpSetup = mockEnvironment.httpSetup; + setDelayResponse = mockEnvironment.setDelayResponse; }); describe('On-prem', () => { - test('Shows link to setup upgrade docs', () => { + test('Shows link to setup upgrade docs', async () => { + testBed = await setupOverviewPage(httpSetup); const { exists } = testBed; expect(exists('upgradeSetupDocsLink')).toBe(true); @@ -33,28 +44,64 @@ describe.skip('Overview - Upgrade Step', () => { }); describe('On Cloud', () => { - test('Shows upgrade CTA and link to docs', async () => { - await act(async () => { - testBed = await setupOverviewPage({ - plugins: { - cloud: { - isCloudEnabled: true, - deploymentUrl: - 'https://cloud.elastic.co./deployments/bfdad4ef99a24212a06d387593686d63', - }, - }, - }); + test('When ready for upgrade, shows upgrade CTA and link to docs', async () => { + httpRequestsMockHelpers.setGetUpgradeStatusResponse({ + readyForUpgrade: true, + details: 'Ready for upgrade', }); - const { component, exists, find } = testBed; + testBed = await setupCloudOverviewPage(); + const { exists, find, component } = testBed; component.update(); expect(exists('upgradeSetupDocsLink')).toBe(true); expect(exists('upgradeSetupCloudLink')).toBe(true); + expect(find('upgradeSetupCloudLink').props().disabled).toBe(false); expect(find('upgradeSetupCloudLink').props().href).toBe( - 'https://cloud.elastic.co./deployments/bfdad4ef99a24212a06d387593686d63?show_upgrade=true' + `${DEPLOYMENT_URL}?show_upgrade=true` ); }); + + test('When not ready for upgrade, the CTA button is disabled', async () => { + httpRequestsMockHelpers.setGetUpgradeStatusResponse({ + readyForUpgrade: false, + details: 'Resolve critical deprecations first', + }); + + testBed = await setupCloudOverviewPage(); + const { exists, find, component } = testBed; + component.update(); + + expect(exists('upgradeSetupDocsLink')).toBe(true); + expect(exists('upgradeSetupCloudLink')).toBe(true); + + expect(find('upgradeSetupCloudLink').props().disabled).toBe(true); + }); + + test('An error callout is displayed, if status check failed', async () => { + httpRequestsMockHelpers.setGetUpgradeStatusResponse(undefined, { + statusCode: 500, + message: 'Status check failed', + }); + + testBed = await setupCloudOverviewPage(); + const { exists, component } = testBed; + component.update(); + + expect(exists('upgradeSetupDocsLink')).toBe(false); + expect(exists('upgradeSetupCloudLink')).toBe(false); + expect(exists('upgradeStatusErrorCallout')).toBe(true); + }); + + test('The CTA button displays loading indicator', async () => { + setDelayResponse(true); + testBed = await setupCloudOverviewPage(); + const { exists, find } = testBed; + + expect(exists('upgradeSetupDocsLink')).toBe(true); + expect(exists('upgradeSetupCloudLink')).toBe(true); + expect(find('upgradeSetupCloudLink').childAt(0).props().isLoading).toBe(true); + }); }); }); diff --git a/x-pack/plugins/upgrade_assistant/common/constants.ts b/x-pack/plugins/upgrade_assistant/common/constants.ts index ca9f62f5199d1..c72b7b4dd8f19 100644 --- a/x-pack/plugins/upgrade_assistant/common/constants.ts +++ b/x-pack/plugins/upgrade_assistant/common/constants.ts @@ -10,18 +10,6 @@ */ export const MAJOR_VERSION = '7.16.0'; -/* - * Map of 7.0 --> 8.0 index setting deprecation log messages and associated settings - * We currently only support one setting deprecation (translog retention), but the code is written - * in a way to be able to support any number of deprecated index settings defined here - */ -export const indexSettingDeprecations = { - translog: { - deprecationMessage: 'translog retention settings are ignored', // expected message from ES deprecation info API - settings: ['translog.retention.size', 'translog.retention.age'], - }, -}; - export const API_BASE_PATH = '/api/upgrade_assistant'; // Telemetry constants @@ -41,3 +29,23 @@ export const CLUSTER_UPGRADE_STATUS_POLL_INTERVAL_MS = 45000; export const CLOUD_BACKUP_STATUS_POLL_INTERVAL_MS = 60000; export const DEPRECATION_LOGS_COUNT_POLL_INTERVAL_MS = 15000; export const SYSTEM_INDICES_MIGRATION_POLL_INTERVAL_MS = 15000; + +/** + * List of Elastic apps that potentially can generate deprecation logs. + * We want to filter those out for our users so they only see deprecation logs + * that _they_ are generating. + */ +export const APPS_WITH_DEPRECATION_LOGS = [ + 'kibana', + 'cloud', + 'logstash', + 'beats', + 'fleet', + 'ml', + 'security', + 'observability', + 'enterprise-search', +]; + +// The field that will indicate which elastic product generated the deprecation log +export const DEPRECATION_LOGS_ORIGIN_FIELD = 'elasticsearch.elastic_product_origin'; diff --git a/x-pack/plugins/upgrade_assistant/common/types.ts b/x-pack/plugins/upgrade_assistant/common/types.ts index 9e47918c443ed..e58e31abdfc20 100644 --- a/x-pack/plugins/upgrade_assistant/common/types.ts +++ b/x-pack/plugins/upgrade_assistant/common/types.ts @@ -28,6 +28,8 @@ export enum ReindexStep { reindexStarted = 40, reindexCompleted = 50, aliasCreated = 60, + originalIndexDeleted = 70, + existingAliasesUpdated = 80, } export enum ReindexStatus { @@ -41,7 +43,20 @@ export enum ReindexStatus { fetchFailed, } +export interface ReindexStatusResponse { + meta: { + indexName: string; + reindexName: string; + // Array of aliases pointing to the index being reindexed + aliases: string[]; + }; + warnings?: ReindexWarning[]; + reindexOp?: ReindexOperation; + hasRequiredPrivileges?: boolean; +} + export const REINDEX_OP_TYPE = 'upgrade-assistant-reindex-operation'; + export interface QueueSettings extends SavedObjectAttributes { /** * A Unix timestamp of when the reindex operation was enqueued. @@ -106,7 +121,8 @@ export interface ReindexOperation extends SavedObjectAttributes { export type ReindexSavedObject = SavedObject; // 7.0 -> 8.0 warnings -export type ReindexWarningTypes = 'customTypeName' | 'indexSetting'; +export type ReindexWarningTypes = 'customTypeName' | 'indexSetting' | 'replaceIndexWithAlias'; + export interface ReindexWarning { warningType: ReindexWarningTypes; /** @@ -183,12 +199,18 @@ export interface IndexSettingAction { type: 'indexSetting'; deprecatedSettings: string[]; } + +export interface ClusterSettingAction { + type: 'clusterSetting'; + deprecatedSettings: string[]; +} + export interface EnrichedDeprecationInfo extends Omit { type: keyof estypes.MigrationDeprecationsResponse; isCritical: boolean; index?: string; - correctiveAction?: ReindexAction | MlAction | IndexSettingAction; + correctiveAction?: ReindexAction | MlAction | IndexSettingAction | ClusterSettingAction; resolveDuringUpgrade: boolean; } diff --git a/x-pack/plugins/upgrade_assistant/public/application/app.tsx b/x-pack/plugins/upgrade_assistant/public/application/app.tsx index 70350b6d56eca..dbdfda07863b9 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/app.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/app.tsx @@ -14,7 +14,12 @@ import { ScopedHistory } from 'src/core/public'; import { RedirectAppLinks } from '../../../../../src/plugins/kibana_react/public'; import { API_BASE_PATH } from '../../common/constants'; import { ClusterUpgradeState } from '../../common/types'; -import { APP_WRAPPER_CLASS, GlobalFlyout, AuthorizationProvider } from '../shared_imports'; +import { + APP_WRAPPER_CLASS, + GlobalFlyout, + AuthorizationProvider, + NotAuthorizedSection, +} from '../shared_imports'; import { AppDependencies } from '../types'; import { AppContextProvider, useAppContext } from './app_context'; import { @@ -30,18 +35,46 @@ const { GlobalFlyoutProvider } = GlobalFlyout; const AppHandlingClusterUpgradeState: React.FunctionComponent = () => { const { isReadOnlyMode, - services: { api }, + services: { api, core }, } = useAppContext(); - const [clusterUpgradeState, setClusterUpradeState] = + const missingManageSpacesPrivilege = core.application.capabilities.spaces.manage !== true; + + const [clusterUpgradeState, setClusterUpgradeState] = useState('isPreparingForUpgrade'); useEffect(() => { api.onClusterUpgradeStateChange((newClusterUpgradeState: ClusterUpgradeState) => { - setClusterUpradeState(newClusterUpgradeState); + setClusterUpgradeState(newClusterUpgradeState); }); }, [api]); + if (missingManageSpacesPrivilege) { + return ( + + + } + message={ + + } + /> + + ); + } + // Read-only mode will be enabled up until the last minor before the next major release if (isReadOnlyMode) { return ; diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/es_deprecation_logs.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/es_deprecation_logs.tsx index 2d522d3718bcc..f778566758294 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/es_deprecation_logs.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/es_deprecation_logs.tsx @@ -47,7 +47,8 @@ export const EsDeprecationLogs: FunctionComponent = () => { defaultMessage: 'Elasticsearch deprecation logs', })} description={i18n.translate('xpack.upgradeAssistant.esDeprecationLogs.pageDescription', { - defaultMessage: `Review the deprecation logs to determine if you're using any deprecated APIs. If so, update your applications before upgrading to the next major version.`, + defaultMessage: + 'Review the deprecation logs to determine if your applications are using any deprecated APIs. Update your applications to prevent errors or changes in behavior after you upgrade.', })} rightSideItems={[ { dataService = dataPluginMock.createStartContract(); }); - describe('getDeprecationIndexPatternId', () => { - it('creates new index pattern if doesnt exist', async () => { + describe('getDeprecationDataView', () => { + it('creates new data view if doesnt exist', async () => { dataService.dataViews.find = jest.fn().mockResolvedValue([]); dataService.dataViews.createAndSave = jest.fn().mockResolvedValue({ id: '123-456' }); - const indexPatternId = await getDeprecationIndexPatternId(dataService); + const dataViewId = (await getDeprecationDataView(dataService)).id; - expect(indexPatternId).toBe('123-456'); + expect(dataViewId).toBe('123-456'); // prettier-ignore expect(dataService.dataViews.createAndSave).toHaveBeenCalledWith({ title: DEPRECATION_LOGS_INDEX_PATTERN, @@ -32,7 +32,7 @@ describe('External Links', () => { }, false, true); }); - it('uses existing index pattern if it already exists', async () => { + it('uses existing data view if it already exists', async () => { dataService.dataViews.find = jest.fn().mockResolvedValue([ { id: '123-456', @@ -40,9 +40,9 @@ describe('External Links', () => { }, ]); - const indexPatternId = await getDeprecationIndexPatternId(dataService); + const dataViewId = await (await getDeprecationDataView(dataService)).id; - expect(indexPatternId).toBe('123-456'); + expect(dataViewId).toBe('123-456'); expect(dataService.dataViews.find).toHaveBeenCalledWith(DEPRECATION_LOGS_INDEX_PATTERN); }); }); diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/external_links.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/external_links.tsx index dec43145ef966..cbf4906c4b0f7 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/external_links.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/external_links.tsx @@ -7,11 +7,16 @@ import { encode } from 'rison-node'; import React, { FunctionComponent, useState, useEffect } from 'react'; +import { buildPhrasesFilter, PhraseFilter } from '@kbn/es-query'; import { FormattedMessage } from '@kbn/i18n/react'; import { METRIC_TYPE } from '@kbn/analytics'; import { EuiLink, EuiFlexGroup, EuiFlexItem, EuiSpacer, EuiPanel, EuiText } from '@elastic/eui'; +import { + APPS_WITH_DEPRECATION_LOGS, + DEPRECATION_LOGS_ORIGIN_FIELD, +} from '../../../../../common/constants'; import { DataPublicPluginStart } from '../../../../shared_imports'; import { useAppContext } from '../../../app_context'; import { @@ -29,32 +34,32 @@ interface Props { checkpoint: string; } -export const getDeprecationIndexPatternId = async (dataService: DataPublicPluginStart) => { +export const getDeprecationDataView = async (dataService: DataPublicPluginStart) => { const results = await dataService.dataViews.find(DEPRECATION_LOGS_INDEX_PATTERN); // Since the find might return also results with wildcard matchers we need to find the // index pattern that has an exact match with our title. - const deprecationIndexPattern = results.find( + const deprecationDataView = results.find( (result) => result.title === DEPRECATION_LOGS_INDEX_PATTERN ); - if (deprecationIndexPattern) { - return deprecationIndexPattern.id; + if (deprecationDataView) { + return deprecationDataView; } else { - // When creating the index pattern, we need to be careful when creating an indexPattern + // When creating the data view, we need to be careful when creating a data view // for an index that doesnt exist. Since the deprecation logs data stream is only created // when a deprecation log is indexed it could be possible that it might not exist at the // time we need to render the DiscoveryAppLink. - // So in order to avoid those errors we need to make sure that the indexPattern is created + // So in order to avoid those errors we need to make sure that the data view is created // with allowNoIndex and that we skip fetching fields to from the source index. const override = false; const skipFetchFields = true; // prettier-ignore - const newIndexPattern = await dataService.dataViews.createAndSave({ + const newDataView = await dataService.dataViews.createAndSave({ title: DEPRECATION_LOGS_INDEX_PATTERN, allowNoIndex: true, }, override, skipFetchFields); - return newIndexPattern.id; + return newDataView; } }; @@ -68,19 +73,29 @@ const DiscoverAppLink: FunctionComponent = ({ checkpoint }) => { useEffect(() => { const getDiscoveryUrl = async () => { - const indexPatternId = await getDeprecationIndexPatternId(dataService); const locator = share.url.locators.get('DISCOVER_APP_LOCATOR'); - if (!locator) { return; } - const url = await locator.getUrl({ - indexPatternId, + const dataView = await getDeprecationDataView(dataService); + const field = dataView.getFieldByName(DEPRECATION_LOGS_ORIGIN_FIELD); + + let filters: PhraseFilter[] = []; + + if (field !== undefined) { + const filter = buildPhrasesFilter(field!, [...APPS_WITH_DEPRECATION_LOGS], dataView); + filter.meta.negate = true; + filters = [filter]; + } + + const url = await locator?.getUrl({ + indexPatternId: dataView.id, query: { language: 'kuery', query: `@timestamp > "${checkpoint}"`, }, + filters, }); setDiscoveryUrl(url); @@ -89,6 +104,10 @@ const DiscoverAppLink: FunctionComponent = ({ checkpoint }) => { getDiscoveryUrl(); }, [dataService, checkpoint, share.url.locators]); + if (discoveryUrl === undefined) { + return null; + } + return ( // eslint-disable-next-line @elastic/eui/href-or-on-click = ({ checkpoint }) => { core: { http }, }, } = useAppContext(); - const logStreamUrl = http?.basePath?.prepend( - `/app/logs/stream?sourceId=${DEPRECATION_LOGS_SOURCE_ID}&logPosition=(end:now,start:${encode( - checkpoint - )})` + + // Ideally we don't want to hardcode the path to the Log Stream app and use the UrlService.locator instead. + // Issue opened: https://github.com/elastic/kibana/issues/104855 + const streamAppPath = '/app/logs/stream'; + + const sourceId = DEPRECATION_LOGS_SOURCE_ID; + const logPosition = `(end:now,start:${encode(checkpoint)})`; + const logFilter = encodeURI( + `(language:kuery,query:'not ${DEPRECATION_LOGS_ORIGIN_FIELD} : (${APPS_WITH_DEPRECATION_LOGS.join( + ' or ' + )})')` ); + const queryParams = `sourceId=${sourceId}&logPosition=${logPosition}&logFilter=${logFilter}`; + + const logStreamUrl = http?.basePath?.prepend(`${streamAppPath}?${queryParams}`); return ( // eslint-disable-next-line @elastic/eui/href-or-on-click diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/fix_deprecation_logs.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/fix_deprecation_logs.tsx index 25e3edb9147d0..ff1cfc172905f 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/fix_deprecation_logs.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/fix_deprecation_logs.tsx @@ -38,7 +38,7 @@ const i18nTexts = { apiCompatibilityNoteBody: (docLink: string) => ( diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/index.ts b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/index.ts index c0af5524e3a14..ffc1a60e8a2fb 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/index.ts +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/index.ts @@ -6,3 +6,4 @@ */ export { FixDeprecationLogs } from './fix_deprecation_logs'; +export { useDeprecationLogging } from './use_deprecation_logging'; diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/index.ts b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/index.ts index 336aa14642f7d..978fb18cbe2a7 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/index.ts +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/index.ts @@ -6,3 +6,4 @@ */ export { EsDeprecationLogs } from './es_deprecation_logs'; +export { useDeprecationLogging } from './fix_deprecation_logs'; diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/cluster_settings/flyout.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/cluster_settings/flyout.tsx new file mode 100644 index 0000000000000..c0bf30724a0cc --- /dev/null +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/cluster_settings/flyout.tsx @@ -0,0 +1,192 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useCallback } from 'react'; +import { i18n } from '@kbn/i18n'; +import { METRIC_TYPE } from '@kbn/analytics'; +import { + EuiButton, + EuiButtonEmpty, + EuiCode, + EuiFlyoutBody, + EuiFlyoutFooter, + EuiFlyoutHeader, + EuiFlexGroup, + EuiFlexItem, + EuiTitle, + EuiText, + EuiSpacer, + EuiCallOut, +} from '@elastic/eui'; + +import { + EnrichedDeprecationInfo, + ClusterSettingAction, + ResponseError, +} from '../../../../../../common/types'; +import { uiMetricService, UIM_CLUSTER_SETTINGS_DELETE_CLICK } from '../../../../lib/ui_metric'; +import type { Status } from '../../../types'; +import { DeprecationFlyoutLearnMoreLink, DeprecationBadge } from '../../../shared'; + +export interface RemoveClusterSettingsFlyoutProps { + deprecation: EnrichedDeprecationInfo; + closeFlyout: () => void; + removeClusterSettings: (settings: string[]) => Promise; + status: { + statusType: Status; + details?: ResponseError; + }; +} + +const i18nTexts = { + removeButtonLabel: i18n.translate( + 'xpack.upgradeAssistant.esDeprecations.removeClusterSettingsFlyout.removeButtonLabel', + { + defaultMessage: 'Remove deprecated settings', + } + ), + retryRemoveButtonLabel: i18n.translate( + 'xpack.upgradeAssistant.esDeprecations.removeClusterSettingsFlyout.retryRemoveButtonLabel', + { + defaultMessage: 'Retry removing deprecated settings', + } + ), + resolvedButtonLabel: i18n.translate( + 'xpack.upgradeAssistant.esDeprecations.removeClusterSettingsFlyout.resolvedButtonLabel', + { + defaultMessage: 'Resolved', + } + ), + closeButtonLabel: i18n.translate( + 'xpack.upgradeAssistant.esDeprecations.removeClusterSettingsFlyout.closeButtonLabel', + { + defaultMessage: 'Close', + } + ), + getConfirmationText: (clusterSettingsCount: number) => + i18n.translate( + 'xpack.upgradeAssistant.esDeprecations.removeClusterSettingsFlyout.description', + { + defaultMessage: + 'Remove the following deprecated cluster {clusterSettingsCount, plural, one {setting} other {settings}}?', + values: { + clusterSettingsCount, + }, + } + ), + errorTitle: i18n.translate( + 'xpack.upgradeAssistant.esDeprecations.removeClusterSettingsFlyout.deleteErrorTitle', + { + defaultMessage: 'Error deleting cluster settings', + } + ), +}; + +export const RemoveClusterSettingsFlyout = ({ + deprecation, + closeFlyout, + removeClusterSettings, + status, +}: RemoveClusterSettingsFlyoutProps) => { + const { message, details, url, correctiveAction } = deprecation; + const { statusType, details: statusDetails } = status; + + // Flag used to hide certain parts of the UI if the deprecation has been resolved or is in progress + const isResolvable = ['idle', 'error'].includes(statusType); + + const onRemoveSettings = useCallback(() => { + uiMetricService.trackUiMetric(METRIC_TYPE.CLICK, UIM_CLUSTER_SETTINGS_DELETE_CLICK); + removeClusterSettings((correctiveAction as ClusterSettingAction).deprecatedSettings); + }, [correctiveAction, removeClusterSettings]); + + return ( + <> + + + + +

    {message}

    +
    +
    + + {statusType === 'error' && ( + <> + + {statusDetails!.message} + + + + )} + + +

    {details}

    +

    + +

    +
    + + {isResolvable && ( +
    + + + +

    + {i18nTexts.getConfirmationText( + (correctiveAction as ClusterSettingAction).deprecatedSettings.length + )} +

    +
    + + + + +
      + {(correctiveAction as ClusterSettingAction).deprecatedSettings.map((setting) => ( +
    • + {setting} +
    • + ))} +
    +
    +
    + )} +
    + + + + + {i18nTexts.closeButtonLabel} + + + + {isResolvable && ( + + + {statusType === 'error' + ? i18nTexts.retryRemoveButtonLabel + : i18nTexts.removeButtonLabel} + + + )} + + + + ); +}; diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/cluster_settings/index.ts b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/cluster_settings/index.ts new file mode 100644 index 0000000000000..5cd1e2d31e9f0 --- /dev/null +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/cluster_settings/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { ClusterSettingsTableRow } from './table_row'; diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/cluster_settings/resolution_table_cell.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/cluster_settings/resolution_table_cell.tsx new file mode 100644 index 0000000000000..117cf693fe98f --- /dev/null +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/cluster_settings/resolution_table_cell.tsx @@ -0,0 +1,130 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; + +import { + EuiFlexItem, + EuiText, + EuiFlexGroup, + EuiIcon, + EuiLoadingSpinner, + EuiToolTip, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { Status } from '../../../types'; + +const i18nTexts = { + deleteInProgressText: i18n.translate( + 'xpack.upgradeAssistant.esDeprecations.clusterSettings.deletingButtonLabel', + { + defaultMessage: 'Settings removal in progress…', + } + ), + deleteCompleteText: i18n.translate( + 'xpack.upgradeAssistant.esDeprecations.clusterSettings.deleteCompleteText', + { + defaultMessage: 'Deprecated settings removed', + } + ), + deleteFailedText: i18n.translate( + 'xpack.upgradeAssistant.esDeprecations.clusterSettings.deleteFailedText', + { + defaultMessage: 'Settings removal failed', + } + ), + resolutionText: i18n.translate( + 'xpack.upgradeAssistant.esDeprecations.clusterSettings.resolutionText', + { + defaultMessage: 'Remove settings', + } + ), + resolutionTooltipLabel: i18n.translate( + 'xpack.upgradeAssistant.esDeprecations.clusterSettings.resolutionTooltipLabel', + { + defaultMessage: + 'Resolve this issue by removing settings from this cluster. This issue can be resolved automatically.', + } + ), +}; + +interface Props { + status: { + statusType: Status; + }; +} + +export const ClusterSettingsResolutionCell: React.FunctionComponent = ({ status }) => { + const { statusType } = status; + if (statusType === 'in_progress') { + return ( + + + + + + {i18nTexts.deleteInProgressText} + + + ); + } + + if (statusType === 'complete') { + return ( + + + + + + {i18nTexts.deleteCompleteText} + + + ); + } + + if (statusType === 'error') { + return ( + + + + + + {i18nTexts.deleteFailedText} + + + ); + } + + return ( + + + + + + + {i18nTexts.resolutionText} + + + + ); +}; diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/cluster_settings/table_row.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/cluster_settings/table_row.tsx new file mode 100644 index 0000000000000..f335b723c1ffc --- /dev/null +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/cluster_settings/table_row.tsx @@ -0,0 +1,110 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useState, useEffect, useCallback } from 'react'; +import { EuiTableRowCell } from '@elastic/eui'; +import { EnrichedDeprecationInfo, ResponseError } from '../../../../../../common/types'; +import { GlobalFlyout } from '../../../../../shared_imports'; +import { useAppContext } from '../../../../app_context'; +import { EsDeprecationsTableCells } from '../../es_deprecations_table_cells'; +import { DeprecationTableColumns, Status } from '../../../types'; +import { ClusterSettingsResolutionCell } from './resolution_table_cell'; +import { RemoveClusterSettingsFlyout, RemoveClusterSettingsFlyoutProps } from './flyout'; + +const { useGlobalFlyout } = GlobalFlyout; + +interface Props { + deprecation: EnrichedDeprecationInfo; + rowFieldNames: DeprecationTableColumns[]; +} + +export const ClusterSettingsTableRow: React.FunctionComponent = ({ + rowFieldNames, + deprecation, +}) => { + const [showFlyout, setShowFlyout] = useState(false); + const [status, setStatus] = useState<{ + statusType: Status; + details?: ResponseError; + }>({ statusType: 'idle' }); + + const { + services: { api }, + } = useAppContext(); + + const { addContent: addContentToGlobalFlyout, removeContent: removeContentFromGlobalFlyout } = + useGlobalFlyout(); + + const closeFlyout = useCallback(() => { + setShowFlyout(false); + removeContentFromGlobalFlyout('clusterSettingsFlyout'); + }, [removeContentFromGlobalFlyout]); + + const removeClusterSettings = useCallback( + async (settings: string[]) => { + setStatus({ statusType: 'in_progress' }); + + const { error } = await api.updateClusterSettings(settings); + + setStatus({ + statusType: error ? 'error' : 'complete', + details: error ?? undefined, + }); + closeFlyout(); + }, + [api, closeFlyout] + ); + + useEffect(() => { + if (showFlyout) { + addContentToGlobalFlyout({ + id: 'clusterSettingsFlyout', + Component: RemoveClusterSettingsFlyout, + props: { + closeFlyout, + deprecation, + removeClusterSettings, + status, + }, + flyoutProps: { + onClose: closeFlyout, + className: 'eui-textBreakWord', + 'data-test-subj': 'clusterSettingsDetails', + 'aria-labelledby': 'removeClusterSettingsDetailsFlyoutTitle', + }, + }); + } + }, [ + addContentToGlobalFlyout, + deprecation, + removeClusterSettings, + showFlyout, + closeFlyout, + status, + ]); + + return ( + <> + {rowFieldNames.map((field: DeprecationTableColumns) => { + return ( + + setShowFlyout(true)} + deprecation={deprecation} + resolutionTableCell={} + /> + + ); + })} + + ); +}; diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/index.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/index.tsx index eb0221a722a30..074151731a5bc 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/index.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/index.tsx @@ -9,3 +9,4 @@ export { MlSnapshotsTableRow } from './ml_snapshots'; export { IndexSettingsTableRow } from './index_settings'; export { DefaultTableRow } from './default'; export { ReindexTableRow } from './reindex'; +export { ClusterSettingsTableRow } from './cluster_settings'; diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/context.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/context.tsx index 2d34253d2c426..3d4459e7380b7 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/context.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/context.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { useEffect, createContext, useContext } from 'react'; +import React, { createContext, useContext } from 'react'; import { ApiService } from '../../../../lib/api'; import { useReindexStatus, ReindexState } from './use_reindex_state'; @@ -37,16 +37,11 @@ export const ReindexStatusProvider: React.FunctionComponent = ({ indexName, children, }) => { - const { reindexState, startReindex, cancelReindex, updateStatus } = useReindexStatus({ + const { reindexState, startReindex, cancelReindex } = useReindexStatus({ indexName, api, }); - useEffect(() => { - updateStatus(); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - return ( { useAppContext: () => { return { services: { + api: { + useLoadNodeDiskSpace: () => [], + }, core: { docLinks: docLinksServiceMock.createStartContract(), }, @@ -54,6 +57,11 @@ describe('ChecklistFlyout', () => { errorMessage: null, reindexWarnings: [], hasRequiredPrivileges: true, + meta: { + indexName: 'myIndex', + reindexName: 'reindexed-myIndex', + aliases: [], + }, } as ReindexState, }; diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/checklist_step.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/checklist_step.tsx index e0b9b25d73235..3b64a3e050345 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/checklist_step.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/checklist_step.tsx @@ -79,6 +79,7 @@ export const ChecklistFlyoutStep: React.FunctionComponent<{ }> = ({ closeFlyout, reindexState, startReindex, cancelReindex }) => { const { services: { + api, core: { docLinks }, }, } = useAppContext(); @@ -89,6 +90,8 @@ export const ChecklistFlyoutStep: React.FunctionComponent<{ const hasFetchFailed = status === ReindexStatus.fetchFailed; const hasReindexingFailed = status === ReindexStatus.failed; + const { data: nodes } = api.useLoadNodeDiskSpace(); + return ( @@ -107,9 +110,50 @@ export const ChecklistFlyoutStep: React.FunctionComponent<{ /> )} - {(hasFetchFailed || hasReindexingFailed) && ( + + {nodes && nodes.length > 0 && ( <> + + } + > + <> + + + + +
      + {nodes.map(({ nodeName, available, nodeId }) => ( +
    • + +
    • + ))} +
    + +
    + + )} + + {(hasFetchFailed || hasReindexingFailed) && ( + <> {reindexState.errorMessage} + )} +

    = ({ const flyoutContents = showWarningsStep ? ( setShowWarningsStep(false)} continueReindex={() => { setShowWarningsStep(false); diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/progress.test.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/progress.test.tsx index 1ee4cf2453bdc..5bf9a394f9738 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/progress.test.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/progress.test.tsx @@ -9,6 +9,7 @@ import { shallow } from 'enzyme'; import React from 'react'; import { ReindexStatus, ReindexStep } from '../../../../../../../common/types'; +import { LoadingState } from '../../../../types'; import type { ReindexState } from '../use_reindex_state'; import { ReindexProgress } from './progress'; @@ -22,6 +23,12 @@ describe('ReindexProgress', () => { status: ReindexStatus.inProgress, reindexTaskPercComplete: null, errorMessage: null, + loadingState: LoadingState.Success, + meta: { + indexName: 'foo', + reindexName: 'reindexed-foo', + aliases: [], + }, } as ReindexState } cancelReindex={jest.fn()} @@ -52,17 +59,29 @@ describe('ReindexProgress', () => { Object { "status": "inProgress", "title": + foo + , + } + } />, }, Object { "status": "incomplete", "title": + reindexed-foo + , + } + } />, }, Object { @@ -73,6 +92,12 @@ describe('ReindexProgress', () => { Object { "errorMessage": null, "lastCompletedStep": 0, + "loadingState": 1, + "meta": Object { + "aliases": Array [], + "indexName": "foo", + "reindexName": "reindexed-foo", + }, "reindexTaskPercComplete": null, "status": 0, } @@ -82,9 +107,32 @@ describe('ReindexProgress', () => { Object { "status": "incomplete", "title": + foo + , + "reindexName": + reindexed-foo + , + } + } + />, + }, + Object { + "status": "incomplete", + "title": + foo + , + } + } />, }, ] @@ -103,6 +151,12 @@ describe('ReindexProgress', () => { status: ReindexStatus.failed, reindexTaskPercComplete: 1, errorMessage: `This is an error that happened on alias switch`, + loadingState: LoadingState.Success, + meta: { + indexName: 'foo', + reindexName: 'reindexed-foo', + aliases: [], + }, } as ReindexState } cancelReindex={jest.fn()} diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/progress.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/progress.tsx index cf32a8bb3ab65..6aed50bf29047 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/progress.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/progress.tsx @@ -7,7 +7,15 @@ import React, { ReactNode } from 'react'; -import { EuiCallOut, EuiFlexGroup, EuiFlexItem, EuiLink, EuiText, EuiTitle } from '@elastic/eui'; +import { + EuiCallOut, + EuiFlexGroup, + EuiFlexItem, + EuiLink, + EuiText, + EuiTitle, + EuiCode, +} from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { ReindexStatus, ReindexStep } from '../../../../../../../common/types'; @@ -124,95 +132,168 @@ const ReindexingDocumentsStepTitle: React.FunctionComponent<{ }; const orderedSteps = Object.values(ReindexStep).sort() as number[]; -const getStepTitle = (step: ReindexStep, inProgress?: boolean): ReactNode => { + +const getStepTitle = ( + step: ReindexStep, + meta: ReindexState['meta'], + inProgress?: boolean +): ReactNode => { if (step === ReindexStep.readonly) { return inProgress ? ( {meta.indexName}, + }} /> ) : ( {meta.indexName}, + }} /> ); } + if (step === ReindexStep.newIndexCreated) { return inProgress ? ( {meta.reindexName}, + }} /> ) : ( {meta.reindexName}, + }} /> ); } + if (step === ReindexStep.aliasCreated) { return inProgress ? ( {meta.indexName}, + reindexName: {meta.reindexName}, + }} + /> + ) : ( + {meta.indexName}, + reindexName: {meta.reindexName}, + }} + /> + ); + } + + if (step === ReindexStep.originalIndexDeleted) { + return inProgress ? ( + {meta.indexName}, + }} + /> + ) : ( + {meta.indexName}, + }} + /> + ); + } + + if (step === ReindexStep.existingAliasesUpdated) { + return inProgress ? ( + {`[${meta.aliases.join(',')}]`}, + reindexName: {meta.reindexName}, + }} /> ) : ( {`[${meta.aliases.join(',')}]`}, + reindexName: {meta.reindexName}, + }} /> ); } }; +interface Props { + reindexState: ReindexState; + cancelReindex: () => void; +} + /** * Displays a list of steps in the reindex operation, the current status, a progress bar, * and any error messages that are encountered. */ -export const ReindexProgress: React.FunctionComponent<{ - reindexState: ReindexState; - cancelReindex: () => void; -}> = (props) => { +export const ReindexProgress: React.FunctionComponent = (props) => { const { errorMessage, lastCompletedStep = -1, status, reindexTaskPercComplete, + meta, } = props.reindexState; + const getProgressStep = (thisStep: ReindexStep): StepProgressStep => { const previousStep = orderedSteps[orderedSteps.indexOf(thisStep) - 1]; if (status === ReindexStatus.failed && lastCompletedStep === previousStep) { return { - title: getStepTitle(thisStep), + title: getStepTitle(thisStep, meta), status: 'failed', children: , }; } else if (status === ReindexStatus.paused && lastCompletedStep === previousStep) { return { - title: getStepTitle(thisStep), + title: getStepTitle(thisStep, meta), status: 'paused', children: , }; } else if (status === ReindexStatus.cancelled && lastCompletedStep === previousStep) { return { - title: getStepTitle(thisStep), + title: getStepTitle(thisStep, meta), status: 'cancelled', }; } else if (status === undefined || lastCompletedStep < previousStep) { return { - title: getStepTitle(thisStep), + title: getStepTitle(thisStep, meta), status: 'incomplete', }; } else if (lastCompletedStep === previousStep) { return { - title: getStepTitle(thisStep, true), + title: getStepTitle(thisStep, meta, true), status: 'inProgress', }; } else { return { - title: getStepTitle(thisStep), + title: getStepTitle(thisStep, meta), status: 'complete', }; } @@ -259,8 +340,15 @@ export const ReindexProgress: React.FunctionComponent<{ getProgressStep(ReindexStep.newIndexCreated), reindexingDocsStep, getProgressStep(ReindexStep.aliasCreated), + getProgressStep(ReindexStep.originalIndexDeleted), ]; + const hasExistingAliases = meta.aliases.length > 0; + + if (hasExistingAliases) { + steps.push(getProgressStep(ReindexStep.existingAliasesUpdated)); + } + return ( <> @@ -270,7 +358,11 @@ export const ReindexProgress: React.FunctionComponent<{ id="xpack.upgradeAssistant.checkupTab.reindexing.flyout.checklistStep.reindexingInProgressTitle" defaultMessage="Reindexing in progress… {percents}" values={{ - percents: getReindexProgressLabel(reindexTaskPercComplete, lastCompletedStep), + percents: getReindexProgressLabel( + reindexTaskPercComplete, + lastCompletedStep, + hasExistingAliases + ), }} /> ) : ( diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warning_step.test.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warning_step.test.tsx index 35e4a4b0b843f..bcdc57456d928 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warning_step.test.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warning_step.test.tsx @@ -40,6 +40,11 @@ describe('WarningsFlyoutStep', () => { warnings: [] as ReindexWarning[], hideWarningsStep: jest.fn(), continueReindex: jest.fn(), + meta: { + indexName: 'foo', + reindexName: 'reindexed-foo', + aliases: [], + }, }; it('renders', () => { diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warning_step_checkbox.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warning_step_checkbox.tsx index 904e9a5e1fec6..c29dfad7a835a 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warning_step_checkbox.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warning_step_checkbox.tsx @@ -33,7 +33,7 @@ const WarningCheckbox: React.FunctionComponent<{ warningId: string; label: React.ReactNode; description: React.ReactNode; - documentationUrl: string; + documentationUrl?: string; onChange: (event: React.ChangeEvent) => void; }> = ({ isChecked, warningId, label, onChange, description, documentationUrl }) => ( <> @@ -47,20 +47,22 @@ const WarningCheckbox: React.FunctionComponent<{ onChange={onChange} /> - - - - } - position="right" - type="help" - /> - - + {documentationUrl !== undefined && ( + + + + } + position="right" + type="help" + /> + + + )} @@ -158,3 +160,34 @@ export const DeprecatedSettingWarningCheckbox: React.FunctionComponent ); }; + +export const ReplaceIndexWithAliasWarningCheckbox: React.FunctionComponent = + ({ isChecked, onChange, docLinks, id, meta }) => { + return ( + {meta?.indexName}, + reindexName: {meta?.reindexName}, + }} + /> + } + description={ + {meta?.indexName}, + reindexName: {meta?.reindexName}, + }} + /> + } + /> + ); + }; diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warnings_step.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warnings_step.tsx index d8909d4ea039f..bfae846cd5cf6 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warnings_step.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warnings_step.tsx @@ -20,11 +20,16 @@ import { } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; -import { ReindexWarning, ReindexWarningTypes } from '../../../../../../../common/types'; +import { + ReindexWarning, + ReindexWarningTypes, + ReindexStatusResponse, +} from '../../../../../../../common/types'; import { useAppContext } from '../../../../../app_context'; import { CustomTypeNameWarningCheckbox, DeprecatedSettingWarningCheckbox, + ReplaceIndexWithAliasWarningCheckbox, WarningCheckboxProps, } from './warning_step_checkbox'; @@ -37,6 +42,7 @@ const warningToComponentMap: { } = { customTypeName: CustomTypeNameWarningCheckbox, indexSetting: DeprecatedSettingWarningCheckbox, + replaceIndexWithAlias: ReplaceIndexWithAliasWarningCheckbox, }; export const idForWarning = (id: number) => `reindexWarning-${id}`; @@ -44,6 +50,7 @@ interface WarningsConfirmationFlyoutProps { hideWarningsStep: () => void; continueReindex: () => void; warnings: ReindexWarning[]; + meta: ReindexStatusResponse['meta']; } /** @@ -54,6 +61,7 @@ export const WarningsFlyoutStep: React.FunctionComponent { const { services: { @@ -124,7 +132,7 @@ export const WarningsFlyoutStep: React.FunctionComponent ); })} diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/resolution_table_cell.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/resolution_table_cell.tsx index b181e666c17e2..68a754875a737 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/resolution_table_cell.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/resolution_table_cell.tsx @@ -78,6 +78,7 @@ const i18nTexts = { export const ReindexResolutionCell: React.FunctionComponent = () => { const { reindexState } = useReindexContext(); + const hasExistingAliases = reindexState.meta.aliases.length > 0; if (reindexState.loadingState === LoadingState.Loading) { return ( @@ -104,7 +105,8 @@ export const ReindexResolutionCell: React.FunctionComponent = () => { {i18nTexts.reindexInProgressText}{' '} {getReindexProgressLabel( reindexState.reindexTaskPercComplete, - reindexState.lastCompletedStep + reindexState.lastCompletedStep, + hasExistingAliases )} diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/use_reindex_state.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/use_reindex_state.tsx index e3a747e6615b8..9c1e5b932efdd 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/use_reindex_state.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/use_reindex_state.tsx @@ -8,7 +8,7 @@ import { useRef, useCallback, useState, useEffect } from 'react'; import { - ReindexOperation, + ReindexStatusResponse, ReindexStatus, ReindexStep, ReindexWarning, @@ -27,20 +27,26 @@ export interface ReindexState { errorMessage: string | null; reindexWarnings?: ReindexWarning[]; hasRequiredPrivileges?: boolean; -} - -interface StatusResponse { - warnings?: ReindexWarning[]; - reindexOp?: ReindexOperation; - hasRequiredPrivileges?: boolean; + meta: { + indexName: string; + reindexName: string; + aliases: string[]; + }; } const getReindexState = ( reindexState: ReindexState, - { reindexOp, warnings, hasRequiredPrivileges }: StatusResponse + { reindexOp, warnings, hasRequiredPrivileges, meta: updatedMeta }: ReindexStatusResponse ) => { + const meta = { ...(updatedMeta ?? reindexState.meta) }; + // Once we have received an array of existing aliases, we won't update the meta value anymore because + // when we'll delete the original alias during the reindex process there won't be any aliases pointing + // to it anymore and the last reindex step (Update existing aliases) would be suddenly removed. + const aliases = + reindexState.meta.aliases.length > 0 ? reindexState.meta.aliases : updatedMeta.aliases; const newReindexState = { ...reindexState, + meta: { ...meta, aliases }, loadingState: LoadingState.Success, }; @@ -54,7 +60,23 @@ const getReindexState = ( if (reindexOp) { // Prevent the UI flickering back to inProgress after cancelling - newReindexState.lastCompletedStep = reindexOp.lastCompletedStep; + + let updateLastCompletedStep = true; + if ( + reindexOp.lastCompletedStep === ReindexStep.aliasCreated && + reindexOp.status !== ReindexStatus.completed + ) { + // "ReindexStep.aliasCreated" is the last step coming from the server + // There is a delay between the moment the server returns that the "lastCompletedStep" + // is "aliasCreated" and when the server marks reindexing as "completed". + // We will correct this timing error by only marking the "aliasCreated" step as done + // when the reindex status is "completed". + updateLastCompletedStep = false; + } + + if (updateLastCompletedStep) { + newReindexState.lastCompletedStep = reindexOp.lastCompletedStep; + } newReindexState.status = reindexOp.status; newReindexState.reindexTaskPercComplete = reindexOp.reindexTaskPercComplete; newReindexState.errorMessage = reindexOp.errorMessage; @@ -74,6 +96,11 @@ const getReindexState = ( reindexOp.status === ReindexStatus.inProgress ) { newReindexState.cancelLoadingState = CancelLoadingState.Loading; + } else if (newReindexState.status === ReindexStatus.completed) { + // The Elasticsearch reindex is complete. We will add one or two (depending if there are + // existing aliases that need to be updated) "fake" steps only for the UI. + // This will help our users understand what actually happened in the last step. + newReindexState.status = ReindexStatus.inProgress; } } @@ -85,6 +112,11 @@ export const useReindexStatus = ({ indexName, api }: { indexName: string; api: A loadingState: LoadingState.Loading, errorMessage: null, reindexTaskPercComplete: null, + meta: { + indexName, + reindexName: '', // will be known after fetching the reindexStatus + aliases: [], // will be known after fetching the reindexStatus + }, }); const pollIntervalIdRef = useRef | null>(null); @@ -97,6 +129,52 @@ export const useReindexStatus = ({ indexName, api }: { indexName: string; api: A } }, []); + /** + * When the server says that reindexing is complete we will fake + * one (or two in case there are existing aliases to update) extra steps in the UI + */ + const simulateExtraSteps = useCallback(() => { + const delay = 1000; + const hasExistingAliases = reindexState.meta.aliases.length > 0; + + // Mark "update existing aliases" as completed + const completeUpdateExistingAliasesStep = () => { + if (!isMounted.current) { + return; + } + + setReindexState((prevValue: ReindexState) => { + return { + ...prevValue, + status: ReindexStatus.completed, + lastCompletedStep: ReindexStep.existingAliasesUpdated, + }; + }); + }; + + // Mark "original index deleted" as completed + const completeDeleteOriginalIndexStep = () => { + if (!isMounted.current) { + return; + } + + setReindexState((prevValue: ReindexState) => { + return { + ...prevValue, + status: hasExistingAliases ? ReindexStatus.inProgress : ReindexStatus.completed, + lastCompletedStep: ReindexStep.originalIndexDeleted, + }; + }); + + if (hasExistingAliases) { + // Still one step to go! + setTimeout(completeUpdateExistingAliasesStep, delay); + } + }; + + setTimeout(completeDeleteOriginalIndexStep, delay); + }, [reindexState.meta.aliases.length]); + const updateStatus = useCallback(async () => { clearPollInterval(); @@ -114,15 +192,21 @@ export const useReindexStatus = ({ indexName, api }: { indexName: string; api: A return; } + if (data === null) { + return; + } + setReindexState((prevValue: ReindexState) => { return getReindexState(prevValue, data); }); - // Only keep polling if it exists and is in progress. if (data.reindexOp && data.reindexOp.status === ReindexStatus.inProgress) { + // Only keep polling if it exists and is in progress. pollIntervalIdRef.current = setTimeout(updateStatus, POLL_INTERVAL); + } else if (data.reindexOp && data.reindexOp.status === ReindexStatus.completed) { + simulateExtraSteps(); } - }, [clearPollInterval, api, indexName]); + }, [clearPollInterval, api, indexName, simulateExtraSteps]); const startReindex = useCallback(async () => { setReindexState((prevValue: ReindexState) => { @@ -153,7 +237,7 @@ export const useReindexStatus = ({ indexName, api }: { indexName: string; api: A } setReindexState((prevValue: ReindexState) => { - return getReindexState(prevValue, { reindexOp }); + return getReindexState(prevValue, { reindexOp, meta: prevValue.meta }); }); updateStatus(); }, [api, indexName, updateStatus]); @@ -179,6 +263,10 @@ export const useReindexStatus = ({ indexName, api }: { indexName: string; api: A } }, [api, indexName]); + useEffect(() => { + updateStatus(); + }, [updateStatus]); + useEffect(() => { isMounted.current = true; diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/es_deprecations.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/es_deprecations.tsx index 30f373c0d2a4b..65a44cad18f19 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/es_deprecations.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/es_deprecations.tsx @@ -8,7 +8,7 @@ import React, { useEffect, useMemo } from 'react'; import { withRouter, RouteComponentProps } from 'react-router-dom'; -import { EuiPageHeader, EuiSpacer, EuiPageContent, EuiLink } from '@elastic/eui'; +import { EuiPageHeader, EuiSpacer, EuiPageContent, EuiLink, EuiCallOut } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; import { DocLinksStart } from 'kibana/public'; @@ -46,11 +46,31 @@ const i18nTexts = { }), pageDescription: i18n.translate('xpack.upgradeAssistant.esDeprecations.pageDescription', { defaultMessage: - 'Resolve all critical issues before upgrading to the next major version of Elastic. Before making changes, make sure you have a current snapshot of your cluster. To upgrade to 8.x, you must reindex or remove indices created before 7.0.', + 'Resolve all critical issues before upgrading. Before making changes, ensure you have a current snapshot of your cluster. Indices created before 7.0 must be reindexed or removed, including hidden indices such as those used to store Machine Learning data.', }), isLoading: i18n.translate('xpack.upgradeAssistant.esDeprecations.loadingText', { defaultMessage: 'Loading deprecation issues…', }), + remoteClustersDetectedTitle: i18n.translate( + 'xpack.upgradeAssistant.esDeprecations.remoteClustersDetectedTitle', + { + defaultMessage: 'Remote cluster compatibility', + } + ), + getRemoteClustersDetectedDescription: (remoteClustersCount: number) => + i18n.translate('xpack.upgradeAssistant.esDeprecations.remoteClustersDetectedDescription', { + defaultMessage: + 'You have {remoteClustersCount} {remoteClustersCount, plural, one {remote cluster} other {remote clusters}} configured. If you use cross-cluster search, note that 8.x can only search remote clusters running the previous minor version or later. If you use cross-cluster replication, a cluster that contains follower indices must run the same or newer version as the remote cluster.', + values: { + remoteClustersCount, + }, + }), + remoteClustersLinkText: i18n.translate( + 'xpack.upgradeAssistant.esDeprecations.remoteClustersLinkText', + { + defaultMessage: 'View remote clusters.', + } + ), }; const getBatchReindexLink = (docLinks: DocLinksStart) => { @@ -75,6 +95,22 @@ const getBatchReindexLink = (docLinks: DocLinksStart) => { ); }; +const RemoteClustersAppLink: React.FunctionComponent = () => { + const { + plugins: { share }, + } = useAppContext(); + + const remoteClustersUrl = share.url.locators + .get('REMOTE_CLUSTERS_LOCATOR') + ?.useUrl({ page: 'remoteClusters' }); + + return ( + + {i18nTexts.remoteClustersLinkText} + + ); +}; + export const EsDeprecations = withRouter(({ history }: RouteComponentProps) => { const { services: { @@ -85,6 +121,7 @@ export const EsDeprecations = withRouter(({ history }: RouteComponentProps) => { } = useAppContext(); const { data: esDeprecations, isLoading, error, resendRequest } = api.useLoadEsDeprecations(); + const { data: remoteClusters } = api.useLoadRemoteClusters(); const deprecationsCountByLevel: { warningDeprecations: number; @@ -140,10 +177,29 @@ export const EsDeprecations = withRouter(({ history }: RouteComponentProps) => { } > - + <> + {remoteClusters && remoteClusters.length > 0 && ( + <> + +

    + {i18nTexts.getRemoteClustersDetectedDescription(remoteClusters.length)}{' '} + +

    + + + + )} + + + diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/es_deprecations_table.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/es_deprecations_table.tsx index 3d9b554913c5b..daeadebcbe0b9 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/es_deprecations_table.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/es_deprecations_table.tsx @@ -32,6 +32,7 @@ import { DefaultTableRow, IndexSettingsTableRow, ReindexTableRow, + ClusterSettingsTableRow, } from './deprecation_types'; import { DeprecationTableColumns } from '../types'; import { DEPRECATION_TYPE_MAP, PAGINATION_CONFIG } from '../constants'; @@ -119,6 +120,9 @@ const renderTableRowCells = ( case 'indexSetting': return ; + case 'clusterSetting': + return ; + case 'reindex': return ; diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/kibana_deprecations/kibana_deprecations.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/kibana_deprecations/kibana_deprecations.tsx index 6d350c328ad9f..3b4cd5acafb95 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/kibana_deprecations/kibana_deprecations.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/kibana_deprecations/kibana_deprecations.tsx @@ -30,8 +30,7 @@ const i18nTexts = { defaultMessage: 'Kibana deprecation issues', }), pageDescription: i18n.translate('xpack.upgradeAssistant.kibanaDeprecations.pageDescription', { - defaultMessage: - 'Resolve all critical issues before upgrading to the next major version of Elastic.', + defaultMessage: 'Resolve all critical issues before upgrading.', }), docLinkText: i18n.translate('xpack.upgradeAssistant.kibanaDeprecations.docLinkText', { defaultMessage: 'Documentation', diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/overview/fix_issues_step/fix_issues_step.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/overview/fix_issues_step/fix_issues_step.tsx index 6d0702ebcc79f..3812527c9a857 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/overview/fix_issues_step/fix_issues_step.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/overview/fix_issues_step/fix_issues_step.tsx @@ -7,13 +7,11 @@ import React, { FunctionComponent, useState, useEffect } from 'react'; -import { EuiText, EuiFlexItem, EuiFlexGroup, EuiSpacer, EuiLink } from '@elastic/eui'; +import { EuiText, EuiFlexItem, EuiFlexGroup, EuiSpacer } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; import type { EuiStepProps } from '@elastic/eui/src/components/steps/step'; -import { DEPRECATION_LOGS_INDEX } from '../../../../../common/constants'; -import { WithPrivileges } from '../../../../shared_imports'; import type { OverviewStepProps } from '../../types'; import { EsDeprecationIssuesPanel, KibanaDeprecationIssuesPanel } from './components'; @@ -51,48 +49,10 @@ const FixIssuesStep: FunctionComponent = ({ setIsComplete }) => { ); }; -interface CustomProps { - navigateToEsDeprecationLogs: () => void; -} - -const AccessDeprecationLogsMessage = ({ navigateToEsDeprecationLogs }: CustomProps) => { - return ( - - {({ hasPrivileges, isLoading }) => { - if (isLoading || !hasPrivileges) { - // Don't show the message with the link to access deprecation logs - // to users who can't access the UI anyways. - return null; - } - - return ( - - {i18n.translate('xpack.upgradeAssistant.overview.esDeprecationLogsLink', { - defaultMessage: 'Elasticsearch deprecation logs', - })} -
    - ), - }} - /> - ); - }} - - ); -}; - export const getFixIssuesStep = ({ isComplete, setIsComplete, - navigateToEsDeprecationLogs, -}: OverviewStepProps & CustomProps): EuiStepProps => { +}: OverviewStepProps): EuiStepProps => { const status = isComplete ? 'complete' : 'incomplete'; return { @@ -105,14 +65,7 @@ export const getFixIssuesStep = ({

    - ), - }} + defaultMessage="You must resolve any critical Elasticsearch and Kibana configuration issues before upgrading to Elastic 8.x. Ignoring warnings might result in differences in behavior after you upgrade." />

    diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/overview/logs_step/index.ts b/x-pack/plugins/upgrade_assistant/public/application/components/overview/logs_step/index.ts new file mode 100644 index 0000000000000..96e6cf4d71c08 --- /dev/null +++ b/x-pack/plugins/upgrade_assistant/public/application/components/overview/logs_step/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { getLogsStep } from './logs_step'; diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/overview/logs_step/logs_step.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/overview/logs_step/logs_step.tsx new file mode 100644 index 0000000000000..6f4bfcfa2791e --- /dev/null +++ b/x-pack/plugins/upgrade_assistant/public/application/components/overview/logs_step/logs_step.tsx @@ -0,0 +1,243 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useEffect } from 'react'; + +import { + EuiText, + EuiSpacer, + EuiButton, + EuiCallOut, + EuiLoadingContent, + EuiCode, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { FormattedDate, FormattedTime, FormattedMessage } from '@kbn/i18n/react'; +import type { EuiStepProps } from '@elastic/eui/src/components/steps/step'; + +import { DEPRECATION_LOGS_INDEX } from '../../../../../common/constants'; +import { WithPrivileges, MissingPrivileges } from '../../../../shared_imports'; +import { useAppContext } from '../../../app_context'; +import { loadLogsCheckpoint } from '../../../lib/logs_checkpoint'; +import type { OverviewStepProps } from '../../types'; +import { useDeprecationLogging } from '../../es_deprecation_logs'; + +const i18nTexts = { + logsStepTitle: i18n.translate('xpack.upgradeAssistant.overview.logsStep.title', { + defaultMessage: 'Address API deprecations', + }), + logsStepDescription: i18n.translate('xpack.upgradeAssistant.overview.logsStep.description', { + defaultMessage: `Review the Elasticsearch deprecation logs to ensure you're not using deprecated APIs.`, + }), + viewLogsButtonLabel: i18n.translate( + 'xpack.upgradeAssistant.overview.logsStep.viewLogsButtonLabel', + { + defaultMessage: 'View logs', + } + ), + enableLogsButtonLabel: i18n.translate( + 'xpack.upgradeAssistant.overview.logsStep.enableLogsButtonLabel', + { + defaultMessage: 'Enable logging', + } + ), + logsCountDescription: (deprecationCount: number, checkpoint: string) => ( + + {' '} + + + ), + }} + /> + ), + missingPrivilegesTitle: i18n.translate( + 'xpack.upgradeAssistant.overview.logsStep.missingPrivilegesTitle', + { + defaultMessage: 'You require index privileges to analyze the deprecation logs', + } + ), + missingPrivilegesDescription: (privilegesMissing: MissingPrivileges) => ( + {privilegesMissing?.index?.join(', ')} + ), + privilegesCount: privilegesMissing?.index?.length, + }} + /> + ), + loadingError: i18n.translate('xpack.upgradeAssistant.overview.logsStep.loadingError', { + defaultMessage: 'An error occurred while retrieving the deprecation log count', + }), + retryButton: i18n.translate('xpack.upgradeAssistant.overview.logsStep.retryButton', { + defaultMessage: 'Try again', + }), +}; + +interface LogStepProps { + setIsComplete: (isComplete: boolean) => void; + hasPrivileges: boolean; + privilegesMissing: MissingPrivileges; + navigateToEsDeprecationLogs: () => void; +} + +const LogStepDescription = () => ( + +

    {i18nTexts.logsStepDescription}

    +
    +); + +const LogsStep = ({ + setIsComplete, + hasPrivileges, + privilegesMissing, + navigateToEsDeprecationLogs, +}: LogStepProps) => { + const { + services: { api }, + } = useAppContext(); + + const { isDeprecationLogIndexingEnabled } = useDeprecationLogging(); + + const checkpoint = loadLogsCheckpoint(); + + const { + data: logsCount, + error, + isLoading, + resendRequest, + isInitialRequest, + } = api.getDeprecationLogsCount(checkpoint); + + useEffect(() => { + if (!isDeprecationLogIndexingEnabled) { + setIsComplete(false); + } + + setIsComplete(logsCount?.count === 0); + + // Depending upon setIsComplete would create an infinite loop. + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [isDeprecationLogIndexingEnabled, logsCount]); + + if (hasPrivileges === false && isDeprecationLogIndexingEnabled) { + return ( + <> + + + + + +

    {i18nTexts.missingPrivilegesDescription(privilegesMissing)}

    +
    + + ); + } + + if (isLoading && isInitialRequest) { + return ; + } + + if (hasPrivileges && error) { + return ( + +

    + {error.statusCode} - {error.message} +

    + + + {i18nTexts.retryButton} + +
    + ); + } + + return ( + <> + + + {isDeprecationLogIndexingEnabled && logsCount ? ( + <> + + + +

    + {i18nTexts.logsCountDescription(logsCount.count, checkpoint)} +

    +
    + + + + + {i18nTexts.viewLogsButtonLabel} + + + ) : ( + <> + + + + {i18nTexts.enableLogsButtonLabel} + + + )} + + + ); +}; + +interface CustomProps { + navigateToEsDeprecationLogs: () => void; +} + +export const getLogsStep = ({ + isComplete, + setIsComplete, + navigateToEsDeprecationLogs, +}: OverviewStepProps & CustomProps): EuiStepProps => { + const status = isComplete ? 'complete' : 'incomplete'; + + return { + status, + title: i18nTexts.logsStepTitle, + 'data-test-subj': `logsStep-${status}`, + children: ( + + {({ hasPrivileges, isLoading, privilegesMissing }) => ( + + )} + + ), + }; +}; diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/overview/migrate_system_indices/migrate_system_indices.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/overview/migrate_system_indices/migrate_system_indices.tsx index d14958148b2f8..2ae7a8b92abb3 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/overview/migrate_system_indices/migrate_system_indices.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/overview/migrate_system_indices/migrate_system_indices.tsx @@ -19,9 +19,11 @@ import { EuiFlexGroup, EuiFlexItem, EuiCode, + EuiLink, } from '@elastic/eui'; import type { EuiStepProps } from '@elastic/eui/src/components/steps/step'; +import { DocLinksStart } from 'kibana/public'; import type { SystemIndicesMigrationFeature } from '../../../../../common/types'; import type { OverviewStepProps } from '../../types'; import { useMigrateSystemIndices } from './use_migrate_system_indices'; @@ -48,9 +50,24 @@ const i18nTexts = { title: i18n.translate('xpack.upgradeAssistant.overview.systemIndices.title', { defaultMessage: 'Migrate system indices', }), - bodyDescription: i18n.translate('xpack.upgradeAssistant.overview.systemIndices.body', { - defaultMessage: 'Migrate the indices that store system information before you upgrade.', - }), + bodyDescription: (docLink: string) => { + return ( + + +
    + ), + }} + /> + ); + }, startButtonLabel: i18n.translate( 'xpack.upgradeAssistant.overview.systemIndices.startButtonLabel', { @@ -214,10 +231,15 @@ const MigrateSystemIndicesStep: FunctionComponent = ({ setIsComplete }) = ); }; +interface CustomProps { + docLinks: DocLinksStart; +} + export const getMigrateSystemIndicesStep = ({ isComplete, setIsComplete, -}: OverviewStepProps): EuiStepProps => { + docLinks, +}: OverviewStepProps & CustomProps): EuiStepProps => { const status = isComplete ? 'complete' : 'incomplete'; return { @@ -227,7 +249,7 @@ export const getMigrateSystemIndicesStep = ({ children: ( <> -

    {i18nTexts.bodyDescription}

    +

    {i18nTexts.bodyDescription(docLinks.links.elasticsearch.hiddenIndices)}

    diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/overview/overview.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/overview/overview.tsx index 1b329cba1c596..b6230393dacb8 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/overview/overview.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/overview/overview.tsx @@ -27,8 +27,10 @@ import { uiMetricService, UIM_OVERVIEW_PAGE_LOAD } from '../../lib/ui_metric'; import { getBackupStep } from './backup_step'; import { getFixIssuesStep } from './fix_issues_step'; import { getUpgradeStep } from './upgrade_step'; +import { getMigrateSystemIndicesStep } from './migrate_system_indices'; +import { getLogsStep } from './logs_step'; -type OverviewStep = 'backup' | 'fix_issues'; +type OverviewStep = 'backup' | 'migrate_system_indices' | 'fix_issues' | 'logs'; export const Overview = withRouter(({ history }: RouteComponentProps) => { const { @@ -49,7 +51,9 @@ export const Overview = withRouter(({ history }: RouteComponentProps) => { const [completedStepsMap, setCompletedStepsMap] = useState({ backup: false, + migrate_system_indices: false, fix_issues: false, + logs: false, }); const isStepComplete = (step: OverviewStep) => completedStepsMap[step]; @@ -69,7 +73,7 @@ export const Overview = withRouter(({ history }: RouteComponentProps) => { defaultMessage: 'Upgrade Assistant', })} description={i18n.translate('xpack.upgradeAssistant.overview.pageDescription', { - defaultMessage: 'Get ready for the next major version of Elastic!', + defaultMessage: 'Get ready for the next version of Elastic!', })} rightSideItems={[ { isComplete: isStepComplete('backup'), setIsComplete: setCompletedStep.bind(null, 'backup'), }), + getMigrateSystemIndicesStep({ + docLinks, + isComplete: isStepComplete('migrate_system_indices'), + setIsComplete: setCompletedStep.bind(null, 'migrate_system_indices'), + }), getFixIssuesStep({ isComplete: isStepComplete('fix_issues'), setIsComplete: setCompletedStep.bind(null, 'fix_issues'), + }), + getLogsStep({ + isComplete: isStepComplete('logs'), + setIsComplete: setCompletedStep.bind(null, 'logs'), navigateToEsDeprecationLogs: () => history.push('/es_deprecation_logs'), }), getUpgradeStep(), diff --git a/x-pack/plugins/upgrade_assistant/public/application/components/overview/upgrade_step/upgrade_step.tsx b/x-pack/plugins/upgrade_assistant/public/application/components/overview/upgrade_step/upgrade_step.tsx index 9ed318e80dfaa..3b2f6e9968fb3 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/components/overview/upgrade_step/upgrade_step.tsx +++ b/x-pack/plugins/upgrade_assistant/public/application/components/overview/upgrade_step/upgrade_step.tsx @@ -7,17 +7,147 @@ import React from 'react'; -import { EuiText, EuiSpacer } from '@elastic/eui'; +import { + EuiText, + EuiFlexItem, + EuiFlexGroup, + EuiSpacer, + EuiButton, + EuiButtonEmpty, + EuiCallOut, +} from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import type { EuiStepProps } from '@elastic/eui/src/components/steps/step'; +import { useAppContext } from '../../../app_context'; const i18nTexts = { upgradeStepTitle: i18n.translate('xpack.upgradeAssistant.overview.upgradeStepTitle', { - defaultMessage: `Check back here when it's time to upgrade to 8.x`, + defaultMessage: 'Upgrade to Elastic 8.x', }), upgradeStepDescription: i18n.translate('xpack.upgradeAssistant.overview.upgradeStepDescription', { - defaultMessage: `If you've resolved all critical issues and checked your deprecation logs, you're ready for the next major version of Elastic. Check this page again before upgrading to Elastic 8.x.`, + defaultMessage: + 'Once you’ve resolved all critical issues and verified that your applications are ready, you can upgrade to Elastic 8.x. Be sure to back up your data again before upgrading.', }), + upgradeStepDescriptionForCloud: i18n.translate( + 'xpack.upgradeAssistant.overview.upgradeStepDescriptionForCloud', + { + defaultMessage: + "Once you've resolved all critical issues and verified that your applications are ready, you can upgrade to Elastic 8.x. Be sure to back up your data again before upgrading. Upgrade your deployment on Elastic Cloud.", + } + ), + upgradeStepCloudLink: i18n.translate('xpack.upgradeAssistant.overview.upgradeStepCloudLink', { + defaultMessage: 'Upgrade on Cloud', + }), + loadingUpgradeStatus: i18n.translate('xpack.upgradeAssistant.overview.loadingUpgradeStatus', { + defaultMessage: 'Loading upgrade status', + }), + upgradeGuideLink: i18n.translate('xpack.upgradeAssistant.overview.upgradeGuideLink', { + defaultMessage: 'View upgrade guide', + }), +}; + +const UpgradeStep = () => { + const { + plugins: { cloud }, + services: { + api, + core: { docLinks }, + }, + } = useAppContext(); + const isCloudEnabled: boolean = Boolean(cloud?.isCloudEnabled); + + const { data: upgradeStatus, isLoading, error, resendRequest } = api.useLoadUpgradeStatus(); + + let callToAction; + + if (isCloudEnabled) { + if (error) { + callToAction = ( + +

    + {error.statusCode} - {error.message} +

    + + {i18n.translate('xpack.upgradeAssistant.overview.upgradeStatus.retryButton', { + defaultMessage: 'Try again', + })} + +
    + ); + } else { + const readyForUpgrade = upgradeStatus?.readyForUpgrade; + const upgradeOnCloudUrl = cloud!.deploymentUrl + '?show_upgrade=true'; + callToAction = ( + + + + {isLoading ? i18nTexts.loadingUpgradeStatus : i18nTexts.upgradeStepCloudLink} + + + + + + {i18nTexts.upgradeGuideLink} + + + + ); + } + } else { + callToAction = ( + + {i18nTexts.upgradeGuideLink} + + ); + } + + return ( + <> + +

    + {isCloudEnabled + ? i18nTexts.upgradeStepDescriptionForCloud + : i18nTexts.upgradeStepDescription} +

    +
    + + + + {callToAction} + + ); }; export const getUpgradeStep = (): EuiStepProps => { @@ -25,14 +155,6 @@ export const getUpgradeStep = (): EuiStepProps => { title: i18nTexts.upgradeStepTitle, status: 'incomplete', 'data-test-subj': 'upgradeStep', - children: ( - <> - -

    {i18nTexts.upgradeStepDescription}

    -
    - - - - ), + children: , }; }; diff --git a/x-pack/plugins/upgrade_assistant/public/application/lib/api.ts b/x-pack/plugins/upgrade_assistant/public/application/lib/api.ts index 8b967d994af9b..f55a6c04c640e 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/lib/api.ts +++ b/x-pack/plugins/upgrade_assistant/public/application/lib/api.ts @@ -13,6 +13,7 @@ import { ClusterUpgradeState, ResponseError, SystemIndicesMigrationStatus, + ReindexStatusResponse, } from '../../../common/types'; import { API_BASE_PATH, @@ -209,7 +210,7 @@ export class ApiService { } public async getReindexStatus(indexName: string) { - return await this.sendRequest({ + return await this.sendRequest({ path: `${API_BASE_PATH}/reindex/${indexName}`, method: 'get', }); @@ -228,6 +229,47 @@ export class ApiService { method: 'post', }); } + + public useLoadUpgradeStatus() { + return this.useRequest<{ + readyForUpgrade: boolean; + details: string; + }>({ + path: `${API_BASE_PATH}/status`, + method: 'get', + }); + } + + public async updateClusterSettings(settings: string[]) { + return await this.sendRequest({ + path: `${API_BASE_PATH}/cluster_settings`, + method: 'post', + body: { + settings: JSON.stringify(settings), + }, + }); + } + + public useLoadRemoteClusters() { + return this.useRequest({ + path: `${API_BASE_PATH}/remote_clusters`, + method: 'get', + }); + } + + public useLoadNodeDiskSpace() { + return this.useRequest< + Array<{ + nodeId: string; + nodeName: string; + available: string; + lowDiskWatermarkSetting: string; + }> + >({ + path: `${API_BASE_PATH}/node_disk_space`, + method: 'get', + }); + } } export const apiService = new ApiService(); diff --git a/x-pack/plugins/upgrade_assistant/public/application/lib/ui_metric.ts b/x-pack/plugins/upgrade_assistant/public/application/lib/ui_metric.ts index 1ac34ae53194d..078e3e641569e 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/lib/ui_metric.ts +++ b/x-pack/plugins/upgrade_assistant/public/application/lib/ui_metric.ts @@ -26,6 +26,7 @@ export const UIM_ML_SNAPSHOT_UPGRADE_CLICK = 'ml_snapshot_upgrade_click'; export const UIM_ML_SNAPSHOT_DELETE_CLICK = 'ml_snapshot_delete_click'; export const UIM_INDEX_SETTINGS_DELETE_CLICK = 'index_settings_delete_click'; export const UIM_KIBANA_QUICK_RESOLVE_CLICK = 'kibana_quick_resolve_click'; +export const UIM_CLUSTER_SETTINGS_DELETE_CLICK = 'cluster_settings_delete_click'; export class UiMetricService { private usageCollection: UsageCollectionSetup | undefined; diff --git a/x-pack/plugins/upgrade_assistant/public/application/lib/utils.test.ts b/x-pack/plugins/upgrade_assistant/public/application/lib/utils.test.ts index 37392c832ecf5..b8eb245b631f6 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/lib/utils.test.ts +++ b/x-pack/plugins/upgrade_assistant/public/application/lib/utils.test.ts @@ -54,15 +54,53 @@ describe('getReindexProgressLabel', () => { expect(getReindexProgressLabel(0, ReindexStep.reindexStarted)).toBe('10%'); }); - it('returns 53% when the reindexing documents progress is 0.5', () => { - expect(getReindexProgressLabel(0.5, ReindexStep.reindexStarted)).toBe('53%'); + it('returns 50% when the reindexing documents progress is 0.5', () => { + expect(getReindexProgressLabel(0.5, ReindexStep.reindexStarted)).toBe('50%'); }); - it('returns 95% when the reindexing documents progress is 1', () => { - expect(getReindexProgressLabel(1, ReindexStep.reindexStarted)).toBe('95%'); + it('returns 90% when the reindexing documents progress is 1', () => { + expect(getReindexProgressLabel(1, ReindexStep.reindexStarted)).toBe('90%'); }); - it('returns 100% when alias has been switched', () => { - expect(getReindexProgressLabel(null, ReindexStep.aliasCreated)).toBe('100%'); + it('returns 95% when alias has been created', () => { + expect(getReindexProgressLabel(null, ReindexStep.aliasCreated)).toBe('95%'); + }); + + it('returns 100% when original index has been deleted', () => { + expect(getReindexProgressLabel(null, ReindexStep.originalIndexDeleted)).toBe('100%'); + }); + + describe('when there are existing aliases', () => { + const withExistingAliases = true; + + it('returns 48% when the reindexing documents progress is 0.5', () => { + expect(getReindexProgressLabel(0.5, ReindexStep.reindexStarted, withExistingAliases)).toBe( + '48%' + ); + }); + + it('returns 85% when the reindexing documents progress is 1', () => { + expect(getReindexProgressLabel(1, ReindexStep.reindexStarted, withExistingAliases)).toBe( + '85%' + ); + }); + + it('returns 90% when alias has been created', () => { + expect(getReindexProgressLabel(null, ReindexStep.aliasCreated, withExistingAliases)).toBe( + '90%' + ); + }); + + it('returns 95% when original index has been deleted', () => { + expect( + getReindexProgressLabel(null, ReindexStep.originalIndexDeleted, withExistingAliases) + ).toBe('95%'); + }); + + it('returns 100% when original index has been deleted', () => { + expect( + getReindexProgressLabel(null, ReindexStep.existingAliasesUpdated, withExistingAliases) + ).toBe('100%'); + }); }); }); diff --git a/x-pack/plugins/upgrade_assistant/public/application/lib/utils.ts b/x-pack/plugins/upgrade_assistant/public/application/lib/utils.ts index bdbc0949e368b..b13b20e7016f9 100644 --- a/x-pack/plugins/upgrade_assistant/public/application/lib/utils.ts +++ b/x-pack/plugins/upgrade_assistant/public/application/lib/utils.ts @@ -37,15 +37,17 @@ export const getDeprecationsUpperLimit = (count: number) => { }; /* - * Reindexing task consists of 4 steps: making the index read-only, creating a new index, - * reindexing documents into the new index and switching alias from the old to the new index. - * Steps 1, 2 and 4 each contribute 5% to the overall progress. + * Reindexing task consists of 5 (or 6) steps: making the index read-only, creating a new index, + * reindexing documents into the new index, creating an alias to point to the newly created index, + * delete the original index, (optionally) update existing aliases to point to the new index. + * Steps 1, 2 and 4, 5 & 6 each contribute 5% to the overall progress. * Step 3 (reindexing documents) can take a long time for large indices and its progress is calculated - * between 10% and 95% of the overall progress depending on its completeness percentage. + * between 10% and 90% of the overall progress depending on its completeness percentage. */ export const getReindexProgressLabel = ( reindexTaskPercComplete: number | null, - lastCompletedStep: ReindexStep | undefined + lastCompletedStep: ReindexStep | undefined, + hasExistingAliases: boolean = false ): string => { let percentsComplete = 0; switch (lastCompletedStep) { @@ -66,16 +68,28 @@ export const getReindexProgressLabel = ( case ReindexStep.reindexStarted: { // step 3 started, 10-95% progress depending on progress of reindexing documents in ES percentsComplete = - reindexTaskPercComplete !== null ? 10 + Math.round(reindexTaskPercComplete * 85) : 10; + reindexTaskPercComplete !== null + ? 10 + Math.round(reindexTaskPercComplete * (hasExistingAliases ? 75 : 80)) + : 10; break; } case ReindexStep.reindexCompleted: { - // step 3 completed, only step 4 remaining, 95% progress - percentsComplete = 95; + // step 3 completed + percentsComplete = hasExistingAliases ? 85 : 90; break; } case ReindexStep.aliasCreated: { - // step 4 completed, 100% progress + // step 4 completed + percentsComplete = hasExistingAliases ? 90 : 95; + break; + } + case ReindexStep.originalIndexDeleted: { + // step 5 completed + percentsComplete = hasExistingAliases ? 95 : 100; + break; + } + case ReindexStep.existingAliasesUpdated: { + // step 6 completed, 100% progress percentsComplete = 100; break; } diff --git a/x-pack/plugins/upgrade_assistant/public/shared_imports.ts b/x-pack/plugins/upgrade_assistant/public/shared_imports.ts index c6c00f34bfadf..45d540d4acc0e 100644 --- a/x-pack/plugins/upgrade_assistant/public/shared_imports.ts +++ b/x-pack/plugins/upgrade_assistant/public/shared_imports.ts @@ -21,6 +21,7 @@ export { WithPrivileges, AuthorizationProvider, AuthorizationContext, + NotAuthorizedSection, } from '../../../../src/plugins/es_ui_shared/public/'; export { Storage } from '../../../../src/plugins/kibana_utils/public'; diff --git a/x-pack/plugins/upgrade_assistant/server/lib/__fixtures__/fake_deprecations.json b/x-pack/plugins/upgrade_assistant/server/lib/__fixtures__/fake_deprecations.json index 2337e0e2dc039..a83d8d231d142 100644 --- a/x-pack/plugins/upgrade_assistant/server/lib/__fixtures__/fake_deprecations.json +++ b/x-pack/plugins/upgrade_assistant/server/lib/__fixtures__/fake_deprecations.json @@ -85,12 +85,22 @@ "deprecated_settings": [ { "level": "warning", - "message": "translog retention settings are ignored", + "message": "Setting [index.routing.allocation.include._tier] is deprecated", "url": - "https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-translog.html", + "https://www.elastic.co/guide/en/elasticsearch/reference/7.16/migrating-7.13.html#deprecate-tier-filter-setting", "details": - "translog retention settings [index.translog.retention.size] and [index.translog.retention.age] are ignored because translog is no longer used in peer recoveries with soft-deletes enabled (default in 7.0 or later)", - "resolve_during_rolling_upgrade": false + "Remove the [index.routing.allocation.include._tier] setting. Use [index.routing.allocation.include._tier_preference] to control allocation to data tiers.", + "resolve_during_rolling_upgrade": false, + "_meta": { + "actions": [ + { + "action_type": "remove_settings", + "objects": [ + "index.routing.allocation.include._tier" + ] + } + ] + } } ], ".kibana": [ diff --git a/x-pack/plugins/upgrade_assistant/server/lib/__snapshots__/es_deprecations_status.test.ts.snap b/x-pack/plugins/upgrade_assistant/server/lib/__snapshots__/es_deprecations_status.test.ts.snap index be9ea11a4886e..de0154037f9ba 100644 --- a/x-pack/plugins/upgrade_assistant/server/lib/__snapshots__/es_deprecations_status.test.ts.snap +++ b/x-pack/plugins/upgrade_assistant/server/lib/__snapshots__/es_deprecations_status.test.ts.snap @@ -101,18 +101,17 @@ Object { Object { "correctiveAction": Object { "deprecatedSettings": Array [ - "translog.retention.size", - "translog.retention.age", + "index.routing.allocation.include._tier", ], "type": "indexSetting", }, - "details": "translog retention settings [index.translog.retention.size] and [index.translog.retention.age] are ignored because translog is no longer used in peer recoveries with soft-deletes enabled (default in 7.0 or later)", + "details": "Remove the [index.routing.allocation.include._tier] setting. Use [index.routing.allocation.include._tier_preference] to control allocation to data tiers.", "index": "deprecated_settings", "isCritical": false, - "message": "translog retention settings are ignored", + "message": "Setting [index.routing.allocation.include._tier] is deprecated", "resolveDuringUpgrade": false, "type": "index_settings", - "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-translog.html", + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/7.16/migrating-7.13.html#deprecate-tier-filter-setting", }, Object { "correctiveAction": undefined, diff --git a/x-pack/plugins/upgrade_assistant/server/lib/es_deprecations_status.ts b/x-pack/plugins/upgrade_assistant/server/lib/es_deprecations_status.ts index 06e4e08e75639..0fec73ae39a47 100644 --- a/x-pack/plugins/upgrade_assistant/server/lib/es_deprecations_status.ts +++ b/x-pack/plugins/upgrade_assistant/server/lib/es_deprecations_status.ts @@ -7,7 +7,6 @@ import type { estypes } from '@elastic/elasticsearch'; import { IScopedClusterClient } from 'src/core/server'; -import { indexSettingDeprecations } from '../../common/constants'; import { EnrichedDeprecationInfo, ESUpgradeStatus } from '../../common/types'; import { esIndicesStateCheck } from './es_indices_state_check'; @@ -94,6 +93,8 @@ const getCombinedIndexInfos = async ( message, url, level, + // @ts-expect-error @elastic/elasticsearch _meta not available yet in MigrationDeprecationInfoResponse + _meta: metadata, // @ts-expect-error @elastic/elasticsearch resolve_during_rolling_upgrade not available yet in MigrationDeprecationInfoResponse resolve_during_rolling_upgrade: resolveDuringUpgrade, }) => @@ -104,7 +105,7 @@ const getCombinedIndexInfos = async ( index: indexName, type: 'index_settings', isCritical: level === 'critical', - correctiveAction: getCorrectiveAction(message), + correctiveAction: getCorrectiveAction(message, metadata, indexName), resolveDuringUpgrade, } as EnrichedDeprecationInfo) ) @@ -130,15 +131,33 @@ const getCombinedIndexInfos = async ( return indices as EnrichedDeprecationInfo[]; }; +interface Action { + action_type: 'remove_settings'; + objects: string[]; +} + +interface Actions { + actions: Action[]; +} + +type EsMetadata = Actions & { + [key: string]: string; +}; + const getCorrectiveAction = ( message: string, - metadata?: { [key: string]: string } + metadata: EsMetadata, + indexName?: string ): EnrichedDeprecationInfo['correctiveAction'] => { - const indexSettingDeprecation = Object.values(indexSettingDeprecations).find( - ({ deprecationMessage }) => deprecationMessage === message + const indexSettingDeprecation = metadata?.actions?.find( + (action) => action.action_type === 'remove_settings' && indexName + ); + const clusterSettingDeprecation = metadata?.actions?.find( + (action) => action.action_type === 'remove_settings' && typeof indexName === 'undefined' ); const requiresReindexAction = /Index created before/.test(message); const requiresIndexSettingsAction = Boolean(indexSettingDeprecation); + const requiresClusterSettingsAction = Boolean(clusterSettingDeprecation); const requiresMlAction = /[Mm]odel snapshot/.test(message); if (requiresReindexAction) { @@ -150,7 +169,14 @@ const getCorrectiveAction = ( if (requiresIndexSettingsAction) { return { type: 'indexSetting', - deprecatedSettings: indexSettingDeprecation!.settings, + deprecatedSettings: indexSettingDeprecation!.objects, + }; + } + + if (requiresClusterSettingsAction) { + return { + type: 'clusterSetting', + deprecatedSettings: clusterSettingDeprecation!.objects, }; } diff --git a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/credential_store.ts b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/credential_store.ts index 66885a23cf96b..b3d4d5e165a13 100644 --- a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/credential_store.ts +++ b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/credential_store.ts @@ -16,10 +16,14 @@ import { ReindexSavedObject, ReindexStatus } from '../../../common/types'; export type Credential = Record; // Generates a stable hash for the reindex operation's current state. -const getHash = (reindexOp: ReindexSavedObject) => - createHash('sha256') - .update(stringify({ id: reindexOp.id, ...reindexOp.attributes })) +const getHash = (reindexOp: ReindexSavedObject) => { + // Remove reindexOptions from the SO attributes as it creates an unstable hash + // This needs further investigation, see: https://github.com/elastic/kibana/issues/123752 + const { reindexOptions, ...attributes } = reindexOp.attributes; + return createHash('sha256') + .update(stringify({ id: reindexOp.id, ...attributes })) .digest('base64'); +}; // Returns a base64-encoded API key string or undefined const getApiKey = async ({ diff --git a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/index.ts b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/index.ts index c1ff38b08678f..1ab6a26e90ffb 100644 --- a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/index.ts +++ b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/index.ts @@ -7,3 +7,4 @@ export { reindexServiceFactory } from './reindex_service'; export { ReindexWorker } from './worker'; +export { generateNewIndexName } from './index_settings'; diff --git a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_service.test.ts b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_service.test.ts index bc66c63471656..23b790581e6f9 100644 --- a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_service.test.ts +++ b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_service.test.ts @@ -164,13 +164,17 @@ describe('reindexService', () => { }); const reindexWarnings = await service.detectReindexWarnings(indexName); - expect(reindexWarnings).toEqual([]); + expect(reindexWarnings).toEqual([ + { + warningType: 'replaceIndexWithAlias', + }, + ]); }); it('returns null if index does not exist', async () => { actions.getFlatSettings.mockResolvedValueOnce(null); const reindexWarnings = await service.detectReindexWarnings('myIndex'); - expect(reindexWarnings).toBeNull(); + expect(reindexWarnings).toBeUndefined(); }); }); diff --git a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_service.ts b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_service.ts index 6140111374864..ed02c010ca5d9 100644 --- a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_service.ts +++ b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_service.ts @@ -42,7 +42,7 @@ export interface ReindexService { * Resolves to null if index does not exist. * @param indexName */ - detectReindexWarnings(indexName: string): Promise; + detectReindexWarnings(indexName: string): Promise; /** * Creates a new reindex operation for a given index. @@ -115,6 +115,8 @@ export interface ReindexService { * @param indexName */ cancelReindexing(indexName: string): Promise; + + getIndexAliases(indexName: string): any; } export const reindexServiceFactory = ( @@ -189,15 +191,26 @@ export const reindexServiceFactory = ( const { settings, mappings } = transformFlatSettings(flatSettings); - const { body: createIndex } = await esClient.indices.create({ - index: newIndexName, - body: { - settings, - mappings, - }, - }); + let createIndex; + try { + createIndex = await esClient.indices.create({ + index: newIndexName, + body: { + settings, + mappings, + }, + }); + } catch (err) { + // If for any reason the new index name generated by the `generateNewIndexName` already + // exists (this could happen if kibana is restarted during reindexing), we can just go + // ahead with the process without needing to create the index again. + // See: https://github.com/elastic/kibana/issues/123816 + if (err?.body?.error?.type !== 'resource_already_exists_exception') { + throw err; + } + } - if (!createIndex.acknowledged) { + if (createIndex && !createIndex?.body?.acknowledged) { throw error.cannotCreateIndex(`Index could not be created: ${newIndexName}`); } @@ -280,12 +293,8 @@ export const reindexServiceFactory = ( // Do any other cleanup work necessary reindexOp = await cleanupChanges(reindexOp); } else { - // Check that it reindexed all documents - const { - body: { count }, - } = await esClient.count({ index: reindexOp.attributes.indexName }); - - if (taskResponse.task.status!.created < count) { + // Check that no failures occurred + if (taskResponse.response?.failures?.length) { // Include the entire task result in the error message. This should be guaranteed // to be JSON-serializable since it just came back from Elasticsearch. throw error.reindexTaskFailed(`Reindexing failed: ${JSON.stringify(taskResponse)}`); @@ -311,6 +320,14 @@ export const reindexServiceFactory = ( return reindexOp; }; + const getIndexAliases = async (indexName: string) => { + const { body: response } = await esClient.indices.getAlias({ + index: indexName, + }); + + return response[indexName]?.aliases ?? {}; + }; + /** * Creates an alias that points the old index to the new index, deletes the old index. * @param reindexOp @@ -318,11 +335,7 @@ export const reindexServiceFactory = ( const switchAlias = async (reindexOp: ReindexSavedObject) => { const { indexName, newIndexName, reindexOptions } = reindexOp.attributes; - const { body: response } = await esClient.indices.getAlias({ - index: indexName, - }); - - const existingAliases = response[indexName].aliases; + const existingAliases = await getIndexAliases(indexName); const extraAliases = Object.keys(existingAliases).map((aliasName) => ({ add: { index: newIndexName, alias: aliasName, ...existingAliases[aliasName] }, @@ -402,12 +415,20 @@ export const reindexServiceFactory = ( return resp.has_all_requested; }, - async detectReindexWarnings(indexName: string) { + async detectReindexWarnings(indexName: string): Promise { const flatSettings = await actions.getFlatSettings(indexName, true); if (!flatSettings) { - return null; + return undefined; } else { - return getReindexWarnings(flatSettings); + return [ + // By default all reindexing operations will replace an index with an alias (with the same name) + // pointing to a newly created "reindexed" index. This is destructive as delete operations originally + // done on the index itself will now need to be done to the "reindexed-{indexName}" + { + warningType: 'replaceIndexWithAlias', + }, + ...getReindexWarnings(flatSettings), + ]; } }, @@ -602,5 +623,7 @@ export const reindexServiceFactory = ( return reindexOp; }, + + getIndexAliases, }; }; diff --git a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/worker.ts b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/worker.ts index 9a6b17de64f4c..1acd2543ad540 100644 --- a/x-pack/plugins/upgrade_assistant/server/lib/reindexing/worker.ts +++ b/x-pack/plugins/upgrade_assistant/server/lib/reindexing/worker.ts @@ -49,7 +49,31 @@ export class ReindexWorker { private readonly log: Logger; private readonly security: SecurityPluginStart; - constructor( + public static create( + client: SavedObjectsClientContract, + credentialStore: CredentialStore, + clusterClient: IClusterClient, + log: Logger, + licensing: LicensingPluginSetup, + security: SecurityPluginStart + ): ReindexWorker { + if (ReindexWorker.workerSingleton) { + log.debug(`More than one ReindexWorker cannot be created, returning existing worker.`); + } else { + ReindexWorker.workerSingleton = new ReindexWorker( + client, + credentialStore, + clusterClient, + log, + licensing, + security + ); + } + + return ReindexWorker.workerSingleton; + } + + private constructor( private client: SavedObjectsClientContract, private credentialStore: CredentialStore, private clusterClient: IClusterClient, @@ -60,10 +84,6 @@ export class ReindexWorker { this.log = log.get('reindex_worker'); this.security = security; - if (ReindexWorker.workerSingleton) { - throw new Error(`More than one ReindexWorker cannot be created.`); - } - const callAsInternalUser = this.clusterClient.asInternalUser; this.reindexService = reindexServiceFactory( @@ -72,8 +92,6 @@ export class ReindexWorker { log, this.licensing ); - - ReindexWorker.workerSingleton = this; } /** diff --git a/x-pack/plugins/upgrade_assistant/server/routes/cluster_settings.ts b/x-pack/plugins/upgrade_assistant/server/routes/cluster_settings.ts new file mode 100644 index 0000000000000..293befa305465 --- /dev/null +++ b/x-pack/plugins/upgrade_assistant/server/routes/cluster_settings.ts @@ -0,0 +1,81 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; +import { API_BASE_PATH } from '../../common/constants'; +import { versionCheckHandlerWrapper } from '../lib/es_version_precheck'; +import { RouteDependencies } from '../types'; + +export function registerClusterSettingsRoute({ + router, + lib: { handleEsError }, +}: RouteDependencies) { + router.post( + { + path: `${API_BASE_PATH}/cluster_settings`, + validate: { + body: schema.object({ + settings: schema.arrayOf(schema.string()), + }), + }, + }, + versionCheckHandlerWrapper( + async ( + { + core: { + elasticsearch: { client }, + }, + }, + request, + response + ) => { + try { + const { settings } = request.body; + + // We need to fetch the current cluster settings in order to determine + // if the settings to delete were set as transient or persistent settings + const { body: currentClusterSettings } = await client.asCurrentUser.cluster.getSettings({ + flat_settings: true, + }); + + const settingsToDelete = settings.reduce( + (settingsBody, currentSetting) => { + if ( + Object.keys(currentClusterSettings.persistent).find((key) => key === currentSetting) + ) { + settingsBody.persistent[currentSetting] = null; + } + + if ( + Object.keys(currentClusterSettings.transient).find((key) => key === currentSetting) + ) { + settingsBody.transient[currentSetting] = null; + } + + return settingsBody; + }, + { persistent: {}, transient: {} } as { + persistent: { [key: string]: null }; + transient: { [key: string]: null }; + } + ); + + const { body: settingsResponse } = await client.asCurrentUser.cluster.putSettings({ + body: settingsToDelete, + flat_settings: true, + }); + + return response.ok({ + body: settingsResponse, + }); + } catch (error) { + return handleEsError({ error, response }); + } + } + ) + ); +} diff --git a/x-pack/plugins/upgrade_assistant/server/routes/deprecation_logging.ts b/x-pack/plugins/upgrade_assistant/server/routes/deprecation_logging.ts index 5d7f0f67b0ca9..896bddb505511 100644 --- a/x-pack/plugins/upgrade_assistant/server/routes/deprecation_logging.ts +++ b/x-pack/plugins/upgrade_assistant/server/routes/deprecation_logging.ts @@ -5,8 +5,13 @@ * 2.0. */ +import moment from 'moment-timezone'; import { schema } from '@kbn/config-schema'; -import { API_BASE_PATH } from '../../common/constants'; +import { + API_BASE_PATH, + APPS_WITH_DEPRECATION_LOGS, + DEPRECATION_LOGS_ORIGIN_FIELD, +} from '../../common/constants'; import { getDeprecationLoggingStatus, @@ -104,13 +109,25 @@ export function registerDeprecationLoggingRoutes({ return response.ok({ body: { count: 0 } }); } + const now = moment().toISOString(); + const { body } = await client.asCurrentUser.count({ index: DEPRECATION_LOGS_INDEX, body: { query: { - range: { - '@timestamp': { - gte: request.query.from, + bool: { + must: { + range: { + '@timestamp': { + gte: request.query.from, + lte: now, + }, + }, + }, + must_not: { + terms: { + [DEPRECATION_LOGS_ORIGIN_FIELD]: [...APPS_WITH_DEPRECATION_LOGS], + }, }, }, }, diff --git a/x-pack/plugins/upgrade_assistant/server/routes/ml_snapshots.test.ts b/x-pack/plugins/upgrade_assistant/server/routes/ml_snapshots.test.ts index 995e3a46cef0e..603a18f2274b1 100644 --- a/x-pack/plugins/upgrade_assistant/server/routes/ml_snapshots.test.ts +++ b/x-pack/plugins/upgrade_assistant/server/routes/ml_snapshots.test.ts @@ -7,6 +7,7 @@ import { kibanaResponseFactory, RequestHandler } from 'src/core/server'; +import { errors as esErrors } from '@elastic/elasticsearch'; import { handleEsError } from '../shared_imports'; import { createMockRouter, MockRouter, routeHandlerContextMock } from './__mocks__/routes.mock'; import { createRequestMock } from './__mocks__/request.mock'; @@ -283,18 +284,15 @@ describe('ML snapshots APIs', () => { }); ( - routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.tasks.list as jest.Mock + routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.transport + .request as jest.Mock ).mockResolvedValue({ body: { - nodes: { - [NODE_ID]: { - tasks: { - [`${NODE_ID}:12345`]: { - description: `job-snapshot-upgrade-${JOB_ID}-${SNAPSHOT_ID}`, - }, - }, + model_snapshot_upgrades: [ + { + state: 'loading_old_state', }, - }, + ], }, }); @@ -321,7 +319,7 @@ describe('ML snapshots APIs', () => { }); }); - it('returns "complete" status if snapshot upgrade has completed', async () => { + it('fails when snapshot upgrade status returns has status="failed"', async () => { ( routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.ml .getModelSnapshots as jest.Mock @@ -359,17 +357,77 @@ describe('ML snapshots APIs', () => { }); ( - routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.tasks.list as jest.Mock + routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.transport + .request as jest.Mock ).mockResolvedValue({ body: { - nodes: { - [NODE_ID]: { - tasks: {}, + model_snapshot_upgrades: [ + { + state: 'failed', }, + ], + }, + }); + + const resp = await routeDependencies.router.getHandler({ + method: 'get', + pathPattern: '/api/upgrade_assistant/ml_snapshots/{jobId}/{snapshotId}', + })( + routeHandlerContextMock, + createRequestMock({ + params: { + snapshotId: SNAPSHOT_ID, + jobId: JOB_ID, }, + }), + kibanaResponseFactory + ); + + expect(resp.status).toEqual(500); + }); + + it('returns "complete" status if snapshot upgrade has completed', async () => { + ( + routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.ml + .getModelSnapshots as jest.Mock + ).mockResolvedValue({ + body: { + count: 1, + model_snapshots: [ + { + job_id: JOB_ID, + min_version: '6.4.0', + timestamp: 1575402237000, + description: 'State persisted due to job close at 2019-12-03T19:43:57+0000', + snapshot_id: SNAPSHOT_ID, + snapshot_doc_count: 1, + model_size_stats: {}, + latest_record_time_stamp: 1576971072000, + latest_result_time_stamp: 1576965600000, + retain: false, + }, + ], }, }); + (routeHandlerContextMock.core.savedObjects.client.find as jest.Mock).mockResolvedValue({ + total: 1, + saved_objects: [ + { + attributes: { + nodeId: NODE_ID, + jobId: JOB_ID, + snapshotId: SNAPSHOT_ID, + }, + }, + ], + }); + + ( + routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.transport + .request as jest.Mock + ).mockRejectedValue(new esErrors.ResponseError({ statusCode: 404 } as any)); + ( routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.migration .deprecations as jest.Mock diff --git a/x-pack/plugins/upgrade_assistant/server/routes/ml_snapshots.ts b/x-pack/plugins/upgrade_assistant/server/routes/ml_snapshots.ts index 1d30817ff1b75..457b1fe0a72ea 100644 --- a/x-pack/plugins/upgrade_assistant/server/routes/ml_snapshots.ts +++ b/x-pack/plugins/upgrade_assistant/server/routes/ml_snapshots.ts @@ -5,9 +5,12 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import { ResponseError } from '@elastic/elasticsearch/lib/errors'; +import { ApiResponse } from '@elastic/elasticsearch'; import { schema } from '@kbn/config-schema'; import { IScopedClusterClient, SavedObjectsClientContract } from 'kibana/server'; + import { API_BASE_PATH } from '../../common/constants'; import { MlOperation, ML_UPGRADE_OP_TYPE } from '../../common/types'; import { versionCheckHandlerWrapper } from '../lib/es_version_precheck'; @@ -75,10 +78,12 @@ const verifySnapshotUpgrade = async ( const isSuccessful = Boolean( mlSnapshotDeprecations.find((snapshotDeprecation) => { + // This regex will match all the bracket pairs from the deprecation message, at the moment + // that should match 3 pairs: snapshotId, jobId and version in which the snapshot was made. const regex = /(?<=\[).*?(?=\])/g; const matches = snapshotDeprecation.message.match(regex); - if (matches?.length === 2) { + if (matches?.length === 3) { // If there is no matching snapshot, we assume the deprecation was resolved successfully return matches[0] === snapshotId && matches[1] === jobId ? false : true; } @@ -98,7 +103,40 @@ const verifySnapshotUpgrade = async ( } }; -export function registerMlSnapshotRoutes({ router, lib: { handleEsError } }: RouteDependencies) { +interface ModelSnapshotUpgradeStatus { + model_snapshot_upgrades: Array<{ + state: 'saving_new_state' | 'loading_old_state' | 'stopped' | 'failed'; + }>; +} + +const getModelSnapshotUpgradeStatus = async ( + esClient: IScopedClusterClient, + jobId: string, + snapshotId: string +) => { + try { + const { body } = (await esClient.asCurrentUser.transport.request({ + method: 'GET', + path: `/_ml/anomaly_detectors/${jobId}/model_snapshots/${snapshotId}/_upgrade/_stats`, + })) as ApiResponse; + + return body && body.model_snapshot_upgrades[0]; + } catch (err) { + // If the api returns a 404 then it means that the model snapshot upgrade that was started + // doesn't exist. Since the start migration call returned success, this means the upgrade must have + // completed, so the upgrade assistant can continue to use its current logic. Otherwise we re-throw + // the exception so that it can be caught at route level. + if (err.statusCode !== 404) { + throw err; + } + } +}; + +export function registerMlSnapshotRoutes({ + router, + log, + lib: { handleEsError }, +}: RouteDependencies) { // Upgrade ML model snapshot router.post( { @@ -198,43 +236,37 @@ export function registerMlSnapshotRoutes({ router, lib: { handleEsError } }: Rou }); } + const upgradeStatus = await getModelSnapshotUpgradeStatus(esClient, jobId, snapshotId); + // Create snapshotInfo payload to send back in the response const snapshotOp = foundSnapshots.saved_objects[0]; - const { nodeId } = snapshotOp.attributes; - - // Now that we have the node ID, check the upgrade snapshot task progress - const { body: taskResponse } = await esClient.asCurrentUser.tasks.list({ - nodes: [nodeId], - actions: 'xpack/ml/job/snapshot/upgrade', - detailed: true, // necessary in order to filter if there are more than 1 snapshot upgrades in progress - }); - - const nodeTaskInfo = taskResponse?.nodes && taskResponse!.nodes[nodeId]; const snapshotInfo: MlOperation = { ...snapshotOp.attributes, }; - if (nodeTaskInfo) { - // Find the correct snapshot task ID based on the task description - const snapshotTaskId = Object.keys(nodeTaskInfo.tasks).find((task) => { - // The description is in the format of "job-snapshot-upgrade--" - const taskDescription = nodeTaskInfo.tasks[task].description; - const taskSnapshotAndJobIds = taskDescription!.replace('job-snapshot-upgrade-', ''); - const taskSnapshotAndJobIdParts = taskSnapshotAndJobIds.split('-'); - const taskSnapshotId = - taskSnapshotAndJobIdParts[taskSnapshotAndJobIdParts.length - 1]; - const taskJobId = taskSnapshotAndJobIdParts.slice(0, 1).join('-'); - - return taskSnapshotId === snapshotId && taskJobId === jobId; - }); - - // If the snapshot task exists, assume the upgrade is in progress - if (snapshotTaskId && nodeTaskInfo.tasks[snapshotTaskId]) { + if (upgradeStatus) { + if ( + upgradeStatus.state === 'loading_old_state' || + upgradeStatus.state === 'saving_new_state' + ) { return response.ok({ body: { ...snapshotInfo, status: 'in_progress', }, }); + } else if (upgradeStatus.state === 'failed') { + return response.customError({ + statusCode: 500, + body: { + message: i18n.translate( + 'xpack.upgradeAssistant.ml_snapshots.modelSnapshotUpgradeFailed', + { + defaultMessage: + 'The upgrade process for this model snapshot failed. Check the Elasticsearch logs for more details.', + } + ), + }, + }); } else { // The task ID was not found; verify the deprecation was resolved const { isSuccessful: isSnapshotDeprecationResolved, error: upgradeSnapshotError } = @@ -260,7 +292,7 @@ export function registerMlSnapshotRoutes({ router, lib: { handleEsError } }: Rou body: { message: upgradeSnapshotError?.body?.error?.reason || - 'There was an error upgrading your snapshot. Check the Elasticsearch logs for more details.', + 'The upgrade process for this model snapshot stopped yet the snapshot is not upgraded. Check the Elasticsearch logs for more details.', }, }); } @@ -284,12 +316,15 @@ export function registerMlSnapshotRoutes({ router, lib: { handleEsError } }: Rou }); } + log.error( + `Failed to determine status of the ML model upgrade, upgradeStatus is not defined and snapshot upgrade is not completed. snapshotId=${snapshotId} and jobId=${jobId}` + ); return response.customError({ statusCode: upgradeSnapshotError ? upgradeSnapshotError.statusCode : 500, body: { message: upgradeSnapshotError?.body?.error?.reason || - 'There was an error upgrading your snapshot. Check the Elasticsearch logs for more details.', + 'The upgrade process for this model snapshot completed yet the snapshot is not upgraded. Check the Elasticsearch logs for more details.', }, }); } diff --git a/x-pack/plugins/upgrade_assistant/server/routes/node_disk_space.test.ts b/x-pack/plugins/upgrade_assistant/server/routes/node_disk_space.test.ts new file mode 100644 index 0000000000000..7d4d8da1c585e --- /dev/null +++ b/x-pack/plugins/upgrade_assistant/server/routes/node_disk_space.test.ts @@ -0,0 +1,258 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { kibanaResponseFactory } from 'src/core/server'; +import { createMockRouter, MockRouter, routeHandlerContextMock } from './__mocks__/routes.mock'; +import { createRequestMock } from './__mocks__/request.mock'; +import { handleEsError } from '../shared_imports'; + +jest.mock('../lib/es_version_precheck', () => ({ + versionCheckHandlerWrapper: (a: any) => a, +})); + +import { registerNodeDiskSpaceRoute } from './node_disk_space'; + +describe('Disk space API', () => { + let mockRouter: MockRouter; + let routeDependencies: any; + + beforeEach(() => { + mockRouter = createMockRouter(); + routeDependencies = { + router: mockRouter, + lib: { handleEsError }, + }; + registerNodeDiskSpaceRoute(routeDependencies); + }); + + afterEach(() => { + jest.resetAllMocks(); + }); + + describe('GET /api/upgrade_assistant/node_disk_space', () => { + beforeEach(() => { + ( + routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.nodes.stats as jest.Mock + ).mockResolvedValue({ + body: { + nodes: { + '1YOaoS9lTNOiTxR1uzSgRA': { + name: 'node_name', + fs: { + total: { + // Keeping these numbers (inaccurately) small so it's easier to reason the math when scanning through :) + total_in_bytes: 100, + available_in_bytes: 20, + }, + }, + }, + }, + }, + }); + }); + + it('returns the default low watermark disk usage setting', async () => { + ( + routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.cluster + .getSettings as jest.Mock + ).mockResolvedValue({ + body: { + defaults: { + 'cluster.routing.allocation.disk.watermark.low': '75%', + }, + transient: {}, + persistent: {}, + }, + }); + + const resp = await routeDependencies.router.getHandler({ + method: 'get', + pathPattern: '/api/upgrade_assistant/node_disk_space', + })(routeHandlerContextMock, createRequestMock(), kibanaResponseFactory); + + expect(resp.status).toEqual(200); + expect(resp.payload).toEqual([ + { + nodeName: 'node_name', + nodeId: '1YOaoS9lTNOiTxR1uzSgRA', + available: '20%', + lowDiskWatermarkSetting: '75%', + }, + ]); + }); + + it('returns the persistent low watermark disk usage setting', async () => { + ( + routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.cluster + .getSettings as jest.Mock + ).mockResolvedValue({ + body: { + defaults: {}, + transient: {}, + persistent: { 'cluster.routing.allocation.disk.watermark.low': '75%' }, + }, + }); + + const resp = await routeDependencies.router.getHandler({ + method: 'get', + pathPattern: '/api/upgrade_assistant/node_disk_space', + })(routeHandlerContextMock, createRequestMock(), kibanaResponseFactory); + + expect(resp.status).toEqual(200); + expect(resp.payload).toEqual([ + { + nodeName: 'node_name', + nodeId: '1YOaoS9lTNOiTxR1uzSgRA', + available: '20%', + lowDiskWatermarkSetting: '75%', + }, + ]); + }); + + it('returns the transient low watermark disk usage setting', async () => { + ( + routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.cluster + .getSettings as jest.Mock + ).mockResolvedValue({ + body: { + defaults: {}, + transient: { 'cluster.routing.allocation.disk.watermark.low': '80%' }, + persistent: { 'cluster.routing.allocation.disk.watermark.low': '85%' }, + }, + }); + + const resp = await routeDependencies.router.getHandler({ + method: 'get', + pathPattern: '/api/upgrade_assistant/node_disk_space', + })(routeHandlerContextMock, createRequestMock(), kibanaResponseFactory); + + expect(resp.status).toEqual(200); + expect(resp.payload).toEqual([ + { + nodeName: 'node_name', + nodeId: '1YOaoS9lTNOiTxR1uzSgRA', + available: '20%', + lowDiskWatermarkSetting: '80%', + }, + ]); + }); + + it('returns nodes with low disk space when low watermark disk usage setting is bytes value', async () => { + ( + routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.cluster + .getSettings as jest.Mock + ).mockResolvedValue({ + body: { + defaults: { + 'cluster.routing.allocation.disk.watermark.low': '80b', + }, + transient: {}, + persistent: {}, + }, + }); + + const resp = await routeDependencies.router.getHandler({ + method: 'get', + pathPattern: '/api/upgrade_assistant/node_disk_space', + })(routeHandlerContextMock, createRequestMock(), kibanaResponseFactory); + + expect(resp.status).toEqual(200); + expect(resp.payload).toEqual([ + { + nodeName: 'node_name', + nodeId: '1YOaoS9lTNOiTxR1uzSgRA', + available: '20%', + lowDiskWatermarkSetting: '80b', + }, + ]); + }); + + it('returns empty array if low watermark disk usage setting is undefined', async () => { + ( + routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.cluster + .getSettings as jest.Mock + ).mockResolvedValue({ + body: { + defaults: {}, + transient: {}, + persistent: {}, + }, + }); + + const resp = await routeDependencies.router.getHandler({ + method: 'get', + pathPattern: '/api/upgrade_assistant/node_disk_space', + })(routeHandlerContextMock, createRequestMock(), kibanaResponseFactory); + + expect(resp.status).toEqual(200); + expect(resp.payload).toEqual([]); + }); + + it('returns empty array if nodes have not reached low disk usage', async () => { + ( + routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.cluster + .getSettings as jest.Mock + ).mockResolvedValue({ + body: { + defaults: { + 'cluster.routing.allocation.disk.watermark.low': '10%', + }, + transient: {}, + persistent: {}, + }, + }); + + const resp = await routeDependencies.router.getHandler({ + method: 'get', + pathPattern: '/api/upgrade_assistant/node_disk_space', + })(routeHandlerContextMock, createRequestMock(), kibanaResponseFactory); + + expect(resp.status).toEqual(200); + expect(resp.payload).toEqual([]); + }); + + describe('Error handling', () => { + it('returns an error if cluster.getSettings throws', async () => { + ( + routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.cluster + .getSettings as jest.Mock + ).mockRejectedValue(new Error('scary error!')); + await expect( + routeDependencies.router.getHandler({ + method: 'get', + pathPattern: '/api/upgrade_assistant/node_disk_space', + })(routeHandlerContextMock, createRequestMock(), kibanaResponseFactory) + ).rejects.toThrow('scary error!'); + }); + + it('returns an error if node.stats throws', async () => { + ( + routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.cluster + .getSettings as jest.Mock + ).mockResolvedValue({ + body: { + defaults: { + 'cluster.routing.allocation.disk.watermark.low': '85%', + }, + transient: {}, + persistent: {}, + }, + }); + + ( + routeHandlerContextMock.core.elasticsearch.client.asCurrentUser.nodes.stats as jest.Mock + ).mockRejectedValue(new Error('scary error!')); + await expect( + routeDependencies.router.getHandler({ + method: 'get', + pathPattern: '/api/upgrade_assistant/node_disk_space', + })(routeHandlerContextMock, createRequestMock(), kibanaResponseFactory) + ).rejects.toThrow('scary error!'); + }); + }); + }); +}); diff --git a/x-pack/plugins/upgrade_assistant/server/routes/node_disk_space.ts b/x-pack/plugins/upgrade_assistant/server/routes/node_disk_space.ts new file mode 100644 index 0000000000000..cd93742b83bc1 --- /dev/null +++ b/x-pack/plugins/upgrade_assistant/server/routes/node_disk_space.ts @@ -0,0 +1,138 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { ClusterGetSettingsResponse } from '@elastic/elasticsearch/api/types'; +import { ByteSizeValue } from '@kbn/config-schema'; +import { API_BASE_PATH } from '../../common/constants'; +import { versionCheckHandlerWrapper } from '../lib/es_version_precheck'; +import { RouteDependencies } from '../types'; + +interface NodeWithLowDiskSpace { + nodeId: string; + nodeName: string; + available: string; + lowDiskWatermarkSetting: string; +} + +const getLowDiskWatermarkSetting = ( + clusterSettings: ClusterGetSettingsResponse +): string | undefined => { + const { defaults, persistent, transient } = clusterSettings; + + const defaultLowDiskWatermarkSetting = + defaults && defaults['cluster.routing.allocation.disk.watermark.low']; + const transientLowDiskWatermarkSetting = + transient && transient['cluster.routing.allocation.disk.watermark.low']; + const persistentLowDiskWatermarkSetting = + persistent && persistent['cluster.routing.allocation.disk.watermark.low']; + + // ES applies cluster settings in the following order of precendence: transient, persistent, default + if (transientLowDiskWatermarkSetting) { + return transientLowDiskWatermarkSetting; + } else if (persistentLowDiskWatermarkSetting) { + return persistentLowDiskWatermarkSetting; + } else if (defaultLowDiskWatermarkSetting) { + return defaultLowDiskWatermarkSetting; + } + + // May be undefined if defined in elasticsearch.yml + return undefined; +}; + +export function registerNodeDiskSpaceRoute({ router, lib: { handleEsError } }: RouteDependencies) { + router.get( + { + path: `${API_BASE_PATH}/node_disk_space`, + validate: false, + }, + versionCheckHandlerWrapper( + async ( + { + core: { + elasticsearch: { client }, + }, + }, + request, + response + ) => { + try { + const { body: clusterSettings } = await client.asCurrentUser.cluster.getSettings({ + flat_settings: true, + include_defaults: true, + }); + + const lowDiskWatermarkSetting = getLowDiskWatermarkSetting(clusterSettings); + + if (lowDiskWatermarkSetting) { + const { body: nodeStats } = await client.asCurrentUser.nodes.stats({ + metric: 'fs', + }); + + const nodeIds = Object.keys(nodeStats.nodes); + + const nodesWithLowDiskSpace: NodeWithLowDiskSpace[] = []; + + nodeIds.forEach((nodeId) => { + const node = nodeStats.nodes[nodeId]; + const byteStats = node.fs.total; + const { total_in_bytes: totalInBytes, available_in_bytes: availableInBytes } = + byteStats; + + // Regex to determine if the low disk watermark setting is configured as a percentage value + // Elasticsearch accepts a percentage or bytes value + const isLowDiskWatermarkPercentage = /^(\d+|(\.\d+))(\.\d+)?%$/.test( + lowDiskWatermarkSetting! + ); + + if (isLowDiskWatermarkPercentage) { + const percentageAvailable = (availableInBytes / totalInBytes) * 100; + const rawLowDiskWatermarkPercentageValue = Number( + lowDiskWatermarkSetting!.replace('%', '') + ); + + // If the percentage available is < the low disk watermark setting, mark node as having low disk space + if (percentageAvailable < rawLowDiskWatermarkPercentageValue) { + nodesWithLowDiskSpace.push({ + nodeId, + nodeName: node.name, + available: `${Math.round(percentageAvailable)}%`, + lowDiskWatermarkSetting: lowDiskWatermarkSetting!, + }); + } + } else { + // If not a percentage value, assume user configured low disk watermark setting in bytes + const rawLowDiskWatermarkBytesValue = ByteSizeValue.parse( + lowDiskWatermarkSetting! + ).getValueInBytes(); + + const percentageAvailable = (availableInBytes / totalInBytes) * 100; + + // If bytes available < the low disk watermarket setting, mark node as having low disk space + if (availableInBytes < rawLowDiskWatermarkBytesValue) { + nodesWithLowDiskSpace.push({ + nodeId, + nodeName: node.name, + available: `${Math.round(percentageAvailable)}%`, + lowDiskWatermarkSetting: lowDiskWatermarkSetting!, + }); + } + } + }); + + return response.ok({ body: nodesWithLowDiskSpace }); + } + + // If the low disk watermark setting is undefined, send empty array + // This could occur if the setting is configured in elasticsearch.yml + return response.ok({ body: [] }); + } catch (error) { + return handleEsError({ error, response }); + } + } + ) + ); +} diff --git a/x-pack/plugins/upgrade_assistant/server/routes/register_routes.ts b/x-pack/plugins/upgrade_assistant/server/routes/register_routes.ts index b6c8850376684..ddac8c2576ee6 100644 --- a/x-pack/plugins/upgrade_assistant/server/routes/register_routes.ts +++ b/x-pack/plugins/upgrade_assistant/server/routes/register_routes.ts @@ -18,6 +18,9 @@ import { registerUpdateSettingsRoute } from './update_index_settings'; import { registerMlSnapshotRoutes } from './ml_snapshots'; import { ReindexWorker } from '../lib/reindexing'; import { registerUpgradeStatusRoute } from './status'; +import { registerRemoteClustersRoute } from './remote_clusters'; +import { registerNodeDiskSpaceRoute } from './node_disk_space'; +import { registerClusterSettingsRoute } from './cluster_settings'; export function registerRoutes(dependencies: RouteDependencies, getWorker: () => ReindexWorker) { registerAppRoutes(dependencies); @@ -32,4 +35,7 @@ export function registerRoutes(dependencies: RouteDependencies, getWorker: () => registerMlSnapshotRoutes(dependencies); // Route for cloud to retrieve the upgrade status for ES and Kibana registerUpgradeStatusRoute(dependencies); + registerRemoteClustersRoute(dependencies); + registerNodeDiskSpaceRoute(dependencies); + registerClusterSettingsRoute(dependencies); } diff --git a/x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/create_reindex_worker.ts b/x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/create_reindex_worker.ts index 72d68fc132cb6..d20912e56fe66 100644 --- a/x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/create_reindex_worker.ts +++ b/x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/create_reindex_worker.ts @@ -34,5 +34,5 @@ export function createReindexWorker({ security, }: CreateReindexWorker) { const esClient = elasticsearchService.client; - return new ReindexWorker(savedObjects, credentialStore, esClient, logger, licensing, security); + return ReindexWorker.create(savedObjects, credentialStore, esClient, logger, licensing, security); } diff --git a/x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/reindex_indices.test.ts b/x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/reindex_indices.test.ts index 9fcff5748a987..38a78f15f2b50 100644 --- a/x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/reindex_indices.test.ts +++ b/x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/reindex_indices.test.ts @@ -23,6 +23,7 @@ const mockReindexService = { processNextStep: jest.fn(), resumeReindexOperation: jest.fn(), cancelReindexing: jest.fn(), + getIndexAliases: jest.fn().mockResolvedValue({}), }; jest.mock('../../lib/es_version_precheck', () => ({ versionCheckHandlerWrapper: (a: any) => a, @@ -31,6 +32,7 @@ jest.mock('../../lib/es_version_precheck', () => ({ jest.mock('../../lib/reindexing', () => { return { reindexServiceFactory: () => mockReindexService, + generateNewIndexName: () => 'reindexed-foo', }; }); @@ -159,7 +161,7 @@ describe('reindex API', () => { expect(resp.status).toEqual(200); const data = resp.payload; - expect(data.reindexOp).toBeNull(); + expect(data.reindexOp).toBeUndefined(); expect(data.warnings).toBeNull(); }); }); diff --git a/x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/reindex_indices.ts b/x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/reindex_indices.ts index f5fefe55379c7..247918127e875 100644 --- a/x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/reindex_indices.ts +++ b/x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/reindex_indices.ts @@ -9,8 +9,9 @@ import { schema } from '@kbn/config-schema'; import { ResponseError } from '@elastic/elasticsearch/lib/errors'; import { API_BASE_PATH } from '../../../common/constants'; +import type { ReindexStatusResponse } from '../../../common/types'; import { versionCheckHandlerWrapper } from '../../lib/es_version_precheck'; -import { reindexServiceFactory, ReindexWorker } from '../../lib/reindexing'; +import { reindexServiceFactory, ReindexWorker, generateNewIndexName } from '../../lib/reindexing'; import { reindexActionsFactory } from '../../lib/reindexing/reindex_actions'; import { RouteDependencies } from '../../types'; import { mapAnyErrorToKibanaHttpResponse } from './map_any_error_to_kibana_http_response'; @@ -114,12 +115,21 @@ export function registerReindexIndicesRoutes( ? await reindexService.detectReindexWarnings(indexName) : []; - return response.ok({ - body: { - reindexOp: reindexOp ? reindexOp.attributes : null, - warnings, - hasRequiredPrivileges, + const indexAliases = await reindexService.getIndexAliases(indexName); + + const body: ReindexStatusResponse = { + reindexOp: reindexOp ? reindexOp.attributes : undefined, + warnings, + hasRequiredPrivileges, + meta: { + indexName, + reindexName: generateNewIndexName(indexName), + aliases: Object.keys(indexAliases), }, + }; + + return response.ok({ + body, }); } catch (error) { if (error instanceof ResponseError) { diff --git a/x-pack/plugins/upgrade_assistant/server/routes/remote_clusters.ts b/x-pack/plugins/upgrade_assistant/server/routes/remote_clusters.ts new file mode 100644 index 0000000000000..de2177cffa1fe --- /dev/null +++ b/x-pack/plugins/upgrade_assistant/server/routes/remote_clusters.ts @@ -0,0 +1,40 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { API_BASE_PATH } from '../../common/constants'; +import { versionCheckHandlerWrapper } from '../lib/es_version_precheck'; +import { RouteDependencies } from '../types'; + +export function registerRemoteClustersRoute({ router, lib: { handleEsError } }: RouteDependencies) { + router.get( + { + path: `${API_BASE_PATH}/remote_clusters`, + validate: false, + }, + versionCheckHandlerWrapper( + async ( + { + core: { + elasticsearch: { client }, + }, + }, + request, + response + ) => { + try { + const { body: clustersByName } = await client.asCurrentUser.cluster.remoteInfo(); + + const remoteClusters = Object.keys(clustersByName); + + return response.ok({ body: remoteClusters }); + } catch (error) { + return handleEsError({ error, response }); + } + } + ) + ); +} diff --git a/x-pack/plugins/upgrade_assistant/server/routes/status.test.ts b/x-pack/plugins/upgrade_assistant/server/routes/status.test.ts index b11993e2baa5a..2d19674d63a75 100644 --- a/x-pack/plugins/upgrade_assistant/server/routes/status.test.ts +++ b/x-pack/plugins/upgrade_assistant/server/routes/status.test.ts @@ -11,19 +11,79 @@ import { handleEsError } from '../shared_imports'; import { createMockRouter, MockRouter, routeHandlerContextMock } from './__mocks__/routes.mock'; import { createRequestMock } from './__mocks__/request.mock'; import { registerUpgradeStatusRoute } from './status'; +import { getESUpgradeStatus } from '../lib/es_deprecations_status'; +import { getKibanaUpgradeStatus } from '../lib/kibana_status'; +import { getESSystemIndicesMigrationStatus } from '../lib/es_system_indices_migration'; jest.mock('../lib/es_version_precheck', () => ({ versionCheckHandlerWrapper: (a: any) => a, })); -// Need to require to get mock on named export to work. -// eslint-disable-next-line @typescript-eslint/no-var-requires -const ESUpgradeStatusApis = require('../lib/es_deprecations_status'); -ESUpgradeStatusApis.getESUpgradeStatus = jest.fn(); +jest.mock('../lib/es_deprecations_status', () => ({ + getESUpgradeStatus: jest.fn(), +})); +const getESUpgradeStatusMock = getESUpgradeStatus as jest.Mock; -// eslint-disable-next-line @typescript-eslint/no-var-requires -const KibanaUpgradeStatusApis = require('../lib/kibana_status'); -KibanaUpgradeStatusApis.getKibanaUpgradeStatus = jest.fn(); +jest.mock('../lib/kibana_status', () => ({ + getKibanaUpgradeStatus: jest.fn(), +})); +const getKibanaUpgradeStatusMock = getKibanaUpgradeStatus as jest.Mock; + +jest.mock('../lib/es_system_indices_migration', () => ({ + getESSystemIndicesMigrationStatus: jest.fn(), +})); +const getESSystemIndicesMigrationStatusMock = getESSystemIndicesMigrationStatus as jest.Mock; + +const esDeprecationsResponse = { + cluster: [ + { + level: 'critical', + message: + 'Model snapshot [1] for job [deprecation_check_job] has an obsolete minimum version [6.3.0].', + details: 'Delete model snapshot [1] or update it to 7.0.0 or greater.', + url: 'doc_url', + correctiveAction: { + type: 'mlSnapshot', + snapshotId: '1', + jobId: 'deprecation_check_job', + }, + }, + ], + indices: [], + totalCriticalDeprecations: 1, +}; + +const esNoDeprecationsResponse = { + cluster: [], + indices: [], + totalCriticalDeprecations: 0, +}; + +const systemIndicesMigrationResponse = { + migration_status: 'MIGRATION_NEEDED', + features: [ + { + feature_name: 'machine_learning', + minimum_index_version: '7.1.1', + migration_status: 'MIGRATION_NEEDED', + indices: [ + { + index: '.ml-config', + version: '7.1.1', + }, + { + index: '.ml-notifications', + version: '7.1.1', + }, + ], + }, + ], +}; + +const systemIndicesNoMigrationResponse = { + migration_status: 'NO_MIGRATION_NEEDED', + features: [], +}; describe('Status API', () => { let mockRouter: MockRouter; @@ -43,30 +103,37 @@ describe('Status API', () => { }); describe('GET /api/upgrade_assistant/status', () => { - it('returns readyForUpgrade === false if Kibana or ES contain critical deprecations', async () => { - ESUpgradeStatusApis.getESUpgradeStatus.mockResolvedValue({ - cluster: [ - { - level: 'critical', - message: - 'Model snapshot [1] for job [deprecation_check_job] has an obsolete minimum version [6.3.0].', - details: 'Delete model snapshot [1] or update it to 7.0.0 or greater.', - url: 'doc_url', - correctiveAction: { - type: 'mlSnapshot', - snapshotId: '1', - jobId: 'deprecation_check_job', - }, - }, - ], - indices: [], + it('returns readyForUpgrade === false if Kibana or ES contain critical deprecations and no system indices need migration', async () => { + getESUpgradeStatusMock.mockResolvedValue(esDeprecationsResponse); + + getKibanaUpgradeStatusMock.mockResolvedValue({ totalCriticalDeprecations: 1, }); - KibanaUpgradeStatusApis.getKibanaUpgradeStatus.mockResolvedValue({ + getESSystemIndicesMigrationStatusMock.mockResolvedValue(systemIndicesNoMigrationResponse); + + const resp = await routeDependencies.router.getHandler({ + method: 'get', + pathPattern: '/api/upgrade_assistant/status', + })(routeHandlerContextMock, createRequestMock(), kibanaResponseFactory); + + expect(resp.status).toEqual(200); + expect(resp.payload).toEqual({ + readyForUpgrade: false, + details: + 'The following issues must be resolved before upgrading: 1 Elasticsearch deprecation issue, 1 Kibana deprecation issue.', + }); + }); + + it('returns readyForUpgrade === false if Kibana or ES contain critical deprecations and system indices need migration', async () => { + getESUpgradeStatusMock.mockResolvedValue(esDeprecationsResponse); + + getKibanaUpgradeStatusMock.mockResolvedValue({ totalCriticalDeprecations: 1, }); + getESSystemIndicesMigrationStatusMock.mockResolvedValue(systemIndicesMigrationResponse); + const resp = await routeDependencies.router.getHandler({ method: 'get', pathPattern: '/api/upgrade_assistant/status', @@ -76,21 +143,41 @@ describe('Status API', () => { expect(resp.payload).toEqual({ readyForUpgrade: false, details: - 'You have 1 Elasticsearch deprecation issue and 1 Kibana deprecation issue that must be resolved before upgrading.', + 'The following issues must be resolved before upgrading: 1 unmigrated system index, 1 Elasticsearch deprecation issue, 1 Kibana deprecation issue.', }); }); - it('returns readyForUpgrade === true if there are no critical deprecations', async () => { - ESUpgradeStatusApis.getESUpgradeStatus.mockResolvedValue({ - cluster: [], - indices: [], + it('returns readyForUpgrade === false if no critical Kibana or ES deprecations but system indices need migration', async () => { + getESUpgradeStatusMock.mockResolvedValue(esNoDeprecationsResponse); + + getKibanaUpgradeStatusMock.mockResolvedValue({ totalCriticalDeprecations: 0, }); - KibanaUpgradeStatusApis.getKibanaUpgradeStatus.mockResolvedValue({ + getESSystemIndicesMigrationStatusMock.mockResolvedValue(systemIndicesMigrationResponse); + + const resp = await routeDependencies.router.getHandler({ + method: 'get', + pathPattern: '/api/upgrade_assistant/status', + })(routeHandlerContextMock, createRequestMock(), kibanaResponseFactory); + + expect(resp.status).toEqual(200); + expect(resp.payload).toEqual({ + readyForUpgrade: false, + details: + 'The following issues must be resolved before upgrading: 1 unmigrated system index.', + }); + }); + + it('returns readyForUpgrade === true if there are no critical deprecations and no system indices need migration', async () => { + getESUpgradeStatusMock.mockResolvedValue(esNoDeprecationsResponse); + + getKibanaUpgradeStatusMock.mockResolvedValue({ totalCriticalDeprecations: 0, }); + getESSystemIndicesMigrationStatusMock.mockResolvedValue(systemIndicesNoMigrationResponse); + const resp = await routeDependencies.router.getHandler({ method: 'get', pathPattern: '/api/upgrade_assistant/status', @@ -104,9 +191,9 @@ describe('Status API', () => { }); it('returns an error if it throws', async () => { - ESUpgradeStatusApis.getESUpgradeStatus.mockRejectedValue(new Error('test error')); + getESUpgradeStatusMock.mockRejectedValue(new Error('test error')); - KibanaUpgradeStatusApis.getKibanaUpgradeStatus.mockResolvedValue({ + getKibanaUpgradeStatusMock.mockResolvedValue({ totalCriticalDeprecations: 0, }); diff --git a/x-pack/plugins/upgrade_assistant/server/routes/status.ts b/x-pack/plugins/upgrade_assistant/server/routes/status.ts index ce9bb2e1c55d0..9e8d3f9b2734b 100644 --- a/x-pack/plugins/upgrade_assistant/server/routes/status.ts +++ b/x-pack/plugins/upgrade_assistant/server/routes/status.ts @@ -10,6 +10,7 @@ import { API_BASE_PATH } from '../../common/constants'; import { getESUpgradeStatus } from '../lib/es_deprecations_status'; import { versionCheckHandlerWrapper } from '../lib/es_version_precheck'; import { getKibanaUpgradeStatus } from '../lib/kibana_status'; +import { getESSystemIndicesMigrationStatus } from '../lib/es_system_indices_migration'; import { RouteDependencies } from '../types'; /** @@ -37,10 +38,20 @@ export function registerUpgradeStatusRoute({ router, lib: { handleEsError } }: R const { totalCriticalDeprecations: esTotalCriticalDeps } = await getESUpgradeStatus( esClient ); + // Fetch system indices migration status + const { migration_status: systemIndicesMigrationStatus, features } = + await getESSystemIndicesMigrationStatus(esClient.asCurrentUser); + const notMigratedSystemIndices = features.filter( + (feature) => feature.migration_status !== 'NO_MIGRATION_NEEDED' + ).length; + // Fetch Kibana upgrade status const { totalCriticalDeprecations: kibanaTotalCriticalDeps } = await getKibanaUpgradeStatus(deprecationsClient); - const readyForUpgrade = esTotalCriticalDeps === 0 && kibanaTotalCriticalDeps === 0; + const readyForUpgrade = + esTotalCriticalDeps === 0 && + kibanaTotalCriticalDeps === 0 && + systemIndicesMigrationStatus === 'NO_MIGRATION_NEEDED'; const getStatusMessage = () => { if (readyForUpgrade) { @@ -52,10 +63,44 @@ export function registerUpgradeStatusRoute({ router, lib: { handleEsError } }: R ); } + const upgradeIssues: string[] = []; + + if (notMigratedSystemIndices) { + upgradeIssues.push( + i18n.translate('xpack.upgradeAssistant.status.systemIndicesMessage', { + defaultMessage: + '{notMigratedSystemIndices} unmigrated system {notMigratedSystemIndices, plural, one {index} other {indices}}', + values: { notMigratedSystemIndices }, + }) + ); + } + + if (esTotalCriticalDeps) { + upgradeIssues.push( + i18n.translate('xpack.upgradeAssistant.status.esTotalCriticalDepsMessage', { + defaultMessage: + '{esTotalCriticalDeps} Elasticsearch deprecation {esTotalCriticalDeps, plural, one {issue} other {issues}}', + values: { esTotalCriticalDeps }, + }) + ); + } + + if (kibanaTotalCriticalDeps) { + upgradeIssues.push( + i18n.translate('xpack.upgradeAssistant.status.kibanaTotalCriticalDepsMessage', { + defaultMessage: + '{kibanaTotalCriticalDeps} Kibana deprecation {kibanaTotalCriticalDeps, plural, one {issue} other {issues}}', + values: { kibanaTotalCriticalDeps }, + }) + ); + } + return i18n.translate('xpack.upgradeAssistant.status.deprecationsUnresolvedMessage', { defaultMessage: - 'You have {esTotalCriticalDeps} Elasticsearch deprecation {esTotalCriticalDeps, plural, one {issue} other {issues}} and {kibanaTotalCriticalDeps} Kibana deprecation {kibanaTotalCriticalDeps, plural, one {issue} other {issues}} that must be resolved before upgrading.', - values: { esTotalCriticalDeps, kibanaTotalCriticalDeps }, + 'The following issues must be resolved before upgrading: {upgradeIssues}.', + values: { + upgradeIssues: upgradeIssues.join(', '), + }, }); }; diff --git a/x-pack/plugins/uptime/common/runtime_types/ping/ping.ts b/x-pack/plugins/uptime/common/runtime_types/ping/ping.ts index d71e720f50e6e..8cfd7bedb6cfb 100644 --- a/x-pack/plugins/uptime/common/runtime_types/ping/ping.ts +++ b/x-pack/plugins/uptime/common/runtime_types/ping/ping.ts @@ -89,14 +89,14 @@ export type Tls = t.TypeOf; export const MonitorType = t.intersection([ t.type({ - duration: t.type({ - us: t.number, - }), id: t.string, status: t.string, type: t.string, }), t.partial({ + duration: t.type({ + us: t.number, + }), check_group: t.string, ip: t.string, name: t.string, diff --git a/x-pack/plugins/uptime/e2e/helpers/make_checks.ts b/x-pack/plugins/uptime/e2e/helpers/make_checks.ts new file mode 100644 index 0000000000000..b9e913524cb1f --- /dev/null +++ b/x-pack/plugins/uptime/e2e/helpers/make_checks.ts @@ -0,0 +1,182 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import uuid from 'uuid'; +import { merge, flattenDeep } from 'lodash'; +import type { Client } from '@elastic/elasticsearch'; +import { makePing } from './make_ping'; +import { TlsProps } from './make_tls'; + +interface CheckProps { + es: Client; + monitorId?: string; + numIps?: number; + fields?: { [key: string]: any }; + mogrify?: (doc: any) => any; + refresh?: boolean; + tls?: boolean | TlsProps; + isFleetManaged?: boolean; +} + +const getRandomMonitorId = () => { + return 'monitor-' + Math.random().toString(36).substring(7); +}; +export const makeCheck = async ({ + es, + monitorId = getRandomMonitorId(), + numIps = 1, + fields = {}, + mogrify = (d) => d, + refresh = true, + tls = false, + isFleetManaged = false, +}: CheckProps): Promise<{ monitorId: string; docs: any }> => { + const cgFields = { + monitor: { + check_group: uuid.v4(), + }, + }; + + const docs = []; + const summary = { + up: 0, + down: 0, + }; + for (let i = 0; i < numIps; i++) { + const pingFields = merge(fields, cgFields, { + monitor: { + ip: `127.0.0.${i}`, + }, + }); + if (i === numIps - 1) { + pingFields.summary = summary; + } + const doc = await makePing( + es, + monitorId, + pingFields, + mogrify, + false, + tls as any, + isFleetManaged + ); + docs.push(doc); + // @ts-ignore + summary[doc.monitor.status]++; + } + + if (refresh) { + await es.indices.refresh(); + } + + return { monitorId, docs }; +}; + +export const makeChecks = async ( + es: Client, + monitorId: string, + numChecks: number = 1, + numIps: number = 1, + every: number = 10000, // number of millis between checks + fields: { [key: string]: any } = {}, + mogrify: (doc: any) => any = (d) => d, + refresh: boolean = true, + isFleetManaged: boolean = false +) => { + const checks = []; + const oldestTime = new Date().getTime() - numChecks * every; + let newestTime = oldestTime; + for (let li = 0; li < numChecks; li++) { + const checkDate = new Date(newestTime + every); + newestTime = checkDate.getTime() + every; + fields = merge(fields, { + '@timestamp': checkDate.toISOString(), + monitor: { + timespan: { + gte: checkDate.toISOString(), + lt: new Date(newestTime).toISOString(), + }, + }, + }); + const { docs } = await makeCheck({ + es, + monitorId, + numIps, + fields, + mogrify, + refresh: false, + isFleetManaged, + }); + checks.push(docs); + } + + if (refresh) { + await es.indices.refresh(); + } + + return checks; +}; + +export const makeChecksWithStatus = async ( + es: Client, + monitorId: string, + numChecks: number, + numIps: number, + every: number, + fields: { [key: string]: any } = {}, + status: 'up' | 'down', + mogrify: (doc: any) => any = (d) => d, + refresh: boolean = true, + isFleetManaged: boolean = false +) => { + const oppositeStatus = status === 'up' ? 'down' : 'up'; + + return await makeChecks( + es, + monitorId, + numChecks, + numIps, + every, + fields, + (d) => { + d.monitor.status = status; + if (d.summary) { + d.summary[status] += d.summary[oppositeStatus]; + d.summary[oppositeStatus] = 0; + } + + return mogrify(d); + }, + refresh, + isFleetManaged + ); +}; + +// Helper for processing a list of checks to find the time picker bounds. +export const getChecksDateRange = (checks: any[]) => { + // Flatten 2d arrays + const flattened = flattenDeep(checks); + + let startTime = 1 / 0; + let endTime = -1 / 0; + flattened.forEach((c) => { + const ts = Date.parse(c['@timestamp']); + + if (ts < startTime) { + startTime = ts; + } + + if (ts > endTime) { + endTime = ts; + } + }); + + return { + start: new Date(startTime).toISOString(), + end: new Date(endTime).toISOString(), + }; +}; diff --git a/x-pack/plugins/uptime/e2e/helpers/make_ping.ts b/x-pack/plugins/uptime/e2e/helpers/make_ping.ts new file mode 100644 index 0000000000000..c93d6f437268d --- /dev/null +++ b/x-pack/plugins/uptime/e2e/helpers/make_ping.ts @@ -0,0 +1,126 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import uuid from 'uuid'; +import { merge } from 'lodash'; +import type { Client } from '@elastic/elasticsearch'; +import { makeTls, TlsProps } from './make_tls'; + +const DEFAULT_INDEX_NAME = 'heartbeat-8-full-test'; +const DATA_STREAM_INDEX_NAME = 'synthetics-http-default'; + +export const makePing = async ( + es: Client, + monitorId: string, + fields: { [key: string]: any }, + mogrify: (doc: any) => any, + refresh: boolean = true, + tls: boolean | TlsProps = false, + isFleetManaged: boolean | undefined = false +) => { + const timestamp = new Date(); + const baseDoc: any = { + tcp: { + rtt: { + connect: { + us: 14687, + }, + }, + }, + observer: { + geo: { + name: 'mpls', + location: '37.926868, -78.024902', + }, + hostname: 'avc-x1e', + }, + agent: { + hostname: 'avc-x1e', + id: '10730a1a-4cb7-45ce-8524-80c4820476ab', + type: 'heartbeat', + ephemeral_id: '0d9a8dc6-f604-49e3-86a0-d8f9d6f2cbad', + version: '8.0.0', + }, + '@timestamp': timestamp.toISOString(), + resolve: { + rtt: { + us: 350, + }, + ip: '127.0.0.1', + }, + ecs: { + version: '1.1.0', + }, + host: { + name: 'avc-x1e', + }, + http: { + rtt: { + response_header: { + us: 19349, + }, + total: { + us: 48954, + }, + write_request: { + us: 33, + }, + content: { + us: 51, + }, + validate: { + us: 19400, + }, + }, + response: { + status_code: 200, + body: { + bytes: 3, + hash: '27badc983df1780b60c2b3fa9d3a19a00e46aac798451f0febdca52920faaddf', + }, + }, + }, + monitor: { + duration: { + us: 49347, + }, + ip: '127.0.0.1', + id: monitorId, + check_group: uuid.v4(), + type: 'http', + status: 'up', + timespan: { + gte: timestamp.toISOString(), + lt: new Date(timestamp.getTime() + 5000).toISOString, + }, + }, + event: { + dataset: 'uptime', + }, + url: { + path: '/pattern', + scheme: 'http', + port: 5678, + domain: 'localhost', + query: 'r=200x5,500x1', + full: 'http://localhost:5678/pattern?r=200x5,500x1', + }, + }; + + if (tls) { + baseDoc.tls = makeTls(tls as any); + } + + const doc = mogrify(merge(baseDoc, fields)); + + await es.index({ + index: isFleetManaged ? DATA_STREAM_INDEX_NAME : DEFAULT_INDEX_NAME, + refresh, + body: doc, + }); + return doc; +}; diff --git a/x-pack/plugins/uptime/e2e/helpers/make_tls.ts b/x-pack/plugins/uptime/e2e/helpers/make_tls.ts new file mode 100644 index 0000000000000..e654a2754e51d --- /dev/null +++ b/x-pack/plugins/uptime/e2e/helpers/make_tls.ts @@ -0,0 +1,68 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import moment from 'moment'; +import crypto from 'crypto'; + +export interface TlsProps { + valid?: boolean; + commonName?: string; + expiry?: string; + sha256?: string; +} + +type Props = TlsProps & boolean; + +// Note This is just a mock sha256 value, this doesn't actually generate actually sha 256 val +export const getSha256 = () => { + return crypto.randomBytes(64).toString('hex').toUpperCase(); +}; + +export const makeTls = ({ valid = true, commonName = '*.elastic.co', expiry, sha256 }: Props) => { + const expiryDate = + expiry ?? + moment() + .add(valid ? 2 : -2, 'months') + .toISOString(); + + return { + version: '1.3', + cipher: 'TLS-AES-128-GCM-SHA256', + certificate_not_valid_before: '2020-03-01T00:00:00.000Z', + certificate_not_valid_after: expiryDate, + server: { + x509: { + not_before: '2020-03-01T00:00:00.000Z', + not_after: expiryDate, + issuer: { + distinguished_name: + 'CN=DigiCert SHA2 High Assurance Server CA,OU=www.digicert.com,O=DigiCert Inc,C=US', + common_name: 'DigiCert SHA2 High Assurance Server CA', + }, + subject: { + common_name: commonName, + distinguished_name: 'CN=*.facebook.com,O=Facebook Inc.,L=Menlo Park,ST=California,C=US', + }, + serial_number: '10043199409725537507026285099403602396', + signature_algorithm: 'SHA256-RSA', + public_key_algorithm: 'ECDSA', + public_key_curve: 'P-256', + }, + hash: { + sha256: sha256 ?? '1a48f1db13c3bd1482ba1073441e74a1bb1308dc445c88749e0dc4f1889a88a4', + sha1: '23291c758d925b9f4bb3584de3763317e94c6ce9', + }, + }, + established: true, + rtt: { + handshake: { + us: 33103, + }, + }, + version_protocol: 'tls', + }; +}; diff --git a/x-pack/plugins/uptime/e2e/journeys/alerts/index.ts b/x-pack/plugins/uptime/e2e/journeys/alerts/index.ts new file mode 100644 index 0000000000000..d8746d715581d --- /dev/null +++ b/x-pack/plugins/uptime/e2e/journeys/alerts/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './tls_alert_flyouts_in_alerting_app'; +export * from './status_alert_flyouts_in_alerting_app'; diff --git a/x-pack/plugins/uptime/e2e/journeys/alerts/status_alert_flyouts_in_alerting_app.ts b/x-pack/plugins/uptime/e2e/journeys/alerts/status_alert_flyouts_in_alerting_app.ts new file mode 100644 index 0000000000000..324d4ed6fcf29 --- /dev/null +++ b/x-pack/plugins/uptime/e2e/journeys/alerts/status_alert_flyouts_in_alerting_app.ts @@ -0,0 +1,67 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { journey, step, expect, before } from '@elastic/synthetics'; +import { assertText, byTestId, loginToKibana, waitForLoadingToFinish } from '../utils'; + +journey('StatusFlyoutInAlertingApp', async ({ page, params }) => { + before(async () => { + await waitForLoadingToFinish({ page }); + }); + + const baseUrl = `${params.kibanaUrl}/app/management/insightsAndAlerting/triggersActions/rules`; + + step('Go to Alerting app', async () => { + await page.goto(`${baseUrl}`, { + waitUntil: 'networkidle', + }); + await loginToKibana({ page }); + }); + + step('Open monitor status flyout', async () => { + await page.click(byTestId('createFirstAlertButton')); + await waitForLoadingToFinish({ page }); + await page.click(byTestId('"xpack.uptime.alerts.monitorStatus-SelectOption"')); + await waitForLoadingToFinish({ page }); + await assertText({ page, text: 'This alert will apply to approximately 0 monitors.' }); + }); + + step('can add filters', async () => { + await page.click('text=Add filter'); + await page.click(byTestId('"uptimeAlertAddFilter.monitor.type"')); + await page.click(byTestId('"uptimeCreateStatusAlert.filter_scheme"')); + }); + + step('can open query bar', async () => { + await page.click(byTestId('"xpack.uptime.alerts.monitorStatus.filterBar"')); + + await page.fill(byTestId('"xpack.uptime.alerts.monitorStatus.filterBar"'), 'monitor.type : '); + + await waitForLoadingToFinish({ page }); + + await assertText({ page, text: 'http' }); + + const suggestionItem = await page.$(byTestId('autoCompleteSuggestionText')); + expect(await suggestionItem?.textContent()).toBe('"http" '); + + await page.click(byTestId('euiFlyoutCloseButton')); + await page.click(byTestId('confirmModalConfirmButton')); + }); + + step('Open tls alert flyout', async () => { + await page.click(byTestId('createFirstAlertButton')); + await waitForLoadingToFinish({ page }); + await page.click(byTestId('"xpack.uptime.alerts.tlsCertificate-SelectOption"')); + await waitForLoadingToFinish({ page }); + await assertText({ page, text: 'has a certificate expiring within' }); + }); + + step('Tls alert flyout has setting values', async () => { + await assertText({ page, text: '30 days' }); + await assertText({ page, text: '730 days' }); + }); +}); diff --git a/x-pack/plugins/uptime/e2e/journeys/alerts/tls_alert_flyouts_in_alerting_app.ts b/x-pack/plugins/uptime/e2e/journeys/alerts/tls_alert_flyouts_in_alerting_app.ts new file mode 100644 index 0000000000000..024e8e53c3b2a --- /dev/null +++ b/x-pack/plugins/uptime/e2e/journeys/alerts/tls_alert_flyouts_in_alerting_app.ts @@ -0,0 +1,37 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { journey, step, before } from '@elastic/synthetics'; +import { assertText, byTestId, loginToKibana, waitForLoadingToFinish } from '../utils'; + +journey('TlsFlyoutInAlertingApp', async ({ page, params }) => { + before(async () => { + await waitForLoadingToFinish({ page }); + }); + + const baseUrl = `${params.kibanaUrl}/app/management/insightsAndAlerting/triggersActions/rules`; + + step('Go to Alerting app', async () => { + await page.goto(`${baseUrl}`, { + waitUntil: 'networkidle', + }); + await loginToKibana({ page }); + }); + + step('Open tls alert flyout', async () => { + await page.click(byTestId('createFirstAlertButton')); + await waitForLoadingToFinish({ page }); + await page.click(byTestId('"xpack.uptime.alerts.tlsCertificate-SelectOption"')); + await waitForLoadingToFinish({ page }); + await assertText({ page, text: 'has a certificate expiring within' }); + }); + + step('Tls alert flyout has setting values', async () => { + await assertText({ page, text: '30 days' }); + await assertText({ page, text: '730 days' }); + }); +}); diff --git a/x-pack/plugins/uptime/e2e/journeys/index.ts b/x-pack/plugins/uptime/e2e/journeys/index.ts index e59ba1fa0c6e0..69e0ff15ec88d 100644 --- a/x-pack/plugins/uptime/e2e/journeys/index.ts +++ b/x-pack/plugins/uptime/e2e/journeys/index.ts @@ -6,3 +6,5 @@ */ export * from './uptime.journey'; +export * from './alerts'; +export * from './monitor_details'; diff --git a/x-pack/plugins/uptime/e2e/journeys/monitor_details/index.ts b/x-pack/plugins/uptime/e2e/journeys/monitor_details/index.ts new file mode 100644 index 0000000000000..51b782f118c2a --- /dev/null +++ b/x-pack/plugins/uptime/e2e/journeys/monitor_details/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export * from './monitor_details.journey'; +export * from './monitor_alerts.journey'; +export * from './ping_redirects.journey'; diff --git a/x-pack/plugins/uptime/e2e/journeys/monitor_details/monitor_alerts.journey.ts b/x-pack/plugins/uptime/e2e/journeys/monitor_details/monitor_alerts.journey.ts new file mode 100644 index 0000000000000..c44dbc187bd53 --- /dev/null +++ b/x-pack/plugins/uptime/e2e/journeys/monitor_details/monitor_alerts.journey.ts @@ -0,0 +1,94 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { journey, step, expect, before, Page } from '@elastic/synthetics'; +import { noop } from 'lodash'; +import { monitorDetailsPageProvider } from '../../page_objects/monitor_details'; +import { byTestId, delay } from '../utils'; + +const dateRangeStart = '2019-09-10T12:40:08.078Z'; +const dateRangeEnd = '2019-09-11T19:40:08.078Z'; +const monitorId = '0000-intermittent'; + +const alertId = 'uptime-anomaly-alert'; +const alertThreshold = 'major'; + +journey('MonitorAlerts', async ({ page, params }: { page: Page; params: any }) => { + const monitorDetails = monitorDetailsPageProvider({ page, kibanaUrl: params.kibanaUrl }); + + before(async () => { + await monitorDetails.waitForLoadingToFinish(); + }); + + step('go to overview', async () => { + await monitorDetails.navigateToOverviewPage({ dateRangeEnd, dateRangeStart }); + }); + + step('login to Kibana', async () => { + await monitorDetails.loginToKibana(); + }); + + step('go to monitor details', async () => { + await monitorDetails.navigateToMonitorDetails(monitorId); + await monitorDetails.waitForLoadingToFinish(); + }); + + step('clean previous data if available', async () => { + // Should only happen locally + await monitorDetails.disableAnomalyDetectionAlert().catch(noop); + await monitorDetails.disableAnomalyDetection().catch(noop); + }); + + step('open anomaly detection flyout', async () => { + await monitorDetails.waitAndRefresh(5000); + await monitorDetails.enableAnomalyDetection(); + await monitorDetails.ensureAnomalyDetectionFlyoutIsOpen(); + }); + + step('can create job', async () => { + const canCreateJob = await monitorDetails.canCreateJob(); + const missingLicense = await page + .waitForSelector('uptimeMLLicenseInfo', { timeout: 10000 }) + .then(() => true) + .catch(() => false); + expect(canCreateJob).toBeTruthy(); + expect(missingLicense).toBeFalsy(); + }); + + step('creates ML job', async () => { + await page.click(byTestId('uptimeMLCreateJobBtn')); + await page.waitForSelector(byTestId('uptimeMLJobSuccessfullyCreated'), { timeout: 30000 }); + await page.click(byTestId('toastCloseButton')); + }); + + step('close anomaly detection flyout', async () => { + await page.click(byTestId('cancelSaveAlertButton')); + }); + + step('open anomaly detection alert', async () => { + await monitorDetails.waitAndRefresh(3000); + await monitorDetails.openAnomalyDetectionMenu(); + await page.click(byTestId('uptimeEnableAnomalyAlertBtn')); + }); + + step('update anomaly detection alert', async () => { + await monitorDetails.updateAlert({ id: alertId, threshold: alertThreshold }); + }); + + step('save anomaly detection alert', async () => { + await page.click(byTestId('saveAlertButton')); + await page.click(byTestId('confirmModalConfirmButton')); + await page.waitForSelector(`text=Created rule "${alertId}"`); + }); + + step('disable anomaly detection alert', async () => { + await monitorDetails.waitAndRefresh(5000); + await monitorDetails.disableAnomalyDetectionAlert(); + await delay(1000); // Menu has delay when closing + await monitorDetails.disableAnomalyDetection(); + }); +}); diff --git a/x-pack/plugins/uptime/e2e/journeys/monitor_details/monitor_details.journey.ts b/x-pack/plugins/uptime/e2e/journeys/monitor_details/monitor_details.journey.ts new file mode 100644 index 0000000000000..2965c1acf2c2b --- /dev/null +++ b/x-pack/plugins/uptime/e2e/journeys/monitor_details/monitor_details.journey.ts @@ -0,0 +1,60 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { journey, step, before, Page } from '@elastic/synthetics'; +import { monitorDetailsPageProvider } from '../../page_objects/monitor_details'; +import { byTestId } from '../utils'; + +const dateRangeStart = '2019-09-10T12:40:08.078Z'; +const dateRangeEnd = '2019-09-11T19:40:08.078Z'; +const monitorId = '0000-intermittent'; + +journey('MonitorDetails', async ({ page, params }: { page: Page; params: any }) => { + const monitorDetails = monitorDetailsPageProvider({ page, kibanaUrl: params.kibanaUrl }); + + before(async () => { + await monitorDetails.waitForLoadingToFinish(); + }); + + step('go to overview', async () => { + await monitorDetails.navigateToOverviewPage({ dateRangeEnd, dateRangeStart }); + }); + + step('login to Kibana', async () => { + await monitorDetails.loginToKibana(); + }); + + step('go to monitor details', async () => { + await monitorDetails.navigateToMonitorDetails(monitorId); + await monitorDetails.waitForLoadingToFinish(); + }); + + step('should select the ping list location filter', async () => { + await monitorDetails.selectFilterItem('Location', 'mpls'); + }); + + step('should set the status filter', async () => { + await monitorDetails.setStatusFilterUp(); + }); + + step('displays ping data as expected', async () => { + await Promise.all( + [ + 'XZtoHm0B0I9WX_CznN-6', + '7ZtoHm0B0I9WX_CzJ96M', + 'pptnHm0B0I9WX_Czst5X', + 'I5tnHm0B0I9WX_CzPd46', + 'y5tmHm0B0I9WX_Czx93x', + 'XZtmHm0B0I9WX_CzUt3H', + '-JtlHm0B0I9WX_Cz3dyX', + 'k5tlHm0B0I9WX_CzaNxm', + 'NZtkHm0B0I9WX_Cz89w9', + 'zJtkHm0B0I9WX_CzftsN', + ].map((id) => page.waitForSelector(byTestId(`"xpack.uptime.pingList.ping-${id}"`))) + ); + }); +}); diff --git a/x-pack/plugins/uptime/e2e/journeys/monitor_details/ping_redirects.journey.ts b/x-pack/plugins/uptime/e2e/journeys/monitor_details/ping_redirects.journey.ts new file mode 100644 index 0000000000000..ffbc322d7e779 --- /dev/null +++ b/x-pack/plugins/uptime/e2e/journeys/monitor_details/ping_redirects.journey.ts @@ -0,0 +1,73 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { journey, step, expect, before, Page } from '@elastic/synthetics'; +import { makeChecksWithStatus } from '../../helpers/make_checks'; +import { monitorDetailsPageProvider } from '../../page_objects/monitor_details'; +import { byTestId, delay } from '../utils'; + +journey('MonitorPingRedirects', async ({ page, params }: { page: Page; params: any }) => { + const monitorDetails = monitorDetailsPageProvider({ page, kibanaUrl: params.kibanaUrl }); + const testMonitor = { + id: '0000-intermittent', + start: 'now-15m', + end: 'now', + redirects: ['http://localhost:3000/first', 'https://www.washingtonpost.com/'], + }; + + before(async () => { + await monitorDetails.waitForLoadingToFinish(); + await makeChecksWithStatus( + params.getService('es'), + testMonitor.id, + 5, + 2, + 10000, + { + http: { + rtt: { total: { us: 157784 } }, + response: { + status_code: 200, + redirects: testMonitor.redirects, + body: { + bytes: 642102, + hash: '597a8cfb33ff8e09bff16283306553c3895282aaf5386e1843d466d44979e28a', + }, + }, + }, + }, + 'up' + ); + await delay(5000); + }); + + step('go to monitor-management', async () => { + await monitorDetails.navigateToOverviewPage({ + dateRangeEnd: testMonitor.end, + dateRangeStart: testMonitor.start, + }); + }); + + step('login to Kibana', async () => { + await monitorDetails.loginToKibana(); + }); + + step('go to monitor details', async () => { + await monitorDetails.navigateToMonitorDetails(testMonitor.id); + }); + + step('displays redirect info in detail panel', async () => { + await monitorDetails.waitForLoadingToFinish(); + expect(await monitorDetails.getMonitorRedirects()).toEqual(`${testMonitor.redirects.length}`); + }); + + step('displays redirects in ping list expand row', async () => { + await monitorDetails.expandPingDetails(); + await monitorDetails.waitForLoadingToFinish(); + await page.waitForSelector(byTestId('uptimeMonitorPingListRedirectInfo')); + }); +}); diff --git a/x-pack/plugins/uptime/e2e/journeys/utils.ts b/x-pack/plugins/uptime/e2e/journeys/utils.ts new file mode 100644 index 0000000000000..79c4c5ed94817 --- /dev/null +++ b/x-pack/plugins/uptime/e2e/journeys/utils.ts @@ -0,0 +1,47 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { expect, Page } from '@elastic/synthetics'; + +export async function waitForLoadingToFinish({ page }: { page: Page }) { + while (true) { + if ((await page.$(byTestId('kbnLoadingMessage'))) === null) break; + await page.waitForTimeout(5 * 1000); + } +} + +export async function loginToKibana({ page }: { page: Page }) { + await page.fill('[data-test-subj=loginUsername]', 'elastic', { + timeout: 60 * 1000, + }); + await page.fill('[data-test-subj=loginPassword]', 'changeme'); + + await page.click('[data-test-subj=loginSubmit]'); + + await waitForLoadingToFinish({ page }); +} + +export const byTestId = (testId: string) => { + return `[data-test-subj=${testId}]`; +}; + +export const assertText = async ({ page, text }: { page: Page; text: string }) => { + await page.waitForSelector(`text=${text}`, { timeout: 60 * 1000 }); + expect(await page.$(`text=${text}`)).toBeTruthy(); +}; + +export const assertNotText = async ({ page, text }: { page: Page; text: string }) => { + expect(await page.$(`text=${text}`)).toBeFalsy(); +}; + +export const getQuerystring = (params: object) => { + return Object.entries(params) + .map(([key, value]) => encodeURIComponent(key) + '=' + encodeURIComponent(value)) + .join('&'); +}; + +export const delay = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); diff --git a/x-pack/plugins/uptime/e2e/page_objects/monitor_details.tsx b/x-pack/plugins/uptime/e2e/page_objects/monitor_details.tsx new file mode 100644 index 0000000000000..ccfea5d3069fd --- /dev/null +++ b/x-pack/plugins/uptime/e2e/page_objects/monitor_details.tsx @@ -0,0 +1,187 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { expect, Page } from '@elastic/synthetics'; +import { byTestId, delay, getQuerystring } from '../journeys/utils'; + +interface AlertType { + id: string; + threshold: string; +} + +export function monitorDetailsPageProvider({ page, kibanaUrl }: { page: Page; kibanaUrl: string }) { + const overview = `${kibanaUrl}/app/uptime`; + + return { + async dismissSyntheticsCallout() { + await page.click('[data-test-subj=uptimeDismissSyntheticsCallout]', { + timeout: 60 * 1000, + }); + }, + + async assertText({ text }: { text: string }) { + await page.waitForSelector(`text=${text}`); + expect(await page.$(`text=${text}`)).toBeTruthy(); + }, + + async fillByTestSubj(dataTestSubj: string, value: string) { + await page.fill(`[data-test-subj=${dataTestSubj}]`, value); + }, + + async selectByTestSubj(dataTestSubj: string, value: string) { + await page.selectOption(`[data-test-subj=${dataTestSubj}]`, value); + }, + + async checkByTestSubj(dataTestSubj: string, value: string) { + await page.check(`[data-test-subj=${dataTestSubj}]`); + }, + + async clickByTestSubj(dataTestSubj: string) { + await page.click(`[data-test-subj=${dataTestSubj}]`); + }, + + async findByTestSubj(dataTestSubj: string) { + return await page.waitForSelector(`[data-test-subj=${dataTestSubj}]`); + }, + + async findByText(text: string) { + return await page.waitForSelector(`text=${text}`); + }, + + async waitForLoadingToFinish() { + while (true) { + if ((await page.$(byTestId('kbnLoadingMessage'))) === null) break; + await page.waitForTimeout(5 * 1000); + } + }, + + async loginToKibana() { + await page.fill('[data-test-subj=loginUsername]', 'elastic', { + timeout: 60 * 1000, + }); + await page.fill('[data-test-subj=loginPassword]', 'changeme'); + + await page.click('[data-test-subj=loginSubmit]'); + + await this.waitForLoadingToFinish(); + }, + + async navigateToMonitorDetails(monitorId: string) { + await page.click(byTestId(`monitor-page-link-${monitorId}`)); + }, + + async navigateToOverviewPage(options?: object) { + await page.goto(`${overview}${options ? `?${getQuerystring(options)}` : ''}`, { + waitUntil: 'networkidle', + }); + }, + + async selectFilterItem(filterType: string, itemArg: string | string[]) { + const itemList = Array.isArray(itemArg) ? itemArg : [itemArg]; + await page.click(`[aria-label="expands filter group for ${filterType} filter"]`); + await this.clickFilterItems(itemList); + return this.applyFilterItems(filterType); + }, + + async clickFilterItems(itemList: string[]) { + for (const title of itemList) { + await page.click(`li[title="${title}"]`); + } + }, + + async applyFilterItems(filterType: string) { + await page.click(`[aria-label="Apply the selected filters for ${filterType}"]`); + }, + + async setStatusFilterUp() { + await page.click('[data-test-subj="xpack.uptime.filterBar.filterStatusUp"]'); + }, + + async setStatusFilterDown() { + await page.click('[data-test-subj="xpack.uptime.filterBar.filterStatusDown"]'); + }, + + async refreshFromES() { + await byTestId('superDatePickerApplyTimeButton'); + }, + + async enableAnomalyDetection() { + await page.click(byTestId('uptimeEnableAnomalyBtn')); + }, + + async getMonitorRedirects() { + return await page.textContent(byTestId('uptimeMonitorRedirectInfo')); + }, + + async expandPingDetails() { + await page.click(byTestId('uptimePingListExpandBtn')); + }, + + async ensureAnomalyDetectionFlyoutIsOpen() { + await page.waitForSelector(byTestId('uptimeMLFlyout')); + }, + + async isMLMenuVisible() { + return await page.isVisible(byTestId('uptimeManageMLContextMenu'), { + timeout: 3000, + }); + }, + + async canCreateJob(): Promise { + await this.ensureAnomalyDetectionFlyoutIsOpen(); + const createJobBtn = await page.$(byTestId('uptimeMLCreateJobBtn')); + return await createJobBtn!.isEnabled(); + }, + + async openAnomalyDetectionMenu() { + const visible = await this.isMLMenuVisible(); + if (visible === false) { + await page.click(byTestId('uptimeManageMLJobBtn'), { timeout: 5000 }); + } + }, + + async closeAnomalyDetectionMenu() { + if ((await this.isMLMenuVisible()) === true) { + await page.click(byTestId('uptimeManageMLJobBtn'), { timeout: 5000 }); + } + }, + + async waitAndRefresh(timeout?: number) { + await delay(timeout ?? 1000); + await this.refreshFromES(); + await this.waitForLoadingToFinish(); + }, + + async updateAlert({ id, threshold }: AlertType) { + await this.fillByTestSubj('alertNameInput', id); + await this.selectAlertThreshold(threshold); + }, + + async selectAlertThreshold(threshold: string) { + await this.clickByTestSubj('uptimeAnomalySeverity'); + await this.clickByTestSubj('anomalySeveritySelect'); + await page.click(`text=${threshold}`); + }, + + async disableAnomalyDetection() { + await this.openAnomalyDetectionMenu(); + await page.click(byTestId('uptimeDeleteMLJobBtn'), { timeout: 10000 }); + await page.click(byTestId('confirmModalConfirmButton')); + await page.waitForSelector('text=Job deleted'); + await this.closeAnomalyDetectionMenu(); + }, + + async disableAnomalyDetectionAlert() { + await this.openAnomalyDetectionMenu(); + await page.click(byTestId('uptimeManageAnomalyAlertBtn'), { timeout: 10000 }); + await page.click(byTestId('uptimeDisableAnomalyAlertBtn')); + await page.click(byTestId('confirmModalConfirmButton')); + await page.waitForSelector('text=Rule successfully disabled!'); + await this.closeAnomalyDetectionMenu(); + }, + }; +} diff --git a/x-pack/plugins/uptime/e2e/playwright_start.ts b/x-pack/plugins/uptime/e2e/playwright_start.ts index 5949339c1ba25..143111caa5b15 100644 --- a/x-pack/plugins/uptime/e2e/playwright_start.ts +++ b/x-pack/plugins/uptime/e2e/playwright_start.ts @@ -15,20 +15,26 @@ import './journeys'; export function playwrightRunTests() { return async ({ getService }: any) => { - const result = await playwrightStart(getService); + const results = await playwrightStart(getService); - if (result && result.uptime.status !== 'succeeded') { - throw new Error('Tests failed'); - } + Object.entries(results).forEach(([_journey, result]) => { + if (result.status !== 'succeeded') { + throw new Error('Tests failed'); + } + }); }; } async function playwrightStart(getService: any) { console.log('Loading esArchiver...'); - await esArchiverLoad('full_heartbeat'); + const esArchiver = getService('esArchiver'); + + esArchiverLoad('full_heartbeat'); const config = getService('config'); + await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/farequote'); + const kibanaUrl = Url.format({ protocol: config.get('servers.kibana.protocol'), hostname: config.get('servers.kibana.hostname'), @@ -36,12 +42,12 @@ async function playwrightStart(getService: any) { }); const res = await playwrightRun({ - params: { kibanaUrl }, + params: { kibanaUrl, getService }, playwrightOptions: { headless: true, chromiumSandbox: false, timeout: 60 * 1000 }, }); console.log('Removing esArchiver...'); - await esArchiverUnload('full_heartbeat'); + esArchiverUnload('full_heartbeat'); return res; } diff --git a/x-pack/plugins/uptime/public/components/common/charts/__snapshots__/donut_chart.test.tsx.snap b/x-pack/plugins/uptime/public/components/common/charts/__snapshots__/donut_chart.test.tsx.snap index c9299bf7bf3ea..c28e5c964d70f 100644 --- a/x-pack/plugins/uptime/public/components/common/charts/__snapshots__/donut_chart.test.tsx.snap +++ b/x-pack/plugins/uptime/public/components/common/charts/__snapshots__/donut_chart.test.tsx.snap @@ -30,6 +30,22 @@ exports[`DonutChart component passes correct props without errors for valid prop "opacity": 0.3, "visible": true, }, + "fit": Object { + "area": Object { + "fill": "__use__series__color__", + "opacity": 0.15, + "visible": true, + }, + "line": Object { + "dash": Array [ + 5, + 5, + ], + "opacity": 1, + "stroke": "__use__series__color__", + "visible": true, + }, + }, "line": Object { "opacity": 1, "strokeWidth": 1, @@ -80,6 +96,24 @@ exports[`DonutChart component passes correct props without errors for valid prop "strokeWidth": 1, "visible": false, }, + "lumaSteps": Array [ + 224, + 184, + 128, + 96, + 64, + 32, + 16, + 8, + 4, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + ], "vertical": Object { "dash": Array [ 0, @@ -242,6 +276,17 @@ exports[`DonutChart component passes correct props without errors for valid prop "verticalWidth": 200, }, "lineSeriesStyle": Object { + "fit": Object { + "line": Object { + "dash": Array [ + 5, + 5, + ], + "opacity": 1, + "stroke": "__use__series__color__", + "visible": true, + }, + }, "line": Object { "opacity": 1, "strokeWidth": 1, diff --git a/x-pack/plugins/uptime/public/components/common/charts/duration_line_series_list.tsx b/x-pack/plugins/uptime/public/components/common/charts/duration_line_series_list.tsx index 4ccbbd37b041b..b1da263b321fc 100644 --- a/x-pack/plugins/uptime/public/components/common/charts/duration_line_series_list.tsx +++ b/x-pack/plugins/uptime/public/components/common/charts/duration_line_series_list.tsx @@ -31,6 +31,7 @@ export const DurationLineSeriesList = ({ monitorType, lines }: Props) => ( yAccessors={[1]} yScaleType="linear" fit={Fit.Linear} + timeZone="local" tickFormat={(d) => monitorType === 'browser' ? `${microToSec(d)} ${SEC_LABEL}` diff --git a/x-pack/plugins/uptime/public/components/common/header/action_menu_content.tsx b/x-pack/plugins/uptime/public/components/common/header/action_menu_content.tsx index f9f4015c6c8aa..1136cf1b6e3ce 100644 --- a/x-pack/plugins/uptime/public/components/common/header/action_menu_content.tsx +++ b/x-pack/plugins/uptime/public/components/common/header/action_menu_content.tsx @@ -9,14 +9,14 @@ import React from 'react'; import { EuiHeaderLinks, EuiToolTip, EuiHeaderLink } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; -import { useHistory } from 'react-router-dom'; +import { useHistory, useRouteMatch } from 'react-router-dom'; import { useSelector } from 'react-redux'; import { createExploratoryViewUrl } from '../../../../../observability/public'; import { useKibana } from '../../../../../../../src/plugins/kibana_react/public'; import { useUptimeSettingsContext } from '../../../contexts/uptime_settings_context'; import { useGetUrlParams } from '../../../hooks'; import { ToggleAlertFlyoutButton } from '../../overview/alerts/alerts_containers'; -import { SETTINGS_ROUTE } from '../../../../common/constants'; +import { MONITOR_ROUTE, SETTINGS_ROUTE } from '../../../../common/constants'; import { stringifyUrlParams } from '../../../lib/helper/stringify_url_params'; import { InspectorHeaderLink } from './inspector_header_link'; import { monitorStatusSelector } from '../../../state/selectors'; @@ -43,6 +43,7 @@ export function ActionMenuContent(): React.ReactElement { const selectedMonitor = useSelector(monitorStatusSelector); + const detailRouteMatch = useRouteMatch(MONITOR_ROUTE); const monitorId = selectedMonitor?.monitor?.id; const syntheticExploratoryViewLink = createExploratoryViewUrl( @@ -56,7 +57,10 @@ export function ActionMenuContent(): React.ReactElement { time: { from: dateRangeStart, to: dateRangeEnd }, breakdown: monitorId ? 'observer.geo.name' : 'monitor.type', reportDefinitions: { - 'monitor.name': selectedMonitor?.monitor?.name ? [selectedMonitor?.monitor?.name] : [], + 'monitor.name': + selectedMonitor?.monitor?.name && detailRouteMatch?.isExact === true + ? [selectedMonitor?.monitor?.name] + : [], 'url.full': ['ALL_VALUES'], }, name: monitorId ? `${monitorId}-response-duration` : 'All monitors response duration', diff --git a/x-pack/plugins/uptime/public/components/monitor/ml/manage_ml_job.tsx b/x-pack/plugins/uptime/public/components/monitor/ml/manage_ml_job.tsx index 719bc329c626a..33e61f4f1e9f8 100644 --- a/x-pack/plugins/uptime/public/components/monitor/ml/manage_ml_job.tsx +++ b/x-pack/plugins/uptime/public/components/monitor/ml/manage_ml_job.tsx @@ -72,7 +72,7 @@ export const ManageMLJobComponent = ({ hasMLJob, onEnableJob, onJobDelete }: Pro const button = ( setIsPopOverOpen(true) : onEnableJob} + onClick={hasMLJob ? () => setIsPopOverOpen(!isPopOverOpen) : onEnableJob} disabled={hasMLJob && !canDeleteMLJob} isLoading={showLoading} size="s" diff --git a/x-pack/plugins/uptime/public/components/monitor/ping_histogram/ping_histogram_container.tsx b/x-pack/plugins/uptime/public/components/monitor/ping_histogram/ping_histogram_container.tsx index 6330f14aa63a3..d8060e27f1aa2 100644 --- a/x-pack/plugins/uptime/public/components/monitor/ping_histogram/ping_histogram_container.tsx +++ b/x-pack/plugins/uptime/public/components/monitor/ping_histogram/ping_histogram_container.tsx @@ -14,6 +14,7 @@ import { useGetUrlParams } from '../../../hooks'; import { useMonitorId } from '../../../hooks'; import { ResponsiveWrapperProps, withResponsiveWrapper } from '../../common/higher_order'; import { UptimeRefreshContext } from '../../../contexts'; +import { useOverviewFilterCheck } from '../../../hooks/use_overview_filter_check'; interface Props { height: string; @@ -27,6 +28,7 @@ const Container: React.FC = ({ height }) => { dateRangeStart: dateStart, dateRangeEnd: dateEnd, } = useGetUrlParams(); + const filterCheck = useOverviewFilterCheck(); const dispatch = useDispatch(); const monitorId = useMonitorId(); @@ -38,8 +40,10 @@ const Container: React.FC = ({ height }) => { const { loading, pingHistogram: data } = useSelector(selectPingHistogram); useEffect(() => { - dispatch(getPingHistogram.get({ monitorId, dateStart, dateEnd, query, filters: esKuery })); - }, [dateStart, dateEnd, monitorId, lastRefresh, esKuery, dispatch, query]); + filterCheck(() => + dispatch(getPingHistogram.get({ monitorId, dateStart, dateEnd, query, filters: esKuery })) + ); + }, [filterCheck, dateStart, dateEnd, monitorId, lastRefresh, esKuery, dispatch, query]); return ( { type: 'io', }, monitor: { - duration: { us: 1370 }, id: 'auto-tcp-0X81440A68E839814D', ip: '255.255.255.0', name: '', @@ -161,9 +160,6 @@ describe('PingList component', () => { "type": "io", }, "monitor": Object { - "duration": Object { - "us": 1370, - }, "id": "auto-tcp-0X81440A68E839814D", "ip": "255.255.255.0", "name": "", @@ -186,6 +182,13 @@ describe('PingList component', () => { }); }); + describe('duration column', () => { + it('shows -- when duration is null', () => { + const { getByTestId } = render(); + expect(getByTestId('ping-list-duration-unavailable-tool-tip')).toBeInTheDocument(); + }); + }); + describe('formatDuration', () => { it('returns zero for < 1 millisecond', () => { expect(formatDuration(984)).toBe('0 ms'); diff --git a/x-pack/plugins/uptime/public/components/monitor/ping_list/ping_list.tsx b/x-pack/plugins/uptime/public/components/monitor/ping_list/ping_list.tsx index 06c7ab7bff843..0caac13fbfd97 100644 --- a/x-pack/plugins/uptime/public/components/monitor/ping_list/ping_list.tsx +++ b/x-pack/plugins/uptime/public/components/monitor/ping_list/ping_list.tsx @@ -172,7 +172,12 @@ export const PingList = () => { name: i18n.translate('xpack.uptime.pingList.durationMsColumnLabel', { defaultMessage: 'Duration', }), - render: (duration: number) => formatDuration(duration), + render: (duration: number | null) => + duration ? ( + formatDuration(duration) + ) : ( + {'--'} + ), }, { field: 'error.type', diff --git a/x-pack/plugins/uptime/public/components/overview/alerts/alerts_containers/alert_tls.tsx b/x-pack/plugins/uptime/public/components/overview/alerts/alerts_containers/alert_tls.tsx index 82917fc4e1758..9f3da1674ca09 100644 --- a/x-pack/plugins/uptime/public/components/overview/alerts/alerts_containers/alert_tls.tsx +++ b/x-pack/plugins/uptime/public/components/overview/alerts/alerts_containers/alert_tls.tsx @@ -6,10 +6,11 @@ */ import { useDispatch, useSelector } from 'react-redux'; -import React, { useCallback } from 'react'; +import React, { useCallback, useEffect } from 'react'; import { AlertTlsComponent } from '../alert_tls'; import { setAlertFlyoutVisible } from '../../../../state/actions'; import { selectDynamicSettings } from '../../../../state/selectors'; +import { getDynamicSettings } from '../../../../state/actions/dynamic_settings'; export const AlertTls: React.FC<{}> = () => { const dispatch = useDispatch(); @@ -18,6 +19,13 @@ export const AlertTls: React.FC<{}> = () => { [dispatch] ); const { settings } = useSelector(selectDynamicSettings); + + useEffect(() => { + if (typeof settings === 'undefined') { + dispatch(getDynamicSettings()); + } + }, [dispatch, settings]); + return ( diff --git a/x-pack/plugins/uptime/public/components/overview/alerts/monitor_status_alert/add_filter_btn.test.tsx b/x-pack/plugins/uptime/public/components/overview/alerts/monitor_status_alert/add_filter_btn.test.tsx index 86d6f599fd22d..5b32d9bc01992 100644 --- a/x-pack/plugins/uptime/public/components/overview/alerts/monitor_status_alert/add_filter_btn.test.tsx +++ b/x-pack/plugins/uptime/public/components/overview/alerts/monitor_status_alert/add_filter_btn.test.tsx @@ -24,6 +24,7 @@ describe('AddFilterButton component', () => { disabled={false} flush="left" iconType="plusInCircleFilled" + isLoading={false} onClick={[Function]} size="s" > @@ -90,6 +91,7 @@ describe('AddFilterButton component', () => { disabled={false} flush="left" iconType="plusInCircleFilled" + isLoading={false} onClick={[Function]} size="s" > @@ -143,6 +145,7 @@ describe('AddFilterButton component', () => { disabled={true} flush="left" iconType="plusInCircleFilled" + isLoading={false} onClick={[Function]} size="s" > diff --git a/x-pack/plugins/uptime/public/components/overview/alerts/monitor_status_alert/add_filter_btn.tsx b/x-pack/plugins/uptime/public/components/overview/alerts/monitor_status_alert/add_filter_btn.tsx index 66f0f296b1248..58b8e7bb085da 100644 --- a/x-pack/plugins/uptime/public/components/overview/alerts/monitor_status_alert/add_filter_btn.tsx +++ b/x-pack/plugins/uptime/public/components/overview/alerts/monitor_status_alert/add_filter_btn.tsx @@ -8,6 +8,7 @@ import React, { useState } from 'react'; import { EuiButtonEmpty, EuiContextMenuItem, EuiContextMenuPanel, EuiPopover } from '@elastic/eui'; import * as labels from '../translations'; +import { useIndexPattern } from '../../../../contexts/uptime_index_pattern_context'; interface Props { newFilters: string[]; @@ -20,6 +21,8 @@ export const AddFilterButton: React.FC = ({ newFilters, onNewFilter, aler const getSelectedItems = (fieldName: string) => alertFilters?.[fieldName] ?? []; + const indexPattern = useIndexPattern(); + const onButtonClick = () => { setPopover(!isPopoverOpen); }; @@ -62,6 +65,7 @@ export const AddFilterButton: React.FC = ({ newFilters, onNewFilter, aler onClick={onButtonClick} size="s" flush="left" + isLoading={!indexPattern} > {labels.ADD_FILTER}
    diff --git a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_container.tsx b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_container.tsx index 726ef59827f9e..e753d07f9db39 100644 --- a/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_container.tsx +++ b/x-pack/plugins/uptime/public/components/overview/monitor_list/monitor_list_container.tsx @@ -14,6 +14,7 @@ import { useUrlParams } from '../../../hooks'; import { UptimeRefreshContext } from '../../../contexts'; import { getConnectorsAction, getMonitorAlertsAction } from '../../../state/alerts/alerts'; import { useMappingCheck } from '../../../hooks/use_mapping_check'; +import { useOverviewFilterCheck } from '../../../hooks/use_overview_filter_check'; export interface MonitorListProps { filters?: string; @@ -31,6 +32,7 @@ const getPageSizeValue = () => { export const MonitorList: React.FC = (props) => { const filters = useSelector(esKuerySelector); + const filterCheck = useOverviewFilterCheck(); const [pageSize, setPageSize] = useState(getPageSizeValue); @@ -45,22 +47,25 @@ export const MonitorList: React.FC = (props) => { useMappingCheck(monitorList.error); useEffect(() => { - dispatch( - getMonitorList({ - dateRangeStart, - dateRangeEnd, - filters, - pageSize, - pagination, - statusFilter, - query, - }) + filterCheck(() => + dispatch( + getMonitorList({ + dateRangeStart, + dateRangeEnd, + filters, + pageSize, + pagination, + statusFilter, + query, + }) + ) ); }, [ dispatch, dateRangeStart, dateRangeEnd, filters, + filterCheck, lastRefresh, pageSize, pagination, diff --git a/x-pack/plugins/uptime/public/components/overview/query_bar/use_query_bar.test.tsx b/x-pack/plugins/uptime/public/components/overview/query_bar/use_query_bar.test.tsx index 217d8cdfc4c9e..56a6fd7e6dc30 100644 --- a/x-pack/plugins/uptime/public/components/overview/query_bar/use_query_bar.test.tsx +++ b/x-pack/plugins/uptime/public/components/overview/query_bar/use_query_bar.test.tsx @@ -49,7 +49,7 @@ describe.skip('useQueryBar', () => { ); useUrlParamsSpy = jest.spyOn(URL, 'useUrlParams'); useGetUrlParamsSpy = jest.spyOn(URL, 'useGetUrlParams'); - useUpdateKueryStringSpy = jest.spyOn(ES_FILTERS, 'useUpdateKueryString'); + useUpdateKueryStringSpy = jest.spyOn(ES_FILTERS, 'generateUpdatedKueryString'); updateUrlParamsMock = jest.fn(); useUrlParamsSpy.mockImplementation(() => [jest.fn(), updateUrlParamsMock]); diff --git a/x-pack/plugins/uptime/public/components/overview/query_bar/use_query_bar.ts b/x-pack/plugins/uptime/public/components/overview/query_bar/use_query_bar.ts index b24231105770a..296a8fa509d00 100644 --- a/x-pack/plugins/uptime/public/components/overview/query_bar/use_query_bar.ts +++ b/x-pack/plugins/uptime/public/components/overview/query_bar/use_query_bar.ts @@ -12,7 +12,7 @@ import { Query } from 'src/plugins/data/common'; import { useGetUrlParams, useIndexPattern, - useUpdateKueryString, + generateUpdatedKueryString, useUrlParams, } from '../../../hooks'; import { setEsKueryString } from '../../../state/actions'; @@ -74,7 +74,7 @@ export const useQueryBar = (): UseQueryBarUtils => { const [, updateUrlParams] = useUrlParams(); - const [esFilters, error] = useUpdateKueryString( + const [esFilters, error] = generateUpdatedKueryString( indexPattern, query.language === SyntaxType.kuery ? (query.query as string) : undefined, paramFilters, diff --git a/x-pack/plugins/uptime/public/components/synthetics/check_steps/use_check_steps.ts b/x-pack/plugins/uptime/public/components/synthetics/check_steps/use_check_steps.ts index da40b900fdcc2..c936005a08c12 100644 --- a/x-pack/plugins/uptime/public/components/synthetics/check_steps/use_check_steps.ts +++ b/x-pack/plugins/uptime/public/components/synthetics/check_steps/use_check_steps.ts @@ -5,25 +5,34 @@ * 2.0. */ +import { useEffect } from 'react'; import { useParams } from 'react-router-dom'; -import { FETCH_STATUS, useFetcher } from '../../../../../observability/public'; -import { fetchJourneySteps } from '../../../state/api/journey'; +import { useDispatch, useSelector } from 'react-redux'; +import { AppState } from '../../../state'; +import { getJourneySteps } from '../../../state/actions/journey'; import { JourneyState } from '../../../state/reducers/journey'; export const useCheckSteps = (): JourneyState => { const { checkGroupId } = useParams<{ checkGroupId: string }>(); + const dispatch = useDispatch(); - const { data, status, error } = useFetcher(() => { - return fetchJourneySteps({ - checkGroup: checkGroupId, - }); - }, [checkGroupId]); + useEffect(() => { + dispatch( + getJourneySteps({ + checkGroup: checkGroupId, + }) + ); + }, [checkGroupId, dispatch]); + + const checkGroup = useSelector((state: AppState) => { + return state.journeys[checkGroupId]; + }); return { - error, checkGroup: checkGroupId, - steps: data?.steps ?? [], - details: data?.details, - loading: status === FETCH_STATUS.LOADING || status === FETCH_STATUS.PENDING, + steps: checkGroup?.steps ?? [], + details: checkGroup?.details, + loading: checkGroup?.loading ?? false, + error: checkGroup?.error, }; }; diff --git a/x-pack/plugins/uptime/public/contexts/uptime_index_pattern_context.tsx b/x-pack/plugins/uptime/public/contexts/uptime_index_pattern_context.tsx index 8171f7e19865f..6c658ec7f5d40 100644 --- a/x-pack/plugins/uptime/public/contexts/uptime_index_pattern_context.tsx +++ b/x-pack/plugins/uptime/public/contexts/uptime_index_pattern_context.tsx @@ -5,12 +5,10 @@ * 2.0. */ -import React, { createContext, useContext, useEffect } from 'react'; -import { useDispatch, useSelector } from 'react-redux'; +import React, { createContext, useContext } from 'react'; import { useFetcher } from '../../../observability/public'; import { DataPublicPluginStart, IndexPattern } from '../../../../../src/plugins/data/public'; -import { indexStatusSelector, selectDynamicSettings } from '../state/selectors'; -import { getDynamicSettings } from '../state/actions/dynamic_settings'; +import { useHasData } from '../components/overview/empty_state/use_has_data'; export const UptimeIndexPatternContext = createContext({} as IndexPattern); @@ -18,16 +16,7 @@ export const UptimeIndexPatternContextProvider: React.FC<{ data: DataPublicPlugi children, data: { indexPatterns }, }) => { - const { settings } = useSelector(selectDynamicSettings); - const { data: indexStatus } = useSelector(indexStatusSelector); - - const dispatch = useDispatch(); - - useEffect(() => { - if (typeof settings === 'undefined') { - dispatch(getDynamicSettings()); - } - }, [dispatch, settings]); + const { settings, data: indexStatus } = useHasData(); const heartbeatIndices = settings?.heartbeatIndices || ''; diff --git a/x-pack/plugins/uptime/public/hooks/update_kuery_string.ts b/x-pack/plugins/uptime/public/hooks/update_kuery_string.ts index 0b38c32ed2696..4069220a23d99 100644 --- a/x-pack/plugins/uptime/public/hooks/update_kuery_string.ts +++ b/x-pack/plugins/uptime/public/hooks/update_kuery_string.ts @@ -41,7 +41,7 @@ const getKueryString = (urlFilters: string, excludedFilters?: string): string => return `NOT (${excludeKueryString})`; }; -export const useUpdateKueryString = ( +export const generateUpdatedKueryString = ( indexPattern: IndexPattern | null, filterQueryString = '', urlFilters: string, diff --git a/x-pack/plugins/uptime/public/hooks/use_overview_filter_check.test.tsx b/x-pack/plugins/uptime/public/hooks/use_overview_filter_check.test.tsx new file mode 100644 index 0000000000000..4a356986c7245 --- /dev/null +++ b/x-pack/plugins/uptime/public/hooks/use_overview_filter_check.test.tsx @@ -0,0 +1,102 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { renderHook } from '@testing-library/react-hooks'; +import { createMemoryHistory } from 'history'; +import React from 'react'; +import * as reactRedux from 'react-redux'; +import { useOverviewFilterCheck } from './use_overview_filter_check'; +import { MockRouter } from '../lib/helper/rtl_helpers'; + +function getWrapper(customSearch?: string): React.FC { + return ({ children }) => { + const { location, ...rest } = createMemoryHistory(); + return ( + + {children} + + ); + }; +} + +const SEARCH_WITH_FILTERS = '?dateRangeStart=now-30m&filters=%5B%5B"url.port"%2C%5B"5601"%5D%5D%5D'; +const SEARCH_WITH_KUERY = '?search=monitor.id%20%3A%20"header-test"'; + +describe('useOverviewFilterCheck', () => { + beforeEach(() => { + jest.spyOn(reactRedux, 'useSelector').mockImplementation(() => false); + }); + + it('returns a function that will run code when there are no filters', () => { + const { + result: { current }, + } = renderHook(() => useOverviewFilterCheck(), { wrapper: getWrapper() }); + + const fn = jest.fn(); + current(fn); + expect(fn).toHaveBeenCalledTimes(1); + }); + + it('returns a function that will not run code if there are uninitialized filters', () => { + const { + result: { current }, + } = renderHook(() => useOverviewFilterCheck(), { + wrapper: getWrapper(SEARCH_WITH_FILTERS), + }); + + const fn = jest.fn(); + current(fn); + expect(fn).not.toHaveBeenCalled(); + }); + + it('returns a function that will run code if filters are initialized', () => { + jest.spyOn(reactRedux, 'useSelector').mockImplementation(() => true); + const { + result: { current }, + } = renderHook(() => useOverviewFilterCheck(), { + wrapper: getWrapper(SEARCH_WITH_FILTERS), + }); + + const fn = jest.fn(); + current(fn); + expect(fn).toHaveBeenCalledTimes(1); + }); + + it('returns a function that will not run code if search is uninitialized', () => { + jest.spyOn(reactRedux, 'useSelector').mockImplementation(() => ''); + const { + result: { current }, + } = renderHook(() => useOverviewFilterCheck(), { + wrapper: getWrapper(SEARCH_WITH_KUERY), + }); + + const fn = jest.fn(); + current(fn); + expect(fn).not.toHaveBeenCalledTimes(1); + }); + + it('returns a function that will run if search is initialized', () => { + jest.spyOn(reactRedux, 'useSelector').mockImplementation(() => 'search is initialized'); + const { + result: { current }, + } = renderHook(() => useOverviewFilterCheck(), { + wrapper: getWrapper(SEARCH_WITH_KUERY), + }); + + const fn = jest.fn(); + current(fn); + expect(fn).toHaveBeenCalledTimes(1); + }); +}); diff --git a/x-pack/plugins/uptime/public/hooks/use_overview_filter_check.ts b/x-pack/plugins/uptime/public/hooks/use_overview_filter_check.ts new file mode 100644 index 0000000000000..e19505e2503c0 --- /dev/null +++ b/x-pack/plugins/uptime/public/hooks/use_overview_filter_check.ts @@ -0,0 +1,53 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { useCallback } from 'react'; +import { useSelector } from 'react-redux'; +import { useLocation } from 'react-router-dom'; +import { getParsedParams } from '../lib/helper/parse_search'; +import { esKuerySelector } from '../state/selectors'; + +function hasFilters(search: string) { + const parsed = getParsedParams(search); + + return !!parsed.filters || !!parsed.search; +} + +/** + * Specifically designed for the overview page, this hook will create + * a function that the caller can use to run code only once the filter + * index pattern has been initialized. + * + * In the case where no filters are + * defined in the URL path, the check will pass and call the function. + */ +export function useOverviewFilterCheck() { + const filters = useSelector(esKuerySelector); + const { search } = useLocation(); + + /** + * Here, `filters` represents the pre-processed output of parsing the kuery + * syntax and unifying it with any top-level filters the user has selected. + * + * The `hasFilters` flag will be true when the URL contains a truthy `filters` + * query key, _or_ a truthy `search` key. The callback `shouldRun` if: + * + * 1. `filters` are defined: the initial processing has finished and the app is + * ready to send its initial requests. + * 2. There are no search/filters defined in the URL, i.e. `!hasFilters === true`. + */ + const shouldRun = !!filters || !hasFilters(search); + + return useCallback( + (fn: () => void) => { + if (shouldRun) { + fn(); + } + }, + [shouldRun] + ); +} diff --git a/x-pack/plugins/uptime/public/hooks/use_url_params.ts b/x-pack/plugins/uptime/public/hooks/use_url_params.ts index 1318b635693c7..f5d24a4341e78 100644 --- a/x-pack/plugins/uptime/public/hooks/use_url_params.ts +++ b/x-pack/plugins/uptime/public/hooks/use_url_params.ts @@ -6,13 +6,14 @@ */ import { useCallback, useEffect } from 'react'; -import { parse, stringify } from 'query-string'; +import { stringify } from 'query-string'; import { useLocation, useHistory } from 'react-router-dom'; import { useDispatch, useSelector } from 'react-redux'; import { UptimeUrlParams, getSupportedUrlParams } from '../lib/helper'; import { selectedFiltersSelector } from '../state/selectors'; import { setSelectedFilters } from '../state/actions/selected_filters'; import { getFiltersFromMap } from './use_selected_filters'; +import { getParsedParams } from '../lib/helper/parse_search'; export type GetUrlParams = () => UptimeUrlParams; export type UpdateUrlParams = (updatedParams: { @@ -21,10 +22,6 @@ export type UpdateUrlParams = (updatedParams: { export type UptimeUrlParamsHook = () => [GetUrlParams, UpdateUrlParams]; -const getParsedParams = (search: string) => { - return search ? parse(search[0] === '?' ? search.slice(1) : search, { sort: false }) : {}; -}; - export const useGetUrlParams: GetUrlParams = () => { const { search } = useLocation(); diff --git a/x-pack/plugins/uptime/public/lib/helper/helper_with_redux.tsx b/x-pack/plugins/uptime/public/lib/helper/helper_with_redux.tsx index 8c4ec2fa611fc..f301d908637b9 100644 --- a/x-pack/plugins/uptime/public/lib/helper/helper_with_redux.tsx +++ b/x-pack/plugins/uptime/public/lib/helper/helper_with_redux.tsx @@ -6,19 +6,36 @@ */ import React from 'react'; +import { createStore as createReduxStore, applyMiddleware } from 'redux'; + import { Provider as ReduxProvider } from 'react-redux'; +import createSagaMiddleware from 'redux-saga'; + import { AppState } from '../../state'; +import { rootReducer } from '../../state/reducers'; +import { rootEffect } from '../../state/effects'; + +const createRealStore = () => { + const sagaMW = createSagaMiddleware(); + const store = createReduxStore(rootReducer, applyMiddleware(sagaMW)); + sagaMW.run(rootEffect); + return store; +}; + +export const MountWithReduxProvider: React.FC<{ state?: AppState; useRealStore?: boolean }> = ({ + children, + state, + useRealStore, +}) => { + const store = useRealStore + ? createRealStore() + : { + dispatch: jest.fn(), + getState: jest.fn().mockReturnValue(state || { selectedFilters: null }), + subscribe: jest.fn(), + replaceReducer: jest.fn(), + [Symbol.observable]: jest.fn(), + }; -export const MountWithReduxProvider: React.FC<{ state?: AppState }> = ({ children, state }) => ( - - {children} - -); + return {children}; +}; diff --git a/x-pack/plugins/uptime/public/lib/helper/parse_search.test.ts b/x-pack/plugins/uptime/public/lib/helper/parse_search.test.ts new file mode 100644 index 0000000000000..6f6962e3b8ee6 --- /dev/null +++ b/x-pack/plugins/uptime/public/lib/helper/parse_search.test.ts @@ -0,0 +1,28 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { getParsedParams } from './parse_search'; + +describe('getParsedParams', () => { + it('parses the query operator out', () => { + expect(getParsedParams('?val1=3&val2=5')).toEqual({ + val1: '3', + val2: '5', + }); + }); + + it('returns empty object for no search value', () => { + expect(getParsedParams('')).toEqual({}); + }); + + it('also parses queries if there is no query operator', () => { + expect(getParsedParams('val1=3&val2=5')).toEqual({ + val1: '3', + val2: '5', + }); + }); +}); diff --git a/x-pack/plugins/uptime/public/lib/helper/parse_search.ts b/x-pack/plugins/uptime/public/lib/helper/parse_search.ts new file mode 100644 index 0000000000000..b9a7930f87c39 --- /dev/null +++ b/x-pack/plugins/uptime/public/lib/helper/parse_search.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { parse } from 'query-string'; + +export function getParsedParams(search: string) { + return search ? parse(search[0] === '?' ? search.slice(1) : search, { sort: false }) : {}; +} diff --git a/x-pack/plugins/uptime/public/lib/helper/rtl_helpers.tsx b/x-pack/plugins/uptime/public/lib/helper/rtl_helpers.tsx index ac129bdb327d9..56217ebd0452e 100644 --- a/x-pack/plugins/uptime/public/lib/helper/rtl_helpers.tsx +++ b/x-pack/plugins/uptime/public/lib/helper/rtl_helpers.tsx @@ -5,11 +5,11 @@ * 2.0. */ -import React, { ReactElement } from 'react'; +import React, { ReactElement, ReactNode } from 'react'; import { of } from 'rxjs'; // eslint-disable-next-line import/no-extraneous-dependencies import { render as reactTestLibRender, RenderOptions } from '@testing-library/react'; -import { Router } from 'react-router-dom'; +import { Router, Route } from 'react-router-dom'; import { createMemoryHistory, History } from 'history'; import { CoreStart } from 'kibana/public'; import { I18nProvider } from '@kbn/i18n/react'; @@ -41,11 +41,12 @@ export interface KibanaProviderOptions { } interface MockKibanaProviderProps extends KibanaProviderOptions { - children: ReactElement; + children: ReactElement | ReactNode; } interface MockRouterProps extends MockKibanaProviderProps { history?: History; + path?: string; } type Url = @@ -60,6 +61,7 @@ interface RenderRouterOptions extends KibanaProviderOptions; state?: Partial; url?: Url; + path?: string; } function getSetting(key: string): T { @@ -87,9 +89,14 @@ const mockAppUrls: Record = { }; /* default mock core */ +interface UsageCollectionMock { + usageCollection: { reportUiCounter: Function }; +} const defaultCore = coreMock.createStart(); const mockCore: () => Partial = () => { - const core: Partial = { + const core: Partial< + CoreStart & ClientPluginsStart & UsageCollectionMock & { storage: IStorageWrapper } + > = { ...defaultCore, application: { ...defaultCore.application, @@ -110,6 +117,9 @@ const mockCore: () => Partial = () => { get: getSetting, get$: setSetting$, }, + usageCollection: { + reportUiCounter: () => {}, + }, triggersActionsUi: triggersActionsUiMock.createStart(), storage: createMockStore(), data: dataPluginMock.createStartContract(), @@ -144,19 +154,46 @@ export function MockKibanaProvider({ export function MockRouter({ children, core, + path, history = createMemoryHistory(), kibanaProps, }: MockRouterProps) { return ( - {children} + {children} ); } configure({ testIdAttribute: 'data-test-subj' }); +export const MockRedux = ({ + state, + history = createMemoryHistory(), + children, + path, +}: { + state: Partial; + history?: History; + children: React.ReactNode; + path?: string; + useRealStore?: boolean; +}) => { + const testState: AppState = { + ...mockState, + ...state, + }; + + return ( + + + {children} + + + ); +}; + /* Custom react testing library render */ export function render( ui: ReactElement, @@ -167,7 +204,9 @@ export function render( renderOptions, state, url, - }: RenderRouterOptions = {} + path, + useRealStore, + }: RenderRouterOptions & { useRealStore?: boolean } = {} ) { const testState: AppState = { ...mockState, @@ -180,8 +219,8 @@ export function render( return { ...reactTestLibRender( - - + + {ui} , diff --git a/x-pack/plugins/uptime/public/pages/synthetics/synthetics_checks.test.tsx b/x-pack/plugins/uptime/public/pages/synthetics/synthetics_checks.test.tsx index fda203f3ff14b..cfe1b03e6305c 100644 --- a/x-pack/plugins/uptime/public/pages/synthetics/synthetics_checks.test.tsx +++ b/x-pack/plugins/uptime/public/pages/synthetics/synthetics_checks.test.tsx @@ -7,53 +7,95 @@ import React from 'react'; import { render } from '../../lib/helper/rtl_helpers'; -import { spyOnUseFetcher } from '../../lib/helper/spy_use_fetcher'; import { SyntheticsCheckSteps, SyntheticsCheckStepsPageHeader, SyntheticsCheckStepsPageRightSideItem, } from './synthetics_checks'; +import { fetchJourneySteps } from '../../state/api/journey'; +import { createMemoryHistory } from 'history'; +import { SYNTHETIC_CHECK_STEPS_ROUTE } from '../../../common/constants'; + +jest.mock('../../state/api/journey', () => ({ + fetchJourneySteps: jest.fn(), +})); + +// We must mock all other API calls because we're using the real store +// in this test. Using the real store causes actions and effects to actually +// run, which could trigger API calls. +jest.mock('../../state/api/utils.ts', () => ({ + apiService: { get: jest.fn().mockResolvedValue([]) }, +})); + +const getRelevantPageHistory = () => { + const history = createMemoryHistory(); + const checkStepsHistoryFrame = SYNTHETIC_CHECK_STEPS_ROUTE.replace( + /:checkGroupId/g, + 'my-check-group-id' + ); + + history.push(checkStepsHistoryFrame); + + return history; +}; describe('SyntheticsCheckStepsPageHeader component', () => { - it('returns the monitor name', () => { - spyOnUseFetcher({ + afterAll(() => { + jest.restoreAllMocks(); + }); + + it('returns the monitor name', async () => { + (fetchJourneySteps as jest.Mock).mockResolvedValueOnce({ + checkGroup: 'my-check-group-id', details: { journey: { - monitor: { - name: 'test-name', - id: 'test-id', - }, + monitor: { name: 'test-name' }, }, }, }); - const { getByText } = render(); - expect(getByText('test-name')); + + const { findByText } = render(, { + history: getRelevantPageHistory(), + path: SYNTHETIC_CHECK_STEPS_ROUTE, + useRealStore: true, + }); + + expect(await findByText('test-name')); }); - it('returns the monitor ID when no name is provided', () => { - spyOnUseFetcher({ + it('returns the monitor ID when no name is provided', async () => { + (fetchJourneySteps as jest.Mock).mockResolvedValueOnce({ + checkGroup: 'my-check-group-id', details: { journey: { - monitor: { - id: 'test-id', - }, + monitor: { name: 'test-id' }, }, }, }); - const { getByText } = render(); - expect(getByText('test-id')); + + const { findByText } = render(, { + history: getRelevantPageHistory(), + path: SYNTHETIC_CHECK_STEPS_ROUTE, + useRealStore: true, + }); + expect(await findByText('test-id')); }); }); describe('SyntheticsCheckStepsPageRightSideItem component', () => { it('returns null when there are no details', () => { - spyOnUseFetcher(null); - const { container } = render(); + (fetchJourneySteps as jest.Mock).mockResolvedValueOnce(null); + const { container } = render(, { + history: getRelevantPageHistory(), + path: SYNTHETIC_CHECK_STEPS_ROUTE, + useRealStore: true, + }); expect(container.firstChild).toBeNull(); }); - it('renders navigation element if details exist', () => { - spyOnUseFetcher({ + it('renders navigation element if details exist', async () => { + (fetchJourneySteps as jest.Mock).mockResolvedValueOnce({ + checkGroup: 'my-check-group-id', details: { timestamp: '20031104', journey: { @@ -64,22 +106,54 @@ describe('SyntheticsCheckStepsPageRightSideItem component', () => { }, }, }); - const { getByText } = render(); - expect(getByText('Nov 4, 2003 12:00:00 AM')); - expect(getByText('Next check')); - expect(getByText('Previous check')); + + const { findByText } = render(, { + history: getRelevantPageHistory(), + path: SYNTHETIC_CHECK_STEPS_ROUTE, + useRealStore: true, + }); + expect(await findByText('Nov 4, 2003 12:00:00 AM')); + expect(await findByText('Next check')); + expect(await findByText('Previous check')); }); }); describe('SyntheticsCheckSteps component', () => { - it('renders empty steps list', () => { - const { getByText } = render(); - expect(getByText('0 Steps - all failed or skipped')); - expect(getByText('This journey did not contain any steps.')); + it('renders empty steps list', async () => { + (fetchJourneySteps as jest.Mock).mockResolvedValueOnce({ + checkGroup: 'my-check-group-id', + details: { + timestamp: '20031104', + journey: { + monitor: { + name: 'test-name', + id: 'test-id', + }, + }, + }, + }); + + const { findByText } = render(, { + history: getRelevantPageHistory(), + path: SYNTHETIC_CHECK_STEPS_ROUTE, + useRealStore: true, + }); + expect(await findByText('0 Steps - all failed or skipped')); + expect(await findByText('This journey did not contain any steps.')); }); - it('renders steps', () => { - spyOnUseFetcher({ + it('renders steps', async () => { + (fetchJourneySteps as jest.Mock).mockResolvedValueOnce({ + checkGroup: 'my-check-group-id', + details: { + timestamp: '20031104', + journey: { + monitor: { + name: 'test-name', + id: 'test-id', + }, + }, + }, steps: [ { _id: 'step-1', @@ -94,7 +168,12 @@ describe('SyntheticsCheckSteps component', () => { }, ], }); - const { getByText } = render(); - expect(getByText('1 Steps - all failed or skipped')); + + const { findByText } = render(, { + history: getRelevantPageHistory(), + path: SYNTHETIC_CHECK_STEPS_ROUTE, + useRealStore: true, + }); + expect(await findByText('1 Steps - all failed or skipped')); }); }); diff --git a/x-pack/plugins/uptime/public/state/effects/dynamic_settings.ts b/x-pack/plugins/uptime/public/state/effects/dynamic_settings.ts index 024e387d23547..ffe7c61c7a4e3 100644 --- a/x-pack/plugins/uptime/public/state/effects/dynamic_settings.ts +++ b/x-pack/plugins/uptime/public/state/effects/dynamic_settings.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { takeLatest, put, call } from 'redux-saga/effects'; +import { takeLeading, put, call, takeLatest } from 'redux-saga/effects'; import { Action } from 'redux-actions'; import { i18n } from '@kbn/i18n'; import { fetchEffectFactory } from './fetch_effect'; @@ -25,7 +25,7 @@ import { DynamicSettings } from '../../../common/runtime_types'; import { kibanaService } from '../kibana_service'; export function* fetchDynamicSettingsEffect() { - yield takeLatest( + yield takeLeading( String(getDynamicSettings), fetchEffectFactory(getDynamicSettingsAPI, getDynamicSettingsSuccess, getDynamicSettingsFail) ); diff --git a/x-pack/plugins/uptime/public/state/effects/journey.test.ts b/x-pack/plugins/uptime/public/state/effects/journey.test.ts new file mode 100644 index 0000000000000..f3e0d04e12bcc --- /dev/null +++ b/x-pack/plugins/uptime/public/state/effects/journey.test.ts @@ -0,0 +1,103 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import createSagaMiddleware from 'redux-saga'; +import { createStore as createReduxStore, applyMiddleware } from 'redux'; + +import { rootReducer } from '../reducers'; +import { fetchJourneyStepsEffect } from '../effects/journey'; + +import { getJourneySteps } from '../actions/journey'; + +import { fetchJourneySteps } from '../api/journey'; + +jest.mock('../api/journey', () => ({ + fetchJourneySteps: jest.fn(), +})); + +const createTestStore = () => { + const sagaMW = createSagaMiddleware(); + const store = createReduxStore(rootReducer, applyMiddleware(sagaMW)); + sagaMW.run(fetchJourneyStepsEffect); + return store; +}; + +describe('journey effect', () => { + afterEach(() => jest.resetAllMocks()); + afterAll(() => jest.restoreAllMocks()); + + it('fetches only once when dispatching multiple getJourneySteps for a particular ID', () => { + (fetchJourneySteps as jest.Mock).mockResolvedValue({ + checkGroup: 'saga-test', + details: { + journey: { + monitor: { name: 'test-name' }, + }, + }, + }); + + const store = createTestStore(); + + // Actually dispatched + store.dispatch(getJourneySteps({ checkGroup: 'saga-test' })); + + // Skipped + store.dispatch(getJourneySteps({ checkGroup: 'saga-test' })); + + expect(fetchJourneySteps).toHaveBeenCalledTimes(1); + }); + + it('fetches multiple times for different IDs', () => { + (fetchJourneySteps as jest.Mock).mockResolvedValue({ + checkGroup: 'saga-test', + details: { + journey: { + monitor: { name: 'test-name' }, + }, + }, + }); + + const store = createTestStore(); + + // Actually dispatched + store.dispatch(getJourneySteps({ checkGroup: 'saga-test' })); + + // Skipped + store.dispatch(getJourneySteps({ checkGroup: 'saga-test' })); + + // Actually dispatched because it has a different ID + store.dispatch(getJourneySteps({ checkGroup: 'saga-test-second' })); + + expect(fetchJourneySteps).toHaveBeenCalledTimes(2); + }); + + it('can re-fetch after an ID is fetched', async () => { + (fetchJourneySteps as jest.Mock).mockResolvedValue({ + checkGroup: 'saga-test', + details: { + journey: { + monitor: { name: 'test-name' }, + }, + }, + }); + + const store = createTestStore(); + + const waitForStateUpdate = (): Promise => + new Promise((resolve) => store.subscribe(() => resolve())); + + // Actually dispatched + store.dispatch(getJourneySteps({ checkGroup: 'saga-test' })); + + await waitForStateUpdate(); + + // Also dispatched given its initial request is not in-flight anymore + store.dispatch(getJourneySteps({ checkGroup: 'saga-test' })); + + expect(fetchJourneySteps).toHaveBeenCalledTimes(2); + }); +}); diff --git a/x-pack/plugins/uptime/public/state/effects/journey.ts b/x-pack/plugins/uptime/public/state/effects/journey.ts index 8d33179bde402..f7c1e23742e69 100644 --- a/x-pack/plugins/uptime/public/state/effects/journey.ts +++ b/x-pack/plugins/uptime/public/state/effects/journey.ts @@ -6,7 +6,7 @@ */ import { Action } from 'redux-actions'; -import { call, put, takeLatest } from 'redux-saga/effects'; +import { call, put, takeEvery } from 'redux-saga/effects'; import { getJourneySteps, getJourneyStepsSuccess, @@ -14,14 +14,25 @@ import { FetchJourneyStepsParams, } from '../actions/journey'; import { fetchJourneySteps } from '../api/journey'; +import type { SyntheticsJourneyApiResponse } from '../../../common/runtime_types'; + +const inFlightStepRequests: Record = {}; + +export function* fetchJourneyStepsEffect(): Generator { + yield takeEvery(getJourneySteps, function* (action: Action) { + if (inFlightStepRequests[action.payload.checkGroup]) return; -export function* fetchJourneyStepsEffect() { - yield takeLatest(getJourneySteps, function* (action: Action) { try { - const response = yield call(fetchJourneySteps, action.payload); + inFlightStepRequests[action.payload.checkGroup] = true; + const response = (yield call( + fetchJourneySteps, + action.payload + )) as SyntheticsJourneyApiResponse; yield put(getJourneyStepsSuccess(response)); } catch (e) { yield put(getJourneyStepsFail({ checkGroup: action.payload.checkGroup, error: e })); + } finally { + delete inFlightStepRequests[action.payload.checkGroup]; } }); } diff --git a/x-pack/plugins/uptime/public/state/reducers/__snapshots__/ui.test.ts.snap b/x-pack/plugins/uptime/public/state/reducers/__snapshots__/ui.test.ts.snap deleted file mode 100644 index 040fbf7f4fe0a..0000000000000 --- a/x-pack/plugins/uptime/public/state/reducers/__snapshots__/ui.test.ts.snap +++ /dev/null @@ -1,26 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`ui reducer adds integration popover status to state 1`] = ` -Object { - "alertFlyoutVisible": false, - "basePath": "", - "esKuery": "", - "integrationsPopoverOpen": Object { - "id": "popover-2", - "open": true, - }, - "monitorId": "test", - "searchText": "", -} -`; - -exports[`ui reducer sets the application's base path 1`] = ` -Object { - "alertFlyoutVisible": false, - "basePath": "yyz", - "esKuery": "", - "integrationsPopoverOpen": null, - "monitorId": "test", - "searchText": "", -} -`; diff --git a/x-pack/plugins/uptime/public/state/reducers/ui.test.ts b/x-pack/plugins/uptime/public/state/reducers/ui.test.ts index 6ff3f70ba9d84..16cd02aa9d3c3 100644 --- a/x-pack/plugins/uptime/public/state/reducers/ui.test.ts +++ b/x-pack/plugins/uptime/public/state/reducers/ui.test.ts @@ -29,7 +29,16 @@ describe('ui reducer', () => { }, action ) - ).toMatchSnapshot(); + ).toMatchInlineSnapshot(` + Object { + "alertFlyoutVisible": false, + "basePath": "yyz", + "esKuery": "", + "integrationsPopoverOpen": null, + "monitorId": "test", + "searchText": "", + } + `); }); it('adds integration popover status to state', () => { @@ -49,7 +58,19 @@ describe('ui reducer', () => { }, action ) - ).toMatchSnapshot(); + ).toMatchInlineSnapshot(` + Object { + "alertFlyoutVisible": false, + "basePath": "", + "esKuery": "", + "integrationsPopoverOpen": Object { + "id": "popover-2", + "open": true, + }, + "monitorId": "test", + "searchText": "", + } + `); }); it('updates the alert flyout value', () => { diff --git a/x-pack/plugins/uptime/public/state/reducers/ui.ts b/x-pack/plugins/uptime/public/state/reducers/ui.ts index e74bac930ed34..c00ef124fafc9 100644 --- a/x-pack/plugins/uptime/public/state/reducers/ui.ts +++ b/x-pack/plugins/uptime/public/state/reducers/ui.ts @@ -58,7 +58,6 @@ export const uiReducer = handleActions( ...state, esKuery: action.payload as string, }), - [String(setAlertFlyoutType)]: (state, action: Action) => ({ ...state, alertFlyoutType: action.payload, diff --git a/x-pack/plugins/uptime/server/kibana.index.ts b/x-pack/plugins/uptime/server/kibana.index.ts index 589b09e5a13d7..b6e162ba87250 100644 --- a/x-pack/plugins/uptime/server/kibana.index.ts +++ b/x-pack/plugins/uptime/server/kibana.index.ts @@ -58,7 +58,7 @@ export const initServerWithKibana = ( catalogue: ['uptime'], api: ['uptime-read', 'uptime-write', 'lists-all'], savedObject: { - all: [umDynamicSettings.name, 'alert'], + all: [umDynamicSettings.name], read: [], }, alerting: { @@ -89,7 +89,7 @@ export const initServerWithKibana = ( catalogue: ['uptime'], api: ['uptime-read', 'lists-read'], savedObject: { - all: ['alert'], + all: [], read: [umDynamicSettings.name], }, alerting: { diff --git a/x-pack/plugins/uptime/server/lib/requests/get_snapshot_counts.ts b/x-pack/plugins/uptime/server/lib/requests/get_snapshot_counts.ts index ee4e3eb96eb5a..f2785913e02ca 100644 --- a/x-pack/plugins/uptime/server/lib/requests/get_snapshot_counts.ts +++ b/x-pack/plugins/uptime/server/lib/requests/get_snapshot_counts.ts @@ -107,7 +107,12 @@ const statusCountBody = (filters: ESFilter[], context: QueryContext) => { String status = doc["summary.down"][0] > 0 ? "d" : "u"; String timeAndStatus = doc["@timestamp"][0].toInstant().toEpochMilli().toString() + status; - state.locStatus[idLoc] = timeAndStatus; + if(state.locStatus[idLoc] == null){ + state.locStatus[idLoc] = timeAndStatus; + }else if(timeAndStatus.compareTo(state.locStatus[idLoc]) > 0){ + state.locStatus[idLoc] = timeAndStatus; + } + state.totalDocs++; `, combine_script: ` diff --git a/x-pack/plugins/watcher/__jest__/client_integration/helpers/app_context.mock.tsx b/x-pack/plugins/watcher/__jest__/client_integration/helpers/app_context.mock.tsx index 8176d3fcbbca2..6e246380e7049 100644 --- a/x-pack/plugins/watcher/__jest__/client_integration/helpers/app_context.mock.tsx +++ b/x-pack/plugins/watcher/__jest__/client_integration/helpers/app_context.mock.tsx @@ -5,9 +5,7 @@ * 2.0. */ -import React from 'react'; import { of } from 'rxjs'; -import { ComponentType } from 'enzyme'; import { LocationDescriptorObject } from 'history'; import { @@ -17,7 +15,6 @@ import { httpServiceMock, scopedHistoryMock, } from '../../../../../../src/core/public/mocks'; -import { AppContextProvider } from '../../../public/application/app_context'; import { AppDeps } from '../../../public/application/app'; import { LicenseStatus } from '../../../common/types/license_status'; @@ -52,11 +49,3 @@ export const mockContextValue: AppDeps = { history, getUrlForApp: jest.fn(), }; - -export const withAppContext = (Component: ComponentType) => (props: any) => { - return ( - - - - ); -}; diff --git a/x-pack/plugins/watcher/__jest__/client_integration/helpers/http_requests.ts b/x-pack/plugins/watcher/__jest__/client_integration/helpers/http_requests.ts index e98cd66a25684..31c82cc33cd59 100644 --- a/x-pack/plugins/watcher/__jest__/client_integration/helpers/http_requests.ts +++ b/x-pack/plugins/watcher/__jest__/client_integration/helpers/http_requests.ts @@ -5,123 +5,115 @@ * 2.0. */ -import sinon, { SinonFakeServer } from 'sinon'; +import { httpServiceMock } from '../../../../../../src/core/public/mocks'; import { ROUTES } from '../../../common/constants'; const { API_ROOT } = ROUTES; type HttpResponse = Record | any[]; - -const mockResponse = (defaultResponse: HttpResponse, response: HttpResponse) => [ - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify({ ...defaultResponse, ...response }), -]; +type HttpMethod = 'GET' | 'PUT' | 'POST'; +export interface ResponseError { + statusCode: number; + message: string | Error; +} // Register helpers to mock HTTP Requests -const registerHttpRequestMockHelpers = (server: SinonFakeServer) => { - const setLoadWatchesResponse = (response: HttpResponse = {}) => { - const defaultResponse = { watches: [] }; - - server.respondWith('GET', `${API_ROOT}/watches`, mockResponse(defaultResponse, response)); - }; - - const setLoadWatchResponse = (response: HttpResponse = {}) => { - const defaultResponse = { watch: {} }; - server.respondWith('GET', `${API_ROOT}/watch/:id`, mockResponse(defaultResponse, response)); - }; - - const setLoadWatchHistoryResponse = (response: HttpResponse = {}) => { - const defaultResponse = { watchHistoryItems: [] }; - server.respondWith( - 'GET', - `${API_ROOT}/watch/:id/history`, - mockResponse(defaultResponse, response) - ); - }; - - const setLoadWatchHistoryItemResponse = (response: HttpResponse = {}) => { - const defaultResponse = { watchHistoryItem: {} }; - server.respondWith('GET', `${API_ROOT}/history/:id`, mockResponse(defaultResponse, response)); - }; - - const setDeleteWatchResponse = (response?: HttpResponse, error?: any) => { - const status = error ? error.status || 400 : 200; - const body = error ? JSON.stringify(error.body) : JSON.stringify(response); - - server.respondWith('POST', `${API_ROOT}/watches/delete`, [ - status, - { 'Content-Type': 'application/json' }, - body, - ]); - }; - - const setSaveWatchResponse = (id: string, response?: HttpResponse, error?: any) => { - const status = error ? error.status || 400 : 200; - const body = error ? JSON.stringify(error.body) : JSON.stringify(response); - - server.respondWith('PUT', `${API_ROOT}/watch/${id}`, [ - status, - { 'Content-Type': 'application/json' }, - body, - ]); - }; - - const setLoadExecutionResultResponse = (response: HttpResponse = {}) => { - const defaultResponse = { watchHistoryItem: {} }; - server.respondWith('PUT', `${API_ROOT}/watch/execute`, mockResponse(defaultResponse, response)); - }; - - const setLoadMatchingIndicesResponse = (response: HttpResponse = {}) => { - const defaultResponse = { indices: [] }; - server.respondWith('POST', `${API_ROOT}/indices`, mockResponse(defaultResponse, response)); - }; - - const setLoadEsFieldsResponse = (response: HttpResponse = {}) => { - const defaultResponse = { fields: [] }; - server.respondWith('POST', `${API_ROOT}/fields`, mockResponse(defaultResponse, response)); - }; - - const setLoadSettingsResponse = (response: HttpResponse = {}) => { - const defaultResponse = { action_types: {} }; - server.respondWith('GET', `${API_ROOT}/settings`, mockResponse(defaultResponse, response)); - }; - - const setLoadWatchVisualizeResponse = (response: HttpResponse = {}) => { - const defaultResponse = { visualizeData: {} }; - server.respondWith( - 'POST', - `${API_ROOT}/watch/visualize`, - mockResponse(defaultResponse, response) - ); - }; - - const setDeactivateWatchResponse = (response: HttpResponse = {}) => { - const defaultResponse = { watchStatus: {} }; - server.respondWith( +const registerHttpRequestMockHelpers = ( + httpSetup: ReturnType +) => { + const mockResponses = new Map>>( + ['GET', 'PUT', 'POST'].map( + (method) => [method, new Map()] as [HttpMethod, Map>] + ) + ); + + const mockMethodImplementation = (method: HttpMethod, path: string) => + mockResponses.get(method)?.get(path) ?? Promise.resolve({}); + + httpSetup.get.mockImplementation((path) => + mockMethodImplementation('GET', path as unknown as string) + ); + httpSetup.post.mockImplementation((path) => + mockMethodImplementation('POST', path as unknown as string) + ); + httpSetup.put.mockImplementation((path) => + mockMethodImplementation('PUT', path as unknown as string) + ); + + const mockResponse = (method: HttpMethod, path: string, response?: unknown, error?: unknown) => { + const defuse = (promise: Promise) => { + promise.catch(() => {}); + return promise; + }; + + return mockResponses + .get(method)! + .set(path, error ? defuse(Promise.reject(error)) : Promise.resolve(response)); + }; + + const setLoadWatchesResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('GET', `${API_ROOT}/watches`, response, error); + + const setLoadWatchResponse = (watchId: string, response?: HttpResponse, error?: ResponseError) => + mockResponse('GET', `${API_ROOT}/watch/${watchId}`, response, error); + + const setLoadWatchHistoryResponse = ( + watchId: string, + response?: HttpResponse, + error?: ResponseError + ) => mockResponse('GET', `${API_ROOT}/watch/${watchId}/history`, response, error); + + const setLoadWatchHistoryItemResponse = ( + watchId: string, + response?: HttpResponse, + error?: ResponseError + ) => mockResponse('GET', `${API_ROOT}/watch/history/${watchId}`, response, error); + + const setDeleteWatchResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('POST', `${API_ROOT}/watches/delete`, response, error); + + const setSaveWatchResponse = (watchId: string, response?: HttpResponse, error?: ResponseError) => + mockResponse('PUT', `${API_ROOT}/watch/${watchId}`, response, error); + + const setLoadExecutionResultResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('PUT', `${API_ROOT}/watch/execute`, response, error); + + const setLoadMatchingIndicesResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('PUT', `${API_ROOT}/indices`, response, error); + + const setLoadEsFieldsResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('POST', `${API_ROOT}/fields`, response, error); + + const setLoadSettingsResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('GET', `${API_ROOT}/settings`, response, error); + + const setLoadWatchVisualizeResponse = (response?: HttpResponse, error?: ResponseError) => + mockResponse('POST', `${API_ROOT}/watch/visualize`, response, error); + + const setDeactivateWatchResponse = ( + watchId: string, + response?: HttpResponse, + error?: ResponseError + ) => mockResponse('PUT', `${API_ROOT}/watch/${watchId}/deactivate`, response, error); + + const setActivateWatchResponse = ( + watchId: string, + response?: HttpResponse, + error?: ResponseError + ) => mockResponse('PUT', `${API_ROOT}/watch/${watchId}/activate`, response, error); + + const setAcknowledgeWatchResponse = ( + watchId: string, + actionId: string, + response?: HttpResponse, + error?: ResponseError + ) => + mockResponse( 'PUT', - `${API_ROOT}/watch/:id/deactivate`, - mockResponse(defaultResponse, response) + `${API_ROOT}/watch/${watchId}/action/${actionId}/acknowledge`, + response, + error ); - }; - - const setActivateWatchResponse = (response: HttpResponse = {}) => { - const defaultResponse = { watchStatus: {} }; - server.respondWith( - 'PUT', - `${API_ROOT}/watch/:id/activate`, - mockResponse(defaultResponse, response) - ); - }; - - const setAcknowledgeWatchResponse = (response: HttpResponse = {}) => { - const defaultResponse = { watchStatus: {} }; - server.respondWith( - 'PUT', - `${API_ROOT}/watch/:id/action/:actionId/acknowledge`, - mockResponse(defaultResponse, response) - ); - }; return { setLoadWatchesResponse, @@ -142,18 +134,11 @@ const registerHttpRequestMockHelpers = (server: SinonFakeServer) => { }; export const init = () => { - const server = sinon.fakeServer.create(); - server.respondImmediately = true; - - // Define default response for unhandled requests. - // We make requests to APIs which don't impact the component under test, e.g. UI metric telemetry, - // and we can mock them all with a 200 instead of mocking each one individually. - server.respondWith([200, {}, 'DefaultResponse']); - - const httpRequestsMockHelpers = registerHttpRequestMockHelpers(server); + const httpSetup = httpServiceMock.createSetupContract(); + const httpRequestsMockHelpers = registerHttpRequestMockHelpers(httpSetup); return { - server, + httpSetup, httpRequestsMockHelpers, }; }; diff --git a/x-pack/plugins/watcher/__jest__/client_integration/helpers/index.ts b/x-pack/plugins/watcher/__jest__/client_integration/helpers/index.ts index 37fe71d143988..91a7b09b13c36 100644 --- a/x-pack/plugins/watcher/__jest__/client_integration/helpers/index.ts +++ b/x-pack/plugins/watcher/__jest__/client_integration/helpers/index.ts @@ -13,7 +13,6 @@ import { setup as watchEditSetup } from './watch_edit.helpers'; export type { TestBed } from '@kbn/test/jest'; export { getRandomString, findTestSubject } from '@kbn/test/jest'; -export { wrapBodyResponse, unwrapBodyResponse } from './body_response'; export { setupEnvironment } from './setup_environment'; export const pageHelpers = { diff --git a/x-pack/plugins/watcher/__jest__/client_integration/helpers/setup_environment.ts b/x-pack/plugins/watcher/__jest__/client_integration/helpers/setup_environment.ts deleted file mode 100644 index 5ba0387d21ba7..0000000000000 --- a/x-pack/plugins/watcher/__jest__/client_integration/helpers/setup_environment.ts +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import axios from 'axios'; -import axiosXhrAdapter from 'axios/lib/adapters/xhr'; - -import { init as initHttpRequests } from './http_requests'; -import { setHttpClient, setSavedObjectsClient } from '../../../public/application/lib/api'; - -const mockHttpClient = axios.create({ adapter: axiosXhrAdapter }); -mockHttpClient.interceptors.response.use( - (res) => { - return res.data; - }, - (rej) => { - return Promise.reject(rej); - } -); - -const mockSavedObjectsClient = () => { - return { - find: (_params?: any) => {}, - }; -}; - -export const setupEnvironment = () => { - const { server, httpRequestsMockHelpers } = initHttpRequests(); - - // @ts-ignore - setHttpClient(mockHttpClient); - - setSavedObjectsClient(mockSavedObjectsClient() as any); - - return { - server, - httpRequestsMockHelpers, - }; -}; diff --git a/x-pack/plugins/watcher/__jest__/client_integration/helpers/setup_environment.tsx b/x-pack/plugins/watcher/__jest__/client_integration/helpers/setup_environment.tsx new file mode 100644 index 0000000000000..63822efa07f63 --- /dev/null +++ b/x-pack/plugins/watcher/__jest__/client_integration/helpers/setup_environment.tsx @@ -0,0 +1,39 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { HttpSetup } from 'src/core/public'; + +import { init as initHttpRequests } from './http_requests'; +import { mockContextValue } from './app_context.mock'; +import { AppContextProvider } from '../../../public/application/app_context'; +import { setHttpClient, setSavedObjectsClient } from '../../../public/application/lib/api'; + +const mockSavedObjectsClient = () => { + return { + find: (_params?: any) => ({ + savedObjects: [], + }), + }; +}; + +export const WithAppDependencies = + (Component: any, httpSetup: HttpSetup) => (props: Record) => { + setHttpClient(httpSetup); + + return ( + + + + ); + }; + +export const setupEnvironment = () => { + setSavedObjectsClient(mockSavedObjectsClient() as any); + + return initHttpRequests(); +}; diff --git a/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_create_json.helpers.ts b/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_create_json.helpers.ts index a276b717bc544..cb41ab8ed26c8 100644 --- a/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_create_json.helpers.ts +++ b/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_create_json.helpers.ts @@ -6,10 +6,12 @@ */ import { registerTestBed, TestBed, AsyncTestBedConfig } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; + import { WatchEdit } from '../../../public/application/sections/watch_edit/components/watch_edit'; import { registerRouter } from '../../../public/application/lib/navigation'; import { ROUTES, WATCH_TYPES } from '../../../common/constants'; -import { withAppContext } from './app_context.mock'; +import { WithAppDependencies } from './setup_environment'; const testBedConfig: AsyncTestBedConfig = { memoryRouter: { @@ -20,8 +22,6 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed(withAppContext(WatchEdit), testBedConfig); - export interface WatchCreateJsonTestBed extends TestBed { actions: { selectTab: (tab: 'edit' | 'simulate') => void; @@ -30,7 +30,8 @@ export interface WatchCreateJsonTestBed extends TestBed => { +export const setup = async (httpSetup: HttpSetup): Promise => { + const initTestBed = registerTestBed(WithAppDependencies(WatchEdit, httpSetup), testBedConfig); const testBed = await initTestBed(); /** diff --git a/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_create_threshold.helpers.ts b/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_create_threshold.helpers.ts index 320f88eef2651..f7bf0c6847825 100644 --- a/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_create_threshold.helpers.ts +++ b/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_create_threshold.helpers.ts @@ -6,10 +6,12 @@ */ import { registerTestBed, TestBed, AsyncTestBedConfig } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; + import { WatchEdit } from '../../../public/application/sections/watch_edit/components/watch_edit'; import { registerRouter } from '../../../public/application/lib/navigation'; import { ROUTES, WATCH_TYPES } from '../../../common/constants'; -import { withAppContext } from './app_context.mock'; +import { WithAppDependencies } from './setup_environment'; const testBedConfig: AsyncTestBedConfig = { memoryRouter: { @@ -20,8 +22,6 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed(withAppContext(WatchEdit), testBedConfig); - export interface WatchCreateThresholdTestBed extends TestBed { actions: { clickSubmitButton: () => void; @@ -33,7 +33,8 @@ export interface WatchCreateThresholdTestBed extends TestBed => { +export const setup = async (httpSetup: HttpSetup): Promise => { + const initTestBed = registerTestBed(WithAppDependencies(WatchEdit, httpSetup), testBedConfig); const testBed = await initTestBed(); /** diff --git a/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_edit.helpers.ts b/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_edit.helpers.ts index 15489fa0a864d..9a85041023949 100644 --- a/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_edit.helpers.ts +++ b/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_edit.helpers.ts @@ -6,11 +6,13 @@ */ import { registerTestBed, TestBed, AsyncTestBedConfig } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; + import { WatchEdit } from '../../../public/application/sections/watch_edit/components/watch_edit'; import { registerRouter } from '../../../public/application/lib/navigation'; import { ROUTES } from '../../../common/constants'; import { WATCH_ID } from './jest_constants'; -import { withAppContext } from './app_context.mock'; +import { WithAppDependencies } from './setup_environment'; const testBedConfig: AsyncTestBedConfig = { memoryRouter: { @@ -21,15 +23,14 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed(withAppContext(WatchEdit), testBedConfig); - export interface WatchEditTestBed extends TestBed { actions: { clickSubmitButton: () => void; }; } -export const setup = async (): Promise => { +export const setup = async (httpSetup: HttpSetup): Promise => { + const initTestBed = registerTestBed(WithAppDependencies(WatchEdit, httpSetup), testBedConfig); const testBed = await initTestBed(); /** diff --git a/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_list.helpers.ts b/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_list.helpers.ts index d048a55422f6e..d14de58c546f8 100644 --- a/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_list.helpers.ts +++ b/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_list.helpers.ts @@ -8,9 +8,11 @@ import { act } from 'react-dom/test-utils'; import { registerTestBed, findTestSubject, TestBed, AsyncTestBedConfig } from '@kbn/test/jest'; +import { HttpSetup } from 'src/core/public'; + import { WatchList } from '../../../public/application/sections/watch_list/components/watch_list'; import { ROUTES, REFRESH_INTERVALS } from '../../../common/constants'; -import { withAppContext } from './app_context.mock'; +import { WithAppDependencies } from './setup_environment'; const testBedConfig: AsyncTestBedConfig = { memoryRouter: { @@ -19,8 +21,6 @@ const testBedConfig: AsyncTestBedConfig = { doMountAsync: true, }; -const initTestBed = registerTestBed(withAppContext(WatchList), testBedConfig); - export interface WatchListTestBed extends TestBed { actions: { selectWatchAt: (index: number) => void; @@ -30,7 +30,8 @@ export interface WatchListTestBed extends TestBed { }; } -export const setup = async (): Promise => { +export const setup = async (httpSetup: HttpSetup): Promise => { + const initTestBed = registerTestBed(WithAppDependencies(WatchList, httpSetup), testBedConfig); const testBed = await initTestBed(); /** diff --git a/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_status.helpers.ts b/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_status.helpers.ts index 0578f9f1092a1..3a1bb451859bd 100644 --- a/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_status.helpers.ts +++ b/x-pack/plugins/watcher/__jest__/client_integration/helpers/watch_status.helpers.ts @@ -7,22 +7,24 @@ import { act } from 'react-dom/test-utils'; +import { HttpSetup } from 'src/core/public'; import { registerTestBed, findTestSubject, TestBed, AsyncTestBedConfig } from '@kbn/test/jest'; + +import { registerRouter } from '../../../public/application/lib/navigation'; import { WatchStatus } from '../../../public/application/sections/watch_status/components/watch_status'; import { ROUTES } from '../../../common/constants'; import { WATCH_ID } from './jest_constants'; -import { withAppContext } from './app_context.mock'; +import { WithAppDependencies } from './setup_environment'; const testBedConfig: AsyncTestBedConfig = { memoryRouter: { + onRouter: (router) => registerRouter(router), initialEntries: [`${ROUTES.API_ROOT}/watches/watch/${WATCH_ID}/status`], componentRoutePath: `${ROUTES.API_ROOT}/watches/watch/:id/status`, }, doMountAsync: true, }; -const initTestBed = registerTestBed(withAppContext(WatchStatus), testBedConfig); - export interface WatchStatusTestBed extends TestBed { actions: { selectTab: (tab: 'execution history' | 'action statuses') => void; @@ -33,7 +35,8 @@ export interface WatchStatusTestBed extends TestBed { }; } -export const setup = async (): Promise => { +export const setup = async (httpSetup: HttpSetup): Promise => { + const initTestBed = registerTestBed(WithAppDependencies(WatchStatus, httpSetup), testBedConfig); const testBed = await initTestBed(); /** diff --git a/x-pack/plugins/watcher/__jest__/client_integration/watch_create_json.test.ts b/x-pack/plugins/watcher/__jest__/client_integration/watch_create_json.test.ts index f9ea51a80ae76..fc518bcab882b 100644 --- a/x-pack/plugins/watcher/__jest__/client_integration/watch_create_json.test.ts +++ b/x-pack/plugins/watcher/__jest__/client_integration/watch_create_json.test.ts @@ -8,15 +8,16 @@ import { act } from 'react-dom/test-utils'; import { getExecuteDetails } from '../../__fixtures__'; +import { API_BASE_PATH } from '../../common/constants'; import { defaultWatch } from '../../public/application/models/watch'; -import { setupEnvironment, pageHelpers, wrapBodyResponse } from './helpers'; +import { setupEnvironment, pageHelpers } from './helpers'; import { WatchCreateJsonTestBed } from './helpers/watch_create_json.helpers'; import { WATCH } from './helpers/jest_constants'; const { setup } = pageHelpers.watchCreateJson; describe(' create route', () => { - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); let testBed: WatchCreateJsonTestBed; beforeAll(() => { @@ -25,12 +26,11 @@ describe(' create route', () => { afterAll(() => { jest.useRealTimers(); - server.restore(); }); describe('on component mount', () => { beforeEach(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); testBed.component.update(); }); @@ -94,31 +94,32 @@ describe(' create route', () => { actions.clickSubmitButton(); }); - const latestRequest = server.requests[server.requests.length - 1]; - const DEFAULT_LOGGING_ACTION_ID = 'logging_1'; const DEFAULT_LOGGING_ACTION_TYPE = 'logging'; const DEFAULT_LOGGING_ACTION_TEXT = 'There are {{ctx.payload.hits.total}} documents in your index. Threshold is 10.'; - expect(latestRequest.requestBody).toEqual( - wrapBodyResponse({ - id: watch.id, - name: watch.name, - type: watch.type, - isNew: true, - isActive: true, - actions: [ - { - id: DEFAULT_LOGGING_ACTION_ID, - type: DEFAULT_LOGGING_ACTION_TYPE, - text: DEFAULT_LOGGING_ACTION_TEXT, - [DEFAULT_LOGGING_ACTION_TYPE]: { + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/watch/${watch.id}`, + expect.objectContaining({ + body: JSON.stringify({ + id: watch.id, + name: watch.name, + type: watch.type, + isNew: true, + isActive: true, + actions: [ + { + id: DEFAULT_LOGGING_ACTION_ID, + type: DEFAULT_LOGGING_ACTION_TYPE, text: DEFAULT_LOGGING_ACTION_TEXT, + [DEFAULT_LOGGING_ACTION_TYPE]: { + text: DEFAULT_LOGGING_ACTION_TEXT, + }, }, - }, - ], - watch: defaultWatch, + ], + watch: defaultWatch, + }), }) ); }); @@ -131,12 +132,13 @@ describe(' create route', () => { form.setInputValue('idInput', watch.id); const error = { - status: 400, + statusCode: 400, error: 'Bad request', message: 'Watch payload is invalid', + response: {}, }; - httpRequestsMockHelpers.setSaveWatchResponse(watch.id, undefined, { body: error }); + httpRequestsMockHelpers.setSaveWatchResponse(watch.id, undefined, error); await act(async () => { actions.clickSubmitButton(); @@ -169,8 +171,6 @@ describe(' create route', () => { actions.clickSimulateButton(); }); - const latestRequest = server.requests[server.requests.length - 1]; - const actionModes = Object.keys(defaultWatch.actions).reduce( (actionAccum: any, action) => { actionAccum[action] = 'simulate'; @@ -188,12 +188,15 @@ describe(' create route', () => { watch: defaultWatch, }; - expect(latestRequest.requestBody).toEqual( - wrapBodyResponse({ - executeDetails: getExecuteDetails({ - actionModes, + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/watch/execute`, + expect.objectContaining({ + body: JSON.stringify({ + executeDetails: getExecuteDetails({ + actionModes, + }), + watch: executedWatch, }), - watch: executedWatch, }) ); }); @@ -230,8 +233,6 @@ describe(' create route', () => { }); component.update(); - const latestRequest = server.requests[server.requests.length - 1]; - const actionModes = Object.keys(defaultWatch.actions).reduce( (actionAccum: any, action) => { actionAccum[action] = ACTION_MODE; @@ -252,19 +253,23 @@ describe(' create route', () => { const triggeredTime = `now+${TRIGGERED_TIME}s`; const scheduledTime = `now+${SCHEDULED_TIME}s`; - expect(latestRequest.requestBody).toEqual( - wrapBodyResponse({ - executeDetails: getExecuteDetails({ - triggerData: { - triggeredTime, - scheduledTime, - }, - ignoreCondition: IGNORE_CONDITION, - actionModes, + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/watch/execute`, + expect.objectContaining({ + body: JSON.stringify({ + executeDetails: getExecuteDetails({ + triggerData: { + triggeredTime, + scheduledTime, + }, + ignoreCondition: IGNORE_CONDITION, + actionModes, + }), + watch: executedWatch, }), - watch: executedWatch, }) ); + expect(exists('simulateResultsFlyout')).toBe(true); expect(find('simulateResultsFlyoutTitle').text()).toEqual('Simulation results'); }); diff --git a/x-pack/plugins/watcher/__jest__/client_integration/watch_create_threshold.test.tsx b/x-pack/plugins/watcher/__jest__/client_integration/watch_create_threshold.test.tsx index 481f59093d7dc..2a70b4852c77a 100644 --- a/x-pack/plugins/watcher/__jest__/client_integration/watch_create_threshold.test.tsx +++ b/x-pack/plugins/watcher/__jest__/client_integration/watch_create_threshold.test.tsx @@ -7,12 +7,12 @@ import React from 'react'; import { act } from 'react-dom/test-utils'; -import axiosXhrAdapter from 'axios/lib/adapters/xhr'; -import axios from 'axios'; +import { HttpFetchOptionsWithPath } from 'kibana/public'; +import { WATCH_ID } from './helpers/jest_constants'; import { getExecuteDetails } from '../../__fixtures__'; -import { WATCH_TYPES } from '../../common/constants'; -import { setupEnvironment, pageHelpers, wrapBodyResponse, unwrapBodyResponse } from './helpers'; +import { WATCH_TYPES, API_BASE_PATH } from '../../common/constants'; +import { setupEnvironment, pageHelpers } from './helpers'; import { WatchCreateThresholdTestBed } from './helpers/watch_create_threshold.helpers'; const WATCH_NAME = 'my_test_watch'; @@ -23,6 +23,18 @@ const MATCH_INDICES = ['index1']; const ES_FIELDS = [{ name: '@timestamp', type: 'date' }]; +// Since watchID's are dynamically created, we have to mock +// the function that generates them in order to be able to match +// against it. +jest.mock('uuid/v4', () => { + // eslint-disable-next-line @typescript-eslint/no-var-requires + const { WATCH_ID: watchId } = require('./helpers/jest_constants'); + + return function () { + return watchId; + }; +}); + const SETTINGS = { action_types: { email: { enabled: true }, @@ -36,32 +48,15 @@ const SETTINGS = { }; const WATCH_VISUALIZE_DATA = { - count: [ - [1559404800000, 14], - [1559448000000, 196], - [1559491200000, 44], - ], + visualizeData: { + count: [ + [1559404800000, 14], + [1559448000000, 196], + [1559491200000, 44], + ], + }, }; -const mockHttpClient = axios.create({ adapter: axiosXhrAdapter }); - -jest.mock('../../public/application/lib/api', () => { - const original = jest.requireActual('../../public/application/lib/api'); - - return { - ...original, - loadIndexPatterns: async () => { - const INDEX_PATTERNS = [ - { attributes: { title: 'index1' } }, - { attributes: { title: 'index2' } }, - { attributes: { title: 'index3' } }, - ]; - return await INDEX_PATTERNS; - }, - getHttpClient: () => mockHttpClient, - }; -}); - jest.mock('@elastic/eui', () => { const original = jest.requireActual('@elastic/eui'); @@ -85,7 +80,7 @@ jest.mock('@elastic/eui', () => { const { setup } = pageHelpers.watchCreateThreshold; describe(' create route', () => { - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); let testBed: WatchCreateThresholdTestBed; beforeAll(() => { @@ -94,14 +89,15 @@ describe(' create route', () => { afterAll(() => { jest.useRealTimers(); - server.restore(); }); describe('on component mount', () => { beforeEach(async () => { - testBed = await setup(); - const { component } = testBed; - component.update(); + await act(async () => { + testBed = await setup(httpSetup); + }); + + testBed.component.update(); }); test('should set the correct page title', () => { @@ -167,6 +163,7 @@ describe(' create route', () => { find('indicesComboBox').simulate('change', [{ label: 'index1', value: 'index1' }]); // Using mocked EuiComboBox form.setInputValue('watchTimeFieldSelect', '@timestamp'); }); + component.update(); expect(find('saveWatchButton').props().disabled).toBe(false); @@ -255,11 +252,8 @@ describe(' create route', () => { actions.clickSimulateButton(); }); - // Verify request - const latestRequest = server.requests[server.requests.length - 1]; - const thresholdWatch = { - id: unwrapBodyResponse(latestRequest.requestBody).watch.id, // watch ID is created dynamically + id: WATCH_ID, name: WATCH_NAME, type: WATCH_TYPES.THRESHOLD, isNew: true, @@ -288,16 +282,19 @@ describe(' create route', () => { threshold: 1000, }; - expect(latestRequest.requestBody).toEqual( - wrapBodyResponse({ - executeDetails: getExecuteDetails({ - actionModes: { - logging_1: 'force_execute', - }, - ignoreCondition: true, - recordExecution: false, + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/watch/execute`, + expect.objectContaining({ + body: JSON.stringify({ + executeDetails: getExecuteDetails({ + actionModes: { + logging_1: 'force_execute', + }, + ignoreCondition: true, + recordExecution: false, + }), + watch: thresholdWatch, }), - watch: thresholdWatch, }) ); }); @@ -317,11 +314,8 @@ describe(' create route', () => { actions.clickSimulateButton(); }); - // Verify request - const latestRequest = server.requests[server.requests.length - 1]; - const thresholdWatch = { - id: unwrapBodyResponse(latestRequest.requestBody).watch.id, // watch ID is created dynamically + id: WATCH_ID, name: WATCH_NAME, type: WATCH_TYPES.THRESHOLD, isNew: true, @@ -349,16 +343,19 @@ describe(' create route', () => { threshold: 1000, }; - expect(latestRequest.requestBody).toEqual( - wrapBodyResponse({ - executeDetails: getExecuteDetails({ - actionModes: { - index_1: 'force_execute', - }, - ignoreCondition: true, - recordExecution: false, + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/watch/execute`, + expect.objectContaining({ + body: JSON.stringify({ + executeDetails: getExecuteDetails({ + actionModes: { + index_1: 'force_execute', + }, + ignoreCondition: true, + recordExecution: false, + }), + watch: thresholdWatch, }), - watch: thresholdWatch, }) ); }); @@ -379,11 +376,8 @@ describe(' create route', () => { actions.clickSimulateButton(); }); - // Verify request - const latestRequest = server.requests[server.requests.length - 1]; - const thresholdWatch = { - id: unwrapBodyResponse(latestRequest.requestBody).watch.id, // watch ID is created dynamically + id: WATCH_ID, name: WATCH_NAME, type: WATCH_TYPES.THRESHOLD, isNew: true, @@ -414,16 +408,19 @@ describe(' create route', () => { threshold: 1000, }; - expect(latestRequest.requestBody).toEqual( - wrapBodyResponse({ - executeDetails: getExecuteDetails({ - actionModes: { - slack_1: 'force_execute', - }, - ignoreCondition: true, - recordExecution: false, + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/watch/execute`, + expect.objectContaining({ + body: JSON.stringify({ + executeDetails: getExecuteDetails({ + actionModes: { + slack_1: 'force_execute', + }, + ignoreCondition: true, + recordExecution: false, + }), + watch: thresholdWatch, }), - watch: thresholdWatch, }) ); }); @@ -451,11 +448,8 @@ describe(' create route', () => { actions.clickSimulateButton(); }); - // Verify request - const latestRequest = server.requests[server.requests.length - 1]; - const thresholdWatch = { - id: unwrapBodyResponse(latestRequest.requestBody).watch.id, // watch ID is created dynamically + id: WATCH_ID, name: WATCH_NAME, type: WATCH_TYPES.THRESHOLD, isNew: true, @@ -490,16 +484,19 @@ describe(' create route', () => { threshold: 1000, }; - expect(latestRequest.requestBody).toEqual( - wrapBodyResponse({ - executeDetails: getExecuteDetails({ - actionModes: { - email_1: 'force_execute', - }, - ignoreCondition: true, - recordExecution: false, + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/watch/execute`, + expect.objectContaining({ + body: JSON.stringify({ + executeDetails: getExecuteDetails({ + actionModes: { + email_1: 'force_execute', + }, + ignoreCondition: true, + recordExecution: false, + }), + watch: thresholdWatch, }), - watch: thresholdWatch, }) ); }); @@ -543,11 +540,8 @@ describe(' create route', () => { actions.clickSimulateButton(); }); - // Verify request - const latestRequest = server.requests[server.requests.length - 1]; - const thresholdWatch = { - id: unwrapBodyResponse(latestRequest.requestBody).watch.id, // watch ID is created dynamically + id: WATCH_ID, name: WATCH_NAME, type: WATCH_TYPES.THRESHOLD, isNew: true, @@ -584,16 +578,19 @@ describe(' create route', () => { threshold: 1000, }; - expect(latestRequest.requestBody).toEqual( - wrapBodyResponse({ - executeDetails: getExecuteDetails({ - actionModes: { - webhook_1: 'force_execute', - }, - ignoreCondition: true, - recordExecution: false, + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/watch/execute`, + expect.objectContaining({ + body: JSON.stringify({ + executeDetails: getExecuteDetails({ + actionModes: { + webhook_1: 'force_execute', + }, + ignoreCondition: true, + recordExecution: false, + }), + watch: thresholdWatch, }), - watch: thresholdWatch, }) ); }); @@ -631,11 +628,8 @@ describe(' create route', () => { actions.clickSimulateButton(); }); - // Verify request - const latestRequest = server.requests[server.requests.length - 1]; - const thresholdWatch = { - id: unwrapBodyResponse(latestRequest.requestBody).watch.id, // watch ID is created dynamically + id: WATCH_ID, name: WATCH_NAME, type: WATCH_TYPES.THRESHOLD, isNew: true, @@ -674,16 +668,19 @@ describe(' create route', () => { threshold: 1000, }; - expect(latestRequest.requestBody).toEqual( - wrapBodyResponse({ - executeDetails: getExecuteDetails({ - actionModes: { - jira_1: 'force_execute', - }, - ignoreCondition: true, - recordExecution: false, + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/watch/execute`, + expect.objectContaining({ + body: JSON.stringify({ + executeDetails: getExecuteDetails({ + actionModes: { + jira_1: 'force_execute', + }, + ignoreCondition: true, + recordExecution: false, + }), + watch: thresholdWatch, }), - watch: thresholdWatch, }) ); }); @@ -711,11 +708,8 @@ describe(' create route', () => { actions.clickSimulateButton(); }); - // Verify request - const latestRequest = server.requests[server.requests.length - 1]; - const thresholdWatch = { - id: unwrapBodyResponse(latestRequest.requestBody).watch.id, // watch ID is created dynamically + id: WATCH_ID, name: WATCH_NAME, type: WATCH_TYPES.THRESHOLD, isNew: true, @@ -744,16 +738,19 @@ describe(' create route', () => { threshold: 1000, }; - expect(latestRequest.requestBody).toEqual( - wrapBodyResponse({ - executeDetails: getExecuteDetails({ - actionModes: { - pagerduty_1: 'force_execute', - }, - ignoreCondition: true, - recordExecution: false, + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/watch/execute`, + expect.objectContaining({ + body: JSON.stringify({ + executeDetails: getExecuteDetails({ + actionModes: { + pagerduty_1: 'force_execute', + }, + ignoreCondition: true, + recordExecution: false, + }), + watch: thresholdWatch, }), - watch: thresholdWatch, }) ); }); @@ -771,17 +768,14 @@ describe(' create route', () => { }); component.update(); - const latestReqToGetVisualizeData = server.requests.find( - (req) => req.method === 'POST' && req.url === '/api/watcher/watch/visualize' - ); - if (!latestReqToGetVisualizeData) { - throw new Error(`No request found to fetch visualize data.`); - } - - const requestBody = unwrapBodyResponse(latestReqToGetVisualizeData.requestBody); + const lastReq: HttpFetchOptionsWithPath[] = httpSetup.post.mock.calls.pop() || []; + const [requestUrl, watchBody] = lastReq; + // Options contains two dinamically computed timestamps, so it's simpler to just ignore those fields. + const { options, ...body } = JSON.parse((watchBody as Record).body).watch; - expect(requestBody.watch).toEqual({ - id: requestBody.watch.id, // id is dynamic + expect(requestUrl).toBe(`${API_BASE_PATH}/watch/visualize`); + expect(body).toEqual({ + id: WATCH_ID, name: 'my_test_watch', type: 'threshold', isNew: true, @@ -800,8 +794,6 @@ describe(' create route', () => { hasTermsAgg: false, threshold: 1000, }); - - expect(requestBody.options.interval).toBeDefined(); }); }); @@ -821,31 +813,31 @@ describe(' create route', () => { actions.clickSubmitButton(); }); - // Verify request - const latestRequest = server.requests[server.requests.length - 1]; - - const thresholdWatch = { - id: unwrapBodyResponse(latestRequest.requestBody).id, // watch ID is created dynamically - name: WATCH_NAME, - type: WATCH_TYPES.THRESHOLD, - isNew: true, - isActive: true, - actions: [], - index: MATCH_INDICES, - timeField: WATCH_TIME_FIELD, - triggerIntervalSize: 1, - triggerIntervalUnit: 'm', - aggType: 'count', - termSize: 5, - termOrder: 'desc', - thresholdComparator: '>', - timeWindowSize: 5, - timeWindowUnit: 'm', - hasTermsAgg: false, - threshold: 1000, - }; - - expect(latestRequest.requestBody).toEqual(wrapBodyResponse(thresholdWatch)); + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/watch/${WATCH_ID}`, + expect.objectContaining({ + body: JSON.stringify({ + id: WATCH_ID, + name: WATCH_NAME, + type: WATCH_TYPES.THRESHOLD, + isNew: true, + isActive: true, + actions: [], + index: MATCH_INDICES, + timeField: WATCH_TIME_FIELD, + triggerIntervalSize: 1, + triggerIntervalUnit: 'm', + aggType: 'count', + termSize: 5, + termOrder: 'desc', + thresholdComparator: '>', + timeWindowSize: 5, + timeWindowUnit: 'm', + hasTermsAgg: false, + threshold: 1000, + }), + }) + ); }); }); }); diff --git a/x-pack/plugins/watcher/__jest__/client_integration/watch_edit.test.ts b/x-pack/plugins/watcher/__jest__/client_integration/watch_edit.test.ts index 1188cc8469a58..8b0ee0189695b 100644 --- a/x-pack/plugins/watcher/__jest__/client_integration/watch_edit.test.ts +++ b/x-pack/plugins/watcher/__jest__/client_integration/watch_edit.test.ts @@ -6,39 +6,18 @@ */ import { act } from 'react-dom/test-utils'; -import axiosXhrAdapter from 'axios/lib/adapters/xhr'; -import axios from 'axios'; -import { getRandomString } from '@kbn/test/jest'; import { getWatch } from '../../__fixtures__'; import { defaultWatch } from '../../public/application/models/watch'; -import { setupEnvironment, pageHelpers, wrapBodyResponse } from './helpers'; +import { setupEnvironment, pageHelpers } from './helpers'; import { WatchEditTestBed } from './helpers/watch_edit.helpers'; -import { WATCH } from './helpers/jest_constants'; - -const mockHttpClient = axios.create({ adapter: axiosXhrAdapter }); - -jest.mock('../../public/application/lib/api', () => { - const original = jest.requireActual('../../public/application/lib/api'); - - return { - ...original, - loadIndexPatterns: async () => { - const INDEX_PATTERNS = [ - { attributes: { title: 'index1' } }, - { attributes: { title: 'index2' } }, - { attributes: { title: 'index3' } }, - ]; - return await INDEX_PATTERNS; - }, - getHttpClient: () => mockHttpClient, - }; -}); +import { WATCH, WATCH_ID } from './helpers/jest_constants'; +import { API_BASE_PATH } from '../../common/constants'; const { setup } = pageHelpers.watchEdit; describe('', () => { - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); let testBed: WatchEditTestBed; beforeAll(() => { @@ -47,14 +26,13 @@ describe('', () => { afterAll(() => { jest.useRealTimers(); - server.restore(); }); describe('Advanced watch', () => { beforeEach(async () => { - httpRequestsMockHelpers.setLoadWatchResponse(WATCH); + httpRequestsMockHelpers.setLoadWatchResponse(WATCH_ID, WATCH); - testBed = await setup(); + testBed = await setup(httpSetup); testBed.component.update(); }); @@ -90,31 +68,32 @@ describe('', () => { actions.clickSubmitButton(); }); - const latestRequest = server.requests[server.requests.length - 1]; - const DEFAULT_LOGGING_ACTION_ID = 'logging_1'; const DEFAULT_LOGGING_ACTION_TYPE = 'logging'; const DEFAULT_LOGGING_ACTION_TEXT = 'There are {{ctx.payload.hits.total}} documents in your index. Threshold is 10.'; - expect(latestRequest.requestBody).toEqual( - wrapBodyResponse({ - id: watch.id, - name: EDITED_WATCH_NAME, - type: watch.type, - isNew: false, - isActive: true, - actions: [ - { - id: DEFAULT_LOGGING_ACTION_ID, - type: DEFAULT_LOGGING_ACTION_TYPE, - text: DEFAULT_LOGGING_ACTION_TEXT, - [DEFAULT_LOGGING_ACTION_TYPE]: { + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/watch/${watch.id}`, + expect.objectContaining({ + body: JSON.stringify({ + id: watch.id, + name: EDITED_WATCH_NAME, + type: watch.type, + isNew: false, + isActive: true, + actions: [ + { + id: DEFAULT_LOGGING_ACTION_ID, + type: DEFAULT_LOGGING_ACTION_TYPE, text: DEFAULT_LOGGING_ACTION_TEXT, + [DEFAULT_LOGGING_ACTION_TYPE]: { + text: DEFAULT_LOGGING_ACTION_TEXT, + }, }, - }, - ], - watch: defaultWatch, + ], + watch: defaultWatch, + }), }) ); }); @@ -123,7 +102,7 @@ describe('', () => { describe('Threshold watch', () => { const watch = getWatch({ - id: getRandomString(), + id: WATCH_ID, type: 'threshold', name: 'my_threshold_watch', timeField: '@timestamp', @@ -138,9 +117,9 @@ describe('', () => { }); beforeEach(async () => { - httpRequestsMockHelpers.setLoadWatchResponse({ watch }); + httpRequestsMockHelpers.setLoadWatchResponse(WATCH_ID, { watch }); - testBed = await setup(); + testBed = await setup(httpSetup); testBed.component.update(); }); @@ -169,8 +148,6 @@ describe('', () => { actions.clickSubmitButton(); }); - const latestRequest = server.requests[server.requests.length - 1]; - const { id, type, @@ -185,25 +162,28 @@ describe('', () => { threshold, } = watch; - expect(latestRequest.requestBody).toEqual( - wrapBodyResponse({ - id, - name: EDITED_WATCH_NAME, - type, - isNew: false, - isActive: true, - actions: [], - timeField, - triggerIntervalSize, - triggerIntervalUnit, - aggType, - termSize, - termOrder: 'desc', - thresholdComparator, - timeWindowSize, - timeWindowUnit, - hasTermsAgg: false, - threshold: threshold && threshold[0], + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/watch/${watch.id}`, + expect.objectContaining({ + body: JSON.stringify({ + id, + name: EDITED_WATCH_NAME, + type, + isNew: false, + isActive: true, + actions: [], + timeField, + triggerIntervalSize, + triggerIntervalUnit, + aggType, + termSize, + termOrder: 'desc', + thresholdComparator, + timeWindowSize, + timeWindowUnit, + hasTermsAgg: false, + threshold: threshold && threshold[0], + }), }) ); }); diff --git a/x-pack/plugins/watcher/__jest__/client_integration/watch_list.test.ts b/x-pack/plugins/watcher/__jest__/client_integration/watch_list.test.ts index 1a396a007dd0c..ac1e7291b187a 100644 --- a/x-pack/plugins/watcher/__jest__/client_integration/watch_list.test.ts +++ b/x-pack/plugins/watcher/__jest__/client_integration/watch_list.test.ts @@ -7,16 +7,14 @@ import { act } from 'react-dom/test-utils'; import * as fixtures from '../../__fixtures__'; -import { ROUTES } from '../../common/constants'; import { setupEnvironment, pageHelpers, getRandomString, findTestSubject } from './helpers'; import { WatchListTestBed } from './helpers/watch_list.helpers'; - -const { API_ROOT } = ROUTES; +import { API_BASE_PATH } from '../../common/constants'; const { setup } = pageHelpers.watchList; describe('', () => { - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); let testBed: WatchListTestBed; beforeAll(() => { @@ -25,7 +23,6 @@ describe('', () => { afterAll(() => { jest.useRealTimers(); - server.restore(); }); describe('on component mount', () => { @@ -35,7 +32,7 @@ describe('', () => { httpRequestsMockHelpers.setLoadWatchesResponse({ watches: [] }); await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); }); @@ -73,7 +70,7 @@ describe('', () => { httpRequestsMockHelpers.setLoadWatchesResponse({ watches }); await act(async () => { - testBed = await setup(); + testBed = await setup(httpSetup); }); testBed.component.update(); @@ -241,10 +238,10 @@ describe('', () => { confirmButton!.click(); }); - const latestRequest = server.requests[server.requests.length - 1]; - - expect(latestRequest.method).toBe('POST'); - expect(latestRequest.url).toBe(`${API_ROOT}/watches/delete`); + expect(httpSetup.post).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/watches/delete`, + expect.anything() + ); }); }); }); diff --git a/x-pack/plugins/watcher/__jest__/client_integration/watch_status.test.ts b/x-pack/plugins/watcher/__jest__/client_integration/watch_status.test.ts index 1b1b813617da6..901ebf156911f 100644 --- a/x-pack/plugins/watcher/__jest__/client_integration/watch_status.test.ts +++ b/x-pack/plugins/watcher/__jest__/client_integration/watch_status.test.ts @@ -8,12 +8,11 @@ import { act } from 'react-dom/test-utils'; import moment from 'moment'; import { getWatchHistory } from '../../__fixtures__'; -import { ROUTES, WATCH_STATES, ACTION_STATES } from '../../common/constants'; +import { WATCH_STATES, ACTION_STATES } from '../../common/constants'; import { setupEnvironment, pageHelpers } from './helpers'; import { WatchStatusTestBed } from './helpers/watch_status.helpers'; -import { WATCH } from './helpers/jest_constants'; - -const { API_ROOT } = ROUTES; +import { WATCH, WATCH_ID } from './helpers/jest_constants'; +import { API_BASE_PATH } from '../../common/constants'; const { setup } = pageHelpers.watchStatus; @@ -40,7 +39,7 @@ const watch = { }; describe('', () => { - const { server, httpRequestsMockHelpers } = setupEnvironment(); + const { httpSetup, httpRequestsMockHelpers } = setupEnvironment(); let testBed: WatchStatusTestBed; beforeAll(() => { @@ -49,15 +48,14 @@ describe('', () => { afterAll(() => { jest.useRealTimers(); - server.restore(); }); describe('on component mount', () => { beforeEach(async () => { - httpRequestsMockHelpers.setLoadWatchResponse({ watch }); - httpRequestsMockHelpers.setLoadWatchHistoryResponse(watchHistoryItems); + httpRequestsMockHelpers.setLoadWatchResponse(WATCH_ID, { watch }); + httpRequestsMockHelpers.setLoadWatchHistoryResponse(WATCH_ID, watchHistoryItems); - testBed = await setup(); + testBed = await setup(httpSetup); testBed.component.update(); }); @@ -127,14 +125,14 @@ describe('', () => { const formattedStartTime = moment(watchHistoryItem.startTime).format(); - httpRequestsMockHelpers.setLoadWatchHistoryItemResponse({ watchHistoryItem }); + httpRequestsMockHelpers.setLoadWatchHistoryItemResponse(WATCH_ID, { watchHistoryItem }); await actions.clickWatchExecutionAt(0, formattedStartTime); - const latestRequest = server.requests[server.requests.length - 1]; - - expect(latestRequest.method).toBe('GET'); - expect(latestRequest.url).toBe(`${API_ROOT}/history/${watchHistoryItem.id}`); + expect(httpSetup.get).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/history/${watchHistoryItem.id}`, + expect.anything() + ); expect(exists('watchHistoryDetailFlyout')).toBe(true); }); @@ -179,10 +177,10 @@ describe('', () => { }); component.update(); - const latestRequest = server.requests[server.requests.length - 1]; - - expect(latestRequest.method).toBe('POST'); - expect(latestRequest.url).toBe(`${API_ROOT}/watches/delete`); + expect(httpSetup.post).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/watches/delete`, + expect.anything() + ); }); }); @@ -190,7 +188,7 @@ describe('', () => { test('should send the correct HTTP request to deactivate and activate a watch', async () => { const { actions } = testBed; - httpRequestsMockHelpers.setDeactivateWatchResponse({ + httpRequestsMockHelpers.setDeactivateWatchResponse(WATCH_ID, { watchStatus: { state: WATCH_STATES.DISABLED, isActive: false, @@ -199,12 +197,12 @@ describe('', () => { await actions.clickToggleActivationButton(); - const deactivateRequest = server.requests[server.requests.length - 1]; - - expect(deactivateRequest.method).toBe('PUT'); - expect(deactivateRequest.url).toBe(`${API_ROOT}/watch/${watch.id}/deactivate`); + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/watch/${watch.id}/deactivate`, + expect.anything() + ); - httpRequestsMockHelpers.setActivateWatchResponse({ + httpRequestsMockHelpers.setActivateWatchResponse(WATCH_ID, { watchStatus: { state: WATCH_STATES.FIRING, isActive: true, @@ -213,10 +211,10 @@ describe('', () => { await actions.clickToggleActivationButton(); - const activateRequest = server.requests[server.requests.length - 1]; - - expect(activateRequest.method).toBe('PUT'); - expect(activateRequest.url).toBe(`${API_ROOT}/watch/${watch.id}/activate`); + expect(httpSetup.put).toHaveBeenLastCalledWith( + `${API_BASE_PATH}/watch/${watch.id}/activate`, + expect.anything() + ); }); }); @@ -242,7 +240,7 @@ describe('', () => { test('should allow an action to be acknowledged', async () => { const { actions, table } = testBed; - httpRequestsMockHelpers.setAcknowledgeWatchResponse({ + httpRequestsMockHelpers.setAcknowledgeWatchResponse(WATCH_ID, ACTION_ID, { watchStatus: { state: WATCH_STATES.FIRING, isActive: true, @@ -259,11 +257,12 @@ describe('', () => { await actions.clickAcknowledgeButton(0); - const latestRequest = server.requests[server.requests.length - 1]; - - expect(latestRequest.method).toBe('PUT'); - expect(latestRequest.url).toBe( - `${API_ROOT}/watch/${watch.id}/action/${ACTION_ID}/acknowledge` + // In previous tests we make calls to activate and deactivate using the put method, + // so we need to expect that the acknowledge api call will be the third. + const indexOfAcknowledgeApiCall = 3; + expect(httpSetup.put).toHaveBeenNthCalledWith( + indexOfAcknowledgeApiCall, + `${API_BASE_PATH}/watch/${watch.id}/action/${ACTION_ID}/acknowledge` ); const { tableCellsValues } = table.getMetaData('watchActionStatusTable'); diff --git a/x-pack/plugins/watcher/common/constants/index.ts b/x-pack/plugins/watcher/common/constants/index.ts index 4d497ed1ea67f..153d4e087b064 100644 --- a/x-pack/plugins/watcher/common/constants/index.ts +++ b/x-pack/plugins/watcher/common/constants/index.ts @@ -16,7 +16,7 @@ export { LISTS } from './lists'; export { PAGINATION } from './pagination'; export { PLUGIN } from './plugin'; export { REFRESH_INTERVALS } from './refresh_intervals'; -export { ROUTES } from './routes'; +export { ROUTES, API_BASE_PATH } from './routes'; export { SORT_ORDERS } from './sort_orders'; export { TIME_UNITS } from './time_units'; export { WATCH_STATE_COMMENTS } from './watch_state_comments'; diff --git a/x-pack/plugins/watcher/common/constants/routes.ts b/x-pack/plugins/watcher/common/constants/routes.ts index c45c699c8e1bb..c7df203bb75da 100644 --- a/x-pack/plugins/watcher/common/constants/routes.ts +++ b/x-pack/plugins/watcher/common/constants/routes.ts @@ -5,6 +5,8 @@ * 2.0. */ +export const API_BASE_PATH = '/api/watcher'; + export const ROUTES: { [key: string]: string } = { - API_ROOT: '/api/watcher', + API_ROOT: API_BASE_PATH, }; diff --git a/x-pack/scripts/functional_tests.js b/x-pack/scripts/functional_tests.js index 1cc504deacc58..52b16eae31fdd 100644 --- a/x-pack/scripts/functional_tests.js +++ b/x-pack/scripts/functional_tests.js @@ -97,6 +97,5 @@ require('@kbn/test').runTestsCli([ require.resolve('../test/usage_collection/config.ts'), require.resolve('../test/fleet_functional/config.ts'), require.resolve('../test/examples/config.ts'), - require.resolve('../test/performance/config.ts'), require.resolve('../test/functional_execution_context/config.ts'), ]); diff --git a/x-pack/test/accessibility/apps/spaces.ts b/x-pack/test/accessibility/apps/spaces.ts index daddb9b24fe03..359881b75df08 100644 --- a/x-pack/test/accessibility/apps/spaces.ts +++ b/x-pack/test/accessibility/apps/spaces.ts @@ -99,7 +99,9 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { // FLAKY: https://github.com/elastic/kibana/issues/100968 it.skip('a11y test for space selection page', async () => { await PageObjects.spaceSelector.confirmDeletingSpace(); - await a11y.testAppSnapshot(); + await retry.try(async () => { + await a11y.testAppSnapshot(); + }); await PageObjects.spaceSelector.clickSpaceCard('default'); }); }); diff --git a/x-pack/test/accessibility/apps/upgrade_assistant.ts b/x-pack/test/accessibility/apps/upgrade_assistant.ts index 9f0ba39aff685..e3c5ee518da3e 100644 --- a/x-pack/test/accessibility/apps/upgrade_assistant.ts +++ b/x-pack/test/accessibility/apps/upgrade_assistant.ts @@ -52,7 +52,9 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const es = getService('es'); const log = getService('log'); - describe('Upgrade Assistant', () => { + describe('Upgrade Assistant', function () { + this.onlyEsVersion('<=7'); + before(async () => { await PageObjects.upgradeAssistant.navigateToPage(); @@ -96,11 +98,22 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('with logs collection disabled', async () => { + const loggingEnabled = await PageObjects.upgradeAssistant.isDeprecationLoggingEnabled(); + if (loggingEnabled) { + await PageObjects.upgradeAssistant.clickDeprecationLoggingToggle(); + } + + await retry.waitFor('Deprecation logging to be disabled', async () => { + return !(await PageObjects.upgradeAssistant.isDeprecationLoggingEnabled()); + }); await a11y.testAppSnapshot(); }); it('with logs collection enabled', async () => { - await PageObjects.upgradeAssistant.clickDeprecationLoggingToggle(); + const loggingEnabled = await PageObjects.upgradeAssistant.isDeprecationLoggingEnabled(); + if (!loggingEnabled) { + await PageObjects.upgradeAssistant.clickDeprecationLoggingToggle(); + } await retry.waitFor('UA external links title to be present', async () => { return testSubjects.isDisplayed('externalLinksTitle'); @@ -131,8 +144,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await a11y.testAppSnapshot(); }); - // Failing: See https://github.com/elastic/kibana/issues/115859 - it.skip('Index settings deprecation flyout', async () => { + it('Index settings deprecation flyout', async () => { await PageObjects.upgradeAssistant.clickEsDeprecation( 'indexSettings' // An index setting deprecation was added in the before() hook so should be guaranteed ); diff --git a/x-pack/test/api_integration/apis/lens/existing_fields.ts b/x-pack/test/api_integration/apis/lens/existing_fields.ts index ab3f6e30afa24..9a856d2bdd454 100644 --- a/x-pack/test/api_integration/apis/lens/existing_fields.ts +++ b/x-pack/test/api_integration/apis/lens/existing_fields.ts @@ -161,6 +161,11 @@ const metricBeatData = [ export default ({ getService }: FtrProviderContext) => { const esArchiver = getService('esArchiver'); const supertest = getService('supertest'); + const esVersion = getService('esVersion'); + + function fieldFilter(fieldName: string) { + return esVersion.matchRange('>=8') ? fieldName !== '_type' : true; + } describe('existing_fields apis', () => { before(async () => { @@ -189,7 +194,7 @@ export default ({ getService }: FtrProviderContext) => { .expect(200); expect(body.indexPatternTitle).to.eql('logstash-*'); - expect(body.existingFieldNames.sort()).to.eql(fieldsWithData.sort()); + expect(body.existingFieldNames.sort()).to.eql(fieldsWithData.sort().filter(fieldFilter)); }); it('should succeed for thousands of fields', async () => { @@ -204,7 +209,7 @@ export default ({ getService }: FtrProviderContext) => { .expect(200); expect(body.indexPatternTitle).to.eql('metricbeat-*'); - expect(body.existingFieldNames.sort()).to.eql(metricBeatData.sort()); + expect(body.existingFieldNames.sort()).to.eql(metricBeatData.sort().filter(fieldFilter)); }); it('should return fields filtered by query and filters', async () => { @@ -243,7 +248,7 @@ export default ({ getService }: FtrProviderContext) => { 'utc_time', 'xss', 'xss.raw', - ]; + ].filter(fieldFilter); const { body } = await supertest .post(`/api/lens/existing_fields/${encodeURIComponent('logstash-*')}`) diff --git a/x-pack/test/api_integration/apis/management/index_lifecycle_management/policies.js b/x-pack/test/api_integration/apis/management/index_lifecycle_management/policies.js index 8e29604a0bf62..837cd236d028b 100644 --- a/x-pack/test/api_integration/apis/management/index_lifecycle_management/policies.js +++ b/x-pack/test/api_integration/apis/management/index_lifecycle_management/policies.js @@ -32,7 +32,9 @@ export default function ({ getService }) { const { addPolicyToIndex } = registerIndexHelpers({ supertest }); - describe('policies', () => { + describe('policies', function () { + this.onlyEsVersion('<=7'); + after(() => Promise.all([cleanUpEsResources(), cleanUpPolicies()])); describe('list', () => { diff --git a/x-pack/test/api_integration/apis/management/index_management/cluster_nodes.ts b/x-pack/test/api_integration/apis/management/index_management/cluster_nodes.ts index 30c12bf33d763..e885b677aaffb 100644 --- a/x-pack/test/api_integration/apis/management/index_management/cluster_nodes.ts +++ b/x-pack/test/api_integration/apis/management/index_management/cluster_nodes.ts @@ -19,7 +19,7 @@ export default function ({ getService }: FtrProviderContext) { it('should fetch the nodes plugins', async () => { const { body } = await getNodesPlugins().expect(200); - expect(body).eql([]); + expect(Array.isArray(body)).to.be(true); }); }); } diff --git a/x-pack/test/api_integration/apis/management/index_management/indices.js b/x-pack/test/api_integration/apis/management/index_management/indices.js index 589887329fcd1..34d9cf9498a04 100644 --- a/x-pack/test/api_integration/apis/management/index_management/indices.js +++ b/x-pack/test/api_integration/apis/management/index_management/indices.js @@ -34,7 +34,9 @@ export default function ({ getService }) { clearCache, } = registerHelpers({ supertest }); - describe('indices', () => { + describe('indices', function () { + this.onlyEsVersion('<=7'); + after(() => Promise.all([cleanUpEsResources()])); describe('clear cache', () => { diff --git a/x-pack/test/api_integration/apis/management/index_management/mapping.js b/x-pack/test/api_integration/apis/management/index_management/mapping.js index 0ddb6ab303bbb..a03f9273f5699 100644 --- a/x-pack/test/api_integration/apis/management/index_management/mapping.js +++ b/x-pack/test/api_integration/apis/management/index_management/mapping.js @@ -17,7 +17,9 @@ export default function ({ getService }) { const { getIndexMapping } = registerHelpers({ supertest }); - describe('mapping', () => { + describe('mapping', function () { + this.onlyEsVersion('<=7'); + after(() => Promise.all([cleanUpEsResources()])); it('should fetch the index mapping', async () => { diff --git a/x-pack/test/api_integration/apis/management/index_management/settings.js b/x-pack/test/api_integration/apis/management/index_management/settings.js index 6b48c864458c4..e5d933fc7bf60 100644 --- a/x-pack/test/api_integration/apis/management/index_management/settings.js +++ b/x-pack/test/api_integration/apis/management/index_management/settings.js @@ -17,7 +17,9 @@ export default function ({ getService }) { const { getIndexSettings, updateIndexSettings } = registerHelpers({ supertest }); - describe('settings', () => { + describe('settings', function () { + this.onlyEsVersion('<=7'); + after(() => Promise.all([cleanUpEsResources()])); it('should fetch an index settings', async () => { diff --git a/x-pack/test/api_integration/apis/management/index_management/templates.js b/x-pack/test/api_integration/apis/management/index_management/templates.js index 1cb58c0957e17..3b3c81fbfe56b 100644 --- a/x-pack/test/api_integration/apis/management/index_management/templates.js +++ b/x-pack/test/api_integration/apis/management/index_management/templates.js @@ -25,7 +25,9 @@ export default function ({ getService }) { cleanUpTemplates, } = registerHelpers({ supertest }); - describe('index templates', () => { + describe('index templates', function () { + this.onlyEsVersion('<=7'); + after(() => Promise.all([cleanUpEsResources(), cleanUpTemplates()])); describe('get all', () => { diff --git a/x-pack/test/api_integration/apis/management/rollup/rollup.js b/x-pack/test/api_integration/apis/management/rollup/rollup.js index 69c8ddfcc4197..b3ab67b5563d7 100644 --- a/x-pack/test/api_integration/apis/management/rollup/rollup.js +++ b/x-pack/test/api_integration/apis/management/rollup/rollup.js @@ -24,7 +24,9 @@ export default function ({ getService }) { cleanUp, } = registerHelpers(getService); - describe('jobs', () => { + describe('jobs', function () { + this.onlyEsVersion('<=7'); + after(() => cleanUp()); describe('indices', () => { diff --git a/x-pack/test/api_integration/apis/maps/migrations.js b/x-pack/test/api_integration/apis/maps/migrations.js index 00ce9f895918b..d01134e57679a 100644 --- a/x-pack/test/api_integration/apis/maps/migrations.js +++ b/x-pack/test/api_integration/apis/maps/migrations.js @@ -72,7 +72,7 @@ export default function ({ getService }) { } expect(panels.length).to.be(1); expect(panels[0].type).to.be('map'); - expect(panels[0].version).to.be('7.16.0'); + expect(panels[0].version).to.be('7.17.0'); }); }); }); diff --git a/x-pack/test/api_integration/apis/maps/proxy_api.js b/x-pack/test/api_integration/apis/maps/proxy_api.js index 282a116a33ce6..39afb829b55d8 100644 --- a/x-pack/test/api_integration/apis/maps/proxy_api.js +++ b/x-pack/test/api_integration/apis/maps/proxy_api.js @@ -22,8 +22,12 @@ export default function ({ getService }) { //Check world-layer const worldLayer = resp.body.layers.find((layer) => layer.layer_id === 'world_countries'); expect(worldLayer.formats.length).to.be.greaterThan(0); - expect(worldLayer.formats[0].type).to.be('topojson'); - expect(worldLayer.formats[0].url).to.be('file?id=world_countries'); + + const topoJson = worldLayer.formats.find((format) => { + return format.type === 'topojson'; + }); + expect(topoJson.type).to.be('topojson'); + expect(topoJson.url).to.be('file?id=world_countries'); }); }); } diff --git a/x-pack/test/api_integration/apis/ml/annotations/create_annotations.ts b/x-pack/test/api_integration/apis/ml/annotations/create_annotations.ts index c2a204c1d1881..07575891ba083 100644 --- a/x-pack/test/api_integration/apis/ml/annotations/create_annotations.ts +++ b/x-pack/test/api_integration/apis/ml/annotations/create_annotations.ts @@ -34,12 +34,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('should successfully create annotations for anomaly job', async () => { - const { body } = await supertest + const { body, status } = await supertest .put('/api/ml/annotations/index') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(annotationRequestBody) - .expect(200); + .send(annotationRequestBody); + ml.api.assertResponseStatusCode(200, status, body); const annotationId = body._id; const fetchedAnnotation = await ml.api.getAnnotationById(annotationId); @@ -56,12 +56,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('should successfully create annotation for user with ML read permissions', async () => { - const { body } = await supertest + const { body, status } = await supertest .put('/api/ml/annotations/index') .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) - .send(annotationRequestBody) - .expect(200); + .send(annotationRequestBody); + ml.api.assertResponseStatusCode(200, status, body); const annotationId = body._id; const fetchedAnnotation = await ml.api.getAnnotationById(annotationId); @@ -76,12 +76,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not allow to create annotation for unauthorized user', async () => { - const { body } = await supertest + const { body, status } = await supertest .put('/api/ml/annotations/index') .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) .set(COMMON_REQUEST_HEADERS) - .send(annotationRequestBody) - .expect(403); + .send(annotationRequestBody); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); diff --git a/x-pack/test/api_integration/apis/ml/annotations/delete_annotations.ts b/x-pack/test/api_integration/apis/ml/annotations/delete_annotations.ts index 77b6103a6e22a..11cc38da82a02 100644 --- a/x-pack/test/api_integration/apis/ml/annotations/delete_annotations.ts +++ b/x-pack/test/api_integration/apis/ml/annotations/delete_annotations.ts @@ -41,11 +41,11 @@ export default ({ getService }: FtrProviderContext) => { const annotationIdToDelete = annotationsForJob[0]._id; - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/annotations/delete/${annotationIdToDelete}`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body._id).to.eql(annotationIdToDelete); expect(body.result).to.eql('deleted'); @@ -59,11 +59,11 @@ export default ({ getService }: FtrProviderContext) => { const annotationIdToDelete = annotationsForJob[0]._id; - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/annotations/delete/${annotationIdToDelete}`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body._id).to.eql(annotationIdToDelete); expect(body.result).to.eql('deleted'); @@ -77,11 +77,11 @@ export default ({ getService }: FtrProviderContext) => { const annotationIdToDelete = annotationsForJob[0]._id; - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/annotations/delete/${annotationIdToDelete}`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); diff --git a/x-pack/test/api_integration/apis/ml/annotations/get_annotations.ts b/x-pack/test/api_integration/apis/ml/annotations/get_annotations.ts index bff9f3157c69d..9e18722373b8d 100644 --- a/x-pack/test/api_integration/apis/ml/annotations/get_annotations.ts +++ b/x-pack/test/api_integration/apis/ml/annotations/get_annotations.ts @@ -43,12 +43,12 @@ export default ({ getService }: FtrProviderContext) => { latestMs: Date.now(), maxAnnotations: 500, }; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/annotations') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(200); + .send(requestBody); + ml.api.assertResponseStatusCode(200, status, body); expect(body.success).to.eql(true); expect(body.annotations).not.to.be(undefined); @@ -68,12 +68,12 @@ export default ({ getService }: FtrProviderContext) => { latestMs: Date.now(), maxAnnotations: 500, }; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/annotations') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(200); + .send(requestBody); + ml.api.assertResponseStatusCode(200, status, body); expect(body.success).to.eql(true); expect(body.annotations).not.to.be(undefined); @@ -93,12 +93,13 @@ export default ({ getService }: FtrProviderContext) => { latestMs: Date.now(), maxAnnotations: 500, }; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/annotations') .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(200); + .send(requestBody); + ml.api.assertResponseStatusCode(200, status, body); + expect(body.success).to.eql(true); expect(body.annotations).not.to.be(undefined); jobIds.forEach((jobId, idx) => { @@ -117,12 +118,12 @@ export default ({ getService }: FtrProviderContext) => { latestMs: Date.now(), maxAnnotations: 500, }; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/annotations') .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(403); + .send(requestBody); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); diff --git a/x-pack/test/api_integration/apis/ml/annotations/update_annotations.ts b/x-pack/test/api_integration/apis/ml/annotations/update_annotations.ts index 0beb5e7fde6c5..eb1318a2763e9 100644 --- a/x-pack/test/api_integration/apis/ml/annotations/update_annotations.ts +++ b/x-pack/test/api_integration/apis/ml/annotations/update_annotations.ts @@ -59,12 +59,12 @@ export default ({ getService }: FtrProviderContext) => { _id: originalAnnotation._id, }; - const { body } = await supertest + const { body, status } = await supertest .put('/api/ml/annotations/index') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(annotationUpdateRequestBody) - .expect(200); + .send(annotationUpdateRequestBody); + ml.api.assertResponseStatusCode(200, status, body); expect(body._id).to.eql(originalAnnotation._id); expect(body.result).to.eql('updated'); @@ -90,12 +90,12 @@ export default ({ getService }: FtrProviderContext) => { _id: originalAnnotation._id, }; - const { body } = await supertest + const { body, status } = await supertest .put('/api/ml/annotations/index') .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) - .send(annotationUpdateRequestBody) - .expect(200); + .send(annotationUpdateRequestBody); + ml.api.assertResponseStatusCode(200, status, body); expect(body._id).to.eql(originalAnnotation._id); expect(body.result).to.eql('updated'); @@ -121,12 +121,12 @@ export default ({ getService }: FtrProviderContext) => { _id: originalAnnotation._id, }; - const { body } = await supertest + const { body, status } = await supertest .put('/api/ml/annotations/index') .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) .set(COMMON_REQUEST_HEADERS) - .send(annotationUpdateRequestBody) - .expect(403); + .send(annotationUpdateRequestBody); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); @@ -150,12 +150,12 @@ export default ({ getService }: FtrProviderContext) => { detector_index: 2, _id: originalAnnotation._id, }; - await supertest + const { body, status } = await supertest .put('/api/ml/annotations/index') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(annotationUpdateRequestBodyWithMissingFields) - .expect(200); + .send(annotationUpdateRequestBodyWithMissingFields); + ml.api.assertResponseStatusCode(200, status, body); const updatedAnnotation = await ml.api.getAnnotationById(originalAnnotation._id); if (updatedAnnotation) { diff --git a/x-pack/test/api_integration/apis/ml/anomaly_detectors/close_with_spaces.ts b/x-pack/test/api_integration/apis/ml/anomaly_detectors/close_with_spaces.ts index 54425cf007ece..7d8fd15681212 100644 --- a/x-pack/test/api_integration/apis/ml/anomaly_detectors/close_with_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/anomaly_detectors/close_with_spaces.ts @@ -21,14 +21,15 @@ export default ({ getService }: FtrProviderContext) => { const idSpace2 = 'space2'; async function runRequest(jobId: string, expectedStatusCode: number, space?: string) { - const { body } = await supertest + const { body, status } = await supertest .post(`${space ? `/s/${space}` : ''}/api/ml/anomaly_detectors/${jobId}/_close`) .auth( USER.ML_POWERUSER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER_ALL_SPACES) ) - .set(COMMON_REQUEST_HEADERS) - .expect(expectedStatusCode); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); + return body; } diff --git a/x-pack/test/api_integration/apis/ml/anomaly_detectors/create.ts b/x-pack/test/api_integration/apis/ml/anomaly_detectors/create.ts index c04a368a63e9b..26d15e2626ae5 100644 --- a/x-pack/test/api_integration/apis/ml/anomaly_detectors/create.ts +++ b/x-pack/test/api_integration/apis/ml/anomaly_detectors/create.ts @@ -110,12 +110,12 @@ export default ({ getService }: FtrProviderContext) => { for (const testData of testDataList) { it(`${testData.testTitle}`, async () => { - const { body } = await supertest + const { body, status } = await supertest .put(`/api/ml/anomaly_detectors/${testData.jobId}`) .auth(testData.user, ml.securityCommon.getPasswordForUser(testData.user)) .set(COMMON_REQUEST_HEADERS) - .send(testData.requestBody) - .expect(testData.expected.responseCode); + .send(testData.requestBody); + ml.api.assertResponseStatusCode(testData.expected.responseCode, status, body); if (body.error === undefined) { // Validate the important parts of the response. diff --git a/x-pack/test/api_integration/apis/ml/anomaly_detectors/create_with_spaces.ts b/x-pack/test/api_integration/apis/ml/anomaly_detectors/create_with_spaces.ts index 3320f7762ef7b..e6bd7d2bb4792 100644 --- a/x-pack/test/api_integration/apis/ml/anomaly_detectors/create_with_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/anomaly_detectors/create_with_spaces.ts @@ -37,15 +37,15 @@ export default ({ getService }: FtrProviderContext) => { const jobConfig = ml.commonConfig.getADFqSingleMetricJobConfig(jobIdSpace1); await ml.testExecution.logTestStep('should create job'); - await supertest + const { body, status } = await supertest .put(`/s/${idSpace1}/api/ml/anomaly_detectors/${jobIdSpace1}`) .auth( USER.ML_POWERUSER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER_ALL_SPACES) ) .set(COMMON_REQUEST_HEADERS) - .send(jobConfig) - .expect(200); + .send(jobConfig); + ml.api.assertResponseStatusCode(200, status, body); await ml.testExecution.logTestStep(`job should be in space '${idSpace1}' only`); await ml.api.assertJobSpaces(jobIdSpace1, 'anomaly-detector', [idSpace1]); diff --git a/x-pack/test/api_integration/apis/ml/anomaly_detectors/delete_with_spaces.ts b/x-pack/test/api_integration/apis/ml/anomaly_detectors/delete_with_spaces.ts index 969e15a150086..518374c152cb7 100644 --- a/x-pack/test/api_integration/apis/ml/anomaly_detectors/delete_with_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/anomaly_detectors/delete_with_spaces.ts @@ -19,14 +19,15 @@ export default ({ getService }: FtrProviderContext) => { const idSpace2 = 'space2'; async function runRequest(jobId: string, expectedStatusCode: number, space?: string) { - const { body } = await supertest + const { body, status } = await supertest .delete(`${space ? `/s/${space}` : ''}/api/ml/anomaly_detectors/${jobId}`) .auth( USER.ML_POWERUSER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER_ALL_SPACES) ) - .set(COMMON_REQUEST_HEADERS) - .expect(expectedStatusCode); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); + return body; } diff --git a/x-pack/test/api_integration/apis/ml/anomaly_detectors/get.ts b/x-pack/test/api_integration/apis/ml/anomaly_detectors/get.ts index 3acefac817d48..3ac0bacf8b429 100644 --- a/x-pack/test/api_integration/apis/ml/anomaly_detectors/get.ts +++ b/x-pack/test/api_integration/apis/ml/anomaly_detectors/get.ts @@ -71,11 +71,11 @@ export default ({ getService }: FtrProviderContext) => { describe('GetAnomalyDetectors', () => { it('should fetch all anomaly detector jobs', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/anomaly_detectors`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.count).to.eql(2); expect(body.jobs.length).to.eql(2); @@ -84,11 +84,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not allow to retrieve jobs for the user without required permissions', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/anomaly_detectors`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); @@ -97,11 +97,11 @@ export default ({ getService }: FtrProviderContext) => { describe('GetAnomalyDetectorsById', () => { it('should fetch single anomaly detector job by id', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/anomaly_detectors/${jobId}_1`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.count).to.eql(1); expect(body.jobs.length).to.eql(1); @@ -109,11 +109,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should fetch anomaly detector jobs based on provided ids', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/anomaly_detectors/${jobId}_1,${jobId}_2`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.count).to.eql(2); expect(body.jobs.length).to.eql(2); @@ -122,11 +122,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not allow to retrieve a job for the user without required permissions', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/anomaly_detectors/${jobId}_1`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); @@ -135,11 +135,11 @@ export default ({ getService }: FtrProviderContext) => { describe('GetAnomalyDetectorsStats', () => { it('should fetch jobs stats', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/anomaly_detectors/_stats`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.count).to.eql(2); expect(body.jobs.length).to.eql(2); @@ -155,11 +155,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not allow to retrieve jobs stats for the user without required permissions', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/anomaly_detectors/_stats`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); @@ -168,11 +168,11 @@ export default ({ getService }: FtrProviderContext) => { describe('GetAnomalyDetectorsStatsById', () => { it('should fetch single job stats', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/anomaly_detectors/${jobId}_1/_stats`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.count).to.eql(1); expect(body.jobs.length).to.eql(1); @@ -187,11 +187,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should fetch multiple jobs stats based on provided ids', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/anomaly_detectors/${jobId}_1,${jobId}_2/_stats`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.count).to.eql(2); expect(body.jobs.length).to.eql(2); @@ -207,11 +207,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not allow to retrieve a job stats for the user without required permissions', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/anomaly_detectors/${jobId}_1/_stats`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); diff --git a/x-pack/test/api_integration/apis/ml/anomaly_detectors/get_stats_with_spaces.ts b/x-pack/test/api_integration/apis/ml/anomaly_detectors/get_stats_with_spaces.ts index d15b1ab60f9ff..12530e34d51b6 100644 --- a/x-pack/test/api_integration/apis/ml/anomaly_detectors/get_stats_with_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/anomaly_detectors/get_stats_with_spaces.ts @@ -27,7 +27,7 @@ export default ({ getService }: FtrProviderContext) => { expectedStatusCode: number, space?: string ) { - const { body } = await supertest + const { body, status } = await supertest .get( `${space ? `/s/${space}` : ''}/api/ml/anomaly_detectors${ jobOrGroup ? `/${jobOrGroup}` : '' @@ -37,8 +37,8 @@ export default ({ getService }: FtrProviderContext) => { USER.ML_VIEWER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER_ALL_SPACES) ) - .set(COMMON_REQUEST_HEADERS) - .expect(expectedStatusCode); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/anomaly_detectors/get_with_spaces.ts b/x-pack/test/api_integration/apis/ml/anomaly_detectors/get_with_spaces.ts index 2bebea5e63ea1..95d234791b524 100644 --- a/x-pack/test/api_integration/apis/ml/anomaly_detectors/get_with_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/anomaly_detectors/get_with_spaces.ts @@ -27,7 +27,7 @@ export default ({ getService }: FtrProviderContext) => { expectedStatusCode: number, space?: string ) { - const { body } = await supertest + const { body, status } = await supertest .get( `${space ? `/s/${space}` : ''}/api/ml/anomaly_detectors${ jobOrGroup ? `/${jobOrGroup}` : '' @@ -37,8 +37,8 @@ export default ({ getService }: FtrProviderContext) => { USER.ML_VIEWER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER_ALL_SPACES) ) - .set(COMMON_REQUEST_HEADERS) - .expect(expectedStatusCode); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/anomaly_detectors/open_with_spaces.ts b/x-pack/test/api_integration/apis/ml/anomaly_detectors/open_with_spaces.ts index 113bbe4ca595f..09e98d1430491 100644 --- a/x-pack/test/api_integration/apis/ml/anomaly_detectors/open_with_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/anomaly_detectors/open_with_spaces.ts @@ -21,14 +21,15 @@ export default ({ getService }: FtrProviderContext) => { const idSpace2 = 'space2'; async function runRequest(jobId: string, expectedStatusCode: number, space?: string) { - const { body } = await supertest + const { body, status } = await supertest .post(`${space ? `/s/${space}` : ''}/api/ml/anomaly_detectors/${jobId}/_open`) .auth( USER.ML_POWERUSER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER_ALL_SPACES) ) - .set(COMMON_REQUEST_HEADERS) - .expect(expectedStatusCode); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); + return body; } diff --git a/x-pack/test/api_integration/apis/ml/calendars/create_calendars.ts b/x-pack/test/api_integration/apis/ml/calendars/create_calendars.ts index fac62237aa74e..79c1d8c49f604 100644 --- a/x-pack/test/api_integration/apis/ml/calendars/create_calendars.ts +++ b/x-pack/test/api_integration/apis/ml/calendars/create_calendars.ts @@ -38,12 +38,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('should successfully create calendar by id', async () => { - await supertest + const { body, status } = await supertest .put(`/api/ml/calendars`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(200); + .send(requestBody); + ml.api.assertResponseStatusCode(200, status, body); const results = await ml.api.getCalendar(requestBody.calendarId); const createdCalendar = results.body.calendars[0]; @@ -56,12 +56,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not create new calendar for user without required permission', async () => { - const { body } = await supertest + const { body, status } = await supertest .put(`/api/ml/calendars`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(403); + .send(requestBody); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); @@ -69,12 +69,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not create new calendar for unauthorized user', async () => { - const { body } = await supertest + const { body, status } = await supertest .put(`/api/ml/calendars`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(403); + .send(requestBody); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); diff --git a/x-pack/test/api_integration/apis/ml/calendars/delete_calendars.ts b/x-pack/test/api_integration/apis/ml/calendars/delete_calendars.ts index a2e1709731aa7..1f2f2455c97a6 100644 --- a/x-pack/test/api_integration/apis/ml/calendars/delete_calendars.ts +++ b/x-pack/test/api_integration/apis/ml/calendars/delete_calendars.ts @@ -42,44 +42,44 @@ export default ({ getService }: FtrProviderContext) => { }); it('should delete calendar by id', async () => { - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/calendars/${calendarId}`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.acknowledged).to.eql(true); await ml.api.waitForCalendarNotToExist(calendarId); }); it('should not delete calendar for user without required permission', async () => { - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/calendars/${calendarId}`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); await ml.api.waitForCalendarToExist(calendarId); }); it('should not delete calendar for unauthorized user', async () => { - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/calendars/${calendarId}`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); await ml.api.waitForCalendarToExist(calendarId); }); it('should return 404 if invalid calendarId', async () => { - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/calendars/calendar_id_dne`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(404); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(404, status, body); expect(body.error).to.eql('Not Found'); }); diff --git a/x-pack/test/api_integration/apis/ml/calendars/get_calendars.ts b/x-pack/test/api_integration/apis/ml/calendars/get_calendars.ts index 243a40abe97a4..cca564e33cb91 100644 --- a/x-pack/test/api_integration/apis/ml/calendars/get_calendars.ts +++ b/x-pack/test/api_integration/apis/ml/calendars/get_calendars.ts @@ -46,11 +46,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should fetch all calendars', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/calendars`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body).to.have.length(testCalendars.length); expect(body[0].events).to.have.length(testEvents.length); @@ -58,11 +58,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should fetch all calendars for user with view permission', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/calendars`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body).to.have.length(testCalendars.length); expect(body[0].events).to.have.length(testEvents.length); @@ -70,11 +70,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not fetch calendars for unauthorized user', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/calendars`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); + expect(body.error).to.eql('Forbidden'); }); }); @@ -97,11 +98,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should fetch calendar & associated events by id', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/calendars/${calendarId}`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.job_ids).to.eql(testCalendar.job_ids); expect(body.description).to.eql(testCalendar.description); @@ -110,11 +111,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should fetch calendar & associated events by id for user with view permission', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/calendars/${calendarId}`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.job_ids).to.eql(testCalendar.job_ids); expect(body.description).to.eql(testCalendar.description); @@ -123,22 +124,23 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not fetch calendars for unauthorized user', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/calendars/${calendarId}`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); }); }); it('should return 404 if invalid calendar id', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/calendars/calendar_id_dne`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(404); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(404, status, body); + expect(body.error).to.eql('Not Found'); }); }); diff --git a/x-pack/test/api_integration/apis/ml/calendars/update_calendars.ts b/x-pack/test/api_integration/apis/ml/calendars/update_calendars.ts index 1ca9a66319943..0ccf60fd88dce 100644 --- a/x-pack/test/api_integration/apis/ml/calendars/update_calendars.ts +++ b/x-pack/test/api_integration/apis/ml/calendars/update_calendars.ts @@ -50,12 +50,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('should update calendar by id with new settings', async () => { - await supertest + const { body, status } = await supertest .put(`/api/ml/calendars/${calendarId}`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(updateCalendarRequestBody) - .expect(200); + .send(updateCalendarRequestBody); + ml.api.assertResponseStatusCode(200, status, body); await ml.api.waitForCalendarToExist(calendarId); @@ -75,30 +75,30 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not allow to update calendar for user without required permission', async () => { - await supertest + const { body, status } = await supertest .put(`/api/ml/calendars/${calendarId}`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) - .send(updateCalendarRequestBody) - .expect(403); + .send(updateCalendarRequestBody); + ml.api.assertResponseStatusCode(403, status, body); }); it('should not allow to update calendar for unauthorized user', async () => { - await supertest + const { body, status } = await supertest .put(`/api/ml/calendars/${calendarId}`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) .set(COMMON_REQUEST_HEADERS) - .send(updateCalendarRequestBody) - .expect(403); + .send(updateCalendarRequestBody); + ml.api.assertResponseStatusCode(403, status, body); }); it('should return error if invalid calendarId', async () => { - await supertest + const { body, status } = await supertest .put(`/api/ml/calendars/calendar_id_dne`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(updateCalendarRequestBody) - .expect(404); + .send(updateCalendarRequestBody); + ml.api.assertResponseStatusCode(404, status, body); }); }); }; diff --git a/x-pack/test/api_integration/apis/ml/data_frame_analytics/create_job.ts b/x-pack/test/api_integration/apis/ml/data_frame_analytics/create_job.ts index e1e391add4897..44c1b0c6fe2bb 100644 --- a/x-pack/test/api_integration/apis/ml/data_frame_analytics/create_job.ts +++ b/x-pack/test/api_integration/apis/ml/data_frame_analytics/create_job.ts @@ -91,12 +91,12 @@ export default ({ getService }: FtrProviderContext) => { const analyticsId = `${testConfig.jobId}`; const requestBody = testConfig.config; - const { body } = await supertest + const { body, status } = await supertest .put(`/api/ml/data_frame/analytics/${analyticsId}`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(200); + .send(requestBody); + ml.api.assertResponseStatusCode(200, status, body); expect(body).not.to.be(undefined); @@ -113,12 +113,12 @@ export default ({ getService }: FtrProviderContext) => { const analyticsId = `${testJobConfigs[0].jobId}`; const requestBody = testJobConfigs[0].config; - const { body } = await supertest + const { body, status } = await supertest .put(`/api/ml/data_frame/analytics/${analyticsId}`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(403); + .send(requestBody); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); @@ -128,12 +128,12 @@ export default ({ getService }: FtrProviderContext) => { const analyticsId = `${testJobConfigs[0].jobId}`; const requestBody = testJobConfigs[0].config; - const { body } = await supertest + const { body, status } = await supertest .put(`/api/ml/data_frame/analytics/${analyticsId}`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(403); + .send(requestBody); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); diff --git a/x-pack/test/api_integration/apis/ml/data_frame_analytics/delete.ts b/x-pack/test/api_integration/apis/ml/data_frame_analytics/delete.ts index e7ea71863352e..b2d306b923f1d 100644 --- a/x-pack/test/api_integration/apis/ml/data_frame_analytics/delete.ts +++ b/x-pack/test/api_integration/apis/ml/data_frame_analytics/delete.ts @@ -77,11 +77,11 @@ export default ({ getService }: FtrProviderContext) => { describe('DeleteDataFrameAnalytics', () => { it('should delete analytics jobs by id', async () => { const analyticsId = `${jobId}_1`; - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/data_frame/analytics/${analyticsId}`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.analyticsJobDeleted.success).to.eql(true); await ml.api.waitForDataFrameAnalyticsJobNotToExist(analyticsId); @@ -89,11 +89,11 @@ export default ({ getService }: FtrProviderContext) => { it('should not allow to retrieve analytics jobs for unauthorized user', async () => { const analyticsId = `${jobId}_2`; - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/data_frame/analytics/${analyticsId}`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); @@ -102,11 +102,11 @@ export default ({ getService }: FtrProviderContext) => { it('should not allow to retrieve analytics jobs for the user with only view permission', async () => { const analyticsId = `${jobId}_2`; - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/data_frame/analytics/${analyticsId}`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); @@ -115,11 +115,11 @@ export default ({ getService }: FtrProviderContext) => { it('should show 404 error if job does not exist or has already been deleted', async () => { const id = `${jobId}_invalid`; - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/data_frame/analytics/${id}`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(404); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(404, status, body); expect(body.error).to.eql('Not Found'); expect(body.message).to.eql(`No known job with id '${id}'`); @@ -139,12 +139,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('should delete job and destination index by id', async () => { - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/data_frame/analytics/${analyticsId}`) .query({ deleteDestIndex: true }) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.analyticsJobDeleted.success).to.eql(true); expect(body.destIndexDeleted.success).to.eql(true); @@ -168,12 +168,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('should delete job and index pattern by id', async () => { - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/data_frame/analytics/${analyticsId}`) .query({ deleteDestIndexPattern: true }) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.analyticsJobDeleted.success).to.eql(true); expect(body.destIndexDeleted.success).to.eql(false); @@ -200,12 +200,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('should delete job, target index, and index pattern by id', async () => { - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/data_frame/analytics/${analyticsId}`) .query({ deleteDestIndex: true, deleteDestIndexPattern: true }) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.analyticsJobDeleted.success).to.eql(true); expect(body.destIndexDeleted.success).to.eql(true); diff --git a/x-pack/test/api_integration/apis/ml/data_frame_analytics/delete_spaces.ts b/x-pack/test/api_integration/apis/ml/data_frame_analytics/delete_spaces.ts index 9492358d09000..48933e837baea 100644 --- a/x-pack/test/api_integration/apis/ml/data_frame_analytics/delete_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/data_frame_analytics/delete_spaces.ts @@ -22,14 +22,14 @@ export default ({ getService }: FtrProviderContext) => { const idSpace2 = 'space2'; async function runRequest(jobId: string, space: string, expectedStatusCode: number) { - const { body } = await supertest + const { body, status } = await supertest .delete(`/s/${space}/api/ml/data_frame/analytics/${jobId}`) .auth( USER.ML_POWERUSER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER_ALL_SPACES) ) - .set(COMMON_REQUEST_HEADERS) - .expect(expectedStatusCode); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/data_frame_analytics/evaluate.ts b/x-pack/test/api_integration/apis/ml/data_frame_analytics/evaluate.ts index e2a9d123aafc9..8b03c42caa787 100644 --- a/x-pack/test/api_integration/apis/ml/data_frame_analytics/evaluate.ts +++ b/x-pack/test/api_integration/apis/ml/data_frame_analytics/evaluate.ts @@ -126,12 +126,12 @@ export default ({ getService }: FtrProviderContext) => { testJobConfigs.forEach((testConfig) => { describe(`EvaluateDataFrameAnalytics ${testConfig.jobType}`, async () => { it(`should evaluate ${testConfig.jobType} analytics job`, async () => { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/_evaluate`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(testConfig.eval) - .expect(200); + .send(testConfig.eval); + ml.api.assertResponseStatusCode(200, status, body); if (testConfig.jobType === 'classification') { const { classification } = body; @@ -149,12 +149,12 @@ export default ({ getService }: FtrProviderContext) => { }); it(`should evaluate ${testConfig.jobType} job for the user with only view permission`, async () => { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/_evaluate`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) - .send(testConfig.eval) - .expect(200); + .send(testConfig.eval); + ml.api.assertResponseStatusCode(200, status, body); if (testConfig.jobType === 'classification') { const { classification } = body; @@ -172,12 +172,12 @@ export default ({ getService }: FtrProviderContext) => { }); it(`should not allow unauthorized user to evaluate ${testConfig.jobType} job`, async () => { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/_evaluate`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) .set(COMMON_REQUEST_HEADERS) - .send(testConfig.eval) - .expect(403); + .send(testConfig.eval); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); diff --git a/x-pack/test/api_integration/apis/ml/data_frame_analytics/explain.ts b/x-pack/test/api_integration/apis/ml/data_frame_analytics/explain.ts index b3219c60c1aab..31db3b645093b 100644 --- a/x-pack/test/api_integration/apis/ml/data_frame_analytics/explain.ts +++ b/x-pack/test/api_integration/apis/ml/data_frame_analytics/explain.ts @@ -90,12 +90,12 @@ export default ({ getService }: FtrProviderContext) => { testJobConfigs.forEach((testConfig) => { describe(`ExplainDataFrameAnalytics ${testConfig.jobType}`, async () => { it(`should explain ${testConfig.jobType} analytics job`, async () => { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/_explain`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(testConfig.config) - .expect(200); + .send(testConfig.config); + ml.api.assertResponseStatusCode(200, status, body); expect(body).to.have.property('field_selection'); // eslint-disable-next-line @@ -111,24 +111,24 @@ export default ({ getService }: FtrProviderContext) => { }); it(`should not allow user with only view permission to use explain endpoint for ${testConfig.jobType} job `, async () => { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/_explain`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) - .send(testConfig.config) - .expect(403); + .send(testConfig.config); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); }); it(`should not allow unauthorized user to use explain endpoint for ${testConfig.jobType} job`, async () => { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/_explain`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) .set(COMMON_REQUEST_HEADERS) - .send(testConfig.config) - .expect(403); + .send(testConfig.config); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); diff --git a/x-pack/test/api_integration/apis/ml/data_frame_analytics/get.ts b/x-pack/test/api_integration/apis/ml/data_frame_analytics/get.ts index f8c7009e39db6..cd57d04c050ad 100644 --- a/x-pack/test/api_integration/apis/ml/data_frame_analytics/get.ts +++ b/x-pack/test/api_integration/apis/ml/data_frame_analytics/get.ts @@ -94,11 +94,12 @@ export default ({ getService }: FtrProviderContext) => { describe('GetDataFrameAnalytics', () => { it('should fetch all analytics jobs', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/data_frame/analytics`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); + expect(body.count).to.eql(2); expect(body.data_frame_analytics.length).to.eql(2); expect(body.data_frame_analytics[0].id).to.eql(`${jobId}_1`); @@ -106,11 +107,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not allow to retrieve analytics jobs for the user without required permissions', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/data_frame/analytics`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); @@ -119,11 +120,11 @@ export default ({ getService }: FtrProviderContext) => { describe('GetDataFrameAnalyticsById', () => { it('should fetch single analytics job by id', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/data_frame/analytics/${jobId}_1`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.count).to.eql(1); expect(body.data_frame_analytics.length).to.eql(1); @@ -131,11 +132,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should fetch analytics jobs based on provided ids', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/data_frame/analytics/${jobId}_1,${jobId}_2`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.count).to.eql(2); expect(body.data_frame_analytics.length).to.eql(2); @@ -144,11 +145,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not allow to retrieve a job for the user without required permissions', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/data_frame/analytics/${jobId}_1`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); @@ -157,11 +158,11 @@ export default ({ getService }: FtrProviderContext) => { describe('GetDataFrameAnalyticsStats', () => { it('should fetch analytics jobs stats', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/data_frame/analytics/_stats`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.count).to.eql(2); expect(body.data_frame_analytics.length).to.eql(2); @@ -177,11 +178,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not allow to retrieve jobs stats for the user without required permissions', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/data_frame/analytics/_stats`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); @@ -190,11 +191,12 @@ export default ({ getService }: FtrProviderContext) => { describe('GetDataFrameAnalyticsStatsById', () => { it('should fetch single analytics job stats by id', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/data_frame/analytics/${jobId}_1/_stats`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); + expect(body.count).to.eql(1); expect(body.data_frame_analytics.length).to.eql(1); expect(body.data_frame_analytics[0].id).to.eql(`${jobId}_1`); @@ -208,11 +210,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('should fetch multiple analytics jobs stats based on provided ids', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/data_frame/analytics/${jobId}_1,${jobId}_2/_stats`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); + expect(body.count).to.eql(2); expect(body.data_frame_analytics.length).to.eql(2); expect(body.data_frame_analytics[0].id).to.eql(`${jobId}_1`); @@ -227,11 +230,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not allow to retrieve a job stats for the user without required permissions', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/data_frame/analytics/${jobId}_1/_stats`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); + expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); }); @@ -239,11 +243,11 @@ export default ({ getService }: FtrProviderContext) => { describe('GetDataFrameAnalyticsIdMap', () => { it('should return a map of objects leading up to analytics job id', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/data_frame/analytics/map/${jobId}_1`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body).to.have.keys('elements', 'details', 'error'); // Index node, 2 job nodes (with same source index), and 2 edge nodes to connect them @@ -260,11 +264,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should return empty results and an error message if the job does not exist', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/data_frame/analytics/map/${jobId}_fake`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.elements.length).to.eql(0); expect(body.details).to.eql({}); diff --git a/x-pack/test/api_integration/apis/ml/data_frame_analytics/get_spaces.ts b/x-pack/test/api_integration/apis/ml/data_frame_analytics/get_spaces.ts index b650943883196..2b853ef92ff18 100644 --- a/x-pack/test/api_integration/apis/ml/data_frame_analytics/get_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/data_frame_analytics/get_spaces.ts @@ -29,7 +29,7 @@ export default ({ getService }: FtrProviderContext) => { requestStats: boolean, jobId?: string ) { - const { body } = await supertest + const { body, status } = await supertest .get( `/s/${space}/api/ml/data_frame/analytics${jobId ? `/${jobId}` : ''}${ requestStats ? '/_stats' : '' @@ -39,21 +39,21 @@ export default ({ getService }: FtrProviderContext) => { USER.ML_VIEWER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER_ALL_SPACES) ) - .set(COMMON_REQUEST_HEADERS) - .expect(expectedStatusCode); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } async function runMapRequest(space: string, expectedStatusCode: number, jobId: string) { - const { body } = await supertest + const { body, status } = await supertest .get(`/s/${space}/api/ml/data_frame/analytics/map/${jobId}`) .auth( USER.ML_VIEWER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER_ALL_SPACES) ) - .set(COMMON_REQUEST_HEADERS) - .expect(expectedStatusCode); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/data_frame_analytics/start.ts b/x-pack/test/api_integration/apis/ml/data_frame_analytics/start.ts index d19569407dfcd..8793376374693 100644 --- a/x-pack/test/api_integration/apis/ml/data_frame_analytics/start.ts +++ b/x-pack/test/api_integration/apis/ml/data_frame_analytics/start.ts @@ -78,11 +78,11 @@ export default ({ getService }: FtrProviderContext) => { it('should start analytics job for specified id if job exists', async () => { const analyticsId = `${jobId}_0`; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/${analyticsId}/_start`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body).not.to.be(undefined); expect(body.acknowledged).to.be(true); @@ -96,11 +96,11 @@ export default ({ getService }: FtrProviderContext) => { const id = `${jobId}_invalid`; const message = `No known job with id '${id}'`; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/${id}/_start`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(404); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(404, status, body); expect(body.error).to.eql('Not Found'); expect(body.message).to.eql(message); @@ -109,11 +109,11 @@ export default ({ getService }: FtrProviderContext) => { it('should not allow to start analytics job for unauthorized user', async () => { const analyticsId = `${jobId}_0`; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/${analyticsId}/_start`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); @@ -122,11 +122,11 @@ export default ({ getService }: FtrProviderContext) => { it('should not allow to start analytics job for user with view only permission', async () => { const analyticsId = `${jobId}_0`; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/${analyticsId}/_start`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); diff --git a/x-pack/test/api_integration/apis/ml/data_frame_analytics/start_spaces.ts b/x-pack/test/api_integration/apis/ml/data_frame_analytics/start_spaces.ts index 636097a81c4f6..638e81cf88947 100644 --- a/x-pack/test/api_integration/apis/ml/data_frame_analytics/start_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/data_frame_analytics/start_spaces.ts @@ -26,14 +26,14 @@ export default ({ getService }: FtrProviderContext) => { const initialModelMemoryLimit = '17mb'; async function runStartRequest(jobId: string, space: string, expectedStatusCode: number) { - const { body } = await supertest + const { body, status } = await supertest .post(`/s/${space}/api/ml/data_frame/analytics/${jobId}/_start`) .auth( USER.ML_POWERUSER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER_ALL_SPACES) ) - .set(COMMON_REQUEST_HEADERS) - .expect(expectedStatusCode); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/data_frame_analytics/stop.ts b/x-pack/test/api_integration/apis/ml/data_frame_analytics/stop.ts index 09663947f61c0..c9c54260a93c1 100644 --- a/x-pack/test/api_integration/apis/ml/data_frame_analytics/stop.ts +++ b/x-pack/test/api_integration/apis/ml/data_frame_analytics/stop.ts @@ -40,11 +40,11 @@ export default ({ getService }: FtrProviderContext) => { describe('StopsDataFrameAnalyticsJob', () => { it('should stop analytics job for specified id when job exists', async () => { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/${analyticsId}/_stop`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body).not.to.be(undefined); expect(body.stopped).to.be(true); @@ -55,33 +55,33 @@ export default ({ getService }: FtrProviderContext) => { const id = `${jobId}_invalid`; const message = `No known job with id '${id}'`; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/${id}/_stop`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(404); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(404, status, body); expect(body.error).to.eql('Not Found'); expect(body.message).to.eql(message); }); it('should not allow to stop analytics job for unauthorized user', async () => { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/${analyticsId}/_stop`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); }); it('should not allow to stop analytics job for user with view only permission', async () => { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/${analyticsId}/_stop`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); diff --git a/x-pack/test/api_integration/apis/ml/data_frame_analytics/stop_spaces.ts b/x-pack/test/api_integration/apis/ml/data_frame_analytics/stop_spaces.ts index 71eff1f00aa00..c1a2ea32e942a 100644 --- a/x-pack/test/api_integration/apis/ml/data_frame_analytics/stop_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/data_frame_analytics/stop_spaces.ts @@ -29,16 +29,15 @@ export default ({ getService }: FtrProviderContext) => { action: string, expectedStatusCode: number ) { - const resp = await supertest + const { body, status } = await supertest .post(`/s/${space}/api/ml/data_frame/analytics/${jobId}/${action}`) .auth( USER.ML_POWERUSER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER_ALL_SPACES) ) .set(COMMON_REQUEST_HEADERS); - const { body, status } = resp; + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); - expect(status).to.be(expectedStatusCode); return body; } diff --git a/x-pack/test/api_integration/apis/ml/data_frame_analytics/update.ts b/x-pack/test/api_integration/apis/ml/data_frame_analytics/update.ts index c39cd72ac80e6..3cc7a1f194409 100644 --- a/x-pack/test/api_integration/apis/ml/data_frame_analytics/update.ts +++ b/x-pack/test/api_integration/apis/ml/data_frame_analytics/update.ts @@ -99,12 +99,12 @@ export default ({ getService }: FtrProviderContext) => { max_num_threads: 2, }; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/${analyticsId}/_update`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(200); + .send(requestBody); + ml.api.assertResponseStatusCode(200, status, body); expect(body).not.to.be(undefined); @@ -123,12 +123,12 @@ export default ({ getService }: FtrProviderContext) => { description: 'Edited description for job 1', }; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/${analyticsId}/_update`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(200); + .send(requestBody); + ml.api.assertResponseStatusCode(200, status, body); expect(body).not.to.be(undefined); @@ -147,12 +147,12 @@ export default ({ getService }: FtrProviderContext) => { allow_lazy_start: true, }; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/${analyticsId}/_update`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(200); + .send(requestBody); + ml.api.assertResponseStatusCode(200, status, body); expect(body).not.to.be(undefined); @@ -171,12 +171,12 @@ export default ({ getService }: FtrProviderContext) => { model_memory_limit: '61mb', }; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/${analyticsId}/_update`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(200); + .send(requestBody); + ml.api.assertResponseStatusCode(200, status, body); expect(body).not.to.be(undefined); @@ -195,12 +195,12 @@ export default ({ getService }: FtrProviderContext) => { max_num_threads: 2, }; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/${analyticsId}/_update`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(200); + .send(requestBody); + ml.api.assertResponseStatusCode(200, status, body); expect(body).not.to.be(undefined); @@ -218,12 +218,12 @@ export default ({ getService }: FtrProviderContext) => { description: 'Unauthorized', }; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/${analyticsId}/_update`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(403); + .send(requestBody); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); @@ -239,12 +239,12 @@ export default ({ getService }: FtrProviderContext) => { description: 'View only', }; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/${analyticsId}/_update`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(403); + .send(requestBody); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); @@ -261,12 +261,12 @@ export default ({ getService }: FtrProviderContext) => { const id = `${jobId}_invalid`; const message = `No known job with id '${id}'`; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/data_frame/analytics/${id}/_update`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(404); + .send(requestBody); + ml.api.assertResponseStatusCode(404, status, body); expect(body.error).to.eql('Not Found'); expect(body.message).to.eql(message); diff --git a/x-pack/test/api_integration/apis/ml/data_frame_analytics/update_spaces.ts b/x-pack/test/api_integration/apis/ml/data_frame_analytics/update_spaces.ts index 22286628beb35..ff3235a00592b 100644 --- a/x-pack/test/api_integration/apis/ml/data_frame_analytics/update_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/data_frame_analytics/update_spaces.ts @@ -31,15 +31,15 @@ export default ({ getService }: FtrProviderContext) => { expectedStatusCode: number, requestBody: unknown ) { - const { body } = await supertest + const { body, status } = await supertest .post(`/s/${space}/api/ml/data_frame/analytics/${jobId}/_update`) .auth( USER.ML_POWERUSER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER_ALL_SPACES) ) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(expectedStatusCode); + .send(requestBody); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/data_frame_analytics/validate.ts b/x-pack/test/api_integration/apis/ml/data_frame_analytics/validate.ts index 24cc23c21cff3..530661559dd2b 100644 --- a/x-pack/test/api_integration/apis/ml/data_frame_analytics/validate.ts +++ b/x-pack/test/api_integration/apis/ml/data_frame_analytics/validate.ts @@ -90,12 +90,12 @@ export default ({ getService }: FtrProviderContext) => { it(`should validate ${testConfig.jobType} job for given config`, async () => { const requestBody = testConfig.config; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/data_frame/analytics/validate') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(200); + .send(requestBody); + ml.api.assertResponseStatusCode(200, status, body); expect(body).not.to.be(undefined); expect(body.length).to.eql(testConfig.jobType === 'outlier_detection' ? 1 : 3); @@ -106,12 +106,12 @@ export default ({ getService }: FtrProviderContext) => { it('should not allow analytics job validation for unauthorized user', async () => { const requestBody = testJobConfigs[0].config; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/data_frame/analytics/validate') .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(403); + .send(requestBody); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); @@ -120,12 +120,12 @@ export default ({ getService }: FtrProviderContext) => { it('should not allow analytics job validation for the user with only view permission', async () => { const requestBody = testJobConfigs[0].config; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/data_frame/analytics/validate') .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(403); + .send(requestBody); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); diff --git a/x-pack/test/api_integration/apis/ml/datafeeds/get_stats_with_spaces.ts b/x-pack/test/api_integration/apis/ml/datafeeds/get_stats_with_spaces.ts index aaa60aabdfbd0..6fef5c8ed8172 100644 --- a/x-pack/test/api_integration/apis/ml/datafeeds/get_stats_with_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/datafeeds/get_stats_with_spaces.ts @@ -26,7 +26,7 @@ export default ({ getService }: FtrProviderContext) => { expectedStatusCode: number, space?: string ) { - const { body } = await supertest + const { body, status } = await supertest .get( `${space ? `/s/${space}` : ''}/api/ml/datafeeds${datafeedId ? `/${datafeedId}` : ''}/_stats` ) @@ -34,8 +34,8 @@ export default ({ getService }: FtrProviderContext) => { USER.ML_VIEWER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER_ALL_SPACES) ) - .set(COMMON_REQUEST_HEADERS) - .expect(expectedStatusCode); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/datafeeds/get_with_spaces.ts b/x-pack/test/api_integration/apis/ml/datafeeds/get_with_spaces.ts index a1b045832789e..086f555baa72c 100644 --- a/x-pack/test/api_integration/apis/ml/datafeeds/get_with_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/datafeeds/get_with_spaces.ts @@ -26,14 +26,14 @@ export default ({ getService }: FtrProviderContext) => { expectedStatusCode: number, space?: string ) { - const { body } = await supertest + const { body, status } = await supertest .get(`${space ? `/s/${space}` : ''}/api/ml/datafeeds${datafeedId ? `/${datafeedId}` : ''}`) .auth( USER.ML_VIEWER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER_ALL_SPACES) ) - .set(COMMON_REQUEST_HEADERS) - .expect(expectedStatusCode); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/fields_service/field_cardinality.ts b/x-pack/test/api_integration/apis/ml/fields_service/field_cardinality.ts index 9e233b7d0f7a2..5bfbada12200a 100644 --- a/x-pack/test/api_integration/apis/ml/fields_service/field_cardinality.ts +++ b/x-pack/test/api_integration/apis/ml/fields_service/field_cardinality.ts @@ -27,6 +27,7 @@ export default ({ getService }: FtrProviderContext) => { timeFieldName: 'order_date', }, expected: { + statusCode: 200, responseBody: { 'customer_first_name.keyword': 46, 'customer_last_name.keyword': 183, @@ -45,6 +46,7 @@ export default ({ getService }: FtrProviderContext) => { latestMs: 1560643199000, // June 15, 2019 11:59:59 PM GMT }, expected: { + statusCode: 200, responseBody: { 'geoip.city_name': 10, 'geoip.continent_name': 5, @@ -64,6 +66,7 @@ export default ({ getService }: FtrProviderContext) => { latestMs: 1560643199000, // June 15, 2019 11:59:59 PM GMT }, expected: { + statusCode: 200, responseBody: {}, }, }, @@ -76,8 +79,8 @@ export default ({ getService }: FtrProviderContext) => { timeFieldName: 'order_date', }, expected: { + statusCode: 404, responseBody: { - statusCode: 404, error: 'Not Found', message: 'index_not_found_exception', }, @@ -93,11 +96,12 @@ export default ({ getService }: FtrProviderContext) => { for (const testData of testDataList) { it(`${testData.testTitle}`, async () => { - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/fields_service/field_cardinality') .auth(testData.user, ml.securityCommon.getPasswordForUser(testData.user)) .set(COMMON_REQUEST_HEADERS) .send(testData.requestBody); + ml.api.assertResponseStatusCode(testData.expected.statusCode, status, body); if (body.error === undefined) { expect(body).to.eql(testData.expected.responseBody); diff --git a/x-pack/test/api_integration/apis/ml/fields_service/time_field_range.ts b/x-pack/test/api_integration/apis/ml/fields_service/time_field_range.ts index 7cc285f0cece5..2a2c732a09bb8 100644 --- a/x-pack/test/api_integration/apis/ml/fields_service/time_field_range.ts +++ b/x-pack/test/api_integration/apis/ml/fields_service/time_field_range.ts @@ -96,12 +96,12 @@ export default ({ getService }: FtrProviderContext) => { for (const testData of testDataList) { it(`${testData.testTitle}`, async () => { - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/fields_service/time_field_range') .auth(testData.user, ml.securityCommon.getPasswordForUser(testData.user)) .set(COMMON_REQUEST_HEADERS) - .send(testData.requestBody) - .expect(testData.expected.responseCode); + .send(testData.requestBody); + ml.api.assertResponseStatusCode(testData.expected.responseCode, status, body); if (body.error === undefined) { expect(body).to.eql(testData.expected.responseBody); diff --git a/x-pack/test/api_integration/apis/ml/filters/create_filters.ts b/x-pack/test/api_integration/apis/ml/filters/create_filters.ts index 08f6bb2bf7856..6eec47456fb51 100644 --- a/x-pack/test/api_integration/apis/ml/filters/create_filters.ts +++ b/x-pack/test/api_integration/apis/ml/filters/create_filters.ts @@ -107,12 +107,13 @@ export default ({ getService }: FtrProviderContext) => { for (const testData of testDataList) { const { testTitle, user, requestBody, expected } = testData; it(`${testTitle}`, async () => { - const { body } = await supertest + const { body, status } = await supertest .put(`/api/ml/filters`) .auth(user, ml.securityCommon.getPasswordForUser(user)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(expected.responseCode); + .send(requestBody); + ml.api.assertResponseStatusCode(expected.responseCode, status, body); + if (body.error === undefined) { // Validate the important parts of the response. const expectedResponse = testData.expected.responseBody; diff --git a/x-pack/test/api_integration/apis/ml/filters/delete_filters.ts b/x-pack/test/api_integration/apis/ml/filters/delete_filters.ts index 8bdd3c78a44e5..0cd06f64ba771 100644 --- a/x-pack/test/api_integration/apis/ml/filters/delete_filters.ts +++ b/x-pack/test/api_integration/apis/ml/filters/delete_filters.ts @@ -49,11 +49,11 @@ export default ({ getService }: FtrProviderContext) => { it(`should delete filter by id`, async () => { const { filterId } = validFilters[0]; - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/filters/${filterId}`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.acknowledged).to.eql(true); await ml.api.waitForFilterToNotExist(filterId); @@ -61,11 +61,11 @@ export default ({ getService }: FtrProviderContext) => { it(`should not delete filter for user without required permission`, async () => { const { filterId } = validFilters[1]; - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/filters/${filterId}`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); await ml.api.waitForFilterToExist(filterId); @@ -73,22 +73,23 @@ export default ({ getService }: FtrProviderContext) => { it(`should not delete filter for unauthorized user`, async () => { const { filterId } = validFilters[2]; - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/filters/${filterId}`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); await ml.api.waitForFilterToExist(filterId); }); it(`should not allow user to delete filter if invalid filterId`, async () => { - const { body } = await supertest + const { body, status } = await supertest .delete(`/api/ml/filters/filter_id_dne`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(404); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(404, status, body); + expect(body.error).to.eql('Not Found'); }); }); diff --git a/x-pack/test/api_integration/apis/ml/filters/get_filters.ts b/x-pack/test/api_integration/apis/ml/filters/get_filters.ts index 87c65ff0247b9..8d99650f6d509 100644 --- a/x-pack/test/api_integration/apis/ml/filters/get_filters.ts +++ b/x-pack/test/api_integration/apis/ml/filters/get_filters.ts @@ -41,32 +41,34 @@ export default ({ getService }: FtrProviderContext) => { await ml.api.deleteFilter(filterId); } }); + it(`should fetch all filters`, async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/filters`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body).to.have.length(validFilters.length); }); it(`should not allow to retrieve filters for user without required permission`, async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/filters`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); + expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); }); it(`should not allow to retrieve filters for unauthorized user`, async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/filters`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); @@ -74,11 +76,11 @@ export default ({ getService }: FtrProviderContext) => { it(`should fetch single filter by id`, async () => { const { filterId, requestBody } = validFilters[0]; - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/filters/${filterId}`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.filter_id).to.eql(filterId); expect(body.description).to.eql(requestBody.description); @@ -86,11 +88,12 @@ export default ({ getService }: FtrProviderContext) => { }); it(`should return 400 if filterId does not exist`, async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/filters/filter_id_dne`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(400); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(400, status, body); + expect(body.error).to.eql('Bad Request'); expect(body.message).to.contain('resource_not_found_exception'); }); diff --git a/x-pack/test/api_integration/apis/ml/filters/update_filters.ts b/x-pack/test/api_integration/apis/ml/filters/update_filters.ts index d08e9d50c64fe..c8f57cf8f33fe 100644 --- a/x-pack/test/api_integration/apis/ml/filters/update_filters.ts +++ b/x-pack/test/api_integration/apis/ml/filters/update_filters.ts @@ -31,7 +31,8 @@ export default ({ getService }: FtrProviderContext) => { }, ]; - describe('update_filters', function () { + // FLAKY: https://github.com/elastic/kibana/issues/122502 + describe.skip('update_filters', function () { const updateFilterRequestBody = { description: 'Updated filter #1', removeItems: items, @@ -54,12 +55,12 @@ export default ({ getService }: FtrProviderContext) => { it(`should update filter by id`, async () => { const { filterId } = validFilters[0]; - const { body } = await supertest + const { body, status } = await supertest .put(`/api/ml/filters/${filterId}`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(updateFilterRequestBody) - .expect(200); + .send(updateFilterRequestBody); + ml.api.assertResponseStatusCode(200, status, body); expect(body.filter_id).to.eql(filterId); expect(body.description).to.eql(updateFilterRequestBody.description); @@ -68,12 +69,12 @@ export default ({ getService }: FtrProviderContext) => { it(`should not allow to update filter for user without required permission`, async () => { const { filterId, requestBody: oldFilterRequest } = validFilters[1]; - const { body } = await supertest + const { body, status } = await supertest .put(`/api/ml/filters/${filterId}`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) - .send(updateFilterRequestBody) - .expect(403); + .send(updateFilterRequestBody); + ml.api.assertResponseStatusCode(403, status, body); // response should return not found expect(body.error).to.eql('Forbidden'); @@ -88,12 +89,12 @@ export default ({ getService }: FtrProviderContext) => { it(`should not allow to update filter for unauthorized user`, async () => { const { filterId, requestBody: oldFilterRequest } = validFilters[2]; - const { body } = await supertest + const { body, status } = await supertest .put(`/api/ml/filters/${filterId}`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) .set(COMMON_REQUEST_HEADERS) - .send(updateFilterRequestBody) - .expect(403); + .send(updateFilterRequestBody); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); @@ -105,12 +106,12 @@ export default ({ getService }: FtrProviderContext) => { }); it(`should return appropriate error if invalid filterId`, async () => { - const { body } = await supertest + const { body, status } = await supertest .put(`/api/ml/filters/filter_id_dne`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(updateFilterRequestBody) - .expect(400); + .send(updateFilterRequestBody); + ml.api.assertResponseStatusCode(400, status, body); expect(body.message).to.contain('resource_not_found_exception'); }); diff --git a/x-pack/test/api_integration/apis/ml/index.ts b/x-pack/test/api_integration/apis/ml/index.ts index 06910e8fac67e..52ce92782f88d 100644 --- a/x-pack/test/api_integration/apis/ml/index.ts +++ b/x-pack/test/api_integration/apis/ml/index.ts @@ -23,25 +23,6 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) { await ml.securityCommon.cleanMlUsers(); await ml.securityCommon.cleanMlRoles(); - await ml.testResources.deleteIndexPatternByTitle('ft_module_apache'); - await ml.testResources.deleteIndexPatternByTitle('ft_module_auditbeat'); - await ml.testResources.deleteIndexPatternByTitle('ft_module_apm'); - await ml.testResources.deleteIndexPatternByTitle('ft_module_heartbeat'); - await ml.testResources.deleteIndexPatternByTitle('ft_module_logs'); - await ml.testResources.deleteIndexPatternByTitle('ft_module_nginx'); - await ml.testResources.deleteIndexPatternByTitle('ft_module_sample_ecommerce'); - await ml.testResources.deleteIndexPatternByTitle('ft_module_sample_logs'); - await ml.testResources.deleteIndexPatternByTitle('ft_module_siem_auditbeat'); - await ml.testResources.deleteIndexPatternByTitle('ft_module_siem_packetbeat'); - await ml.testResources.deleteIndexPatternByTitle('ft_module_siem_winlogbeat'); - await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); - await ml.testResources.deleteIndexPatternByTitle('ft_logs-endpoint.events.*'); - await ml.testResources.deleteIndexPatternByTitle('ft_module_metricbeat'); - await ml.testResources.deleteIndexPatternByTitle('ft_module_siem_cloudtrail'); - await ml.testResources.deleteIndexPatternByTitle('ft_module_metrics_ui'); - await ml.testResources.deleteIndexPatternByTitle('ft_module_apache_data_stream'); - await ml.testResources.deleteIndexPatternByTitle('ft_module_nginx_data_stream'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/ecommerce'); await esArchiver.unload('x-pack/test/functional/es_archives/ml/categorization'); await esArchiver.unload('x-pack/test/functional/es_archives/ml/categorization_small'); diff --git a/x-pack/test/api_integration/apis/ml/indices/field_caps.ts b/x-pack/test/api_integration/apis/ml/indices/field_caps.ts index a99d100ad73a8..829430024599c 100644 --- a/x-pack/test/api_integration/apis/ml/indices/field_caps.ts +++ b/x-pack/test/api_integration/apis/ml/indices/field_caps.ts @@ -20,12 +20,12 @@ export default ({ getService }: FtrProviderContext) => { index: string, fields?: string[] ): Promise<{ indices: string[]; fields: any }> { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/indices/field_caps`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send({ index, fields }) - .expect(200); + .send({ index, fields }); + ml.api.assertResponseStatusCode(200, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/job_audit_messages/clear_messages.ts b/x-pack/test/api_integration/apis/ml/job_audit_messages/clear_messages.ts index d2a2f9a4d02dd..8335bd73c1f3f 100644 --- a/x-pack/test/api_integration/apis/ml/job_audit_messages/clear_messages.ts +++ b/x-pack/test/api_integration/apis/ml/job_audit_messages/clear_messages.ts @@ -29,11 +29,11 @@ export default ({ getService }: FtrProviderContext) => { await ml.api.createAnomalyDetectionJob(jobConfig); } - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/job_audit_messages/messages`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); notificationIndices = body.notificationIndices; }); @@ -45,25 +45,25 @@ export default ({ getService }: FtrProviderContext) => { it('should mark audit messages as cleared for provided job', async () => { const timestamp = Date.now(); - const { body } = await supertest + const { body, status } = await supertest .put(`/api/ml/job_audit_messages/clear_messages`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) .send({ jobId: 'test_get_job_audit_messages_1', notificationIndices, - }) - .expect(200); + }); + ml.api.assertResponseStatusCode(200, status, body); expect(body.success).to.eql(true); expect(body.last_cleared).to.be.above(timestamp); await retry.tryForTime(5000, async () => { - const { body: getBody } = await supertest + const { body: getBody, status: getStatus } = await supertest .get(`/api/ml/job_audit_messages/messages/test_get_job_audit_messages_1`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, getStatus, getBody); expect(getBody.messages.length).to.eql( 1, @@ -81,45 +81,47 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not mark audit messages as cleared for the user with ML read permissions', async () => { - const { body } = await supertest + const { body, status } = await supertest .put(`/api/ml/job_audit_messages/clear_messages`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) .send({ jobId: 'test_get_job_audit_messages_2', notificationIndices, - }) - .expect(403); + }); + ml.api.assertResponseStatusCode(403, status, body); + expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); - const { body: getBody } = await supertest + const { body: getBody, status: getStatus } = await supertest .get(`/api/ml/job_audit_messages/messages/test_get_job_audit_messages_2`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, getStatus, getBody); expect(getBody.messages[0].cleared).to.not.eql(true); }); it('should not mark audit messages as cleared for unauthorized user', async () => { - const { body } = await supertest + const { body, status } = await supertest .put(`/api/ml/job_audit_messages/clear_messages`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) .set(COMMON_REQUEST_HEADERS) .send({ jobId: 'test_get_job_audit_messages_2', notificationIndices, - }) - .expect(403); + }); + ml.api.assertResponseStatusCode(403, status, body); + expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); - const { body: getBody } = await supertest + const { body: getBody, status: getStatus } = await supertest .get(`/api/ml/job_audit_messages/messages/test_get_job_audit_messages_2`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, getStatus, getBody); expect(getBody.messages[0].cleared).to.not.eql(true); }); diff --git a/x-pack/test/api_integration/apis/ml/job_audit_messages/get_job_audit_messages.ts b/x-pack/test/api_integration/apis/ml/job_audit_messages/get_job_audit_messages.ts index a288a7b491bb6..2c79f02c75030 100644 --- a/x-pack/test/api_integration/apis/ml/job_audit_messages/get_job_audit_messages.ts +++ b/x-pack/test/api_integration/apis/ml/job_audit_messages/get_job_audit_messages.ts @@ -34,11 +34,11 @@ export default ({ getService }: FtrProviderContext) => { it('should fetch all audit messages', async () => { await retry.tryForTime(5000, async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/job_audit_messages/messages`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.messages.length).to.eql( 2, @@ -68,11 +68,11 @@ export default ({ getService }: FtrProviderContext) => { it('should fetch audit messages for specified job', async () => { await retry.tryForTime(5000, async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/job_audit_messages/messages/test_get_job_audit_messages_1`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.messages.length).to.eql( 1, @@ -90,11 +90,11 @@ export default ({ getService }: FtrProviderContext) => { it('should fetch audit messages for user with ML read permissions', async () => { await retry.tryForTime(5000, async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/job_audit_messages/messages/test_get_job_audit_messages_1`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.messages.length).to.eql( 1, @@ -111,11 +111,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not allow to fetch audit messages for unauthorized user', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/job_audit_messages/messages/test_get_job_audit_messages_1`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); diff --git a/x-pack/test/api_integration/apis/ml/job_validation/bucket_span_estimator.ts b/x-pack/test/api_integration/apis/ml/job_validation/bucket_span_estimator.ts index c55e6e2628c18..8baffcd9ae0ea 100644 --- a/x-pack/test/api_integration/apis/ml/job_validation/bucket_span_estimator.ts +++ b/x-pack/test/api_integration/apis/ml/job_validation/bucket_span_estimator.ts @@ -95,12 +95,12 @@ export default ({ getService }: FtrProviderContext) => { describe('with default settings', function () { for (const testData of testDataList) { it(`estimates the bucket span ${testData.testTitleSuffix}`, async () => { - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/validate/estimate_bucket_span') .auth(testData.user, ml.securityCommon.getPasswordForUser(testData.user)) .set(COMMON_REQUEST_HEADERS) - .send(testData.requestBody) - .expect(testData.expected.responseCode); + .send(testData.requestBody); + ml.api.assertResponseStatusCode(testData.expected.responseCode, status, body); expect(body).to.eql(testData.expected.responseBody); }); @@ -109,28 +109,28 @@ export default ({ getService }: FtrProviderContext) => { describe('with transient search.max_buckets setting', function () { before(async () => { - await esSupertest + const { body, status } = await esSupertest .put('/_cluster/settings') - .send({ transient: { 'search.max_buckets': 9000 } }) - .expect(200); + .send({ transient: { 'search.max_buckets': 9000 } }); + ml.api.assertResponseStatusCode(200, status, body); }); after(async () => { - await esSupertest + const { body, status } = await esSupertest .put('/_cluster/settings') - .send({ transient: { 'search.max_buckets': null } }) - .expect(200); + .send({ transient: { 'search.max_buckets': null } }); + ml.api.assertResponseStatusCode(200, status, body); }); const testData = testDataList[0]; it(`estimates the bucket span`, async () => { - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/validate/estimate_bucket_span') .auth(testData.user, ml.securityCommon.getPasswordForUser(testData.user)) .set(COMMON_REQUEST_HEADERS) - .send(testData.requestBody) - .expect(testData.expected.responseCode); + .send(testData.requestBody); + ml.api.assertResponseStatusCode(testData.expected.responseCode, status, body); expect(body).to.eql(testData.expected.responseBody); }); @@ -138,28 +138,28 @@ export default ({ getService }: FtrProviderContext) => { describe('with persistent search.max_buckets setting', function () { before(async () => { - await esSupertest + const { body, status } = await esSupertest .put('/_cluster/settings') - .send({ persistent: { 'search.max_buckets': 9000 } }) - .expect(200); + .send({ persistent: { 'search.max_buckets': 9000 } }); + ml.api.assertResponseStatusCode(200, status, body); }); after(async () => { - await esSupertest + const { body, status } = await esSupertest .put('/_cluster/settings') - .send({ persistent: { 'search.max_buckets': null } }) - .expect(200); + .send({ persistent: { 'search.max_buckets': null } }); + ml.api.assertResponseStatusCode(200, status, body); }); const testData = testDataList[0]; it(`estimates the bucket span`, async () => { - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/validate/estimate_bucket_span') .auth(testData.user, ml.securityCommon.getPasswordForUser(testData.user)) .set(COMMON_REQUEST_HEADERS) - .send(testData.requestBody) - .expect(testData.expected.responseCode); + .send(testData.requestBody); + ml.api.assertResponseStatusCode(testData.expected.responseCode, status, body); expect(body).to.eql(testData.expected.responseBody); }); diff --git a/x-pack/test/api_integration/apis/ml/job_validation/calculate_model_memory_limit.ts b/x-pack/test/api_integration/apis/ml/job_validation/calculate_model_memory_limit.ts index c2cc9480fee3b..67570039b915f 100644 --- a/x-pack/test/api_integration/apis/ml/job_validation/calculate_model_memory_limit.ts +++ b/x-pack/test/api_integration/apis/ml/job_validation/calculate_model_memory_limit.ts @@ -151,12 +151,12 @@ export default ({ getService }: FtrProviderContext) => { for (const testData of testDataList) { it(`calculates the model memory limit ${testData.testTitleSuffix}`, async () => { - await supertest + const { body, status } = await supertest .post('/api/ml/validate/calculate_model_memory_limit') .auth(testData.user, ml.securityCommon.getPasswordForUser(testData.user)) .set(COMMON_REQUEST_HEADERS) - .send(testData.requestBody) - .expect(testData.expected.responseCode); + .send(testData.requestBody); + ml.api.assertResponseStatusCode(testData.expected.responseCode, status, body); // More backend changes to the model memory calculation are planned. // This value check will be re-enabled when the final batch of updates is in. diff --git a/x-pack/test/api_integration/apis/ml/job_validation/cardinality.ts b/x-pack/test/api_integration/apis/ml/job_validation/cardinality.ts index e287537b0ca34..7d199ab28101a 100644 --- a/x-pack/test/api_integration/apis/ml/job_validation/cardinality.ts +++ b/x-pack/test/api_integration/apis/ml/job_validation/cardinality.ts @@ -54,12 +54,12 @@ export default ({ getService }: FtrProviderContext) => { }, }; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/validate/cardinality') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(200); + .send(requestBody); + ml.api.assertResponseStatusCode(200, status, body); expect(body).to.eql([{ id: 'success_cardinality' }]); }); @@ -91,12 +91,12 @@ export default ({ getService }: FtrProviderContext) => { query: { bool: { must: [{ match_all: {} }], filter: [], must_not: [] } }, }, }; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/validate/cardinality') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(200); + .send(requestBody); + ml.api.assertResponseStatusCode(200, status, body); const expectedResponse = [ { @@ -143,12 +143,12 @@ export default ({ getService }: FtrProviderContext) => { }, }; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/validate/cardinality') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(400); + .send(requestBody); + ml.api.assertResponseStatusCode(400, status, body); expect(body.error).to.eql('Bad Request'); expect(body.message).to.eql( @@ -183,12 +183,12 @@ export default ({ getService }: FtrProviderContext) => { }, }; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/validate/cardinality') .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(403); + .send(requestBody); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); diff --git a/x-pack/test/api_integration/apis/ml/job_validation/datafeed_preview_validation.ts b/x-pack/test/api_integration/apis/ml/job_validation/datafeed_preview_validation.ts index c16050e08c886..535e34d75562c 100644 --- a/x-pack/test/api_integration/apis/ml/job_validation/datafeed_preview_validation.ts +++ b/x-pack/test/api_integration/apis/ml/job_validation/datafeed_preview_validation.ts @@ -100,12 +100,12 @@ export default ({ getService }: FtrProviderContext) => { it(`should validate a job with documents`, async () => { const job = getBaseJobConfig(); - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/validate/datafeed_preview') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send({ job }) - .expect(200); + .send({ job }); + ml.api.assertResponseStatusCode(200, status, body); expect(body.valid).to.eql(true, `valid should be true, but got ${body.valid}`); expect(body.documentsFound).to.eql( @@ -118,12 +118,12 @@ export default ({ getService }: FtrProviderContext) => { const job = getBaseJobConfig(); job.analysis_config.detectors[0].field_name = 'no_such_field'; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/validate/datafeed_preview') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send({ job }) - .expect(200); + .send({ job }); + ml.api.assertResponseStatusCode(200, status, body); expect(body.valid).to.eql(false, `valid should be false, but got ${body.valid}`); expect(body.documentsFound).to.eql( @@ -136,12 +136,12 @@ export default ({ getService }: FtrProviderContext) => { const job = getBaseJobConfig(); job.datafeed_config.indices = ['farequote_empty']; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/validate/datafeed_preview') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send({ job }) - .expect(200); + .send({ job }); + ml.api.assertResponseStatusCode(200, status, body); expect(body.valid).to.eql(true, `valid should be true, but got ${body.valid}`); expect(body.documentsFound).to.eql( @@ -153,23 +153,23 @@ export default ({ getService }: FtrProviderContext) => { it(`should fail for viewer user`, async () => { const job = getBaseJobConfig(); - await supertest + const { body, status } = await supertest .post('/api/ml/validate/datafeed_preview') .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) - .send({ job }) - .expect(403); + .send({ job }); + ml.api.assertResponseStatusCode(403, status, body); }); it(`should fail for unauthorized user`, async () => { const job = getBaseJobConfig(); - await supertest + const { body, status } = await supertest .post('/api/ml/validate/datafeed_preview') .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) .set(COMMON_REQUEST_HEADERS) - .send({ job }) - .expect(403); + .send({ job }); + ml.api.assertResponseStatusCode(403, status, body); }); }); }; diff --git a/x-pack/test/api_integration/apis/ml/job_validation/validate.ts b/x-pack/test/api_integration/apis/ml/job_validation/validate.ts index 293b0e94351d0..4e335cdbd48d1 100644 --- a/x-pack/test/api_integration/apis/ml/job_validation/validate.ts +++ b/x-pack/test/api_integration/apis/ml/job_validation/validate.ts @@ -70,12 +70,12 @@ export default ({ getService }: FtrProviderContext) => { }, }; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/validate/job') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(200); + .send(requestBody); + ml.api.assertResponseStatusCode(200, status, body); expect(body).to.eql(basicValidJobMessages); }); @@ -114,12 +114,12 @@ export default ({ getService }: FtrProviderContext) => { }, }; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/validate/job') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(200); + .send(requestBody); + ml.api.assertResponseStatusCode(200, status, body); expect(body).to.eql(basicInvalidJobMessages); }); @@ -164,12 +164,12 @@ export default ({ getService }: FtrProviderContext) => { }, }; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/validate/job') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(200); + .send(requestBody); + ml.api.assertResponseStatusCode(200, status, body); // The existance and value of maxModelMemoryLimit depends on ES settings // and may vary between test environments, e.g. cloud vs non-cloud, @@ -231,12 +231,12 @@ export default ({ getService }: FtrProviderContext) => { }, }; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/validate/job') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(400); + .send(requestBody); + ml.api.assertResponseStatusCode(400, status, body); expect(body.error).to.eql('Bad Request'); expect(body.message).to.eql( @@ -277,12 +277,12 @@ export default ({ getService }: FtrProviderContext) => { }, }; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/validate/job') .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(403); + .send(requestBody); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); diff --git a/x-pack/test/api_integration/apis/ml/jobs/categorization_field_examples.ts b/x-pack/test/api_integration/apis/ml/jobs/categorization_field_examples.ts index 9d6009bbb3ea6..480a6350e7ca5 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/categorization_field_examples.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/categorization_field_examples.ts @@ -292,12 +292,12 @@ export default ({ getService }: FtrProviderContext) => { for (const testData of testDataList) { it(testData.title, async () => { - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/jobs/categorization_field_examples') .auth(testData.user, ml.securityCommon.getPasswordForUser(testData.user)) .set(COMMON_REQUEST_HEADERS) - .send(testData.requestBody) - .expect(testData.expected.responseCode); + .send(testData.requestBody); + ml.api.assertResponseStatusCode(testData.expected.responseCode, status, body); expect(body.overallValidStatus).to.eql(testData.expected.overallValidStatus); expect(body.sampleSize).to.eql(testData.expected.sampleSize); diff --git a/x-pack/test/api_integration/apis/ml/jobs/close_jobs.ts b/x-pack/test/api_integration/apis/ml/jobs/close_jobs.ts index 40485205f9fb5..e29ef5efd5192 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/close_jobs.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/close_jobs.ts @@ -25,12 +25,12 @@ export default ({ getService }: FtrProviderContext) => { requestBody: object, expectedResponsecode: number ): Promise { - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/jobs/close_jobs') .auth(user, ml.securityCommon.getPasswordForUser(user)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(expectedResponsecode); + .send(requestBody); + ml.api.assertResponseStatusCode(expectedResponsecode, status, body); return body; } @@ -50,6 +50,10 @@ export default ({ getService }: FtrProviderContext) => { await ml.testResources.setKibanaTimeZoneToUTC(); }); + after(async () => { + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); + }); + beforeEach(async () => { for (const job of testSetupJobConfigs) { const datafeedId = `datafeed-${job.job_id}`; diff --git a/x-pack/test/api_integration/apis/ml/jobs/close_jobs_spaces.ts b/x-pack/test/api_integration/apis/ml/jobs/close_jobs_spaces.ts index 5b8e5e67f03a8..a3a6ad309cb31 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/close_jobs_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/close_jobs_spaces.ts @@ -23,15 +23,15 @@ export default ({ getService }: FtrProviderContext) => { const idSpace2 = 'space2'; async function runRequest(space: string, expectedStatusCode: number, jobIds?: string[]) { - const { body } = await supertest + const { body, status } = await supertest .post(`/s/${space}/api/ml/jobs/close_jobs`) .auth( USER.ML_POWERUSER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER_ALL_SPACES) ) .set(COMMON_REQUEST_HEADERS) - .send({ jobIds }) - .expect(expectedStatusCode); + .send({ jobIds }); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/jobs/datafeed_preview.ts b/x-pack/test/api_integration/apis/ml/jobs/datafeed_preview.ts index 4a0545049a76e..33817adb8b27c 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/datafeed_preview.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/datafeed_preview.ts @@ -65,12 +65,12 @@ export default ({ getService }: FtrProviderContext) => { runtime_mappings: {}, }; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/jobs/datafeed_preview') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send({ job, datafeed }) - .expect(200); + .send({ job, datafeed }); + ml.api.assertResponseStatusCode(200, status, body); expect(body.length).to.eql(1000, 'Response body total hits should be 1000'); expect(typeof body[0]?.airline).to.eql('string', 'Response body airlines should be a string'); @@ -102,12 +102,12 @@ export default ({ getService }: FtrProviderContext) => { runtime_mappings: {}, }; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/jobs/datafeed_preview') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send({ job, datafeed }) - .expect(200); + .send({ job, datafeed }); + ml.api.assertResponseStatusCode(200, status, body); expect(body.length).to.eql(1000, 'Response body total hits should be 1000'); expect(typeof body[0]?.airline).to.eql('string', 'Response body airlines should be a string'); @@ -144,12 +144,12 @@ export default ({ getService }: FtrProviderContext) => { }, }; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/jobs/datafeed_preview') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send({ job, datafeed }) - .expect(200); + .send({ job, datafeed }); + ml.api.assertResponseStatusCode(200, status, body); expect(body.length).to.eql(1000, 'Response body total hits should be 1000'); expect(typeof body[0]?.airline).to.eql('string', 'Response body airlines should be a string'); @@ -189,12 +189,12 @@ export default ({ getService }: FtrProviderContext) => { }, }; - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/jobs/datafeed_preview') .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .set(COMMON_REQUEST_HEADERS) - .send({ job, datafeed }) - .expect(200); + .send({ job, datafeed }); + ml.api.assertResponseStatusCode(200, status, body); expect(body.length).to.eql(1000, 'Response body total hits should be 1000'); expect(typeof body[0]?.airline).to.eql('string', 'Response body airlines should be a string'); @@ -224,12 +224,12 @@ export default ({ getService }: FtrProviderContext) => { runtime_mappings: {}, }; - await supertest + const { body, status } = await supertest .post('/api/ml/jobs/datafeed_preview') .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) - .send({ job, datafeed }) - .expect(403); + .send({ job, datafeed }); + ml.api.assertResponseStatusCode(403, status, body); }); it(`should return not a datafeed preview for unauthorized user`, async () => { @@ -249,12 +249,12 @@ export default ({ getService }: FtrProviderContext) => { runtime_mappings: {}, }; - await supertest + const { body, status } = await supertest .post('/api/ml/jobs/datafeed_preview') .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) .set(COMMON_REQUEST_HEADERS) - .send({ job, datafeed }) - .expect(403); + .send({ job, datafeed }); + ml.api.assertResponseStatusCode(403, status, body); }); }); }; diff --git a/x-pack/test/api_integration/apis/ml/jobs/delete_jobs.ts b/x-pack/test/api_integration/apis/ml/jobs/delete_jobs.ts index f785a35feafac..7ef6b49f563a7 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/delete_jobs.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/delete_jobs.ts @@ -68,12 +68,12 @@ export default ({ getService }: FtrProviderContext) => { requestBody: object, expectedResponsecode: number ): Promise { - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/jobs/delete_jobs') .auth(user, ml.securityCommon.getPasswordForUser(user)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(expectedResponsecode); + .send(requestBody); + ml.api.assertResponseStatusCode(expectedResponsecode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/jobs/delete_jobs_spaces.ts b/x-pack/test/api_integration/apis/ml/jobs/delete_jobs_spaces.ts index 547d71ddc2842..58fd588db11f8 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/delete_jobs_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/delete_jobs_spaces.ts @@ -22,15 +22,15 @@ export default ({ getService }: FtrProviderContext) => { const idSpace2 = 'space2'; async function runRequest(space: string, expectedStatusCode: number, jobIds?: string[]) { - const { body } = await supertest + const { body, status } = await supertest .post(`/s/${space}/api/ml/jobs/delete_jobs`) .auth( USER.ML_POWERUSER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER_ALL_SPACES) ) .set(COMMON_REQUEST_HEADERS) - .send({ jobIds }) - .expect(expectedStatusCode); + .send({ jobIds }); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/jobs/force_start_datafeeds.ts b/x-pack/test/api_integration/apis/ml/jobs/force_start_datafeeds.ts index 04ab308a0d7b2..fae4c70666048 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/force_start_datafeeds.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/force_start_datafeeds.ts @@ -24,12 +24,12 @@ export default ({ getService }: FtrProviderContext) => { requestBody: object, expectedResponsecode: number ): Promise> { - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/jobs/force_start_datafeeds') .auth(user, ml.securityCommon.getPasswordForUser(user)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(expectedResponsecode); + .send(requestBody); + ml.api.assertResponseStatusCode(expectedResponsecode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/jobs/force_start_datafeeds_spaces.ts b/x-pack/test/api_integration/apis/ml/jobs/force_start_datafeeds_spaces.ts index 1ebc6c5b78424..9e282a4ef9a11 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/force_start_datafeeds_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/force_start_datafeeds_spaces.ts @@ -34,15 +34,15 @@ export default ({ getService }: FtrProviderContext) => { start: number, end: number ): Promise> { - const { body } = await supertest + const { body, status } = await supertest .post(`/s/${space}/api/ml/jobs/force_start_datafeeds`) .auth( USER.ML_POWERUSER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER_ALL_SPACES) ) .set(COMMON_REQUEST_HEADERS) - .send({ datafeedIds, start, end }) - .expect(expectedStatusCode); + .send({ datafeedIds, start, end }); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/jobs/jobs_exist.ts b/x-pack/test/api_integration/apis/ml/jobs/jobs_exist.ts index 8c4a79bc0ce5f..a3ba73338bee9 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/jobs_exist.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/jobs_exist.ts @@ -70,12 +70,12 @@ export default ({ getService }: FtrProviderContext) => { requestBody: object, expectedResponsecode: number ): Promise { - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/jobs/jobs_exist') .auth(user, ml.securityCommon.getPasswordForUser(user)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(expectedResponsecode); + .send(requestBody); + ml.api.assertResponseStatusCode(expectedResponsecode, status, body); return body; } @@ -89,6 +89,7 @@ export default ({ getService }: FtrProviderContext) => { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); }); it('sets up jobs', async () => { diff --git a/x-pack/test/api_integration/apis/ml/jobs/jobs_exist_spaces.ts b/x-pack/test/api_integration/apis/ml/jobs/jobs_exist_spaces.ts index caf574596f31a..8a7ddb91b7623 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/jobs_exist_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/jobs_exist_spaces.ts @@ -23,15 +23,15 @@ export default ({ getService }: FtrProviderContext) => { const idSpace2 = 'space2'; async function runRequest(space: string, expectedStatusCode: number, jobIds?: string[]) { - const { body } = await supertest + const { body, status } = await supertest .post(`/s/${space}/api/ml/jobs/jobs_exist`) .auth( USER.ML_VIEWER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER_ALL_SPACES) ) .set(COMMON_REQUEST_HEADERS) - .send({ jobIds }) - .expect(expectedStatusCode); + .send({ jobIds }); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/jobs/jobs_summary.ts b/x-pack/test/api_integration/apis/ml/jobs/jobs_summary.ts index a57167590c1f1..dab689f78e329 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/jobs_summary.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/jobs_summary.ts @@ -173,12 +173,12 @@ export default ({ getService }: FtrProviderContext) => { requestBody: object, expectedResponsecode: number ): Promise { - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/jobs/jobs_summary') .auth(user, ml.securityCommon.getPasswordForUser(user)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(expectedResponsecode); + .send(requestBody); + ml.api.assertResponseStatusCode(expectedResponsecode, status, body); return body; } @@ -303,7 +303,10 @@ export default ({ getService }: FtrProviderContext) => { if (expectedJob.fullJob) { expect(actualJob).to.have.property('fullJob'); expect(actualJob.fullJob).to.have.property('analysis_config'); - expect(actualJob.fullJob.analysis_config).to.eql(expectedJob.fullJob.analysis_config); + // only validate the expected parts of the analysis_config, ignore additional fields + for (const [key, value] of Object.entries(expectedJob.fullJob.analysis_config)) { + expect(actualJob.fullJob.analysis_config).to.have.property(key).eql(value); + } } else { expect(actualJob).not.to.have.property('fullJob'); } diff --git a/x-pack/test/api_integration/apis/ml/jobs/jobs_summary_spaces.ts b/x-pack/test/api_integration/apis/ml/jobs/jobs_summary_spaces.ts index e0cf731e16ede..afc9b9085ea2f 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/jobs_summary_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/jobs_summary_spaces.ts @@ -21,15 +21,15 @@ export default ({ getService }: FtrProviderContext) => { const idSpace2 = 'space2'; async function runRequest(space: string, expectedStatusCode: number, jobIds?: string[]) { - const { body } = await supertest + const { body, status } = await supertest .post(`/s/${space}/api/ml/jobs/jobs_summary`) .auth( USER.ML_VIEWER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER_ALL_SPACES) ) .set(COMMON_REQUEST_HEADERS) - .send({ jobIds }) - .expect(expectedStatusCode); + .send({ jobIds }); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/jobs/stop_datafeeds.ts b/x-pack/test/api_integration/apis/ml/jobs/stop_datafeeds.ts index 593dfdd2fdfe7..f837f58543f5b 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/stop_datafeeds.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/stop_datafeeds.ts @@ -24,12 +24,12 @@ export default ({ getService }: FtrProviderContext) => { requestBody: object, expectedResponsecode: number ): Promise> { - const { body } = await supertest + const { body, status } = await supertest .post('/api/ml/jobs/stop_datafeeds') .auth(user, ml.securityCommon.getPasswordForUser(user)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(expectedResponsecode); + .send(requestBody); + ml.api.assertResponseStatusCode(expectedResponsecode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/jobs/stop_datafeeds_spaces.ts b/x-pack/test/api_integration/apis/ml/jobs/stop_datafeeds_spaces.ts index 0e1ac038dc962..7af6a6f3ea1bc 100644 --- a/x-pack/test/api_integration/apis/ml/jobs/stop_datafeeds_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/jobs/stop_datafeeds_spaces.ts @@ -30,15 +30,15 @@ export default ({ getService }: FtrProviderContext) => { expectedStatusCode: number, datafeedIds: string[] ): Promise> { - const { body } = await supertest + const { body, status } = await supertest .post(`/s/${space}/api/ml/jobs/stop_datafeeds`) .auth( USER.ML_POWERUSER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER_ALL_SPACES) ) .set(COMMON_REQUEST_HEADERS) - .send({ datafeedIds }) - .expect(expectedStatusCode); + .send({ datafeedIds }); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/modules/get_module.ts b/x-pack/test/api_integration/apis/ml/modules/get_module.ts index 0a3e2dbed570b..098172e7fc005 100644 --- a/x-pack/test/api_integration/apis/ml/modules/get_module.ts +++ b/x-pack/test/api_integration/apis/ml/modules/get_module.ts @@ -48,11 +48,11 @@ export default ({ getService }: FtrProviderContext) => { const ml = getService('ml'); async function executeGetModuleRequest(module: string, user: USER, rspCode: number) { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/modules/get_module/${module}`) .auth(user, ml.securityCommon.getPasswordForUser(user)) - .set(COMMON_REQUEST_HEADERS) - .expect(rspCode); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(rspCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/modules/recognize_module.ts b/x-pack/test/api_integration/apis/ml/modules/recognize_module.ts index 2742fbff294c0..d579de91f7c02 100644 --- a/x-pack/test/api_integration/apis/ml/modules/recognize_module.ts +++ b/x-pack/test/api_integration/apis/ml/modules/recognize_module.ts @@ -205,11 +205,11 @@ export default ({ getService }: FtrProviderContext) => { ]; async function executeRecognizeModuleRequest(indexPattern: string, user: USER, rspCode: number) { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/modules/recognize/${indexPattern}`) .auth(user, ml.securityCommon.getPasswordForUser(user)) - .set(COMMON_REQUEST_HEADERS) - .expect(rspCode); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(rspCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/modules/setup_module.ts b/x-pack/test/api_integration/apis/ml/modules/setup_module.ts index c4dd529ac14f5..445d64655afa6 100644 --- a/x-pack/test/api_integration/apis/ml/modules/setup_module.ts +++ b/x-pack/test/api_integration/apis/ml/modules/setup_module.ts @@ -69,7 +69,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf2_', indexPatternName: 'ft_module_sample_logs', startDatafeed: true, - end: Date.now(), + end: 1585576710000, }, expected: { responseCode: 200, @@ -106,7 +106,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf3_', indexPatternName: 'ft_module_apache', startDatafeed: true, - end: Date.now(), + end: 1536933580000, }, expected: { responseCode: 200, @@ -161,7 +161,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf4_', indexPatternName: 'ft_module_apm', startDatafeed: true, - end: Date.now(), + end: 1632925220000, }, expected: { responseCode: 200, @@ -225,7 +225,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf6_', indexPatternName: 'ft_module_logs', startDatafeed: true, - end: Date.now(), + end: 1556570920000, }, expected: { responseCode: 200, @@ -252,7 +252,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf7_', indexPatternName: 'ft_module_logs', startDatafeed: true, - end: Date.now(), + end: 1556570920000, }, expected: { responseCode: 200, @@ -278,7 +278,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf8_', indexPatternName: 'ft_module_nginx', startDatafeed: true, - end: Date.now(), + end: 1542372260000, }, expected: { responseCode: 200, @@ -333,7 +333,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf9_', indexPatternName: 'ft_module_sample_ecommerce', startDatafeed: true, - end: Date.now(), + end: 1585260210000, }, expected: { responseCode: 200, @@ -360,7 +360,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf11_', indexPatternName: 'ft_module_siem_auditbeat', startDatafeed: true, - end: Date.now(), + end: 1566403650000, }, expected: { responseCode: 200, @@ -387,7 +387,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf12_', indexPatternName: 'ft_module_siem_packetbeat', startDatafeed: true, - end: Date.now(), + end: 1588688580000, }, expected: { responseCode: 200, @@ -434,7 +434,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf13_', indexPatternName: 'ft_module_heartbeat', startDatafeed: true, - end: Date.now(), + end: 1584117860000, }, expected: { responseCode: 200, @@ -461,7 +461,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf14_', indexPatternName: 'ft_module_auditbeat', startDatafeed: true, - end: Date.now(), + end: 1597847410000, }, expected: { responseCode: 200, @@ -500,7 +500,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf15_', indexPatternName: 'ft_logs-endpoint.events.*', startDatafeed: true, - end: Date.now(), + end: 1606858680000, }, expected: { responseCode: 200, @@ -552,7 +552,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf16_', indexPatternName: 'ft_logs-endpoint.events.*', startDatafeed: true, - end: Date.now(), + end: 1606858580000, }, expected: { responseCode: 200, @@ -614,7 +614,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf17_', indexPatternName: 'ft_module_metricbeat', startDatafeed: true, - end: Date.now(), + end: 1554501720000, }, expected: { responseCode: 200, @@ -651,7 +651,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf18_', indexPatternName: 'ft_module_metrics_ui', startDatafeed: true, - end: Date.now(), + end: 1599762970000, }, expected: { responseCode: 200, @@ -688,7 +688,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf19_', indexPatternName: 'ft_module_metrics_ui', startDatafeed: true, - end: Date.now(), + end: 1599763000000, }, expected: { responseCode: 200, @@ -725,7 +725,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf20_', indexPatternName: 'ft_module_siem_cloudtrail', startDatafeed: true, - end: Date.now(), + end: 1594231870000, }, expected: { responseCode: 200, @@ -772,7 +772,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf21_', indexPatternName: 'ft_module_siem_winlogbeat', startDatafeed: true, - end: Date.now(), + end: 1595382280000, }, expected: { responseCode: 200, @@ -849,7 +849,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf22_', indexPatternName: 'ft_module_siem_winlogbeat', startDatafeed: true, - end: Date.now(), + end: 1566321950000, }, expected: { responseCode: 200, @@ -876,7 +876,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf23_', indexPatternName: 'ft_module_apache_data_stream', startDatafeed: true, - end: Date.now(), + end: 1536933580000, }, expected: { responseCode: 200, @@ -923,7 +923,7 @@ export default ({ getService }: FtrProviderContext) => { prefix: 'pf24_', indexPatternName: 'ft_module_nginx_data_stream', startDatafeed: true, - end: Date.now(), + end: 1542372260000, }, expected: { responseCode: 200, @@ -1002,12 +1002,12 @@ export default ({ getService }: FtrProviderContext) => { rqBody: object, rspCode: number ) { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/modules/setup/${module}`) .auth(user, ml.securityCommon.getPasswordForUser(user)) .set(COMMON_REQUEST_HEADERS) - .send(rqBody) - .expect(rspCode); + .send(rqBody); + ml.api.assertResponseStatusCode(rspCode, status, body); return body; } @@ -1052,6 +1052,7 @@ export default ({ getService }: FtrProviderContext) => { await ml.api.deleteAnomalyDetectionJobES(job.jobId); } await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle(testData.indexPattern.name); }); it(testData.testTitleSuffix, async () => { @@ -1194,6 +1195,9 @@ export default ({ getService }: FtrProviderContext) => { after(async () => { await ml.api.cleanMlIndices(); + if (testData.hasOwnProperty('indexPattern')) { + await ml.testResources.deleteIndexPatternByTitle(testData.indexPattern!.name); + } }); it(testData.testTitleSuffix, async () => { diff --git a/x-pack/test/api_integration/apis/ml/results/get_anomalies_table_data.ts b/x-pack/test/api_integration/apis/ml/results/get_anomalies_table_data.ts index 9596cf7ab7d9b..d062b1880e1bf 100644 --- a/x-pack/test/api_integration/apis/ml/results/get_anomalies_table_data.ts +++ b/x-pack/test/api_integration/apis/ml/results/get_anomalies_table_data.ts @@ -72,12 +72,12 @@ export default ({ getService }: FtrProviderContext) => { maxRecords: 500, }; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/results/anomalies_table_data`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(200); + .send(requestBody); + ml.api.assertResponseStatusCode(200, status, body); expect(body.interval).to.eql('hour'); expect(body.anomalies.length).to.eql(13); @@ -97,12 +97,12 @@ export default ({ getService }: FtrProviderContext) => { maxRecords: 500, }; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/results/anomalies_table_data`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(400); + .send(requestBody); + ml.api.assertResponseStatusCode(400, status, body); expect(body.error).to.eql('Bad Request'); expect(body.message).to.eql( @@ -122,12 +122,12 @@ export default ({ getService }: FtrProviderContext) => { dateFormatTz: 'UTC', maxRecords: 500, }; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/results/anomalies_table_data`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(403); + .send(requestBody); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.eql('Forbidden'); expect(body.message).to.eql('Forbidden'); diff --git a/x-pack/test/api_integration/apis/ml/results/get_categorizer_stats.ts b/x-pack/test/api_integration/apis/ml/results/get_categorizer_stats.ts index 5555d4a91cd1a..c63729cd7ac96 100644 --- a/x-pack/test/api_integration/apis/ml/results/get_categorizer_stats.ts +++ b/x-pack/test/api_integration/apis/ml/results/get_categorizer_stats.ts @@ -65,11 +65,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should fetch all the categorizer stats for job id', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/results/${jobId}/categorizer_stats`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); body.forEach((doc: AnomalyCategorizerStatsDoc) => { expect(doc.job_id).to.eql(jobId); @@ -80,11 +80,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('should fetch categorizer stats for job id for user with view permission', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/results/${jobId}/categorizer_stats`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); body.forEach((doc: AnomalyCategorizerStatsDoc) => { expect(doc.job_id).to.eql(jobId); @@ -95,23 +95,24 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not fetch categorizer stats for job id for unauthorized user', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/results/${jobId}/categorizer_stats`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.be('Forbidden'); expect(body.message).to.be('Forbidden'); }); it('should fetch all the categorizer stats with per-partition value for job id', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/results/${jobId}/categorizer_stats`) .query({ partitionByValue: 'sample_web_logs' }) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); + body.forEach((doc: AnomalyCategorizerStatsDoc) => { expect(doc.job_id).to.eql(jobId); expect(doc.result_type).to.eql('categorizer_stats'); @@ -121,12 +122,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('should fetch categorizer stats with per-partition value for user with view permission', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/results/${jobId}/categorizer_stats`) .query({ partitionByValue: 'sample_web_logs' }) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); body.forEach((doc: AnomalyCategorizerStatsDoc) => { expect(doc.job_id).to.eql(jobId); @@ -137,12 +138,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('should not fetch categorizer stats with per-partition value for unauthorized user', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/results/${jobId}/categorizer_stats`) .query({ partitionByValue: 'sample_web_logs' }) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.be('Forbidden'); expect(body.message).to.be('Forbidden'); diff --git a/x-pack/test/api_integration/apis/ml/results/get_stopped_partitions.ts b/x-pack/test/api_integration/apis/ml/results/get_stopped_partitions.ts index d33062af07b68..2ce6e8da49797 100644 --- a/x-pack/test/api_integration/apis/ml/results/get_stopped_partitions.ts +++ b/x-pack/test/api_integration/apis/ml/results/get_stopped_partitions.ts @@ -102,12 +102,13 @@ export default ({ getService }: FtrProviderContext) => { it('should fetch all the stopped partitions correctly', async () => { const { jobId } = testSetUps[0]; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/results/category_stopped_partitions`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .send({ jobIds: [jobId] }) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); + expect(body.jobs).to.not.be(undefined); expect(body.jobs[jobId]).to.be.an('array'); expect(body.jobs[jobId].length).to.be.greaterThan(0); @@ -115,24 +116,25 @@ export default ({ getService }: FtrProviderContext) => { it('should not return jobId in response if stopped_on_warn is false', async () => { const { jobId } = testSetUps[1]; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/results/category_stopped_partitions`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .send({ jobIds: [jobId] }) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); + expect(body.jobs).to.not.be(undefined); expect(body.jobs).to.not.have.property(jobId); }); it('should fetch stopped partitions for user with view permission', async () => { const { jobId } = testSetUps[2]; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/results/category_stopped_partitions`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) .send({ jobIds: [jobId] }) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.jobs).to.not.be(undefined); expect(body.jobs[jobId]).to.be.an('array'); @@ -142,24 +144,25 @@ export default ({ getService }: FtrProviderContext) => { it('should not fetch stopped partitions for unauthorized user', async () => { const { jobId } = testSetUps[3]; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/results/category_stopped_partitions`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) .send({ jobIds: [jobId] }) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); expect(body.error).to.be('Forbidden'); expect(body.message).to.be('Forbidden'); }); it('should fetch stopped partitions for multiple job ids', async () => { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/results/category_stopped_partitions`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .send({ jobIds: testJobIds }) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); + expect(body.jobs).to.not.be(undefined); expect(body.jobs).to.not.have.property(testSetUps[1].jobId); @@ -171,12 +174,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('should return array of jobIds with stopped_partitions for multiple job ids when bucketed by job_id', async () => { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/results/category_stopped_partitions`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) .send({ jobIds: testJobIds, fieldToBucket: 'job_id' }) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.jobs).to.not.be(undefined); body.jobs.forEach((currentJobId: string) => { diff --git a/x-pack/test/api_integration/apis/ml/saved_objects/can_delete_job.ts b/x-pack/test/api_integration/apis/ml/saved_objects/can_delete_job.ts index 19d50474fcc73..8218b9cd84a94 100644 --- a/x-pack/test/api_integration/apis/ml/saved_objects/can_delete_job.ts +++ b/x-pack/test/api_integration/apis/ml/saved_objects/can_delete_job.ts @@ -29,12 +29,13 @@ export default ({ getService }: FtrProviderContext) => { expectedStatusCode: number, space?: string ) { - const { body } = await supertest + const { body, status } = await supertest .post(`${space ? `/s/${space}` : ''}/api/ml/saved_objects/can_delete_job/${jobType}`) .auth(user, ml.securityCommon.getPasswordForUser(user)) .set(COMMON_REQUEST_HEADERS) - .send({ jobIds }) - .expect(expectedStatusCode); + .send({ jobIds }); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); + return body; } diff --git a/x-pack/test/api_integration/apis/ml/saved_objects/initialize.ts b/x-pack/test/api_integration/apis/ml/saved_objects/initialize.ts index 1684a9c5465bf..8109575f176cb 100644 --- a/x-pack/test/api_integration/apis/ml/saved_objects/initialize.ts +++ b/x-pack/test/api_integration/apis/ml/saved_objects/initialize.ts @@ -21,11 +21,11 @@ export default ({ getService }: FtrProviderContext) => { const dfaJobId = 'ihp_od'; async function runRequest(user: USER, expectedStatusCode: number) { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/saved_objects/initialize`) .auth(user, ml.securityCommon.getPasswordForUser(user)) - .set(COMMON_REQUEST_HEADERS) - .expect(expectedStatusCode); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/saved_objects/jobs_spaces.ts b/x-pack/test/api_integration/apis/ml/saved_objects/jobs_spaces.ts index 9dbf6657cd593..2aa2c7e13c4ab 100644 --- a/x-pack/test/api_integration/apis/ml/saved_objects/jobs_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/saved_objects/jobs_spaces.ts @@ -24,11 +24,11 @@ export default ({ getService }: FtrProviderContext) => { const idSpace2 = 'space2'; async function runRequest(expectedStatusCode: number, user: USER) { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/saved_objects/jobs_spaces`) .auth(user, ml.securityCommon.getPasswordForUser(user)) - .set(COMMON_REQUEST_HEADERS) - .expect(expectedStatusCode); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/saved_objects/status.ts b/x-pack/test/api_integration/apis/ml/saved_objects/status.ts index 41c94e3b46683..ec5429193dd3f 100644 --- a/x-pack/test/api_integration/apis/ml/saved_objects/status.ts +++ b/x-pack/test/api_integration/apis/ml/saved_objects/status.ts @@ -26,14 +26,14 @@ export default ({ getService }: FtrProviderContext) => { const idSpace2 = 'space2'; async function runRequest(expectedStatusCode: number) { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/saved_objects/status`) .auth( USER.ML_VIEWER_ALL_SPACES, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER_ALL_SPACES) ) - .set(COMMON_REQUEST_HEADERS) - .expect(expectedStatusCode); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/saved_objects/sync.ts b/x-pack/test/api_integration/apis/ml/saved_objects/sync.ts index 4038c03f4d953..95b486e9a6ff3 100644 --- a/x-pack/test/api_integration/apis/ml/saved_objects/sync.ts +++ b/x-pack/test/api_integration/apis/ml/saved_objects/sync.ts @@ -24,22 +24,22 @@ export default ({ getService }: FtrProviderContext) => { const idSpace1 = 'space1'; async function runSyncRequest(user: USER, expectedStatusCode: number) { - const { body } = await supertest + const { body, status } = await supertest .get(`/s/${idSpace1}/api/ml/saved_objects/sync`) .auth(user, ml.securityCommon.getPasswordForUser(user)) - .set(COMMON_REQUEST_HEADERS) - .expect(expectedStatusCode); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } async function runSyncCheckRequest(user: USER, jobType: JobType, expectedStatusCode: number) { - const { body } = await supertest + const { body, status } = await supertest .post(`/s/${idSpace1}/api/ml/saved_objects/sync_check`) .auth(user, ml.securityCommon.getPasswordForUser(user)) .set(COMMON_REQUEST_HEADERS) - .send({ jobType }) - .expect(expectedStatusCode); + .send({ jobType }); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/saved_objects/update_jobs_spaces.ts b/x-pack/test/api_integration/apis/ml/saved_objects/update_jobs_spaces.ts index f326a3049e921..79e48034be169 100644 --- a/x-pack/test/api_integration/apis/ml/saved_objects/update_jobs_spaces.ts +++ b/x-pack/test/api_integration/apis/ml/saved_objects/update_jobs_spaces.ts @@ -33,12 +33,12 @@ export default ({ getService }: FtrProviderContext) => { expectedStatusCode: number, user: USER ) { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/ml/saved_objects/update_jobs_spaces`) .auth(user, ml.securityCommon.getPasswordForUser(user)) .set(COMMON_REQUEST_HEADERS) - .send(requestBody) - .expect(expectedStatusCode); + .send(requestBody); + ml.api.assertResponseStatusCode(expectedStatusCode, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/system/capabilities.ts b/x-pack/test/api_integration/apis/ml/system/capabilities.ts index 4eb040d031c2e..d089392693baa 100644 --- a/x-pack/test/api_integration/apis/ml/system/capabilities.ts +++ b/x-pack/test/api_integration/apis/ml/system/capabilities.ts @@ -17,11 +17,11 @@ export default ({ getService }: FtrProviderContext) => { const ml = getService('ml'); async function runRequest(user: USER): Promise { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/ml_capabilities`) .auth(user, ml.securityCommon.getPasswordForUser(user)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/system/space_capabilities.ts b/x-pack/test/api_integration/apis/ml/system/space_capabilities.ts index 6d6a00e882689..88aa876fe4cf1 100644 --- a/x-pack/test/api_integration/apis/ml/system/space_capabilities.ts +++ b/x-pack/test/api_integration/apis/ml/system/space_capabilities.ts @@ -21,11 +21,11 @@ export default ({ getService }: FtrProviderContext) => { const ml = getService('ml'); async function runRequest(user: USER, space?: string): Promise { - const { body } = await supertest + const { body, status } = await supertest .get(`${space ? `/s/${space}` : ''}/api/ml/ml_capabilities`) .auth(user, ml.securityCommon.getPasswordForUser(user)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); return body; } diff --git a/x-pack/test/api_integration/apis/ml/trained_models/delete_model.ts b/x-pack/test/api_integration/apis/ml/trained_models/delete_model.ts index 7124a9566c710..4c41c7de88add 100644 --- a/x-pack/test/api_integration/apis/ml/trained_models/delete_model.ts +++ b/x-pack/test/api_integration/apis/ml/trained_models/delete_model.ts @@ -25,43 +25,43 @@ export default ({ getService }: FtrProviderContext) => { }); it('deletes trained model by id', async () => { - const { body: deleteResponseBody } = await supertest + const { body: deleteResponseBody, status: deleteResponseStatus } = await supertest .delete(`/api/ml/trained_models/dfa_regression_model_n_0`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, deleteResponseStatus, deleteResponseBody); expect(deleteResponseBody).to.eql({ acknowledged: true }); // verify that model is actually deleted - await supertest + const { body, status } = await supertest .get(`/api/ml/trained_models/dfa_regression_model_n_0`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(404); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(404, status, body); }); it('returns 404 if requested trained model does not exist', async () => { - await supertest + const { body, status } = await supertest .delete(`/api/ml/trained_models/not_existing_model`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(404); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(404, status, body); }); it('does not allow to delete trained model if the user does not have required permissions', async () => { - await supertest + const { body: deleteResponseBody, status: deleteResponseStatus } = await supertest .delete(`/api/ml/trained_models/dfa_regression_model_n_1`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, deleteResponseStatus, deleteResponseBody); // verify that model has not been deleted - await supertest + const { body, status } = await supertest .get(`/api/ml/trained_models/dfa_regression_model_n_1`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); }); }); }; diff --git a/x-pack/test/api_integration/apis/ml/trained_models/get_model_pipelines.ts b/x-pack/test/api_integration/apis/ml/trained_models/get_model_pipelines.ts index 9600972e3e8be..27859d850e119 100644 --- a/x-pack/test/api_integration/apis/ml/trained_models/get_model_pipelines.ts +++ b/x-pack/test/api_integration/apis/ml/trained_models/get_model_pipelines.ts @@ -29,11 +29,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('returns trained model pipelines by id', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/trained_models/dfa_regression_model_n_0/pipelines`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.length).to.eql(1); expect(body[0].model_id).to.eql('dfa_regression_model_n_0'); @@ -41,11 +41,11 @@ export default ({ getService }: FtrProviderContext) => { }); it('returns an error in case user does not have required permission', async () => { - await supertest + const { body, status } = await supertest .get(`/api/ml/trained_models/dfa_regression_model_n_0/pipelines`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); }); }); }; diff --git a/x-pack/test/api_integration/apis/ml/trained_models/get_model_stats.ts b/x-pack/test/api_integration/apis/ml/trained_models/get_model_stats.ts index 48040959f0e4b..ea5e49619032b 100644 --- a/x-pack/test/api_integration/apis/ml/trained_models/get_model_stats.ts +++ b/x-pack/test/api_integration/apis/ml/trained_models/get_model_stats.ts @@ -25,30 +25,30 @@ export default ({ getService }: FtrProviderContext) => { }); it('returns trained model stats by id', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/trained_models/dfa_regression_model_n_0/_stats`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); expect(body.count).to.eql(1); expect(body.trained_model_stats[0].model_id).to.eql('dfa_regression_model_n_0'); }); it('returns 404 if requested trained model does not exist', async () => { - await supertest + const { body, status } = await supertest .get(`/api/ml/trained_models/not_existing_model/_stats`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(404); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(404, status, body); }); it('returns an error for unauthorized user', async () => { - await supertest + const { body, status } = await supertest .get(`/api/ml/trained_models/dfa_regression_model_n_0/_stats`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); }); }); }; diff --git a/x-pack/test/api_integration/apis/ml/trained_models/get_models.ts b/x-pack/test/api_integration/apis/ml/trained_models/get_models.ts index ec33ef316828c..86a65295833ae 100644 --- a/x-pack/test/api_integration/apis/ml/trained_models/get_models.ts +++ b/x-pack/test/api_integration/apis/ml/trained_models/get_models.ts @@ -35,11 +35,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('returns all trained models with associated pipelines including aliases', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/trained_models?with_pipelines=true`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); + // Created models + system model expect(body.length).to.eql(6); @@ -48,11 +49,12 @@ export default ({ getService }: FtrProviderContext) => { }); it('returns models without pipeline in case user does not have required permission', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/trained_models?with_pipelines=true`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); + // Created models + system model expect(body.length).to.eql(6); const sampleModel = body.find((v: any) => v.model_id === 'dfa_regression_model_n_0'); @@ -60,29 +62,30 @@ export default ({ getService }: FtrProviderContext) => { }); it('returns trained model by id', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/ml/trained_models/dfa_regression_model_n_1`) .auth(USER.ML_VIEWER, ml.securityCommon.getPasswordForUser(USER.ML_VIEWER)) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(200, status, body); + expect(body.length).to.eql(1); expect(body[0].model_id).to.eql('dfa_regression_model_n_1'); }); it('returns 404 if requested trained model does not exist', async () => { - await supertest + const { body, status } = await supertest .get(`/api/ml/trained_models/not_existing_model`) .auth(USER.ML_POWERUSER, ml.securityCommon.getPasswordForUser(USER.ML_POWERUSER)) - .set(COMMON_REQUEST_HEADERS) - .expect(404); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(404, status, body); }); it('returns an error for unauthorized user', async () => { - await supertest + const { body, status } = await supertest .get(`/api/ml/trained_models/dfa_regression_model_n_1`) .auth(USER.ML_UNAUTHORIZED, ml.securityCommon.getPasswordForUser(USER.ML_UNAUTHORIZED)) - .set(COMMON_REQUEST_HEADERS) - .expect(403); + .set(COMMON_REQUEST_HEADERS); + ml.api.assertResponseStatusCode(403, status, body); }); }); }; diff --git a/x-pack/test/api_integration/apis/monitoring/apm/overview.js b/x-pack/test/api_integration/apis/monitoring/apm/overview.js index b58e8f151b795..afa8d55f28adc 100644 --- a/x-pack/test/api_integration/apis/monitoring/apm/overview.js +++ b/x-pack/test/api_integration/apis/monitoring/apm/overview.js @@ -12,7 +12,10 @@ export default function ({ getService }) { const supertest = getService('supertest'); const esArchiver = getService('esArchiver'); - describe('overview', () => { + describe('overview', function () { + // Archive contains non-cgroup data which collides with the in-cgroup APM server present by default on cloud deployments + this.tags(['skipCloud']); + const archive = 'x-pack/test/functional/es_archives/monitoring/apm'; const timeRange = { min: '2018-08-31T12:59:49.104Z', diff --git a/x-pack/test/api_integration/apis/monitoring/apm/overview_mb.js b/x-pack/test/api_integration/apis/monitoring/apm/overview_mb.js index 18cf7e17b760e..734b493caeec5 100644 --- a/x-pack/test/api_integration/apis/monitoring/apm/overview_mb.js +++ b/x-pack/test/api_integration/apis/monitoring/apm/overview_mb.js @@ -12,7 +12,10 @@ export default function ({ getService }) { const supertest = getService('supertest'); const esArchiver = getService('esArchiver'); - describe('overview mb', () => { + describe('overview mb', function () { + // Archive contains non-cgroup data which collides with the in-cgroup APM server present by default on cloud deployments + this.tags(['skipCloud']); + const archive = 'x-pack/test/functional/es_archives/monitoring/apm_mb'; const timeRange = { min: '2018-08-31T12:59:49.104Z', diff --git a/x-pack/test/api_integration/apis/search/search.ts b/x-pack/test/api_integration/apis/search/search.ts index 45e8933bf715f..6c131d88ccdc3 100644 --- a/x-pack/test/api_integration/apis/search/search.ts +++ b/x-pack/test/api_integration/apis/search/search.ts @@ -6,17 +6,53 @@ */ import expect from '@kbn/expect'; +import type { Context } from 'mocha'; import { FtrProviderContext } from '../../ftr_provider_context'; import { verifyErrorResponse } from '../../../../../test/api_integration/apis/search/verify_error'; export default function ({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const esArchiver = getService('esArchiver'); + const es = getService('es'); + const log = getService('log'); + const retry = getService('retry'); + + const shardDelayAgg = (delay: string) => ({ + aggs: { + delay: { + shard_delay: { + value: delay, + }, + }, + }, + }); + + async function markRequiresShardDelayAgg(testContext: Context) { + const { body } = await es.info(); + if (!body.version.number.includes('SNAPSHOT')) { + log.debug('Skipping because this build does not have the required shard_delay agg'); + testContext.skip(); + } + } describe('search', () => { - // https://github.com/elastic/kibana/issues/113082 - describe.skip('post', () => { - it('should return 200 with final response if wait_for_completion_timeout is long enough', async () => { + before(async () => { + // ensure es not empty + await es.index({ + index: 'search-api-test', + id: 'search-api-test-doc', + body: { message: 'test doc' }, + refresh: 'wait_for', + }); + }); + after(async () => { + await es.indices.delete({ + index: 'search-api-test', + }); + }); + + describe('post', () => { + it('should return 200 with final response without search id if wait_for_completion_timeout is long enough', async function () { const resp = await supertest .post(`/internal/search/ese`) .set('kbn-xsrf', 'foo') @@ -27,7 +63,7 @@ export default function ({ getService }: FtrProviderContext) { match_all: {}, }, }, - wait_for_completion_timeout: '1000s', + wait_for_completion_timeout: '10s', }, }) .expect(200); @@ -39,7 +75,9 @@ export default function ({ getService }: FtrProviderContext) { expect(resp.body).to.have.property('rawResponse'); }); - it('should return 200 with partial response if wait_for_completion_timeout is not long enough', async () => { + it('should return 200 with search id and partial response if wait_for_completion_timeout is not long enough', async function () { + await markRequiresShardDelayAgg(this); + const resp = await supertest .post(`/internal/search/ese`) .set('kbn-xsrf', 'foo') @@ -49,6 +87,7 @@ export default function ({ getService }: FtrProviderContext) { query: { match_all: {}, }, + ...shardDelayAgg('3s'), }, wait_for_completion_timeout: '1ms', }, @@ -62,7 +101,9 @@ export default function ({ getService }: FtrProviderContext) { expect(resp.body).to.have.property('rawResponse'); }); - it('should retrieve results with id', async () => { + it('should retrieve results from completed search with search id', async function () { + await markRequiresShardDelayAgg(this); + const resp = await supertest .post(`/internal/search/ese`) .set('kbn-xsrf', 'foo') @@ -72,6 +113,7 @@ export default function ({ getService }: FtrProviderContext) { query: { match_all: {}, }, + ...shardDelayAgg('3s'), }, wait_for_completion_timeout: '1ms', }, @@ -79,8 +121,50 @@ export default function ({ getService }: FtrProviderContext) { .expect(200); const { id } = resp.body; + expect(id).not.to.be(undefined); + expect(resp.body.isPartial).to.be(true); + expect(resp.body.isRunning).to.be(true); + + await new Promise((resolve) => setTimeout(resolve, 3000)); + + await retry.tryForTime(10000, async () => { + const resp2 = await supertest + .post(`/internal/search/ese/${id}`) + .set('kbn-xsrf', 'foo') + .send({}) + .expect(200); + + expect(resp2.body.id).not.to.be(undefined); + expect(resp2.body.isPartial).to.be(false); + expect(resp2.body.isRunning).to.be(false); - await new Promise((resolve) => setTimeout(resolve, 2000)); + return true; + }); + }); + + it('should retrieve results from in-progress search with search id', async function () { + await markRequiresShardDelayAgg(this); + + const resp = await supertest + .post(`/internal/search/ese`) + .set('kbn-xsrf', 'foo') + .send({ + params: { + body: { + query: { + match_all: {}, + }, + ...shardDelayAgg('10s'), + }, + wait_for_completion_timeout: '1ms', + }, + }) + .expect(200); + + const { id } = resp.body; + expect(id).not.to.be(undefined); + expect(resp.body.isPartial).to.be(true); + expect(resp.body.isRunning).to.be(true); const resp2 = await supertest .post(`/internal/search/ese/${id}`) @@ -89,8 +173,8 @@ export default function ({ getService }: FtrProviderContext) { .expect(200); expect(resp2.body.id).not.to.be(undefined); - expect(resp2.body.isPartial).to.be(false); - expect(resp2.body.isRunning).to.be(false); + expect(resp2.body.isPartial).to.be(true); + expect(resp2.body.isRunning).to.be(true); }); it('should fail without kbn-xref header', async () => { @@ -147,7 +231,7 @@ export default function ({ getService }: FtrProviderContext) { verifyErrorResponse(resp.body, 400, 'illegal_argument_exception', true); }); - it('should return 404 if unkown id is provided', async () => { + it('should return 404 if unknown id is provided', async () => { const resp = await supertest .post( `/internal/search/ese/FkxOb21iV1g2VGR1S2QzaWVtRU9fMVEbc3JWeWc1VHlUdDZ6MENxcXlYVG1Fdzo2NDg4` @@ -264,7 +348,47 @@ export default function ({ getService }: FtrProviderContext) { verifyErrorResponse(resp.body, 400, 'illegal_argument_exception', true); }); - it('should delete a search', async () => { + it('should delete an in-progress search', async function () { + await markRequiresShardDelayAgg(this); + + const resp = await supertest + .post(`/internal/search/ese`) + .set('kbn-xsrf', 'foo') + .send({ + params: { + body: { + query: { + match_all: {}, + }, + ...shardDelayAgg('10s'), + }, + wait_for_completion_timeout: '1ms', + }, + }) + .expect(200); + + const { id } = resp.body; + expect(id).not.to.be(undefined); + expect(resp.body.isPartial).to.be(true); + expect(resp.body.isRunning).to.be(true); + + await supertest + .delete(`/internal/search/ese/${id}`) + .set('kbn-xsrf', 'foo') + .send() + .expect(200); + + // try to re-fetch + await supertest + .post(`/internal/search/ese/${id}`) + .set('kbn-xsrf', 'foo') + .send({}) + .expect(404); + }); + + it('should delete a completed search', async function () { + await markRequiresShardDelayAgg(this); + const resp = await supertest .post(`/internal/search/ese`) .set('kbn-xsrf', 'foo') @@ -274,6 +398,7 @@ export default function ({ getService }: FtrProviderContext) { query: { match_all: {}, }, + ...shardDelayAgg('3s'), }, wait_for_completion_timeout: '1ms', }, @@ -281,6 +406,26 @@ export default function ({ getService }: FtrProviderContext) { .expect(200); const { id } = resp.body; + expect(id).not.to.be(undefined); + expect(resp.body.isPartial).to.be(true); + expect(resp.body.isRunning).to.be(true); + + await new Promise((resolve) => setTimeout(resolve, 3000)); + + await retry.tryForTime(10000, async () => { + const resp2 = await supertest + .post(`/internal/search/ese/${id}`) + .set('kbn-xsrf', 'foo') + .send({}) + .expect(200); + + expect(resp2.body.id).not.to.be(undefined); + expect(resp2.body.isPartial).to.be(false); + expect(resp2.body.isRunning).to.be(false); + + return true; + }); + await supertest .delete(`/internal/search/ese/${id}`) .set('kbn-xsrf', 'foo') diff --git a/x-pack/test/api_integration/apis/security_solution/timeline_details.ts b/x-pack/test/api_integration/apis/security_solution/timeline_details.ts index 49124bca42ffe..9d2ff8bd5c0a1 100644 --- a/x-pack/test/api_integration/apis/security_solution/timeline_details.ts +++ b/x-pack/test/api_integration/apis/security_solution/timeline_details.ts @@ -682,6 +682,7 @@ export default function ({ getService }: FtrProviderContext) { const esArchiver = getService('esArchiver'); const supertest = getService('supertest'); const bsearch = getService('bsearch'); + const esVersion = getService('esVersion'); describe('Timeline Details', () => { before( @@ -703,7 +704,12 @@ export default function ({ getService }: FtrProviderContext) { }, strategy: 'timelineSearchStrategy', }); - expect(sortBy(detailsData, 'field')).to.eql(sortBy(EXPECTED_DATA, 'field')); + + const expectedData = esVersion.matchRange('>=8') + ? sortBy(EXPECTED_DATA, 'field').filter((f) => f.field !== '_type') + : sortBy(EXPECTED_DATA, 'field'); + + expect(sortBy(detailsData, 'field')).to.eql(expectedData); }); it('Make sure that we get kpi data', async () => { diff --git a/x-pack/test/api_integration/apis/telemetry/telemetry.ts b/x-pack/test/api_integration/apis/telemetry/telemetry.ts index fb0d56f7d7532..7060f947c7e0c 100644 --- a/x-pack/test/api_integration/apis/telemetry/telemetry.ts +++ b/x-pack/test/api_integration/apis/telemetry/telemetry.ts @@ -50,44 +50,24 @@ function updateMonitoringDates( toTimestamp: string, timestamp: string ) { - return Promise.all([ - esSupertest - .post('/.monitoring-es-*/_update_by_query?refresh=true') - .send({ - query: { - range: { - timestamp: { - format: 'epoch_millis', - gte: moment(fromTimestamp).valueOf(), - lte: moment(toTimestamp).valueOf(), - }, + return esSupertest + .post('/.monitoring-*/_update_by_query?refresh=true') + .send({ + query: { + range: { + timestamp: { + format: 'epoch_millis', + gte: moment(fromTimestamp).valueOf(), + lte: moment(toTimestamp).valueOf(), }, }, - script: { - source: `ctx._source.timestamp='${timestamp}'`, - lang: 'painless', - }, - }) - .expect(200), - esSupertest - .post('/.monitoring-kibana-*/_update_by_query?refresh=true') - .send({ - query: { - range: { - timestamp: { - format: 'epoch_millis', - gte: moment(fromTimestamp).valueOf(), - lte: moment(toTimestamp).valueOf(), - }, - }, - }, - script: { - source: `ctx._source.timestamp='${timestamp}'`, - lang: 'painless', - }, - }) - .expect(200), - ]); + }, + script: { + source: `ctx._source.timestamp='${timestamp}'`, + lang: 'painless', + }, + }) + .expect(200); } export default function ({ getService }: FtrProviderContext) { diff --git a/x-pack/test/api_integration/apis/transform/delete_transforms.ts b/x-pack/test/api_integration/apis/transform/delete_transforms.ts index 5dfc318571e9a..b823c46509a63 100644 --- a/x-pack/test/api_integration/apis/transform/delete_transforms.ts +++ b/x-pack/test/api_integration/apis/transform/delete_transforms.ts @@ -54,15 +54,15 @@ export default ({ getService }: FtrProviderContext) => { const reqBody: DeleteTransformsRequestSchema = { transformsInfo: [{ id: transformId, state: TRANSFORM_STATE.STOPPED }], }; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/delete_transforms`) .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send(reqBody) - .expect(200); + .send(reqBody); + transform.api.assertResponseStatusCode(200, status, body); expect(body[transformId].transformDeleted.success).to.eql(true); expect(body[transformId].destIndexDeleted.success).to.eql(false); @@ -75,15 +75,16 @@ export default ({ getService }: FtrProviderContext) => { const reqBody: DeleteTransformsRequestSchema = { transformsInfo: [{ id: transformId, state: TRANSFORM_STATE.STOPPED }], }; - await supertest + const { body, status } = await supertest .post(`/api/transform/delete_transforms`) .auth( USER.TRANSFORM_VIEWER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_VIEWER) ) .set(COMMON_REQUEST_HEADERS) - .send(reqBody) - .expect(403); + .send(reqBody); + transform.api.assertResponseStatusCode(403, status, body); + await transform.api.waitForTransformToExist(transformId); await transform.api.waitForIndicesToExist(destinationIndex); }); @@ -94,15 +95,16 @@ export default ({ getService }: FtrProviderContext) => { const reqBody: DeleteTransformsRequestSchema = { transformsInfo: [{ id: 'invalid_transform_id', state: TRANSFORM_STATE.STOPPED }], }; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/delete_transforms`) .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send(reqBody) - .expect(200); + .send(reqBody); + transform.api.assertResponseStatusCode(200, status, body); + expect(body.invalid_transform_id.transformDeleted.success).to.eql(false); expect(body.invalid_transform_id.transformDeleted).to.have.property('error'); }); @@ -131,15 +133,15 @@ export default ({ getService }: FtrProviderContext) => { }); it('should delete multiple transforms by transformIds', async () => { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/delete_transforms`) .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send(reqBody) - .expect(200); + .send(reqBody); + transform.api.assertResponseStatusCode(200, status, body); await asyncForEach( reqBody.transformsInfo, @@ -155,7 +157,7 @@ export default ({ getService }: FtrProviderContext) => { it('should delete multiple transforms by transformIds, even if one of the transformIds is invalid', async () => { const invalidTransformId = 'invalid_transform_id'; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/delete_transforms`) .auth( USER.TRANSFORM_POWERUSER, @@ -168,8 +170,8 @@ export default ({ getService }: FtrProviderContext) => { ...reqBody.transformsInfo, { id: invalidTransformId, state: TRANSFORM_STATE.STOPPED }, ], - }) - .expect(200); + }); + transform.api.assertResponseStatusCode(200, status, body); await asyncForEach( reqBody.transformsInfo, @@ -205,15 +207,15 @@ export default ({ getService }: FtrProviderContext) => { transformsInfo: [{ id: transformId, state: TRANSFORM_STATE.STOPPED }], deleteDestIndex: true, }; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/delete_transforms`) .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send(reqBody) - .expect(200); + .send(reqBody); + transform.api.assertResponseStatusCode(200, status, body); expect(body[transformId].transformDeleted.success).to.eql(true); expect(body[transformId].destIndexDeleted.success).to.eql(true); @@ -244,15 +246,15 @@ export default ({ getService }: FtrProviderContext) => { deleteDestIndex: false, deleteDestIndexPattern: true, }; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/delete_transforms`) .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send(reqBody) - .expect(200); + .send(reqBody); + transform.api.assertResponseStatusCode(200, status, body); expect(body[transformId].transformDeleted.success).to.eql(true); expect(body[transformId].destIndexDeleted.success).to.eql(false); @@ -284,15 +286,15 @@ export default ({ getService }: FtrProviderContext) => { deleteDestIndex: true, deleteDestIndexPattern: true, }; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/delete_transforms`) .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send(reqBody) - .expect(200); + .send(reqBody); + transform.api.assertResponseStatusCode(200, status, body); expect(body[transformId].transformDeleted.success).to.eql(true); expect(body[transformId].destIndexDeleted.success).to.eql(true); diff --git a/x-pack/test/api_integration/apis/transform/start_transforms.ts b/x-pack/test/api_integration/apis/transform/start_transforms.ts index 5abfa92bd5d9b..07a7f6715305a 100644 --- a/x-pack/test/api_integration/apis/transform/start_transforms.ts +++ b/x-pack/test/api_integration/apis/transform/start_transforms.ts @@ -48,15 +48,15 @@ export default ({ getService }: FtrProviderContext) => { it('should start the transform by transformId', async () => { const reqBody: StartTransformsRequestSchema = [{ id: transformId }]; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/start_transforms`) .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send(reqBody) - .expect(200); + .send(reqBody); + transform.api.assertResponseStatusCode(200, status, body); expect(body[transformId].success).to.eql(true); expect(typeof body[transformId].error).to.eql('undefined'); @@ -66,15 +66,15 @@ export default ({ getService }: FtrProviderContext) => { it('should return 200 with success:false for unauthorized user', async () => { const reqBody: StartTransformsRequestSchema = [{ id: transformId }]; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/start_transforms`) .auth( USER.TRANSFORM_VIEWER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_VIEWER) ) .set(COMMON_REQUEST_HEADERS) - .send(reqBody) - .expect(200); + .send(reqBody); + transform.api.assertResponseStatusCode(200, status, body); expect(body[transformId].success).to.eql(false); expect(typeof body[transformId].error).to.eql('object'); @@ -87,15 +87,15 @@ export default ({ getService }: FtrProviderContext) => { describe('single transform start with invalid transformId', function () { it('should return 200 with error in response if invalid transformId', async () => { const reqBody: StartTransformsRequestSchema = [{ id: 'invalid_transform_id' }]; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/start_transforms`) .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send(reqBody) - .expect(200); + .send(reqBody); + transform.api.assertResponseStatusCode(200, status, body); expect(body.invalid_transform_id.success).to.eql(false); expect(body.invalid_transform_id).to.have.property('error'); @@ -123,15 +123,15 @@ export default ({ getService }: FtrProviderContext) => { }); it('should start multiple transforms by transformIds', async () => { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/start_transforms`) .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send(reqBody) - .expect(200); + .send(reqBody); + transform.api.assertResponseStatusCode(200, status, body); await asyncForEach(reqBody, async ({ id: transformId }: { id: string }, idx: number) => { expect(body[transformId].success).to.eql(true); @@ -142,15 +142,15 @@ export default ({ getService }: FtrProviderContext) => { it('should start multiple transforms by transformIds, even if one of the transformIds is invalid', async () => { const invalidTransformId = 'invalid_transform_id'; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/start_transforms`) .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send([{ id: reqBody[0].id }, { id: invalidTransformId }, { id: reqBody[1].id }]) - .expect(200); + .send([{ id: reqBody[0].id }, { id: invalidTransformId }, { id: reqBody[1].id }]); + transform.api.assertResponseStatusCode(200, status, body); await asyncForEach(reqBody, async ({ id: transformId }: { id: string }, idx: number) => { expect(body[transformId].success).to.eql(true); diff --git a/x-pack/test/api_integration/apis/transform/stop_transforms.ts b/x-pack/test/api_integration/apis/transform/stop_transforms.ts index 295c6cea7f595..af07dec07e547 100644 --- a/x-pack/test/api_integration/apis/transform/stop_transforms.ts +++ b/x-pack/test/api_integration/apis/transform/stop_transforms.ts @@ -66,15 +66,15 @@ export default ({ getService }: FtrProviderContext) => { const reqBody: StopTransformsRequestSchema = [ { id: transformId, state: TRANSFORM_STATE.STARTED }, ]; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/stop_transforms`) .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send(reqBody) - .expect(200); + .send(reqBody); + transform.api.assertResponseStatusCode(200, status, body); expect(isStopTransformsResponseSchema(body)).to.eql(true); expect(body[transformId].success).to.eql(true); @@ -87,15 +87,15 @@ export default ({ getService }: FtrProviderContext) => { const reqBody: StopTransformsRequestSchema = [ { id: transformId, state: TRANSFORM_STATE.STARTED }, ]; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/stop_transforms`) .auth( USER.TRANSFORM_VIEWER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_VIEWER) ) .set(COMMON_REQUEST_HEADERS) - .send(reqBody) - .expect(200); + .send(reqBody); + transform.api.assertResponseStatusCode(200, status, body); expect(isStopTransformsResponseSchema(body)).to.eql(true); expect(body[transformId].success).to.eql(false); @@ -111,15 +111,15 @@ export default ({ getService }: FtrProviderContext) => { const reqBody: StopTransformsRequestSchema = [ { id: 'invalid_transform_id', state: TRANSFORM_STATE.STARTED }, ]; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/stop_transforms`) .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send(reqBody) - .expect(200); + .send(reqBody); + transform.api.assertResponseStatusCode(200, status, body); expect(isStopTransformsResponseSchema(body)).to.eql(true); expect(body.invalid_transform_id.success).to.eql(false); @@ -148,15 +148,15 @@ export default ({ getService }: FtrProviderContext) => { }); it('should stop multiple transforms by transformIds', async () => { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/stop_transforms`) .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send(reqBody) - .expect(200); + .send(reqBody); + transform.api.assertResponseStatusCode(200, status, body); expect(isStopTransformsResponseSchema(body)).to.eql(true); @@ -169,7 +169,7 @@ export default ({ getService }: FtrProviderContext) => { it('should stop multiple transforms by transformIds, even if one of the transformIds is invalid', async () => { const invalidTransformId = 'invalid_transform_id'; - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/stop_transforms`) .auth( USER.TRANSFORM_POWERUSER, @@ -180,8 +180,8 @@ export default ({ getService }: FtrProviderContext) => { { id: reqBody[0].id, state: reqBody[0].state }, { id: invalidTransformId, state: TRANSFORM_STATE.STOPPED }, { id: reqBody[1].id, state: reqBody[1].state }, - ]) - .expect(200); + ]); + transform.api.assertResponseStatusCode(200, status, body); expect(isStopTransformsResponseSchema(body)).to.eql(true); diff --git a/x-pack/test/api_integration/apis/transform/transforms.ts b/x-pack/test/api_integration/apis/transform/transforms.ts index 9993cbe0328ff..d962aa1f08eb2 100644 --- a/x-pack/test/api_integration/apis/transform/transforms.ts +++ b/x-pack/test/api_integration/apis/transform/transforms.ts @@ -94,29 +94,29 @@ export default ({ getService }: FtrProviderContext) => { describe('/transforms', function () { it('should return a list of transforms for super-user', async () => { - const { body } = await supertest + const { body, status } = await supertest .get('/api/transform/transforms') .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send() - .expect(200); + .send(); + transform.api.assertResponseStatusCode(200, status, body); assertTransformsResponseBody(body); }); it('should return a list of transforms for transform view-only user', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/transform/transforms`) .auth( USER.TRANSFORM_VIEWER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_VIEWER) ) .set(COMMON_REQUEST_HEADERS) - .send() - .expect(200); + .send(); + transform.api.assertResponseStatusCode(200, status, body); assertTransformsResponseBody(body); }); @@ -124,43 +124,43 @@ export default ({ getService }: FtrProviderContext) => { describe('/transforms/{transformId}', function () { it('should return a specific transform configuration for super-user', async () => { - const { body } = await supertest + const { body, status } = await supertest .get('/api/transform/transforms/transform-test-get-1') .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send() - .expect(200); + .send(); + transform.api.assertResponseStatusCode(200, status, body); assertSingleTransformResponseBody(body); }); it('should return a specific transform configuration transform view-only user', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/transform/transforms/transform-test-get-1`) .auth( USER.TRANSFORM_VIEWER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_VIEWER) ) .set(COMMON_REQUEST_HEADERS) - .send() - .expect(200); + .send(); + transform.api.assertResponseStatusCode(200, status, body); assertSingleTransformResponseBody(body); }); it('should report 404 for a non-existing transform', async () => { - await supertest + const { body, status } = await supertest .get('/api/transform/transforms/the-non-existing-transform') .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send() - .expect(404); + .send(); + transform.api.assertResponseStatusCode(404, status, body); }); }); }); diff --git a/x-pack/test/api_integration/apis/transform/transforms_create.ts b/x-pack/test/api_integration/apis/transform/transforms_create.ts index 46112ced0619e..512bd16969e2d 100644 --- a/x-pack/test/api_integration/apis/transform/transforms_create.ts +++ b/x-pack/test/api_integration/apis/transform/transforms_create.ts @@ -30,7 +30,7 @@ export default ({ getService }: FtrProviderContext) => { it('should not allow pivot and latest configs in same transform', async () => { const transformId = 'test_transform_id'; - const { body } = await supertest + const { body, status } = await supertest .put(`/api/transform/transforms/${transformId}`) .auth( USER.TRANSFORM_POWERUSER, @@ -43,8 +43,8 @@ export default ({ getService }: FtrProviderContext) => { unique_key: ['country', 'gender'], sort: 'infected', }, - }) - .expect(400); + }); + transform.api.assertResponseStatusCode(400, status, body); expect(body.message).to.eql('[request body]: pivot and latest are not allowed together'); }); @@ -54,15 +54,15 @@ export default ({ getService }: FtrProviderContext) => { const { pivot, ...config } = generateTransformConfig(transformId); - const { body } = await supertest + const { body, status } = await supertest .put(`/api/transform/transforms/${transformId}`) .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send(config) - .expect(400); + .send(config); + transform.api.assertResponseStatusCode(400, status, body); expect(body.message).to.eql( '[request body]: pivot or latest is required for transform configuration' diff --git a/x-pack/test/api_integration/apis/transform/transforms_nodes.ts b/x-pack/test/api_integration/apis/transform/transforms_nodes.ts index 0fc93289195d9..ef39e963f137d 100644 --- a/x-pack/test/api_integration/apis/transform/transforms_nodes.ts +++ b/x-pack/test/api_integration/apis/transform/transforms_nodes.ts @@ -32,43 +32,43 @@ export default ({ getService }: FtrProviderContext) => { describe('/api/transform/transforms/_nodes', function () { it('should return the number of available transform nodes for a power user', async () => { - const { body } = await supertest + const { body, status } = await supertest .get('/api/transform/transforms/_nodes') .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send() - .expect(200); + .send(); + transform.api.assertResponseStatusCode(200, status, body); assertTransformsNodesResponseBody(body); }); it('should return the number of available transform nodes for a viewer user', async () => { - const { body } = await supertest + const { body, status } = await supertest .get('/api/transform/transforms/_nodes') .auth( USER.TRANSFORM_VIEWER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_VIEWER) ) .set(COMMON_REQUEST_HEADERS) - .send() - .expect(200); + .send(); + transform.api.assertResponseStatusCode(200, status, body); assertTransformsNodesResponseBody(body); }); it('should not return the number of available transform nodes for an unauthorized user', async () => { - await supertest + const { body, status } = await supertest .get('/api/transform/transforms/_nodes') .auth( USER.TRANSFORM_UNAUTHORIZED, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_UNAUTHORIZED) ) .set(COMMON_REQUEST_HEADERS) - .send() - .expect(403); + .send(); + transform.api.assertResponseStatusCode(403, status, body); }); }); }; diff --git a/x-pack/test/api_integration/apis/transform/transforms_preview.ts b/x-pack/test/api_integration/apis/transform/transforms_preview.ts index 5fd75a6bb98ab..ec35f04ab817c 100644 --- a/x-pack/test/api_integration/apis/transform/transforms_preview.ts +++ b/x-pack/test/api_integration/apis/transform/transforms_preview.ts @@ -43,15 +43,15 @@ export default ({ getService }: FtrProviderContext) => { }); it('should return a transform preview', async () => { - const { body } = await supertest + const { body, status } = await supertest .post('/api/transform/transforms/_preview') .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send(getTransformPreviewConfig()) - .expect(200); + .send(getTransformPreviewConfig()); + transform.api.assertResponseStatusCode(200, status, body); expect(body.preview).to.have.length(expected.apiTransformTransformsPreview.previewItemCount); expect(typeof body.generated_dest_index).to.eql( @@ -60,7 +60,7 @@ export default ({ getService }: FtrProviderContext) => { }); it('should return a correct error for transform preview', async () => { - const { body } = await supertest + const { body, status } = await supertest .post(`/api/transform/transforms/_preview`) .auth( USER.TRANSFORM_POWERUSER, @@ -75,8 +75,8 @@ export default ({ getService }: FtrProviderContext) => { '@timestamp.value_count': { value_countt: { field: '@timestamp' } }, }, }, - }) - .expect(400); + }); + transform.api.assertResponseStatusCode(400, status, body); expect(body.message).to.contain( '[parsing_exception] Unknown aggregation type [value_countt] did you mean [value_count]?, with line=1 & col=43' @@ -84,15 +84,15 @@ export default ({ getService }: FtrProviderContext) => { }); it('should return 403 for transform view-only user', async () => { - await supertest + const { body, status } = await supertest .post(`/api/transform/transforms/_preview`) .auth( USER.TRANSFORM_VIEWER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_VIEWER) ) .set(COMMON_REQUEST_HEADERS) - .send(getTransformPreviewConfig()) - .expect(403); + .send(getTransformPreviewConfig()); + transform.api.assertResponseStatusCode(403, status, body); }); }); }; diff --git a/x-pack/test/api_integration/apis/transform/transforms_stats.ts b/x-pack/test/api_integration/apis/transform/transforms_stats.ts index 82a7d7efcc270..4d6b761a7828f 100644 --- a/x-pack/test/api_integration/apis/transform/transforms_stats.ts +++ b/x-pack/test/api_integration/apis/transform/transforms_stats.ts @@ -73,29 +73,29 @@ export default ({ getService }: FtrProviderContext) => { }); it('should return a list of transforms statistics for super-user', async () => { - const { body } = await supertest + const { body, status } = await supertest .get('/api/transform/transforms/_stats') .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send() - .expect(200); + .send(); + transform.api.assertResponseStatusCode(200, status, body); assertTransformsStatsResponseBody(body); }); it('should return a list of transforms statistics view-only user', async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/transform/transforms/_stats`) .auth( USER.TRANSFORM_VIEWER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_VIEWER) ) .set(COMMON_REQUEST_HEADERS) - .send() - .expect(200); + .send(); + transform.api.assertResponseStatusCode(200, status, body); assertTransformsStatsResponseBody(body); }); diff --git a/x-pack/test/api_integration/apis/transform/transforms_update.ts b/x-pack/test/api_integration/apis/transform/transforms_update.ts index e5f1ce76a997b..f08dd282bed01 100644 --- a/x-pack/test/api_integration/apis/transform/transforms_update.ts +++ b/x-pack/test/api_integration/apis/transform/transforms_update.ts @@ -70,15 +70,15 @@ export default ({ getService }: FtrProviderContext) => { it('should update a transform', async () => { // assert the original transform for comparison - const { body: transformOriginalBody } = await supertest + const { body: transformOriginalBody, status: transformOriginalStatus } = await supertest .get('/api/transform/transforms/transform-test-update-1') .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send() - .expect(200); + .send(); + transform.api.assertResponseStatusCode(200, transformOriginalStatus, transformOriginalBody); expect(transformOriginalBody.count).to.eql(expected.transformOriginalConfig.count); expect(transformOriginalBody.transforms).to.have.length( @@ -92,15 +92,20 @@ export default ({ getService }: FtrProviderContext) => { expect(transformOriginalConfig.settings).to.eql({}); // update the transform and assert the response - const { body: transformUpdateResponseBody } = await supertest - .post('/api/transform/transforms/transform-test-update-1/_update') - .auth( - USER.TRANSFORM_POWERUSER, - transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) - ) - .set(COMMON_REQUEST_HEADERS) - .send(getTransformUpdateConfig()) - .expect(200); + const { body: transformUpdateResponseBody, status: transformUpdatedResponseStatus } = + await supertest + .post('/api/transform/transforms/transform-test-update-1/_update') + .auth( + USER.TRANSFORM_POWERUSER, + transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) + ) + .set(COMMON_REQUEST_HEADERS) + .send(getTransformUpdateConfig()); + transform.api.assertResponseStatusCode( + 200, + transformUpdatedResponseStatus, + transformUpdateResponseBody + ); const expectedUpdateConfig = getTransformUpdateConfig(); expect(transformUpdateResponseBody.id).to.eql(expected.transformOriginalConfig.id); @@ -112,15 +117,15 @@ export default ({ getService }: FtrProviderContext) => { expect(transformUpdateResponseBody.settings).to.eql({}); // assert the updated transform for comparison - const { body: transformUpdatedBody } = await supertest + const { body: transformUpdatedBody, status: transformUpdatedStatus } = await supertest .get('/api/transform/transforms/transform-test-update-1') .auth( USER.TRANSFORM_POWERUSER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_POWERUSER) ) .set(COMMON_REQUEST_HEADERS) - .send() - .expect(200); + .send(); + transform.api.assertResponseStatusCode(200, transformUpdatedStatus, transformUpdatedBody); expect(transformUpdatedBody.count).to.eql(expected.transformOriginalConfig.count); expect(transformUpdatedBody.transforms).to.have.length( @@ -138,15 +143,15 @@ export default ({ getService }: FtrProviderContext) => { }); it('should return 403 for transform view-only user', async () => { - await supertest + const { body, status } = await supertest .post('/api/transform/transforms/transform-test-update-1/_update') .auth( USER.TRANSFORM_VIEWER, transform.securityCommon.getPasswordForUser(USER.TRANSFORM_VIEWER) ) .set(COMMON_REQUEST_HEADERS) - .send(getTransformUpdateConfig()) - .expect(403); + .send(getTransformUpdateConfig()); + transform.api.assertResponseStatusCode(403, status, body); }); }); }; diff --git a/x-pack/test/api_integration/apis/upgrade_assistant/cloud_backup_status.ts b/x-pack/test/api_integration/apis/upgrade_assistant/cloud_backup_status.ts index 3259e59d2c0ac..14873420cecfc 100644 --- a/x-pack/test/api_integration/apis/upgrade_assistant/cloud_backup_status.ts +++ b/x-pack/test/api_integration/apis/upgrade_assistant/cloud_backup_status.ts @@ -55,6 +55,7 @@ export default function ({ getService }: FtrProviderContext) { describe('Cloud backup status', function () { // file system repositories are not supported in cloud this.tags(['skipCloud']); + this.onlyEsVersion('<=7'); describe('get', () => { describe('with backups present', () => { diff --git a/x-pack/test/api_integration/apis/upgrade_assistant/cluster_settings.ts b/x-pack/test/api_integration/apis/upgrade_assistant/cluster_settings.ts new file mode 100644 index 0000000000000..7ca6fbc9ed4d5 --- /dev/null +++ b/x-pack/test/api_integration/apis/upgrade_assistant/cluster_settings.ts @@ -0,0 +1,62 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; + +import { FtrProviderContext } from '../../ftr_provider_context'; +import { API_BASE_PATH } from '../../../../plugins/upgrade_assistant/common/constants'; + +export default function ({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + const es = getService('es'); + const log = getService('log'); + + describe('Cluster settings', function () { + this.onlyEsVersion('<=7'); + + describe('POST /api/upgrade_assistant/cluster_settings', () => { + before(async () => { + try { + // Configure some deprecated cluster settings + await es.cluster.putSettings({ + body: { + persistent: { + 'cluster.routing.allocation.exclude._tier': 'data_cold', + }, + transient: { + 'cluster.routing.allocation.include._tier': 'data_hot', + }, + }, + }); + } catch (e) { + log.debug('Error updating cluster settings'); + throw e; + } + }); + + it('removes cluster setting', async () => { + const { body: apiRequestResponse } = await supertest + .post(`${API_BASE_PATH}/cluster_settings`) + .set('kbn-xsrf', 'xxx') + .send({ + settings: [ + 'cluster.routing.allocation.exclude._tier', + 'cluster.routing.allocation.include._tier', + ], // cluster settings to remove + }) + .expect(200); + + expect(apiRequestResponse.persistent['cluster.routing.allocation.exclude._tier']).be( + undefined + ); + expect(apiRequestResponse.transient['cluster.routing.allocation.include._tier']).be( + undefined + ); + }); + }); + }); +} diff --git a/x-pack/test/api_integration/apis/upgrade_assistant/es_deprecation_logs.helpers.ts b/x-pack/test/api_integration/apis/upgrade_assistant/es_deprecation_logs.helpers.ts new file mode 100644 index 0000000000000..57eb43068a5a0 --- /dev/null +++ b/x-pack/test/api_integration/apis/upgrade_assistant/es_deprecation_logs.helpers.ts @@ -0,0 +1,82 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import Chance from 'chance'; + +import { + DEPRECATION_LOGS_INDEX, + DEPRECATION_LOGS_ORIGIN_FIELD, +} from '../../../../plugins/upgrade_assistant/common/constants'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +const chance = new Chance(); +const CHARS_POOL = 'abcdefghijklmnopqrstuvwxyz'; +const getRandomString = () => `${chance.string({ pool: CHARS_POOL })}-${Date.now()}`; + +const deprecationMock = { + 'event.dataset': 'deprecation.elasticsearch', + '@timestamp': '2021-12-06T16:28:11,104Z', + 'log.level': 'CRITICAL', + 'log.logger': + 'org.elasticsearch.deprecation.rest.action.admin.indices.RestGetIndexTemplateAction', + 'elasticsearch.cluster.name': 'es-test-cluster', + 'elasticsearch.cluster.uuid': 'PBE1syg4ToKCA0DcD2nKEw', + 'elasticsearch.node.id': '_0gaVTs5TIO_JWuFl9URJA', + 'elasticsearch.node.name': 'node-01', + message: + '[types removal] Specifying include_type_name in get index template requests is deprecated.', + 'data_stream.type': 'logs', + 'data_stream.dataset': 'deprecation.elasticsearch', + 'data_stream.namespace': 'default', + 'ecs.version': '1.7', + 'elasticsearch.event.category': 'types', + 'event.code': 'get_index_template_include_type_name', + 'elasticsearch.http.request.x_opaque_id': 'd17e37e2-d41f-49cc-8186-35bcdcd99770', +}; + +export const initHelpers = (getService: FtrProviderContext['getService']) => { + const es = getService('es'); + + const createDeprecationLog = async (isElasticProduct = false) => { + const id = getRandomString(); + + const body = { + ...deprecationMock, + }; + + if (isElasticProduct) { + (body as any)[DEPRECATION_LOGS_ORIGIN_FIELD] = 'kibana'; + } + + await es.index({ + id, + index: DEPRECATION_LOGS_INDEX, + op_type: 'create', + refresh: true, + body, + }); + + return id; + }; + + const deleteDeprecationLogs = async (docIds: string[]) => { + return await es.deleteByQuery({ + index: DEPRECATION_LOGS_INDEX, + refresh: true, + body: { + query: { + ids: { values: docIds }, + }, + }, + }); + }; + + return { + createDeprecationLog, + deleteDeprecationLogs, + }; +}; diff --git a/x-pack/test/api_integration/apis/upgrade_assistant/es_deprecation_logs.ts b/x-pack/test/api_integration/apis/upgrade_assistant/es_deprecation_logs.ts new file mode 100644 index 0000000000000..6243bdb6f700e --- /dev/null +++ b/x-pack/test/api_integration/apis/upgrade_assistant/es_deprecation_logs.ts @@ -0,0 +1,68 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import expect from '@kbn/expect'; + +import { + DEPRECATION_LOGS_INDEX, + DEPRECATION_LOGS_ORIGIN_FIELD, + APPS_WITH_DEPRECATION_LOGS, + API_BASE_PATH, +} from '../../../../plugins/upgrade_assistant/common/constants'; +import { FtrProviderContext } from '../../ftr_provider_context'; +import { initHelpers } from './es_deprecation_logs.helpers'; + +export default function ({ getService }: FtrProviderContext) { + const es = getService('es'); + const supertest = getService('supertest'); + + const { createDeprecationLog, deleteDeprecationLogs } = initHelpers(getService); + + describe('Elasticsearch deprecation logs', function () { + this.onlyEsVersion('<=7'); + + describe('GET /api/upgrade_assistant/deprecation_logging', () => { + describe('/count', () => { + it('should filter out the deprecation from Elastic products', async () => { + // We add a custom deprecation to make sure our filter is working + // and make sure that the count of deprecation without filter is greater + // than the total of deprecations + const IS_ELASTIC_PRODUCT = true; + const doc1 = await createDeprecationLog(); + const doc2 = await createDeprecationLog(IS_ELASTIC_PRODUCT); + const checkpoint = '2000-01-01T00:00:00.000Z'; + + const allDeprecations = ( + await es.search({ + index: DEPRECATION_LOGS_INDEX, + size: 10000, + }) + ).body.hits.hits; + + const nonElasticProductDeprecations = allDeprecations.filter( + (deprecation) => + !APPS_WITH_DEPRECATION_LOGS.includes( + (deprecation._source as any)[DEPRECATION_LOGS_ORIGIN_FIELD] + ) + ); + + const { body: apiRequestResponse } = await supertest + .get(`${API_BASE_PATH}/deprecation_logging/count`) + .query({ + from: checkpoint, + }) + .set('kbn-xsrf', 'xxx') + .expect(200); + + expect(nonElasticProductDeprecations.length).be.below(allDeprecations.length); + expect(apiRequestResponse.count).be(nonElasticProductDeprecations.length); + + await deleteDeprecationLogs([doc1, doc2]); + }); + }); + }); + }); +} diff --git a/x-pack/test/api_integration/apis/upgrade_assistant/es_deprecations.ts b/x-pack/test/api_integration/apis/upgrade_assistant/es_deprecations.ts index aea003a317963..7995408eeb1ce 100644 --- a/x-pack/test/api_integration/apis/upgrade_assistant/es_deprecations.ts +++ b/x-pack/test/api_integration/apis/upgrade_assistant/es_deprecations.ts @@ -6,35 +6,40 @@ */ import { FtrProviderContext } from '../../ftr_provider_context'; +import { API_BASE_PATH } from '../../../../plugins/upgrade_assistant/common/constants'; export default function ({ getService }: FtrProviderContext) { const supertestWithoutAuth = getService('supertestWithoutAuth'); const security = getService('security'); - describe('Elasticsearch deprecations', () => { + describe('Elasticsearch deprecations', function () { + this.onlyEsVersion('<=7'); + describe('GET /api/upgrade_assistant/es_deprecations', () => { - it('handles auth error', async () => { - const ROLE_NAME = 'authErrorRole'; - const USER_NAME = 'authErrorUser'; - const USER_PASSWORD = 'password'; + describe('error handling', () => { + it('handles auth error', async () => { + const ROLE_NAME = 'authErrorRole'; + const USER_NAME = 'authErrorUser'; + const USER_PASSWORD = 'password'; - try { - await security.role.create(ROLE_NAME, {}); - await security.user.create(USER_NAME, { - password: USER_PASSWORD, - roles: [ROLE_NAME], - }); + try { + await security.role.create(ROLE_NAME, {}); + await security.user.create(USER_NAME, { + password: USER_PASSWORD, + roles: [ROLE_NAME], + }); - await supertestWithoutAuth - .get('/api/upgrade_assistant/es_deprecations') - .auth(USER_NAME, USER_PASSWORD) - .set('kbn-xsrf', 'kibana') - .send() - .expect(403); - } finally { - await security.role.delete(ROLE_NAME); - await security.user.delete(USER_NAME); - } + await supertestWithoutAuth + .get(`${API_BASE_PATH}/es_deprecations`) + .auth(USER_NAME, USER_PASSWORD) + .set('kbn-xsrf', 'kibana') + .send() + .expect(403); + } finally { + await security.role.delete(ROLE_NAME); + await security.user.delete(USER_NAME); + } + }); }); }); }); diff --git a/x-pack/test/api_integration/apis/upgrade_assistant/index.ts b/x-pack/test/api_integration/apis/upgrade_assistant/index.ts index f6b231f038817..21aeea27e6174 100644 --- a/x-pack/test/api_integration/apis/upgrade_assistant/index.ts +++ b/x-pack/test/api_integration/apis/upgrade_assistant/index.ts @@ -8,10 +8,15 @@ import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ loadTestFile }: FtrProviderContext) { - describe('Upgrade Assistant', () => { + describe('Upgrade Assistant', function () { loadTestFile(require.resolve('./upgrade_assistant')); loadTestFile(require.resolve('./cloud_backup_status')); loadTestFile(require.resolve('./privileges')); loadTestFile(require.resolve('./es_deprecations')); + loadTestFile(require.resolve('./es_deprecation_logs')); + loadTestFile(require.resolve('./remote_clusters')); + loadTestFile(require.resolve('./cluster_settings')); + loadTestFile(require.resolve('./version_precheck')); + loadTestFile(require.resolve('./node_disk_space')); }); } diff --git a/x-pack/test/api_integration/apis/upgrade_assistant/node_disk_space.ts b/x-pack/test/api_integration/apis/upgrade_assistant/node_disk_space.ts new file mode 100644 index 0000000000000..0a023c8a2065e --- /dev/null +++ b/x-pack/test/api_integration/apis/upgrade_assistant/node_disk_space.ts @@ -0,0 +1,33 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; + +import { FtrProviderContext } from '../../ftr_provider_context'; +import { API_BASE_PATH } from '../../../../plugins/upgrade_assistant/common/constants'; + +export default function ({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + + describe('Node disk space', function () { + this.onlyEsVersion('<=7'); + + describe('GET /api/upgrade_assistant/node_disk_space', () => { + it('returns an array of nodes', async () => { + const { body: apiRequestResponse } = await supertest + .get(`${API_BASE_PATH}/node_disk_space`) + .set('kbn-xsrf', 'xxx') + .expect(200); + + // It's tricky to assert the correct node values on CI + // For now, this serves as a smoke test and verifies an array is returned + // There are jest unit tests that test additional logic + expect(Array.isArray(apiRequestResponse)).be(true); + }); + }); + }); +} diff --git a/x-pack/test/api_integration/apis/upgrade_assistant/privileges.ts b/x-pack/test/api_integration/apis/upgrade_assistant/privileges.ts index c5c00c9a33685..9bac04bf1d48e 100644 --- a/x-pack/test/api_integration/apis/upgrade_assistant/privileges.ts +++ b/x-pack/test/api_integration/apis/upgrade_assistant/privileges.ts @@ -15,7 +15,9 @@ export default function ({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const supertestWithoutAuth = getService('supertestWithoutAuth'); - describe('Privileges', () => { + describe('Privileges', function () { + this.onlyEsVersion('<=7'); + describe('GET /api/upgrade_assistant/privileges', () => { it('User with with index privileges', async () => { const { body } = await supertest diff --git a/x-pack/test/api_integration/apis/upgrade_assistant/remote_clusters.ts b/x-pack/test/api_integration/apis/upgrade_assistant/remote_clusters.ts new file mode 100644 index 0000000000000..412f5d2a0c7fd --- /dev/null +++ b/x-pack/test/api_integration/apis/upgrade_assistant/remote_clusters.ts @@ -0,0 +1,77 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; + +import { FtrProviderContext } from '../../ftr_provider_context'; +import { API_BASE_PATH } from '../../../../plugins/upgrade_assistant/common/constants'; + +export default function ({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + const es = getService('es'); + const log = getService('log'); + + describe('Remote clusters', function () { + this.onlyEsVersion('<=7'); + + describe('GET /api/upgrade_assistant/remote_clusters', () => { + before(async () => { + try { + // Configure a remote cluster + await es.cluster.putSettings({ + body: { + persistent: { + cluster: { + remote: { + test_cluster: { + seeds: ['127.0.0.1:9400'], + }, + }, + }, + }, + }, + }); + } catch (e) { + log.debug('Error creating remote cluster'); + throw e; + } + }); + + after(async () => { + try { + // Delete remote cluster + await es.cluster.putSettings({ + body: { + persistent: { + cluster: { + remote: { + test_cluster: { + seeds: null, + }, + }, + }, + }, + }, + }); + } catch (e) { + log.debug('Error deleting remote cluster'); + throw e; + } + }); + + it('returns an array of remote clusters', async () => { + const { body: apiRequestResponse } = await supertest + .get(`${API_BASE_PATH}/remote_clusters`) + .set('kbn-xsrf', 'xxx') + .expect(200); + + expect(Array.isArray(apiRequestResponse)).be(true); + expect(apiRequestResponse.length).be(1); + }); + }); + }); +} diff --git a/x-pack/test/api_integration/apis/upgrade_assistant/upgrade_assistant.ts b/x-pack/test/api_integration/apis/upgrade_assistant/upgrade_assistant.ts index 7dd7a1584d0ef..8fbf9273a55f8 100644 --- a/x-pack/test/api_integration/apis/upgrade_assistant/upgrade_assistant.ts +++ b/x-pack/test/api_integration/apis/upgrade_assistant/upgrade_assistant.ts @@ -14,7 +14,9 @@ export default function ({ getService }: FtrProviderContext) { const es = getService('es'); const supertest = getService('supertest'); - describe('Upgrade Assistant', () => { + describe('Upgrade Assistant', function () { + this.onlyEsVersion('<=7'); + describe('Reindex operation saved object', () => { const dotKibanaIndex = '.kibana'; const fakeSavedObjectId = 'fakeSavedObjectId'; diff --git a/x-pack/test/api_integration/apis/upgrade_assistant/version_precheck.ts b/x-pack/test/api_integration/apis/upgrade_assistant/version_precheck.ts new file mode 100644 index 0000000000000..be8806705d727 --- /dev/null +++ b/x-pack/test/api_integration/apis/upgrade_assistant/version_precheck.ts @@ -0,0 +1,217 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../ftr_provider_context'; +import { API_BASE_PATH } from '../../../../plugins/upgrade_assistant/common/constants'; + +export default function ({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + + describe('Elasticsearch version precheck', function () { + this.onlyEsVersion('>=8'); + + describe('Elasticsearch 8.x running against Kibana 7.last', () => { + describe('Cloud backup status APIs', () => { + it('returns 426 for GET /cloud_backup_status', async () => { + await supertest + .get(`${API_BASE_PATH}/cloud_backup_status`) + .set('kbn-xsrf', 'xxx') + .expect(426); + }); + }); + + describe('Cloud upgrade status APIs', () => { + it('returns 426 for GET /cluster_upgrade_status', async () => { + await supertest + .get(`${API_BASE_PATH}/cluster_upgrade_status`) + .set('kbn-xsrf', 'xxx') + .expect(426); + }); + }); + + describe('Deprecation logging APIs', () => { + it('returns 426 for GET /deprecation_logging', async () => { + await supertest + .get(`${API_BASE_PATH}/deprecation_logging`) + .set('kbn-xsrf', 'xxx') + .expect(426); + }); + + it('returns 426 for PUT /deprecation_logging', async () => { + await supertest + .put(`${API_BASE_PATH}/deprecation_logging`) + .set('kbn-xsrf', 'xxx') + .send({ + isEnabled: true, + }) + .expect(426); + }); + + it('returns 426 for DELETE /deprecation_logging/cache', async () => { + await supertest + .delete(`${API_BASE_PATH}/deprecation_logging/cache`) + .set('kbn-xsrf', 'xxx') + .expect(426); + }); + + it('returns 426 for GET /deprecation_logging/count', async () => { + await supertest + .get(`${API_BASE_PATH}/deprecation_logging/count?from=2021-08-23T07:32:34.782Z`) + .set('kbn-xsrf', 'xxx') + .expect(426); + }); + }); + + describe('ES deprecations APIs', () => { + it('returns 426 for GET /es_deprecations', async () => { + await supertest + .get(`${API_BASE_PATH}/es_deprecations`) + .set('kbn-xsrf', 'xxx') + .expect(426); + }); + }); + + describe('Remote clusters APIs', () => { + it('returns 426 for GET /remote_clusters', async () => { + await supertest + .get(`${API_BASE_PATH}/remote_clusters`) + .set('kbn-xsrf', 'xxx') + .expect(426); + }); + }); + + describe('System indices migration APIs', () => { + it('returns 426 for GET /system_indices_migration', async () => { + await supertest + .get(`${API_BASE_PATH}/system_indices_migration`) + .set('kbn-xsrf', 'xxx') + .expect(426); + }); + + it('returns 426 for POST /system_indices_migration', async () => { + await supertest + .post(`${API_BASE_PATH}/system_indices_migration`) + .set('kbn-xsrf', 'xxx') + .expect(426); + }); + }); + + describe('Status APIs', () => { + it('returns 426 for GET /status', async () => { + await supertest.get(`${API_BASE_PATH}/status`).set('kbn-xsrf', 'xxx').expect(426); + }); + }); + + describe('Privileges APIs', () => { + it('returns 426 for GET /privileges', async () => { + await supertest.get(`${API_BASE_PATH}/privileges`).set('kbn-xsrf', 'xxx').expect(426); + }); + }); + + describe('Index settings APIs', () => { + it('returns 426 for POST /{indexName}/index_settings', async () => { + await supertest + .post(`${API_BASE_PATH}/test_index/index_settings`) + .set('kbn-xsrf', 'xxx') + .send({ + settings: ['index_settings'], + }) + .expect(426); + }); + }); + + describe('Cluster settings APIs', () => { + it('returns 426 for POST /cluster_settings', async () => { + await supertest + .post(`${API_BASE_PATH}/cluster_settings`) + .set('kbn-xsrf', 'xxx') + .send({ + settings: ['cluster_settings'], + }) + .expect(426); + }); + }); + + describe('Machine learning APIs', () => { + it('returns 426 for GET /ml_snapshots/{jobId}/{snapshotId}', async () => { + await supertest + .get(`${API_BASE_PATH}/ml_snapshots/job_1/snapshot_1`) + .set('kbn-xsrf', 'xxx') + .expect(426); + }); + + it('returns 426 for GET /ml_upgrade_mode', async () => { + await supertest + .get(`${API_BASE_PATH}/ml_snapshots/job_1/snapshot_1`) + .set('kbn-xsrf', 'xxx') + .expect(426); + }); + + it('returns 426 for POST /ml_snapshots', async () => { + await supertest + .post(`${API_BASE_PATH}/ml_snapshots`) + .set('kbn-xsrf', 'xxx') + .send({ + snapshotId: 'snapshot_1', + jobId: 'job_1', + }) + .expect(426); + }); + + it('returns 426 for DELETE /ml_snapshots/{jobId}/{snapshotId}', async () => { + await supertest + .delete(`${API_BASE_PATH}/ml_snapshots/job_1/snapshot_1`) + .set('kbn-xsrf', 'xxx') + .expect(426); + }); + }); + + describe('Reindex APIs', () => { + it('returns 426 for POST /reindex/{indexName}', async () => { + await supertest + .post(`${API_BASE_PATH}/reindex/test_index`) + .set('kbn-xsrf', 'xxx') + .expect(426); + }); + + it('returns 426 for GET /reindex/{indexName}', async () => { + await supertest + .get(`${API_BASE_PATH}/reindex/test_index`) + .set('kbn-xsrf', 'xxx') + .expect(426); + }); + + it('returns 426 for POST /reindex/{indexName}/cancel', async () => { + await supertest + .post(`${API_BASE_PATH}/reindex/test_index/cancel`) + .set('kbn-xsrf', 'xxx') + .send({ + indexNames: ['test_index'], + }) + .expect(426); + }); + + it('returns 426 for GET /reindex/batch/queue', async () => { + await supertest + .get(`${API_BASE_PATH}/reindex/batch/queue`) + .set('kbn-xsrf', 'xxx') + .expect(426); + }); + + it('returns 426 for POST /reindex/batch', async () => { + await supertest + .post(`${API_BASE_PATH}/reindex/batch`) + .set('kbn-xsrf', 'xxx') + .send({ + indexNames: ['test_index'], + }) + .expect(426); + }); + }); + }); + }); +} diff --git a/x-pack/test/api_integration/services/ml.ts b/x-pack/test/api_integration/services/ml.ts index 295ee400aa6f0..728abd9bc6e8f 100644 --- a/x-pack/test/api_integration/services/ml.ts +++ b/x-pack/test/api_integration/services/ml.ts @@ -20,7 +20,7 @@ export function MachineLearningProvider(context: FtrProviderContext) { const commonConfig = MachineLearningCommonConfigsProvider(context); const securityCommon = MachineLearningSecurityCommonProvider(context); const testExecution = MachineLearningTestExecutionProvider(context); - const testResources = MachineLearningTestResourcesProvider(context); + const testResources = MachineLearningTestResourcesProvider(context, api); return { api, diff --git a/x-pack/test/api_integration/services/transform.ts b/x-pack/test/api_integration/services/transform.ts index 59e662fab2000..16876413b1239 100644 --- a/x-pack/test/api_integration/services/transform.ts +++ b/x-pack/test/api_integration/services/transform.ts @@ -9,12 +9,14 @@ import { FtrProviderContext } from '../../functional/ftr_provider_context'; import { TransformAPIProvider } from '../../functional/services/transform/api'; import { TransformSecurityCommonProvider } from '../../functional/services/transform/security_common'; +import { MachineLearningAPIProvider } from '../../functional/services/ml/api'; import { MachineLearningTestResourcesProvider } from '../../functional/services/ml/test_resources'; export function TransformProvider(context: FtrProviderContext) { const api = TransformAPIProvider(context); + const mlApi = MachineLearningAPIProvider(context); const securityCommon = TransformSecurityCommonProvider(context); - const testResources = MachineLearningTestResourcesProvider(context); + const testResources = MachineLearningTestResourcesProvider(context, mlApi); return { api, diff --git a/x-pack/test/api_integration/services/usage_api.ts b/x-pack/test/api_integration/services/usage_api.ts index 3922bb73e8543..c761cd0bc93e0 100644 --- a/x-pack/test/api_integration/services/usage_api.ts +++ b/x-pack/test/api_integration/services/usage_api.ts @@ -40,11 +40,12 @@ export function UsageAPIProvider({ getService }: FtrProviderContext) { */ async getTelemetryStats(payload: { unencrypted?: boolean; + refreshCache?: boolean; }): Promise> { const { body } = await supertest .post('/api/telemetry/v2/clusters/_stats') .set('kbn-xsrf', 'xxx') - .send(payload) + .send({ refreshCache: true, ...payload }) .expect(200); return body; }, diff --git a/x-pack/test/case_api_integration/security_and_spaces/tests/trial/cases/push_case.ts b/x-pack/test/case_api_integration/security_and_spaces/tests/trial/cases/push_case.ts index 73e8f2ba851fc..f8d32c59d0481 100644 --- a/x-pack/test/case_api_integration/security_and_spaces/tests/trial/cases/push_case.ts +++ b/x-pack/test/case_api_integration/security_and_spaces/tests/trial/cases/push_case.ts @@ -35,6 +35,7 @@ import { getConnectorMappingsFromES, getCase, getServiceNowSimulationServer, + createConfiguration, } from '../../../../common/lib/utils'; import { CaseConnector, @@ -364,7 +365,7 @@ export default ({ getService }: FtrProviderContext): void => { it('should push a case that the user has permissions for', async () => { const { postedCase, connector } = await createCaseWithConnector({ - supertest, + supertest: supertestWithoutAuth, serviceNowSimulatorURL, actionsRemover, auth: superUserSpace1Auth, @@ -380,7 +381,7 @@ export default ({ getService }: FtrProviderContext): void => { it('should not push a case that the user does not have permissions for', async () => { const { postedCase, connector } = await createCaseWithConnector({ - supertest, + supertest: supertestWithoutAuth, serviceNowSimulatorURL, actionsRemover, auth: superUserSpace1Auth, @@ -401,7 +402,7 @@ export default ({ getService }: FtrProviderContext): void => { user.username } with role(s) ${user.roles.join()} - should NOT push a case`, async () => { const { postedCase, connector } = await createCaseWithConnector({ - supertest, + supertest: supertestWithoutAuth, serviceNowSimulatorURL, actionsRemover, auth: superUserSpace1Auth, @@ -419,7 +420,7 @@ export default ({ getService }: FtrProviderContext): void => { it('should not push a case in a space that the user does not have permissions for', async () => { const { postedCase, connector } = await createCaseWithConnector({ - supertest, + supertest: supertestWithoutAuth, serviceNowSimulatorURL, actionsRemover, auth: { user: superUser, space: 'space2' }, @@ -433,6 +434,59 @@ export default ({ getService }: FtrProviderContext): void => { expectedHttpCode: 403, }); }); + + it('should respect closure options of the current owner when pushing', async () => { + await createConfiguration( + supertestWithoutAuth, + { + ...getConfigurationRequest(), + owner: 'securitySolutionFixture', + closure_type: 'close-by-user', + }, + 200, + { + user: superUser, + space: 'space1', + } + ); + + await createConfiguration( + supertestWithoutAuth, + { + ...getConfigurationRequest(), + owner: 'observabilityFixture', + closure_type: 'close-by-pushing', + }, + 200, + { + user: superUser, + space: 'space1', + } + ); + + const { postedCase, connector } = await createCaseWithConnector({ + supertest: supertestWithoutAuth, + serviceNowSimulatorURL, + actionsRemover, + auth: { user: superUser, space: 'space1' }, + }); + + await pushCase({ + supertest: supertestWithoutAuth, + caseId: postedCase.id, + connectorId: connector.id, + auth: { user: superUser, space: 'space1' }, + }); + + const theCase = await getCase({ + supertest: supertestWithoutAuth, + caseId: postedCase.id, + includeComments: false, + auth: { user: superUser, space: 'space1' }, + }); + + expect(theCase.status).to.eql('open'); + }); }); }); }; diff --git a/x-pack/test/cloud_integration/config.ts b/x-pack/test/cloud_integration/config.ts index a012dfd1ad34b..e96750e31d414 100644 --- a/x-pack/test/cloud_integration/config.ts +++ b/x-pack/test/cloud_integration/config.ts @@ -41,7 +41,8 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { from: 'snapshot', serverArgs: [ 'xpack.security.authc.token.enabled=true', - 'xpack.security.authc.realms.saml.saml1.order=0', + 'xpack.security.authc.realms.native.native1.order=0', + 'xpack.security.authc.realms.saml.saml1.order=1', `xpack.security.authc.realms.saml.saml1.idp.metadata.path=${idpPath}`, 'xpack.security.authc.realms.saml.saml1.idp.entity_id=http://www.elastic.co/saml1', `xpack.security.authc.realms.saml.saml1.sp.entity_id=http://localhost:${kibanaPort}`, diff --git a/x-pack/test/common/services/security_solution/roles_users_utils.ts b/x-pack/test/common/services/security_solution/roles_users_utils.ts index dd184c6a94b46..65779921db78c 100644 --- a/x-pack/test/common/services/security_solution/roles_users_utils.ts +++ b/x-pack/test/common/services/security_solution/roles_users_utils.ts @@ -11,6 +11,7 @@ import { t1AnalystUser, t2AnalystUser, hunterUser, + hunterNoActionsUser, ruleAuthorUser, socManagerUser, platformEngineerUser, @@ -19,6 +20,7 @@ import { t1AnalystRole, t2AnalystRole, hunterRole, + hunterNoActionsRole, ruleAuthorRole, socManagerRole, platformEngineerRole, @@ -53,6 +55,13 @@ export const createUserAndRole = async ( return postRoleAndUser(ROLES.t2_analyst, t2AnalystRole, t2AnalystUser, getService); case ROLES.hunter: return postRoleAndUser(ROLES.hunter, hunterRole, hunterUser, getService); + case ROLES.hunter_no_actions: + return postRoleAndUser( + ROLES.hunter_no_actions, + hunterNoActionsRole, + hunterNoActionsUser, + getService + ); case ROLES.rule_author: return postRoleAndUser(ROLES.rule_author, ruleAuthorRole, ruleAuthorUser, getService); case ROLES.soc_manager: @@ -105,7 +114,7 @@ interface RoleInterface { feature: { ml: string[]; siem: string[]; - actions: string[]; + actions?: string[]; builtInAlerts: string[]; }; spaces: string[]; diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_threat_matching.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_threat_matching.ts index 223529fce54f6..1e1f28f12f228 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_threat_matching.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_threat_matching.ts @@ -111,7 +111,8 @@ export default ({ getService }: FtrProviderContext) => { }); }); - describe('tests with auditbeat data', () => { + // FLAKY: https://github.com/elastic/kibana/issues/122502 + describe.skip('tests with auditbeat data', () => { before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); }); diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/delete_rules.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/delete_rules.ts index 3750a8eed394b..1b665ddc07090 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/delete_rules.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/delete_rules.ts @@ -7,9 +7,11 @@ import expect from '@kbn/expect'; +import { BASE_ALERTING_API_PATH } from '../../../../plugins/alerting/common'; import { DETECTION_ENGINE_RULES_URL } from '../../../../plugins/security_solution/common/constants'; import { FtrProviderContext } from '../../common/ftr_provider_context'; import { + createLegacyRuleAction, createRule, createSignalsIndex, deleteAllAlerts, @@ -18,6 +20,7 @@ import { getSimpleRuleOutput, getSimpleRuleOutputWithoutRuleId, getSimpleRuleWithoutRuleId, + getWebHookAction, removeServerGeneratedProperties, removeServerGeneratedPropertiesIncludingRuleId, } from '../../utils'; @@ -99,6 +102,119 @@ export default ({ getService }: FtrProviderContext): void => { status_code: 404, }); }); + + /** + * @deprecated Once the legacy notification system is removed, remove this test too. + */ + it('should have exactly 1 legacy action before a delete within alerting', async () => { + // create an action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + // create a rule without actions + const createRuleBody = await createRule(supertest, getSimpleRule('rule-1')); + + // Add a legacy rule action to the body of the rule + await createLegacyRuleAction(supertest, createRuleBody.id, hookAction.id); + + // Test to ensure that we have exactly 1 legacy action by querying the Alerting client REST API directly + // See: https://www.elastic.co/guide/en/kibana/current/find-rules-api.html + // Note: We specifically query for both the filter of type "siem.notifications" and the "has_reference" to keep it very specific + const { body: alertFind } = await supertest + .get(`${BASE_ALERTING_API_PATH}/rules/_find`) + .query({ + page: 1, + per_page: 10, + filter: 'alert.attributes.alertTypeId:(siem.notifications)', + has_reference: JSON.stringify({ id: createRuleBody.id, type: 'alert' }), + }) + .set('kbn-xsrf', 'true') + .send() + .expect(200); + + // Expect that we have exactly 1 legacy rule before the deletion + expect(alertFind.total).to.eql(1); + }); + + /** + * @deprecated Once the legacy notification system is removed, remove this test too. + */ + it('should return the legacy action in the response body when it deletes a rule that has one', async () => { + // create an action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + // create a rule without actions + const createRuleBody = await createRule(supertest, getSimpleRule('rule-1')); + + // Add a legacy rule action to the body of the rule + await createLegacyRuleAction(supertest, createRuleBody.id, hookAction.id); + + // delete the rule with the legacy action + const { body } = await supertest + .delete(`${DETECTION_ENGINE_RULES_URL}?id=${createRuleBody.id}`) + .set('kbn-xsrf', 'true') + .expect(200); + + // ensure the actions contains the response + expect(body.actions).to.eql([ + { + id: hookAction.id, + action_type_id: hookAction.actionTypeId, + group: 'default', + params: { + message: + 'Hourly\nRule {{context.rule.name}} generated {{state.signals_count}} alerts', + }, + }, + ]); + }); + + /** + * @deprecated Once the legacy notification system is removed, remove this test too. + */ + it('should delete a legacy action when it deletes a rule that has one', async () => { + // create an action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + // create a rule without actions + const createRuleBody = await createRule(supertest, getSimpleRule('rule-1')); + + // Add a legacy rule action to the body of the rule + await createLegacyRuleAction(supertest, createRuleBody.id, hookAction.id); + + await supertest + .delete(`${DETECTION_ENGINE_RULES_URL}?id=${createRuleBody.id}`) + .set('kbn-xsrf', 'true') + .expect(200); + + // Test to ensure that we have exactly 0 legacy actions by querying the Alerting client REST API directly + // See: https://www.elastic.co/guide/en/kibana/current/find-rules-api.html + // Note: We specifically query for both the filter of type "siem.notifications" and the "has_reference" to keep it very specific + const { body: bodyAfterDelete } = await supertest + .get(`${BASE_ALERTING_API_PATH}/rules/_find`) + .query({ + page: 1, + per_page: 10, + filter: 'alert.attributes.alertTypeId:(siem.notifications)', + has_reference: JSON.stringify({ id: createRuleBody.id, type: 'alert' }), + }) + .set('kbn-xsrf', 'true') + .send(); + + // Expect that we have exactly 0 legacy rules after the deletion + expect(bodyAfterDelete.total).to.eql(0); + }); }); }); }; diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/delete_rules_bulk.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/delete_rules_bulk.ts index e978f871b55c2..c1d504fe6215d 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/delete_rules_bulk.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/delete_rules_bulk.ts @@ -7,9 +7,11 @@ import expect from '@kbn/expect'; +import { BASE_ALERTING_API_PATH } from '../../../../plugins/alerting/common'; import { DETECTION_ENGINE_RULES_URL } from '../../../../plugins/security_solution/common/constants'; import { FtrProviderContext } from '../../common/ftr_provider_context'; import { + createLegacyRuleAction, createRule, createSignalsIndex, deleteAllAlerts, @@ -18,6 +20,7 @@ import { getSimpleRuleOutput, getSimpleRuleOutputWithoutRuleId, getSimpleRuleWithoutRuleId, + getWebHookAction, removeServerGeneratedProperties, removeServerGeneratedPropertiesIncludingRuleId, } from '../../utils'; @@ -248,6 +251,148 @@ export default ({ getService }: FtrProviderContext): void => { }, ]); }); + + /** + * @deprecated Once the legacy notification system is removed, remove this test too. + */ + it('should return the legacy action in the response body when it deletes a rule that has one', async () => { + // create an action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + // create a rule without actions + const createRuleBody = await createRule(supertest, getSimpleRule('rule-1')); + + // Add a legacy rule action to the body of the rule + await createLegacyRuleAction(supertest, createRuleBody.id, hookAction.id); + + // delete the rule with the legacy action + const { body } = await supertest + .delete(`${DETECTION_ENGINE_RULES_URL}/_bulk_delete`) + .send([{ id: createRuleBody.id }]) + .set('kbn-xsrf', 'true') + .expect(200); + + // ensure we only get one body back + expect(body.length).to.eql(1); + + // ensure that its actions equal what we expect + expect(body[0].actions).to.eql([ + { + id: hookAction.id, + action_type_id: hookAction.actionTypeId, + group: 'default', + params: { + message: + 'Hourly\nRule {{context.rule.name}} generated {{state.signals_count}} alerts', + }, + }, + ]); + }); + + /** + * @deprecated Once the legacy notification system is removed, remove this test too. + */ + it('should return 2 legacy actions in the response body when it deletes 2 rules', async () => { + // create two different actions + const { body: hookAction1 } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + const { body: hookAction2 } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + // create 2 rules without actions + const createRuleBody1 = await createRule(supertest, getSimpleRule('rule-1')); + const createRuleBody2 = await createRule(supertest, getSimpleRule('rule-2')); + + // Add a legacy rule action to the body of the 2 rules + await createLegacyRuleAction(supertest, createRuleBody1.id, hookAction1.id); + await createLegacyRuleAction(supertest, createRuleBody2.id, hookAction2.id); + + // delete 2 rules where both have legacy actions + const { body } = await supertest + .delete(`${DETECTION_ENGINE_RULES_URL}/_bulk_delete`) + .send([{ id: createRuleBody1.id }, { id: createRuleBody2.id }]) + .set('kbn-xsrf', 'true') + .expect(200); + + // ensure we only get two bodies back + expect(body.length).to.eql(2); + + // ensure that its actions equal what we expect for both responses + expect(body[0].actions).to.eql([ + { + id: hookAction1.id, + action_type_id: hookAction1.actionTypeId, + group: 'default', + params: { + message: + 'Hourly\nRule {{context.rule.name}} generated {{state.signals_count}} alerts', + }, + }, + ]); + expect(body[1].actions).to.eql([ + { + id: hookAction2.id, + action_type_id: hookAction2.actionTypeId, + group: 'default', + params: { + message: + 'Hourly\nRule {{context.rule.name}} generated {{state.signals_count}} alerts', + }, + }, + ]); + }); + + /** + * @deprecated Once the legacy notification system is removed, remove this test too. + */ + it('should delete a legacy action when it deletes a rule that has one', async () => { + // create an action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + // create a rule without actions + const createRuleBody = await createRule(supertest, getSimpleRule('rule-1')); + + // Add a legacy rule action to the body of the rule + await createLegacyRuleAction(supertest, createRuleBody.id, hookAction.id); + + // bulk delete the rule + await supertest + .delete(`${DETECTION_ENGINE_RULES_URL}/_bulk_delete`) + .send([{ id: createRuleBody.id }]) + .set('kbn-xsrf', 'true') + .expect(200); + + // Test to ensure that we have exactly 0 legacy actions by querying the Alerting client REST API directly + // See: https://www.elastic.co/guide/en/kibana/current/find-rules-api.html + // Note: We specifically query for both the filter of type "siem.notifications" and the "has_reference" to keep it very specific + const { body: bodyAfterDelete } = await supertest + .get(`${BASE_ALERTING_API_PATH}/rules/_find`) + .query({ + page: 1, + per_page: 10, + filter: 'alert.attributes.alertTypeId:(siem.notifications)', + has_reference: JSON.stringify({ id: createRuleBody.id, type: 'alert' }), + }) + .set('kbn-xsrf', 'true') + .send(); + + // Expect that we have exactly 0 legacy rules after the deletion + expect(bodyAfterDelete.total).to.eql(0); + }); }); }); }; diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/import_rules.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/import_rules.ts index f99ae06b9f6e9..cac6c3033643a 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/import_rules.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/import_rules.ts @@ -21,12 +21,124 @@ import { ruleToNdjson, waitFor, } from '../../utils'; +import { createUserAndRole, deleteUserAndRole } from '../../../common/services/security_solution'; +import { ROLES } from '../../../../plugins/security_solution/common/test'; // eslint-disable-next-line import/no-default-export export default ({ getService }: FtrProviderContext): void => { const supertest = getService('supertest'); + const supertestWithoutAuth = getService('supertestWithoutAuth'); describe('import_rules', () => { + describe('importing rules with different roles', () => { + before(async () => { + await createUserAndRole(getService, ROLES.hunter_no_actions); + await createUserAndRole(getService, ROLES.hunter); + }); + after(async () => { + await deleteUserAndRole(getService, ROLES.hunter_no_actions); + await deleteUserAndRole(getService, ROLES.hunter); + }); + beforeEach(async () => { + await createSignalsIndex(supertest); + }); + + afterEach(async () => { + await deleteSignalsIndex(supertest); + await deleteAllAlerts(supertest); + }); + it('should successfully import rules without actions when user has no actions privileges', async () => { + const { body } = await supertestWithoutAuth + .post(`${DETECTION_ENGINE_RULES_URL}/_import`) + .auth(ROLES.hunter_no_actions, 'changeme') + .set('kbn-xsrf', 'true') + .attach('file', getSimpleRuleAsNdjson(['rule-1']), 'rules.ndjson') + .expect(200); + + expect(body).to.eql({ + errors: [], + success: true, + success_count: 1, + }); + }); + it('should successfully import rules with actions when user has "read" actions privileges', async () => { + // create a new action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + const simpleRule: ReturnType = { + ...getSimpleRule('rule-1'), + actions: [ + { + group: 'default', + id: hookAction.id, + action_type_id: hookAction.actionTypeId, + params: {}, + }, + ], + }; + const { body } = await supertestWithoutAuth + .post(`${DETECTION_ENGINE_RULES_URL}/_import`) + .auth(ROLES.hunter, 'changeme') + .set('kbn-xsrf', 'true') + .attach('file', ruleToNdjson(simpleRule), 'rules.ndjson') + .expect(200); + + expect(body).to.eql({ + errors: [], + success: true, + success_count: 1, + }); + }); + it('should not import rules with actions when a user has no actions privileges', async () => { + // create a new action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + const simpleRule: ReturnType = { + ...getSimpleRule('rule-1'), + actions: [ + { + group: 'default', + id: hookAction.id, + action_type_id: hookAction.actionTypeId, + params: {}, + }, + ], + }; + const { body } = await supertestWithoutAuth + .post(`${DETECTION_ENGINE_RULES_URL}/_import`) + .auth(ROLES.hunter_no_actions, 'changeme') + .set('kbn-xsrf', 'true') + .attach('file', ruleToNdjson(simpleRule), 'rules.ndjson') + .expect(200); + expect(body).to.eql({ + success: false, + success_count: 0, + errors: [ + { + error: { + message: + 'You may not have actions privileges required to import rules with actions: Unauthorized to get actions', + status_code: 403, + }, + rule_id: '(unknown id)', + }, + { + error: { + message: `1 connector is missing. Connector id missing is: ${hookAction.id}`, + status_code: 404, + }, + rule_id: 'rule-1', + }, + ], + }); + }); + }); describe('importing rules without an index', () => { it('should not create a rule if the index does not exist', async () => { await supertest @@ -79,7 +191,6 @@ export default ({ getService }: FtrProviderContext): void => { }); }); }); - describe('importing rules with an index', () => { beforeEach(async () => { await createSignalsIndex(supertest); diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/index.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/index.ts index 9993fda170fdf..de91fa29d74b1 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/index.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/index.ts @@ -70,5 +70,9 @@ export default ({ loadTestFile }: FtrProviderContext): void => { describe('', function () { loadTestFile(require.resolve('./alerts/index')); }); + + describe('', function () { + loadTestFile(require.resolve('./telemetry/index')); + }); }); }; diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/telemetry/README.md b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/telemetry/README.md new file mode 100644 index 0000000000000..2760001a20626 --- /dev/null +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/telemetry/README.md @@ -0,0 +1,6 @@ +These are tests for the telemetry rules within "security_solution/server/usage" +* detection_rules + +Detection rules are tests around each of the rule types to affirm they work such as query, eql, etc... This includes +legacy notifications. Once legacy notifications are moved, those tests can be removed too. + diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/telemetry/detection_rules.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/telemetry/detection_rules.ts new file mode 100644 index 0000000000000..72dab9e1ca493 --- /dev/null +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/telemetry/detection_rules.ts @@ -0,0 +1,1464 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { DetectionMetrics } from '../../../../../plugins/security_solution/server/usage/detections/types'; +import { + ThreatMatchCreateSchema, + ThresholdCreateSchema, +} from '../../../../../plugins/security_solution/common/detection_engine/schemas/request'; +import { FtrProviderContext } from '../../../common/ftr_provider_context'; +import { + createLegacyRuleAction, + createNewAction, + createRule, + createSignalsIndex, + deleteAllAlerts, + deleteSignalsIndex, + getEqlRuleForSignalTesting, + getRule, + getRuleForSignalTesting, + getRuleWithWebHookAction, + getSimpleMlRule, + getSimpleRule, + getSimpleThreatMatch, + getStats, + getThresholdRuleForSignalTesting, + installPrePackagedRules, + waitForRuleSuccessOrStatus, + waitForSignalsToBePresent, + updateRule, +} from '../../../utils'; +import { getInitialDetectionMetrics } from '../../../../../plugins/security_solution/server/usage/detections/detection_rule_helpers'; + +// eslint-disable-next-line import/no-default-export +export default ({ getService }: FtrProviderContext) => { + const supertest = getService('supertest'); + const esArchiver = getService('esArchiver'); + const log = getService('log'); + const retry = getService('retry'); + + describe('Detection rule telemetry', async () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/security_solution/telemetry'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/security_solution/telemetry'); + }); + + beforeEach(async () => { + await createSignalsIndex(supertest); + }); + + afterEach(async () => { + await deleteSignalsIndex(supertest); + await deleteAllAlerts(supertest); + }); + + it('should have initialized empty/zero values when no rules are running', async () => { + await retry.try(async () => { + const stats = await getStats(supertest, log); + expect(stats).to.eql(getInitialDetectionMetrics()); + }); + }); + + describe('"kql" rule type', () => { + it('should show "notifications_enabled", "notifications_disabled" "legacy_notifications_enabled", "legacy_notifications_disabled", all to be "0" for "disabled"/"in-active" rule that does not have any actions', async () => { + const rule = getRuleForSignalTesting(['telemetry'], 'rule-1', false); + await createRule(supertest, rule); + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + query: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.query, + disabled: 1, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + disabled: 1, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "notifications_enabled", "notifications_disabled" "legacy_notifications_enabled", "legacy_notifications_disabled", all to be "0" for "enabled"/"active" rule that does not have any actions', async () => { + const rule = getRuleForSignalTesting(['telemetry']); + const { id } = await createRule(supertest, rule); + await waitForRuleSuccessOrStatus(supertest, id); + await waitForSignalsToBePresent(supertest, 4, [id]); + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + query: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.query, + enabled: 1, + alerts: 4, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + enabled: 1, + alerts: 4, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "notifications_disabled" to be "1" for rule that has at least "1" action(s) and the alert is "disabled"/"in-active"', async () => { + const rule = getRuleForSignalTesting(['telemetry']); + const hookAction = await createNewAction(supertest); + const ruleToCreate = getRuleWithWebHookAction(hookAction.id, false, rule); + await createRule(supertest, ruleToCreate); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + query: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.query, + notifications_disabled: 1, + disabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + notifications_disabled: 1, + disabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "notifications_enabled" to be "1" for rule that has at least "1" action(s) and the alert is "enabled"/"active"', async () => { + const rule = getRuleForSignalTesting(['telemetry']); + const hookAction = await createNewAction(supertest); + const ruleToCreate = getRuleWithWebHookAction(hookAction.id, true, rule); + const { id } = await createRule(supertest, ruleToCreate); + await waitForRuleSuccessOrStatus(supertest, id); + await waitForSignalsToBePresent(supertest, 4, [id]); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + query: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.query, + enabled: 1, + alerts: 4, + notifications_enabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + enabled: 1, + alerts: 4, + notifications_enabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "legacy_notifications_disabled" to be "1" for rule that has at least "1" legacy action(s) and the alert is "disabled"/"in-active"', async () => { + const rule = getRuleForSignalTesting(['telemetry'], 'rule-1', false); + const { id } = await createRule(supertest, rule); + const hookAction = await createNewAction(supertest); + await createLegacyRuleAction(supertest, id, hookAction.id); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + query: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.query, + disabled: 1, + legacy_notifications_disabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + disabled: 1, + legacy_notifications_disabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "legacy_notifications_enabled" to be "1" for rule that has at least "1" legacy action(s) and the alert is "enabled"/"active"', async () => { + const rule = getRuleForSignalTesting(['telemetry']); + const { id } = await createRule(supertest, rule); + const hookAction = await createNewAction(supertest); + await createLegacyRuleAction(supertest, id, hookAction.id); + await waitForRuleSuccessOrStatus(supertest, id); + await waitForSignalsToBePresent(supertest, 4, [id]); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + query: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.query, + alerts: 4, + enabled: 1, + legacy_notifications_enabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + alerts: 4, + enabled: 1, + legacy_notifications_enabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + }); + + describe('"eql" rule type', () => { + it('should show "notifications_enabled", "notifications_disabled" "legacy_notifications_enabled", "legacy_notifications_disabled", all to be "0" for "disabled"/"in-active" rule that does not have any actions', async () => { + const rule = getEqlRuleForSignalTesting(['telemetry'], 'rule-1', false); + await createRule(supertest, rule); + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + eql: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.eql, + disabled: 1, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + disabled: 1, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "notifications_enabled", "notifications_disabled" "legacy_notifications_enabled", "legacy_notifications_disabled", all to be "0" for "enabled"/"active" rule that does not have any actions', async () => { + const rule = getEqlRuleForSignalTesting(['telemetry']); + const { id } = await createRule(supertest, rule); + await waitForRuleSuccessOrStatus(supertest, id); + await waitForSignalsToBePresent(supertest, 4, [id]); + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + eql: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.eql, + enabled: 1, + alerts: 4, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + enabled: 1, + alerts: 4, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "notifications_disabled" to be "1" for rule that has at least "1" action(s) and the alert is "disabled"/"in-active"', async () => { + const rule = getEqlRuleForSignalTesting(['telemetry']); + const hookAction = await createNewAction(supertest); + const ruleToCreate = getRuleWithWebHookAction(hookAction.id, false, rule); + await createRule(supertest, ruleToCreate); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + eql: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.eql, + notifications_disabled: 1, + disabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + notifications_disabled: 1, + disabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "notifications_enabled" to be "1" for rule that has at least "1" action(s) and the alert is "enabled"/"active"', async () => { + const rule = getEqlRuleForSignalTesting(['telemetry']); + const hookAction = await createNewAction(supertest); + const ruleToCreate = getRuleWithWebHookAction(hookAction.id, true, rule); + const { id } = await createRule(supertest, ruleToCreate); + await waitForRuleSuccessOrStatus(supertest, id); + await waitForSignalsToBePresent(supertest, 4, [id]); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + eql: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.eql, + enabled: 1, + alerts: 4, + notifications_enabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + enabled: 1, + alerts: 4, + notifications_enabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "legacy_notifications_disabled" to be "1" for rule that has at least "1" legacy action(s) and the alert is "disabled"/"in-active"', async () => { + const rule = getEqlRuleForSignalTesting(['telemetry'], 'rule-1', false); + const { id } = await createRule(supertest, rule); + const hookAction = await createNewAction(supertest); + await createLegacyRuleAction(supertest, id, hookAction.id); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + eql: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.eql, + disabled: 1, + legacy_notifications_disabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + disabled: 1, + legacy_notifications_disabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "legacy_notifications_enabled" to be "1" for rule that has at least "1" legacy action(s) and the alert is "enabled"/"active"', async () => { + const rule = getEqlRuleForSignalTesting(['telemetry']); + const { id } = await createRule(supertest, rule); + const hookAction = await createNewAction(supertest); + await createLegacyRuleAction(supertest, id, hookAction.id); + await waitForRuleSuccessOrStatus(supertest, id); + await waitForSignalsToBePresent(supertest, 4, [id]); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + eql: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.eql, + alerts: 4, + enabled: 1, + legacy_notifications_enabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + alerts: 4, + enabled: 1, + legacy_notifications_enabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + }); + + describe('"threshold" rule type', () => { + it('should show "notifications_enabled", "notifications_disabled" "legacy_notifications_enabled", "legacy_notifications_disabled", all to be "0" for "disabled"/"in-active" rule that does not have any actions', async () => { + const rule: ThresholdCreateSchema = { + ...getThresholdRuleForSignalTesting(['telemetry'], 'rule-1', false), + threshold: { + field: 'keyword', + value: 1, + }, + }; + await createRule(supertest, rule); + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + threshold: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.threshold, + disabled: 1, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + disabled: 1, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "notifications_enabled", "notifications_disabled" "legacy_notifications_enabled", "legacy_notifications_disabled", all to be "0" for "enabled"/"active" rule that does not have any actions', async () => { + const rule: ThresholdCreateSchema = { + ...getThresholdRuleForSignalTesting(['telemetry']), + threshold: { + field: 'keyword', + value: 1, + }, + }; + const { id } = await createRule(supertest, rule); + await waitForRuleSuccessOrStatus(supertest, id); + await waitForSignalsToBePresent(supertest, 4, [id]); + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + threshold: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.threshold, + enabled: 1, + alerts: 4, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + enabled: 1, + alerts: 4, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "notifications_disabled" to be "1" for rule that has at least "1" action(s) and the alert is "disabled"/"in-active"', async () => { + const rule: ThresholdCreateSchema = { + ...getThresholdRuleForSignalTesting(['telemetry'], 'rule-1', false), + threshold: { + field: 'keyword', + value: 1, + }, + }; + const hookAction = await createNewAction(supertest); + const ruleToCreate = getRuleWithWebHookAction(hookAction.id, false, rule); + await createRule(supertest, ruleToCreate); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + threshold: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.threshold, + notifications_disabled: 1, + disabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + notifications_disabled: 1, + disabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "notifications_enabled" to be "1" for rule that has at least "1" action(s) and the alert is "enabled"/"active"', async () => { + const rule: ThresholdCreateSchema = { + ...getThresholdRuleForSignalTesting(['telemetry']), + threshold: { + field: 'keyword', + value: 1, + }, + }; + const hookAction = await createNewAction(supertest); + const ruleToCreate = getRuleWithWebHookAction(hookAction.id, true, rule); + const { id } = await createRule(supertest, ruleToCreate); + await waitForRuleSuccessOrStatus(supertest, id); + await waitForSignalsToBePresent(supertest, 4, [id]); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + threshold: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.threshold, + enabled: 1, + alerts: 4, + notifications_enabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + enabled: 1, + alerts: 4, + notifications_enabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "legacy_notifications_disabled" to be "1" for rule that has at least "1" legacy action(s) and the alert is "disabled"/"in-active"', async () => { + const rule: ThresholdCreateSchema = { + ...getThresholdRuleForSignalTesting(['telemetry'], 'rule-1', false), + threshold: { + field: 'keyword', + value: 1, + }, + }; + const { id } = await createRule(supertest, rule); + const hookAction = await createNewAction(supertest); + await createLegacyRuleAction(supertest, id, hookAction.id); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + threshold: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.threshold, + disabled: 1, + legacy_notifications_disabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + disabled: 1, + legacy_notifications_disabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "legacy_notifications_enabled" to be "1" for rule that has at least "1" legacy action(s) and the alert is "enabled"/"active"', async () => { + const rule: ThresholdCreateSchema = { + ...getThresholdRuleForSignalTesting(['telemetry']), + threshold: { + field: 'keyword', + value: 1, + }, + }; + const { id } = await createRule(supertest, rule); + const hookAction = await createNewAction(supertest); + await createLegacyRuleAction(supertest, id, hookAction.id); + await waitForRuleSuccessOrStatus(supertest, id); + await waitForSignalsToBePresent(supertest, 4, [id]); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + threshold: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.threshold, + alerts: 4, + enabled: 1, + legacy_notifications_enabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + alerts: 4, + enabled: 1, + legacy_notifications_enabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + }); + + // Note: We don't actually find signals with these tests as we don't have a good way of signal finding with ML rules. + describe('"ml" rule type', () => { + it('should show "notifications_enabled", "notifications_disabled" "legacy_notifications_enabled", "legacy_notifications_disabled", all to be "0" for "disabled"/"in-active" rule that does not have any actions', async () => { + const rule = getSimpleMlRule(); + await createRule(supertest, rule); + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + machine_learning: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage + .machine_learning, + disabled: 1, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + disabled: 1, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "notifications_enabled", "notifications_disabled" "legacy_notifications_enabled", "legacy_notifications_disabled", all to be "0" for "enabled"/"active" rule that does not have any actions', async () => { + const rule = getSimpleMlRule('rule-1', true); + await createRule(supertest, rule); + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + machine_learning: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage + .machine_learning, + enabled: 1, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + enabled: 1, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "notifications_disabled" to be "1" for rule that has at least "1" action(s) and the alert is "disabled"/"in-active"', async () => { + const rule = getSimpleMlRule(); + const hookAction = await createNewAction(supertest); + const ruleToCreate = getRuleWithWebHookAction(hookAction.id, false, rule); + await createRule(supertest, ruleToCreate); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + machine_learning: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage + .machine_learning, + notifications_disabled: 1, + disabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + notifications_disabled: 1, + disabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "notifications_enabled" to be "1" for rule that has at least "1" action(s) and the alert is "enabled"/"active"', async () => { + const rule = getSimpleMlRule('rule-1', true); + const hookAction = await createNewAction(supertest); + const ruleToCreate = getRuleWithWebHookAction(hookAction.id, true, rule); + await createRule(supertest, ruleToCreate); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + machine_learning: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage + .machine_learning, + enabled: 1, + notifications_enabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + enabled: 1, + notifications_enabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "legacy_notifications_disabled" to be "1" for rule that has at least "1" legacy action(s) and the alert is "disabled"/"in-active"', async () => { + const rule = getSimpleMlRule(); + const { id } = await createRule(supertest, rule); + const hookAction = await createNewAction(supertest); + await createLegacyRuleAction(supertest, id, hookAction.id); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + machine_learning: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage + .machine_learning, + disabled: 1, + legacy_notifications_disabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + disabled: 1, + legacy_notifications_disabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "legacy_notifications_enabled" to be "1" for rule that has at least "1" legacy action(s) and the alert is "enabled"/"active"', async () => { + const rule = getSimpleMlRule('rule-1', true); + const { id } = await createRule(supertest, rule); + const hookAction = await createNewAction(supertest); + await createLegacyRuleAction(supertest, id, hookAction.id); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + machine_learning: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage + .machine_learning, + enabled: 1, + legacy_notifications_enabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + enabled: 1, + legacy_notifications_enabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + }); + + describe('"indicator_match/threat_match" rule type', () => { + it('should show "notifications_enabled", "notifications_disabled" "legacy_notifications_enabled", "legacy_notifications_disabled", all to be "0" for "disabled"/"in-active" rule that does not have any actions', async () => { + const rule = getSimpleThreatMatch(); + await createRule(supertest, rule); + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + threat_match: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.threat_match, + disabled: 1, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + disabled: 1, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "notifications_enabled", "notifications_disabled" "legacy_notifications_enabled", "legacy_notifications_disabled", all to be "0" for "enabled"/"active" rule that does not have any actions', async () => { + const rule: ThreatMatchCreateSchema = { + ...getSimpleThreatMatch('rule-1', true), + index: ['telemetry'], + threat_index: ['telemetry'], + threat_mapping: [ + { + entries: [ + { + field: 'keyword', + value: 'keyword', + type: 'mapping', + }, + ], + }, + ], + }; + const { id } = await createRule(supertest, rule); + await waitForRuleSuccessOrStatus(supertest, id); + await waitForSignalsToBePresent(supertest, 4, [id]); + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + threat_match: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.threat_match, + enabled: 1, + alerts: 4, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + enabled: 1, + alerts: 4, + notifications_enabled: 0, + notifications_disabled: 0, + legacy_notifications_disabled: 0, + legacy_notifications_enabled: 0, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "notifications_disabled" to be "1" for rule that has at least "1" action(s) and the alert is "disabled"/"in-active"', async () => { + const rule = getSimpleThreatMatch(); + const hookAction = await createNewAction(supertest); + const ruleToCreate = getRuleWithWebHookAction(hookAction.id, false, rule); + await createRule(supertest, ruleToCreate); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + threat_match: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.threat_match, + notifications_disabled: 1, + disabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + notifications_disabled: 1, + disabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "notifications_enabled" to be "1" for rule that has at least "1" action(s) and the alert is "enabled"/"active"', async () => { + const rule: ThreatMatchCreateSchema = { + ...getSimpleThreatMatch('rule-1', true), + index: ['telemetry'], + threat_index: ['telemetry'], + threat_mapping: [ + { + entries: [ + { + field: 'keyword', + value: 'keyword', + type: 'mapping', + }, + ], + }, + ], + }; + const hookAction = await createNewAction(supertest); + const ruleToCreate = getRuleWithWebHookAction(hookAction.id, true, rule); + const { id } = await createRule(supertest, ruleToCreate); + await waitForRuleSuccessOrStatus(supertest, id); + await waitForSignalsToBePresent(supertest, 4, [id]); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + threat_match: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.threat_match, + enabled: 1, + alerts: 4, + notifications_enabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + enabled: 1, + alerts: 4, + notifications_enabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "legacy_notifications_disabled" to be "1" for rule that has at least "1" legacy action(s) and the alert is "disabled"/"in-active"', async () => { + const rule = getSimpleThreatMatch(); + const { id } = await createRule(supertest, rule); + const hookAction = await createNewAction(supertest); + await createLegacyRuleAction(supertest, id, hookAction.id); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + threat_match: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.threat_match, + disabled: 1, + legacy_notifications_disabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + disabled: 1, + legacy_notifications_disabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + + it('should show "legacy_notifications_enabled" to be "1" for rule that has at least "1" legacy action(s) and the alert is "enabled"/"active"', async () => { + const rule: ThreatMatchCreateSchema = { + ...getSimpleThreatMatch('rule-1', true), + index: ['telemetry'], + threat_index: ['telemetry'], + threat_mapping: [ + { + entries: [ + { + field: 'keyword', + value: 'keyword', + type: 'mapping', + }, + ], + }, + ], + }; + const { id } = await createRule(supertest, rule); + const hookAction = await createNewAction(supertest); + await createLegacyRuleAction(supertest, id, hookAction.id); + await waitForRuleSuccessOrStatus(supertest, id); + await waitForSignalsToBePresent(supertest, 4, [id]); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + const expected: DetectionMetrics = { + ...getInitialDetectionMetrics(), + detection_rules: { + ...getInitialDetectionMetrics().detection_rules, + detection_rule_usage: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage, + threat_match: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.threat_match, + alerts: 4, + enabled: 1, + legacy_notifications_enabled: 1, + }, + custom_total: { + ...getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total, + alerts: 4, + enabled: 1, + legacy_notifications_enabled: 1, + }, + }, + }, + }; + expect(stats).to.eql(expected); + }); + }); + }); + + describe('"pre-packaged"/"immutable" rules', async () => { + it('should show stats for totals for in-active pre-packaged rules', async () => { + await installPrePackagedRules(supertest); + await retry.try(async () => { + const stats = await getStats(supertest, log); + expect(stats.detection_rules.detection_rule_usage.elastic_total.enabled).above(0); + expect(stats.detection_rules.detection_rule_usage.elastic_total.disabled).above(0); + expect(stats.detection_rules.detection_rule_usage.elastic_total.enabled).above(0); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.legacy_notifications_enabled + ).to.eql(0); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.legacy_notifications_disabled + ).to.eql(0); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.notifications_enabled + ).to.eql(0); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.notifications_disabled + ).to.eql(0); + expect(stats.detection_rules.detection_rule_detail.length).above(0); + expect(stats.detection_rules.detection_rule_usage.custom_total).to.eql({ + enabled: 0, + disabled: 0, + alerts: 0, + cases: 0, + legacy_notifications_enabled: 0, + legacy_notifications_disabled: 0, + notifications_enabled: 0, + notifications_disabled: 0, + }); + }); + }); + + it('should show stats for the detection_rule_details for a specific pre-packaged rule', async () => { + await installPrePackagedRules(supertest); + await retry.try(async () => { + const stats = await getStats(supertest, log); + + // Rule id of "9a1a2dae-0b5f-4c3d-8305-a268d404c306" is from the file: + // x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/elastic_endpoint_security.json + // We have to search by "rule_name" since the "rule_id" it is storing is the Saved Object ID and not the rule_id + const foundRule = stats.detection_rules.detection_rule_detail.find( + (rule) => rule.rule_id === '9a1a2dae-0b5f-4c3d-8305-a268d404c306' + ); + if (foundRule == null) { + throw new Error('Found rule should not be null. Please change this end to end test.'); + } + const { + created_on: createdOn, + updated_on: updatedOn, + rule_id: ruleId, + ...omittedFields + } = foundRule; + expect(omittedFields).to.eql({ + rule_name: 'Endpoint Security', + rule_type: 'query', + rule_version: 3, + enabled: true, + elastic_rule: true, + alert_count_daily: 0, + cases_count_total: 0, + has_notification: false, + has_legacy_notification: false, + }); + }); + // }); + }); + + it('should show "notifications_disabled" to be "1", "has_notification" to be "true, "has_legacy_notification" to be "false" for rule that has at least "1" action(s) and the alert is "disabled"/"in-active"', async () => { + await installPrePackagedRules(supertest); + // Rule id of "9a1a2dae-0b5f-4c3d-8305-a268d404c306" is from the file: + // x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/elastic_endpoint_security.json + const immutableRule = await getRule(supertest, '9a1a2dae-0b5f-4c3d-8305-a268d404c306'); + const hookAction = await createNewAction(supertest); + const newRuleToUpdate = getSimpleRule(immutableRule.rule_id); + const ruleToUpdate = getRuleWithWebHookAction(hookAction.id, false, newRuleToUpdate); + await updateRule(supertest, ruleToUpdate); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + + // We have to search by "rule_name" since the "rule_id" it is storing is the Saved Object ID and not the rule_id + const foundRule = stats.detection_rules.detection_rule_detail.find( + (rule) => rule.rule_id === '9a1a2dae-0b5f-4c3d-8305-a268d404c306' + ); + if (foundRule == null) { + throw new Error('Found rule should not be null. Please change this end to end test.'); + } + const { + created_on: createdOn, + updated_on: updatedOn, + rule_id: ruleId, + ...omittedFields + } = foundRule; + expect(omittedFields).to.eql({ + rule_name: 'Simple Rule Query', + rule_type: 'query', + rule_version: 3, + enabled: false, + elastic_rule: true, + alert_count_daily: 0, + cases_count_total: 0, + has_notification: true, + has_legacy_notification: false, + }); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.notifications_disabled + ).to.eql(1); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.legacy_notifications_enabled + ).to.eql(0); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.legacy_notifications_disabled + ).to.eql(0); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.notifications_enabled + ).to.eql(0); + expect(stats.detection_rules.detection_rule_usage.custom_total).to.eql( + getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total + ); + }); + }); + + it('should show "notifications_enabled" to be "1", "has_notification" to be "true, "has_legacy_notification" to be "false" for rule that has at least "1" action(s) and the alert is "enabled"/"active"', async () => { + await installPrePackagedRules(supertest); + // Rule id of "9a1a2dae-0b5f-4c3d-8305-a268d404c306" is from the file: + // x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/elastic_endpoint_security.json + const immutableRule = await getRule(supertest, '9a1a2dae-0b5f-4c3d-8305-a268d404c306'); + const hookAction = await createNewAction(supertest); + const newRuleToUpdate = getSimpleRule(immutableRule.rule_id); + const ruleToUpdate = getRuleWithWebHookAction(hookAction.id, true, newRuleToUpdate); + await updateRule(supertest, ruleToUpdate); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + + // We have to search by "rule_name" since the "rule_id" it is storing is the Saved Object ID and not the rule_id + const foundRule = stats.detection_rules.detection_rule_detail.find( + (rule) => rule.rule_id === '9a1a2dae-0b5f-4c3d-8305-a268d404c306' + ); + if (foundRule == null) { + throw new Error('Found rule should not be null. Please change this end to end test.'); + } + const { + created_on: createdOn, + updated_on: updatedOn, + rule_id: ruleId, + ...omittedFields + } = foundRule; + expect(omittedFields).to.eql({ + rule_name: 'Simple Rule Query', + rule_type: 'query', + rule_version: 3, + enabled: true, + elastic_rule: true, + alert_count_daily: 0, + cases_count_total: 0, + has_notification: true, + has_legacy_notification: false, + }); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.notifications_disabled + ).to.eql(0); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.legacy_notifications_enabled + ).to.eql(0); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.legacy_notifications_disabled + ).to.eql(0); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.notifications_enabled + ).to.eql(1); + expect(stats.detection_rules.detection_rule_usage.custom_total).to.eql( + getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total + ); + }); + }); + + it('should show "legacy_notifications_disabled" to be "1", "has_notification" to be "false, "has_legacy_notification" to be "true" for rule that has at least "1" action(s) and the alert is "disabled"/"in-active"', async () => { + await installPrePackagedRules(supertest); + // Rule id of "9a1a2dae-0b5f-4c3d-8305-a268d404c306" is from the file: + // x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/elastic_endpoint_security.json + const immutableRule = await getRule(supertest, '9a1a2dae-0b5f-4c3d-8305-a268d404c306'); + const hookAction = await createNewAction(supertest); + const newRuleToUpdate = getSimpleRule(immutableRule.rule_id, false); + await updateRule(supertest, newRuleToUpdate); + await createLegacyRuleAction(supertest, immutableRule.id, hookAction.id); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + // We have to search by "rule_name" since the "rule_id" it is storing is the Saved Object ID and not the rule_id + const foundRule = stats.detection_rules.detection_rule_detail.find( + (rule) => rule.rule_id === '9a1a2dae-0b5f-4c3d-8305-a268d404c306' + ); + if (foundRule == null) { + throw new Error('Found rule should not be null. Please change this end to end test.'); + } + const { + created_on: createdOn, + updated_on: updatedOn, + rule_id: ruleId, + ...omittedFields + } = foundRule; + expect(omittedFields).to.eql({ + rule_name: 'Simple Rule Query', + rule_type: 'query', + rule_version: 3, + enabled: false, + elastic_rule: true, + alert_count_daily: 0, + cases_count_total: 0, + has_notification: false, + has_legacy_notification: true, + }); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.notifications_disabled + ).to.eql(0); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.legacy_notifications_enabled + ).to.eql(0); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.legacy_notifications_disabled + ).to.eql(1); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.notifications_enabled + ).to.eql(0); + expect(stats.detection_rules.detection_rule_usage.custom_total).to.eql( + getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total + ); + }); + }); + + it('should show "legacy_notifications_enabled" to be "1", "has_notification" to be "false, "has_legacy_notification" to be "true" for rule that has at least "1" action(s) and the alert is "enabled"/"active"', async () => { + await installPrePackagedRules(supertest); + // Rule id of "9a1a2dae-0b5f-4c3d-8305-a268d404c306" is from the file: + // x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/elastic_endpoint_security.json + const immutableRule = await getRule(supertest, '9a1a2dae-0b5f-4c3d-8305-a268d404c306'); + const hookAction = await createNewAction(supertest); + const newRuleToUpdate = getSimpleRule(immutableRule.rule_id, true); + await updateRule(supertest, newRuleToUpdate); + await createLegacyRuleAction(supertest, immutableRule.id, hookAction.id); + + await retry.try(async () => { + const stats = await getStats(supertest, log); + // We have to search by "rule_name" since the "rule_id" it is storing is the Saved Object ID and not the rule_id + const foundRule = stats.detection_rules.detection_rule_detail.find( + (rule) => rule.rule_id === '9a1a2dae-0b5f-4c3d-8305-a268d404c306' + ); + if (foundRule == null) { + throw new Error('Found rule should not be null. Please change this end to end test.'); + } + const { + created_on: createdOn, + updated_on: updatedOn, + rule_id: ruleId, + ...omittedFields + } = foundRule; + expect(omittedFields).to.eql({ + rule_name: 'Simple Rule Query', + rule_type: 'query', + rule_version: 3, + enabled: true, + elastic_rule: true, + alert_count_daily: 0, + cases_count_total: 0, + has_notification: false, + has_legacy_notification: true, + }); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.notifications_disabled + ).to.eql(0); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.legacy_notifications_enabled + ).to.eql(1); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.legacy_notifications_disabled + ).to.eql(0); + expect( + stats.detection_rules.detection_rule_usage.elastic_total.notifications_enabled + ).to.eql(0); + expect(stats.detection_rules.detection_rule_usage.custom_total).to.eql( + getInitialDetectionMetrics().detection_rules.detection_rule_usage.custom_total + ); + }); + }); + }); + }); +}; diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/telemetry/index.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/telemetry/index.ts new file mode 100644 index 0000000000000..cf9db6373033a --- /dev/null +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/telemetry/index.ts @@ -0,0 +1,18 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../../common/ftr_provider_context'; + +// eslint-disable-next-line import/no-default-export +export default ({ loadTestFile }: FtrProviderContext): void => { + describe('Detection rule type telemetry', function () { + describe('', function () { + this.tags('ciGroup11'); + loadTestFile(require.resolve('./detection_rules')); + }); + }); +}; diff --git a/x-pack/test/detection_engine_api_integration/utils.ts b/x-pack/test/detection_engine_api_integration/utils.ts index 2ddcfb4aa47f5..09d267b96a08c 100644 --- a/x-pack/test/detection_engine_api_integration/utils.ts +++ b/x-pack/test/detection_engine_api_integration/utils.ts @@ -23,6 +23,7 @@ import type { ExceptionListSchema, } from '@kbn/securitysolution-io-ts-list-types'; import { EXCEPTION_LIST_ITEM_URL, EXCEPTION_LIST_URL } from '@kbn/securitysolution-list-constants'; +import { ToolingLog } from '@kbn/dev-utils'; import { PrePackagedRulesAndTimelinesStatusSchema } from '../../plugins/security_solution/common/detection_engine/schemas/response'; import { CreateRulesSchema, @@ -31,6 +32,7 @@ import { QueryCreateSchema, EqlCreateSchema, ThresholdCreateSchema, + ThreatMatchCreateSchema, } from '../../plugins/security_solution/common/detection_engine/schemas/request'; import { Signal } from '../../plugins/security_solution/server/lib/detection_engine/signals/types'; import { signalsMigrationType } from '../../plugins/security_solution/server/lib/detection_engine/migrations/saved_objects'; @@ -50,6 +52,7 @@ import { INTERNAL_RULE_ID_KEY, UPDATE_OR_CREATE_LEGACY_ACTIONS, } from '../../plugins/security_solution/common/constants'; +import { DetectionMetrics } from '../../plugins/security_solution/server/usage/detections/types'; /** * This will remove server generated properties such as date times, etc... @@ -533,6 +536,7 @@ export const createLegacyRuleAction = async ( }, ], }); + /** * Deletes the signals index for use inside of afterEach blocks of tests * @param supertest The supertest client library @@ -1712,3 +1716,85 @@ export const getOpenSignals = async ( await refreshIndex(es, rule.output_index); return getSignalsByIds(supertest, [rule.id]); }; + +/** + * Cluster stats URL. Replace this with any from kibana core if there is ever a constant there for this. + */ +export const getStatsUrl = (): string => '/api/telemetry/v2/clusters/_stats'; + +/** + * Given a body this will return the detection metrics from it. + * @param body The Stats body + * @returns Detection metrics + */ +export const getDetectionMetricsFromBody = ( + body: Array<{ + stats: { + stack_stats: { + kibana: { plugins: { security_solution: { detectionMetrics: DetectionMetrics } } }; + }; + }; + }> +): DetectionMetrics => { + return body[0].stats.stack_stats.kibana.plugins.security_solution.detectionMetrics; +}; + +/** + * Gets the stats from the stats endpoint + * @param supertest The supertest agent. + * @returns The detection metrics + */ +export const getStats = async ( + supertest: SuperTest.SuperTest, + log: ToolingLog +): Promise => { + const response = await supertest + .post(getStatsUrl()) + .set('kbn-xsrf', 'true') + .send({ unencrypted: true, refreshCache: true }); + if (response.status !== 200) { + log.error( + `Did not get an expected 200 "ok" when getting the stats for detections. CI issues could happen. Suspect this line if you are seeing CI issues. body: ${JSON.stringify( + response.body + )}, status: ${JSON.stringify(response.status)}` + ); + } + return getDetectionMetricsFromBody(response.body); +}; + +/** + * This is a typical simple indicator match/threat match for testing that is easy for most basic testing + * @param ruleId + * @param enabled Enables the rule on creation or not. Defaulted to false. + */ +export const getSimpleThreatMatch = ( + ruleId = 'rule-1', + enabled = false +): ThreatMatchCreateSchema => ({ + description: 'Detecting root and admin users', + name: 'Query with a rule id', + severity: 'high', + enabled, + index: ['auditbeat-*'], + type: 'threat_match', + risk_score: 55, + language: 'kuery', + rule_id: ruleId, + from: '1900-01-01T00:00:00.000Z', + query: '*:*', + threat_query: '*:*', + threat_index: ['auditbeat-*'], + threat_mapping: [ + // We match host.name against host.name + { + entries: [ + { + field: 'host.name', + value: 'host.name', + type: 'mapping', + }, + ], + }, + ], + threat_filters: [], +}); diff --git a/x-pack/test/fleet_api_integration/apis/agent_policy/agent_policy.ts b/x-pack/test/fleet_api_integration/apis/agent_policy/agent_policy.ts index ac3589ab1b579..dcc08fa70405c 100644 --- a/x-pack/test/fleet_api_integration/apis/agent_policy/agent_policy.ts +++ b/x-pack/test/fleet_api_integration/apis/agent_policy/agent_policy.ts @@ -133,6 +133,45 @@ export default function (providerContext: FtrProviderContext) { .expect(409); }); + it('should allow to create policy with the system integration policy and increment correctly the name if there is more than 10 package policy', async () => { + // load a bunch of fake system integration policy + for (let i = 0; i < 10; i++) { + await kibanaServer.savedObjects.create({ + id: `package-policy-test-${i}`, + type: PACKAGE_POLICY_SAVED_OBJECT_TYPE, + overwrite: true, + attributes: { + name: `system-${i + 1}`, + package: { + name: 'system', + }, + }, + }); + packagePoliciesToDeleteIds.push(`package-policy-test-${i}`); + } + + // first one succeeds + const res = await supertest + .post(`/api/fleet/agent_policies`) + .query({ + sys_monitoring: true, + }) + .set('kbn-xsrf', 'xxxx') + .send({ + name: `Policy with system monitoring ${Date.now()}`, + namespace: 'default', + }) + .expect(200); + + const { + body: { items: policies }, + } = await supertest.get(`/api/fleet/agent_policies?full=true`).expect(200); + + const policy = policies.find((p: any) => (p.id = res.body.item.id)); + + expect(policy.package_policies[0].name).be('system-11'); + }); + it('should allow to create policy with the system integration policy and increment correctly the name', async () => { // load a bunch of fake system integration policy await kibanaServer.savedObjects.create({ diff --git a/x-pack/test/fleet_api_integration/apis/agents/upgrade.ts b/x-pack/test/fleet_api_integration/apis/agents/upgrade.ts index 8708b035050cc..8901c3166ca14 100644 --- a/x-pack/test/fleet_api_integration/apis/agents/upgrade.ts +++ b/x-pack/test/fleet_api_integration/apis/agents/upgrade.ts @@ -57,7 +57,6 @@ export default function (providerContext: FtrProviderContext) { .set('kbn-xsrf', 'xxx') .send({ version: kibanaVersion, - source_uri: 'http://path/to/download', }) .expect(200); @@ -160,9 +159,23 @@ export default function (providerContext: FtrProviderContext) { .set('kbn-xsrf', 'xxx') .send({ version: higherVersion, + }) + .expect(400); + }); + it('should respond 400 if trying to upgrade with source_uri set', async () => { + const kibanaVersion = await kibanaServer.version.get(); + const res = await supertest + .post(`/api/fleet/agents/agent1/upgrade`) + .set('kbn-xsrf', 'xxx') + .send({ + version: kibanaVersion, source_uri: 'http://path/to/download', }) .expect(400); + + expect(res.body.message).to.eql( + `source_uri is not allowed or recommended in production. Set xpack.fleet.developer.allowAgentUpgradeSourceUri in kibana.yml to enable.` + ); }); it('should respond 400 if trying to upgrade an agent that is unenrolling', async () => { const kibanaVersion = await kibanaServer.version.get(); @@ -545,6 +558,43 @@ export default function (providerContext: FtrProviderContext) { .expect(400); }); + it('should respond 400 if trying to bulk upgrade to a version that does not match installed kibana version', async () => { + const kibanaVersion = await kibanaServer.version.get(); + await es.update({ + id: 'agent1', + refresh: 'wait_for', + index: AGENTS_INDEX, + body: { + doc: { + local_metadata: { elastic: { agent: { upgradeable: true, version: '0.0.0' } } }, + }, + }, + }); + await es.update({ + id: 'agent2', + refresh: 'wait_for', + index: AGENTS_INDEX, + body: { + doc: { + local_metadata: { elastic: { agent: { upgradeable: true, version: '0.0.0' } } }, + }, + }, + }); + const res = await supertest + .post(`/api/fleet/agents/bulk_upgrade`) + .set('kbn-xsrf', 'xxx') + .send({ + agents: ['agent1', 'agent2'], + version: kibanaVersion, + source_uri: 'http://path/to/download', + force: true, + }) + .expect(400); + expect(res.body.message).to.eql( + `source_uri is not allowed or recommended in production. Set xpack.fleet.developer.allowAgentUpgradeSourceUri in kibana.yml to enable.` + ); + }); + it('enrolled in a hosted agent policy bulk upgrade should respond with 200 and object of results. Should not update the hosted agent SOs', async () => { // move agent2 to policy2 to keep it regular await supertest.put(`/api/fleet/agents/agent2/reassign`).set('kbn-xsrf', 'xxx').send({ diff --git a/x-pack/test/fleet_api_integration/apis/epm/final_pipeline.ts b/x-pack/test/fleet_api_integration/apis/epm/final_pipeline.ts index 8c6603a3e38b0..32ede683b1e36 100644 --- a/x-pack/test/fleet_api_integration/apis/epm/final_pipeline.ts +++ b/x-pack/test/fleet_api_integration/apis/epm/final_pipeline.ts @@ -197,12 +197,17 @@ export default function (providerContext: FtrProviderContext) { for (const scenario of scenarios) { it(`Should write the correct event.agent_id_status for ${scenario.name}`, async () => { // Create an API key - const { body: apiKeyRes } = await es.security.createApiKey({ - body: { - name: `test api key`, - ...(scenario.apiKey || {}), + const { body: apiKeyRes } = await es.security.createApiKey( + { + body: { + name: `test api key`, + ...(scenario.apiKey || {}), + }, }, - }); + { + headers: { 'es-security-runas-user': 'elastic' }, // run as elastic suer + } + ); const res = await indexUsingApiKey( { diff --git a/x-pack/test/fleet_api_integration/apis/index.js b/x-pack/test/fleet_api_integration/apis/index.js index fd5ac05247fd2..d2f414c09ee20 100644 --- a/x-pack/test/fleet_api_integration/apis/index.js +++ b/x-pack/test/fleet_api_integration/apis/index.js @@ -9,6 +9,9 @@ import { setupTestUsers } from './test_users'; export default function ({ loadTestFile, getService }) { describe('Fleet Endpoints', function () { + // SKIPPED: https://github.com/elastic/kibana/issues/127198 + this.onlyEsVersion('<=7'); + before(async () => { await setupTestUsers(getService('security')); }); diff --git a/x-pack/test/fleet_api_integration/apis/package_policy/upgrade.ts b/x-pack/test/fleet_api_integration/apis/package_policy/upgrade.ts index a91e18b8bad6a..4462226f8e6a8 100644 --- a/x-pack/test/fleet_api_integration/apis/package_policy/upgrade.ts +++ b/x-pack/test/fleet_api_integration/apis/package_policy/upgrade.ts @@ -136,6 +136,7 @@ export default function (providerContext: FtrProviderContext) { expect(body.length).to.be(1); expect(body[0].diff?.length).to.be(2); + expect(body[0].agent_diff?.length).to.be(1); expect(body[0].hasErrors).to.be(false); const [currentPackagePolicy, proposedPackagePolicy] = body[0].diff ?? []; @@ -263,6 +264,7 @@ export default function (providerContext: FtrProviderContext) { expect(body.length).to.be(1); expect(body[0].diff?.length).to.be(2); + expect(body[0].agent_diff?.length).to.be(1); expect(body[0].hasErrors).to.be(false); const [currentPackagePolicy, proposedPackagePolicy] = body[0].diff ?? []; @@ -374,6 +376,7 @@ export default function (providerContext: FtrProviderContext) { expect(body.length).to.be(1); expect(body[0].diff?.length).to.be(2); + expect(body[0].agent_diff?.length).to.be(1); expect(body[0].hasErrors).to.be(false); const [currentPackagePolicy, proposedPackagePolicy] = body[0].diff ?? []; @@ -484,6 +487,7 @@ export default function (providerContext: FtrProviderContext) { expect(body.length).to.be(1); expect(body[0].diff?.length).to.be(2); + expect(body[0].agent_diff?.length).to.be(1); expect(body[0].hasErrors).to.be(false); }); }); diff --git a/x-pack/test/fleet_api_integration/config.ts b/x-pack/test/fleet_api_integration/config.ts index d2b61a3f5c321..e71fd07f6139b 100644 --- a/x-pack/test/fleet_api_integration/config.ts +++ b/x-pack/test/fleet_api_integration/config.ts @@ -63,6 +63,10 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { `--xpack.fleet.packages.0.name=endpoint`, `--xpack.fleet.packages.0.version=latest`, ...(registryPort ? [`--xpack.fleet.registryUrl=http://localhost:${registryPort}`] : []), + // Enable debug fleet logs by default + `--logging.loggers[0].name=plugins.fleet`, + `--logging.loggers[0].level=debug`, + `--logging.loggers[0].appenders=${JSON.stringify(['default'])}`, ], }, }; diff --git a/x-pack/test/fleet_functional/config.ts b/x-pack/test/fleet_functional/config.ts index b68fd08b7890f..70b011f285bc1 100644 --- a/x-pack/test/fleet_functional/config.ts +++ b/x-pack/test/fleet_functional/config.ts @@ -32,6 +32,10 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { serverArgs: [ ...xpackFunctionalConfig.get('kbnTestServer.serverArgs'), '--xpack.fleet.enabled=true', + // Enable debug fleet logs by default + `--logging.loggers[0].name=plugins.fleet`, + `--logging.loggers[0].level=debug`, + `--logging.loggers[0].appenders=${JSON.stringify(['default'])}`, ], }, layout: { diff --git a/x-pack/test/functional/apps/apm/feature_controls/apm_security.ts b/x-pack/test/functional/apps/apm/feature_controls/apm_security.ts index b5a206a43aeb6..3a0e4046291e4 100644 --- a/x-pack/test/functional/apps/apm/feature_controls/apm_security.ts +++ b/x-pack/test/functional/apps/apm/feature_controls/apm_security.ts @@ -137,7 +137,8 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }); }); - describe('no apm privileges', () => { + // FLAKY: https://github.com/elastic/kibana/issues/122001 + describe.skip('no apm privileges', () => { before(async () => { await security.role.create('no_apm_privileges_role', { elasticsearch: { diff --git a/x-pack/test/functional/apps/dashboard/index.ts b/x-pack/test/functional/apps/dashboard/index.ts index 59211ecf37f2d..a3dd18d57d0f2 100644 --- a/x-pack/test/functional/apps/dashboard/index.ts +++ b/x-pack/test/functional/apps/dashboard/index.ts @@ -20,6 +20,7 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./dashboard_tagging')); loadTestFile(require.resolve('./dashboard_lens_by_value')); loadTestFile(require.resolve('./dashboard_maps_by_value')); + loadTestFile(require.resolve('./panel_titles')); loadTestFile(require.resolve('./migration_smoke_tests/lens_migration_smoke_test')); loadTestFile(require.resolve('./migration_smoke_tests/visualize_migration_smoke_test')); diff --git a/x-pack/test/functional/apps/dashboard/panel_titles.ts b/x-pack/test/functional/apps/dashboard/panel_titles.ts new file mode 100644 index 0000000000000..befe18951cb7e --- /dev/null +++ b/x-pack/test/functional/apps/dashboard/panel_titles.ts @@ -0,0 +1,155 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default function ({ getService, getPageObjects }: FtrProviderContext) { + const esArchiver = getService('esArchiver'); + const testSubjects = getService('testSubjects'); + const retry = getService('retry'); + const dashboardPanelActions = getService('dashboardPanelActions'); + const PageObjects = getPageObjects([ + 'common', + 'dashboard', + 'visualize', + 'visEditor', + 'timePicker', + 'lens', + ]); + + const DASHBOARD_NAME = 'Panel Title Test'; + const CUSTOM_TITLE = 'Test Custom Title'; + const EMPTY_TITLE = '[No Title]'; + const LIBRARY_TITLE_FOR_CUSTOM_TESTS = 'Library Title for Custom Title Tests'; + const LIBRARY_TITLE_FOR_EMPTY_TESTS = 'Library Title for Empty Title Tests'; + + describe('panel titles', () => { + before(async () => { + await esArchiver.load('test/functional/fixtures/es_archiver/dashboard/current/kibana'); + await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional'); + await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/basic'); + await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.preserveCrossAppState(); + await PageObjects.dashboard.clickNewDashboard(); + await PageObjects.dashboard.saveDashboard(DASHBOARD_NAME); + }); + + describe('panel titles - by value', () => { + const clearUnsavedChanges = async () => { + await retry.try(async () => { + // avoid flaky test by surrounding in retry + await testSubjects.existOrFail('dashboardUnsavedChangesBadge'); + await PageObjects.dashboard.clickQuickSave(); + await testSubjects.missingOrFail('dashboardUnsavedChangesBadge'); + }); + }; + + it('new panel by value has empty title', async () => { + await PageObjects.lens.createAndAddLensFromDashboard({}); + const newPanelTitle = (await PageObjects.dashboard.getPanelTitles())[0]; + expect(newPanelTitle).to.equal(EMPTY_TITLE); + }); + + it('saving new panel with blank title clears "unsaved changes" badge', async () => { + await dashboardPanelActions.setCustomPanelTitle(''); + await clearUnsavedChanges(); + }); + + it('custom title causes unsaved changes and saving clears it', async () => { + await dashboardPanelActions.setCustomPanelTitle(CUSTOM_TITLE); + const panelTitle = (await PageObjects.dashboard.getPanelTitles())[0]; + expect(panelTitle).to.equal(CUSTOM_TITLE); + await clearUnsavedChanges(); + }); + + it('resetting title on a by value panel sets it to the empty string', async () => { + const BY_VALUE_TITLE = 'Reset Title - By Value'; + await dashboardPanelActions.setCustomPanelTitle(BY_VALUE_TITLE); + + await dashboardPanelActions.resetCustomPanelTitle(); + const panelTitle = (await PageObjects.dashboard.getPanelTitles())[0]; + expect(panelTitle).to.equal(EMPTY_TITLE); + await clearUnsavedChanges(); + }); + + it('blank titles are hidden in view mode', async () => { + await PageObjects.dashboard.clickCancelOutOfEditMode(); + + const titleVisibility = (await PageObjects.dashboard.getVisibilityOfPanelTitles())[0]; + expect(titleVisibility).to.be(false); + }); + + it('custom titles are visible in view mode', async () => { + await PageObjects.dashboard.switchToEditMode(); + await dashboardPanelActions.setCustomPanelTitle(CUSTOM_TITLE); + await PageObjects.dashboard.clickQuickSave(); + await PageObjects.dashboard.clickCancelOutOfEditMode(); + + const titleVisibility = (await PageObjects.dashboard.getVisibilityOfPanelTitles())[0]; + expect(titleVisibility).to.be(true); + }); + + it('hiding an individual panel title hides it in view mode', async () => { + await PageObjects.dashboard.switchToEditMode(); + await dashboardPanelActions.toggleHidePanelTitle(); + await PageObjects.dashboard.clickQuickSave(); + await PageObjects.dashboard.clickCancelOutOfEditMode(); + + const titleVisibility = (await PageObjects.dashboard.getVisibilityOfPanelTitles())[0]; + expect(titleVisibility).to.be(false); + + // undo the previous hide panel toggle (i.e. make the panel visible) to keep state consistent + await PageObjects.dashboard.switchToEditMode(); + await dashboardPanelActions.toggleHidePanelTitle(); + await PageObjects.dashboard.clickQuickSave(); + }); + }); + + describe('panel titles - by reference', () => { + it('linking a by value panel with a custom title to the library will overwrite the custom title with the library title', async () => { + await dashboardPanelActions.setCustomPanelTitle(CUSTOM_TITLE); + await dashboardPanelActions.saveToLibrary(LIBRARY_TITLE_FOR_CUSTOM_TESTS); + await retry.try(async () => { + // need to surround in 'retry' due to delays in HTML updates causing the title read to be behind + const newPanelTitle = (await PageObjects.dashboard.getPanelTitles())[0]; + expect(newPanelTitle).to.equal(LIBRARY_TITLE_FOR_CUSTOM_TESTS); + }); + }); + + it('resetting title on a by reference panel sets it to the library title', async () => { + await dashboardPanelActions.setCustomPanelTitle('This should go away'); + await dashboardPanelActions.resetCustomPanelTitle(); + const resetPanelTitle = (await PageObjects.dashboard.getPanelTitles())[0]; + expect(resetPanelTitle).to.equal(LIBRARY_TITLE_FOR_CUSTOM_TESTS); + }); + + it('unlinking a by reference panel with a custom title will keep the current title', async () => { + await dashboardPanelActions.setCustomPanelTitle(CUSTOM_TITLE); + await dashboardPanelActions.unlinkFromLibary(); + const newPanelTitle = (await PageObjects.dashboard.getPanelTitles())[0]; + expect(newPanelTitle).to.equal(CUSTOM_TITLE); + }); + + it("linking a by value panel with a blank title to the library will set the panel's title to the library title", async () => { + await dashboardPanelActions.setCustomPanelTitle(''); + await dashboardPanelActions.saveToLibrary(LIBRARY_TITLE_FOR_EMPTY_TESTS); + await retry.try(async () => { + // need to surround in 'retry' due to delays in HTML updates causing the title read to be behind + const newPanelTitle = (await PageObjects.dashboard.getPanelTitles())[0]; + expect(newPanelTitle).to.equal(LIBRARY_TITLE_FOR_EMPTY_TESTS); + }); + }); + + it('unlinking a by reference panel without a custom title will keep the library title', async () => { + await dashboardPanelActions.unlinkFromLibary(); + const newPanelTitle = (await PageObjects.dashboard.getPanelTitles())[0]; + expect(newPanelTitle).to.equal(LIBRARY_TITLE_FOR_EMPTY_TESTS); + }); + }); + }); +} diff --git a/x-pack/test/functional/apps/dashboard_mode/dashboard_view_mode.js b/x-pack/test/functional/apps/dashboard_mode/dashboard_view_mode.js index 74f4dca06c717..3e77391ff2c4a 100644 --- a/x-pack/test/functional/apps/dashboard_mode/dashboard_view_mode.js +++ b/x-pack/test/functional/apps/dashboard_mode/dashboard_view_mode.js @@ -67,7 +67,7 @@ export default function ({ getService, getPageObjects }) { await security.testUser.restoreDefaults(); }); - it('shows only the dashboard app link', async () => { + it.skip('shows only the dashboard app link', async () => { await security.testUser.setRoles(['test_logstash_reader', 'kibana_dashboard_only_user']); await PageObjects.header.waitUntilLoadingHasFinished(); const appLinks = await appsMenu.readLinks(); @@ -81,7 +81,7 @@ export default function ({ getService, getPageObjects }) { expect(currentUrl).to.contain('dashboards'); }); - it('does not show the create dashboard button', async () => { + it.skip('does not show the create dashboard button', async () => { const createNewButtonExists = await testSubjects.exists('newItemButton'); expect(createNewButtonExists).to.be(false); }); @@ -104,7 +104,7 @@ export default function ({ getService, getPageObjects }) { expect(fullScreenMenuItemExists).to.be(true); }); - it('does not show the edit menu item', async () => { + it.skip('does not show the edit menu item', async () => { const editMenuItemExists = await testSubjects.exists('dashboardEditMode'); expect(editMenuItemExists).to.be(false); }); @@ -124,7 +124,7 @@ export default function ({ getService, getPageObjects }) { expect(shareMenuItemExists).to.be(true); }); - it(`Permalinks doesn't show create short-url button`, async () => { + it.skip(`Permalinks doesn't show create short-url button`, async () => { await PageObjects.share.openShareMenuItem('Permalinks'); await PageObjects.share.createShortUrlMissingOrFail(); }); diff --git a/x-pack/test/functional/apps/discover/__snapshots__/reporting.snap b/x-pack/test/functional/apps/discover/__snapshots__/reporting.snap index 02fc01401a492..a138c3c67d809 100644 --- a/x-pack/test/functional/apps/discover/__snapshots__/reporting.snap +++ b/x-pack/test/functional/apps/discover/__snapshots__/reporting.snap @@ -1649,7 +1649,7 @@ exports[`discover Discover CSV Export Generate CSV: archived search generates a " `; -exports[`discover Discover CSV Export Generate CSV: new search generates a large export 1`] = ` +exports[`discover Discover CSV Export Generate CSV: new search (7.17) generates a large export 1`] = ` "\\"_id\\",\\"_index\\",\\"_score\\",\\"_type\\",category,\\"category.keyword\\",currency,\\"customer_first_name\\",\\"customer_first_name.keyword\\",\\"customer_full_name\\",\\"customer_full_name.keyword\\",\\"customer_gender\\",\\"customer_id\\",\\"customer_last_name\\",\\"customer_last_name.keyword\\",\\"customer_phone\\",\\"day_of_week\\",\\"day_of_week_i\\",email,\\"geoip.city_name\\",\\"geoip.continent_name\\",\\"geoip.country_iso_code\\",\\"geoip.location\\",\\"geoip.region_name\\",manufacturer,\\"manufacturer.keyword\\",\\"order_date\\",\\"order_id\\",\\"products._id\\",\\"products._id.keyword\\",\\"products.base_price\\",\\"products.base_unit_price\\",\\"products.category\\",\\"products.category.keyword\\",\\"products.created_on\\",\\"products.discount_amount\\",\\"products.discount_percentage\\",\\"products.manufacturer\\",\\"products.manufacturer.keyword\\",\\"products.min_price\\",\\"products.price\\",\\"products.product_id\\",\\"products.product_name\\",\\"products.product_name.keyword\\",\\"products.quantity\\",\\"products.sku\\",\\"products.tax_amount\\",\\"products.taxful_price\\",\\"products.taxless_price\\",\\"products.unit_discount_amount\\",sku,\\"taxful_total_price\\",\\"taxless_total_price\\",\\"total_quantity\\",\\"total_unique_products\\",type,user 3AMtOW0BH63Xcmy432DJ,ecommerce,\\"-\\",\\"_doc\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Boone\\",\\"Sultan Al Boone\\",MALE,19,Boone,Boone,\\"(empty)\\",Saturday,5,\\"sultan al@boone-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ \\"\\"coordinates\\"\\": [ @@ -1675,7 +1675,7 @@ BgMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"_doc\\",\\"Women's Clothing\\",\\"Wome KQMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"_doc\\",\\"Me" `; -exports[`discover Discover CSV Export Generate CSV: new search generates a large export 2`] = ` +exports[`discover Discover CSV Export Generate CSV: new search (7.17) generates a large export 2`] = ` "rce,\\"-\\",\\"_doc\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Elyssa,Elyssa,\\"Elyssa Graves\\",\\"Elyssa Graves\\",FEMALE,27,Graves,Graves,\\"(empty)\\",Thursday,3,\\"elyssa@graves-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ \\"\\"coordinates\\"\\": [ -74, @@ -1714,7 +1714,7 @@ exports[`discover Discover CSV Export Generate CSV: new search generates a large " `; -exports[`discover Discover CSV Export Generate CSV: new search generates a report from a new search with data: default 1`] = ` +exports[`discover Discover CSV Export Generate CSV: new search (7.17) generates a report from a new search with data: default 1`] = ` "\\"_id\\",\\"_index\\",\\"_score\\",\\"_type\\",category,\\"category.keyword\\",currency,\\"customer_first_name\\",\\"customer_first_name.keyword\\",\\"customer_full_name\\",\\"customer_full_name.keyword\\",\\"customer_gender\\",\\"customer_id\\",\\"customer_last_name\\",\\"customer_last_name.keyword\\",\\"customer_phone\\",\\"day_of_week\\",\\"day_of_week_i\\",email,\\"geoip.city_name\\",\\"geoip.continent_name\\",\\"geoip.country_iso_code\\",\\"geoip.location\\",\\"geoip.region_name\\",manufacturer,\\"manufacturer.keyword\\",\\"order_date\\",\\"order_id\\",\\"products._id\\",\\"products._id.keyword\\",\\"products.base_price\\",\\"products.base_unit_price\\",\\"products.category\\",\\"products.category.keyword\\",\\"products.created_on\\",\\"products.discount_amount\\",\\"products.discount_percentage\\",\\"products.manufacturer\\",\\"products.manufacturer.keyword\\",\\"products.min_price\\",\\"products.price\\",\\"products.product_id\\",\\"products.product_name\\",\\"products.product_name.keyword\\",\\"products.quantity\\",\\"products.sku\\",\\"products.tax_amount\\",\\"products.taxful_price\\",\\"products.taxless_price\\",\\"products.unit_discount_amount\\",sku,\\"taxful_total_price\\",\\"taxless_total_price\\",\\"total_quantity\\",\\"total_unique_products\\",type,user 9AMtOW0BH63Xcmy432DJ,ecommerce,\\"-\\",\\"_doc\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Boris,Boris,\\"Boris Bradley\\",\\"Boris Bradley\\",MALE,36,Bradley,Bradley,\\"(empty)\\",Wednesday,2,\\"boris@bradley-family.zzz\\",\\"-\\",Europe,GB,\\"{ \\"\\"coordinates\\"\\": [ @@ -7899,3 +7899,6189 @@ ywMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"_doc\\",\\"Men's Clothing, Men's Shoes }\\",\\"New York\\",\\"Low Tide Media, Pyramidustries, Pyramidustries active\\",\\"Low Tide Media, Pyramidustries, Pyramidustries active\\",\\"Jun 20, 2019 @ 00:00:00.000\\",729671,\\"sold_product_729671_5140, sold_product_729671_12381, sold_product_729671_16267, sold_product_729671_20230\\",\\"sold_product_729671_5140, sold_product_729671_12381, sold_product_729671_16267, sold_product_729671_20230\\",\\"60, 16.984, 24.984, 24.984\\",\\"60, 16.984, 24.984, 24.984\\",\\"Women's Shoes, Women's Clothing, Women's Clothing, Women's Shoes\\",\\"Women's Shoes, Women's Clothing, Women's Clothing, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Low Tide Media, Pyramidustries, Pyramidustries active, Pyramidustries\\",\\"Low Tide Media, Pyramidustries, Pyramidustries active, Pyramidustries\\",\\"30, 7.648, 12.492, 12\\",\\"60, 16.984, 24.984, 24.984\\",\\"5,140, 12,381, 16,267, 20,230\\",\\"Ankle boots - onix, Sweatshirt - rose, Tights - black, Sandals - silver\\",\\"Ankle boots - onix, Sweatshirt - rose, Tights - black, Sandals - silver\\",\\"1, 1, 1, 1\\",\\"ZO0375303753, ZO0178301783, ZO0226002260, ZO0137601376\\",\\"0, 0, 0, 0\\",\\"60, 16.984, 24.984, 24.984\\",\\"60, 16.984, 24.984, 24.984\\",\\"0, 0, 0, 0\\",\\"ZO0375303753, ZO0178301783, ZO0226002260, ZO0137601376\\",\\"126.938\\",\\"126.938\\",4,4,order,elyssa " `; + +exports[`discover Discover CSV Export Generate: CSV: new search (8.x) generates a report from a new search with data: default 1`] = ` +"\\"_id\\",\\"_index\\",\\"_score\\",\\"_type\\",category,\\"category.keyword\\",currency,\\"customer_first_name\\",\\"customer_first_name.keyword\\",\\"customer_full_name\\",\\"customer_full_name.keyword\\",\\"customer_gender\\",\\"customer_id\\",\\"customer_last_name\\",\\"customer_last_name.keyword\\",\\"customer_phone\\",\\"day_of_week\\",\\"day_of_week_i\\",email,\\"geoip.city_name\\",\\"geoip.continent_name\\",\\"geoip.country_iso_code\\",\\"geoip.location\\",\\"geoip.region_name\\",manufacturer,\\"manufacturer.keyword\\",\\"order_date\\",\\"order_id\\",\\"products._id\\",\\"products._id.keyword\\",\\"products.base_price\\",\\"products.base_unit_price\\",\\"products.category\\",\\"products.category.keyword\\",\\"products.created_on\\",\\"products.discount_amount\\",\\"products.discount_percentage\\",\\"products.manufacturer\\",\\"products.manufacturer.keyword\\",\\"products.min_price\\",\\"products.price\\",\\"products.product_id\\",\\"products.product_name\\",\\"products.product_name.keyword\\",\\"products.quantity\\",\\"products.sku\\",\\"products.tax_amount\\",\\"products.taxful_price\\",\\"products.taxless_price\\",\\"products.unit_discount_amount\\",sku,\\"taxful_total_price\\",\\"taxless_total_price\\",\\"total_quantity\\",\\"total_unique_products\\",type,user +9AMtOW0BH63Xcmy432DJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Boris,Boris,\\"Boris Bradley\\",\\"Boris Bradley\\",MALE,36,Bradley,Bradley,\\"(empty)\\",Wednesday,2,\\"boris@bradley-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568397,\\"sold_product_568397_24419, sold_product_568397_20207\\",\\"sold_product_568397_24419, sold_product_568397_20207\\",\\"33, 28.984\\",\\"33, 28.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"17.484, 13.922\\",\\"33, 28.984\\",\\"24,419, 20,207\\",\\"Cargo trousers - oliv, Trousers - black\\",\\"Cargo trousers - oliv, Trousers - black\\",\\"1, 1\\",\\"ZO0112101121, ZO0530405304\\",\\"0, 0\\",\\"33, 28.984\\",\\"33, 28.984\\",\\"0, 0\\",\\"ZO0112101121, ZO0530405304\\",\\"61.969\\",\\"61.969\\",2,2,order,boris +9QMtOW0BH63Xcmy432DJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Oliver,Oliver,\\"Oliver Hubbard\\",\\"Oliver Hubbard\\",MALE,7,Hubbard,Hubbard,\\"(empty)\\",Wednesday,2,\\"oliver@hubbard-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Spritechnologies, Microlutions\\",\\"Spritechnologies, Microlutions\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568044,\\"sold_product_568044_12799, sold_product_568044_18008\\",\\"sold_product_568044_12799, sold_product_568044_18008\\",\\"14.992, 16.984\\",\\"14.992, 16.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Microlutions\\",\\"Spritechnologies, Microlutions\\",\\"6.898, 8.828\\",\\"14.992, 16.984\\",\\"12,799, 18,008\\",\\"Undershirt - dark grey multicolor, Long sleeved top - purple\\",\\"Undershirt - dark grey multicolor, Long sleeved top - purple\\",\\"1, 1\\",\\"ZO0630406304, ZO0120201202\\",\\"0, 0\\",\\"14.992, 16.984\\",\\"14.992, 16.984\\",\\"0, 0\\",\\"ZO0630406304, ZO0120201202\\",\\"31.984\\",\\"31.984\\",2,2,order,oliver +OAMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories\\",\\"Women's Accessories\\",EUR,Betty,Betty,\\"Betty Reese\\",\\"Betty Reese\\",FEMALE,44,Reese,Reese,\\"(empty)\\",Wednesday,2,\\"betty@reese-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Pyramidustries,Pyramidustries,\\"Jun 25, 2019 @ 00:00:00.000\\",568229,\\"sold_product_568229_24991, sold_product_568229_12039\\",\\"sold_product_568229_24991, sold_product_568229_12039\\",\\"11.992, 10.992\\",\\"11.992, 10.992\\",\\"Women's Accessories, Women's Accessories\\",\\"Women's Accessories, Women's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"6.352, 5.82\\",\\"11.992, 10.992\\",\\"24,991, 12,039\\",\\"Scarf - rose/white, Scarf - nude/black/turquoise\\",\\"Scarf - rose/white, Scarf - nude/black/turquoise\\",\\"1, 1\\",\\"ZO0192201922, ZO0192801928\\",\\"0, 0\\",\\"11.992, 10.992\\",\\"11.992, 10.992\\",\\"0, 0\\",\\"ZO0192201922, ZO0192801928\\",\\"22.984\\",\\"22.984\\",2,2,order,betty +OQMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Recip,Recip,\\"Recip Salazar\\",\\"Recip Salazar\\",MALE,10,Salazar,Salazar,\\"(empty)\\",Wednesday,2,\\"recip@salazar-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,Elitelligence,Elitelligence,\\"Jun 25, 2019 @ 00:00:00.000\\",568292,\\"sold_product_568292_23627, sold_product_568292_11149\\",\\"sold_product_568292_23627, sold_product_568292_11149\\",\\"24.984, 10.992\\",\\"24.984, 10.992\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"12.492, 5.059\\",\\"24.984, 10.992\\",\\"23,627, 11,149\\",\\"Slim fit jeans - grey, Sunglasses - black\\",\\"Slim fit jeans - grey, Sunglasses - black\\",\\"1, 1\\",\\"ZO0534205342, ZO0599605996\\",\\"0, 0\\",\\"24.984, 10.992\\",\\"24.984, 10.992\\",\\"0, 0\\",\\"ZO0534205342, ZO0599605996\\",\\"35.969\\",\\"35.969\\",2,2,order,recip +jwMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Harper\\",\\"Jackson Harper\\",MALE,13,Harper,Harper,\\"(empty)\\",Wednesday,2,\\"jackson@harper-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568386,\\"sold_product_568386_11959, sold_product_568386_2774\\",\\"sold_product_568386_11959, sold_product_568386_2774\\",\\"24.984, 85\\",\\"24.984, 85\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"12.742, 45.875\\",\\"24.984, 85\\",\\"11,959, 2,774\\",\\"SLIM FIT - Formal shirt - lila, Classic coat - black\\",\\"SLIM FIT - Formal shirt - lila, Classic coat - black\\",\\"1, 1\\",\\"ZO0422404224, ZO0291702917\\",\\"0, 0\\",\\"24.984, 85\\",\\"24.984, 85\\",\\"0, 0\\",\\"ZO0422404224, ZO0291702917\\",110,110,2,2,order,jackson +kAMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Betty,Betty,\\"Betty Brewer\\",\\"Betty Brewer\\",FEMALE,44,Brewer,Brewer,\\"(empty)\\",Wednesday,2,\\"betty@brewer-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Champion Arts\\",\\"Tigress Enterprises, Champion Arts\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568023,\\"sold_product_568023_22309, sold_product_568023_22315\\",\\"sold_product_568023_22309, sold_product_568023_22315\\",\\"11.992, 16.984\\",\\"11.992, 16.984\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Champion Arts\\",\\"Tigress Enterprises, Champion Arts\\",\\"5.879, 8.656\\",\\"11.992, 16.984\\",\\"22,309, 22,315\\",\\"Wallet - brown, Summer dress - black\\",\\"Wallet - brown, Summer dress - black\\",\\"1, 1\\",\\"ZO0075900759, ZO0489304893\\",\\"0, 0\\",\\"11.992, 16.984\\",\\"11.992, 16.984\\",\\"0, 0\\",\\"ZO0075900759, ZO0489304893\\",\\"28.984\\",\\"28.984\\",2,2,order,betty +9wMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories\\",\\"Women's Accessories\\",EUR,Selena,Selena,\\"Selena Hernandez\\",\\"Selena Hernandez\\",FEMALE,42,Hernandez,Hernandez,\\"(empty)\\",Wednesday,2,\\"selena@hernandez-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568789,\\"sold_product_568789_11481, sold_product_568789_17046\\",\\"sold_product_568789_11481, sold_product_568789_17046\\",\\"24.984, 30.984\\",\\"24.984, 30.984\\",\\"Women's Accessories, Women's Accessories\\",\\"Women's Accessories, Women's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"12.492, 15.797\\",\\"24.984, 30.984\\",\\"11,481, 17,046\\",\\"Tote bag - black, SET - Watch - rose gold-coloured\\",\\"Tote bag - black, SET - Watch - rose gold-coloured\\",\\"1, 1\\",\\"ZO0197501975, ZO0079300793\\",\\"0, 0\\",\\"24.984, 30.984\\",\\"24.984, 30.984\\",\\"0, 0\\",\\"ZO0197501975, ZO0079300793\\",\\"55.969\\",\\"55.969\\",2,2,order,selena +\\"-AMtOW0BH63Xcmy432HJ\\",ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Kamal,Kamal,\\"Kamal Greene\\",\\"Kamal Greene\\",MALE,39,Greene,Greene,\\"(empty)\\",Wednesday,2,\\"kamal@greene-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568331,\\"sold_product_568331_11375, sold_product_568331_14190\\",\\"sold_product_568331_11375, sold_product_568331_14190\\",\\"42, 28.984\\",\\"42, 28.984\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"19.734, 13.344\\",\\"42, 28.984\\",\\"11,375, 14,190\\",\\"Lace-ups - Midnight Blue, Trainers - grey\\",\\"Lace-ups - Midnight Blue, Trainers - grey\\",\\"1, 1\\",\\"ZO0385903859, ZO0516605166\\",\\"0, 0\\",\\"42, 28.984\\",\\"42, 28.984\\",\\"0, 0\\",\\"ZO0385903859, ZO0516605166\\",71,71,2,2,order,kamal +\\"-QMtOW0BH63Xcmy432HJ\\",ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Kamal,Kamal,\\"Kamal Ryan\\",\\"Kamal Ryan\\",MALE,39,Ryan,Ryan,\\"(empty)\\",Wednesday,2,\\"kamal@ryan-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568524,\\"sold_product_568524_17644, sold_product_568524_12625\\",\\"sold_product_568524_17644, sold_product_568524_12625\\",\\"60, 60\\",\\"60, 60\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"29.406, 31.188\\",\\"60, 60\\",\\"17,644, 12,625\\",\\"Suit jacket - dark blue, T-bar sandals - cognac\\",\\"Suit jacket - dark blue, T-bar sandals - cognac\\",\\"1, 1\\",\\"ZO0424104241, ZO0694706947\\",\\"0, 0\\",\\"60, 60\\",\\"60, 60\\",\\"0, 0\\",\\"ZO0424104241, ZO0694706947\\",120,120,2,2,order,kamal +\\"-gMtOW0BH63Xcmy432HJ\\",ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Recip,Recip,\\"Recip Reese\\",\\"Recip Reese\\",MALE,10,Reese,Reese,\\"(empty)\\",Wednesday,2,\\"recip@reese-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568589,\\"sold_product_568589_19575, sold_product_568589_21053\\",\\"sold_product_568589_19575, sold_product_568589_21053\\",\\"65, 10.992\\",\\"65, 10.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"35.094, 5.391\\",\\"65, 10.992\\",\\"19,575, 21,053\\",\\"Short coat - oliv, Print T-shirt - white/blue\\",\\"Short coat - oliv, Print T-shirt - white/blue\\",\\"1, 1\\",\\"ZO0114401144, ZO0564705647\\",\\"0, 0\\",\\"65, 10.992\\",\\"65, 10.992\\",\\"0, 0\\",\\"ZO0114401144, ZO0564705647\\",76,76,2,2,order,recip +\\"-wMtOW0BH63Xcmy432HJ\\",ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Oliver,Oliver,\\"Oliver Pope\\",\\"Oliver Pope\\",MALE,7,Pope,Pope,\\"(empty)\\",Wednesday,2,\\"oliver@pope-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Microlutions, Low Tide Media\\",\\"Microlutions, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568640,\\"sold_product_568640_20196, sold_product_568640_12339\\",\\"sold_product_568640_20196, sold_product_568640_12339\\",\\"28.984, 20.984\\",\\"28.984, 20.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Low Tide Media\\",\\"Microlutions, Low Tide Media\\",\\"13.344, 10.906\\",\\"28.984, 20.984\\",\\"20,196, 12,339\\",\\"Sweatshirt - bright white, Polo shirt - grey multicolor\\",\\"Sweatshirt - bright white, Polo shirt - grey multicolor\\",\\"1, 1\\",\\"ZO0125901259, ZO0443204432\\",\\"0, 0\\",\\"28.984, 20.984\\",\\"28.984, 20.984\\",\\"0, 0\\",\\"ZO0125901259, ZO0443204432\\",\\"49.969\\",\\"49.969\\",2,2,order,oliver +\\"_AMtOW0BH63Xcmy432HJ\\",ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Irwin,Irwin,\\"Irwin Henderson\\",\\"Irwin Henderson\\",MALE,14,Henderson,Henderson,\\"(empty)\\",Wednesday,2,\\"irwin@henderson-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568682,\\"sold_product_568682_21985, sold_product_568682_15522\\",\\"sold_product_568682_21985, sold_product_568682_15522\\",\\"60, 42\\",\\"60, 42\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"28.797, 19.734\\",\\"60, 42\\",\\"21,985, 15,522\\",\\"Smart lace-ups - black, Smart lace-ups - cognac\\",\\"Smart lace-ups - black, Smart lace-ups - cognac\\",\\"1, 1\\",\\"ZO0680706807, ZO0392603926\\",\\"0, 0\\",\\"60, 42\\",\\"60, 42\\",\\"0, 0\\",\\"ZO0680706807, ZO0392603926\\",102,102,2,2,order,irwin +XQMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Miller\\",\\"Rabbia Al Miller\\",FEMALE,5,Miller,Miller,\\"(empty)\\",Wednesday,2,\\"rabbia al@miller-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Gnomehouse, Low Tide Media\\",\\"Gnomehouse, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569259,\\"sold_product_569259_18845, sold_product_569259_21703\\",\\"sold_product_569259_18845, sold_product_569259_21703\\",\\"55, 60\\",\\"55, 60\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Low Tide Media\\",\\"Gnomehouse, Low Tide Media\\",\\"25.844, 28.203\\",\\"55, 60\\",\\"18,845, 21,703\\",\\"Summer dress - navy blazer, Ankle boots - tan \\",\\"Summer dress - navy blazer, Ankle boots - tan \\",\\"1, 1\\",\\"ZO0335503355, ZO0381003810\\",\\"0, 0\\",\\"55, 60\\",\\"55, 60\\",\\"0, 0\\",\\"ZO0335503355, ZO0381003810\\",115,115,2,2,order,rabbia +HAMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Hicham,Hicham,\\"Hicham Washington\\",\\"Hicham Washington\\",MALE,8,Washington,Washington,\\"(empty)\\",Wednesday,2,\\"hicham@washington-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568793,\\"sold_product_568793_17004, sold_product_568793_20936\\",\\"sold_product_568793_17004, sold_product_568793_20936\\",\\"33, 7.988\\",\\"33, 7.988\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"18.141, 4.23\\",\\"33, 7.988\\",\\"17,004, 20,936\\",\\"Watch - dark brown, Basic T-shirt - dark blue\\",\\"Watch - dark brown, Basic T-shirt - dark blue\\",\\"1, 1\\",\\"ZO0312503125, ZO0545505455\\",\\"0, 0\\",\\"33, 7.988\\",\\"33, 7.988\\",\\"0, 0\\",\\"ZO0312503125, ZO0545505455\\",\\"40.969\\",\\"40.969\\",2,2,order,hicham +HQMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",EUR,Youssef,Youssef,\\"Youssef Porter\\",\\"Youssef Porter\\",MALE,31,Porter,Porter,\\"(empty)\\",Wednesday,2,\\"youssef@porter-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568350,\\"sold_product_568350_14392, sold_product_568350_24934\\",\\"sold_product_568350_14392, sold_product_568350_24934\\",\\"42, 50\\",\\"42, 50\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"21.406, 22.5\\",\\"42, 50\\",\\"14,392, 24,934\\",\\"Zantos - Wash bag - black, Lace-up boots - resin coffee\\",\\"Zantos - Wash bag - black, Lace-up boots - resin coffee\\",\\"1, 1\\",\\"ZO0317303173, ZO0403504035\\",\\"0, 0\\",\\"42, 50\\",\\"42, 50\\",\\"0, 0\\",\\"ZO0317303173, ZO0403504035\\",92,92,2,2,order,youssef +HgMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Youssef,Youssef,\\"Youssef Moss\\",\\"Youssef Moss\\",MALE,31,Moss,Moss,\\"(empty)\\",Wednesday,2,\\"youssef@moss-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"(empty), Low Tide Media\\",\\"(empty), Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568531,\\"sold_product_568531_12837, sold_product_568531_13153\\",\\"sold_product_568531_12837, sold_product_568531_13153\\",\\"165, 24.984\\",\\"165, 24.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"(empty), Low Tide Media\\",\\"(empty), Low Tide Media\\",\\"77.563, 12\\",\\"165, 24.984\\",\\"12,837, 13,153\\",\\"Smart lace-ups - cognac, Cardigan - grey\\",\\"Smart lace-ups - cognac, Cardigan - grey\\",\\"1, 1\\",\\"ZO0482104821, ZO0447104471\\",\\"0, 0\\",\\"165, 24.984\\",\\"165, 24.984\\",\\"0, 0\\",\\"ZO0482104821, ZO0447104471\\",190,190,2,2,order,youssef +HwMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Robert,Robert,\\"Robert Cross\\",\\"Robert Cross\\",MALE,29,Cross,Cross,\\"(empty)\\",Wednesday,2,\\"robert@cross-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568578,\\"sold_product_568578_17925, sold_product_568578_16500\\",\\"sold_product_568578_17925, sold_product_568578_16500\\",\\"47, 33\\",\\"47, 33\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"24.438, 16.813\\",\\"47, 33\\",\\"17,925, 16,500\\",\\"Boots - tan, Casual Cuffed Pants\\",\\"Boots - tan, Casual Cuffed Pants\\",\\"1, 1\\",\\"ZO0520005200, ZO0421104211\\",\\"0, 0\\",\\"47, 33\\",\\"47, 33\\",\\"0, 0\\",\\"ZO0520005200, ZO0421104211\\",80,80,2,2,order,robert +IAMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Phil,Phil,\\"Phil Cunningham\\",\\"Phil Cunningham\\",MALE,50,Cunningham,Cunningham,\\"(empty)\\",Wednesday,2,\\"phil@cunningham-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568609,\\"sold_product_568609_11893, sold_product_568609_2361\\",\\"sold_product_568609_11893, sold_product_568609_2361\\",\\"10.992, 60\\",\\"10.992, 60\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"5.172, 30\\",\\"10.992, 60\\",\\"11,893, 2,361\\",\\"Polo shirt - dark blue, Lace-up boots - dark brown\\",\\"Polo shirt - dark blue, Lace-up boots - dark brown\\",\\"1, 1\\",\\"ZO0570405704, ZO0256102561\\",\\"0, 0\\",\\"10.992, 60\\",\\"10.992, 60\\",\\"0, 0\\",\\"ZO0570405704, ZO0256102561\\",71,71,2,2,order,phil +IQMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Thad,Thad,\\"Thad Carr\\",\\"Thad Carr\\",MALE,30,Carr,Carr,\\"(empty)\\",Wednesday,2,\\"thad@carr-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568652,\\"sold_product_568652_23582, sold_product_568652_20196\\",\\"sold_product_568652_23582, sold_product_568652_20196\\",\\"50, 28.984\\",\\"50, 28.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"24, 13.344\\",\\"50, 28.984\\",\\"23,582, 20,196\\",\\"Boots - black, Sweatshirt - bright white\\",\\"Boots - black, Sweatshirt - bright white\\",\\"1, 1\\",\\"ZO0403304033, ZO0125901259\\",\\"0, 0\\",\\"50, 28.984\\",\\"50, 28.984\\",\\"0, 0\\",\\"ZO0403304033, ZO0125901259\\",79,79,2,2,order,thad +TAMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Muniz,Muniz,\\"Muniz Jackson\\",\\"Muniz Jackson\\",MALE,37,Jackson,Jackson,\\"(empty)\\",Wednesday,2,\\"muniz@jackson-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",Elitelligence,Elitelligence,\\"Jun 25, 2019 @ 00:00:00.000\\",568068,\\"sold_product_568068_12333, sold_product_568068_15128\\",\\"sold_product_568068_12333, sold_product_568068_15128\\",\\"16.984, 10.992\\",\\"16.984, 10.992\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"7.648, 5.059\\",\\"16.984, 10.992\\",\\"12,333, 15,128\\",\\"Tracksuit top - black, Wallet - brown\\",\\"Tracksuit top - black, Wallet - brown\\",\\"1, 1\\",\\"ZO0583005830, ZO0602706027\\",\\"0, 0\\",\\"16.984, 10.992\\",\\"16.984, 10.992\\",\\"0, 0\\",\\"ZO0583005830, ZO0602706027\\",\\"27.984\\",\\"27.984\\",2,2,order,muniz +jgMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,George,George,\\"George Pope\\",\\"George Pope\\",MALE,32,Pope,Pope,\\"(empty)\\",Wednesday,2,\\"george@pope-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568070,\\"sold_product_568070_14421, sold_product_568070_13685\\",\\"sold_product_568070_14421, sold_product_568070_13685\\",\\"20.984, 16.984\\",\\"20.984, 16.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"10.703, 8.328\\",\\"20.984, 16.984\\",\\"14,421, 13,685\\",\\"Jumper - mottled grey/camel/khaki, Print T-shirt - grey multicolor\\",\\"Jumper - mottled grey/camel/khaki, Print T-shirt - grey multicolor\\",\\"1, 1\\",\\"ZO0575605756, ZO0293302933\\",\\"0, 0\\",\\"20.984, 16.984\\",\\"20.984, 16.984\\",\\"0, 0\\",\\"ZO0575605756, ZO0293302933\\",\\"37.969\\",\\"37.969\\",2,2,order,george +jwMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Selena,Selena,\\"Selena Duncan\\",\\"Selena Duncan\\",FEMALE,42,Duncan,Duncan,\\"(empty)\\",Wednesday,2,\\"selena@duncan-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568106,\\"sold_product_568106_8745, sold_product_568106_15742\\",\\"sold_product_568106_8745, sold_product_568106_15742\\",\\"33, 8.992\\",\\"33, 8.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"17.156, 4.941\\",\\"33, 8.992\\",\\"8,745, 15,742\\",\\"Cardigan - mottled brown, Tights - dark navy\\",\\"Cardigan - mottled brown, Tights - dark navy\\",\\"1, 1\\",\\"ZO0068700687, ZO0101301013\\",\\"0, 0\\",\\"33, 8.992\\",\\"33, 8.992\\",\\"0, 0\\",\\"ZO0068700687, ZO0101301013\\",\\"41.969\\",\\"41.969\\",2,2,order,selena +swMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Jensen\\",\\"Wilhemina St. Jensen\\",FEMALE,17,Jensen,Jensen,\\"(empty)\\",Wednesday,2,\\"wilhemina st.@jensen-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Pyramidustries, Oceanavigations\\",\\"Pyramidustries, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568439,\\"sold_product_568439_16712, sold_product_568439_5602\\",\\"sold_product_568439_16712, sold_product_568439_5602\\",\\"20.984, 100\\",\\"20.984, 100\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Oceanavigations\\",\\"Pyramidustries, Oceanavigations\\",\\"9.656, 46\\",\\"20.984, 100\\",\\"16,712, 5,602\\",\\"Blouse - black/pink/blue, Winter boots - black\\",\\"Blouse - black/pink/blue, Winter boots - black\\",\\"1, 1\\",\\"ZO0170601706, ZO0251502515\\",\\"0, 0\\",\\"20.984, 100\\",\\"20.984, 100\\",\\"0, 0\\",\\"ZO0170601706, ZO0251502515\\",121,121,2,2,order,wilhemina +tAMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Thad,Thad,\\"Thad Lawrence\\",\\"Thad Lawrence\\",MALE,30,Lawrence,Lawrence,\\"(empty)\\",Wednesday,2,\\"thad@lawrence-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568507,\\"sold_product_568507_6098, sold_product_568507_24890\\",\\"sold_product_568507_6098, sold_product_568507_24890\\",\\"75, 18.984\\",\\"75, 18.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"41.25, 10.438\\",\\"75, 18.984\\",\\"6,098, 24,890\\",\\"Parka - black, Shirt - mottled grey\\",\\"Parka - black, Shirt - mottled grey\\",\\"1, 1\\",\\"ZO0431304313, ZO0523605236\\",\\"0, 0\\",\\"75, 18.984\\",\\"75, 18.984\\",\\"0, 0\\",\\"ZO0431304313, ZO0523605236\\",94,94,2,2,order,thad +KgMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Marwan,Marwan,\\"Marwan Daniels\\",\\"Marwan Daniels\\",MALE,51,Daniels,Daniels,\\"(empty)\\",Wednesday,2,\\"marwan@daniels-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568236,\\"sold_product_568236_6221, sold_product_568236_11869\\",\\"sold_product_568236_6221, sold_product_568236_11869\\",\\"28.984, 20.984\\",\\"28.984, 20.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"15.07, 10.906\\",\\"28.984, 20.984\\",\\"6,221, 11,869\\",\\"Shirt - dark blue, Sweatshirt - grey multicolor\\",\\"Shirt - dark blue, Sweatshirt - grey multicolor\\",\\"1, 1\\",\\"ZO0416604166, ZO0581605816\\",\\"0, 0\\",\\"28.984, 20.984\\",\\"28.984, 20.984\\",\\"0, 0\\",\\"ZO0416604166, ZO0581605816\\",\\"49.969\\",\\"49.969\\",2,2,order,marwan +KwMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Brigitte,Brigitte,\\"Brigitte Meyer\\",\\"Brigitte Meyer\\",FEMALE,12,Meyer,Meyer,\\"(empty)\\",Wednesday,2,\\"brigitte@meyer-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568275,\\"sold_product_568275_17190, sold_product_568275_15978\\",\\"sold_product_568275_17190, sold_product_568275_15978\\",\\"60, 6.988\\",\\"60, 6.988\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"27, 3.43\\",\\"60, 6.988\\",\\"17,190, 15,978\\",\\"Pleated skirt - grey, 2 PACK - Socks - black \\",\\"Pleated skirt - grey, 2 PACK - Socks - black \\",\\"1, 1\\",\\"ZO0330903309, ZO0214802148\\",\\"0, 0\\",\\"60, 6.988\\",\\"60, 6.988\\",\\"0, 0\\",\\"ZO0330903309, ZO0214802148\\",67,67,2,2,order,brigitte +LAMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Padilla\\",\\"Elyssa Padilla\\",FEMALE,27,Padilla,Padilla,\\"(empty)\\",Wednesday,2,\\"elyssa@padilla-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Primemaster, Tigress Enterprises\\",\\"Primemaster, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568434,\\"sold_product_568434_15265, sold_product_568434_22206\\",\\"sold_product_568434_15265, sold_product_568434_22206\\",\\"145, 14.992\\",\\"145, 14.992\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Primemaster, Tigress Enterprises\\",\\"Primemaster, Tigress Enterprises\\",\\"78.313, 7.051\\",\\"145, 14.992\\",\\"15,265, 22,206\\",\\"High heeled boots - brown, Ballet pumps - navy\\",\\"High heeled boots - brown, Ballet pumps - navy\\",\\"1, 1\\",\\"ZO0362203622, ZO0000300003\\",\\"0, 0\\",\\"145, 14.992\\",\\"145, 14.992\\",\\"0, 0\\",\\"ZO0362203622, ZO0000300003\\",160,160,2,2,order,elyssa +LQMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Elyssa,Elyssa,\\"Elyssa Dawson\\",\\"Elyssa Dawson\\",FEMALE,27,Dawson,Dawson,\\"(empty)\\",Wednesday,2,\\"elyssa@dawson-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Pyramidustries,Pyramidustries,\\"Jun 25, 2019 @ 00:00:00.000\\",568458,\\"sold_product_568458_19261, sold_product_568458_24302\\",\\"sold_product_568458_19261, sold_product_568458_24302\\",\\"13.992, 10.992\\",\\"13.992, 10.992\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"7, 5.711\\",\\"13.992, 10.992\\",\\"19,261, 24,302\\",\\"Vest - black, Snood - dark grey/light grey\\",\\"Vest - black, Snood - dark grey/light grey\\",\\"1, 1\\",\\"ZO0164501645, ZO0195501955\\",\\"0, 0\\",\\"13.992, 10.992\\",\\"13.992, 10.992\\",\\"0, 0\\",\\"ZO0164501645, ZO0195501955\\",\\"24.984\\",\\"24.984\\",2,2,order,elyssa +LgMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Betty,Betty,\\"Betty Bryant\\",\\"Betty Bryant\\",FEMALE,44,Bryant,Bryant,\\"(empty)\\",Wednesday,2,\\"betty@bryant-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Spherecords, Low Tide Media\\",\\"Spherecords, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568503,\\"sold_product_568503_12451, sold_product_568503_22678\\",\\"sold_product_568503_12451, sold_product_568503_22678\\",\\"7.988, 60\\",\\"7.988, 60\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Low Tide Media\\",\\"Spherecords, Low Tide Media\\",\\"3.68, 31.188\\",\\"7.988, 60\\",\\"12,451, 22,678\\",\\"Vest - black, Ankle boots - Midnight Blue\\",\\"Vest - black, Ankle boots - Midnight Blue\\",\\"1, 1\\",\\"ZO0643306433, ZO0376203762\\",\\"0, 0\\",\\"7.988, 60\\",\\"7.988, 60\\",\\"0, 0\\",\\"ZO0643306433, ZO0376203762\\",68,68,2,2,order,betty +fQMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing, Men's Shoes\\",\\"Men's Accessories, Men's Clothing, Men's Shoes\\",EUR,Tariq,Tariq,\\"Tariq Salazar\\",\\"Tariq Salazar\\",MALE,25,Salazar,Salazar,\\"(empty)\\",Wednesday,2,\\"tariq@salazar-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Oceanavigations, Low Tide Media, Angeldale\\",\\"Oceanavigations, Low Tide Media, Angeldale\\",\\"Jun 25, 2019 @ 00:00:00.000\\",714149,\\"sold_product_714149_19588, sold_product_714149_6158, sold_product_714149_1422, sold_product_714149_18002\\",\\"sold_product_714149_19588, sold_product_714149_6158, sold_product_714149_1422, sold_product_714149_18002\\",\\"13.992, 22.984, 65, 42\\",\\"13.992, 22.984, 65, 42\\",\\"Men's Accessories, Men's Clothing, Men's Shoes, Men's Shoes\\",\\"Men's Accessories, Men's Clothing, Men's Shoes, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Oceanavigations, Low Tide Media, Angeldale, Low Tide Media\\",\\"Oceanavigations, Low Tide Media, Angeldale, Low Tide Media\\",\\"7.41, 11.492, 33.781, 21.406\\",\\"13.992, 22.984, 65, 42\\",\\"19,588, 6,158, 1,422, 18,002\\",\\"Belt - black, Shirt - black, Lace-ups - cognac, Boots - brown\\",\\"Belt - black, Shirt - black, Lace-ups - cognac, Boots - brown\\",\\"1, 1, 1, 1\\",\\"ZO0309503095, ZO0411904119, ZO0683306833, ZO0397103971\\",\\"0, 0, 0, 0\\",\\"13.992, 22.984, 65, 42\\",\\"13.992, 22.984, 65, 42\\",\\"0, 0, 0, 0\\",\\"ZO0309503095, ZO0411904119, ZO0683306833, ZO0397103971\\",144,144,4,4,order,tariq +QAMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Wagdi,Wagdi,\\"Wagdi Wise\\",\\"Wagdi Wise\\",MALE,15,Wise,Wise,\\"(empty)\\",Wednesday,2,\\"wagdi@wise-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568232,\\"sold_product_568232_18129, sold_product_568232_19774\\",\\"sold_product_568232_18129, sold_product_568232_19774\\",\\"37, 11.992\\",\\"37, 11.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"18.859, 5.879\\",\\"37, 11.992\\",\\"18,129, 19,774\\",\\"Trousers - grey, Print T-shirt - black/orange\\",\\"Trousers - grey, Print T-shirt - black/orange\\",\\"1, 1\\",\\"ZO0282902829, ZO0566605666\\",\\"0, 0\\",\\"37, 11.992\\",\\"37, 11.992\\",\\"0, 0\\",\\"ZO0282902829, ZO0566605666\\",\\"48.969\\",\\"48.969\\",2,2,order,wagdi +QQMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Men's Clothing\\",\\"Women's Accessories, Men's Clothing\\",EUR,Robbie,Robbie,\\"Robbie Reyes\\",\\"Robbie Reyes\\",MALE,48,Reyes,Reyes,\\"(empty)\\",Wednesday,2,\\"robbie@reyes-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568269,\\"sold_product_568269_19175, sold_product_568269_2764\\",\\"sold_product_568269_19175, sold_product_568269_2764\\",\\"33, 135\\",\\"33, 135\\",\\"Women's Accessories, Men's Clothing\\",\\"Women's Accessories, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"15.844, 67.5\\",\\"33, 135\\",\\"19,175, 2,764\\",\\"Watch - dark brown, Suit - dark blue\\",\\"Watch - dark brown, Suit - dark blue\\",\\"1, 1\\",\\"ZO0318603186, ZO0407904079\\",\\"0, 0\\",\\"33, 135\\",\\"33, 135\\",\\"0, 0\\",\\"ZO0318603186, ZO0407904079\\",168,168,2,2,order,robbie +QgMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Yasmine,Yasmine,\\"Yasmine Stokes\\",\\"Yasmine Stokes\\",FEMALE,43,Stokes,Stokes,\\"(empty)\\",Wednesday,2,\\"yasmine@stokes-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568301,\\"sold_product_568301_20011, sold_product_568301_20152\\",\\"sold_product_568301_20011, sold_product_568301_20152\\",\\"33, 42\\",\\"33, 42\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"15.844, 22.25\\",\\"33, 42\\",\\"20,011, 20,152\\",\\"Jumpsuit - black, Platform boots - dark blue\\",\\"Jumpsuit - black, Platform boots - dark blue\\",\\"1, 1\\",\\"ZO0146401464, ZO0014700147\\",\\"0, 0\\",\\"33, 42\\",\\"33, 42\\",\\"0, 0\\",\\"ZO0146401464, ZO0014700147\\",75,75,2,2,order,yasmine +QwMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Clarice,Clarice,\\"Clarice Ryan\\",\\"Clarice Ryan\\",FEMALE,18,Ryan,Ryan,\\"(empty)\\",Wednesday,2,\\"clarice@ryan-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568469,\\"sold_product_568469_10902, sold_product_568469_8739\\",\\"sold_product_568469_10902, sold_product_568469_8739\\",\\"26.984, 28.984\\",\\"26.984, 28.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"13.758, 15.938\\",\\"26.984, 28.984\\",\\"10,902, 8,739\\",\\"Pyjamas - black, Jumper - anthractie multicolor\\",\\"Pyjamas - black, Jumper - anthractie multicolor\\",\\"1, 1\\",\\"ZO0659806598, ZO0070100701\\",\\"0, 0\\",\\"26.984, 28.984\\",\\"26.984, 28.984\\",\\"0, 0\\",\\"ZO0659806598, ZO0070100701\\",\\"55.969\\",\\"55.969\\",2,2,order,clarice +RAMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Shaw\\",\\"Sultan Al Shaw\\",MALE,19,Shaw,Shaw,\\"(empty)\\",Wednesday,2,\\"sultan al@shaw-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568499,\\"sold_product_568499_23865, sold_product_568499_17752\\",\\"sold_product_568499_23865, sold_product_568499_17752\\",\\"11.992, 37\\",\\"11.992, 37\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"5.879, 17.391\\",\\"11.992, 37\\",\\"23,865, 17,752\\",\\"2 PACK - Basic T-shirt - dark grey multicolor, Slim fit jeans - black denim\\",\\"2 PACK - Basic T-shirt - dark grey multicolor, Slim fit jeans - black denim\\",\\"1, 1\\",\\"ZO0474604746, ZO0113801138\\",\\"0, 0\\",\\"11.992, 37\\",\\"11.992, 37\\",\\"0, 0\\",\\"ZO0474604746, ZO0113801138\\",\\"48.969\\",\\"48.969\\",2,2,order,sultan +UQMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories\\",\\"Women's Accessories\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Austin\\",\\"Wilhemina St. Austin\\",FEMALE,17,Austin,Austin,\\"(empty)\\",Wednesday,2,\\"wilhemina st.@austin-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568083,\\"sold_product_568083_14459, sold_product_568083_18901\\",\\"sold_product_568083_14459, sold_product_568083_18901\\",\\"11.992, 16.984\\",\\"11.992, 16.984\\",\\"Women's Accessories, Women's Accessories\\",\\"Women's Accessories, Women's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"5.762, 8.328\\",\\"11.992, 16.984\\",\\"14,459, 18,901\\",\\"Across body bag - cognac, Clutch - white/black\\",\\"Across body bag - cognac, Clutch - white/black\\",\\"1, 1\\",\\"ZO0200902009, ZO0092300923\\",\\"0, 0\\",\\"11.992, 16.984\\",\\"11.992, 16.984\\",\\"0, 0\\",\\"ZO0200902009, ZO0092300923\\",\\"28.984\\",\\"28.984\\",2,2,order,wilhemina +VAMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Abd,Abd,\\"Abd Lamb\\",\\"Abd Lamb\\",MALE,52,Lamb,Lamb,\\"(empty)\\",Wednesday,2,\\"abd@lamb-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",Angeldale,Angeldale,\\"Jun 25, 2019 @ 00:00:00.000\\",569163,\\"sold_product_569163_1774, sold_product_569163_23724\\",\\"sold_product_569163_1774, sold_product_569163_23724\\",\\"60, 75\\",\\"60, 75\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Angeldale\\",\\"Angeldale, Angeldale\\",\\"27.594, 37.5\\",\\"60, 75\\",\\"1,774, 23,724\\",\\"Lace-ups - cognac, Lace-ups - bordeaux\\",\\"Lace-ups - cognac, Lace-ups - bordeaux\\",\\"1, 1\\",\\"ZO0681106811, ZO0682706827\\",\\"0, 0\\",\\"60, 75\\",\\"60, 75\\",\\"0, 0\\",\\"ZO0681106811, ZO0682706827\\",135,135,2,2,order,abd +VQMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Clarice,Clarice,\\"Clarice Potter\\",\\"Clarice Potter\\",FEMALE,18,Potter,Potter,\\"(empty)\\",Wednesday,2,\\"clarice@potter-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Champion Arts, Tigress Enterprises\\",\\"Champion Arts, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569214,\\"sold_product_569214_15372, sold_product_569214_13660\\",\\"sold_product_569214_15372, sold_product_569214_13660\\",\\"20.984, 25.984\\",\\"20.984, 25.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Tigress Enterprises\\",\\"Champion Arts, Tigress Enterprises\\",\\"10.703, 13.25\\",\\"20.984, 25.984\\",\\"15,372, 13,660\\",\\"Jersey dress - khaki, Across body bag - brown\\",\\"Jersey dress - khaki, Across body bag - brown\\",\\"1, 1\\",\\"ZO0490104901, ZO0087200872\\",\\"0, 0\\",\\"20.984, 25.984\\",\\"20.984, 25.984\\",\\"0, 0\\",\\"ZO0490104901, ZO0087200872\\",\\"46.969\\",\\"46.969\\",2,2,order,clarice +VgMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Lawrence\\",\\"Fitzgerald Lawrence\\",MALE,11,Lawrence,Lawrence,\\"(empty)\\",Wednesday,2,\\"fitzgerald@lawrence-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568875,\\"sold_product_568875_22460, sold_product_568875_12482\\",\\"sold_product_568875_22460, sold_product_568875_12482\\",\\"7.988, 60\\",\\"7.988, 60\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"3.92, 30\\",\\"7.988, 60\\",\\"22,460, 12,482\\",\\"3 PACK - Socks - white, Across body bag - black\\",\\"3 PACK - Socks - white, Across body bag - black\\",\\"1, 1\\",\\"ZO0613606136, ZO0463804638\\",\\"0, 0\\",\\"7.988, 60\\",\\"7.988, 60\\",\\"0, 0\\",\\"ZO0613606136, ZO0463804638\\",68,68,2,2,order,fuzzy +VwMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Wagdi,Wagdi,\\"Wagdi Griffin\\",\\"Wagdi Griffin\\",MALE,15,Griffin,Griffin,\\"(empty)\\",Wednesday,2,\\"wagdi@griffin-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568943,\\"sold_product_568943_22910, sold_product_568943_1665\\",\\"sold_product_568943_22910, sold_product_568943_1665\\",\\"24.984, 65\\",\\"24.984, 65\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"13.242, 31.203\\",\\"24.984, 65\\",\\"22,910, 1,665\\",\\"Cardigan - black, Boots - light brown\\",\\"Cardigan - black, Boots - light brown\\",\\"1, 1\\",\\"ZO0445804458, ZO0686106861\\",\\"0, 0\\",\\"24.984, 65\\",\\"24.984, 65\\",\\"0, 0\\",\\"ZO0445804458, ZO0686106861\\",90,90,2,2,order,wagdi +WAMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Yahya,Yahya,\\"Yahya Dennis\\",\\"Yahya Dennis\\",MALE,23,Dennis,Dennis,\\"(empty)\\",Wednesday,2,\\"yahya@dennis-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569046,\\"sold_product_569046_15527, sold_product_569046_3489\\",\\"sold_product_569046_15527, sold_product_569046_3489\\",\\"33, 22.984\\",\\"33, 22.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"15.844, 12.18\\",\\"33, 22.984\\",\\"15,527, 3,489\\",\\"Lace-ups - black, Tights - black\\",\\"Lace-ups - black, Tights - black\\",\\"1, 1\\",\\"ZO0393103931, ZO0619906199\\",\\"0, 0\\",\\"33, 22.984\\",\\"33, 22.984\\",\\"0, 0\\",\\"ZO0393103931, ZO0619906199\\",\\"55.969\\",\\"55.969\\",2,2,order,yahya +WQMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Brigitte,Brigitte,\\"Brigitte Cortez\\",\\"Brigitte Cortez\\",FEMALE,12,Cortez,Cortez,\\"(empty)\\",Wednesday,2,\\"brigitte@cortez-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Spherecords, Gnomehouse\\",\\"Spherecords, Gnomehouse\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569103,\\"sold_product_569103_23059, sold_product_569103_19509\\",\\"sold_product_569103_23059, sold_product_569103_19509\\",\\"21.984, 28.984\\",\\"21.984, 28.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Gnomehouse\\",\\"Spherecords, Gnomehouse\\",\\"11.648, 15.648\\",\\"21.984, 28.984\\",\\"23,059, 19,509\\",\\"Jumper dress - bordeaux, Blouse - dark red\\",\\"Jumper dress - bordeaux, Blouse - dark red\\",\\"1, 1\\",\\"ZO0636506365, ZO0345503455\\",\\"0, 0\\",\\"21.984, 28.984\\",\\"21.984, 28.984\\",\\"0, 0\\",\\"ZO0636506365, ZO0345503455\\",\\"50.969\\",\\"50.969\\",2,2,order,brigitte +WgMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Morgan\\",\\"Abdulraheem Al Morgan\\",MALE,33,Morgan,Morgan,\\"(empty)\\",Wednesday,2,\\"abdulraheem al@morgan-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Elitelligence, (empty)\\",\\"Elitelligence, (empty)\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568993,\\"sold_product_568993_21293, sold_product_568993_13143\\",\\"sold_product_568993_21293, sold_product_568993_13143\\",\\"24.984, 155\\",\\"24.984, 155\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, (empty)\\",\\"Elitelligence, (empty)\\",\\"12.742, 79.063\\",\\"24.984, 155\\",\\"21,293, 13,143\\",\\"Trainers - white, Slip-ons - black\\",\\"Trainers - white, Slip-ons - black\\",\\"1, 1\\",\\"ZO0510505105, ZO0482604826\\",\\"0, 0\\",\\"24.984, 155\\",\\"24.984, 155\\",\\"0, 0\\",\\"ZO0510505105, ZO0482604826\\",180,180,2,2,order,abdulraheem +EAMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Lloyd\\",\\"Sultan Al Lloyd\\",MALE,19,Lloyd,Lloyd,\\"(empty)\\",Wednesday,2,\\"sultan al@lloyd-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",720661,\\"sold_product_720661_22855, sold_product_720661_15602, sold_product_720661_15204, sold_product_720661_22811\\",\\"sold_product_720661_22855, sold_product_720661_15602, sold_product_720661_15204, sold_product_720661_22811\\",\\"22.984, 42, 42, 24.984\\",\\"22.984, 42, 42, 24.984\\",\\"Men's Clothing, Men's Accessories, Men's Accessories, Men's Clothing\\",\\"Men's Clothing, Men's Accessories, Men's Accessories, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Low Tide Media, Low Tide Media, Oceanavigations, Low Tide Media\\",\\"Low Tide Media, Low Tide Media, Oceanavigations, Low Tide Media\\",\\"10.813, 21.828, 21.406, 11.5\\",\\"22.984, 42, 42, 24.984\\",\\"22,855, 15,602, 15,204, 22,811\\",\\"Shorts - black, Weekend bag - black , Weekend bag - black, Cardigan - beige multicolor\\",\\"Shorts - black, Weekend bag - black , Weekend bag - black, Cardigan - beige multicolor\\",\\"1, 1, 1, 1\\",\\"ZO0423004230, ZO0471604716, ZO0315303153, ZO0445604456\\",\\"0, 0, 0, 0\\",\\"22.984, 42, 42, 24.984\\",\\"22.984, 42, 42, 24.984\\",\\"0, 0, 0, 0\\",\\"ZO0423004230, ZO0471604716, ZO0315303153, ZO0445604456\\",132,132,4,4,order,sultan +RQMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty Perkins\\",\\"Betty Perkins\\",FEMALE,44,Perkins,Perkins,\\"(empty)\\",Wednesday,2,\\"betty@perkins-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Microlutions, Champion Arts\\",\\"Microlutions, Champion Arts\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569144,\\"sold_product_569144_9379, sold_product_569144_15599\\",\\"sold_product_569144_9379, sold_product_569144_15599\\",\\"33, 28.984\\",\\"33, 28.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Champion Arts\\",\\"Microlutions, Champion Arts\\",\\"16.813, 15.648\\",\\"33, 28.984\\",\\"9,379, 15,599\\",\\"Trousers - black, Tracksuit top - dark grey multicolor\\",\\"Trousers - black, Tracksuit top - dark grey multicolor\\",\\"1, 1\\",\\"ZO0108101081, ZO0501105011\\",\\"0, 0\\",\\"33, 28.984\\",\\"33, 28.984\\",\\"0, 0\\",\\"ZO0108101081, ZO0501105011\\",\\"61.969\\",\\"61.969\\",2,2,order,betty +RgMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Muniz,Muniz,\\"Muniz Mullins\\",\\"Muniz Mullins\\",MALE,37,Mullins,Mullins,\\"(empty)\\",Wednesday,2,\\"muniz@mullins-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569198,\\"sold_product_569198_13676, sold_product_569198_6033\\",\\"sold_product_569198_13676, sold_product_569198_6033\\",\\"28.984, 18.984\\",\\"28.984, 18.984\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"15.938, 9.117\\",\\"28.984, 18.984\\",\\"13,676, 6,033\\",\\"Across body bag - brown , Sweatshirt - white\\",\\"Across body bag - brown , Sweatshirt - white\\",\\"1, 1\\",\\"ZO0464304643, ZO0581905819\\",\\"0, 0\\",\\"28.984, 18.984\\",\\"28.984, 18.984\\",\\"0, 0\\",\\"ZO0464304643, ZO0581905819\\",\\"47.969\\",\\"47.969\\",2,2,order,muniz +RwMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Yahya,Yahya,\\"Yahya Brady\\",\\"Yahya Brady\\",MALE,23,Brady,Brady,\\"(empty)\\",Wednesday,2,\\"yahya@brady-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Spherecords, Oceanavigations\\",\\"Spherecords, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568845,\\"sold_product_568845_11493, sold_product_568845_18854\\",\\"sold_product_568845_11493, sold_product_568845_18854\\",\\"20.984, 85\\",\\"20.984, 85\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Oceanavigations\\",\\"Spherecords, Oceanavigations\\",\\"10.078, 46.75\\",\\"20.984, 85\\",\\"11,493, 18,854\\",\\"Tracksuit bottoms - light grey multicolor, Boots - Midnight Blue\\",\\"Tracksuit bottoms - light grey multicolor, Boots - Midnight Blue\\",\\"1, 1\\",\\"ZO0657906579, ZO0258102581\\",\\"0, 0\\",\\"20.984, 85\\",\\"20.984, 85\\",\\"0, 0\\",\\"ZO0657906579, ZO0258102581\\",106,106,2,2,order,yahya +SAMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,rania,rania,\\"rania Byrd\\",\\"rania Byrd\\",FEMALE,24,Byrd,Byrd,\\"(empty)\\",Wednesday,2,\\"rania@byrd-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",Pyramidustries,Pyramidustries,\\"Jun 25, 2019 @ 00:00:00.000\\",568894,\\"sold_product_568894_21617, sold_product_568894_16951\\",\\"sold_product_568894_21617, sold_product_568894_16951\\",\\"42, 20.984\\",\\"42, 20.984\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"21, 11.117\\",\\"42, 20.984\\",\\"21,617, 16,951\\",\\"Cowboy/Biker boots - black, Clutch - black\\",\\"Cowboy/Biker boots - black, Clutch - black\\",\\"1, 1\\",\\"ZO0141801418, ZO0206302063\\",\\"0, 0\\",\\"42, 20.984\\",\\"42, 20.984\\",\\"0, 0\\",\\"ZO0141801418, ZO0206302063\\",\\"62.969\\",\\"62.969\\",2,2,order,rani +SQMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,rania,rania,\\"rania Carpenter\\",\\"rania Carpenter\\",FEMALE,24,Carpenter,Carpenter,\\"(empty)\\",Wednesday,2,\\"rania@carpenter-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",Spherecords,Spherecords,\\"Jun 25, 2019 @ 00:00:00.000\\",568938,\\"sold_product_568938_18398, sold_product_568938_19241\\",\\"sold_product_568938_18398, sold_product_568938_19241\\",\\"10.992, 16.984\\",\\"10.992, 16.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Spherecords\\",\\"Spherecords, Spherecords\\",\\"5.391, 9.172\\",\\"10.992, 16.984\\",\\"18,398, 19,241\\",\\"Vest - black, Tracksuit bottoms - navy\\",\\"Vest - black, Tracksuit bottoms - navy\\",\\"1, 1\\",\\"ZO0642806428, ZO0632506325\\",\\"0, 0\\",\\"10.992, 16.984\\",\\"10.992, 16.984\\",\\"0, 0\\",\\"ZO0642806428, ZO0632506325\\",\\"27.984\\",\\"27.984\\",2,2,order,rani +SgMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories\\",\\"Men's Accessories\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Meyer\\",\\"Fitzgerald Meyer\\",MALE,11,Meyer,Meyer,\\"(empty)\\",Wednesday,2,\\"fitzgerald@meyer-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569045,\\"sold_product_569045_17857, sold_product_569045_12592\\",\\"sold_product_569045_17857, sold_product_569045_12592\\",\\"85, 14.992\\",\\"85, 14.992\\",\\"Men's Accessories, Men's Accessories\\",\\"Men's Accessories, Men's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"39.938, 7.051\\",\\"85, 14.992\\",\\"17,857, 12,592\\",\\"Laptop bag - black, Belt - dark brown \\",\\"Laptop bag - black, Belt - dark brown \\",\\"1, 1\\",\\"ZO0315903159, ZO0461104611\\",\\"0, 0\\",\\"85, 14.992\\",\\"85, 14.992\\",\\"0, 0\\",\\"ZO0315903159, ZO0461104611\\",100,100,2,2,order,fuzzy +SwMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Thad,Thad,\\"Thad Munoz\\",\\"Thad Munoz\\",MALE,30,Munoz,Munoz,\\"(empty)\\",Wednesday,2,\\"thad@munoz-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Elitelligence, (empty)\\",\\"Elitelligence, (empty)\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569097,\\"sold_product_569097_20740, sold_product_569097_12607\\",\\"sold_product_569097_20740, sold_product_569097_12607\\",\\"33, 155\\",\\"33, 155\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, (empty)\\",\\"Elitelligence, (empty)\\",\\"14.852, 83.688\\",\\"33, 155\\",\\"20,740, 12,607\\",\\"High-top trainers - beige, Smart slip-ons - black\\",\\"High-top trainers - beige, Smart slip-ons - black\\",\\"1, 1\\",\\"ZO0511605116, ZO0483004830\\",\\"0, 0\\",\\"33, 155\\",\\"33, 155\\",\\"0, 0\\",\\"ZO0511605116, ZO0483004830\\",188,188,2,2,order,thad +dwMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Franklin\\",\\"Elyssa Franklin\\",FEMALE,27,Franklin,Franklin,\\"(empty)\\",Wednesday,2,\\"elyssa@franklin-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Angeldale, Gnomehouse, Tigress Enterprises\\",\\"Angeldale, Gnomehouse, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",727370,\\"sold_product_727370_24280, sold_product_727370_20519, sold_product_727370_18829, sold_product_727370_16904\\",\\"sold_product_727370_24280, sold_product_727370_20519, sold_product_727370_18829, sold_product_727370_16904\\",\\"85, 50, 37, 33\\",\\"85, 50, 37, 33\\",\\"Women's Shoes, Women's Shoes, Women's Clothing, Women's Shoes\\",\\"Women's Shoes, Women's Shoes, Women's Clothing, Women's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Angeldale, Gnomehouse, Tigress Enterprises, Tigress Enterprises\\",\\"Angeldale, Gnomehouse, Tigress Enterprises, Tigress Enterprises\\",\\"45.875, 24.5, 17.391, 15.508\\",\\"85, 50, 37, 33\\",\\"24,280, 20,519, 18,829, 16,904\\",\\"Boots - black, Classic heels - Midnight Blue, Jersey dress - Blue Violety/black, Trainers - black\\",\\"Boots - black, Classic heels - Midnight Blue, Jersey dress - Blue Violety/black, Trainers - black\\",\\"1, 1, 1, 1\\",\\"ZO0680206802, ZO0321703217, ZO0049900499, ZO0029400294\\",\\"0, 0, 0, 0\\",\\"85, 50, 37, 33\\",\\"85, 50, 37, 33\\",\\"0, 0, 0, 0\\",\\"ZO0680206802, ZO0321703217, ZO0049900499, ZO0029400294\\",205,205,4,4,order,elyssa +kwMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Frances,Frances,\\"Frances Davidson\\",\\"Frances Davidson\\",FEMALE,49,Davidson,Davidson,\\"(empty)\\",Wednesday,2,\\"frances@davidson-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568751,\\"sold_product_568751_22085, sold_product_568751_22963\\",\\"sold_product_568751_22085, sold_product_568751_22963\\",\\"11.992, 7.988\\",\\"11.992, 7.988\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"6.352, 4.148\\",\\"11.992, 7.988\\",\\"22,085, 22,963\\",\\"Hat - black, 3 PACK - Socks - grey/white/black\\",\\"Hat - black, 3 PACK - Socks - grey/white/black\\",\\"1, 1\\",\\"ZO0308703087, ZO0613106131\\",\\"0, 0\\",\\"11.992, 7.988\\",\\"11.992, 7.988\\",\\"0, 0\\",\\"ZO0308703087, ZO0613106131\\",\\"19.984\\",\\"19.984\\",2,2,order,frances +oQMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Yasmine,Yasmine,\\"Yasmine Nash\\",\\"Yasmine Nash\\",FEMALE,43,Nash,Nash,\\"(empty)\\",Wednesday,2,\\"yasmine@nash-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569010,\\"sold_product_569010_17948, sold_product_569010_22803\\",\\"sold_product_569010_17948, sold_product_569010_22803\\",\\"28.984, 33\\",\\"28.984, 33\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations\\",\\"15.359, 17.484\\",\\"28.984, 33\\",\\"17,948, 22,803\\",\\"Tote bag - old rose, Blouse - red\\",\\"Tote bag - old rose, Blouse - red\\",\\"1, 1\\",\\"ZO0090700907, ZO0265002650\\",\\"0, 0\\",\\"28.984, 33\\",\\"28.984, 33\\",\\"0, 0\\",\\"ZO0090700907, ZO0265002650\\",\\"61.969\\",\\"61.969\\",2,2,order,yasmine +uwMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Women's Accessories\\",\\"Men's Clothing, Women's Accessories\\",EUR,Tariq,Tariq,\\"Tariq Rivera\\",\\"Tariq Rivera\\",MALE,25,Rivera,Rivera,\\"(empty)\\",Wednesday,2,\\"tariq@rivera-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568745,\\"sold_product_568745_24487, sold_product_568745_17279\\",\\"sold_product_568745_24487, sold_product_568745_17279\\",\\"20.984, 11.992\\",\\"20.984, 11.992\\",\\"Men's Clothing, Women's Accessories\\",\\"Men's Clothing, Women's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"10.906, 6.109\\",\\"20.984, 11.992\\",\\"24,487, 17,279\\",\\"Chinos - grey, Hat - navy\\",\\"Chinos - grey, Hat - navy\\",\\"1, 1\\",\\"ZO0528305283, ZO0309203092\\",\\"0, 0\\",\\"20.984, 11.992\\",\\"20.984, 11.992\\",\\"0, 0\\",\\"ZO0528305283, ZO0309203092\\",\\"32.969\\",\\"32.969\\",2,2,order,tariq +AwMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories, Women's Clothing\\",\\"Women's Shoes, Women's Accessories, Women's Clothing\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Simpson\\",\\"Rabbia Al Simpson\\",FEMALE,5,Simpson,Simpson,\\"(empty)\\",Wednesday,2,\\"rabbia al@simpson-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Jun 25, 2019 @ 00:00:00.000\\",728962,\\"sold_product_728962_24881, sold_product_728962_18382, sold_product_728962_14470, sold_product_728962_18450\\",\\"sold_product_728962_24881, sold_product_728962_18382, sold_product_728962_14470, sold_product_728962_18450\\",\\"42, 24.984, 28.984, 50\\",\\"42, 24.984, 28.984, 50\\",\\"Women's Shoes, Women's Accessories, Women's Clothing, Women's Clothing\\",\\"Women's Shoes, Women's Accessories, Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Tigress Enterprises, Tigress Enterprises, Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Tigress Enterprises, Tigress Enterprises, Gnomehouse\\",\\"20.578, 12.992, 15.648, 22.5\\",\\"42, 24.984, 28.984, 50\\",\\"24,881, 18,382, 14,470, 18,450\\",\\"Ankle boots - black, Across body bag - taupe/black/pink, Cardigan - tan, Summer dress - flame scarlet\\",\\"Ankle boots - black, Across body bag - taupe/black/pink, Cardigan - tan, Summer dress - flame scarlet\\",\\"1, 1, 1, 1\\",\\"ZO0019800198, ZO0089200892, ZO0069700697, ZO0332303323\\",\\"0, 0, 0, 0\\",\\"42, 24.984, 28.984, 50\\",\\"42, 24.984, 28.984, 50\\",\\"0, 0, 0, 0\\",\\"ZO0019800198, ZO0089200892, ZO0069700697, ZO0332303323\\",146,146,4,4,order,rabbia +XAMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Yahya,Yahya,\\"Yahya Love\\",\\"Yahya Love\\",MALE,23,Love,Love,\\"(empty)\\",Wednesday,2,\\"yahya@love-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",Elitelligence,Elitelligence,\\"Jun 25, 2019 @ 00:00:00.000\\",568069,\\"sold_product_568069_14245, sold_product_568069_19287\\",\\"sold_product_568069_14245, sold_product_568069_19287\\",\\"28.984, 21.984\\",\\"28.984, 21.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"13.922, 10.563\\",\\"28.984, 21.984\\",\\"14,245, 19,287\\",\\"Trousers - grey, Chinos - dark blue\\",\\"Trousers - grey, Chinos - dark blue\\",\\"1, 1\\",\\"ZO0530305303, ZO0528405284\\",\\"0, 0\\",\\"28.984, 21.984\\",\\"28.984, 21.984\\",\\"0, 0\\",\\"ZO0530305303, ZO0528405284\\",\\"50.969\\",\\"50.969\\",2,2,order,yahya +jQMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Massey\\",\\"Rabbia Al Massey\\",FEMALE,5,Massey,Massey,\\"(empty)\\",Wednesday,2,\\"rabbia al@massey-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Tigress Enterprises MAMA, Champion Arts, Microlutions, Primemaster\\",\\"Tigress Enterprises MAMA, Champion Arts, Microlutions, Primemaster\\",\\"Jun 25, 2019 @ 00:00:00.000\\",732546,\\"sold_product_732546_17971, sold_product_732546_18249, sold_product_732546_18483, sold_product_732546_18726\\",\\"sold_product_732546_17971, sold_product_732546_18249, sold_product_732546_18483, sold_product_732546_18726\\",\\"36, 24.984, 20.984, 140\\",\\"36, 24.984, 20.984, 140\\",\\"Women's Clothing, Women's Clothing, Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Clothing, Women's Clothing, Women's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Tigress Enterprises MAMA, Champion Arts, Microlutions, Primemaster\\",\\"Tigress Enterprises MAMA, Champion Arts, Microlutions, Primemaster\\",\\"19.063, 13.742, 10.078, 64.375\\",\\"36, 24.984, 20.984, 140\\",\\"17,971, 18,249, 18,483, 18,726\\",\\"Jersey dress - navy/offwhite, Hoodie - off-white, Print T-shirt - olive night, High heeled boots - stone\\",\\"Jersey dress - navy/offwhite, Hoodie - off-white, Print T-shirt - olive night, High heeled boots - stone\\",\\"1, 1, 1, 1\\",\\"ZO0228602286, ZO0502605026, ZO0108901089, ZO0362503625\\",\\"0, 0, 0, 0\\",\\"36, 24.984, 20.984, 140\\",\\"36, 24.984, 20.984, 140\\",\\"0, 0, 0, 0\\",\\"ZO0228602286, ZO0502605026, ZO0108901089, ZO0362503625\\",222,222,4,4,order,rabbia +BwMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Simpson\\",\\"Wilhemina St. Simpson\\",FEMALE,17,Simpson,Simpson,\\"(empty)\\",Wednesday,2,\\"wilhemina st.@simpson-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Pyramidustries active, Tigress Enterprises\\",\\"Pyramidustries active, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568218,\\"sold_product_568218_10736, sold_product_568218_16297\\",\\"sold_product_568218_10736, sold_product_568218_16297\\",\\"33, 16.984\\",\\"33, 16.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries active, Tigress Enterprises\\",\\"Pyramidustries active, Tigress Enterprises\\",\\"16.172, 9.344\\",\\"33, 16.984\\",\\"10,736, 16,297\\",\\"Tracksuit top - grey multicolor , Watch - nude\\",\\"Tracksuit top - grey multicolor , Watch - nude\\",\\"1, 1\\",\\"ZO0227402274, ZO0079000790\\",\\"0, 0\\",\\"33, 16.984\\",\\"33, 16.984\\",\\"0, 0\\",\\"ZO0227402274, ZO0079000790\\",\\"49.969\\",\\"49.969\\",2,2,order,wilhemina +CAMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Robbie,Robbie,\\"Robbie Perkins\\",\\"Robbie Perkins\\",MALE,48,Perkins,Perkins,\\"(empty)\\",Wednesday,2,\\"robbie@perkins-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568278,\\"sold_product_568278_6696, sold_product_568278_21136\\",\\"sold_product_568278_6696, sold_product_568278_21136\\",\\"33, 33\\",\\"33, 33\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"15.844, 17.813\\",\\"33, 33\\",\\"6,696, 21,136\\",\\"Slim fit jeans - dark blue, Jumper - dark blue\\",\\"Slim fit jeans - dark blue, Jumper - dark blue\\",\\"1, 1\\",\\"ZO0536705367, ZO0449804498\\",\\"0, 0\\",\\"33, 33\\",\\"33, 33\\",\\"0, 0\\",\\"ZO0536705367, ZO0449804498\\",66,66,2,2,order,robbie +CQMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Boris,Boris,\\"Boris Ruiz\\",\\"Boris Ruiz\\",MALE,36,Ruiz,Ruiz,\\"(empty)\\",Wednesday,2,\\"boris@ruiz-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568428,\\"sold_product_568428_22274, sold_product_568428_12864\\",\\"sold_product_568428_22274, sold_product_568428_12864\\",\\"65, 22.984\\",\\"65, 22.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"34.438, 11.719\\",\\"65, 22.984\\",\\"22,274, 12,864\\",\\"Suit jacket - black, SLIM FIT - Formal shirt - black\\",\\"Suit jacket - black, SLIM FIT - Formal shirt - black\\",\\"1, 1\\",\\"ZO0408404084, ZO0422304223\\",\\"0, 0\\",\\"65, 22.984\\",\\"65, 22.984\\",\\"0, 0\\",\\"ZO0408404084, ZO0422304223\\",88,88,2,2,order,boris +CgMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Hopkins\\",\\"Abigail Hopkins\\",FEMALE,46,Hopkins,Hopkins,\\"(empty)\\",Wednesday,2,\\"abigail@hopkins-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568492,\\"sold_product_568492_21002, sold_product_568492_19078\\",\\"sold_product_568492_21002, sold_product_568492_19078\\",\\"33, 16.984\\",\\"33, 16.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"17.156, 8.828\\",\\"33, 16.984\\",\\"21,002, 19,078\\",\\"Shirt - Dark Turquoise, Print T-shirt - black\\",\\"Shirt - Dark Turquoise, Print T-shirt - black\\",\\"1, 1\\",\\"ZO0346103461, ZO0054100541\\",\\"0, 0\\",\\"33, 16.984\\",\\"33, 16.984\\",\\"0, 0\\",\\"ZO0346103461, ZO0054100541\\",\\"49.969\\",\\"49.969\\",2,2,order,abigail +GgMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Greene\\",\\"Abdulraheem Al Greene\\",MALE,33,Greene,Greene,\\"(empty)\\",Wednesday,2,\\"abdulraheem al@greene-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569262,\\"sold_product_569262_11467, sold_product_569262_11510\\",\\"sold_product_569262_11467, sold_product_569262_11510\\",\\"12.992, 10.992\\",\\"12.992, 10.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"6.109, 5.82\\",\\"12.992, 10.992\\",\\"11,467, 11,510\\",\\"3 PACK - Shorts - black/royal/mint, Sports shirt - black\\",\\"3 PACK - Shorts - black/royal/mint, Sports shirt - black\\",\\"1, 1\\",\\"ZO0609906099, ZO0614806148\\",\\"0, 0\\",\\"12.992, 10.992\\",\\"12.992, 10.992\\",\\"0, 0\\",\\"ZO0609906099, ZO0614806148\\",\\"23.984\\",\\"23.984\\",2,2,order,abdulraheem +GwMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Abd,Abd,\\"Abd Mckenzie\\",\\"Abd Mckenzie\\",MALE,52,Mckenzie,Mckenzie,\\"(empty)\\",Wednesday,2,\\"abd@mckenzie-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569306,\\"sold_product_569306_13753, sold_product_569306_19486\\",\\"sold_product_569306_13753, sold_product_569306_19486\\",\\"24.984, 85\\",\\"24.984, 85\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"13.742, 44.188\\",\\"24.984, 85\\",\\"13,753, 19,486\\",\\"Formal shirt - white/blue, Snowboard jacket - black\\",\\"Formal shirt - white/blue, Snowboard jacket - black\\",\\"1, 1\\",\\"ZO0412004120, ZO0625406254\\",\\"0, 0\\",\\"24.984, 85\\",\\"24.984, 85\\",\\"0, 0\\",\\"ZO0412004120, ZO0625406254\\",110,110,2,2,order,abd +0gMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Yuri,Yuri,\\"Yuri Perry\\",\\"Yuri Perry\\",MALE,21,Perry,Perry,\\"(empty)\\",Wednesday,2,\\"yuri@perry-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569223,\\"sold_product_569223_12715, sold_product_569223_20466\\",\\"sold_product_569223_12715, sold_product_569223_20466\\",\\"18.984, 7.988\\",\\"18.984, 7.988\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"8.742, 4.23\\",\\"18.984, 7.988\\",\\"12,715, 20,466\\",\\"Polo shirt - off-white, Hat - black\\",\\"Polo shirt - off-white, Hat - black\\",\\"1, 1\\",\\"ZO0444004440, ZO0596805968\\",\\"0, 0\\",\\"18.984, 7.988\\",\\"18.984, 7.988\\",\\"0, 0\\",\\"ZO0444004440, ZO0596805968\\",\\"26.984\\",\\"26.984\\",2,2,order,yuri +GAMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Muniz,Muniz,\\"Muniz Perkins\\",\\"Muniz Perkins\\",MALE,37,Perkins,Perkins,\\"(empty)\\",Wednesday,2,\\"muniz@perkins-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568039,\\"sold_product_568039_13197, sold_product_568039_11137\\",\\"sold_product_568039_13197, sold_product_568039_11137\\",\\"10.992, 28.984\\",\\"10.992, 28.984\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"5.172, 15.359\\",\\"10.992, 28.984\\",\\"13,197, 11,137\\",\\"Sunglasses - black/silver-coloured, Shirt - white\\",\\"Sunglasses - black/silver-coloured, Shirt - white\\",\\"1, 1\\",\\"ZO0599705997, ZO0416704167\\",\\"0, 0\\",\\"10.992, 28.984\\",\\"10.992, 28.984\\",\\"0, 0\\",\\"ZO0599705997, ZO0416704167\\",\\"39.969\\",\\"39.969\\",2,2,order,muniz +YgMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",EUR,Abd,Abd,\\"Abd Parker\\",\\"Abd Parker\\",MALE,52,Parker,Parker,\\"(empty)\\",Wednesday,2,\\"abd@parker-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568117,\\"sold_product_568117_13602, sold_product_568117_20020\\",\\"sold_product_568117_13602, sold_product_568117_20020\\",\\"20.984, 60\\",\\"20.984, 60\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"10.289, 28.797\\",\\"20.984, 60\\",\\"13,602, 20,020\\",\\"Across body bag - dark brown, Boots - navy\\",\\"Across body bag - dark brown, Boots - navy\\",\\"1, 1\\",\\"ZO0315203152, ZO0406304063\\",\\"0, 0\\",\\"20.984, 60\\",\\"20.984, 60\\",\\"0, 0\\",\\"ZO0315203152, ZO0406304063\\",81,81,2,2,order,abd +YwMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Clarice,Clarice,\\"Clarice Figueroa\\",\\"Clarice Figueroa\\",FEMALE,18,Figueroa,Figueroa,\\"(empty)\\",Wednesday,2,\\"clarice@figueroa-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568165,\\"sold_product_568165_22895, sold_product_568165_20510\\",\\"sold_product_568165_22895, sold_product_568165_20510\\",\\"24.984, 60\\",\\"24.984, 60\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"13.492, 28.797\\",\\"24.984, 60\\",\\"22,895, 20,510\\",\\"Vest - moroccan blue, Dress - navy blazer\\",\\"Vest - moroccan blue, Dress - navy blazer\\",\\"1, 1\\",\\"ZO0065600656, ZO0337003370\\",\\"0, 0\\",\\"24.984, 60\\",\\"24.984, 60\\",\\"0, 0\\",\\"ZO0065600656, ZO0337003370\\",85,85,2,2,order,clarice +hQMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Mccarthy\\",\\"Elyssa Mccarthy\\",FEMALE,27,Mccarthy,Mccarthy,\\"(empty)\\",Wednesday,2,\\"elyssa@mccarthy-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568393,\\"sold_product_568393_5224, sold_product_568393_18968\\",\\"sold_product_568393_5224, sold_product_568393_18968\\",\\"85, 50\\",\\"85, 50\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"41.656, 25\\",\\"85, 50\\",\\"5,224, 18,968\\",\\"Boots - cognac, High heeled sandals - black\\",\\"Boots - cognac, High heeled sandals - black\\",\\"1, 1\\",\\"ZO0374103741, ZO0242102421\\",\\"0, 0\\",\\"85, 50\\",\\"85, 50\\",\\"0, 0\\",\\"ZO0374103741, ZO0242102421\\",135,135,2,2,order,elyssa +1QMtOW0BH63Xcmy45Wq4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Cunningham\\",\\"Gwen Cunningham\\",FEMALE,26,Cunningham,Cunningham,\\"(empty)\\",Wednesday,2,\\"gwen@cunningham-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Tigress Enterprises Curvy, Tigress Enterprises\\",\\"Tigress Enterprises Curvy, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",567996,\\"sold_product_567996_21740, sold_product_567996_20451\\",\\"sold_product_567996_21740, sold_product_567996_20451\\",\\"24.984, 28.984\\",\\"24.984, 28.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises Curvy, Tigress Enterprises\\",\\"Tigress Enterprises Curvy, Tigress Enterprises\\",\\"11.25, 15.648\\",\\"24.984, 28.984\\",\\"21,740, 20,451\\",\\"Print T-shirt - scarab, Jersey dress - port royal\\",\\"Print T-shirt - scarab, Jersey dress - port royal\\",\\"1, 1\\",\\"ZO0105401054, ZO0046200462\\",\\"0, 0\\",\\"24.984, 28.984\\",\\"24.984, 28.984\\",\\"0, 0\\",\\"ZO0105401054, ZO0046200462\\",\\"53.969\\",\\"53.969\\",2,2,order,gwen +BwMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Marwan,Marwan,\\"Marwan Carr\\",\\"Marwan Carr\\",MALE,51,Carr,Carr,\\"(empty)\\",Wednesday,2,\\"marwan@carr-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569173,\\"sold_product_569173_17602, sold_product_569173_2924\\",\\"sold_product_569173_17602, sold_product_569173_2924\\",\\"24.984, 37\\",\\"24.984, 37\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"11.75, 18.125\\",\\"24.984, 37\\",\\"17,602, 2,924\\",\\"Jumper - mulitcoloured/dark blue, Tracksuit - navy blazer\\",\\"Jumper - mulitcoloured/dark blue, Tracksuit - navy blazer\\",\\"1, 1\\",\\"ZO0452204522, ZO0631206312\\",\\"0, 0\\",\\"24.984, 37\\",\\"24.984, 37\\",\\"0, 0\\",\\"ZO0452204522, ZO0631206312\\",\\"61.969\\",\\"61.969\\",2,2,order,marwan +CAMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",EUR,Frances,Frances,\\"Frances Wells\\",\\"Frances Wells\\",FEMALE,49,Wells,Wells,\\"(empty)\\",Wednesday,2,\\"frances@wells-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569209,\\"sold_product_569209_16819, sold_product_569209_24934\\",\\"sold_product_569209_16819, sold_product_569209_24934\\",\\"42, 50\\",\\"42, 50\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"19.734, 22.5\\",\\"42, 50\\",\\"16,819, 24,934\\",\\"Weekend bag - cognac, Lace-up boots - resin coffee\\",\\"Weekend bag - cognac, Lace-up boots - resin coffee\\",\\"1, 1\\",\\"ZO0472304723, ZO0403504035\\",\\"0, 0\\",\\"42, 50\\",\\"42, 50\\",\\"0, 0\\",\\"ZO0472304723, ZO0403504035\\",92,92,2,2,order,frances +CQMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Gibbs\\",\\"Jackson Gibbs\\",MALE,13,Gibbs,Gibbs,\\"(empty)\\",Wednesday,2,\\"jackson@gibbs-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568865,\\"sold_product_568865_15772, sold_product_568865_13481\\",\\"sold_product_568865_15772, sold_product_568865_13481\\",\\"11.992, 10.992\\",\\"11.992, 10.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"6.23, 5.281\\",\\"11.992, 10.992\\",\\"15,772, 13,481\\",\\"Print T-shirt - white, Print T-shirt - white\\",\\"Print T-shirt - white, Print T-shirt - white\\",\\"1, 1\\",\\"ZO0294502945, ZO0560605606\\",\\"0, 0\\",\\"11.992, 10.992\\",\\"11.992, 10.992\\",\\"0, 0\\",\\"ZO0294502945, ZO0560605606\\",\\"22.984\\",\\"22.984\\",2,2,order,jackson +CgMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Yahya,Yahya,\\"Yahya Holland\\",\\"Yahya Holland\\",MALE,23,Holland,Holland,\\"(empty)\\",Wednesday,2,\\"yahya@holland-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",Oceanavigations,Oceanavigations,\\"Jun 25, 2019 @ 00:00:00.000\\",568926,\\"sold_product_568926_19082, sold_product_568926_17588\\",\\"sold_product_568926_19082, sold_product_568926_17588\\",\\"70, 20.984\\",\\"70, 20.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"37.094, 10.906\\",\\"70, 20.984\\",\\"19,082, 17,588\\",\\"Jumper - ecru, Sweatshirt - mustard\\",\\"Jumper - ecru, Sweatshirt - mustard\\",\\"1, 1\\",\\"ZO0298302983, ZO0300003000\\",\\"0, 0\\",\\"70, 20.984\\",\\"70, 20.984\\",\\"0, 0\\",\\"ZO0298302983, ZO0300003000\\",91,91,2,2,order,yahya +CwMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Selena,Selena,\\"Selena Haynes\\",\\"Selena Haynes\\",FEMALE,42,Haynes,Haynes,\\"(empty)\\",Wednesday,2,\\"selena@haynes-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568955,\\"sold_product_568955_7789, sold_product_568955_11911\\",\\"sold_product_568955_7789, sold_product_568955_11911\\",\\"28.984, 11.992\\",\\"28.984, 11.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"15.359, 6\\",\\"28.984, 11.992\\",\\"7,789, 11,911\\",\\"Cardigan - blue grey, Leggings - black/white\\",\\"Cardigan - blue grey, Leggings - black/white\\",\\"1, 1\\",\\"ZO0068900689, ZO0076200762\\",\\"0, 0\\",\\"28.984, 11.992\\",\\"28.984, 11.992\\",\\"0, 0\\",\\"ZO0068900689, ZO0076200762\\",\\"40.969\\",\\"40.969\\",2,2,order,selena +DAMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Yasmine,Yasmine,\\"Yasmine Roberson\\",\\"Yasmine Roberson\\",FEMALE,43,Roberson,Roberson,\\"(empty)\\",Wednesday,2,\\"yasmine@roberson-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Champion Arts, Tigress Enterprises\\",\\"Champion Arts, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569056,\\"sold_product_569056_18276, sold_product_569056_16315\\",\\"sold_product_569056_18276, sold_product_569056_16315\\",\\"10.992, 33\\",\\"10.992, 33\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Tigress Enterprises\\",\\"Champion Arts, Tigress Enterprises\\",\\"5.82, 16.813\\",\\"10.992, 33\\",\\"18,276, 16,315\\",\\"Print T-shirt - dark grey, Handbag - taupe\\",\\"Print T-shirt - dark grey, Handbag - taupe\\",\\"1, 1\\",\\"ZO0494804948, ZO0096000960\\",\\"0, 0\\",\\"10.992, 33\\",\\"10.992, 33\\",\\"0, 0\\",\\"ZO0494804948, ZO0096000960\\",\\"43.969\\",\\"43.969\\",2,2,order,yasmine +DQMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Yasmine,Yasmine,\\"Yasmine Hudson\\",\\"Yasmine Hudson\\",FEMALE,43,Hudson,Hudson,\\"(empty)\\",Wednesday,2,\\"yasmine@hudson-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569083,\\"sold_product_569083_17188, sold_product_569083_11983\\",\\"sold_product_569083_17188, sold_product_569083_11983\\",\\"13.992, 24.984\\",\\"13.992, 24.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"7.551, 12.492\\",\\"13.992, 24.984\\",\\"17,188, 11,983\\",\\"Bustier - dark blue, Summer dress - red\\",\\"Bustier - dark blue, Summer dress - red\\",\\"1, 1\\",\\"ZO0099000990, ZO0631606316\\",\\"0, 0\\",\\"13.992, 24.984\\",\\"13.992, 24.984\\",\\"0, 0\\",\\"ZO0099000990, ZO0631606316\\",\\"38.969\\",\\"38.969\\",2,2,order,yasmine +EgMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Jackson,Jackson,\\"Jackson Conner\\",\\"Jackson Conner\\",MALE,13,Conner,Conner,\\"(empty)\\",Wednesday,2,\\"jackson@conner-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Oceanavigations, (empty), Low Tide Media\\",\\"Oceanavigations, (empty), Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",717726,\\"sold_product_717726_23932, sold_product_717726_12833, sold_product_717726_20363, sold_product_717726_13390\\",\\"sold_product_717726_23932, sold_product_717726_12833, sold_product_717726_20363, sold_product_717726_13390\\",\\"28.984, 155, 50, 24.984\\",\\"28.984, 155, 50, 24.984\\",\\"Men's Clothing, Men's Shoes, Men's Shoes, Men's Clothing\\",\\"Men's Clothing, Men's Shoes, Men's Shoes, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Oceanavigations, (empty), Low Tide Media, Oceanavigations\\",\\"Oceanavigations, (empty), Low Tide Media, Oceanavigations\\",\\"13.922, 79.063, 24, 12\\",\\"28.984, 155, 50, 24.984\\",\\"23,932, 12,833, 20,363, 13,390\\",\\"SVEN - Jeans Tapered Fit - light blue, Smart lace-ups - cognac, Boots - Lime, Chinos - military green\\",\\"SVEN - Jeans Tapered Fit - light blue, Smart lace-ups - cognac, Boots - Lime, Chinos - military green\\",\\"1, 1, 1, 1\\",\\"ZO0284902849, ZO0481204812, ZO0398403984, ZO0282402824\\",\\"0, 0, 0, 0\\",\\"28.984, 155, 50, 24.984\\",\\"28.984, 155, 50, 24.984\\",\\"0, 0, 0, 0\\",\\"ZO0284902849, ZO0481204812, ZO0398403984, ZO0282402824\\",259,259,4,4,order,jackson +QwMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,rania,rania,\\"rania Chapman\\",\\"rania Chapman\\",FEMALE,24,Chapman,Chapman,\\"(empty)\\",Wednesday,2,\\"rania@chapman-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Gnomehouse, Angeldale\\",\\"Gnomehouse, Angeldale\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568149,\\"sold_product_568149_12205, sold_product_568149_24905\\",\\"sold_product_568149_12205, sold_product_568149_24905\\",\\"33, 80\\",\\"33, 80\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Angeldale\\",\\"Gnomehouse, Angeldale\\",\\"15.18, 42.375\\",\\"33, 80\\",\\"12,205, 24,905\\",\\"Jacket - black, Lace-up boots - black\\",\\"Jacket - black, Lace-up boots - black\\",\\"1, 1\\",\\"ZO0342503425, ZO0675206752\\",\\"0, 0\\",\\"33, 80\\",\\"33, 80\\",\\"0, 0\\",\\"ZO0342503425, ZO0675206752\\",113,113,2,2,order,rani +RAMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Howell\\",\\"Rabbia Al Howell\\",FEMALE,5,Howell,Howell,\\"(empty)\\",Wednesday,2,\\"rabbia al@howell-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Crystal Lighting, Gnomehouse\\",\\"Crystal Lighting, Gnomehouse\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568192,\\"sold_product_568192_23290, sold_product_568192_11670\\",\\"sold_product_568192_23290, sold_product_568192_11670\\",\\"20.984, 20.984\\",\\"20.984, 20.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Crystal Lighting, Gnomehouse\\",\\"Crystal Lighting, Gnomehouse\\",\\"10.703, 9.867\\",\\"20.984, 20.984\\",\\"23,290, 11,670\\",\\"Wool jumper - dark blue, Hat - beige\\",\\"Wool jumper - dark blue, Hat - beige\\",\\"1, 1\\",\\"ZO0485504855, ZO0355603556\\",\\"0, 0\\",\\"20.984, 20.984\\",\\"20.984, 20.984\\",\\"0, 0\\",\\"ZO0485504855, ZO0355603556\\",\\"41.969\\",\\"41.969\\",2,2,order,rabbia +YQMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Gibbs\\",\\"Elyssa Gibbs\\",FEMALE,27,Gibbs,Gibbs,\\"(empty)\\",Wednesday,2,\\"elyssa@gibbs-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569183,\\"sold_product_569183_12081, sold_product_569183_8623\\",\\"sold_product_569183_12081, sold_product_569183_8623\\",\\"10.992, 17.984\\",\\"10.992, 17.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"5.172, 8.102\\",\\"10.992, 17.984\\",\\"12,081, 8,623\\",\\"Long sleeved top - dark brown, Long sleeved top - red ochre\\",\\"Long sleeved top - dark brown, Long sleeved top - red ochre\\",\\"1, 1\\",\\"ZO0641206412, ZO0165301653\\",\\"0, 0\\",\\"10.992, 17.984\\",\\"10.992, 17.984\\",\\"0, 0\\",\\"ZO0641206412, ZO0165301653\\",\\"28.984\\",\\"28.984\\",2,2,order,elyssa +YgMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Kamal,Kamal,\\"Kamal Mckinney\\",\\"Kamal Mckinney\\",MALE,39,Mckinney,Mckinney,\\"(empty)\\",Wednesday,2,\\"kamal@mckinney-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568818,\\"sold_product_568818_12415, sold_product_568818_24390\\",\\"sold_product_568818_12415, sold_product_568818_24390\\",\\"18.984, 16.984\\",\\"18.984, 16.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"9.313, 8.828\\",\\"18.984, 16.984\\",\\"12,415, 24,390\\",\\"Polo shirt - mottled grey, Jumper - dark brown multicolor\\",\\"Polo shirt - mottled grey, Jumper - dark brown multicolor\\",\\"1, 1\\",\\"ZO0294802948, ZO0451404514\\",\\"0, 0\\",\\"18.984, 16.984\\",\\"18.984, 16.984\\",\\"0, 0\\",\\"ZO0294802948, ZO0451404514\\",\\"35.969\\",\\"35.969\\",2,2,order,kamal +YwMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Robert,Robert,\\"Robert Rivera\\",\\"Robert Rivera\\",MALE,29,Rivera,Rivera,\\"(empty)\\",Wednesday,2,\\"robert@rivera-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Spritechnologies, Oceanavigations\\",\\"Spritechnologies, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568854,\\"sold_product_568854_12479, sold_product_568854_1820\\",\\"sold_product_568854_12479, sold_product_568854_1820\\",\\"10.992, 75\\",\\"10.992, 75\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Oceanavigations\\",\\"Spritechnologies, Oceanavigations\\",\\"5.059, 36.75\\",\\"10.992, 75\\",\\"12,479, 1,820\\",\\"Print T-shirt - black, Smart slip-ons - oro\\",\\"Print T-shirt - black, Smart slip-ons - oro\\",\\"1, 1\\",\\"ZO0616706167, ZO0255402554\\",\\"0, 0\\",\\"10.992, 75\\",\\"10.992, 75\\",\\"0, 0\\",\\"ZO0616706167, ZO0255402554\\",86,86,2,2,order,robert +ZAMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,\\"Ahmed Al\\",\\"Ahmed Al\\",\\"Ahmed Al Carpenter\\",\\"Ahmed Al Carpenter\\",MALE,4,Carpenter,Carpenter,\\"(empty)\\",Wednesday,2,\\"ahmed al@carpenter-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568901,\\"sold_product_568901_13181, sold_product_568901_23144\\",\\"sold_product_568901_13181, sold_product_568901_23144\\",\\"42, 28.984\\",\\"42, 28.984\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"21, 15.359\\",\\"42, 28.984\\",\\"13,181, 23,144\\",\\"Briefcase - navy, Slim fit jeans - grey\\",\\"Briefcase - navy, Slim fit jeans - grey\\",\\"1, 1\\",\\"ZO0466704667, ZO0427104271\\",\\"0, 0\\",\\"42, 28.984\\",\\"42, 28.984\\",\\"0, 0\\",\\"ZO0466704667, ZO0427104271\\",71,71,2,2,order,ahmed +ZQMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Mostafa,Mostafa,\\"Mostafa Hansen\\",\\"Mostafa Hansen\\",MALE,9,Hansen,Hansen,\\"(empty)\\",Wednesday,2,\\"mostafa@hansen-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568954,\\"sold_product_568954_591, sold_product_568954_1974\\",\\"sold_product_568954_591, sold_product_568954_1974\\",\\"65, 60\\",\\"65, 60\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"29.906, 28.203\\",\\"65, 60\\",\\"591, 1,974\\",\\"Lace-up boots - black barro, Lace-up boots - black\\",\\"Lace-up boots - black barro, Lace-up boots - black\\",\\"1, 1\\",\\"ZO0399603996, ZO0685906859\\",\\"0, 0\\",\\"65, 60\\",\\"65, 60\\",\\"0, 0\\",\\"ZO0399603996, ZO0685906859\\",125,125,2,2,order,mostafa +ZgMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Pia,Pia,\\"Pia Palmer\\",\\"Pia Palmer\\",FEMALE,45,Palmer,Palmer,\\"(empty)\\",Wednesday,2,\\"pia@palmer-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Tigress Enterprises, Primemaster\\",\\"Tigress Enterprises, Primemaster\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569033,\\"sold_product_569033_7233, sold_product_569033_18726\\",\\"sold_product_569033_7233, sold_product_569033_18726\\",\\"50, 140\\",\\"50, 140\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Primemaster\\",\\"Tigress Enterprises, Primemaster\\",\\"26.484, 64.375\\",\\"50, 140\\",\\"7,233, 18,726\\",\\"Over-the-knee boots - cognac, High heeled boots - stone\\",\\"Over-the-knee boots - cognac, High heeled boots - stone\\",\\"1, 1\\",\\"ZO0015700157, ZO0362503625\\",\\"0, 0\\",\\"50, 140\\",\\"50, 140\\",\\"0, 0\\",\\"ZO0015700157, ZO0362503625\\",190,190,2,2,order,pia +ZwMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Mcdonald\\",\\"Fitzgerald Mcdonald\\",MALE,11,Mcdonald,Mcdonald,\\"(empty)\\",Wednesday,2,\\"fitzgerald@mcdonald-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569091,\\"sold_product_569091_13103, sold_product_569091_12677\\",\\"sold_product_569091_13103, sold_product_569091_12677\\",\\"33, 16.984\\",\\"33, 16.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"17.156, 8.492\\",\\"33, 16.984\\",\\"13,103, 12,677\\",\\"T-bar sandals - black, Long sleeved top - black\\",\\"T-bar sandals - black, Long sleeved top - black\\",\\"1, 1\\",\\"ZO0258602586, ZO0552205522\\",\\"0, 0\\",\\"33, 16.984\\",\\"33, 16.984\\",\\"0, 0\\",\\"ZO0258602586, ZO0552205522\\",\\"49.969\\",\\"49.969\\",2,2,order,fuzzy +aAMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,\\"Ahmed Al\\",\\"Ahmed Al\\",\\"Ahmed Al Gibbs\\",\\"Ahmed Al Gibbs\\",MALE,4,Gibbs,Gibbs,\\"(empty)\\",Wednesday,2,\\"ahmed al@gibbs-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569003,\\"sold_product_569003_13719, sold_product_569003_12174\\",\\"sold_product_569003_13719, sold_product_569003_12174\\",\\"24.984, 60\\",\\"24.984, 60\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"13.242, 27\\",\\"24.984, 60\\",\\"13,719, 12,174\\",\\"Shirt - blue/grey, Smart lace-ups - Dark Red\\",\\"Shirt - blue/grey, Smart lace-ups - Dark Red\\",\\"1, 1\\",\\"ZO0414704147, ZO0387503875\\",\\"0, 0\\",\\"24.984, 60\\",\\"24.984, 60\\",\\"0, 0\\",\\"ZO0414704147, ZO0387503875\\",85,85,2,2,order,ahmed +bQMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Jim,Jim,\\"Jim Potter\\",\\"Jim Potter\\",MALE,41,Potter,Potter,\\"(empty)\\",Wednesday,2,\\"jim@potter-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568707,\\"sold_product_568707_24723, sold_product_568707_24246\\",\\"sold_product_568707_24723, sold_product_568707_24246\\",\\"33, 65\\",\\"33, 65\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"17.484, 33.781\\",\\"33, 65\\",\\"24,723, 24,246\\",\\"High-top trainers - multicolor, Lace-up boots - black\\",\\"High-top trainers - multicolor, Lace-up boots - black\\",\\"1, 1\\",\\"ZO0513305133, ZO0253302533\\",\\"0, 0\\",\\"33, 65\\",\\"33, 65\\",\\"0, 0\\",\\"ZO0513305133, ZO0253302533\\",98,98,2,2,order,jim +eQMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,George,George,\\"George Underwood\\",\\"George Underwood\\",MALE,32,Underwood,Underwood,\\"(empty)\\",Wednesday,2,\\"george@underwood-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,Elitelligence,Elitelligence,\\"Jun 25, 2019 @ 00:00:00.000\\",568019,\\"sold_product_568019_17179, sold_product_568019_20306\\",\\"sold_product_568019_17179, sold_product_568019_20306\\",\\"28.984, 11.992\\",\\"28.984, 11.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"15.07, 5.52\\",\\"28.984, 11.992\\",\\"17,179, 20,306\\",\\"Chinos - black, Long sleeved top - mottled dark grey\\",\\"Chinos - black, Long sleeved top - mottled dark grey\\",\\"1, 1\\",\\"ZO0530805308, ZO0563905639\\",\\"0, 0\\",\\"28.984, 11.992\\",\\"28.984, 11.992\\",\\"0, 0\\",\\"ZO0530805308, ZO0563905639\\",\\"40.969\\",\\"40.969\\",2,2,order,george +qQMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Yasmine,Yasmine,\\"Yasmine Ruiz\\",\\"Yasmine Ruiz\\",FEMALE,43,Ruiz,Ruiz,\\"(empty)\\",Wednesday,2,\\"yasmine@ruiz-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Gnomehouse, Spherecords\\",\\"Gnomehouse, Spherecords\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568182,\\"sold_product_568182_18562, sold_product_568182_21438\\",\\"sold_product_568182_18562, sold_product_568182_21438\\",\\"42, 10.992\\",\\"42, 10.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Spherecords\\",\\"Gnomehouse, Spherecords\\",\\"18.906, 5.711\\",\\"42, 10.992\\",\\"18,562, 21,438\\",\\"Jersey dress - black, Long sleeved top - light grey multicolor\\",\\"Jersey dress - black, Long sleeved top - light grey multicolor\\",\\"1, 1\\",\\"ZO0338603386, ZO0641006410\\",\\"0, 0\\",\\"42, 10.992\\",\\"42, 10.992\\",\\"0, 0\\",\\"ZO0338603386, ZO0641006410\\",\\"52.969\\",\\"52.969\\",2,2,order,yasmine +CwMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Jim,Jim,\\"Jim Munoz\\",\\"Jim Munoz\\",MALE,41,Munoz,Munoz,\\"(empty)\\",Wednesday,2,\\"jim@munoz-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569299,\\"sold_product_569299_18493, sold_product_569299_22273\\",\\"sold_product_569299_18493, sold_product_569299_22273\\",\\"33, 10.992\\",\\"33, 10.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"15.18, 5.93\\",\\"33, 10.992\\",\\"18,493, 22,273\\",\\"Lace-up boots - camel, Shorts - black\\",\\"Lace-up boots - camel, Shorts - black\\",\\"1, 1\\",\\"ZO0519605196, ZO0630806308\\",\\"0, 0\\",\\"33, 10.992\\",\\"33, 10.992\\",\\"0, 0\\",\\"ZO0519605196, ZO0630806308\\",\\"43.969\\",\\"43.969\\",2,2,order,jim +DAMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Watkins\\",\\"Jackson Watkins\\",MALE,13,Watkins,Watkins,\\"(empty)\\",Wednesday,2,\\"jackson@watkins-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569123,\\"sold_product_569123_15429, sold_product_569123_23856\\",\\"sold_product_569123_15429, sold_product_569123_23856\\",\\"20.984, 11.992\\",\\"20.984, 11.992\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"10.703, 5.398\\",\\"20.984, 11.992\\",\\"15,429, 23,856\\",\\"Rucksack - black, Polo shirt - dark grey multicolor\\",\\"Rucksack - black, Polo shirt - dark grey multicolor\\",\\"1, 1\\",\\"ZO0609006090, ZO0441504415\\",\\"0, 0\\",\\"20.984, 11.992\\",\\"20.984, 11.992\\",\\"0, 0\\",\\"ZO0609006090, ZO0441504415\\",\\"32.969\\",\\"32.969\\",2,2,order,jackson +kAMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Austin\\",\\"Elyssa Austin\\",FEMALE,27,Austin,Austin,\\"(empty)\\",Wednesday,2,\\"elyssa@austin-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries, Tigress Enterprises, Pyramidustries active\\",\\"Pyramidustries, Tigress Enterprises, Pyramidustries active\\",\\"Jun 25, 2019 @ 00:00:00.000\\",728335,\\"sold_product_728335_15156, sold_product_728335_21016, sold_product_728335_24932, sold_product_728335_18891\\",\\"sold_product_728335_15156, sold_product_728335_21016, sold_product_728335_24932, sold_product_728335_18891\\",\\"24.984, 33, 21.984, 33\\",\\"24.984, 33, 21.984, 33\\",\\"Women's Shoes, Women's Shoes, Women's Clothing, Women's Shoes\\",\\"Women's Shoes, Women's Shoes, Women's Clothing, Women's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Pyramidustries, Tigress Enterprises, Pyramidustries active, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises, Pyramidustries active, Tigress Enterprises\\",\\"12.992, 15.844, 12.094, 18.141\\",\\"24.984, 33, 21.984, 33\\",\\"15,156, 21,016, 24,932, 18,891\\",\\"Classic heels - light blue, Ankle boots - black, Tights - grey multicolor, Ankle boots - black\\",\\"Classic heels - light blue, Ankle boots - black, Tights - grey multicolor, Ankle boots - black\\",\\"1, 1, 1, 1\\",\\"ZO0134701347, ZO0026200262, ZO0223102231, ZO0022900229\\",\\"0, 0, 0, 0\\",\\"24.984, 33, 21.984, 33\\",\\"24.984, 33, 21.984, 33\\",\\"0, 0, 0, 0\\",\\"ZO0134701347, ZO0026200262, ZO0223102231, ZO0022900229\\",\\"112.938\\",\\"112.938\\",4,4,order,elyssa +mgMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Powell\\",\\"Rabbia Al Powell\\",FEMALE,5,Powell,Powell,\\"(empty)\\",Wednesday,2,\\"rabbia al@powell-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Primemaster, Tigress Enterprises, Spherecords Maternity, Champion Arts\\",\\"Primemaster, Tigress Enterprises, Spherecords Maternity, Champion Arts\\",\\"Jun 25, 2019 @ 00:00:00.000\\",726874,\\"sold_product_726874_12603, sold_product_726874_14008, sold_product_726874_16407, sold_product_726874_23268\\",\\"sold_product_726874_12603, sold_product_726874_14008, sold_product_726874_16407, sold_product_726874_23268\\",\\"140, 37, 13.992, 42\\",\\"140, 37, 13.992, 42\\",\\"Women's Shoes, Women's Clothing, Women's Clothing, Women's Clothing\\",\\"Women's Shoes, Women's Clothing, Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Primemaster, Tigress Enterprises, Spherecords Maternity, Champion Arts\\",\\"Primemaster, Tigress Enterprises, Spherecords Maternity, Champion Arts\\",\\"70, 18.5, 7, 19.734\\",\\"140, 37, 13.992, 42\\",\\"12,603, 14,008, 16,407, 23,268\\",\\"Boots - Midnight Blue, Summer dress - rose/black, Maxi skirt - mid grey multicolor, Light jacket - black/off-white\\",\\"Boots - Midnight Blue, Summer dress - rose/black, Maxi skirt - mid grey multicolor, Light jacket - black/off-white\\",\\"1, 1, 1, 1\\",\\"ZO0362303623, ZO0035400354, ZO0705207052, ZO0504005040\\",\\"0, 0, 0, 0\\",\\"140, 37, 13.992, 42\\",\\"140, 37, 13.992, 42\\",\\"0, 0, 0, 0\\",\\"ZO0362303623, ZO0035400354, ZO0705207052, ZO0504005040\\",233,233,4,4,order,rabbia +vAMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Stephanie,Stephanie,\\"Stephanie Benson\\",\\"Stephanie Benson\\",FEMALE,6,Benson,Benson,\\"(empty)\\",Wednesday,2,\\"stephanie@benson-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Spherecords, Champion Arts\\",\\"Spherecords, Champion Arts\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569218,\\"sold_product_569218_18040, sold_product_569218_14398\\",\\"sold_product_569218_18040, sold_product_569218_14398\\",\\"24.984, 20.984\\",\\"24.984, 20.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Champion Arts\\",\\"Spherecords, Champion Arts\\",\\"12.25, 10.906\\",\\"24.984, 20.984\\",\\"18,040, 14,398\\",\\"Trousers - black, Tracksuit bottoms - dark grey\\",\\"Trousers - black, Tracksuit bottoms - dark grey\\",\\"1, 1\\",\\"ZO0633206332, ZO0488604886\\",\\"0, 0\\",\\"24.984, 20.984\\",\\"24.984, 20.984\\",\\"0, 0\\",\\"ZO0633206332, ZO0488604886\\",\\"45.969\\",\\"45.969\\",2,2,order,stephanie +0wMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Nash\\",\\"Jackson Nash\\",MALE,13,Nash,Nash,\\"(empty)\\",Wednesday,2,\\"jackson@nash-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Spritechnologies, Low Tide Media, Elitelligence\\",\\"Spritechnologies, Low Tide Media, Elitelligence\\",\\"Jun 25, 2019 @ 00:00:00.000\\",722613,\\"sold_product_722613_11046, sold_product_722613_11747, sold_product_722613_16568, sold_product_722613_15828\\",\\"sold_product_722613_11046, sold_product_722613_11747, sold_product_722613_16568, sold_product_722613_15828\\",\\"20.984, 20.984, 28.984, 10.992\\",\\"20.984, 20.984, 28.984, 10.992\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Spritechnologies, Low Tide Media, Elitelligence, Low Tide Media\\",\\"Spritechnologies, Low Tide Media, Elitelligence, Low Tide Media\\",\\"9.453, 10.906, 15.938, 5.172\\",\\"20.984, 20.984, 28.984, 10.992\\",\\"11,046, 11,747, 16,568, 15,828\\",\\"Tracksuit bottoms - black, Polo shirt - blue, Chinos - dark blue, Tie - black\\",\\"Tracksuit bottoms - black, Polo shirt - blue, Chinos - dark blue, Tie - black\\",\\"1, 1, 1, 1\\",\\"ZO0618806188, ZO0442804428, ZO0530705307, ZO0410804108\\",\\"0, 0, 0, 0\\",\\"20.984, 20.984, 28.984, 10.992\\",\\"20.984, 20.984, 28.984, 10.992\\",\\"0, 0, 0, 0\\",\\"ZO0618806188, ZO0442804428, ZO0530705307, ZO0410804108\\",\\"81.938\\",\\"81.938\\",4,4,order,jackson +1AMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Sonya,Sonya,\\"Sonya Kim\\",\\"Sonya Kim\\",FEMALE,28,Kim,Kim,\\"(empty)\\",Wednesday,2,\\"sonya@kim-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568152,\\"sold_product_568152_16870, sold_product_568152_17608\\",\\"sold_product_568152_16870, sold_product_568152_17608\\",\\"37, 28.984\\",\\"37, 28.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"17.391, 14.211\\",\\"37, 28.984\\",\\"16,870, 17,608\\",\\"Blouse - multicolored, Summer dress - black/berry\\",\\"Blouse - multicolored, Summer dress - black/berry\\",\\"1, 1\\",\\"ZO0349303493, ZO0043900439\\",\\"0, 0\\",\\"37, 28.984\\",\\"37, 28.984\\",\\"0, 0\\",\\"ZO0349303493, ZO0043900439\\",66,66,2,2,order,sonya +1QMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Irwin,Irwin,\\"Irwin Hampton\\",\\"Irwin Hampton\\",MALE,14,Hampton,Hampton,\\"(empty)\\",Wednesday,2,\\"irwin@hampton-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Elitelligence, Angeldale\\",\\"Elitelligence, Angeldale\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568212,\\"sold_product_568212_19457, sold_product_568212_1471\\",\\"sold_product_568212_19457, sold_product_568212_1471\\",\\"25.984, 60\\",\\"25.984, 60\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Angeldale\\",\\"Elitelligence, Angeldale\\",\\"12.219, 30\\",\\"25.984, 60\\",\\"19,457, 1,471\\",\\"Slim fit jeans - khaki, Lace-up boots - tan\\",\\"Slim fit jeans - khaki, Lace-up boots - tan\\",\\"1, 1\\",\\"ZO0536405364, ZO0688306883\\",\\"0, 0\\",\\"25.984, 60\\",\\"25.984, 60\\",\\"0, 0\\",\\"ZO0536405364, ZO0688306883\\",86,86,2,2,order,irwin +5AMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Gomez\\",\\"Abdulraheem Al Gomez\\",MALE,33,Gomez,Gomez,\\"(empty)\\",Wednesday,2,\\"abdulraheem al@gomez-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568228,\\"sold_product_568228_17075, sold_product_568228_21129\\",\\"sold_product_568228_17075, sold_product_568228_21129\\",\\"60, 22.984\\",\\"60, 22.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"31.797, 11.039\\",\\"60, 22.984\\",\\"17,075, 21,129\\",\\"Smart lace-ups - cognac, Jumper - khaki\\",\\"Smart lace-ups - cognac, Jumper - khaki\\",\\"1, 1\\",\\"ZO0387103871, ZO0580005800\\",\\"0, 0\\",\\"60, 22.984\\",\\"60, 22.984\\",\\"0, 0\\",\\"ZO0387103871, ZO0580005800\\",83,83,2,2,order,abdulraheem +5QMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Robert,Robert,\\"Robert Lloyd\\",\\"Robert Lloyd\\",MALE,29,Lloyd,Lloyd,\\"(empty)\\",Wednesday,2,\\"robert@lloyd-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568455,\\"sold_product_568455_13779, sold_product_568455_15022\\",\\"sold_product_568455_13779, sold_product_568455_15022\\",\\"22.984, 60\\",\\"22.984, 60\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"11.273, 30.594\\",\\"22.984, 60\\",\\"13,779, 15,022\\",\\"Formal shirt - light blue, Lace-ups - cognac\\",\\"Formal shirt - light blue, Lace-ups - cognac\\",\\"1, 1\\",\\"ZO0413104131, ZO0392303923\\",\\"0, 0\\",\\"22.984, 60\\",\\"22.984, 60\\",\\"0, 0\\",\\"ZO0413104131, ZO0392303923\\",83,83,2,2,order,robert +7wMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Evans\\",\\"Abdulraheem Al Evans\\",MALE,33,Evans,Evans,\\"(empty)\\",Wednesday,2,\\"abdulraheem al@evans-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",567994,\\"sold_product_567994_12464, sold_product_567994_14037\\",\\"sold_product_567994_12464, sold_product_567994_14037\\",\\"75, 140\\",\\"75, 140\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"33.75, 68.625\\",\\"75, 140\\",\\"12,464, 14,037\\",\\"Short coat - dark grey, Leather jacket - black\\",\\"Short coat - dark grey, Leather jacket - black\\",\\"1, 1\\",\\"ZO0430904309, ZO0288402884\\",\\"0, 0\\",\\"75, 140\\",\\"75, 140\\",\\"0, 0\\",\\"ZO0430904309, ZO0288402884\\",215,215,2,2,order,abdulraheem +CAMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Hayes\\",\\"Elyssa Hayes\\",FEMALE,27,Hayes,Hayes,\\"(empty)\\",Wednesday,2,\\"elyssa@hayes-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568045,\\"sold_product_568045_16186, sold_product_568045_24601\\",\\"sold_product_568045_16186, sold_product_568045_24601\\",\\"11.992, 28.984\\",\\"11.992, 28.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"5.762, 14.492\\",\\"11.992, 28.984\\",\\"16,186, 24,601\\",\\"Print T-shirt - white, Cardigan - white/black\\",\\"Print T-shirt - white, Cardigan - white/black\\",\\"1, 1\\",\\"ZO0160501605, ZO0069500695\\",\\"0, 0\\",\\"11.992, 28.984\\",\\"11.992, 28.984\\",\\"0, 0\\",\\"ZO0160501605, ZO0069500695\\",\\"40.969\\",\\"40.969\\",2,2,order,elyssa +VQMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Bryant\\",\\"Elyssa Bryant\\",FEMALE,27,Bryant,Bryant,\\"(empty)\\",Wednesday,2,\\"elyssa@bryant-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568308,\\"sold_product_568308_15499, sold_product_568308_17990\\",\\"sold_product_568308_15499, sold_product_568308_17990\\",\\"65, 24.984\\",\\"65, 24.984\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"29.906, 12.992\\",\\"65, 24.984\\",\\"15,499, 17,990\\",\\"Over-the-knee boots - black, Ankle boots - cognac\\",\\"Over-the-knee boots - black, Ankle boots - cognac\\",\\"1, 1\\",\\"ZO0138701387, ZO0024600246\\",\\"0, 0\\",\\"65, 24.984\\",\\"65, 24.984\\",\\"0, 0\\",\\"ZO0138701387, ZO0024600246\\",90,90,2,2,order,elyssa +VgMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Stephanie,Stephanie,\\"Stephanie Chapman\\",\\"Stephanie Chapman\\",FEMALE,6,Chapman,Chapman,\\"(empty)\\",Wednesday,2,\\"stephanie@chapman-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Pyramidustries, Oceanavigations\\",\\"Pyramidustries, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568515,\\"sold_product_568515_19990, sold_product_568515_18594\\",\\"sold_product_568515_19990, sold_product_568515_18594\\",\\"11.992, 65\\",\\"11.992, 65\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Oceanavigations\\",\\"Pyramidustries, Oceanavigations\\",\\"5.762, 34.438\\",\\"11.992, 65\\",\\"19,990, 18,594\\",\\"Vest - Forest Green, Classic heels - black\\",\\"Vest - Forest Green, Classic heels - black\\",\\"1, 1\\",\\"ZO0159901599, ZO0238702387\\",\\"0, 0\\",\\"11.992, 65\\",\\"11.992, 65\\",\\"0, 0\\",\\"ZO0159901599, ZO0238702387\\",77,77,2,2,order,stephanie +dgMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Eddie,Eddie,\\"Eddie Marshall\\",\\"Eddie Marshall\\",MALE,38,Marshall,Marshall,\\"(empty)\\",Wednesday,2,\\"eddie@marshall-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",Elitelligence,Elitelligence,\\"Jun 25, 2019 @ 00:00:00.000\\",721706,\\"sold_product_721706_21844, sold_product_721706_11106, sold_product_721706_1850, sold_product_721706_22242\\",\\"sold_product_721706_21844, sold_product_721706_11106, sold_product_721706_1850, sold_product_721706_22242\\",\\"33, 10.992, 28.984, 24.984\\",\\"33, 10.992, 28.984, 24.984\\",\\"Men's Shoes, Men's Clothing, Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing, Men's Shoes, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Elitelligence, Elitelligence, Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence, Elitelligence, Elitelligence\\",\\"17.484, 5.711, 14.211, 12.992\\",\\"33, 10.992, 28.984, 24.984\\",\\"21,844, 11,106, 1,850, 22,242\\",\\"Lace-up boots - red, 2 PACK - Shorts - black/stripe, Trainers - black/grey, Sweatshirt - black\\",\\"Lace-up boots - red, 2 PACK - Shorts - black/stripe, Trainers - black/grey, Sweatshirt - black\\",\\"1, 1, 1, 1\\",\\"ZO0519005190, ZO0610206102, ZO0514405144, ZO0586505865\\",\\"0, 0, 0, 0\\",\\"33, 10.992, 28.984, 24.984\\",\\"33, 10.992, 28.984, 24.984\\",\\"0, 0, 0, 0\\",\\"ZO0519005190, ZO0610206102, ZO0514405144, ZO0586505865\\",\\"97.938\\",\\"97.938\\",4,4,order,eddie +fQMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Roberson\\",\\"Wilhemina St. Roberson\\",FEMALE,17,Roberson,Roberson,\\"(empty)\\",Wednesday,2,\\"wilhemina st.@roberson-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Tigress Enterprises MAMA, Tigress Enterprises\\",\\"Tigress Enterprises MAMA, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569250,\\"sold_product_569250_22975, sold_product_569250_16886\\",\\"sold_product_569250_22975, sold_product_569250_16886\\",\\"33, 28.984\\",\\"33, 28.984\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises MAMA, Tigress Enterprises\\",\\"Tigress Enterprises MAMA, Tigress Enterprises\\",\\"17.484, 14.781\\",\\"33, 28.984\\",\\"22,975, 16,886\\",\\"Jersey dress - Medium Sea Green, Wedges - black\\",\\"Jersey dress - Medium Sea Green, Wedges - black\\",\\"1, 1\\",\\"ZO0228902289, ZO0005400054\\",\\"0, 0\\",\\"33, 28.984\\",\\"33, 28.984\\",\\"0, 0\\",\\"ZO0228902289, ZO0005400054\\",\\"61.969\\",\\"61.969\\",2,2,order,wilhemina +3wMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Thad,Thad,\\"Thad Washington\\",\\"Thad Washington\\",MALE,30,Washington,Washington,\\"(empty)\\",Wednesday,2,\\"thad@washington-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Spritechnologies, Oceanavigations\\",\\"Spritechnologies, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568776,\\"sold_product_568776_22271, sold_product_568776_18957\\",\\"sold_product_568776_22271, sold_product_568776_18957\\",\\"10.992, 24.984\\",\\"10.992, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Oceanavigations\\",\\"Spritechnologies, Oceanavigations\\",\\"5.711, 11.75\\",\\"10.992, 24.984\\",\\"22,271, 18,957\\",\\"Sports shirt - dark green, Jumper - black\\",\\"Sports shirt - dark green, Jumper - black\\",\\"1, 1\\",\\"ZO0616906169, ZO0296902969\\",\\"0, 0\\",\\"10.992, 24.984\\",\\"10.992, 24.984\\",\\"0, 0\\",\\"ZO0616906169, ZO0296902969\\",\\"35.969\\",\\"35.969\\",2,2,order,thad +\\"-wMtOW0BH63Xcmy4524Z\\",ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Samir,Samir,\\"Samir Moran\\",\\"Samir Moran\\",MALE,34,Moran,Moran,\\"(empty)\\",Wednesday,2,\\"samir@moran-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,Elitelligence,Elitelligence,\\"Jun 25, 2019 @ 00:00:00.000\\",568014,\\"sold_product_568014_6401, sold_product_568014_19633\\",\\"sold_product_568014_6401, sold_product_568014_19633\\",\\"20.984, 11.992\\",\\"20.984, 11.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"10.078, 6.352\\",\\"20.984, 11.992\\",\\"6,401, 19,633\\",\\"Shirt - Blue Violety, Long sleeved top - white and red\\",\\"Shirt - Blue Violety, Long sleeved top - white and red\\",\\"1, 1\\",\\"ZO0523905239, ZO0556605566\\",\\"0, 0\\",\\"20.984, 11.992\\",\\"20.984, 11.992\\",\\"0, 0\\",\\"ZO0523905239, ZO0556605566\\",\\"32.969\\",\\"32.969\\",2,2,order,samir +8wMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Riley\\",\\"Elyssa Riley\\",FEMALE,27,Riley,Riley,\\"(empty)\\",Wednesday,2,\\"elyssa@riley-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Pyramidustries,Pyramidustries,\\"Jun 25, 2019 @ 00:00:00.000\\",568702,\\"sold_product_568702_18286, sold_product_568702_14025\\",\\"sold_product_568702_18286, sold_product_568702_14025\\",\\"33, 24.984\\",\\"33, 24.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"16.5, 11.5\\",\\"33, 24.984\\",\\"18,286, 14,025\\",\\"Ankle boots - black, Blazer - black\\",\\"Ankle boots - black, Blazer - black\\",\\"1, 1\\",\\"ZO0142801428, ZO0182801828\\",\\"0, 0\\",\\"33, 24.984\\",\\"33, 24.984\\",\\"0, 0\\",\\"ZO0142801428, ZO0182801828\\",\\"57.969\\",\\"57.969\\",2,2,order,elyssa +HwMtOW0BH63Xcmy453AZ,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,Diane,Diane,\\"Diane Lloyd\\",\\"Diane Lloyd\\",FEMALE,22,Lloyd,Lloyd,\\"(empty)\\",Wednesday,2,\\"diane@lloyd-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568128,\\"sold_product_568128_11766, sold_product_568128_22927\\",\\"sold_product_568128_11766, sold_product_568128_22927\\",\\"24.984, 34\\",\\"24.984, 34\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"12.992, 17.672\\",\\"24.984, 34\\",\\"11,766, 22,927\\",\\"Tote bag - berry, Lace-ups - black\\",\\"Tote bag - berry, Lace-ups - black\\",\\"1, 1\\",\\"ZO0087500875, ZO0007100071\\",\\"0, 0\\",\\"24.984, 34\\",\\"24.984, 34\\",\\"0, 0\\",\\"ZO0087500875, ZO0007100071\\",\\"58.969\\",\\"58.969\\",2,2,order,diane +IAMtOW0BH63Xcmy453AZ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Jackson,Jackson,\\"Jackson Fleming\\",\\"Jackson Fleming\\",MALE,13,Fleming,Fleming,\\"(empty)\\",Wednesday,2,\\"jackson@fleming-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568177,\\"sold_product_568177_15382, sold_product_568177_18515\\",\\"sold_product_568177_15382, sold_product_568177_18515\\",\\"37, 65\\",\\"37, 65\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"19.594, 31.844\\",\\"37, 65\\",\\"15,382, 18,515\\",\\"Tracksuit top - mottled grey, Lace-up boots - tan\\",\\"Tracksuit top - mottled grey, Lace-up boots - tan\\",\\"1, 1\\",\\"ZO0584505845, ZO0403804038\\",\\"0, 0\\",\\"37, 65\\",\\"37, 65\\",\\"0, 0\\",\\"ZO0584505845, ZO0403804038\\",102,102,2,2,order,jackson +cwMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,rania,rania,\\"rania Franklin\\",\\"rania Franklin\\",FEMALE,24,Franklin,Franklin,\\"(empty)\\",Wednesday,2,\\"rania@franklin-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Pyramidustries, Oceanavigations\\",\\"Pyramidustries, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569178,\\"sold_product_569178_15398, sold_product_569178_23456\\",\\"sold_product_569178_15398, sold_product_569178_23456\\",\\"28.984, 50\\",\\"28.984, 50\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Oceanavigations\\",\\"Pyramidustries, Oceanavigations\\",\\"15.359, 25.484\\",\\"28.984, 50\\",\\"15,398, 23,456\\",\\"Jumper - offwhite, Maxi dress - black/white\\",\\"Jumper - offwhite, Maxi dress - black/white\\",\\"1, 1\\",\\"ZO0177001770, ZO0260502605\\",\\"0, 0\\",\\"28.984, 50\\",\\"28.984, 50\\",\\"0, 0\\",\\"ZO0177001770, ZO0260502605\\",79,79,2,2,order,rani +dAMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Sonya,Sonya,\\"Sonya Griffin\\",\\"Sonya Griffin\\",FEMALE,28,Griffin,Griffin,\\"(empty)\\",Wednesday,2,\\"sonya@griffin-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568877,\\"sold_product_568877_19521, sold_product_568877_19378\\",\\"sold_product_568877_19521, sold_product_568877_19378\\",\\"24.984, 24.984\\",\\"24.984, 24.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"11.5, 13.492\\",\\"24.984, 24.984\\",\\"19,521, 19,378\\",\\"Classic heels - cognac, Long sleeved top - winternude\\",\\"Classic heels - cognac, Long sleeved top - winternude\\",\\"1, 1\\",\\"ZO0132401324, ZO0058200582\\",\\"0, 0\\",\\"24.984, 24.984\\",\\"24.984, 24.984\\",\\"0, 0\\",\\"ZO0132401324, ZO0058200582\\",\\"49.969\\",\\"49.969\\",2,2,order,sonya +dQMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Little\\",\\"Abdulraheem Al Little\\",MALE,33,Little,Little,\\"(empty)\\",Wednesday,2,\\"abdulraheem al@little-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",Elitelligence,Elitelligence,\\"Jun 25, 2019 @ 00:00:00.000\\",568898,\\"sold_product_568898_11865, sold_product_568898_21764\\",\\"sold_product_568898_11865, sold_product_568898_21764\\",\\"50, 28.984\\",\\"50, 28.984\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"25.984, 15.359\\",\\"50, 28.984\\",\\"11,865, 21,764\\",\\"Down jacket - gru00fcn, Trainers - black\\",\\"Down jacket - gru00fcn, Trainers - black\\",\\"1, 1\\",\\"ZO0542205422, ZO0517805178\\",\\"0, 0\\",\\"50, 28.984\\",\\"50, 28.984\\",\\"0, 0\\",\\"ZO0542205422, ZO0517805178\\",79,79,2,2,order,abdulraheem +dgMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Selena,Selena,\\"Selena Padilla\\",\\"Selena Padilla\\",FEMALE,42,Padilla,Padilla,\\"(empty)\\",Wednesday,2,\\"selena@padilla-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568941,\\"sold_product_568941_14120, sold_product_568941_8820\\",\\"sold_product_568941_14120, sold_product_568941_8820\\",\\"11.992, 28.984\\",\\"11.992, 28.984\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"5.641, 13.344\\",\\"11.992, 28.984\\",\\"14,120, 8,820\\",\\"3 PACK - Belt - black/red/gunmetal, Jumper - peacoat/light blue\\",\\"3 PACK - Belt - black/red/gunmetal, Jumper - peacoat/light blue\\",\\"1, 1\\",\\"ZO0076600766, ZO0068800688\\",\\"0, 0\\",\\"11.992, 28.984\\",\\"11.992, 28.984\\",\\"0, 0\\",\\"ZO0076600766, ZO0068800688\\",\\"40.969\\",\\"40.969\\",2,2,order,selena +dwMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Brigitte,Brigitte,\\"Brigitte Ramsey\\",\\"Brigitte Ramsey\\",FEMALE,12,Ramsey,Ramsey,\\"(empty)\\",Wednesday,2,\\"brigitte@ramsey-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569027,\\"sold_product_569027_15733, sold_product_569027_20410\\",\\"sold_product_569027_15733, sold_product_569027_20410\\",\\"75, 18.984\\",\\"75, 18.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"36, 9.492\\",\\"75, 18.984\\",\\"15,733, 20,410\\",\\"Boots - tan, Long sleeved top - black\\",\\"Boots - tan, Long sleeved top - black\\",\\"1, 1\\",\\"ZO0245402454, ZO0060100601\\",\\"0, 0\\",\\"75, 18.984\\",\\"75, 18.984\\",\\"0, 0\\",\\"ZO0245402454, ZO0060100601\\",94,94,2,2,order,brigitte +eAMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Sonya,Sonya,\\"Sonya Morgan\\",\\"Sonya Morgan\\",FEMALE,28,Morgan,Morgan,\\"(empty)\\",Wednesday,2,\\"sonya@morgan-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569055,\\"sold_product_569055_12453, sold_product_569055_13828\\",\\"sold_product_569055_12453, sold_product_569055_13828\\",\\"60, 33\\",\\"60, 33\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"31.797, 15.18\\",\\"60, 33\\",\\"12,453, 13,828\\",\\"Ankle boots - Midnight Blue, Jumper - white/black\\",\\"Ankle boots - Midnight Blue, Jumper - white/black\\",\\"1, 1\\",\\"ZO0375903759, ZO0269402694\\",\\"0, 0\\",\\"60, 33\\",\\"60, 33\\",\\"0, 0\\",\\"ZO0375903759, ZO0269402694\\",93,93,2,2,order,sonya +eQMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Pia,Pia,\\"Pia Hubbard\\",\\"Pia Hubbard\\",FEMALE,45,Hubbard,Hubbard,\\"(empty)\\",Wednesday,2,\\"pia@hubbard-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Gnomehouse, Champion Arts\\",\\"Gnomehouse, Champion Arts\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569107,\\"sold_product_569107_24376, sold_product_569107_8430\\",\\"sold_product_569107_24376, sold_product_569107_8430\\",\\"60, 60\\",\\"60, 60\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Champion Arts\\",\\"Gnomehouse, Champion Arts\\",\\"27, 30.594\\",\\"60, 60\\",\\"24,376, 8,430\\",\\"Fun and Flowery Dress, Winter coat - red\\",\\"Fun and Flowery Dress, Winter coat - red\\",\\"1, 1\\",\\"ZO0339603396, ZO0504705047\\",\\"0, 0\\",\\"60, 60\\",\\"60, 60\\",\\"0, 0\\",\\"ZO0339603396, ZO0504705047\\",120,120,2,2,order,pia +iQMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Tariq,Tariq,\\"Tariq Clayton\\",\\"Tariq Clayton\\",MALE,25,Clayton,Clayton,\\"(empty)\\",Wednesday,2,\\"tariq@clayton-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Elitelligence, Oceanavigations, Low Tide Media\\",\\"Elitelligence, Oceanavigations, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",714385,\\"sold_product_714385_13039, sold_product_714385_16435, sold_product_714385_15502, sold_product_714385_6719\\",\\"sold_product_714385_13039, sold_product_714385_16435, sold_product_714385_15502, sold_product_714385_6719\\",\\"24.984, 21.984, 33, 28.984\\",\\"24.984, 21.984, 33, 28.984\\",\\"Men's Clothing, Men's Accessories, Men's Accessories, Men's Clothing\\",\\"Men's Clothing, Men's Accessories, Men's Accessories, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Elitelligence, Elitelligence, Oceanavigations, Low Tide Media\\",\\"Elitelligence, Elitelligence, Oceanavigations, Low Tide Media\\",\\"12.492, 12.094, 15.844, 15.359\\",\\"24.984, 21.984, 33, 28.984\\",\\"13,039, 16,435, 15,502, 6,719\\",\\"Sweatshirt - dark blue, Across body bag - dark grey, Watch - black, Trousers - dark blue\\",\\"Sweatshirt - dark blue, Across body bag - dark grey, Watch - black, Trousers - dark blue\\",\\"1, 1, 1, 1\\",\\"ZO0586805868, ZO0609106091, ZO0310903109, ZO0420104201\\",\\"0, 0, 0, 0\\",\\"24.984, 21.984, 33, 28.984\\",\\"24.984, 21.984, 33, 28.984\\",\\"0, 0, 0, 0\\",\\"ZO0586805868, ZO0609106091, ZO0310903109, ZO0420104201\\",\\"108.938\\",\\"108.938\\",4,4,order,tariq +hQMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Abd,Abd,\\"Abd Mcdonald\\",\\"Abd Mcdonald\\",MALE,52,Mcdonald,Mcdonald,\\"(empty)\\",Wednesday,2,\\"abd@mcdonald-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Oceanavigations, Low Tide Media, Elitelligence\\",\\"Oceanavigations, Low Tide Media, Elitelligence\\",\\"Jun 25, 2019 @ 00:00:00.000\\",723213,\\"sold_product_723213_6457, sold_product_723213_19528, sold_product_723213_12063, sold_product_723213_14510\\",\\"sold_product_723213_6457, sold_product_723213_19528, sold_product_723213_12063, sold_product_723213_14510\\",\\"28.984, 20.984, 20.984, 33\\",\\"28.984, 20.984, 20.984, 33\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Oceanavigations, Low Tide Media, Elitelligence, Oceanavigations\\",\\"Oceanavigations, Low Tide Media, Elitelligence, Oceanavigations\\",\\"15.359, 11.117, 9.867, 15.18\\",\\"28.984, 20.984, 20.984, 33\\",\\"6,457, 19,528, 12,063, 14,510\\",\\"Jumper - offwhite, Sweatshirt - navy, Cardigan - offwhite multicolor, Shirt - grey multicolor\\",\\"Jumper - offwhite, Sweatshirt - navy, Cardigan - offwhite multicolor, Shirt - grey multicolor\\",\\"1, 1, 1, 1\\",\\"ZO0297802978, ZO0456704567, ZO0572105721, ZO0280502805\\",\\"0, 0, 0, 0\\",\\"28.984, 20.984, 20.984, 33\\",\\"28.984, 20.984, 20.984, 33\\",\\"0, 0, 0, 0\\",\\"ZO0297802978, ZO0456704567, ZO0572105721, ZO0280502805\\",\\"103.938\\",\\"103.938\\",4,4,order,abd +zQMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Thad,Thad,\\"Thad Carr\\",\\"Thad Carr\\",MALE,30,Carr,Carr,\\"(empty)\\",Wednesday,2,\\"thad@carr-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568325,\\"sold_product_568325_11553, sold_product_568325_17851\\",\\"sold_product_568325_11553, sold_product_568325_17851\\",\\"140, 50\\",\\"140, 50\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"72.813, 25.984\\",\\"140, 50\\",\\"11,553, 17,851\\",\\"Leather jacket - camel, Casual lace-ups - dark blue\\",\\"Leather jacket - camel, Casual lace-ups - dark blue\\",\\"1, 1\\",\\"ZO0288202882, ZO0391803918\\",\\"0, 0\\",\\"140, 50\\",\\"140, 50\\",\\"0, 0\\",\\"ZO0288202882, ZO0391803918\\",190,190,2,2,order,thad +zgMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Wagdi,Wagdi,\\"Wagdi Cook\\",\\"Wagdi Cook\\",MALE,15,Cook,Cook,\\"(empty)\\",Wednesday,2,\\"wagdi@cook-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568360,\\"sold_product_568360_13315, sold_product_568360_18355\\",\\"sold_product_568360_13315, sold_product_568360_18355\\",\\"11.992, 65\\",\\"11.992, 65\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"5.398, 32.5\\",\\"11.992, 65\\",\\"13,315, 18,355\\",\\"5 PACK - Socks - blue/red/grey/green/black, Suit jacket - offwhite\\",\\"5 PACK - Socks - blue/red/grey/green/black, Suit jacket - offwhite\\",\\"1, 1\\",\\"ZO0480304803, ZO0274402744\\",\\"0, 0\\",\\"11.992, 65\\",\\"11.992, 65\\",\\"0, 0\\",\\"ZO0480304803, ZO0274402744\\",77,77,2,2,order,wagdi +EAMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Brigitte,Brigitte,\\"Brigitte Meyer\\",\\"Brigitte Meyer\\",FEMALE,12,Meyer,Meyer,\\"(empty)\\",Wednesday,2,\\"brigitte@meyer-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",569278,\\"sold_product_569278_7811, sold_product_569278_19226\\",\\"sold_product_569278_7811, sold_product_569278_19226\\",\\"100, 18.984\\",\\"100, 18.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"48, 9.68\\",\\"100, 18.984\\",\\"7,811, 19,226\\",\\"Short coat - dark blue multicolor, Print T-shirt - black\\",\\"Short coat - dark blue multicolor, Print T-shirt - black\\",\\"1, 1\\",\\"ZO0271802718, ZO0057100571\\",\\"0, 0\\",\\"100, 18.984\\",\\"100, 18.984\\",\\"0, 0\\",\\"ZO0271802718, ZO0057100571\\",119,119,2,2,order,brigitte +UgMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Underwood\\",\\"Gwen Underwood\\",FEMALE,26,Underwood,Underwood,\\"(empty)\\",Wednesday,2,\\"gwen@underwood-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Pyramidustries, Microlutions\\",\\"Pyramidustries, Microlutions\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568816,\\"sold_product_568816_24602, sold_product_568816_21413\\",\\"sold_product_568816_24602, sold_product_568816_21413\\",\\"21.984, 37\\",\\"21.984, 37\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Microlutions\\",\\"Pyramidustries, Microlutions\\",\\"12.094, 18.5\\",\\"21.984, 37\\",\\"24,602, 21,413\\",\\"Trousers - black, Jersey dress - black\\",\\"Trousers - black, Jersey dress - black\\",\\"1, 1\\",\\"ZO0146601466, ZO0108601086\\",\\"0, 0\\",\\"21.984, 37\\",\\"21.984, 37\\",\\"0, 0\\",\\"ZO0146601466, ZO0108601086\\",\\"58.969\\",\\"58.969\\",2,2,order,gwen +UwMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Women's Accessories\\",\\"Men's Clothing, Women's Accessories\\",EUR,Yuri,Yuri,\\"Yuri Carr\\",\\"Yuri Carr\\",MALE,21,Carr,Carr,\\"(empty)\\",Wednesday,2,\\"yuri@carr-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568375,\\"sold_product_568375_11121, sold_product_568375_14185\\",\\"sold_product_568375_11121, sold_product_568375_14185\\",\\"65, 24.984\\",\\"65, 24.984\\",\\"Men's Clothing, Women's Accessories\\",\\"Men's Clothing, Women's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"30.547, 11.75\\",\\"65, 24.984\\",\\"11,121, 14,185\\",\\"Winter jacket - black, Rucksack - washed black/black\\",\\"Winter jacket - black, Rucksack - washed black/black\\",\\"1, 1\\",\\"ZO0623606236, ZO0605306053\\",\\"0, 0\\",\\"65, 24.984\\",\\"65, 24.984\\",\\"0, 0\\",\\"ZO0623606236, ZO0605306053\\",90,90,2,2,order,yuri +VAMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Eddie,Eddie,\\"Eddie Taylor\\",\\"Eddie Taylor\\",MALE,38,Taylor,Taylor,\\"(empty)\\",Wednesday,2,\\"eddie@taylor-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568559,\\"sold_product_568559_17305, sold_product_568559_15031\\",\\"sold_product_568559_17305, sold_product_568559_15031\\",\\"11.992, 33\\",\\"11.992, 33\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"6.109, 16.813\\",\\"11.992, 33\\",\\"17,305, 15,031\\",\\"Belt - black, Wool - black\\",\\"Belt - black, Wool - black\\",\\"1, 1\\",\\"ZO0599005990, ZO0626506265\\",\\"0, 0\\",\\"11.992, 33\\",\\"11.992, 33\\",\\"0, 0\\",\\"ZO0599005990, ZO0626506265\\",\\"44.969\\",\\"44.969\\",2,2,order,eddie +VQMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Pia,Pia,\\"Pia Valdez\\",\\"Pia Valdez\\",FEMALE,45,Valdez,Valdez,\\"(empty)\\",Wednesday,2,\\"pia@valdez-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Pyramidustries, Oceanavigations\\",\\"Pyramidustries, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568611,\\"sold_product_568611_12564, sold_product_568611_12268\\",\\"sold_product_568611_12564, sold_product_568611_12268\\",\\"38, 42\\",\\"38, 42\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Oceanavigations\\",\\"Pyramidustries, Oceanavigations\\",\\"17.484, 19.734\\",\\"38, 42\\",\\"12,564, 12,268\\",\\"Short coat - black, Tote bag - light brown\\",\\"Short coat - black, Tote bag - light brown\\",\\"1, 1\\",\\"ZO0174701747, ZO0305103051\\",\\"0, 0\\",\\"38, 42\\",\\"38, 42\\",\\"0, 0\\",\\"ZO0174701747, ZO0305103051\\",80,80,2,2,order,pia +VgMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Jason,Jason,\\"Jason Hodges\\",\\"Jason Hodges\\",MALE,16,Hodges,Hodges,\\"(empty)\\",Wednesday,2,\\"jason@hodges-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568638,\\"sold_product_568638_18188, sold_product_568638_6975\\",\\"sold_product_568638_18188, sold_product_568638_6975\\",\\"33, 18.984\\",\\"33, 18.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"17.484, 8.742\\",\\"33, 18.984\\",\\"18,188, 6,975\\",\\"Smart lace-ups - cognac, Pyjama bottoms - green\\",\\"Smart lace-ups - cognac, Pyjama bottoms - green\\",\\"1, 1\\",\\"ZO0388003880, ZO0478304783\\",\\"0, 0\\",\\"33, 18.984\\",\\"33, 18.984\\",\\"0, 0\\",\\"ZO0388003880, ZO0478304783\\",\\"51.969\\",\\"51.969\\",2,2,order,jason +VwMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Mary,Mary,\\"Mary Hampton\\",\\"Mary Hampton\\",FEMALE,20,Hampton,Hampton,\\"(empty)\\",Wednesday,2,\\"mary@hampton-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Angeldale, Gnomehouse\\",\\"Angeldale, Gnomehouse\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568706,\\"sold_product_568706_15826, sold_product_568706_11255\\",\\"sold_product_568706_15826, sold_product_568706_11255\\",\\"110, 50\\",\\"110, 50\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Gnomehouse\\",\\"Angeldale, Gnomehouse\\",\\"55, 25.984\\",\\"110, 50\\",\\"15,826, 11,255\\",\\"Over-the-knee boots - black, Jersey dress - dark navy and white\\",\\"Over-the-knee boots - black, Jersey dress - dark navy and white\\",\\"1, 1\\",\\"ZO0672206722, ZO0331903319\\",\\"0, 0\\",\\"110, 50\\",\\"110, 50\\",\\"0, 0\\",\\"ZO0672206722, ZO0331903319\\",160,160,2,2,order,mary +mgMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Accessories, Men's Clothing\\",\\"Men's Shoes, Men's Accessories, Men's Clothing\\",EUR,Tariq,Tariq,\\"Tariq Banks\\",\\"Tariq Banks\\",MALE,25,Banks,Banks,\\"(empty)\\",Wednesday,2,\\"tariq@banks-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Elitelligence, (empty), Low Tide Media\\",\\"Elitelligence, (empty), Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",716889,\\"sold_product_716889_21293, sold_product_716889_12288, sold_product_716889_22189, sold_product_716889_19058\\",\\"sold_product_716889_21293, sold_product_716889_12288, sold_product_716889_22189, sold_product_716889_19058\\",\\"24.984, 155, 10.992, 16.984\\",\\"24.984, 155, 10.992, 16.984\\",\\"Men's Shoes, Men's Shoes, Men's Accessories, Men's Clothing\\",\\"Men's Shoes, Men's Shoes, Men's Accessories, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Elitelligence, (empty), Elitelligence, Low Tide Media\\",\\"Elitelligence, (empty), Elitelligence, Low Tide Media\\",\\"12.742, 71.313, 5.82, 7.648\\",\\"24.984, 155, 10.992, 16.984\\",\\"21,293, 12,288, 22,189, 19,058\\",\\"Trainers - white, Smart slip-ons - brown, Wallet - black, Jumper - dark grey multicolor\\",\\"Trainers - white, Smart slip-ons - brown, Wallet - black, Jumper - dark grey multicolor\\",\\"1, 1, 1, 1\\",\\"ZO0510505105, ZO0482404824, ZO0602306023, ZO0445904459\\",\\"0, 0, 0, 0\\",\\"24.984, 155, 10.992, 16.984\\",\\"24.984, 155, 10.992, 16.984\\",\\"0, 0, 0, 0\\",\\"ZO0510505105, ZO0482404824, ZO0602306023, ZO0445904459\\",208,208,4,4,order,tariq +1wMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Butler\\",\\"Rabbia Al Butler\\",FEMALE,5,Butler,Butler,\\"(empty)\\",Wednesday,2,\\"rabbia al@butler-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Pyramidustries, Champion Arts, Tigress Enterprises\\",\\"Pyramidustries, Champion Arts, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",728580,\\"sold_product_728580_12102, sold_product_728580_24113, sold_product_728580_22614, sold_product_728580_19229\\",\\"sold_product_728580_12102, sold_product_728580_24113, sold_product_728580_22614, sold_product_728580_19229\\",\\"10.992, 33, 28.984, 16.984\\",\\"10.992, 33, 28.984, 16.984\\",\\"Women's Clothing, Women's Clothing, Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Clothing, Women's Clothing, Women's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Pyramidustries, Champion Arts, Tigress Enterprises, Tigress Enterprises\\",\\"Pyramidustries, Champion Arts, Tigress Enterprises, Tigress Enterprises\\",\\"5.059, 15.508, 13.633, 7.988\\",\\"10.992, 33, 28.984, 16.984\\",\\"12,102, 24,113, 22,614, 19,229\\",\\"Vest - white, Cardigan - dark blue/off-white, Cardigan - black, Clutch - black\\",\\"Vest - white, Cardigan - dark blue/off-white, Cardigan - black, Clutch - black\\",\\"1, 1, 1, 1\\",\\"ZO0156601566, ZO0498004980, ZO0070700707, ZO0086700867\\",\\"0, 0, 0, 0\\",\\"10.992, 33, 28.984, 16.984\\",\\"10.992, 33, 28.984, 16.984\\",\\"0, 0, 0, 0\\",\\"ZO0156601566, ZO0498004980, ZO0070700707, ZO0086700867\\",\\"89.938\\",\\"89.938\\",4,4,order,rabbia +3wMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Diane,Diane,\\"Diane King\\",\\"Diane King\\",FEMALE,22,King,King,\\"(empty)\\",Wednesday,2,\\"diane@king-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568762,\\"sold_product_568762_22428, sold_product_568762_9391\\",\\"sold_product_568762_22428, sold_product_568762_9391\\",\\"37, 33\\",\\"37, 33\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations\\",\\"17.391, 17.484\\",\\"37, 33\\",\\"22,428, 9,391\\",\\"Jersey dress - royal blue, Shirt - white\\",\\"Jersey dress - royal blue, Shirt - white\\",\\"1, 1\\",\\"ZO0052200522, ZO0265602656\\",\\"0, 0\\",\\"37, 33\\",\\"37, 33\\",\\"0, 0\\",\\"ZO0052200522, ZO0265602656\\",70,70,2,2,order,diane +6QMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Graves\\",\\"Abigail Graves\\",FEMALE,46,Graves,Graves,\\"(empty)\\",Wednesday,2,\\"abigail@graves-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568571,\\"sold_product_568571_23698, sold_product_568571_23882\\",\\"sold_product_568571_23698, sold_product_568571_23882\\",\\"33, 33\\",\\"33, 33\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"17.156, 16.813\\",\\"33, 33\\",\\"23,698, 23,882\\",\\"Pleated skirt - black, Long sleeved top - chinese red\\",\\"Pleated skirt - black, Long sleeved top - chinese red\\",\\"1, 1\\",\\"ZO0034100341, ZO0343103431\\",\\"0, 0\\",\\"33, 33\\",\\"33, 33\\",\\"0, 0\\",\\"ZO0034100341, ZO0343103431\\",66,66,2,2,order,abigail +6gMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Diane,Diane,\\"Diane Hale\\",\\"Diane Hale\\",FEMALE,22,Hale,Hale,\\"(empty)\\",Wednesday,2,\\"diane@hale-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Spherecords, Pyramidustries active\\",\\"Spherecords, Pyramidustries active\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568671,\\"sold_product_568671_18674, sold_product_568671_9937\\",\\"sold_product_568671_18674, sold_product_568671_9937\\",\\"5.988, 11.992\\",\\"5.988, 11.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Pyramidustries active\\",\\"Spherecords, Pyramidustries active\\",\\"2.76, 6.352\\",\\"5.988, 11.992\\",\\"18,674, 9,937\\",\\"Vest - white, Sports shirt - black \\",\\"Vest - white, Sports shirt - black \\",\\"1, 1\\",\\"ZO0637406374, ZO0219002190\\",\\"0, 0\\",\\"5.988, 11.992\\",\\"5.988, 11.992\\",\\"0, 0\\",\\"ZO0637406374, ZO0219002190\\",\\"17.984\\",\\"17.984\\",2,2,order,diane +9AMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Summers\\",\\"Elyssa Summers\\",FEMALE,27,Summers,Summers,\\"(empty)\\",Wednesday,2,\\"elyssa@summers-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Low Tide Media\\",\\"Tigress Enterprises, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568774,\\"sold_product_568774_24937, sold_product_568774_24748\\",\\"sold_product_568774_24937, sold_product_568774_24748\\",\\"34, 60\\",\\"34, 60\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Low Tide Media\\",\\"Tigress Enterprises, Low Tide Media\\",\\"17, 33\\",\\"34, 60\\",\\"24,937, 24,748\\",\\"Jersey dress - dark green, Lace-ups - bianco\\",\\"Jersey dress - dark green, Lace-ups - bianco\\",\\"1, 1\\",\\"ZO0037200372, ZO0369303693\\",\\"0, 0\\",\\"34, 60\\",\\"34, 60\\",\\"0, 0\\",\\"ZO0037200372, ZO0369303693\\",94,94,2,2,order,elyssa +9QMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Jackson,Jackson,\\"Jackson Summers\\",\\"Jackson Summers\\",MALE,13,Summers,Summers,\\"(empty)\\",Wednesday,2,\\"jackson@summers-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568319,\\"sold_product_568319_16715, sold_product_568319_24934\\",\\"sold_product_568319_16715, sold_product_568319_24934\\",\\"28.984, 50\\",\\"28.984, 50\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"14.492, 22.5\\",\\"28.984, 50\\",\\"16,715, 24,934\\",\\"Slim fit jeans - black, Lace-up boots - resin coffee\\",\\"Slim fit jeans - black, Lace-up boots - resin coffee\\",\\"1, 1\\",\\"ZO0535105351, ZO0403504035\\",\\"0, 0\\",\\"28.984, 50\\",\\"28.984, 50\\",\\"0, 0\\",\\"ZO0535105351, ZO0403504035\\",79,79,2,2,order,jackson +9gMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Gregory\\",\\"Sultan Al Gregory\\",MALE,19,Gregory,Gregory,\\"(empty)\\",Wednesday,2,\\"sultan al@gregory-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Spritechnologies, Low Tide Media\\",\\"Spritechnologies, Low Tide Media\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568363,\\"sold_product_568363_19188, sold_product_568363_14507\\",\\"sold_product_568363_19188, sold_product_568363_14507\\",\\"20.984, 115\\",\\"20.984, 115\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Low Tide Media\\",\\"Spritechnologies, Low Tide Media\\",\\"9.453, 59.781\\",\\"20.984, 115\\",\\"19,188, 14,507\\",\\"Swimming shorts - dark grey , Weekend bag - black\\",\\"Swimming shorts - dark grey , Weekend bag - black\\",\\"1, 1\\",\\"ZO0629806298, ZO0467104671\\",\\"0, 0\\",\\"20.984, 115\\",\\"20.984, 115\\",\\"0, 0\\",\\"ZO0629806298, ZO0467104671\\",136,136,2,2,order,sultan +9wMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Thad,Thad,\\"Thad Garner\\",\\"Thad Garner\\",MALE,30,Garner,Garner,\\"(empty)\\",Wednesday,2,\\"thad@garner-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568541,\\"sold_product_568541_14083, sold_product_568541_11234\\",\\"sold_product_568541_14083, sold_product_568541_11234\\",\\"75, 42\\",\\"75, 42\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"35.25, 21.828\\",\\"75, 42\\",\\"14,083, 11,234\\",\\"Light jacket - dark blue, Tracksuit top - black\\",\\"Light jacket - dark blue, Tracksuit top - black\\",\\"1, 1\\",\\"ZO0428904289, ZO0588205882\\",\\"0, 0\\",\\"75, 42\\",\\"75, 42\\",\\"0, 0\\",\\"ZO0428904289, ZO0588205882\\",117,117,2,2,order,thad +\\"-AMtOW0BH63Xcmy46HLV\\",ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Selena,Selena,\\"Selena Simmons\\",\\"Selena Simmons\\",FEMALE,42,Simmons,Simmons,\\"(empty)\\",Wednesday,2,\\"selena@simmons-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Tigress Enterprises MAMA, Pyramidustries\\",\\"Tigress Enterprises MAMA, Pyramidustries\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568586,\\"sold_product_568586_14747, sold_product_568586_15677\\",\\"sold_product_568586_14747, sold_product_568586_15677\\",\\"33, 18.984\\",\\"33, 18.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises MAMA, Pyramidustries\\",\\"Tigress Enterprises MAMA, Pyramidustries\\",\\"16.5, 8.742\\",\\"33, 18.984\\",\\"14,747, 15,677\\",\\"Blouse - pomegranate, Across body bag - black\\",\\"Blouse - pomegranate, Across body bag - black\\",\\"1, 1\\",\\"ZO0232202322, ZO0208402084\\",\\"0, 0\\",\\"33, 18.984\\",\\"33, 18.984\\",\\"0, 0\\",\\"ZO0232202322, ZO0208402084\\",\\"51.969\\",\\"51.969\\",2,2,order,selena +\\"-QMtOW0BH63Xcmy46HLV\\",ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Carr\\",\\"Gwen Carr\\",FEMALE,26,Carr,Carr,\\"(empty)\\",Wednesday,2,\\"gwen@carr-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Champion Arts, (empty)\\",\\"Champion Arts, (empty)\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568636,\\"sold_product_568636_17497, sold_product_568636_11982\\",\\"sold_product_568636_17497, sold_product_568636_11982\\",\\"42, 50\\",\\"42, 50\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, (empty)\\",\\"Champion Arts, (empty)\\",\\"23.094, 22.5\\",\\"42, 50\\",\\"17,497, 11,982\\",\\"Winter jacket - navy, Blazer - white\\",\\"Winter jacket - navy, Blazer - white\\",\\"1, 1\\",\\"ZO0503905039, ZO0631806318\\",\\"0, 0\\",\\"42, 50\\",\\"42, 50\\",\\"0, 0\\",\\"ZO0503905039, ZO0631806318\\",92,92,2,2,order,gwen +\\"-gMtOW0BH63Xcmy46HLV\\",ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,Diane,Diane,\\"Diane Rice\\",\\"Diane Rice\\",FEMALE,22,Rice,Rice,\\"(empty)\\",Wednesday,2,\\"diane@rice-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 25, 2019 @ 00:00:00.000\\",568674,\\"sold_product_568674_16704, sold_product_568674_16971\\",\\"sold_product_568674_16704, sold_product_568674_16971\\",\\"10.992, 28.984\\",\\"10.992, 28.984\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"5.711, 13.922\\",\\"10.992, 28.984\\",\\"16,704, 16,971\\",\\"Scarf - black/white, High heeled sandals - black\\",\\"Scarf - black/white, High heeled sandals - black\\",\\"1, 1\\",\\"ZO0192301923, ZO0011400114\\",\\"0, 0\\",\\"10.992, 28.984\\",\\"10.992, 28.984\\",\\"0, 0\\",\\"ZO0192301923, ZO0011400114\\",\\"39.969\\",\\"39.969\\",2,2,order,diane +NwMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Lambert\\",\\"Mostafa Lambert\\",MALE,9,Lambert,Lambert,\\"(empty)\\",Tuesday,1,\\"mostafa@lambert-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567868,\\"sold_product_567868_15827, sold_product_567868_6221\\",\\"sold_product_567868_15827, sold_product_567868_6221\\",\\"20.984, 28.984\\",\\"20.984, 28.984\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"9.867, 15.07\\",\\"20.984, 28.984\\",\\"15,827, 6,221\\",\\"Belt - black/brown, Shirt - dark blue\\",\\"Belt - black/brown, Shirt - dark blue\\",\\"1, 1\\",\\"ZO0310403104, ZO0416604166\\",\\"0, 0\\",\\"20.984, 28.984\\",\\"20.984, 28.984\\",\\"0, 0\\",\\"ZO0310403104, ZO0416604166\\",\\"49.969\\",\\"49.969\\",2,2,order,mostafa +SgMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Selena,Selena,\\"Selena Lewis\\",\\"Selena Lewis\\",FEMALE,42,Lewis,Lewis,\\"(empty)\\",Tuesday,1,\\"selena@lewis-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567446,\\"sold_product_567446_12751, sold_product_567446_12494\\",\\"sold_product_567446_12751, sold_product_567446_12494\\",\\"65, 24.984\\",\\"65, 24.984\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"31.844, 11.25\\",\\"65, 24.984\\",\\"12,751, 12,494\\",\\"Lace-ups - black, Classic heels - cognac/beige\\",\\"Lace-ups - black, Classic heels - cognac/beige\\",\\"1, 1\\",\\"ZO0322803228, ZO0002700027\\",\\"0, 0\\",\\"65, 24.984\\",\\"65, 24.984\\",\\"0, 0\\",\\"ZO0322803228, ZO0002700027\\",90,90,2,2,order,selena +bwMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Oliver,Oliver,\\"Oliver Martin\\",\\"Oliver Martin\\",MALE,7,Martin,Martin,\\"(empty)\\",Tuesday,1,\\"oliver@martin-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567340,\\"sold_product_567340_3840, sold_product_567340_14835\\",\\"sold_product_567340_3840, sold_product_567340_14835\\",\\"16.984, 42\\",\\"16.984, 42\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"7.82, 21.406\\",\\"16.984, 42\\",\\"3,840, 14,835\\",\\"Sports shirt - dark grey multicolor, High-top trainers - grey\\",\\"Sports shirt - dark grey multicolor, High-top trainers - grey\\",\\"1, 1\\",\\"ZO0615606156, ZO0514905149\\",\\"0, 0\\",\\"16.984, 42\\",\\"16.984, 42\\",\\"0, 0\\",\\"ZO0615606156, ZO0514905149\\",\\"58.969\\",\\"58.969\\",2,2,order,oliver +5AMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Kamal,Kamal,\\"Kamal Salazar\\",\\"Kamal Salazar\\",MALE,39,Salazar,Salazar,\\"(empty)\\",Tuesday,1,\\"kamal@salazar-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Spherecords, Spritechnologies\\",\\"Spherecords, Spritechnologies\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567736,\\"sold_product_567736_24718, sold_product_567736_24306\\",\\"sold_product_567736_24718, sold_product_567736_24306\\",\\"11.992, 75\\",\\"11.992, 75\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Spritechnologies\\",\\"Spherecords, Spritechnologies\\",\\"6.109, 36.75\\",\\"11.992, 75\\",\\"24,718, 24,306\\",\\"Pyjama bottoms - light grey multicolor, Waterproof trousers - scarlet\\",\\"Pyjama bottoms - light grey multicolor, Waterproof trousers - scarlet\\",\\"1, 1\\",\\"ZO0663706637, ZO0620906209\\",\\"0, 0\\",\\"11.992, 75\\",\\"11.992, 75\\",\\"0, 0\\",\\"ZO0663706637, ZO0620906209\\",87,87,2,2,order,kamal +EQMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Kamal,Kamal,\\"Kamal Fleming\\",\\"Kamal Fleming\\",MALE,39,Fleming,Fleming,\\"(empty)\\",Tuesday,1,\\"kamal@fleming-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567755,\\"sold_product_567755_16941, sold_product_567755_1820\\",\\"sold_product_567755_16941, sold_product_567755_1820\\",\\"16.984, 75\\",\\"16.984, 75\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"8.492, 36.75\\",\\"16.984, 75\\",\\"16,941, 1,820\\",\\"Vibrant Pattern Polo, Smart slip-ons - oro\\",\\"Vibrant Pattern Polo, Smart slip-ons - oro\\",\\"1, 1\\",\\"ZO0571405714, ZO0255402554\\",\\"0, 0\\",\\"16.984, 75\\",\\"16.984, 75\\",\\"0, 0\\",\\"ZO0571405714, ZO0255402554\\",92,92,2,2,order,kamal +OQMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Meyer\\",\\"Sultan Al Meyer\\",MALE,19,Meyer,Meyer,\\"(empty)\\",Tuesday,1,\\"sultan al@meyer-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media, Elitelligence, Microlutions\\",\\"Low Tide Media, Elitelligence, Microlutions\\",\\"Jun 24, 2019 @ 00:00:00.000\\",715455,\\"sold_product_715455_11902, sold_product_715455_19957, sold_product_715455_17361, sold_product_715455_12368\\",\\"sold_product_715455_11902, sold_product_715455_19957, sold_product_715455_17361, sold_product_715455_12368\\",\\"13.992, 7.988, 28.984, 33\\",\\"13.992, 7.988, 28.984, 33\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Low Tide Media, Elitelligence, Elitelligence, Microlutions\\",\\"Low Tide Media, Elitelligence, Elitelligence, Microlutions\\",\\"7.551, 4.07, 14.211, 17.156\\",\\"13.992, 7.988, 28.984, 33\\",\\"11,902, 19,957, 17,361, 12,368\\",\\"3 PACK - Shorts - black, 3 PACK - Socks - black/grey/orange, Sweatshirt - multicoloured, Shirt - dark green\\",\\"3 PACK - Shorts - black, 3 PACK - Socks - black/grey/orange, Sweatshirt - multicoloured, Shirt - dark green\\",\\"1, 1, 1, 1\\",\\"ZO0477504775, ZO0613206132, ZO0585405854, ZO0110701107\\",\\"0, 0, 0, 0\\",\\"13.992, 7.988, 28.984, 33\\",\\"13.992, 7.988, 28.984, 33\\",\\"0, 0, 0, 0\\",\\"ZO0477504775, ZO0613206132, ZO0585405854, ZO0110701107\\",\\"83.938\\",\\"83.938\\",4,4,order,sultan +ggMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Clarice,Clarice,\\"Clarice Holland\\",\\"Clarice Holland\\",FEMALE,18,Holland,Holland,\\"(empty)\\",Tuesday,1,\\"clarice@holland-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Pyramidustries active, Gnomehouse\\",\\"Pyramidustries active, Gnomehouse\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566768,\\"sold_product_566768_12004, sold_product_566768_23314\\",\\"sold_product_566768_12004, sold_product_566768_23314\\",\\"16.984, 50\\",\\"16.984, 50\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries active, Gnomehouse\\",\\"Pyramidustries active, Gnomehouse\\",\\"8.656, 25.984\\",\\"16.984, 50\\",\\"12,004, 23,314\\",\\"Zelda - Long sleeved top - black, A-line skirt - navy blazer\\",\\"Zelda - Long sleeved top - black, A-line skirt - navy blazer\\",\\"1, 1\\",\\"ZO0217702177, ZO0331703317\\",\\"0, 0\\",\\"16.984, 50\\",\\"16.984, 50\\",\\"0, 0\\",\\"ZO0217702177, ZO0331703317\\",67,67,2,2,order,clarice +gwMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Pia,Pia,\\"Pia Boone\\",\\"Pia Boone\\",FEMALE,45,Boone,Boone,\\"(empty)\\",Tuesday,1,\\"pia@boone-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",Oceanavigations,Oceanavigations,\\"Jun 24, 2019 @ 00:00:00.000\\",566812,\\"sold_product_566812_19012, sold_product_566812_5941\\",\\"sold_product_566812_19012, sold_product_566812_5941\\",\\"20.984, 85\\",\\"20.984, 85\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"9.453, 41.656\\",\\"20.984, 85\\",\\"19,012, 5,941\\",\\"Vest - black/rose, Boots - tan\\",\\"Vest - black/rose, Boots - tan\\",\\"1, 1\\",\\"ZO0266902669, ZO0244202442\\",\\"0, 0\\",\\"20.984, 85\\",\\"20.984, 85\\",\\"0, 0\\",\\"ZO0266902669, ZO0244202442\\",106,106,2,2,order,pia +jgMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",EUR,Mostafa,Mostafa,\\"Mostafa Underwood\\",\\"Mostafa Underwood\\",MALE,9,Underwood,Underwood,\\"(empty)\\",Tuesday,1,\\"mostafa@underwood-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566680,\\"sold_product_566680_15413, sold_product_566680_16394\\",\\"sold_product_566680_15413, sold_product_566680_16394\\",\\"33, 42\\",\\"33, 42\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"16.172, 20.156\\",\\"33, 42\\",\\"15,413, 16,394\\",\\"Laptop bag - brown, Lace-ups - black\\",\\"Laptop bag - brown, Lace-ups - black\\",\\"1, 1\\",\\"ZO0316703167, ZO0393303933\\",\\"0, 0\\",\\"33, 42\\",\\"33, 42\\",\\"0, 0\\",\\"ZO0316703167, ZO0393303933\\",75,75,2,2,order,mostafa +jwMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Yasmine,Yasmine,\\"Yasmine Larson\\",\\"Yasmine Larson\\",FEMALE,43,Larson,Larson,\\"(empty)\\",Tuesday,1,\\"yasmine@larson-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Champion Arts, Tigress Enterprises\\",\\"Champion Arts, Tigress Enterprises\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566944,\\"sold_product_566944_13250, sold_product_566944_13079\\",\\"sold_product_566944_13250, sold_product_566944_13079\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Tigress Enterprises\\",\\"Champion Arts, Tigress Enterprises\\",\\"13.742, 8.828\\",\\"24.984, 16.984\\",\\"13,250, 13,079\\",\\"Jumper - black/white, Print T-shirt - black\\",\\"Jumper - black/white, Print T-shirt - black\\",\\"1, 1\\",\\"ZO0497004970, ZO0054900549\\",\\"0, 0\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"0, 0\\",\\"ZO0497004970, ZO0054900549\\",\\"41.969\\",\\"41.969\\",2,2,order,yasmine +kAMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Clarice,Clarice,\\"Clarice Palmer\\",\\"Clarice Palmer\\",FEMALE,18,Palmer,Palmer,\\"(empty)\\",Tuesday,1,\\"clarice@palmer-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Tigress Enterprises, Champion Arts\\",\\"Tigress Enterprises, Champion Arts\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566979,\\"sold_product_566979_19260, sold_product_566979_21565\\",\\"sold_product_566979_19260, sold_product_566979_21565\\",\\"33, 10.992\\",\\"33, 10.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Champion Arts\\",\\"Tigress Enterprises, Champion Arts\\",\\"17.156, 5.281\\",\\"33, 10.992\\",\\"19,260, 21,565\\",\\"Cardigan - grey, Print T-shirt - dark grey multicolor\\",\\"Cardigan - grey, Print T-shirt - dark grey multicolor\\",\\"1, 1\\",\\"ZO0071900719, ZO0493404934\\",\\"0, 0\\",\\"33, 10.992\\",\\"33, 10.992\\",\\"0, 0\\",\\"ZO0071900719, ZO0493404934\\",\\"43.969\\",\\"43.969\\",2,2,order,clarice +kQMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Duncan\\",\\"Fitzgerald Duncan\\",MALE,11,Duncan,Duncan,\\"(empty)\\",Tuesday,1,\\"fitzgerald@duncan-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Angeldale, Oceanavigations\\",\\"Angeldale, Oceanavigations\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566734,\\"sold_product_566734_17263, sold_product_566734_13452\\",\\"sold_product_566734_17263, sold_product_566734_13452\\",\\"75, 42\\",\\"75, 42\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Oceanavigations\\",\\"Angeldale, Oceanavigations\\",\\"40.5, 20.578\\",\\"75, 42\\",\\"17,263, 13,452\\",\\"Lace-up boots - cognac, Weekend bag - black\\",\\"Lace-up boots - cognac, Weekend bag - black\\",\\"1, 1\\",\\"ZO0691006910, ZO0314203142\\",\\"0, 0\\",\\"75, 42\\",\\"75, 42\\",\\"0, 0\\",\\"ZO0691006910, ZO0314203142\\",117,117,2,2,order,fuzzy +kgMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Howell\\",\\"Abdulraheem Al Howell\\",MALE,33,Howell,Howell,\\"(empty)\\",Tuesday,1,\\"abdulraheem al@howell-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567094,\\"sold_product_567094_12311, sold_product_567094_12182\\",\\"sold_product_567094_12311, sold_product_567094_12182\\",\\"16.984, 12.992\\",\\"16.984, 12.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"8.656, 7.141\\",\\"16.984, 12.992\\",\\"12,311, 12,182\\",\\"Polo shirt - white, Swimming shorts - black\\",\\"Polo shirt - white, Swimming shorts - black\\",\\"1, 1\\",\\"ZO0442904429, ZO0629706297\\",\\"0, 0\\",\\"16.984, 12.992\\",\\"16.984, 12.992\\",\\"0, 0\\",\\"ZO0442904429, ZO0629706297\\",\\"29.984\\",\\"29.984\\",2,2,order,abdulraheem +kwMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Eddie,Eddie,\\"Eddie King\\",\\"Eddie King\\",MALE,38,King,King,\\"(empty)\\",Tuesday,1,\\"eddie@king-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",Elitelligence,Elitelligence,\\"Jun 24, 2019 @ 00:00:00.000\\",566892,\\"sold_product_566892_21978, sold_product_566892_14543\\",\\"sold_product_566892_21978, sold_product_566892_14543\\",\\"24.984, 17.984\\",\\"24.984, 17.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"12.492, 8.992\\",\\"24.984, 17.984\\",\\"21,978, 14,543\\",\\"Hoodie - dark blue, Jumper - black\\",\\"Hoodie - dark blue, Jumper - black\\",\\"1, 1\\",\\"ZO0589505895, ZO0575405754\\",\\"0, 0\\",\\"24.984, 17.984\\",\\"24.984, 17.984\\",\\"0, 0\\",\\"ZO0589505895, ZO0575405754\\",\\"42.969\\",\\"42.969\\",2,2,order,eddie +tQMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Morgan\\",\\"Sultan Al Morgan\\",MALE,19,Morgan,Morgan,\\"(empty)\\",Tuesday,1,\\"sultan al@morgan-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567950,\\"sold_product_567950_24164, sold_product_567950_11096\\",\\"sold_product_567950_24164, sold_product_567950_11096\\",\\"110, 42\\",\\"110, 42\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"52.813, 20.156\\",\\"110, 42\\",\\"24,164, 11,096\\",\\"Suit - dark blue, Bomber Jacket - black\\",\\"Suit - dark blue, Bomber Jacket - black\\",\\"1, 1\\",\\"ZO0273002730, ZO0541105411\\",\\"0, 0\\",\\"110, 42\\",\\"110, 42\\",\\"0, 0\\",\\"ZO0273002730, ZO0541105411\\",152,152,2,2,order,sultan +uAMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Rose\\",\\"Sultan Al Rose\\",MALE,19,Rose,Rose,\\"(empty)\\",Tuesday,1,\\"sultan al@rose-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",Elitelligence,Elitelligence,\\"Jun 24, 2019 @ 00:00:00.000\\",566826,\\"sold_product_566826_15908, sold_product_566826_13927\\",\\"sold_product_566826_15908, sold_product_566826_13927\\",\\"16.984, 42\\",\\"16.984, 42\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"9.172, 21.406\\",\\"16.984, 42\\",\\"15,908, 13,927\\",\\"Jumper - camel, Bomber Jacket - khaki\\",\\"Jumper - camel, Bomber Jacket - khaki\\",\\"1, 1\\",\\"ZO0575305753, ZO0540605406\\",\\"0, 0\\",\\"16.984, 42\\",\\"16.984, 42\\",\\"0, 0\\",\\"ZO0575305753, ZO0540605406\\",\\"58.969\\",\\"58.969\\",2,2,order,sultan +fQMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Franklin\\",\\"Fitzgerald Franklin\\",MALE,11,Franklin,Franklin,\\"(empty)\\",Tuesday,1,\\"fitzgerald@franklin-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567240,\\"sold_product_567240_23744, sold_product_567240_2098\\",\\"sold_product_567240_23744, sold_product_567240_2098\\",\\"31.984, 80\\",\\"31.984, 80\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"15.68, 41.594\\",\\"31.984, 80\\",\\"23,744, 2,098\\",\\"Chinos - dark blue, Lace-up boots - black\\",\\"Chinos - dark blue, Lace-up boots - black\\",\\"1, 1\\",\\"ZO0421004210, ZO0689006890\\",\\"0, 0\\",\\"31.984, 80\\",\\"31.984, 80\\",\\"0, 0\\",\\"ZO0421004210, ZO0689006890\\",112,112,2,2,order,fuzzy +fgMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Byrd\\",\\"Mostafa Byrd\\",MALE,9,Byrd,Byrd,\\"(empty)\\",Tuesday,1,\\"mostafa@byrd-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567290,\\"sold_product_567290_24934, sold_product_567290_15288\\",\\"sold_product_567290_24934, sold_product_567290_15288\\",\\"50, 21.984\\",\\"50, 21.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"22.5, 11.211\\",\\"50, 21.984\\",\\"24,934, 15,288\\",\\"Lace-up boots - resin coffee, Polo shirt - grey\\",\\"Lace-up boots - resin coffee, Polo shirt - grey\\",\\"1, 1\\",\\"ZO0403504035, ZO0442704427\\",\\"0, 0\\",\\"50, 21.984\\",\\"50, 21.984\\",\\"0, 0\\",\\"ZO0403504035, ZO0442704427\\",72,72,2,2,order,mostafa +kAMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,rania,rania,\\"rania Goodwin\\",\\"rania Goodwin\\",FEMALE,24,Goodwin,Goodwin,\\"(empty)\\",Tuesday,1,\\"rania@goodwin-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",Pyramidustries,Pyramidustries,\\"Jun 24, 2019 @ 00:00:00.000\\",567669,\\"sold_product_567669_22893, sold_product_567669_17796\\",\\"sold_product_567669_22893, sold_product_567669_17796\\",\\"16.984, 16.984\\",\\"16.984, 16.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"8.156, 9.344\\",\\"16.984, 16.984\\",\\"22,893, 17,796\\",\\"A-line skirt - dark purple, Across body bag - black \\",\\"A-line skirt - dark purple, Across body bag - black \\",\\"1, 1\\",\\"ZO0148301483, ZO0202902029\\",\\"0, 0\\",\\"16.984, 16.984\\",\\"16.984, 16.984\\",\\"0, 0\\",\\"ZO0148301483, ZO0202902029\\",\\"33.969\\",\\"33.969\\",2,2,order,rani +rgMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Simpson\\",\\"Gwen Simpson\\",FEMALE,26,Simpson,Simpson,\\"(empty)\\",Tuesday,1,\\"gwen@simpson-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567365,\\"sold_product_567365_11663, sold_product_567365_24272\\",\\"sold_product_567365_11663, sold_product_567365_24272\\",\\"11.992, 37\\",\\"11.992, 37\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations\\",\\"5.879, 18.125\\",\\"11.992, 37\\",\\"11,663, 24,272\\",\\"Slip-ons - white, Shirt - white\\",\\"Slip-ons - white, Shirt - white\\",\\"1, 1\\",\\"ZO0008600086, ZO0266002660\\",\\"0, 0\\",\\"11.992, 37\\",\\"11.992, 37\\",\\"0, 0\\",\\"ZO0008600086, ZO0266002660\\",\\"48.969\\",\\"48.969\\",2,2,order,gwen +1AMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,George,George,\\"George Sanders\\",\\"George Sanders\\",MALE,32,Sanders,Sanders,\\"(empty)\\",Tuesday,1,\\"george@sanders-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,Elitelligence,Elitelligence,\\"Jun 24, 2019 @ 00:00:00.000\\",566845,\\"sold_product_566845_24161, sold_product_566845_13674\\",\\"sold_product_566845_24161, sold_product_566845_13674\\",\\"7.988, 24.984\\",\\"7.988, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"3.92, 12.25\\",\\"7.988, 24.984\\",\\"24,161, 13,674\\",\\"Basic T-shirt - white, Hoodie - black\\",\\"Basic T-shirt - white, Hoodie - black\\",\\"1, 1\\",\\"ZO0547905479, ZO0583305833\\",\\"0, 0\\",\\"7.988, 24.984\\",\\"7.988, 24.984\\",\\"0, 0\\",\\"ZO0547905479, ZO0583305833\\",\\"32.969\\",\\"32.969\\",2,2,order,george +1QMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jim,Jim,\\"Jim Fletcher\\",\\"Jim Fletcher\\",MALE,41,Fletcher,Fletcher,\\"(empty)\\",Tuesday,1,\\"jim@fletcher-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Elitelligence,Elitelligence,\\"Jun 24, 2019 @ 00:00:00.000\\",567048,\\"sold_product_567048_19089, sold_product_567048_20261\\",\\"sold_product_567048_19089, sold_product_567048_20261\\",\\"12.992, 11.992\\",\\"12.992, 11.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"7.012, 5.52\\",\\"12.992, 11.992\\",\\"19,089, 20,261\\",\\"Vest - white/dark blue, Vest - black\\",\\"Vest - white/dark blue, Vest - black\\",\\"1, 1\\",\\"ZO0566905669, ZO0564005640\\",\\"0, 0\\",\\"12.992, 11.992\\",\\"12.992, 11.992\\",\\"0, 0\\",\\"ZO0566905669, ZO0564005640\\",\\"24.984\\",\\"24.984\\",2,2,order,jim +EQMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Yasmine,Yasmine,\\"Yasmine Hudson\\",\\"Yasmine Hudson\\",FEMALE,43,Hudson,Hudson,\\"(empty)\\",Tuesday,1,\\"yasmine@hudson-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Pyramidustries active, Spherecords\\",\\"Pyramidustries active, Spherecords\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567281,\\"sold_product_567281_14758, sold_product_567281_23174\\",\\"sold_product_567281_14758, sold_product_567281_23174\\",\\"13.992, 22.984\\",\\"13.992, 22.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries active, Spherecords\\",\\"Pyramidustries active, Spherecords\\",\\"7.27, 12.18\\",\\"13.992, 22.984\\",\\"14,758, 23,174\\",\\"Print T-shirt - black, Chinos - dark blue\\",\\"Print T-shirt - black, Chinos - dark blue\\",\\"1, 1\\",\\"ZO0221402214, ZO0632806328\\",\\"0, 0\\",\\"13.992, 22.984\\",\\"13.992, 22.984\\",\\"0, 0\\",\\"ZO0221402214, ZO0632806328\\",\\"36.969\\",\\"36.969\\",2,2,order,yasmine +FAMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,rania,rania,\\"rania Chapman\\",\\"rania Chapman\\",FEMALE,24,Chapman,Chapman,\\"(empty)\\",Tuesday,1,\\"rania@chapman-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Spherecords Curvy, Gnomehouse\\",\\"Spherecords Curvy, Gnomehouse\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567119,\\"sold_product_567119_22695, sold_product_567119_23515\\",\\"sold_product_567119_22695, sold_product_567119_23515\\",\\"16.984, 60\\",\\"16.984, 60\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords Curvy, Gnomehouse\\",\\"Spherecords Curvy, Gnomehouse\\",\\"7.82, 27.594\\",\\"16.984, 60\\",\\"22,695, 23,515\\",\\"Cardigan - grey multicolor/black, Blazer - black/white\\",\\"Cardigan - grey multicolor/black, Blazer - black/white\\",\\"1, 1\\",\\"ZO0711507115, ZO0350903509\\",\\"0, 0\\",\\"16.984, 60\\",\\"16.984, 60\\",\\"0, 0\\",\\"ZO0711507115, ZO0350903509\\",77,77,2,2,order,rani +FQMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Samir,Samir,\\"Samir Harper\\",\\"Samir Harper\\",MALE,34,Harper,Harper,\\"(empty)\\",Tuesday,1,\\"samir@harper-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567169,\\"sold_product_567169_20800, sold_product_567169_18749\\",\\"sold_product_567169_20800, sold_product_567169_18749\\",\\"10.992, 16.984\\",\\"10.992, 16.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"5.602, 9.344\\",\\"10.992, 16.984\\",\\"20,800, 18,749\\",\\"Print T-shirt - white, Sports shorts - black\\",\\"Print T-shirt - white, Sports shorts - black\\",\\"1, 1\\",\\"ZO0558805588, ZO0622206222\\",\\"0, 0\\",\\"10.992, 16.984\\",\\"10.992, 16.984\\",\\"0, 0\\",\\"ZO0558805588, ZO0622206222\\",\\"27.984\\",\\"27.984\\",2,2,order,samir +KAMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Abd,Abd,\\"Abd Underwood\\",\\"Abd Underwood\\",MALE,52,Underwood,Underwood,\\"(empty)\\",Tuesday,1,\\"abd@underwood-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567869,\\"sold_product_567869_14147, sold_product_567869_16719\\",\\"sold_product_567869_14147, sold_product_567869_16719\\",\\"16.984, 16.984\\",\\"16.984, 16.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"8.656, 8.328\\",\\"16.984, 16.984\\",\\"14,147, 16,719\\",\\"Print T-shirt - black/green, Polo shirt - blue multicolor\\",\\"Print T-shirt - black/green, Polo shirt - blue multicolor\\",\\"1, 1\\",\\"ZO0565105651, ZO0443804438\\",\\"0, 0\\",\\"16.984, 16.984\\",\\"16.984, 16.984\\",\\"0, 0\\",\\"ZO0565105651, ZO0443804438\\",\\"33.969\\",\\"33.969\\",2,2,order,abd +KQMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Muniz,Muniz,\\"Muniz Strickland\\",\\"Muniz Strickland\\",MALE,37,Strickland,Strickland,\\"(empty)\\",Tuesday,1,\\"muniz@strickland-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",Elitelligence,Elitelligence,\\"Jun 24, 2019 @ 00:00:00.000\\",567909,\\"sold_product_567909_24768, sold_product_567909_11414\\",\\"sold_product_567909_24768, sold_product_567909_11414\\",\\"24.984, 18.984\\",\\"24.984, 18.984\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"11.25, 8.93\\",\\"24.984, 18.984\\",\\"24,768, 11,414\\",\\"SET - Gloves - dark grey multicolor, Sweatshirt - light blue\\",\\"SET - Gloves - dark grey multicolor, Sweatshirt - light blue\\",\\"1, 1\\",\\"ZO0609606096, ZO0588905889\\",\\"0, 0\\",\\"24.984, 18.984\\",\\"24.984, 18.984\\",\\"0, 0\\",\\"ZO0609606096, ZO0588905889\\",\\"43.969\\",\\"43.969\\",2,2,order,muniz +eQMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,Betty,Betty,\\"Betty Stokes\\",\\"Betty Stokes\\",FEMALE,44,Stokes,Stokes,\\"(empty)\\",Tuesday,1,\\"betty@stokes-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Low Tide Media\\",\\"Tigress Enterprises, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567524,\\"sold_product_567524_14033, sold_product_567524_24564\\",\\"sold_product_567524_14033, sold_product_567524_24564\\",\\"20.984, 65\\",\\"20.984, 65\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Low Tide Media\\",\\"Tigress Enterprises, Low Tide Media\\",\\"10.906, 35.094\\",\\"20.984, 65\\",\\"14,033, 24,564\\",\\"Clutch - black , Ankle boots - cognac\\",\\"Clutch - black , Ankle boots - cognac\\",\\"1, 1\\",\\"ZO0096300963, ZO0377403774\\",\\"0, 0\\",\\"20.984, 65\\",\\"20.984, 65\\",\\"0, 0\\",\\"ZO0096300963, ZO0377403774\\",86,86,2,2,order,betty +egMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Turner\\",\\"Elyssa Turner\\",FEMALE,27,Turner,Turner,\\"(empty)\\",Tuesday,1,\\"elyssa@turner-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567565,\\"sold_product_567565_4684, sold_product_567565_18489\\",\\"sold_product_567565_4684, sold_product_567565_18489\\",\\"50, 60\\",\\"50, 60\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"23.5, 33\\",\\"50, 60\\",\\"4,684, 18,489\\",\\"Boots - black, Slip-ons - Midnight Blue\\",\\"Boots - black, Slip-ons - Midnight Blue\\",\\"1, 1\\",\\"ZO0015600156, ZO0323603236\\",\\"0, 0\\",\\"50, 60\\",\\"50, 60\\",\\"0, 0\\",\\"ZO0015600156, ZO0323603236\\",110,110,2,2,order,elyssa +nQMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Sonya,Sonya,\\"Sonya Powell\\",\\"Sonya Powell\\",FEMALE,28,Powell,Powell,\\"(empty)\\",Tuesday,1,\\"sonya@powell-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",Pyramidustries,Pyramidustries,\\"Jun 24, 2019 @ 00:00:00.000\\",567019,\\"sold_product_567019_14411, sold_product_567019_24149\\",\\"sold_product_567019_14411, sold_product_567019_24149\\",\\"28.984, 21.984\\",\\"28.984, 21.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"13.344, 10.344\\",\\"28.984, 21.984\\",\\"14,411, 24,149\\",\\"Summer dress - black, Rucksack - black\\",\\"Summer dress - black, Rucksack - black\\",\\"1, 1\\",\\"ZO0151301513, ZO0204902049\\",\\"0, 0\\",\\"28.984, 21.984\\",\\"28.984, 21.984\\",\\"0, 0\\",\\"ZO0151301513, ZO0204902049\\",\\"50.969\\",\\"50.969\\",2,2,order,sonya +ngMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Pia,Pia,\\"Pia Massey\\",\\"Pia Massey\\",FEMALE,45,Massey,Massey,\\"(empty)\\",Tuesday,1,\\"pia@massey-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Champion Arts, Tigress Enterprises\\",\\"Champion Arts, Tigress Enterprises\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567069,\\"sold_product_567069_22261, sold_product_567069_16325\\",\\"sold_product_567069_22261, sold_product_567069_16325\\",\\"50, 33\\",\\"50, 33\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Tigress Enterprises\\",\\"Champion Arts, Tigress Enterprises\\",\\"22.5, 17.156\\",\\"50, 33\\",\\"22,261, 16,325\\",\\"Winter jacket - bordeaux, Summer dress - black\\",\\"Winter jacket - bordeaux, Summer dress - black\\",\\"1, 1\\",\\"ZO0503805038, ZO0047500475\\",\\"0, 0\\",\\"50, 33\\",\\"50, 33\\",\\"0, 0\\",\\"ZO0503805038, ZO0047500475\\",83,83,2,2,order,pia +qAMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Frances,Frances,\\"Frances Lamb\\",\\"Frances Lamb\\",FEMALE,49,Lamb,Lamb,\\"(empty)\\",Tuesday,1,\\"frances@lamb-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567935,\\"sold_product_567935_13174, sold_product_567935_14395\\",\\"sold_product_567935_13174, sold_product_567935_14395\\",\\"14.992, 24.984\\",\\"14.992, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"7.789, 12.25\\",\\"14.992, 24.984\\",\\"13,174, 14,395\\",\\"Print T-shirt - bright white, Jumper - offwhite\\",\\"Print T-shirt - bright white, Jumper - offwhite\\",\\"1, 1\\",\\"ZO0116101161, ZO0574305743\\",\\"0, 0\\",\\"14.992, 24.984\\",\\"14.992, 24.984\\",\\"0, 0\\",\\"ZO0116101161, ZO0574305743\\",\\"39.969\\",\\"39.969\\",2,2,order,frances +qwMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty Jackson\\",\\"Betty Jackson\\",FEMALE,44,Jackson,Jackson,\\"(empty)\\",Tuesday,1,\\"betty@jackson-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Gnomehouse, Spherecords\\",\\"Gnomehouse, Spherecords\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566831,\\"sold_product_566831_22424, sold_product_566831_17957\\",\\"sold_product_566831_22424, sold_product_566831_17957\\",\\"50, 10.992\\",\\"50, 10.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Spherecords\\",\\"Gnomehouse, Spherecords\\",\\"23.5, 5.5\\",\\"50, 10.992\\",\\"22,424, 17,957\\",\\"Jersey dress - chinese red, Long sleeved top - black\\",\\"Jersey dress - chinese red, Long sleeved top - black\\",\\"1, 1\\",\\"ZO0341103411, ZO0648406484\\",\\"0, 0\\",\\"50, 10.992\\",\\"50, 10.992\\",\\"0, 0\\",\\"ZO0341103411, ZO0648406484\\",\\"60.969\\",\\"60.969\\",2,2,order,betty +5AMtOW0BH63Xcmy44mSR,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Marwan,Marwan,\\"Marwan Sharp\\",\\"Marwan Sharp\\",MALE,51,Sharp,Sharp,\\"(empty)\\",Tuesday,1,\\"marwan@sharp-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567543,\\"sold_product_567543_14075, sold_product_567543_20484\\",\\"sold_product_567543_14075, sold_product_567543_20484\\",\\"24.984, 20.984\\",\\"24.984, 20.984\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"12.742, 9.867\\",\\"24.984, 20.984\\",\\"14,075, 20,484\\",\\"Rucksack - black, Jumper - dark grey\\",\\"Rucksack - black, Jumper - dark grey\\",\\"1, 1\\",\\"ZO0608106081, ZO0296502965\\",\\"0, 0\\",\\"24.984, 20.984\\",\\"24.984, 20.984\\",\\"0, 0\\",\\"ZO0608106081, ZO0296502965\\",\\"45.969\\",\\"45.969\\",2,2,order,marwan +5QMtOW0BH63Xcmy44mSR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Gwen,Gwen,\\"Gwen Tran\\",\\"Gwen Tran\\",FEMALE,26,Tran,Tran,\\"(empty)\\",Tuesday,1,\\"gwen@tran-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Tigress Enterprises, Angeldale\\",\\"Tigress Enterprises, Angeldale\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567598,\\"sold_product_567598_11254, sold_product_567598_11666\\",\\"sold_product_567598_11254, sold_product_567598_11666\\",\\"29.984, 75\\",\\"29.984, 75\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Angeldale\\",\\"Tigress Enterprises, Angeldale\\",\\"14.398, 41.25\\",\\"29.984, 75\\",\\"11,254, 11,666\\",\\"Jersey dress - black, Boots - blue\\",\\"Jersey dress - black, Boots - blue\\",\\"1, 1\\",\\"ZO0039400394, ZO0672906729\\",\\"0, 0\\",\\"29.984, 75\\",\\"29.984, 75\\",\\"0, 0\\",\\"ZO0039400394, ZO0672906729\\",105,105,2,2,order,gwen +PwMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Lloyd\\",\\"Wilhemina St. Lloyd\\",FEMALE,17,Lloyd,Lloyd,\\"(empty)\\",Tuesday,1,\\"wilhemina st.@lloyd-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Spherecords Maternity, Tigress Enterprises\\",\\"Spherecords Maternity, Tigress Enterprises\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567876,\\"sold_product_567876_21798, sold_product_567876_24299\\",\\"sold_product_567876_21798, sold_product_567876_24299\\",\\"14.992, 42\\",\\"14.992, 42\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords Maternity, Tigress Enterprises\\",\\"Spherecords Maternity, Tigress Enterprises\\",\\"7.789, 19.313\\",\\"14.992, 42\\",\\"21,798, 24,299\\",\\"Jersey dress - black, Summer dress - black\\",\\"Jersey dress - black, Summer dress - black\\",\\"1, 1\\",\\"ZO0705707057, ZO0047700477\\",\\"0, 0\\",\\"14.992, 42\\",\\"14.992, 42\\",\\"0, 0\\",\\"ZO0705707057, ZO0047700477\\",\\"56.969\\",\\"56.969\\",2,2,order,wilhemina +UwMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Stephanie,Stephanie,\\"Stephanie Jacobs\\",\\"Stephanie Jacobs\\",FEMALE,6,Jacobs,Jacobs,\\"(empty)\\",Tuesday,1,\\"stephanie@jacobs-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567684,\\"sold_product_567684_13627, sold_product_567684_21755\\",\\"sold_product_567684_13627, sold_product_567684_21755\\",\\"16.984, 20.984\\",\\"16.984, 20.984\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"9, 9.453\\",\\"16.984, 20.984\\",\\"13,627, 21,755\\",\\"Across body bag - black , Pencil skirt - black\\",\\"Across body bag - black , Pencil skirt - black\\",\\"1, 1\\",\\"ZO0201202012, ZO0035000350\\",\\"0, 0\\",\\"16.984, 20.984\\",\\"16.984, 20.984\\",\\"0, 0\\",\\"ZO0201202012, ZO0035000350\\",\\"37.969\\",\\"37.969\\",2,2,order,stephanie +aAMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Oliver,Oliver,\\"Oliver Smith\\",\\"Oliver Smith\\",MALE,7,Smith,Smith,\\"(empty)\\",Tuesday,1,\\"oliver@smith-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567790,\\"sold_product_567790_13490, sold_product_567790_22013\\",\\"sold_product_567790_13490, sold_product_567790_22013\\",\\"10.992, 60\\",\\"10.992, 60\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"5.602, 29.406\\",\\"10.992, 60\\",\\"13,490, 22,013\\",\\"T-bar sandals - black/green, Boots - black\\",\\"T-bar sandals - black/green, Boots - black\\",\\"1, 1\\",\\"ZO0522405224, ZO0405104051\\",\\"0, 0\\",\\"10.992, 60\\",\\"10.992, 60\\",\\"0, 0\\",\\"ZO0522405224, ZO0405104051\\",71,71,2,2,order,oliver +rAMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,George,George,\\"George Hubbard\\",\\"George Hubbard\\",MALE,32,Hubbard,Hubbard,\\"(empty)\\",Tuesday,1,\\"george@hubbard-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Oceanavigations, Angeldale\\",\\"Oceanavigations, Angeldale\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567465,\\"sold_product_567465_19025, sold_product_567465_1753\\",\\"sold_product_567465_19025, sold_product_567465_1753\\",\\"65, 65\\",\\"65, 65\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Angeldale\\",\\"Oceanavigations, Angeldale\\",\\"31.844, 30.547\\",\\"65, 65\\",\\"19,025, 1,753\\",\\"Suit jacket - black, Boots - dark blue\\",\\"Suit jacket - black, Boots - dark blue\\",\\"1, 1\\",\\"ZO0274502745, ZO0686006860\\",\\"0, 0\\",\\"65, 65\\",\\"65, 65\\",\\"0, 0\\",\\"ZO0274502745, ZO0686006860\\",130,130,2,2,order,george +zwMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories\\",\\"Men's Accessories\\",EUR,Phil,Phil,\\"Phil Alvarez\\",\\"Phil Alvarez\\",MALE,50,Alvarez,Alvarez,\\"(empty)\\",Tuesday,1,\\"phil@alvarez-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567256,\\"sold_product_567256_24717, sold_product_567256_23939\\",\\"sold_product_567256_24717, sold_product_567256_23939\\",\\"14.992, 50\\",\\"14.992, 50\\",\\"Men's Accessories, Men's Accessories\\",\\"Men's Accessories, Men's Accessories\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"7.789, 24.5\\",\\"14.992, 50\\",\\"24,717, 23,939\\",\\"Belt - dark brown , Weekend bag - black\\",\\"Belt - dark brown , Weekend bag - black\\",\\"1, 1\\",\\"ZO0461004610, ZO0702707027\\",\\"0, 0\\",\\"14.992, 50\\",\\"14.992, 50\\",\\"0, 0\\",\\"ZO0461004610, ZO0702707027\\",65,65,2,2,order,phil +CwMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Jackson,Jackson,\\"Jackson Bryant\\",\\"Jackson Bryant\\",MALE,13,Bryant,Bryant,\\"(empty)\\",Tuesday,1,\\"jackson@bryant-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Elitelligence, Low Tide Media, Spritechnologies\\",\\"Elitelligence, Low Tide Media, Spritechnologies\\",\\"Jun 24, 2019 @ 00:00:00.000\\",716462,\\"sold_product_716462_13612, sold_product_716462_21781, sold_product_716462_17754, sold_product_716462_17020\\",\\"sold_product_716462_13612, sold_product_716462_21781, sold_product_716462_17754, sold_product_716462_17020\\",\\"11.992, 20.984, 10.992, 20.984\\",\\"11.992, 20.984, 10.992, 20.984\\",\\"Men's Clothing, Men's Clothing, Men's Accessories, Men's Clothing\\",\\"Men's Clothing, Men's Clothing, Men's Accessories, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Elitelligence, Low Tide Media, Elitelligence, Spritechnologies\\",\\"Elitelligence, Low Tide Media, Elitelligence, Spritechnologies\\",\\"6.469, 10.289, 5.059, 10.078\\",\\"11.992, 20.984, 10.992, 20.984\\",\\"13,612, 21,781, 17,754, 17,020\\",\\"Basic T-shirt - light red/white, Sweatshirt - mottled light grey, Wallet - cognac/black, Sports shirt - grey multicolor\\",\\"Basic T-shirt - light red/white, Sweatshirt - mottled light grey, Wallet - cognac/black, Sports shirt - grey multicolor\\",\\"1, 1, 1, 1\\",\\"ZO0549505495, ZO0458504585, ZO0602506025, ZO0617506175\\",\\"0, 0, 0, 0\\",\\"11.992, 20.984, 10.992, 20.984\\",\\"11.992, 20.984, 10.992, 20.984\\",\\"0, 0, 0, 0\\",\\"ZO0549505495, ZO0458504585, ZO0602506025, ZO0617506175\\",\\"64.938\\",\\"64.938\\",4,4,order,jackson +GQMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Elliott\\",\\"Abigail Elliott\\",FEMALE,46,Elliott,Elliott,\\"(empty)\\",Tuesday,1,\\"abigail@elliott-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Angeldale, Spherecords Maternity\\",\\"Angeldale, Spherecords Maternity\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566775,\\"sold_product_566775_7253, sold_product_566775_25143\\",\\"sold_product_566775_7253, sold_product_566775_25143\\",\\"110, 16.984\\",\\"110, 16.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Spherecords Maternity\\",\\"Angeldale, Spherecords Maternity\\",\\"53.906, 7.988\\",\\"110, 16.984\\",\\"7,253, 25,143\\",\\"Over-the-knee boots - bison, Long sleeved top - mid grey multicolor\\",\\"Over-the-knee boots - bison, Long sleeved top - mid grey multicolor\\",\\"1, 1\\",\\"ZO0671006710, ZO0708007080\\",\\"0, 0\\",\\"110, 16.984\\",\\"110, 16.984\\",\\"0, 0\\",\\"ZO0671006710, ZO0708007080\\",127,127,2,2,order,abigail +IQMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jason,Jason,\\"Jason Mccarthy\\",\\"Jason Mccarthy\\",MALE,16,Mccarthy,Mccarthy,\\"(empty)\\",Tuesday,1,\\"jason@mccarthy-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567926,\\"sold_product_567926_22732, sold_product_567926_11389\\",\\"sold_product_567926_22732, sold_product_567926_11389\\",\\"33, 7.988\\",\\"33, 7.988\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"16.172, 3.6\\",\\"33, 7.988\\",\\"22,732, 11,389\\",\\"Relaxed fit jeans - black denim, Basic T-shirt - green\\",\\"Relaxed fit jeans - black denim, Basic T-shirt - green\\",\\"1, 1\\",\\"ZO0113301133, ZO0562105621\\",\\"0, 0\\",\\"33, 7.988\\",\\"33, 7.988\\",\\"0, 0\\",\\"ZO0113301133, ZO0562105621\\",\\"40.969\\",\\"40.969\\",2,2,order,jason +JAMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Miller\\",\\"Elyssa Miller\\",FEMALE,27,Miller,Miller,\\"(empty)\\",Tuesday,1,\\"elyssa@miller-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Gnomehouse mom\\",\\"Tigress Enterprises, Gnomehouse mom\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566829,\\"sold_product_566829_21605, sold_product_566829_17889\\",\\"sold_product_566829_21605, sold_product_566829_17889\\",\\"24.984, 28.984\\",\\"24.984, 28.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Gnomehouse mom\\",\\"Tigress Enterprises, Gnomehouse mom\\",\\"12.25, 15.07\\",\\"24.984, 28.984\\",\\"21,605, 17,889\\",\\"Pyjama top - navy, Blouse - black\\",\\"Pyjama top - navy, Blouse - black\\",\\"1, 1\\",\\"ZO0100901009, ZO0235102351\\",\\"0, 0\\",\\"24.984, 28.984\\",\\"24.984, 28.984\\",\\"0, 0\\",\\"ZO0100901009, ZO0235102351\\",\\"53.969\\",\\"53.969\\",2,2,order,elyssa +RAMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Muniz,Muniz,\\"Muniz Fleming\\",\\"Muniz Fleming\\",MALE,37,Fleming,Fleming,\\"(empty)\\",Tuesday,1,\\"muniz@fleming-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",Oceanavigations,Oceanavigations,\\"Jun 24, 2019 @ 00:00:00.000\\",567666,\\"sold_product_567666_17099, sold_product_567666_2908\\",\\"sold_product_567666_17099, sold_product_567666_2908\\",\\"24.984, 28.984\\",\\"24.984, 28.984\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"13.242, 14.781\\",\\"24.984, 28.984\\",\\"17,099, 2,908\\",\\"Watch - black, Chinos - beige \\",\\"Watch - black, Chinos - beige \\",\\"1, 1\\",\\"ZO0311403114, ZO0282002820\\",\\"0, 0\\",\\"24.984, 28.984\\",\\"24.984, 28.984\\",\\"0, 0\\",\\"ZO0311403114, ZO0282002820\\",\\"53.969\\",\\"53.969\\",2,2,order,muniz +kgMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Pia,Pia,\\"Pia Austin\\",\\"Pia Austin\\",FEMALE,45,Austin,Austin,\\"(empty)\\",Tuesday,1,\\"pia@austin-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Spherecords, Gnomehouse\\",\\"Spherecords, Gnomehouse\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567383,\\"sold_product_567383_16258, sold_product_567383_15314\\",\\"sold_product_567383_16258, sold_product_567383_15314\\",\\"10.992, 42\\",\\"10.992, 42\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Gnomehouse\\",\\"Spherecords, Gnomehouse\\",\\"5.059, 20.578\\",\\"10.992, 42\\",\\"16,258, 15,314\\",\\"Print T-shirt - light grey/white, A-line skirt - navy blazer\\",\\"Print T-shirt - light grey/white, A-line skirt - navy blazer\\",\\"1, 1\\",\\"ZO0647406474, ZO0330703307\\",\\"0, 0\\",\\"10.992, 42\\",\\"10.992, 42\\",\\"0, 0\\",\\"ZO0647406474, ZO0330703307\\",\\"52.969\\",\\"52.969\\",2,2,order,pia +ugMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Abd,Abd,\\"Abd Greene\\",\\"Abd Greene\\",MALE,52,Greene,Greene,\\"(empty)\\",Tuesday,1,\\"abd@greene-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567381,\\"sold_product_567381_13005, sold_product_567381_18590\\",\\"sold_product_567381_13005, sold_product_567381_18590\\",\\"22.984, 42\\",\\"22.984, 42\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"10.352, 19.313\\",\\"22.984, 42\\",\\"13,005, 18,590\\",\\"Shirt - grey, Light jacket - mottled light grey\\",\\"Shirt - grey, Light jacket - mottled light grey\\",\\"1, 1\\",\\"ZO0278402784, ZO0458304583\\",\\"0, 0\\",\\"22.984, 42\\",\\"22.984, 42\\",\\"0, 0\\",\\"ZO0278402784, ZO0458304583\\",65,65,2,2,order,abd +zwMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Simpson\\",\\"Jackson Simpson\\",MALE,13,Simpson,Simpson,\\"(empty)\\",Tuesday,1,\\"jackson@simpson-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567437,\\"sold_product_567437_16571, sold_product_567437_11872\\",\\"sold_product_567437_16571, sold_product_567437_11872\\",\\"65, 7.988\\",\\"65, 7.988\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"35.094, 3.68\\",\\"65, 7.988\\",\\"16,571, 11,872\\",\\"Suit jacket - black, Basic T-shirt - light red multicolor\\",\\"Suit jacket - black, Basic T-shirt - light red multicolor\\",\\"1, 1\\",\\"ZO0275902759, ZO0545005450\\",\\"0, 0\\",\\"65, 7.988\\",\\"65, 7.988\\",\\"0, 0\\",\\"ZO0275902759, ZO0545005450\\",73,73,2,2,order,jackson +CwMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Irwin,Irwin,\\"Irwin Gomez\\",\\"Irwin Gomez\\",MALE,14,Gomez,Gomez,\\"(empty)\\",Tuesday,1,\\"irwin@gomez-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567324,\\"sold_product_567324_15839, sold_product_567324_11429\\",\\"sold_product_567324_15839, sold_product_567324_11429\\",\\"33, 10.992\\",\\"33, 10.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"16.813, 5.391\\",\\"33, 10.992\\",\\"15,839, 11,429\\",\\"Slim fit jeans - sand , Swimming shorts - lime punch\\",\\"Slim fit jeans - sand , Swimming shorts - lime punch\\",\\"1, 1\\",\\"ZO0426604266, ZO0629406294\\",\\"0, 0\\",\\"33, 10.992\\",\\"33, 10.992\\",\\"0, 0\\",\\"ZO0426604266, ZO0629406294\\",\\"43.969\\",\\"43.969\\",2,2,order,irwin +QwMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Yuri,Yuri,\\"Yuri Hubbard\\",\\"Yuri Hubbard\\",MALE,21,Hubbard,Hubbard,\\"(empty)\\",Tuesday,1,\\"yuri@hubbard-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567504,\\"sold_product_567504_18713, sold_product_567504_23235\\",\\"sold_product_567504_18713, sold_product_567504_23235\\",\\"24.984, 24.984\\",\\"24.984, 24.984\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"11.75, 13.242\\",\\"24.984, 24.984\\",\\"18,713, 23,235\\",\\"Rucksack - navy/Blue Violety, Shirt - grey/black\\",\\"Rucksack - navy/Blue Violety, Shirt - grey/black\\",\\"1, 1\\",\\"ZO0606506065, ZO0277702777\\",\\"0, 0\\",\\"24.984, 24.984\\",\\"24.984, 24.984\\",\\"0, 0\\",\\"ZO0606506065, ZO0277702777\\",\\"49.969\\",\\"49.969\\",2,2,order,yuri +RAMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Selena,Selena,\\"Selena Gregory\\",\\"Selena Gregory\\",FEMALE,42,Gregory,Gregory,\\"(empty)\\",Tuesday,1,\\"selena@gregory-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Oceanavigations, Spherecords\\",\\"Oceanavigations, Spherecords\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567623,\\"sold_product_567623_14283, sold_product_567623_22330\\",\\"sold_product_567623_14283, sold_product_567623_22330\\",\\"60, 11.992\\",\\"60, 11.992\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Spherecords\\",\\"Oceanavigations, Spherecords\\",\\"32.375, 5.52\\",\\"60, 11.992\\",\\"14,283, 22,330\\",\\"Lace-ups - nude, Long sleeved top - off white/navy\\",\\"Lace-ups - nude, Long sleeved top - off white/navy\\",\\"1, 1\\",\\"ZO0239802398, ZO0645406454\\",\\"0, 0\\",\\"60, 11.992\\",\\"60, 11.992\\",\\"0, 0\\",\\"ZO0239802398, ZO0645406454\\",72,72,2,2,order,selena +RwMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Abd,Abd,\\"Abd Rios\\",\\"Abd Rios\\",MALE,52,Rios,Rios,\\"(empty)\\",Tuesday,1,\\"abd@rios-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",Elitelligence,Elitelligence,\\"Jun 24, 2019 @ 00:00:00.000\\",567400,\\"sold_product_567400_13372, sold_product_567400_7092\\",\\"sold_product_567400_13372, sold_product_567400_7092\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"11.75, 23.094\\",\\"24.984, 42\\",\\"13,372, 7,092\\",\\"Rucksack - navy/cognac , Tracksuit top - oliv\\",\\"Rucksack - navy/cognac , Tracksuit top - oliv\\",\\"1, 1\\",\\"ZO0605606056, ZO0588105881\\",\\"0, 0\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"0, 0\\",\\"ZO0605606056, ZO0588105881\\",67,67,2,2,order,abd +TwMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Yasmine,Yasmine,\\"Yasmine Garner\\",\\"Yasmine Garner\\",FEMALE,43,Garner,Garner,\\"(empty)\\",Tuesday,1,\\"yasmine@garner-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",Pyramidustries,Pyramidustries,\\"Jun 24, 2019 @ 00:00:00.000\\",566757,\\"sold_product_566757_16685, sold_product_566757_20906\\",\\"sold_product_566757_16685, sold_product_566757_20906\\",\\"18.984, 11.992\\",\\"18.984, 11.992\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"9.492, 6.23\\",\\"18.984, 11.992\\",\\"16,685, 20,906\\",\\"Across body bag - black, Print T-shirt - white\\",\\"Across body bag - black, Print T-shirt - white\\",\\"1, 1\\",\\"ZO0196201962, ZO0168601686\\",\\"0, 0\\",\\"18.984, 11.992\\",\\"18.984, 11.992\\",\\"0, 0\\",\\"ZO0196201962, ZO0168601686\\",\\"30.984\\",\\"30.984\\",2,2,order,yasmine +UAMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Brigitte,Brigitte,\\"Brigitte Gregory\\",\\"Brigitte Gregory\\",FEMALE,12,Gregory,Gregory,\\"(empty)\\",Tuesday,1,\\"brigitte@gregory-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Champion Arts, Tigress Enterprises\\",\\"Champion Arts, Tigress Enterprises\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566884,\\"sold_product_566884_23198, sold_product_566884_5945\\",\\"sold_product_566884_23198, sold_product_566884_5945\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Tigress Enterprises\\",\\"Champion Arts, Tigress Enterprises\\",\\"10.492, 11.5\\",\\"20.984, 24.984\\",\\"23,198, 5,945\\",\\"Jersey dress - black, Ankle boots - black\\",\\"Jersey dress - black, Ankle boots - black\\",\\"1, 1\\",\\"ZO0490204902, ZO0025000250\\",\\"0, 0\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"0, 0\\",\\"ZO0490204902, ZO0025000250\\",\\"45.969\\",\\"45.969\\",2,2,order,brigitte +pwMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Abigail,Abigail,\\"Abigail Brewer\\",\\"Abigail Brewer\\",FEMALE,46,Brewer,Brewer,\\"(empty)\\",Tuesday,1,\\"abigail@brewer-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,Oceanavigations,Oceanavigations,\\"Jun 24, 2019 @ 00:00:00.000\\",567815,\\"sold_product_567815_24802, sold_product_567815_7476\\",\\"sold_product_567815_24802, sold_product_567815_7476\\",\\"16.984, 60\\",\\"16.984, 60\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"8.328, 32.375\\",\\"16.984, 60\\",\\"24,802, 7,476\\",\\"Print T-shirt - red, Slip-ons - Wheat\\",\\"Print T-shirt - red, Slip-ons - Wheat\\",\\"1, 1\\",\\"ZO0263602636, ZO0241002410\\",\\"0, 0\\",\\"16.984, 60\\",\\"16.984, 60\\",\\"0, 0\\",\\"ZO0263602636, ZO0241002410\\",77,77,2,2,order,abigail +GwMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Massey\\",\\"Wilhemina St. Massey\\",FEMALE,17,Massey,Massey,\\"(empty)\\",Tuesday,1,\\"wilhemina st.@massey-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",Pyramidustries,Pyramidustries,\\"Jun 24, 2019 @ 00:00:00.000\\",567177,\\"sold_product_567177_12365, sold_product_567177_23200\\",\\"sold_product_567177_12365, sold_product_567177_23200\\",\\"30.984, 24.984\\",\\"30.984, 24.984\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"15.492, 12.25\\",\\"30.984, 24.984\\",\\"12,365, 23,200\\",\\"Rucksack - grey , Bomber Jacket - black\\",\\"Rucksack - grey , Bomber Jacket - black\\",\\"1, 1\\",\\"ZO0197301973, ZO0180401804\\",\\"0, 0\\",\\"30.984, 24.984\\",\\"30.984, 24.984\\",\\"0, 0\\",\\"ZO0197301973, ZO0180401804\\",\\"55.969\\",\\"55.969\\",2,2,order,wilhemina +lwMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Lambert\\",\\"Elyssa Lambert\\",FEMALE,27,Lambert,Lambert,\\"(empty)\\",Tuesday,1,\\"elyssa@lambert-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries, Tigress Enterprises, Oceanavigations, Low Tide Media\\",\\"Pyramidustries, Tigress Enterprises, Oceanavigations, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",733060,\\"sold_product_733060_13851, sold_product_733060_7400, sold_product_733060_20106, sold_product_733060_5045\\",\\"sold_product_733060_13851, sold_product_733060_7400, sold_product_733060_20106, sold_product_733060_5045\\",\\"20.984, 50, 50, 60\\",\\"20.984, 50, 50, 60\\",\\"Women's Clothing, Women's Shoes, Women's Shoes, Women's Shoes\\",\\"Women's Clothing, Women's Shoes, Women's Shoes, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Pyramidustries, Tigress Enterprises, Oceanavigations, Low Tide Media\\",\\"Pyramidustries, Tigress Enterprises, Oceanavigations, Low Tide Media\\",\\"10.492, 23.5, 22.5, 30.594\\",\\"20.984, 50, 50, 60\\",\\"13,851, 7,400, 20,106, 5,045\\",\\"Summer dress - black, Lace-up boots - black, Ballet pumps - bronze, Boots - black\\",\\"Summer dress - black, Lace-up boots - black, Ballet pumps - bronze, Boots - black\\",\\"1, 1, 1, 1\\",\\"ZO0155601556, ZO0013600136, ZO0235702357, ZO0383203832\\",\\"0, 0, 0, 0\\",\\"20.984, 50, 50, 60\\",\\"20.984, 50, 50, 60\\",\\"0, 0, 0, 0\\",\\"ZO0155601556, ZO0013600136, ZO0235702357, ZO0383203832\\",181,181,4,4,order,elyssa +zgMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Selena,Selena,\\"Selena Rose\\",\\"Selena Rose\\",FEMALE,42,Rose,Rose,\\"(empty)\\",Tuesday,1,\\"selena@rose-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Tigress Enterprises, Low Tide Media\\",\\"Tigress Enterprises, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567486,\\"sold_product_567486_19378, sold_product_567486_21859\\",\\"sold_product_567486_19378, sold_product_567486_21859\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Low Tide Media\\",\\"Tigress Enterprises, Low Tide Media\\",\\"13.492, 20.156\\",\\"24.984, 42\\",\\"19,378, 21,859\\",\\"Long sleeved top - winternude, Wedge sandals - black\\",\\"Long sleeved top - winternude, Wedge sandals - black\\",\\"1, 1\\",\\"ZO0058200582, ZO0365503655\\",\\"0, 0\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"0, 0\\",\\"ZO0058200582, ZO0365503655\\",67,67,2,2,order,selena +zwMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Goodwin\\",\\"Abigail Goodwin\\",FEMALE,46,Goodwin,Goodwin,\\"(empty)\\",Tuesday,1,\\"abigail@goodwin-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,Gnomehouse,Gnomehouse,\\"Jun 24, 2019 @ 00:00:00.000\\",567625,\\"sold_product_567625_21570, sold_product_567625_16910\\",\\"sold_product_567625_21570, sold_product_567625_16910\\",\\"55, 42\\",\\"55, 42\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Gnomehouse\\",\\"Gnomehouse, Gnomehouse\\",\\"28.047, 19.734\\",\\"55, 42\\",\\"21,570, 16,910\\",\\"A-line skirt - flame scarlet, Pleated skirt - black\\",\\"A-line skirt - flame scarlet, Pleated skirt - black\\",\\"1, 1\\",\\"ZO0328603286, ZO0328803288\\",\\"0, 0\\",\\"55, 42\\",\\"55, 42\\",\\"0, 0\\",\\"ZO0328603286, ZO0328803288\\",97,97,2,2,order,abigail +2gMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories\\",\\"Men's Accessories\\",EUR,Recip,Recip,\\"Recip Brock\\",\\"Recip Brock\\",MALE,10,Brock,Brock,\\"(empty)\\",Tuesday,1,\\"recip@brock-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567224,\\"sold_product_567224_16809, sold_product_567224_18808\\",\\"sold_product_567224_16809, sold_product_567224_18808\\",\\"28.984, 20.984\\",\\"28.984, 20.984\\",\\"Men's Accessories, Men's Accessories\\",\\"Men's Accessories, Men's Accessories\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"14.211, 10.078\\",\\"28.984, 20.984\\",\\"16,809, 18,808\\",\\"Rucksack - black, Rucksack - black/cognac\\",\\"Rucksack - black, Rucksack - black/cognac\\",\\"1, 1\\",\\"ZO0128501285, ZO0606306063\\",\\"0, 0\\",\\"28.984, 20.984\\",\\"28.984, 20.984\\",\\"0, 0\\",\\"ZO0128501285, ZO0606306063\\",\\"49.969\\",\\"49.969\\",2,2,order,recip +2wMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Diane,Diane,\\"Diane Kim\\",\\"Diane Kim\\",FEMALE,22,Kim,Kim,\\"(empty)\\",Tuesday,1,\\"diane@kim-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Pyramidustries active\\",\\"Low Tide Media, Pyramidustries active\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567252,\\"sold_product_567252_16632, sold_product_567252_16333\\",\\"sold_product_567252_16632, sold_product_567252_16333\\",\\"42, 24.984\\",\\"42, 24.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Pyramidustries active\\",\\"Low Tide Media, Pyramidustries active\\",\\"19.313, 12\\",\\"42, 24.984\\",\\"16,632, 16,333\\",\\"Slip-ons - mud, Long sleeved top - black \\",\\"Slip-ons - mud, Long sleeved top - black \\",\\"1, 1\\",\\"ZO0369803698, ZO0220502205\\",\\"0, 0\\",\\"42, 24.984\\",\\"42, 24.984\\",\\"0, 0\\",\\"ZO0369803698, ZO0220502205\\",67,67,2,2,order,diane +\\"-AMtOW0BH63Xcmy45GjD\\",ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Thad,Thad,\\"Thad Bowers\\",\\"Thad Bowers\\",MALE,30,Bowers,Bowers,\\"(empty)\\",Tuesday,1,\\"thad@bowers-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567735,\\"sold_product_567735_14414, sold_product_567735_20047\\",\\"sold_product_567735_14414, sold_product_567735_20047\\",\\"7.988, 24.984\\",\\"7.988, 24.984\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"4.148, 11.5\\",\\"7.988, 24.984\\",\\"14,414, 20,047\\",\\"3 PACK - Socks - black/white, Slip-ons - navy\\",\\"3 PACK - Socks - black/white, Slip-ons - navy\\",\\"1, 1\\",\\"ZO0129701297, ZO0518705187\\",\\"0, 0\\",\\"7.988, 24.984\\",\\"7.988, 24.984\\",\\"0, 0\\",\\"ZO0129701297, ZO0518705187\\",\\"32.969\\",\\"32.969\\",2,2,order,thad +BQMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Diane,Diane,\\"Diane Rice\\",\\"Diane Rice\\",FEMALE,22,Rice,Rice,\\"(empty)\\",Tuesday,1,\\"diane@rice-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Oceanavigations, Gnomehouse\\",\\"Oceanavigations, Gnomehouse\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567822,\\"sold_product_567822_5501, sold_product_567822_25039\\",\\"sold_product_567822_5501, sold_product_567822_25039\\",\\"75, 33\\",\\"75, 33\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Gnomehouse\\",\\"Oceanavigations, Gnomehouse\\",\\"40.5, 17.813\\",\\"75, 33\\",\\"5,501, 25,039\\",\\"Ankle boots - Midnight Blue, Shirt - Lemon Chiffon\\",\\"Ankle boots - Midnight Blue, Shirt - Lemon Chiffon\\",\\"1, 1\\",\\"ZO0244802448, ZO0346303463\\",\\"0, 0\\",\\"75, 33\\",\\"75, 33\\",\\"0, 0\\",\\"ZO0244802448, ZO0346303463\\",108,108,2,2,order,diane +BgMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Youssef,Youssef,\\"Youssef Baker\\",\\"Youssef Baker\\",MALE,31,Baker,Baker,\\"(empty)\\",Tuesday,1,\\"youssef@baker-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Elitelligence,Elitelligence,\\"Jun 24, 2019 @ 00:00:00.000\\",567852,\\"sold_product_567852_12928, sold_product_567852_11153\\",\\"sold_product_567852_12928, sold_product_567852_11153\\",\\"20.984, 10.992\\",\\"20.984, 10.992\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"9.656, 5.172\\",\\"20.984, 10.992\\",\\"12,928, 11,153\\",\\"Shirt - black /grey, Cap - black/black\\",\\"Shirt - black /grey, Cap - black/black\\",\\"1, 1\\",\\"ZO0523805238, ZO0596505965\\",\\"0, 0\\",\\"20.984, 10.992\\",\\"20.984, 10.992\\",\\"0, 0\\",\\"ZO0523805238, ZO0596505965\\",\\"31.984\\",\\"31.984\\",2,2,order,youssef +JwMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",EUR,Hicham,Hicham,\\"Hicham Carpenter\\",\\"Hicham Carpenter\\",MALE,8,Carpenter,Carpenter,\\"(empty)\\",Tuesday,1,\\"hicham@carpenter-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566861,\\"sold_product_566861_1978, sold_product_566861_11748\\",\\"sold_product_566861_1978, sold_product_566861_11748\\",\\"50, 16.984\\",\\"50, 16.984\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"27.484, 8.328\\",\\"50, 16.984\\",\\"1,978, 11,748\\",\\"Lace-up boots - black, Wallet - grey\\",\\"Lace-up boots - black, Wallet - grey\\",\\"1, 1\\",\\"ZO0520305203, ZO0462204622\\",\\"0, 0\\",\\"50, 16.984\\",\\"50, 16.984\\",\\"0, 0\\",\\"ZO0520305203, ZO0462204622\\",67,67,2,2,order,hicham +KAMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Reyes\\",\\"Gwen Reyes\\",FEMALE,26,Reyes,Reyes,\\"(empty)\\",Tuesday,1,\\"gwen@reyes-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Oceanavigations, Tigress Enterprises Curvy\\",\\"Oceanavigations, Tigress Enterprises Curvy\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567042,\\"sold_product_567042_23822, sold_product_567042_11786\\",\\"sold_product_567042_23822, sold_product_567042_11786\\",\\"60, 20.984\\",\\"60, 20.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Tigress Enterprises Curvy\\",\\"Oceanavigations, Tigress Enterprises Curvy\\",\\"32.375, 11.117\\",\\"60, 20.984\\",\\"23,822, 11,786\\",\\"Sandals - Midnight Blue, Print T-shirt - black\\",\\"Sandals - Midnight Blue, Print T-shirt - black\\",\\"1, 1\\",\\"ZO0243002430, ZO0103901039\\",\\"0, 0\\",\\"60, 20.984\\",\\"60, 20.984\\",\\"0, 0\\",\\"ZO0243002430, ZO0103901039\\",81,81,2,2,order,gwen +SAMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Cook\\",\\"Elyssa Cook\\",FEMALE,27,Cook,Cook,\\"(empty)\\",Tuesday,1,\\"elyssa@cook-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries, Gnomehouse, Tigress Enterprises\\",\\"Pyramidustries, Gnomehouse, Tigress Enterprises\\",\\"Jun 24, 2019 @ 00:00:00.000\\",731037,\\"sold_product_731037_17669, sold_product_731037_9413, sold_product_731037_8035, sold_product_731037_24229\\",\\"sold_product_731037_17669, sold_product_731037_9413, sold_product_731037_8035, sold_product_731037_24229\\",\\"13.992, 50, 13.992, 29.984\\",\\"13.992, 50, 13.992, 29.984\\",\\"Women's Clothing, Women's Clothing, Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing, Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Pyramidustries, Gnomehouse, Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Gnomehouse, Pyramidustries, Tigress Enterprises\\",\\"6.441, 22.5, 7, 15.289\\",\\"13.992, 50, 13.992, 29.984\\",\\"17,669, 9,413, 8,035, 24,229\\",\\"Pencil skirt - black, Summer dress - Pale Violet Red, Jersey dress - black, Trousers - black\\",\\"Pencil skirt - black, Summer dress - Pale Violet Red, Jersey dress - black, Trousers - black\\",\\"1, 1, 1, 1\\",\\"ZO0148801488, ZO0335003350, ZO0155301553, ZO0074300743\\",\\"0, 0, 0, 0\\",\\"13.992, 50, 13.992, 29.984\\",\\"13.992, 50, 13.992, 29.984\\",\\"0, 0, 0, 0\\",\\"ZO0148801488, ZO0335003350, ZO0155301553, ZO0074300743\\",\\"107.938\\",\\"107.938\\",4,4,order,elyssa +gQMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Morgan\\",\\"Sultan Al Morgan\\",MALE,19,Morgan,Morgan,\\"(empty)\\",Tuesday,1,\\"sultan al@morgan-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567729,\\"sold_product_567729_1196, sold_product_567729_13331\\",\\"sold_product_567729_1196, sold_product_567729_13331\\",\\"42, 20.984\\",\\"42, 20.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"20.156, 9.656\\",\\"42, 20.984\\",\\"1,196, 13,331\\",\\"Trainers - white, Jumper - black\\",\\"Trainers - white, Jumper - black\\",\\"1, 1\\",\\"ZO0395103951, ZO0296102961\\",\\"0, 0\\",\\"42, 20.984\\",\\"42, 20.984\\",\\"0, 0\\",\\"ZO0395103951, ZO0296102961\\",\\"62.969\\",\\"62.969\\",2,2,order,sultan +iQMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jim,Jim,\\"Jim Carpenter\\",\\"Jim Carpenter\\",MALE,41,Carpenter,Carpenter,\\"(empty)\\",Tuesday,1,\\"jim@carpenter-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567384,\\"sold_product_567384_22462, sold_product_567384_21856\\",\\"sold_product_567384_22462, sold_product_567384_21856\\",\\"33, 24.984\\",\\"33, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"14.852, 12.742\\",\\"33, 24.984\\",\\"22,462, 21,856\\",\\"Slim fit jeans - dark grey , Pyjama set - grey\\",\\"Slim fit jeans - dark grey , Pyjama set - grey\\",\\"1, 1\\",\\"ZO0426704267, ZO0612006120\\",\\"0, 0\\",\\"33, 24.984\\",\\"33, 24.984\\",\\"0, 0\\",\\"ZO0426704267, ZO0612006120\\",\\"57.969\\",\\"57.969\\",2,2,order,jim +kwMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Goodman\\",\\"Fitzgerald Goodman\\",MALE,11,Goodman,Goodman,\\"(empty)\\",Tuesday,1,\\"fitzgerald@goodman-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566690,\\"sold_product_566690_11851, sold_product_566690_18257\\",\\"sold_product_566690_11851, sold_product_566690_18257\\",\\"28.984, 14.992\\",\\"28.984, 14.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"13.922, 7.051\\",\\"28.984, 14.992\\",\\"11,851, 18,257\\",\\"Jumper - dark blue, Print T-shirt - black\\",\\"Jumper - dark blue, Print T-shirt - black\\",\\"1, 1\\",\\"ZO0449004490, ZO0118501185\\",\\"0, 0\\",\\"28.984, 14.992\\",\\"28.984, 14.992\\",\\"0, 0\\",\\"ZO0449004490, ZO0118501185\\",\\"43.969\\",\\"43.969\\",2,2,order,fuzzy +lAMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Frances,Frances,\\"Frances Mullins\\",\\"Frances Mullins\\",FEMALE,49,Mullins,Mullins,\\"(empty)\\",Tuesday,1,\\"frances@mullins-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566951,\\"sold_product_566951_2269, sold_product_566951_14250\\",\\"sold_product_566951_2269, sold_product_566951_14250\\",\\"50, 33\\",\\"50, 33\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"23, 15.508\\",\\"50, 33\\",\\"2,269, 14,250\\",\\"Boots - Slate Gray, High-top trainers - grey\\",\\"Boots - Slate Gray, High-top trainers - grey\\",\\"1, 1\\",\\"ZO0406604066, ZO0517405174\\",\\"0, 0\\",\\"50, 33\\",\\"50, 33\\",\\"0, 0\\",\\"ZO0406604066, ZO0517405174\\",83,83,2,2,order,frances +lQMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Diane,Diane,\\"Diane Washington\\",\\"Diane Washington\\",FEMALE,22,Washington,Washington,\\"(empty)\\",Tuesday,1,\\"diane@washington-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566982,\\"sold_product_566982_13852, sold_product_566982_21858\\",\\"sold_product_566982_13852, sold_product_566982_21858\\",\\"16.984, 16.984\\",\\"16.984, 16.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"7.648, 8.156\\",\\"16.984, 16.984\\",\\"13,852, 21,858\\",\\"A-line skirt - black/white, Nightie - off white\\",\\"A-line skirt - black/white, Nightie - off white\\",\\"1, 1\\",\\"ZO0149301493, ZO0099800998\\",\\"0, 0\\",\\"16.984, 16.984\\",\\"16.984, 16.984\\",\\"0, 0\\",\\"ZO0149301493, ZO0099800998\\",\\"33.969\\",\\"33.969\\",2,2,order,diane +lgMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Phil,Phil,\\"Phil Bailey\\",\\"Phil Bailey\\",MALE,50,Bailey,Bailey,\\"(empty)\\",Tuesday,1,\\"phil@bailey-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566725,\\"sold_product_566725_17721, sold_product_566725_19679\\",\\"sold_product_566725_17721, sold_product_566725_19679\\",\\"16.984, 28.984\\",\\"16.984, 28.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"7.988, 15.648\\",\\"16.984, 28.984\\",\\"17,721, 19,679\\",\\"Polo shirt - light grey multicolor, Hoodie - black/dark blue/white\\",\\"Polo shirt - light grey multicolor, Hoodie - black/dark blue/white\\",\\"1, 1\\",\\"ZO0444404444, ZO0584205842\\",\\"0, 0\\",\\"16.984, 28.984\\",\\"16.984, 28.984\\",\\"0, 0\\",\\"ZO0444404444, ZO0584205842\\",\\"45.969\\",\\"45.969\\",2,2,order,phil +wgMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Yasmine,Yasmine,\\"Yasmine Fletcher\\",\\"Yasmine Fletcher\\",FEMALE,43,Fletcher,Fletcher,\\"(empty)\\",Tuesday,1,\\"yasmine@fletcher-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Pyramidustries active, Gnomehouse\\",\\"Pyramidustries active, Gnomehouse\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566856,\\"sold_product_566856_10829, sold_product_566856_25007\\",\\"sold_product_566856_10829, sold_product_566856_25007\\",\\"28.984, 50\\",\\"28.984, 50\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries active, Gnomehouse\\",\\"Pyramidustries active, Gnomehouse\\",\\"15.07, 26.484\\",\\"28.984, 50\\",\\"10,829, 25,007\\",\\"Sports shoes - black/pink, Jumpsuit - Pale Violet Red\\",\\"Sports shoes - black/pink, Jumpsuit - Pale Violet Red\\",\\"1, 1\\",\\"ZO0216502165, ZO0327503275\\",\\"0, 0\\",\\"28.984, 50\\",\\"28.984, 50\\",\\"0, 0\\",\\"ZO0216502165, ZO0327503275\\",79,79,2,2,order,yasmine +wwMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Selena,Selena,\\"Selena Moss\\",\\"Selena Moss\\",FEMALE,42,Moss,Moss,\\"(empty)\\",Tuesday,1,\\"selena@moss-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Pyramidustries, Spherecords Curvy\\",\\"Pyramidustries, Spherecords Curvy\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567039,\\"sold_product_567039_16085, sold_product_567039_16220\\",\\"sold_product_567039_16085, sold_product_567039_16220\\",\\"24.984, 14.992\\",\\"24.984, 14.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Spherecords Curvy\\",\\"Pyramidustries, Spherecords Curvy\\",\\"11.75, 7.789\\",\\"24.984, 14.992\\",\\"16,085, 16,220\\",\\"Jeans Skinny Fit - dark blue denim, Vest - white\\",\\"Jeans Skinny Fit - dark blue denim, Vest - white\\",\\"1, 1\\",\\"ZO0184101841, ZO0711207112\\",\\"0, 0\\",\\"24.984, 14.992\\",\\"24.984, 14.992\\",\\"0, 0\\",\\"ZO0184101841, ZO0711207112\\",\\"39.969\\",\\"39.969\\",2,2,order,selena +xAMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Greene\\",\\"Wilhemina St. Greene\\",FEMALE,17,Greene,Greene,\\"(empty)\\",Tuesday,1,\\"wilhemina st.@greene-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Tigress Enterprises, Spherecords Curvy\\",\\"Tigress Enterprises, Spherecords Curvy\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567068,\\"sold_product_567068_13637, sold_product_567068_21700\\",\\"sold_product_567068_13637, sold_product_567068_21700\\",\\"28.984, 14.992\\",\\"28.984, 14.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Spherecords Curvy\\",\\"Tigress Enterprises, Spherecords Curvy\\",\\"13.633, 7.051\\",\\"28.984, 14.992\\",\\"13,637, 21,700\\",\\"Jersey dress - multicolor, Basic T-shirt - black\\",\\"Jersey dress - multicolor, Basic T-shirt - black\\",\\"1, 1\\",\\"ZO0038000380, ZO0711007110\\",\\"0, 0\\",\\"28.984, 14.992\\",\\"28.984, 14.992\\",\\"0, 0\\",\\"ZO0038000380, ZO0711007110\\",\\"43.969\\",\\"43.969\\",2,2,order,wilhemina +0wMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories, Women's Shoes\\",\\"Women's Clothing, Women's Accessories, Women's Shoes\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Cunningham\\",\\"Rabbia Al Cunningham\\",FEMALE,5,Cunningham,Cunningham,\\"(empty)\\",Tuesday,1,\\"rabbia al@cunningham-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Pyramidustries, Angeldale, Oceanavigations\\",\\"Pyramidustries, Angeldale, Oceanavigations\\",\\"Jun 24, 2019 @ 00:00:00.000\\",732229,\\"sold_product_732229_21857, sold_product_732229_23802, sold_product_732229_12401, sold_product_732229_21229\\",\\"sold_product_732229_21857, sold_product_732229_23802, sold_product_732229_12401, sold_product_732229_21229\\",\\"20.984, 20.984, 65, 80\\",\\"20.984, 20.984, 65, 80\\",\\"Women's Clothing, Women's Clothing, Women's Accessories, Women's Shoes\\",\\"Women's Clothing, Women's Clothing, Women's Accessories, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Pyramidustries, Pyramidustries, Angeldale, Oceanavigations\\",\\"Pyramidustries, Pyramidustries, Angeldale, Oceanavigations\\",\\"10.078, 11.539, 31.203, 40.781\\",\\"20.984, 20.984, 65, 80\\",\\"21,857, 23,802, 12,401, 21,229\\",\\"Cardigan - black/white, Long sleeved top - off white, Handbag - black, Boots - navy\\",\\"Cardigan - black/white, Long sleeved top - off white, Handbag - black, Boots - navy\\",\\"1, 1, 1, 1\\",\\"ZO0175701757, ZO0163801638, ZO0697506975, ZO0245602456\\",\\"0, 0, 0, 0\\",\\"20.984, 20.984, 65, 80\\",\\"20.984, 20.984, 65, 80\\",\\"0, 0, 0, 0\\",\\"ZO0175701757, ZO0163801638, ZO0697506975, ZO0245602456\\",187,187,4,4,order,rabbia +1AMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Ball\\",\\"Rabbia Al Ball\\",FEMALE,5,Ball,Ball,\\"(empty)\\",Tuesday,1,\\"rabbia al@ball-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Spherecords, Tigress Enterprises, Angeldale\\",\\"Spherecords, Tigress Enterprises, Angeldale\\",\\"Jun 24, 2019 @ 00:00:00.000\\",724806,\\"sold_product_724806_13062, sold_product_724806_12709, sold_product_724806_19614, sold_product_724806_21000\\",\\"sold_product_724806_13062, sold_product_724806_12709, sold_product_724806_19614, sold_product_724806_21000\\",\\"11.992, 28.984, 60, 20.984\\",\\"11.992, 28.984, 60, 20.984\\",\\"Women's Clothing, Women's Clothing, Women's Accessories, Women's Clothing\\",\\"Women's Clothing, Women's Clothing, Women's Accessories, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Spherecords, Tigress Enterprises, Angeldale, Spherecords\\",\\"Spherecords, Tigress Enterprises, Angeldale, Spherecords\\",\\"6.23, 14.781, 27, 11.539\\",\\"11.992, 28.984, 60, 20.984\\",\\"13,062, 12,709, 19,614, 21,000\\",\\"Long sleeved top - dark green, Pleated skirt - Blue Violety, Tote bag - terracotta, Shirt - light blue\\",\\"Long sleeved top - dark green, Pleated skirt - Blue Violety, Tote bag - terracotta, Shirt - light blue\\",\\"1, 1, 1, 1\\",\\"ZO0643106431, ZO0033300333, ZO0696206962, ZO0651206512\\",\\"0, 0, 0, 0\\",\\"11.992, 28.984, 60, 20.984\\",\\"11.992, 28.984, 60, 20.984\\",\\"0, 0, 0, 0\\",\\"ZO0643106431, ZO0033300333, ZO0696206962, ZO0651206512\\",\\"121.938\\",\\"121.938\\",4,4,order,rabbia +8QMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Abd,Abd,\\"Abd Graham\\",\\"Abd Graham\\",MALE,52,Graham,Graham,\\"(empty)\\",Tuesday,1,\\"abd@graham-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567769,\\"sold_product_567769_24888, sold_product_567769_16104\\",\\"sold_product_567769_24888, sold_product_567769_16104\\",\\"28.984, 18.984\\",\\"28.984, 18.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"14.211, 9.117\\",\\"28.984, 18.984\\",\\"24,888, 16,104\\",\\"Formal shirt - blue, Swimming shorts - blue atol\\",\\"Formal shirt - blue, Swimming shorts - blue atol\\",\\"1, 1\\",\\"ZO0414004140, ZO0630106301\\",\\"0, 0\\",\\"28.984, 18.984\\",\\"28.984, 18.984\\",\\"0, 0\\",\\"ZO0414004140, ZO0630106301\\",\\"47.969\\",\\"47.969\\",2,2,order,abd +AgMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Abigail,Abigail,\\"Abigail Potter\\",\\"Abigail Potter\\",FEMALE,46,Potter,Potter,\\"(empty)\\",Tuesday,1,\\"abigail@potter-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566772,\\"sold_product_566772_17102, sold_product_566772_7361\\",\\"sold_product_566772_17102, sold_product_566772_7361\\",\\"20.984, 28.984\\",\\"20.984, 28.984\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"10.703, 13.633\\",\\"20.984, 28.984\\",\\"17,102, 7,361\\",\\"Jersey dress - black/white, Ankle boots - black\\",\\"Jersey dress - black/white, Ankle boots - black\\",\\"1, 1\\",\\"ZO0152901529, ZO0019100191\\",\\"0, 0\\",\\"20.984, 28.984\\",\\"20.984, 28.984\\",\\"0, 0\\",\\"ZO0152901529, ZO0019100191\\",\\"49.969\\",\\"49.969\\",2,2,order,abigail +2gMtOW0BH63Xcmy45Wq4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Kamal,Kamal,\\"Kamal Palmer\\",\\"Kamal Palmer\\",MALE,39,Palmer,Palmer,\\"(empty)\\",Tuesday,1,\\"kamal@palmer-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567318,\\"sold_product_567318_16500, sold_product_567318_1539\\",\\"sold_product_567318_16500, sold_product_567318_1539\\",\\"33, 60\\",\\"33, 60\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"16.813, 30\\",\\"33, 60\\",\\"16,500, 1,539\\",\\"Casual Cuffed Pants, Lace-up boots - black\\",\\"Casual Cuffed Pants, Lace-up boots - black\\",\\"1, 1\\",\\"ZO0421104211, ZO0256202562\\",\\"0, 0\\",\\"33, 60\\",\\"33, 60\\",\\"0, 0\\",\\"ZO0421104211, ZO0256202562\\",93,93,2,2,order,kamal +OQMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Stephanie,Stephanie,\\"Stephanie Potter\\",\\"Stephanie Potter\\",FEMALE,6,Potter,Potter,\\"(empty)\\",Tuesday,1,\\"stephanie@potter-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567615,\\"sold_product_567615_21067, sold_product_567615_16863\\",\\"sold_product_567615_21067, sold_product_567615_16863\\",\\"50, 28.984\\",\\"50, 28.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"25.484, 13.922\\",\\"50, 28.984\\",\\"21,067, 16,863\\",\\"Lace-up boots - brown, Bomber Jacket - black\\",\\"Lace-up boots - brown, Bomber Jacket - black\\",\\"1, 1\\",\\"ZO0013500135, ZO0174501745\\",\\"0, 0\\",\\"50, 28.984\\",\\"50, 28.984\\",\\"0, 0\\",\\"ZO0013500135, ZO0174501745\\",79,79,2,2,order,stephanie +QgMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Muniz,Muniz,\\"Muniz Weber\\",\\"Muniz Weber\\",MALE,37,Weber,Weber,\\"(empty)\\",Tuesday,1,\\"muniz@weber-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567316,\\"sold_product_567316_13588, sold_product_567316_24014\\",\\"sold_product_567316_13588, sold_product_567316_24014\\",\\"60, 50\\",\\"60, 50\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"28.797, 24.5\\",\\"60, 50\\",\\"13,588, 24,014\\",\\"Lace-ups - cognac, Boots - saphire\\",\\"Lace-ups - cognac, Boots - saphire\\",\\"1, 1\\",\\"ZO0390403904, ZO0403004030\\",\\"0, 0\\",\\"60, 50\\",\\"60, 50\\",\\"0, 0\\",\\"ZO0390403904, ZO0403004030\\",110,110,2,2,order,muniz +RQMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,Mary,Mary,\\"Mary Kelley\\",\\"Mary Kelley\\",FEMALE,20,Kelley,Kelley,\\"(empty)\\",Tuesday,1,\\"mary@kelley-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566896,\\"sold_product_566896_16021, sold_product_566896_17331\\",\\"sold_product_566896_16021, sold_product_566896_17331\\",\\"50, 20.984\\",\\"50, 20.984\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"23, 10.492\\",\\"50, 20.984\\",\\"16,021, 17,331\\",\\"High heeled sandals - electric blue, Tote bag - Blue Violety\\",\\"High heeled sandals - electric blue, Tote bag - Blue Violety\\",\\"1, 1\\",\\"ZO0242702427, ZO0090000900\\",\\"0, 0\\",\\"50, 20.984\\",\\"50, 20.984\\",\\"0, 0\\",\\"ZO0242702427, ZO0090000900\\",71,71,2,2,order,mary +WAMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Phil,Phil,\\"Phil Henderson\\",\\"Phil Henderson\\",MALE,50,Henderson,Henderson,\\"(empty)\\",Tuesday,1,\\"phil@henderson-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567418,\\"sold_product_567418_22276, sold_product_567418_18190\\",\\"sold_product_567418_22276, sold_product_567418_18190\\",\\"75, 110\\",\\"75, 110\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"36.75, 58.281\\",\\"75, 110\\",\\"22,276, 18,190\\",\\"Lace-up boots - cognac, Ski jacket - bright white\\",\\"Lace-up boots - cognac, Ski jacket - bright white\\",\\"1, 1\\",\\"ZO0400404004, ZO0625006250\\",\\"0, 0\\",\\"75, 110\\",\\"75, 110\\",\\"0, 0\\",\\"ZO0400404004, ZO0625006250\\",185,185,2,2,order,phil +WQMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Selena,Selena,\\"Selena Duncan\\",\\"Selena Duncan\\",FEMALE,42,Duncan,Duncan,\\"(empty)\\",Tuesday,1,\\"selena@duncan-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Spherecords, Spherecords Curvy\\",\\"Spherecords, Spherecords Curvy\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567462,\\"sold_product_567462_9295, sold_product_567462_18220\\",\\"sold_product_567462_9295, sold_product_567462_18220\\",\\"7.988, 16.984\\",\\"7.988, 16.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Spherecords Curvy\\",\\"Spherecords, Spherecords Curvy\\",\\"3.6, 8.656\\",\\"7.988, 16.984\\",\\"9,295, 18,220\\",\\"Print T-shirt - dark grey/white, Jersey dress - dark blue\\",\\"Print T-shirt - dark grey/white, Jersey dress - dark blue\\",\\"1, 1\\",\\"ZO0644406444, ZO0709307093\\",\\"0, 0\\",\\"7.988, 16.984\\",\\"7.988, 16.984\\",\\"0, 0\\",\\"ZO0644406444, ZO0709307093\\",\\"24.984\\",\\"24.984\\",2,2,order,selena +XwMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,George,George,\\"George Perkins\\",\\"George Perkins\\",MALE,32,Perkins,Perkins,\\"(empty)\\",Tuesday,1,\\"george@perkins-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,Oceanavigations,Oceanavigations,\\"Jun 24, 2019 @ 00:00:00.000\\",567667,\\"sold_product_567667_22878, sold_product_567667_19733\\",\\"sold_product_567667_22878, sold_product_567667_19733\\",\\"75, 33\\",\\"75, 33\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"34.5, 16.813\\",\\"75, 33\\",\\"22,878, 19,733\\",\\"Suit jacket - dark blue, Sweatshirt - black\\",\\"Suit jacket - dark blue, Sweatshirt - black\\",\\"1, 1\\",\\"ZO0273802738, ZO0300303003\\",\\"0, 0\\",\\"75, 33\\",\\"75, 33\\",\\"0, 0\\",\\"ZO0273802738, ZO0300303003\\",108,108,2,2,order,george +YAMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Carr\\",\\"Elyssa Carr\\",FEMALE,27,Carr,Carr,\\"(empty)\\",Tuesday,1,\\"elyssa@carr-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567703,\\"sold_product_567703_11574, sold_product_567703_16709\\",\\"sold_product_567703_11574, sold_product_567703_16709\\",\\"42, 42\\",\\"42, 42\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"19.313, 21.828\\",\\"42, 42\\",\\"11,574, 16,709\\",\\"Maxi dress - multicolor, Lace-up boots - Amethyst\\",\\"Maxi dress - multicolor, Lace-up boots - Amethyst\\",\\"1, 1\\",\\"ZO0037900379, ZO0134901349\\",\\"0, 0\\",\\"42, 42\\",\\"42, 42\\",\\"0, 0\\",\\"ZO0037900379, ZO0134901349\\",84,84,2,2,order,elyssa +iwMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Gwen,Gwen,\\"Gwen Powell\\",\\"Gwen Powell\\",FEMALE,26,Powell,Powell,\\"(empty)\\",Tuesday,1,\\"gwen@powell-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Tigress Enterprises, Angeldale\\",\\"Tigress Enterprises, Angeldale\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567260,\\"sold_product_567260_9302, sold_product_567260_7402\\",\\"sold_product_567260_9302, sold_product_567260_7402\\",\\"33, 75\\",\\"33, 75\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Angeldale\\",\\"Tigress Enterprises, Angeldale\\",\\"16.172, 34.5\\",\\"33, 75\\",\\"9,302, 7,402\\",\\"Cardigan - red, Ankle boots - black \\",\\"Cardigan - red, Ankle boots - black \\",\\"1, 1\\",\\"ZO0068100681, ZO0674106741\\",\\"0, 0\\",\\"33, 75\\",\\"33, 75\\",\\"0, 0\\",\\"ZO0068100681, ZO0674106741\\",108,108,2,2,order,gwen +jAMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Washington\\",\\"Rabbia Al Washington\\",FEMALE,5,Washington,Washington,\\"(empty)\\",Tuesday,1,\\"rabbia al@washington-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Spherecords Maternity, Oceanavigations, Pyramidustries active, Gnomehouse\\",\\"Spherecords Maternity, Oceanavigations, Pyramidustries active, Gnomehouse\\",\\"Jun 24, 2019 @ 00:00:00.000\\",724844,\\"sold_product_724844_19797, sold_product_724844_13322, sold_product_724844_10099, sold_product_724844_8107\\",\\"sold_product_724844_19797, sold_product_724844_13322, sold_product_724844_10099, sold_product_724844_8107\\",\\"20.984, 65, 20.984, 33\\",\\"20.984, 65, 20.984, 33\\",\\"Women's Clothing, Women's Shoes, Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Shoes, Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Spherecords Maternity, Oceanavigations, Pyramidustries active, Gnomehouse\\",\\"Spherecords Maternity, Oceanavigations, Pyramidustries active, Gnomehouse\\",\\"10.703, 33.781, 9.453, 17.484\\",\\"20.984, 65, 20.984, 33\\",\\"19,797, 13,322, 10,099, 8,107\\",\\"Shirt - white, High heeled ankle boots - black, Sweatshirt - black, Blouse - off-white\\",\\"Shirt - white, High heeled ankle boots - black, Sweatshirt - black, Blouse - off-white\\",\\"1, 1, 1, 1\\",\\"ZO0707507075, ZO0246402464, ZO0226802268, ZO0343503435\\",\\"0, 0, 0, 0\\",\\"20.984, 65, 20.984, 33\\",\\"20.984, 65, 20.984, 33\\",\\"0, 0, 0, 0\\",\\"ZO0707507075, ZO0246402464, ZO0226802268, ZO0343503435\\",140,140,4,4,order,rabbia +qAMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Pia,Pia,\\"Pia Chapman\\",\\"Pia Chapman\\",FEMALE,45,Chapman,Chapman,\\"(empty)\\",Tuesday,1,\\"pia@chapman-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567308,\\"sold_product_567308_16474, sold_product_567308_18779\\",\\"sold_product_567308_16474, sold_product_567308_18779\\",\\"16.984, 28.984\\",\\"16.984, 28.984\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"9.344, 15.648\\",\\"16.984, 28.984\\",\\"16,474, 18,779\\",\\"Sweatshirt - grey multicolor, High heeled sandals - silver\\",\\"Sweatshirt - grey multicolor, High heeled sandals - silver\\",\\"1, 1\\",\\"ZO0181601816, ZO0011000110\\",\\"0, 0\\",\\"16.984, 28.984\\",\\"16.984, 28.984\\",\\"0, 0\\",\\"ZO0181601816, ZO0011000110\\",\\"45.969\\",\\"45.969\\",2,2,order,pia +7gMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Abd,Abd,\\"Abd Morrison\\",\\"Abd Morrison\\",MALE,52,Morrison,Morrison,\\"(empty)\\",Tuesday,1,\\"abd@morrison-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567404,\\"sold_product_567404_22845, sold_product_567404_21489\\",\\"sold_product_567404_22845, sold_product_567404_21489\\",\\"50, 28.984\\",\\"50, 28.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"25.984, 13.633\\",\\"50, 28.984\\",\\"22,845, 21,489\\",\\"High-top trainers - red, Jeans Tapered Fit - blue denim\\",\\"High-top trainers - red, Jeans Tapered Fit - blue denim\\",\\"1, 1\\",\\"ZO0107101071, ZO0537905379\\",\\"0, 0\\",\\"50, 28.984\\",\\"50, 28.984\\",\\"0, 0\\",\\"ZO0107101071, ZO0537905379\\",79,79,2,2,order,abd +PgMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Youssef,Youssef,\\"Youssef Hopkins\\",\\"Youssef Hopkins\\",MALE,31,Hopkins,Hopkins,\\"(empty)\\",Tuesday,1,\\"youssef@hopkins-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567538,\\"sold_product_567538_16200, sold_product_567538_17404\\",\\"sold_product_567538_16200, sold_product_567538_17404\\",\\"10.992, 60\\",\\"10.992, 60\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"5.281, 27.594\\",\\"10.992, 60\\",\\"16,200, 17,404\\",\\"Hat - grey, Colorful Cardigan\\",\\"Hat - grey, Colorful Cardigan\\",\\"1, 1\\",\\"ZO0596905969, ZO0450804508\\",\\"0, 0\\",\\"10.992, 60\\",\\"10.992, 60\\",\\"0, 0\\",\\"ZO0596905969, ZO0450804508\\",71,71,2,2,order,youssef +PwMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Abigail,Abigail,\\"Abigail Perry\\",\\"Abigail Perry\\",FEMALE,46,Perry,Perry,\\"(empty)\\",Tuesday,1,\\"abigail@perry-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567593,\\"sold_product_567593_25072, sold_product_567593_17024\\",\\"sold_product_567593_25072, sold_product_567593_17024\\",\\"18.984, 24.984\\",\\"18.984, 24.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"8.93, 12.992\\",\\"18.984, 24.984\\",\\"25,072, 17,024\\",\\"Jumper - off white, Across body bag - black\\",\\"Jumper - off white, Across body bag - black\\",\\"1, 1\\",\\"ZO0655306553, ZO0208902089\\",\\"0, 0\\",\\"18.984, 24.984\\",\\"18.984, 24.984\\",\\"0, 0\\",\\"ZO0655306553, ZO0208902089\\",\\"43.969\\",\\"43.969\\",2,2,order,abigail +fQMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Wagdi,Wagdi,\\"Wagdi Williams\\",\\"Wagdi Williams\\",MALE,15,Williams,Williams,\\"(empty)\\",Tuesday,1,\\"wagdi@williams-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567294,\\"sold_product_567294_21723, sold_product_567294_20325\\",\\"sold_product_567294_21723, sold_product_567294_20325\\",\\"24.984, 20.984\\",\\"24.984, 20.984\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"12.992, 10.078\\",\\"24.984, 20.984\\",\\"21,723, 20,325\\",\\"SET - Hat - Medium Slate Blue, Sweatshirt - dark blue\\",\\"SET - Hat - Medium Slate Blue, Sweatshirt - dark blue\\",\\"1, 1\\",\\"ZO0317403174, ZO0457204572\\",\\"0, 0\\",\\"24.984, 20.984\\",\\"24.984, 20.984\\",\\"0, 0\\",\\"ZO0317403174, ZO0457204572\\",\\"45.969\\",\\"45.969\\",2,2,order,wagdi +kQMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Underwood\\",\\"Wilhemina St. Underwood\\",FEMALE,17,Underwood,Underwood,\\"(empty)\\",Tuesday,1,\\"wilhemina st.@underwood-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Gnomehouse, Pyramidustries, Tigress Enterprises MAMA\\",\\"Low Tide Media, Gnomehouse, Pyramidustries, Tigress Enterprises MAMA\\",\\"Jun 24, 2019 @ 00:00:00.000\\",728256,\\"sold_product_728256_17123, sold_product_728256_19925, sold_product_728256_23613, sold_product_728256_17666\\",\\"sold_product_728256_17123, sold_product_728256_19925, sold_product_728256_23613, sold_product_728256_17666\\",\\"42, 33, 33, 37\\",\\"42, 33, 33, 37\\",\\"Women's Shoes, Women's Clothing, Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing, Women's Shoes, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Low Tide Media, Gnomehouse, Pyramidustries, Tigress Enterprises MAMA\\",\\"Low Tide Media, Gnomehouse, Pyramidustries, Tigress Enterprises MAMA\\",\\"22.672, 15.18, 17.156, 19.234\\",\\"42, 33, 33, 37\\",\\"17,123, 19,925, 23,613, 17,666\\",\\"Sandals - black, Jumper - Lemon Chiffon, Platform sandals - black, Summer dress - peacoat\\",\\"Sandals - black, Jumper - Lemon Chiffon, Platform sandals - black, Summer dress - peacoat\\",\\"1, 1, 1, 1\\",\\"ZO0371903719, ZO0352803528, ZO0137501375, ZO0229202292\\",\\"0, 0, 0, 0\\",\\"42, 33, 33, 37\\",\\"42, 33, 33, 37\\",\\"0, 0, 0, 0\\",\\"ZO0371903719, ZO0352803528, ZO0137501375, ZO0229202292\\",145,145,4,4,order,wilhemina +wgMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Thad,Thad,\\"Thad Miller\\",\\"Thad Miller\\",MALE,30,Miller,Miller,\\"(empty)\\",Tuesday,1,\\"thad@miller-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567544,\\"sold_product_567544_18963, sold_product_567544_19459\\",\\"sold_product_567544_18963, sold_product_567544_19459\\",\\"20.984, 16.984\\",\\"20.984, 16.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"10.078, 7.988\\",\\"20.984, 16.984\\",\\"18,963, 19,459\\",\\"Sweatshirt - white, Long sleeved top - Dark Salmon\\",\\"Sweatshirt - white, Long sleeved top - Dark Salmon\\",\\"1, 1\\",\\"ZO0585005850, ZO0120301203\\",\\"0, 0\\",\\"20.984, 16.984\\",\\"20.984, 16.984\\",\\"0, 0\\",\\"ZO0585005850, ZO0120301203\\",\\"37.969\\",\\"37.969\\",2,2,order,thad +wwMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jim,Jim,\\"Jim Stewart\\",\\"Jim Stewart\\",MALE,41,Stewart,Stewart,\\"(empty)\\",Tuesday,1,\\"jim@stewart-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567592,\\"sold_product_567592_2843, sold_product_567592_16403\\",\\"sold_product_567592_2843, sold_product_567592_16403\\",\\"28.984, 200\\",\\"28.984, 200\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"13.344, 98\\",\\"28.984, 200\\",\\"2,843, 16,403\\",\\"Jeans Tapered Fit - washed black, Short coat - light grey\\",\\"Jeans Tapered Fit - washed black, Short coat - light grey\\",\\"1, 1\\",\\"ZO0535405354, ZO0291302913\\",\\"0, 0\\",\\"28.984, 200\\",\\"28.984, 200\\",\\"0, 0\\",\\"ZO0535405354, ZO0291302913\\",229,229,2,2,order,jim +ywMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Betty,Betty,\\"Betty Farmer\\",\\"Betty Farmer\\",FEMALE,44,Farmer,Farmer,\\"(empty)\\",Tuesday,1,\\"betty@farmer-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566942,\\"sold_product_566942_14928, sold_product_566942_23534\\",\\"sold_product_566942_14928, sold_product_566942_23534\\",\\"11.992, 22.984\\",\\"11.992, 22.984\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"6, 11.719\\",\\"11.992, 22.984\\",\\"14,928, 23,534\\",\\"Scarf - red, Jumper dress - dark green\\",\\"Scarf - red, Jumper dress - dark green\\",\\"1, 1\\",\\"ZO0084000840, ZO0636606366\\",\\"0, 0\\",\\"11.992, 22.984\\",\\"11.992, 22.984\\",\\"0, 0\\",\\"ZO0084000840, ZO0636606366\\",\\"34.969\\",\\"34.969\\",2,2,order,betty +zAMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Youssef,Youssef,\\"Youssef Foster\\",\\"Youssef Foster\\",MALE,31,Foster,Foster,\\"(empty)\\",Tuesday,1,\\"youssef@foster-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Elitelligence,Elitelligence,\\"Jun 24, 2019 @ 00:00:00.000\\",567015,\\"sold_product_567015_22305, sold_product_567015_11284\\",\\"sold_product_567015_22305, sold_product_567015_11284\\",\\"11.992, 20.984\\",\\"11.992, 20.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"5.879, 10.078\\",\\"11.992, 20.984\\",\\"22,305, 11,284\\",\\"Print T-shirt - white, Chinos - dark blue\\",\\"Print T-shirt - white, Chinos - dark blue\\",\\"1, 1\\",\\"ZO0558605586, ZO0527805278\\",\\"0, 0\\",\\"11.992, 20.984\\",\\"11.992, 20.984\\",\\"0, 0\\",\\"ZO0558605586, ZO0527805278\\",\\"32.969\\",\\"32.969\\",2,2,order,youssef +zQMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories\\",\\"Women's Accessories\\",EUR,Sonya,Sonya,\\"Sonya Hopkins\\",\\"Sonya Hopkins\\",FEMALE,28,Hopkins,Hopkins,\\"(empty)\\",Tuesday,1,\\"sonya@hopkins-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",Pyramidustries,Pyramidustries,\\"Jun 24, 2019 @ 00:00:00.000\\",567081,\\"sold_product_567081_25066, sold_product_567081_13016\\",\\"sold_product_567081_25066, sold_product_567081_13016\\",\\"13.992, 24.984\\",\\"13.992, 24.984\\",\\"Women's Accessories, Women's Accessories\\",\\"Women's Accessories, Women's Accessories\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"7.41, 11.75\\",\\"13.992, 24.984\\",\\"25,066, 13,016\\",\\"Across body bag - red, Tote bag - cognac\\",\\"Across body bag - red, Tote bag - cognac\\",\\"1, 1\\",\\"ZO0209702097, ZO0186301863\\",\\"0, 0\\",\\"13.992, 24.984\\",\\"13.992, 24.984\\",\\"0, 0\\",\\"ZO0209702097, ZO0186301863\\",\\"38.969\\",\\"38.969\\",2,2,order,sonya +SgMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Irwin,Irwin,\\"Irwin Hayes\\",\\"Irwin Hayes\\",MALE,14,Hayes,Hayes,\\"(empty)\\",Tuesday,1,\\"irwin@hayes-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",Elitelligence,Elitelligence,\\"Jun 24, 2019 @ 00:00:00.000\\",567475,\\"sold_product_567475_21824, sold_product_567475_23277\\",\\"sold_product_567475_21824, sold_product_567475_23277\\",\\"20.984, 42\\",\\"20.984, 42\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"10.906, 20.578\\",\\"20.984, 42\\",\\"21,824, 23,277\\",\\"Jumper - black, Boots - black\\",\\"Jumper - black, Boots - black\\",\\"1, 1\\",\\"ZO0578805788, ZO0520405204\\",\\"0, 0\\",\\"20.984, 42\\",\\"20.984, 42\\",\\"0, 0\\",\\"ZO0578805788, ZO0520405204\\",\\"62.969\\",\\"62.969\\",2,2,order,irwin +SwMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Abigail,Abigail,\\"Abigail Adams\\",\\"Abigail Adams\\",FEMALE,46,Adams,Adams,\\"(empty)\\",Tuesday,1,\\"abigail@adams-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Tigress Enterprises, Angeldale\\",\\"Tigress Enterprises, Angeldale\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567631,\\"sold_product_567631_18119, sold_product_567631_5772\\",\\"sold_product_567631_18119, sold_product_567631_5772\\",\\"6.988, 65\\",\\"6.988, 65\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Angeldale\\",\\"Tigress Enterprises, Angeldale\\",\\"3.289, 33.781\\",\\"6.988, 65\\",\\"18,119, 5,772\\",\\"2 PACK - Socks - red/grey, Classic heels - nude\\",\\"2 PACK - Socks - red/grey, Classic heels - nude\\",\\"1, 1\\",\\"ZO0101101011, ZO0667406674\\",\\"0, 0\\",\\"6.988, 65\\",\\"6.988, 65\\",\\"0, 0\\",\\"ZO0101101011, ZO0667406674\\",72,72,2,2,order,abigail +oAMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Mary,Mary,\\"Mary Gilbert\\",\\"Mary Gilbert\\",FEMALE,20,Gilbert,Gilbert,\\"(empty)\\",Tuesday,1,\\"mary@gilbert-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567454,\\"sold_product_567454_22330, sold_product_567454_8083\\",\\"sold_product_567454_22330, sold_product_567454_8083\\",\\"11.992, 13.992\\",\\"11.992, 13.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"5.52, 7.691\\",\\"11.992, 13.992\\",\\"22,330, 8,083\\",\\"Long sleeved top - off white/navy, Long sleeved top - light blue\\",\\"Long sleeved top - off white/navy, Long sleeved top - light blue\\",\\"1, 1\\",\\"ZO0645406454, ZO0166001660\\",\\"0, 0\\",\\"11.992, 13.992\\",\\"11.992, 13.992\\",\\"0, 0\\",\\"ZO0645406454, ZO0166001660\\",\\"25.984\\",\\"25.984\\",2,2,order,mary +4wMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Sonya,Sonya,\\"Sonya Gilbert\\",\\"Sonya Gilbert\\",FEMALE,28,Gilbert,Gilbert,\\"(empty)\\",Tuesday,1,\\"sonya@gilbert-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567855,\\"sold_product_567855_12032, sold_product_567855_11434\\",\\"sold_product_567855_12032, sold_product_567855_11434\\",\\"21.984, 11.992\\",\\"21.984, 11.992\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"10.781, 6.23\\",\\"21.984, 11.992\\",\\"12,032, 11,434\\",\\"Jeggings - grey denim, Snood - black\\",\\"Jeggings - grey denim, Snood - black\\",\\"1, 1\\",\\"ZO0657106571, ZO0084800848\\",\\"0, 0\\",\\"21.984, 11.992\\",\\"21.984, 11.992\\",\\"0, 0\\",\\"ZO0657106571, ZO0084800848\\",\\"33.969\\",\\"33.969\\",2,2,order,sonya +UwMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Palmer\\",\\"Fitzgerald Palmer\\",MALE,11,Palmer,Palmer,\\"(empty)\\",Tuesday,1,\\"fitzgerald@palmer-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Elitelligence, (empty)\\",\\"Elitelligence, (empty)\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567835,\\"sold_product_567835_12431, sold_product_567835_12612\\",\\"sold_product_567835_12431, sold_product_567835_12612\\",\\"24.984, 165\\",\\"24.984, 165\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, (empty)\\",\\"Elitelligence, (empty)\\",\\"11.25, 89.063\\",\\"24.984, 165\\",\\"12,431, 12,612\\",\\"Hoodie - white, Boots - taupe\\",\\"Hoodie - white, Boots - taupe\\",\\"1, 1\\",\\"ZO0589405894, ZO0483304833\\",\\"0, 0\\",\\"24.984, 165\\",\\"24.984, 165\\",\\"0, 0\\",\\"ZO0589405894, ZO0483304833\\",190,190,2,2,order,fuzzy +VAMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Robert,Robert,\\"Robert Stewart\\",\\"Robert Stewart\\",MALE,29,Stewart,Stewart,\\"(empty)\\",Tuesday,1,\\"robert@stewart-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567889,\\"sold_product_567889_14775, sold_product_567889_15520\\",\\"sold_product_567889_14775, sold_product_567889_15520\\",\\"28.984, 42\\",\\"28.984, 42\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"14.211, 20.156\\",\\"28.984, 42\\",\\"14,775, 15,520\\",\\"Chinos - black, Smart lace-ups - black\\",\\"Chinos - black, Smart lace-ups - black\\",\\"1, 1\\",\\"ZO0282202822, ZO0393003930\\",\\"0, 0\\",\\"28.984, 42\\",\\"28.984, 42\\",\\"0, 0\\",\\"ZO0282202822, ZO0393003930\\",71,71,2,2,order,robert +dAMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Frances,Frances,\\"Frances Goodwin\\",\\"Frances Goodwin\\",FEMALE,49,Goodwin,Goodwin,\\"(empty)\\",Tuesday,1,\\"frances@goodwin-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566852,\\"sold_product_566852_1709, sold_product_566852_11513\\",\\"sold_product_566852_1709, sold_product_566852_11513\\",\\"65, 20.984\\",\\"65, 20.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"35.094, 10.078\\",\\"65, 20.984\\",\\"1,709, 11,513\\",\\"Boots - black, Tracksuit top - bordeaux multicolor\\",\\"Boots - black, Tracksuit top - bordeaux multicolor\\",\\"1, 1\\",\\"ZO0257002570, ZO0455404554\\",\\"0, 0\\",\\"65, 20.984\\",\\"65, 20.984\\",\\"0, 0\\",\\"ZO0257002570, ZO0455404554\\",86,86,2,2,order,frances +dQMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Mccarthy\\",\\"Rabbia Al Mccarthy\\",FEMALE,5,Mccarthy,Mccarthy,\\"(empty)\\",Tuesday,1,\\"rabbia al@mccarthy-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Pyramidustries, Low Tide Media\\",\\"Pyramidustries, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567037,\\"sold_product_567037_16060, sold_product_567037_11158\\",\\"sold_product_567037_16060, sold_product_567037_11158\\",\\"20.984, 42\\",\\"20.984, 42\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Low Tide Media\\",\\"Pyramidustries, Low Tide Media\\",\\"9.867, 22.672\\",\\"20.984, 42\\",\\"16,060, 11,158\\",\\"Clutch - gold, Classic heels - yellow\\",\\"Clutch - gold, Classic heels - yellow\\",\\"1, 1\\",\\"ZO0206402064, ZO0365903659\\",\\"0, 0\\",\\"20.984, 42\\",\\"20.984, 42\\",\\"0, 0\\",\\"ZO0206402064, ZO0365903659\\",\\"62.969\\",\\"62.969\\",2,2,order,rabbia +mAMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Harper\\",\\"Jackson Harper\\",MALE,13,Harper,Harper,\\"(empty)\\",Tuesday,1,\\"jackson@harper-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Low Tide Media, Elitelligence, (empty)\\",\\"Low Tide Media, Elitelligence, (empty)\\",\\"Jun 24, 2019 @ 00:00:00.000\\",721778,\\"sold_product_721778_1710, sold_product_721778_1718, sold_product_721778_12836, sold_product_721778_21677\\",\\"sold_product_721778_1710, sold_product_721778_1718, sold_product_721778_12836, sold_product_721778_21677\\",\\"65, 28.984, 165, 42\\",\\"65, 28.984, 165, 42\\",\\"Men's Shoes, Men's Shoes, Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Shoes, Men's Shoes, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Low Tide Media, Elitelligence, (empty), Elitelligence\\",\\"Low Tide Media, Elitelligence, (empty), Elitelligence\\",\\"35.094, 15.359, 80.875, 22.25\\",\\"65, 28.984, 165, 42\\",\\"1,710, 1,718, 12,836, 21,677\\",\\"Boots - cognac, Lace-up boots - black, Lace-ups - brown, Light jacket - black\\",\\"Boots - cognac, Lace-up boots - black, Lace-ups - brown, Light jacket - black\\",\\"1, 1, 1, 1\\",\\"ZO0400004000, ZO0519305193, ZO0482004820, ZO0540305403\\",\\"0, 0, 0, 0\\",\\"65, 28.984, 165, 42\\",\\"65, 28.984, 165, 42\\",\\"0, 0, 0, 0\\",\\"ZO0400004000, ZO0519305193, ZO0482004820, ZO0540305403\\",301,301,4,4,order,jackson +2QMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Eddie,Eddie,\\"Eddie Foster\\",\\"Eddie Foster\\",MALE,38,Foster,Foster,\\"(empty)\\",Tuesday,1,\\"eddie@foster-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567143,\\"sold_product_567143_11605, sold_product_567143_16593\\",\\"sold_product_567143_11605, sold_product_567143_16593\\",\\"24.984, 20.984\\",\\"24.984, 20.984\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"11.75, 9.453\\",\\"24.984, 20.984\\",\\"11,605, 16,593\\",\\"Jumper - navy/offwhite/black, Wallet - brown\\",\\"Jumper - navy/offwhite/black, Wallet - brown\\",\\"1, 1\\",\\"ZO0573005730, ZO0313203132\\",\\"0, 0\\",\\"24.984, 20.984\\",\\"24.984, 20.984\\",\\"0, 0\\",\\"ZO0573005730, ZO0313203132\\",\\"45.969\\",\\"45.969\\",2,2,order,eddie +2gMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Love\\",\\"Fitzgerald Love\\",MALE,11,Love,Love,\\"(empty)\\",Tuesday,1,\\"fitzgerald@love-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Microlutions, Low Tide Media\\",\\"Microlutions, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567191,\\"sold_product_567191_20587, sold_product_567191_16436\\",\\"sold_product_567191_20587, sold_product_567191_16436\\",\\"42, 13.992\\",\\"42, 13.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Low Tide Media\\",\\"Microlutions, Low Tide Media\\",\\"22.672, 6.578\\",\\"42, 13.992\\",\\"20,587, 16,436\\",\\"Slim fit jeans - black denim, Pyjama bottoms - blue\\",\\"Slim fit jeans - black denim, Pyjama bottoms - blue\\",\\"1, 1\\",\\"ZO0113901139, ZO0478904789\\",\\"0, 0\\",\\"42, 13.992\\",\\"42, 13.992\\",\\"0, 0\\",\\"ZO0113901139, ZO0478904789\\",\\"55.969\\",\\"55.969\\",2,2,order,fuzzy +IQMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Wagdi,Wagdi,\\"Wagdi Graves\\",\\"Wagdi Graves\\",MALE,15,Graves,Graves,\\"(empty)\\",Tuesday,1,\\"wagdi@graves-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",Elitelligence,Elitelligence,\\"Jun 24, 2019 @ 00:00:00.000\\",567135,\\"sold_product_567135_24487, sold_product_567135_13221\\",\\"sold_product_567135_24487, sold_product_567135_13221\\",\\"20.984, 7.988\\",\\"20.984, 7.988\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"10.906, 4.309\\",\\"20.984, 7.988\\",\\"24,487, 13,221\\",\\"Chinos - grey, Print T-shirt - white/dark blue\\",\\"Chinos - grey, Print T-shirt - white/dark blue\\",\\"1, 1\\",\\"ZO0528305283, ZO0549305493\\",\\"0, 0\\",\\"20.984, 7.988\\",\\"20.984, 7.988\\",\\"0, 0\\",\\"ZO0528305283, ZO0549305493\\",\\"28.984\\",\\"28.984\\",2,2,order,wagdi +UQMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Martin\\",\\"Elyssa Martin\\",FEMALE,27,Martin,Martin,\\"(empty)\\",Tuesday,1,\\"elyssa@martin-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Spherecords Curvy, Gnomehouse\\",\\"Tigress Enterprises, Spherecords Curvy, Gnomehouse\\",\\"Jun 24, 2019 @ 00:00:00.000\\",727730,\\"sold_product_727730_17183, sold_product_727730_23436, sold_product_727730_25006, sold_product_727730_19624\\",\\"sold_product_727730_17183, sold_product_727730_23436, sold_product_727730_25006, sold_product_727730_19624\\",\\"28.984, 14.992, 34, 50\\",\\"28.984, 14.992, 34, 50\\",\\"Women's Clothing, Women's Clothing, Women's Shoes, Women's Clothing\\",\\"Women's Clothing, Women's Clothing, Women's Shoes, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Tigress Enterprises, Spherecords Curvy, Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Spherecords Curvy, Tigress Enterprises, Gnomehouse\\",\\"13.922, 7.199, 17, 27.484\\",\\"28.984, 14.992, 34, 50\\",\\"17,183, 23,436, 25,006, 19,624\\",\\"Shift dress - black/gold, Blouse - grey, Boots - cognac, Dress - inca gold\\",\\"Shift dress - black/gold, Blouse - grey, Boots - cognac, Dress - inca gold\\",\\"1, 1, 1, 1\\",\\"ZO0050600506, ZO0710907109, ZO0023300233, ZO0334603346\\",\\"0, 0, 0, 0\\",\\"28.984, 14.992, 34, 50\\",\\"28.984, 14.992, 34, 50\\",\\"0, 0, 0, 0\\",\\"ZO0050600506, ZO0710907109, ZO0023300233, ZO0334603346\\",\\"127.938\\",\\"127.938\\",4,4,order,elyssa +ywMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Tariq,Tariq,\\"Tariq Jimenez\\",\\"Tariq Jimenez\\",MALE,25,Jimenez,Jimenez,\\"(empty)\\",Tuesday,1,\\"tariq@jimenez-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Microlutions, Low Tide Media\\",\\"Microlutions, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567939,\\"sold_product_567939_12984, sold_product_567939_3061\\",\\"sold_product_567939_12984, sold_product_567939_3061\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Low Tide Media\\",\\"Microlutions, Low Tide Media\\",\\"6.352, 12\\",\\"11.992, 24.984\\",\\"12,984, 3,061\\",\\"Scarf - black/grey, Jeans Skinny Fit - dark blue\\",\\"Scarf - black/grey, Jeans Skinny Fit - dark blue\\",\\"1, 1\\",\\"ZO0127201272, ZO0425504255\\",\\"0, 0\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"0, 0\\",\\"ZO0127201272, ZO0425504255\\",\\"36.969\\",\\"36.969\\",2,2,order,tariq +zAMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Irwin,Irwin,\\"Irwin Baker\\",\\"Irwin Baker\\",MALE,14,Baker,Baker,\\"(empty)\\",Tuesday,1,\\"irwin@baker-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567970,\\"sold_product_567970_23856, sold_product_567970_21614\\",\\"sold_product_567970_23856, sold_product_567970_21614\\",\\"11.992, 65\\",\\"11.992, 65\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"5.398, 31.844\\",\\"11.992, 65\\",\\"23,856, 21,614\\",\\"Polo shirt - dark grey multicolor, Casual lace-ups - taupe\\",\\"Polo shirt - dark grey multicolor, Casual lace-ups - taupe\\",\\"1, 1\\",\\"ZO0441504415, ZO0691606916\\",\\"0, 0\\",\\"11.992, 65\\",\\"11.992, 65\\",\\"0, 0\\",\\"ZO0441504415, ZO0691606916\\",77,77,2,2,order,irwin +HgMtOW0BH63Xcmy453AZ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Robbie,Robbie,\\"Robbie Garner\\",\\"Robbie Garner\\",MALE,48,Garner,Garner,\\"(empty)\\",Tuesday,1,\\"robbie@garner-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567301,\\"sold_product_567301_15025, sold_product_567301_24034\\",\\"sold_product_567301_15025, sold_product_567301_24034\\",\\"24.984, 10.992\\",\\"24.984, 10.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"12.992, 5.711\\",\\"24.984, 10.992\\",\\"15,025, 24,034\\",\\"Jumper - black, Print T-shirt - blue/dark blue\\",\\"Jumper - black, Print T-shirt - blue/dark blue\\",\\"1, 1\\",\\"ZO0577605776, ZO0438104381\\",\\"0, 0\\",\\"24.984, 10.992\\",\\"24.984, 10.992\\",\\"0, 0\\",\\"ZO0577605776, ZO0438104381\\",\\"35.969\\",\\"35.969\\",2,2,order,robbie +TgMtOW0BH63Xcmy453AZ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Yuri,Yuri,\\"Yuri Allison\\",\\"Yuri Allison\\",MALE,21,Allison,Allison,\\"(empty)\\",Tuesday,1,\\"yuri@allison-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566801,\\"sold_product_566801_10990, sold_product_566801_11992\\",\\"sold_product_566801_10990, sold_product_566801_11992\\",\\"25.984, 22.984\\",\\"25.984, 22.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"13.508, 10.813\\",\\"25.984, 22.984\\",\\"10,990, 11,992\\",\\"Shirt - aubergine, Jumper - grey multicolor\\",\\"Shirt - aubergine, Jumper - grey multicolor\\",\\"1, 1\\",\\"ZO0279702797, ZO0573705737\\",\\"0, 0\\",\\"25.984, 22.984\\",\\"25.984, 22.984\\",\\"0, 0\\",\\"ZO0279702797, ZO0573705737\\",\\"48.969\\",\\"48.969\\",2,2,order,yuri +WgMtOW0BH63Xcmy453AZ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Yuri,Yuri,\\"Yuri Goodwin\\",\\"Yuri Goodwin\\",MALE,21,Goodwin,Goodwin,\\"(empty)\\",Tuesday,1,\\"yuri@goodwin-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566685,\\"sold_product_566685_18957, sold_product_566685_20093\\",\\"sold_product_566685_18957, sold_product_566685_20093\\",\\"24.984, 20.984\\",\\"24.984, 20.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"11.75, 9.656\\",\\"24.984, 20.984\\",\\"18,957, 20,093\\",\\"Jumper - black, Tracksuit bottoms - mottled light grey\\",\\"Jumper - black, Tracksuit bottoms - mottled light grey\\",\\"1, 1\\",\\"ZO0296902969, ZO0530205302\\",\\"0, 0\\",\\"24.984, 20.984\\",\\"24.984, 20.984\\",\\"0, 0\\",\\"ZO0296902969, ZO0530205302\\",\\"45.969\\",\\"45.969\\",2,2,order,yuri +WwMtOW0BH63Xcmy453AZ,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Mary,Mary,\\"Mary Hansen\\",\\"Mary Hansen\\",FEMALE,20,Hansen,Hansen,\\"(empty)\\",Tuesday,1,\\"mary@hansen-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Angeldale, Pyramidustries\\",\\"Angeldale, Pyramidustries\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566924,\\"sold_product_566924_17824, sold_product_566924_24036\\",\\"sold_product_566924_17824, sold_product_566924_24036\\",\\"75, 13.992\\",\\"75, 13.992\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Pyramidustries\\",\\"Angeldale, Pyramidustries\\",\\"35.25, 6.301\\",\\"75, 13.992\\",\\"17,824, 24,036\\",\\"Ankle boots - light brown, Print T-shirt - light grey multicolor\\",\\"Ankle boots - light brown, Print T-shirt - light grey multicolor\\",\\"1, 1\\",\\"ZO0673606736, ZO0161801618\\",\\"0, 0\\",\\"75, 13.992\\",\\"75, 13.992\\",\\"0, 0\\",\\"ZO0673606736, ZO0161801618\\",89,89,2,2,order,mary +cQMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Lambert\\",\\"Fitzgerald Lambert\\",MALE,11,Lambert,Lambert,\\"(empty)\\",Tuesday,1,\\"fitzgerald@lambert-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Oceanavigations, Spritechnologies\\",\\"Oceanavigations, Spritechnologies\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567662,\\"sold_product_567662_24046, sold_product_567662_19131\\",\\"sold_product_567662_24046, sold_product_567662_19131\\",\\"11.992, 33\\",\\"11.992, 33\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Spritechnologies\\",\\"Oceanavigations, Spritechnologies\\",\\"5.762, 16.172\\",\\"11.992, 33\\",\\"24,046, 19,131\\",\\"Hat - black, Neutral running shoes - black/yellow\\",\\"Hat - black, Neutral running shoes - black/yellow\\",\\"1, 1\\",\\"ZO0308903089, ZO0614306143\\",\\"0, 0\\",\\"11.992, 33\\",\\"11.992, 33\\",\\"0, 0\\",\\"ZO0308903089, ZO0614306143\\",\\"44.969\\",\\"44.969\\",2,2,order,fuzzy +cgMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories\\",\\"Women's Accessories\\",EUR,Mary,Mary,\\"Mary Reese\\",\\"Mary Reese\\",FEMALE,20,Reese,Reese,\\"(empty)\\",Tuesday,1,\\"mary@reese-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Tigress Enterprises, Low Tide Media\\",\\"Tigress Enterprises, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567708,\\"sold_product_567708_21991, sold_product_567708_14420\\",\\"sold_product_567708_21991, sold_product_567708_14420\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"Women's Accessories, Women's Accessories\\",\\"Women's Accessories, Women's Accessories\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Low Tide Media\\",\\"Tigress Enterprises, Low Tide Media\\",\\"12.492, 19.313\\",\\"24.984, 42\\",\\"21,991, 14,420\\",\\"Rucksack - black, Across body bag - black\\",\\"Rucksack - black, Across body bag - black\\",\\"1, 1\\",\\"ZO0090500905, ZO0466204662\\",\\"0, 0\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"0, 0\\",\\"ZO0090500905, ZO0466204662\\",67,67,2,2,order,mary +yQMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Dennis\\",\\"Gwen Dennis\\",FEMALE,26,Dennis,Dennis,\\"(empty)\\",Tuesday,1,\\"gwen@dennis-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Pyramidustries, Gnomehouse\\",\\"Pyramidustries, Gnomehouse\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567573,\\"sold_product_567573_18097, sold_product_567573_23199\\",\\"sold_product_567573_18097, sold_product_567573_23199\\",\\"11.992, 42\\",\\"11.992, 42\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Gnomehouse\\",\\"Pyramidustries, Gnomehouse\\",\\"5.879, 20.156\\",\\"11.992, 42\\",\\"18,097, 23,199\\",\\"7 PACK - Socks - multicoloured, Dress - navy blazer\\",\\"7 PACK - Socks - multicoloured, Dress - navy blazer\\",\\"1, 1\\",\\"ZO0215602156, ZO0336803368\\",\\"0, 0\\",\\"11.992, 42\\",\\"11.992, 42\\",\\"0, 0\\",\\"ZO0215602156, ZO0336803368\\",\\"53.969\\",\\"53.969\\",2,2,order,gwen +AQMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Banks\\",\\"Jackson Banks\\",MALE,13,Banks,Banks,\\"(empty)\\",Tuesday,1,\\"jackson@banks-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Angeldale, Elitelligence, Low Tide Media\\",\\"Angeldale, Elitelligence, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",717603,\\"sold_product_717603_12011, sold_product_717603_6533, sold_product_717603_6991, sold_product_717603_6182\\",\\"sold_product_717603_12011, sold_product_717603_6533, sold_product_717603_6991, sold_product_717603_6182\\",\\"55, 28.984, 38, 10.992\\",\\"55, 28.984, 38, 10.992\\",\\"Men's Shoes, Men's Clothing, Men's Clothing, Men's Clothing\\",\\"Men's Shoes, Men's Clothing, Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Angeldale, Elitelligence, Low Tide Media, Elitelligence\\",\\"Angeldale, Elitelligence, Low Tide Media, Elitelligence\\",\\"28.047, 13.344, 20.125, 5.82\\",\\"55, 28.984, 38, 10.992\\",\\"12,011, 6,533, 6,991, 6,182\\",\\"Slip-ons - black, Sweatshirt - black/white/mottled grey, Jumper - dark blue, Print T-shirt - white\\",\\"Slip-ons - black, Sweatshirt - black/white/mottled grey, Jumper - dark blue, Print T-shirt - white\\",\\"1, 1, 1, 1\\",\\"ZO0685306853, ZO0585305853, ZO0450504505, ZO0552405524\\",\\"0, 0, 0, 0\\",\\"55, 28.984, 38, 10.992\\",\\"55, 28.984, 38, 10.992\\",\\"0, 0, 0, 0\\",\\"ZO0685306853, ZO0585305853, ZO0450504505, ZO0552405524\\",133,133,4,4,order,jackson +HQMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Padilla\\",\\"Wilhemina St. Padilla\\",FEMALE,17,Padilla,Padilla,\\"(empty)\\",Tuesday,1,\\"wilhemina st.@padilla-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Primemaster, Tigress Enterprises\\",\\"Primemaster, Tigress Enterprises\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566986,\\"sold_product_566986_11438, sold_product_566986_5014\\",\\"sold_product_566986_11438, sold_product_566986_5014\\",\\"75, 33\\",\\"75, 33\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Primemaster, Tigress Enterprises\\",\\"Primemaster, Tigress Enterprises\\",\\"39.75, 15.18\\",\\"75, 33\\",\\"11,438, 5,014\\",\\"High heeled sandals - Midnight Blue, Boots - cognac\\",\\"High heeled sandals - Midnight Blue, Boots - cognac\\",\\"1, 1\\",\\"ZO0360903609, ZO0030100301\\",\\"0, 0\\",\\"75, 33\\",\\"75, 33\\",\\"0, 0\\",\\"ZO0360903609, ZO0030100301\\",108,108,2,2,order,wilhemina +HgMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Clarice,Clarice,\\"Clarice Rice\\",\\"Clarice Rice\\",FEMALE,18,Rice,Rice,\\"(empty)\\",Tuesday,1,\\"clarice@rice-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566735,\\"sold_product_566735_24785, sold_product_566735_19239\\",\\"sold_product_566735_24785, sold_product_566735_19239\\",\\"16.984, 24.984\\",\\"16.984, 24.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"9.172, 12.992\\",\\"16.984, 24.984\\",\\"24,785, 19,239\\",\\"Tracksuit bottoms - dark grey multicolor, Long sleeved top - black\\",\\"Tracksuit bottoms - dark grey multicolor, Long sleeved top - black\\",\\"1, 1\\",\\"ZO0632406324, ZO0060300603\\",\\"0, 0\\",\\"16.984, 24.984\\",\\"16.984, 24.984\\",\\"0, 0\\",\\"ZO0632406324, ZO0060300603\\",\\"41.969\\",\\"41.969\\",2,2,order,clarice +HwMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Mostafa,Mostafa,\\"Mostafa Conner\\",\\"Mostafa Conner\\",MALE,9,Conner,Conner,\\"(empty)\\",Tuesday,1,\\"mostafa@conner-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567082,\\"sold_product_567082_18373, sold_product_567082_15037\\",\\"sold_product_567082_18373, sold_product_567082_15037\\",\\"24.984, 24.984\\",\\"24.984, 24.984\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"13.492, 12.992\\",\\"24.984, 24.984\\",\\"18,373, 15,037\\",\\"Shirt - grey, Trainers - dusty blue\\",\\"Shirt - grey, Trainers - dusty blue\\",\\"1, 1\\",\\"ZO0278802788, ZO0515605156\\",\\"0, 0\\",\\"24.984, 24.984\\",\\"24.984, 24.984\\",\\"0, 0\\",\\"ZO0278802788, ZO0515605156\\",\\"49.969\\",\\"49.969\\",2,2,order,mostafa +IAMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Irwin,Irwin,\\"Irwin Potter\\",\\"Irwin Potter\\",MALE,14,Potter,Potter,\\"(empty)\\",Tuesday,1,\\"irwin@potter-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566881,\\"sold_product_566881_16129, sold_product_566881_19224\\",\\"sold_product_566881_16129, sold_product_566881_19224\\",\\"24.984, 14.992\\",\\"24.984, 14.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"12.492, 8.094\\",\\"24.984, 14.992\\",\\"16,129, 19,224\\",\\"Trousers - navy, Long sleeved top - white/blue/red\\",\\"Trousers - navy, Long sleeved top - white/blue/red\\",\\"1, 1\\",\\"ZO0419604196, ZO0559705597\\",\\"0, 0\\",\\"24.984, 14.992\\",\\"24.984, 14.992\\",\\"0, 0\\",\\"ZO0419604196, ZO0559705597\\",\\"39.969\\",\\"39.969\\",2,2,order,irwin +YwMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Mary,Mary,\\"Mary Reese\\",\\"Mary Reese\\",FEMALE,20,Reese,Reese,\\"(empty)\\",Tuesday,1,\\"mary@reese-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Angeldale, Spherecords\\",\\"Angeldale, Spherecords\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566790,\\"sold_product_566790_18851, sold_product_566790_22361\\",\\"sold_product_566790_18851, sold_product_566790_22361\\",\\"65, 10.992\\",\\"65, 10.992\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Spherecords\\",\\"Angeldale, Spherecords\\",\\"31.844, 4.949\\",\\"65, 10.992\\",\\"18,851, 22,361\\",\\"Tote bag - black, Long sleeved top - black\\",\\"Tote bag - black, Long sleeved top - black\\",\\"1, 1\\",\\"ZO0699206992, ZO0641306413\\",\\"0, 0\\",\\"65, 10.992\\",\\"65, 10.992\\",\\"0, 0\\",\\"ZO0699206992, ZO0641306413\\",76,76,2,2,order,mary +bwMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Eddie,Eddie,\\"Eddie Gomez\\",\\"Eddie Gomez\\",MALE,38,Gomez,Gomez,\\"(empty)\\",Tuesday,1,\\"eddie@gomez-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566706,\\"sold_product_566706_1717, sold_product_566706_17829\\",\\"sold_product_566706_1717, sold_product_566706_17829\\",\\"46, 10.992\\",\\"46, 10.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"23.453, 5.602\\",\\"46, 10.992\\",\\"1,717, 17,829\\",\\"Boots - grey, 3 PACK - Socks - khaki/grey\\",\\"Boots - grey, 3 PACK - Socks - khaki/grey\\",\\"1, 1\\",\\"ZO0521505215, ZO0130501305\\",\\"0, 0\\",\\"46, 10.992\\",\\"46, 10.992\\",\\"0, 0\\",\\"ZO0521505215, ZO0130501305\\",\\"56.969\\",\\"56.969\\",2,2,order,eddie +cAMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Phil,Phil,\\"Phil Boone\\",\\"Phil Boone\\",MALE,50,Boone,Boone,\\"(empty)\\",Tuesday,1,\\"phil@boone-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566935,\\"sold_product_566935_7024, sold_product_566935_20507\\",\\"sold_product_566935_7024, sold_product_566935_20507\\",\\"16.984, 28.984\\",\\"16.984, 28.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"9, 15.938\\",\\"16.984, 28.984\\",\\"7,024, 20,507\\",\\"3 PACK - Basic T-shirt - white/black/grey, Jumper - dark green\\",\\"3 PACK - Basic T-shirt - white/black/grey, Jumper - dark green\\",\\"1, 1\\",\\"ZO0473704737, ZO0121501215\\",\\"0, 0\\",\\"16.984, 28.984\\",\\"16.984, 28.984\\",\\"0, 0\\",\\"ZO0473704737, ZO0121501215\\",\\"45.969\\",\\"45.969\\",2,2,order,phil +cQMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Selena,Selena,\\"Selena Burton\\",\\"Selena Burton\\",FEMALE,42,Burton,Burton,\\"(empty)\\",Tuesday,1,\\"selena@burton-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Tigress Enterprises, Champion Arts\\",\\"Tigress Enterprises, Champion Arts\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566985,\\"sold_product_566985_18522, sold_product_566985_22213\\",\\"sold_product_566985_18522, sold_product_566985_22213\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Champion Arts\\",\\"Tigress Enterprises, Champion Arts\\",\\"25.484, 12.742\\",\\"50, 24.984\\",\\"18,522, 22,213\\",\\"Cocktail dress / Party dress - taupe, Sweatshirt - blue\\",\\"Cocktail dress / Party dress - taupe, Sweatshirt - blue\\",\\"1, 1\\",\\"ZO0044700447, ZO0502105021\\",\\"0, 0\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"0, 0\\",\\"ZO0044700447, ZO0502105021\\",75,75,2,2,order,selena +cgMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Eddie,Eddie,\\"Eddie Clayton\\",\\"Eddie Clayton\\",MALE,38,Clayton,Clayton,\\"(empty)\\",Tuesday,1,\\"eddie@clayton-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"Jun 24, 2019 @ 00:00:00.000\\",566729,\\"sold_product_566729_23918, sold_product_566729_11251\\",\\"sold_product_566729_23918, sold_product_566729_11251\\",\\"7.988, 28.984\\",\\"7.988, 28.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"4.148, 13.633\\",\\"7.988, 28.984\\",\\"23,918, 11,251\\",\\"Print T-shirt - red, Shirt - red/black\\",\\"Print T-shirt - red, Shirt - red/black\\",\\"1, 1\\",\\"ZO0557305573, ZO0110401104\\",\\"0, 0\\",\\"7.988, 28.984\\",\\"7.988, 28.984\\",\\"0, 0\\",\\"ZO0557305573, ZO0110401104\\",\\"36.969\\",\\"36.969\\",2,2,order,eddie +cwMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Gwen,Gwen,\\"Gwen Weber\\",\\"Gwen Weber\\",FEMALE,26,Weber,Weber,\\"(empty)\\",Tuesday,1,\\"gwen@weber-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567095,\\"sold_product_567095_18015, sold_product_567095_16489\\",\\"sold_product_567095_18015, sold_product_567095_16489\\",\\"60, 16.984\\",\\"60, 16.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"30, 7.82\\",\\"60, 16.984\\",\\"18,015, 16,489\\",\\"Summer dress - blue fog, Clutch - red \\",\\"Summer dress - blue fog, Clutch - red \\",\\"1, 1\\",\\"ZO0339803398, ZO0098200982\\",\\"0, 0\\",\\"60, 16.984\\",\\"60, 16.984\\",\\"0, 0\\",\\"ZO0339803398, ZO0098200982\\",77,77,2,2,order,gwen +igMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Shaw\\",\\"Elyssa Shaw\\",FEMALE,27,Shaw,Shaw,\\"(empty)\\",Tuesday,1,\\"elyssa@shaw-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Champion Arts, Spherecords, Gnomehouse, Angeldale\\",\\"Champion Arts, Spherecords, Gnomehouse, Angeldale\\",\\"Jun 24, 2019 @ 00:00:00.000\\",724326,\\"sold_product_724326_10916, sold_product_724326_19683, sold_product_724326_24375, sold_product_724326_22263\\",\\"sold_product_724326_10916, sold_product_724326_19683, sold_product_724326_24375, sold_product_724326_22263\\",\\"20.984, 10.992, 42, 75\\",\\"20.984, 10.992, 42, 75\\",\\"Women's Clothing, Women's Clothing, Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Clothing, Women's Clothing, Women's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Champion Arts, Spherecords, Gnomehouse, Angeldale\\",\\"Champion Arts, Spherecords, Gnomehouse, Angeldale\\",\\"10.906, 5.82, 22.672, 35.25\\",\\"20.984, 10.992, 42, 75\\",\\"10,916, 19,683, 24,375, 22,263\\",\\"Sweatshirt - black, 2 PACK - Vest - black/white, Summer dress - soft pink, Platform boots - black\\",\\"Sweatshirt - black, 2 PACK - Vest - black/white, Summer dress - soft pink, Platform boots - black\\",\\"1, 1, 1, 1\\",\\"ZO0499404994, ZO0641606416, ZO0334303343, ZO0676706767\\",\\"0, 0, 0, 0\\",\\"20.984, 10.992, 42, 75\\",\\"20.984, 10.992, 42, 75\\",\\"0, 0, 0, 0\\",\\"ZO0499404994, ZO0641606416, ZO0334303343, ZO0676706767\\",149,149,4,4,order,elyssa +DAMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,\\"Ahmed Al\\",\\"Ahmed Al\\",\\"Ahmed Al Cunningham\\",\\"Ahmed Al Cunningham\\",MALE,4,Cunningham,Cunningham,\\"(empty)\\",Tuesday,1,\\"ahmed al@cunningham-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",Elitelligence,Elitelligence,\\"Jun 24, 2019 @ 00:00:00.000\\",567806,\\"sold_product_567806_17139, sold_product_567806_14215\\",\\"sold_product_567806_17139, sold_product_567806_14215\\",\\"20.984, 11.992\\",\\"20.984, 11.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"11.328, 5.641\\",\\"20.984, 11.992\\",\\"17,139, 14,215\\",\\"Trainers - grey, Print T-shirt - black\\",\\"Trainers - grey, Print T-shirt - black\\",\\"1, 1\\",\\"ZO0517705177, ZO0569305693\\",\\"0, 0\\",\\"20.984, 11.992\\",\\"20.984, 11.992\\",\\"0, 0\\",\\"ZO0517705177, ZO0569305693\\",\\"32.969\\",\\"32.969\\",2,2,order,ahmed +fAMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Clarice,Clarice,\\"Clarice Walters\\",\\"Clarice Walters\\",FEMALE,18,Walters,Walters,\\"(empty)\\",Tuesday,1,\\"clarice@walters-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Champion Arts, Oceanavigations\\",\\"Champion Arts, Oceanavigations\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567973,\\"sold_product_567973_24178, sold_product_567973_13294\\",\\"sold_product_567973_24178, sold_product_567973_13294\\",\\"11.992, 65\\",\\"11.992, 65\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Oceanavigations\\",\\"Champion Arts, Oceanavigations\\",\\"5.762, 34.438\\",\\"11.992, 65\\",\\"24,178, 13,294\\",\\"Print T-shirt - white, Tote bag - Blue Violety\\",\\"Print T-shirt - white, Tote bag - Blue Violety\\",\\"1, 1\\",\\"ZO0495104951, ZO0305903059\\",\\"0, 0\\",\\"11.992, 65\\",\\"11.992, 65\\",\\"0, 0\\",\\"ZO0495104951, ZO0305903059\\",77,77,2,2,order,clarice +qQMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Harper\\",\\"Rabbia Al Harper\\",FEMALE,5,Harper,Harper,\\"(empty)\\",Tuesday,1,\\"rabbia al@harper-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Angeldale, Pyramidustries active\\",\\"Angeldale, Pyramidustries active\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567341,\\"sold_product_567341_5526, sold_product_567341_18975\\",\\"sold_product_567341_5526, sold_product_567341_18975\\",\\"90, 17.984\\",\\"90, 17.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Pyramidustries active\\",\\"Angeldale, Pyramidustries active\\",\\"47.688, 8.992\\",\\"90, 17.984\\",\\"5,526, 18,975\\",\\"Boots - black, Long sleeved top - black\\",\\"Boots - black, Long sleeved top - black\\",\\"1, 1\\",\\"ZO0674506745, ZO0219202192\\",\\"0, 0\\",\\"90, 17.984\\",\\"90, 17.984\\",\\"0, 0\\",\\"ZO0674506745, ZO0219202192\\",108,108,2,2,order,rabbia +tQMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Kamal,Kamal,\\"Kamal Shaw\\",\\"Kamal Shaw\\",MALE,39,Shaw,Shaw,\\"(empty)\\",Tuesday,1,\\"kamal@shaw-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567492,\\"sold_product_567492_14648, sold_product_567492_12310\\",\\"sold_product_567492_14648, sold_product_567492_12310\\",\\"13.992, 17.984\\",\\"13.992, 17.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"6.719, 9.352\\",\\"13.992, 17.984\\",\\"14,648, 12,310\\",\\"Tie - dark grey, Polo shirt - grey\\",\\"Tie - dark grey, Polo shirt - grey\\",\\"1, 1\\",\\"ZO0277302773, ZO0443004430\\",\\"0, 0\\",\\"13.992, 17.984\\",\\"13.992, 17.984\\",\\"0, 0\\",\\"ZO0277302773, ZO0443004430\\",\\"31.984\\",\\"31.984\\",2,2,order,kamal +tgMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Irwin,Irwin,\\"Irwin Jenkins\\",\\"Irwin Jenkins\\",MALE,14,Jenkins,Jenkins,\\"(empty)\\",Tuesday,1,\\"irwin@jenkins-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Microlutions, Low Tide Media\\",\\"Microlutions, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567654,\\"sold_product_567654_22409, sold_product_567654_1312\\",\\"sold_product_567654_22409, sold_product_567654_1312\\",\\"11.992, 50\\",\\"11.992, 50\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Low Tide Media\\",\\"Microlutions, Low Tide Media\\",\\"5.762, 24\\",\\"11.992, 50\\",\\"22,409, 1,312\\",\\"Basic T-shirt - Dark Salmon, Lace-up boots - black\\",\\"Basic T-shirt - Dark Salmon, Lace-up boots - black\\",\\"1, 1\\",\\"ZO0121301213, ZO0399403994\\",\\"0, 0\\",\\"11.992, 50\\",\\"11.992, 50\\",\\"0, 0\\",\\"ZO0121301213, ZO0399403994\\",\\"61.969\\",\\"61.969\\",2,2,order,irwin +uAMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Betty,Betty,\\"Betty Rivera\\",\\"Betty Rivera\\",FEMALE,44,Rivera,Rivera,\\"(empty)\\",Tuesday,1,\\"betty@rivera-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries, Oceanavigations\\",\\"Pyramidustries, Oceanavigations\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567403,\\"sold_product_567403_20386, sold_product_567403_23991\\",\\"sold_product_567403_20386, sold_product_567403_23991\\",\\"60, 42\\",\\"60, 42\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Oceanavigations\\",\\"Pyramidustries, Oceanavigations\\",\\"30, 19.313\\",\\"60, 42\\",\\"20,386, 23,991\\",\\"Over-the-knee boots - cognac, Trousers - black\\",\\"Over-the-knee boots - cognac, Trousers - black\\",\\"1, 1\\",\\"ZO0138601386, ZO0259202592\\",\\"0, 0\\",\\"60, 42\\",\\"60, 42\\",\\"0, 0\\",\\"ZO0138601386, ZO0259202592\\",102,102,2,2,order,betty +DgMtOW0BH63Xcmy46HPV,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Mary,Mary,\\"Mary Hampton\\",\\"Mary Hampton\\",FEMALE,20,Hampton,Hampton,\\"(empty)\\",Tuesday,1,\\"mary@hampton-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Tigress Enterprises, Microlutions\\",\\"Tigress Enterprises, Microlutions\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567207,\\"sold_product_567207_17489, sold_product_567207_14916\\",\\"sold_product_567207_17489, sold_product_567207_14916\\",\\"24.984, 60\\",\\"24.984, 60\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Microlutions\\",\\"Tigress Enterprises, Microlutions\\",\\"12, 28.203\\",\\"24.984, 60\\",\\"17,489, 14,916\\",\\"Denim skirt - dark blue denim, Bomber Jacket - black\\",\\"Denim skirt - dark blue denim, Bomber Jacket - black\\",\\"1, 1\\",\\"ZO0033600336, ZO0109401094\\",\\"0, 0\\",\\"24.984, 60\\",\\"24.984, 60\\",\\"0, 0\\",\\"ZO0033600336, ZO0109401094\\",85,85,2,2,order,mary +DwMtOW0BH63Xcmy46HPV,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Men's Clothing\\",\\"Women's Accessories, Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Hopkins\\",\\"Jackson Hopkins\\",MALE,13,Hopkins,Hopkins,\\"(empty)\\",Tuesday,1,\\"jackson@hopkins-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567356,\\"sold_product_567356_13525, sold_product_567356_11169\\",\\"sold_product_567356_13525, sold_product_567356_11169\\",\\"50, 10.992\\",\\"50, 10.992\\",\\"Women's Accessories, Men's Clothing\\",\\"Women's Accessories, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"24.5, 5.602\\",\\"50, 10.992\\",\\"13,525, 11,169\\",\\"Weekend bag - sand, Tie - grey\\",\\"Weekend bag - sand, Tie - grey\\",\\"1, 1\\",\\"ZO0319503195, ZO0409904099\\",\\"0, 0\\",\\"50, 10.992\\",\\"50, 10.992\\",\\"0, 0\\",\\"ZO0319503195, ZO0409904099\\",\\"60.969\\",\\"60.969\\",2,2,order,jackson +0wMtOW0BH63Xcmy432DJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Oliver,Oliver,\\"Oliver Rios\\",\\"Oliver Rios\\",MALE,7,Rios,Rios,\\"(empty)\\",Monday,0,\\"oliver@rios-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565855,\\"sold_product_565855_19919, sold_product_565855_24502\\",\\"sold_product_565855_19919, sold_product_565855_24502\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"9.867, 12.492\\",\\"20.984, 24.984\\",\\"19,919, 24,502\\",\\"Shirt - dark blue white, Slim fit jeans - raw blue\\",\\"Shirt - dark blue white, Slim fit jeans - raw blue\\",\\"1, 1\\",\\"ZO0417504175, ZO0535205352\\",\\"0, 0\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"0, 0\\",\\"ZO0417504175, ZO0535205352\\",\\"45.969\\",\\"45.969\\",2,2,order,oliver +NgMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Ball\\",\\"Sultan Al Ball\\",MALE,19,Ball,Ball,\\"(empty)\\",Monday,0,\\"sultan al@ball-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",Elitelligence,Elitelligence,\\"Jun 23, 2019 @ 00:00:00.000\\",565915,\\"sold_product_565915_13822, sold_product_565915_13150\\",\\"sold_product_565915_13822, sold_product_565915_13150\\",\\"42, 16.984\\",\\"42, 16.984\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"21, 9\\",\\"42, 16.984\\",\\"13,822, 13,150\\",\\"High-top trainers - black, High-top trainers - brown\\",\\"High-top trainers - black, High-top trainers - brown\\",\\"1, 1\\",\\"ZO0515005150, ZO0509805098\\",\\"0, 0\\",\\"42, 16.984\\",\\"42, 16.984\\",\\"0, 0\\",\\"ZO0515005150, ZO0509805098\\",\\"58.969\\",\\"58.969\\",2,2,order,sultan +SAMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Dixon\\",\\"Elyssa Dixon\\",FEMALE,27,Dixon,Dixon,\\"(empty)\\",Monday,0,\\"elyssa@dixon-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566343,\\"sold_product_566343_16050, sold_product_566343_14327\\",\\"sold_product_566343_16050, sold_product_566343_14327\\",\\"28.984, 42\\",\\"28.984, 42\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"14.781, 22.25\\",\\"28.984, 42\\",\\"16,050, 14,327\\",\\"Winter jacket - black, Summer dress - black/Chocolate\\",\\"Winter jacket - black, Summer dress - black/Chocolate\\",\\"1, 1\\",\\"ZO0185101851, ZO0052800528\\",\\"0, 0\\",\\"28.984, 42\\",\\"28.984, 42\\",\\"0, 0\\",\\"ZO0185101851, ZO0052800528\\",71,71,2,2,order,elyssa +SQMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,Gwen,Gwen,\\"Gwen Ball\\",\\"Gwen Ball\\",FEMALE,26,Ball,Ball,\\"(empty)\\",Monday,0,\\"gwen@ball-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566400,\\"sold_product_566400_18643, sold_product_566400_24426\\",\\"sold_product_566400_18643, sold_product_566400_24426\\",\\"20.984, 28.984\\",\\"20.984, 28.984\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"9.867, 13.633\\",\\"20.984, 28.984\\",\\"18,643, 24,426\\",\\"Handbag - Blue Violety, Slip-ons - nude\\",\\"Handbag - Blue Violety, Slip-ons - nude\\",\\"1, 1\\",\\"ZO0204702047, ZO0009600096\\",\\"0, 0\\",\\"20.984, 28.984\\",\\"20.984, 28.984\\",\\"0, 0\\",\\"ZO0204702047, ZO0009600096\\",\\"49.969\\",\\"49.969\\",2,2,order,gwen +aAMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Palmer\\",\\"Gwen Palmer\\",FEMALE,26,Palmer,Palmer,\\"(empty)\\",Monday,0,\\"gwen@palmer-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,Gnomehouse,Gnomehouse,\\"Jun 23, 2019 @ 00:00:00.000\\",565776,\\"sold_product_565776_23882, sold_product_565776_8692\\",\\"sold_product_565776_23882, sold_product_565776_8692\\",\\"33, 29.984\\",\\"33, 29.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Gnomehouse\\",\\"Gnomehouse, Gnomehouse\\",\\"16.813, 13.797\\",\\"33, 29.984\\",\\"23,882, 8,692\\",\\"Long sleeved top - chinese red, Blouse - blue fog\\",\\"Long sleeved top - chinese red, Blouse - blue fog\\",\\"1, 1\\",\\"ZO0343103431, ZO0345803458\\",\\"0, 0\\",\\"33, 29.984\\",\\"33, 29.984\\",\\"0, 0\\",\\"ZO0343103431, ZO0345803458\\",\\"62.969\\",\\"62.969\\",2,2,order,gwen +bgMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Yuri,Yuri,\\"Yuri Greer\\",\\"Yuri Greer\\",MALE,21,Greer,Greer,\\"(empty)\\",Monday,0,\\"yuri@greer-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",Elitelligence,Elitelligence,\\"Jun 23, 2019 @ 00:00:00.000\\",566607,\\"sold_product_566607_3014, sold_product_566607_18884\\",\\"sold_product_566607_3014, sold_product_566607_18884\\",\\"20.984, 20.984\\",\\"20.984, 20.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"10.492, 9.656\\",\\"20.984, 20.984\\",\\"3,014, 18,884\\",\\"Cardigan - grey multicolor, Sweatshirt - black /white\\",\\"Cardigan - grey multicolor, Sweatshirt - black /white\\",\\"1, 1\\",\\"ZO0572205722, ZO0585205852\\",\\"0, 0\\",\\"20.984, 20.984\\",\\"20.984, 20.984\\",\\"0, 0\\",\\"ZO0572205722, ZO0585205852\\",\\"41.969\\",\\"41.969\\",2,2,order,yuri +jgMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Cortez\\",\\"Elyssa Cortez\\",FEMALE,27,Cortez,Cortez,\\"(empty)\\",Monday,0,\\"elyssa@cortez-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries, Spherecords\\",\\"Pyramidustries, Spherecords\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565452,\\"sold_product_565452_22934, sold_product_565452_13388\\",\\"sold_product_565452_22934, sold_product_565452_13388\\",\\"42, 14.992\\",\\"42, 14.992\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Spherecords\\",\\"Pyramidustries, Spherecords\\",\\"22.25, 7.352\\",\\"42, 14.992\\",\\"22,934, 13,388\\",\\"High heels - black, 2 PACK - Vest - white/dark blue/dark blue\\",\\"High heels - black, 2 PACK - Vest - white/dark blue/dark blue\\",\\"1, 1\\",\\"ZO0133601336, ZO0643906439\\",\\"0, 0\\",\\"42, 14.992\\",\\"42, 14.992\\",\\"0, 0\\",\\"ZO0133601336, ZO0643906439\\",\\"56.969\\",\\"56.969\\",2,2,order,elyssa +kQMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Smith\\",\\"Abigail Smith\\",FEMALE,46,Smith,Smith,\\"(empty)\\",Monday,0,\\"abigail@smith-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566051,\\"sold_product_566051_16134, sold_product_566051_23328\\",\\"sold_product_566051_16134, sold_product_566051_23328\\",\\"24.984, 50\\",\\"24.984, 50\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations\\",\\"13.492, 26.484\\",\\"24.984, 50\\",\\"16,134, 23,328\\",\\"Cowboy/Biker boots - light grey, Blazer - black\\",\\"Cowboy/Biker boots - light grey, Blazer - black\\",\\"1, 1\\",\\"ZO0025600256, ZO0270202702\\",\\"0, 0\\",\\"24.984, 50\\",\\"24.984, 50\\",\\"0, 0\\",\\"ZO0025600256, ZO0270202702\\",75,75,2,2,order,abigail +qgMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Mccarthy\\",\\"Sultan Al Mccarthy\\",MALE,19,Mccarthy,Mccarthy,\\"(empty)\\",Monday,0,\\"sultan al@mccarthy-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565466,\\"sold_product_565466_10951, sold_product_565466_11989\\",\\"sold_product_565466_10951, sold_product_565466_11989\\",\\"42, 45\\",\\"42, 45\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"19.313, 24.734\\",\\"42, 45\\",\\"10,951, 11,989\\",\\"Summer jacket - navy, Light jacket - khaki\\",\\"Summer jacket - navy, Light jacket - khaki\\",\\"1, 1\\",\\"ZO0285402854, ZO0538605386\\",\\"0, 0\\",\\"42, 45\\",\\"42, 45\\",\\"0, 0\\",\\"ZO0285402854, ZO0538605386\\",87,87,2,2,order,sultan +9gMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Riley\\",\\"Mostafa Riley\\",MALE,9,Riley,Riley,\\"(empty)\\",Monday,0,\\"mostafa@riley-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566553,\\"sold_product_566553_18385, sold_product_566553_15343\\",\\"sold_product_566553_18385, sold_product_566553_15343\\",\\"7.988, 60\\",\\"7.988, 60\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"4.07, 32.375\\",\\"7.988, 60\\",\\"18,385, 15,343\\",\\"Basic T-shirt - dark grey multicolor, Parka - khaki\\",\\"Basic T-shirt - dark grey multicolor, Parka - khaki\\",\\"1, 1\\",\\"ZO0435004350, ZO0544005440\\",\\"0, 0\\",\\"7.988, 60\\",\\"7.988, 60\\",\\"0, 0\\",\\"ZO0435004350, ZO0544005440\\",68,68,2,2,order,mostafa +AQMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Yasmine,Yasmine,\\"Yasmine Wolfe\\",\\"Yasmine Wolfe\\",FEMALE,43,Wolfe,Wolfe,\\"(empty)\\",Monday,0,\\"yasmine@wolfe-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565446,\\"sold_product_565446_12090, sold_product_565446_12122\\",\\"sold_product_565446_12090, sold_product_565446_12122\\",\\"11.992, 29.984\\",\\"11.992, 29.984\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"5.641, 15.594\\",\\"11.992, 29.984\\",\\"12,090, 12,122\\",\\"Long sleeved top - black, Winter boots - black\\",\\"Long sleeved top - black, Winter boots - black\\",\\"1, 1\\",\\"ZO0643206432, ZO0140101401\\",\\"0, 0\\",\\"11.992, 29.984\\",\\"11.992, 29.984\\",\\"0, 0\\",\\"ZO0643206432, ZO0140101401\\",\\"41.969\\",\\"41.969\\",2,2,order,yasmine +MQMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Wagdi,Wagdi,\\"Wagdi Carpenter\\",\\"Wagdi Carpenter\\",MALE,15,Carpenter,Carpenter,\\"(empty)\\",Monday,0,\\"wagdi@carpenter-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",Oceanavigations,Oceanavigations,\\"Jun 23, 2019 @ 00:00:00.000\\",566053,\\"sold_product_566053_2650, sold_product_566053_21018\\",\\"sold_product_566053_2650, sold_product_566053_21018\\",\\"28.984, 20.984\\",\\"28.984, 20.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"13.344, 9.867\\",\\"28.984, 20.984\\",\\"2,650, 21,018\\",\\"Slim fit jeans - black, Jumper - charcoal\\",\\"Slim fit jeans - black, Jumper - charcoal\\",\\"1, 1\\",\\"ZO0284702847, ZO0299202992\\",\\"0, 0\\",\\"28.984, 20.984\\",\\"28.984, 20.984\\",\\"0, 0\\",\\"ZO0284702847, ZO0299202992\\",\\"49.969\\",\\"49.969\\",2,2,order,wagdi +UgMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Schultz\\",\\"Jackson Schultz\\",MALE,13,Schultz,Schultz,\\"(empty)\\",Monday,0,\\"jackson@schultz-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565605,\\"sold_product_565605_24934, sold_product_565605_22732\\",\\"sold_product_565605_24934, sold_product_565605_22732\\",\\"50, 33\\",\\"50, 33\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"22.5, 16.172\\",\\"50, 33\\",\\"24,934, 22,732\\",\\"Lace-up boots - resin coffee, Relaxed fit jeans - black denim\\",\\"Lace-up boots - resin coffee, Relaxed fit jeans - black denim\\",\\"1, 1\\",\\"ZO0403504035, ZO0113301133\\",\\"0, 0\\",\\"50, 33\\",\\"50, 33\\",\\"0, 0\\",\\"ZO0403504035, ZO0113301133\\",83,83,2,2,order,jackson +lAMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Abigail,Abigail,\\"Abigail Phelps\\",\\"Abigail Phelps\\",FEMALE,46,Phelps,Phelps,\\"(empty)\\",Monday,0,\\"abigail@phelps-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Gnomehouse, Karmanite\\",\\"Gnomehouse, Karmanite\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566170,\\"sold_product_566170_7278, sold_product_566170_5214\\",\\"sold_product_566170_7278, sold_product_566170_5214\\",\\"65, 85\\",\\"65, 85\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Karmanite\\",\\"Gnomehouse, Karmanite\\",\\"31.844, 43.344\\",\\"65, 85\\",\\"7,278, 5,214\\",\\"Boots - navy, Ankle boots - wood\\",\\"Boots - navy, Ankle boots - wood\\",\\"1, 1\\",\\"ZO0324803248, ZO0703907039\\",\\"0, 0\\",\\"65, 85\\",\\"65, 85\\",\\"0, 0\\",\\"ZO0324803248, ZO0703907039\\",150,150,2,2,order,abigail +lQMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Abd,Abd,\\"Abd Perkins\\",\\"Abd Perkins\\",MALE,52,Perkins,Perkins,\\"(empty)\\",Monday,0,\\"abd@perkins-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566187,\\"sold_product_566187_12028, sold_product_566187_21937\\",\\"sold_product_566187_12028, sold_product_566187_21937\\",\\"7.988, 24.984\\",\\"7.988, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"3.92, 12.742\\",\\"7.988, 24.984\\",\\"12,028, 21,937\\",\\"Vest - light blue multicolor, Sweatshirt - navy multicolor\\",\\"Vest - light blue multicolor, Sweatshirt - navy multicolor\\",\\"1, 1\\",\\"ZO0548905489, ZO0459404594\\",\\"0, 0\\",\\"7.988, 24.984\\",\\"7.988, 24.984\\",\\"0, 0\\",\\"ZO0548905489, ZO0459404594\\",\\"32.969\\",\\"32.969\\",2,2,order,abd +lgMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Frances,Frances,\\"Frances Love\\",\\"Frances Love\\",FEMALE,49,Love,Love,\\"(empty)\\",Monday,0,\\"frances@love-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566125,\\"sold_product_566125_14168, sold_product_566125_13612\\",\\"sold_product_566125_14168, sold_product_566125_13612\\",\\"100, 11.992\\",\\"100, 11.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"48, 6.469\\",\\"100, 11.992\\",\\"14,168, 13,612\\",\\"Classic coat - grey, Basic T-shirt - light red/white\\",\\"Classic coat - grey, Basic T-shirt - light red/white\\",\\"1, 1\\",\\"ZO0433104331, ZO0549505495\\",\\"0, 0\\",\\"100, 11.992\\",\\"100, 11.992\\",\\"0, 0\\",\\"ZO0433104331, ZO0549505495\\",112,112,2,2,order,frances +lwMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Butler\\",\\"Mostafa Butler\\",MALE,9,Butler,Butler,\\"(empty)\\",Monday,0,\\"mostafa@butler-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566156,\\"sold_product_566156_17644, sold_product_566156_17414\\",\\"sold_product_566156_17644, sold_product_566156_17414\\",\\"60, 16.984\\",\\"60, 16.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"29.406, 7.648\\",\\"60, 16.984\\",\\"17,644, 17,414\\",\\"Suit jacket - dark blue, Print T-shirt - black\\",\\"Suit jacket - dark blue, Print T-shirt - black\\",\\"1, 1\\",\\"ZO0424104241, ZO0117901179\\",\\"0, 0\\",\\"60, 16.984\\",\\"60, 16.984\\",\\"0, 0\\",\\"ZO0424104241, ZO0117901179\\",77,77,2,2,order,mostafa +mAMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Stephanie,Stephanie,\\"Stephanie Mckenzie\\",\\"Stephanie Mckenzie\\",FEMALE,6,Mckenzie,Mckenzie,\\"(empty)\\",Monday,0,\\"stephanie@mckenzie-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Tigress Enterprises, Angeldale\\",\\"Tigress Enterprises, Angeldale\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566100,\\"sold_product_566100_15198, sold_product_566100_22284\\",\\"sold_product_566100_15198, sold_product_566100_22284\\",\\"50, 65\\",\\"50, 65\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Angeldale\\",\\"Tigress Enterprises, Angeldale\\",\\"25.484, 31.203\\",\\"50, 65\\",\\"15,198, 22,284\\",\\"Boots - taupe, Classic heels - black\\",\\"Boots - taupe, Classic heels - black\\",\\"1, 1\\",\\"ZO0013400134, ZO0667306673\\",\\"0, 0\\",\\"50, 65\\",\\"50, 65\\",\\"0, 0\\",\\"ZO0013400134, ZO0667306673\\",115,115,2,2,order,stephanie +mQMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,George,George,\\"George Boone\\",\\"George Boone\\",MALE,32,Boone,Boone,\\"(empty)\\",Monday,0,\\"george@boone-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566280,\\"sold_product_566280_11862, sold_product_566280_11570\\",\\"sold_product_566280_11862, sold_product_566280_11570\\",\\"22.984, 16.984\\",\\"22.984, 16.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"11.492, 9.172\\",\\"22.984, 16.984\\",\\"11,862, 11,570\\",\\"Jumper - black, Print T-shirt - beige\\",\\"Jumper - black, Print T-shirt - beige\\",\\"1, 1\\",\\"ZO0573205732, ZO0116701167\\",\\"0, 0\\",\\"22.984, 16.984\\",\\"22.984, 16.984\\",\\"0, 0\\",\\"ZO0573205732, ZO0116701167\\",\\"39.969\\",\\"39.969\\",2,2,order,george +mgMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",EUR,Youssef,Youssef,\\"Youssef Alvarez\\",\\"Youssef Alvarez\\",MALE,31,Alvarez,Alvarez,\\"(empty)\\",Monday,0,\\"youssef@alvarez-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565708,\\"sold_product_565708_24246, sold_product_565708_11444\\",\\"sold_product_565708_24246, sold_product_565708_11444\\",\\"65, 24.984\\",\\"65, 24.984\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"33.781, 13.742\\",\\"65, 24.984\\",\\"24,246, 11,444\\",\\"Lace-up boots - black, Rucksack - black/cognac\\",\\"Lace-up boots - black, Rucksack - black/cognac\\",\\"1, 1\\",\\"ZO0253302533, ZO0605706057\\",\\"0, 0\\",\\"65, 24.984\\",\\"65, 24.984\\",\\"0, 0\\",\\"ZO0253302533, ZO0605706057\\",90,90,2,2,order,youssef +tgMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Thad,Thad,\\"Thad Taylor\\",\\"Thad Taylor\\",MALE,30,Taylor,Taylor,\\"(empty)\\",Monday,0,\\"thad@taylor-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Elitelligence,Elitelligence,\\"Jun 23, 2019 @ 00:00:00.000\\",565809,\\"sold_product_565809_18321, sold_product_565809_19707\\",\\"sold_product_565809_18321, sold_product_565809_19707\\",\\"12.992, 20.984\\",\\"12.992, 20.984\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"7.141, 10.289\\",\\"12.992, 20.984\\",\\"18,321, 19,707\\",\\"Vest - white/grey, Trainers - black\\",\\"Vest - white/grey, Trainers - black\\",\\"1, 1\\",\\"ZO0557905579, ZO0513705137\\",\\"0, 0\\",\\"12.992, 20.984\\",\\"12.992, 20.984\\",\\"0, 0\\",\\"ZO0557905579, ZO0513705137\\",\\"33.969\\",\\"33.969\\",2,2,order,thad +twMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Clarice,Clarice,\\"Clarice Daniels\\",\\"Clarice Daniels\\",FEMALE,18,Daniels,Daniels,\\"(empty)\\",Monday,0,\\"clarice@daniels-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Pyramidustries active, Angeldale\\",\\"Pyramidustries active, Angeldale\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566256,\\"sold_product_566256_9787, sold_product_566256_18737\\",\\"sold_product_566256_9787, sold_product_566256_18737\\",\\"24.984, 65\\",\\"24.984, 65\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries active, Angeldale\\",\\"Pyramidustries active, Angeldale\\",\\"12.992, 31.844\\",\\"24.984, 65\\",\\"9,787, 18,737\\",\\"Sweatshirt - duffle bag, Lace-ups - black\\",\\"Sweatshirt - duffle bag, Lace-ups - black\\",\\"1, 1\\",\\"ZO0227302273, ZO0668706687\\",\\"0, 0\\",\\"24.984, 65\\",\\"24.984, 65\\",\\"0, 0\\",\\"ZO0227302273, ZO0668706687\\",90,90,2,2,order,clarice +GgMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories\\",\\"Women's Accessories\\",EUR,Elyssa,Elyssa,\\"Elyssa Chapman\\",\\"Elyssa Chapman\\",FEMALE,27,Chapman,Chapman,\\"(empty)\\",Monday,0,\\"elyssa@chapman-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565639,\\"sold_product_565639_15334, sold_product_565639_18810\\",\\"sold_product_565639_15334, sold_product_565639_18810\\",\\"11.992, 13.992\\",\\"11.992, 13.992\\",\\"Women's Accessories, Women's Accessories\\",\\"Women's Accessories, Women's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"5.762, 6.578\\",\\"11.992, 13.992\\",\\"15,334, 18,810\\",\\"Scarf - bordeaux, Wallet - dark turquoise\\",\\"Scarf - bordeaux, Wallet - dark turquoise\\",\\"1, 1\\",\\"ZO0193901939, ZO0080400804\\",\\"0, 0\\",\\"11.992, 13.992\\",\\"11.992, 13.992\\",\\"0, 0\\",\\"ZO0193901939, ZO0080400804\\",\\"25.984\\",\\"25.984\\",2,2,order,elyssa +GwMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Eddie,Eddie,\\"Eddie Roberson\\",\\"Eddie Roberson\\",MALE,38,Roberson,Roberson,\\"(empty)\\",Monday,0,\\"eddie@roberson-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565684,\\"sold_product_565684_11098, sold_product_565684_11488\\",\\"sold_product_565684_11098, sold_product_565684_11488\\",\\"16.984, 10.992\\",\\"16.984, 10.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"8.656, 5.059\\",\\"16.984, 10.992\\",\\"11,098, 11,488\\",\\"Trainers - Blue Violety, Tie - black\\",\\"Trainers - Blue Violety, Tie - black\\",\\"1, 1\\",\\"ZO0507705077, ZO0409804098\\",\\"0, 0\\",\\"16.984, 10.992\\",\\"16.984, 10.992\\",\\"0, 0\\",\\"ZO0507705077, ZO0409804098\\",\\"27.984\\",\\"27.984\\",2,2,order,eddie +ngMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty King\\",\\"Betty King\\",FEMALE,44,King,King,\\"(empty)\\",Monday,0,\\"betty@king-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Oceanavigations,Oceanavigations,\\"Jun 23, 2019 @ 00:00:00.000\\",565945,\\"sold_product_565945_13129, sold_product_565945_14400\\",\\"sold_product_565945_13129, sold_product_565945_14400\\",\\"42, 42\\",\\"42, 42\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"20.578, 22.25\\",\\"42, 42\\",\\"13,129, 14,400\\",\\"Jeans Skinny Fit - dark blue denim, Jumper - white\\",\\"Jeans Skinny Fit - dark blue denim, Jumper - white\\",\\"1, 1\\",\\"ZO0270602706, ZO0269502695\\",\\"0, 0\\",\\"42, 42\\",\\"42, 42\\",\\"0, 0\\",\\"ZO0270602706, ZO0269502695\\",84,84,2,2,order,betty +nwMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Clarice,Clarice,\\"Clarice Harvey\\",\\"Clarice Harvey\\",FEMALE,18,Harvey,Harvey,\\"(empty)\\",Monday,0,\\"clarice@harvey-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565988,\\"sold_product_565988_12794, sold_product_565988_15193\\",\\"sold_product_565988_12794, sold_product_565988_15193\\",\\"33, 20.984\\",\\"33, 20.984\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"16.172, 10.289\\",\\"33, 20.984\\",\\"12,794, 15,193\\",\\"Tote bag - cognac, 3 PACK - Long sleeved top - dark grey multicolor/black/white\\",\\"Tote bag - cognac, 3 PACK - Long sleeved top - dark grey multicolor/black/white\\",\\"1, 1\\",\\"ZO0074700747, ZO0645206452\\",\\"0, 0\\",\\"33, 20.984\\",\\"33, 20.984\\",\\"0, 0\\",\\"ZO0074700747, ZO0645206452\\",\\"53.969\\",\\"53.969\\",2,2,order,clarice +pAMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Wagdi,Wagdi,\\"Wagdi Underwood\\",\\"Wagdi Underwood\\",MALE,15,Underwood,Underwood,\\"(empty)\\",Monday,0,\\"wagdi@underwood-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565732,\\"sold_product_565732_16955, sold_product_565732_13808\\",\\"sold_product_565732_16955, sold_product_565732_13808\\",\\"200, 16.984\\",\\"200, 16.984\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"92, 9.344\\",\\"200, 16.984\\",\\"16,955, 13,808\\",\\"Classic coat - navy, Scarf - red/blue\\",\\"Classic coat - navy, Scarf - red/blue\\",\\"1, 1\\",\\"ZO0291402914, ZO0603006030\\",\\"0, 0\\",\\"200, 16.984\\",\\"200, 16.984\\",\\"0, 0\\",\\"ZO0291402914, ZO0603006030\\",217,217,2,2,order,wagdi +AQMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Women's Accessories\\",\\"Men's Clothing, Women's Accessories\\",EUR,Robert,Robert,\\"Robert Cross\\",\\"Robert Cross\\",MALE,29,Cross,Cross,\\"(empty)\\",Monday,0,\\"robert@cross-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566042,\\"sold_product_566042_2775, sold_product_566042_20500\\",\\"sold_product_566042_2775, sold_product_566042_20500\\",\\"28.984, 29.984\\",\\"28.984, 29.984\\",\\"Men's Clothing, Women's Accessories\\",\\"Men's Clothing, Women's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"15.938, 15.594\\",\\"28.984, 29.984\\",\\"2,775, 20,500\\",\\"Jumper - white/dark blue, Rucksack - black\\",\\"Jumper - white/dark blue, Rucksack - black\\",\\"1, 1\\",\\"ZO0451804518, ZO0127901279\\",\\"0, 0\\",\\"28.984, 29.984\\",\\"28.984, 29.984\\",\\"0, 0\\",\\"ZO0451804518, ZO0127901279\\",\\"58.969\\",\\"58.969\\",2,2,order,robert +EwMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Tariq,Tariq,\\"Tariq Swanson\\",\\"Tariq Swanson\\",MALE,25,Swanson,Swanson,\\"(empty)\\",Monday,0,\\"tariq@swanson-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566456,\\"sold_product_566456_14947, sold_product_566456_16714\\",\\"sold_product_566456_14947, sold_product_566456_16714\\",\\"10.992, 24.984\\",\\"10.992, 24.984\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"5.93, 11.5\\",\\"10.992, 24.984\\",\\"14,947, 16,714\\",\\"Hat - black, Shorts - ice\\",\\"Hat - black, Shorts - ice\\",\\"1, 1\\",\\"ZO0597105971, ZO0283702837\\",\\"0, 0\\",\\"10.992, 24.984\\",\\"10.992, 24.984\\",\\"0, 0\\",\\"ZO0597105971, ZO0283702837\\",\\"35.969\\",\\"35.969\\",2,2,order,tariq +TgMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Diane,Diane,\\"Diane Chandler\\",\\"Diane Chandler\\",FEMALE,22,Chandler,Chandler,\\"(empty)\\",Monday,0,\\"diane@chandler-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Pyramidustries active, Gnomehouse\\",\\"Pyramidustries active, Gnomehouse\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565542,\\"sold_product_565542_24084, sold_product_565542_19410\\",\\"sold_product_565542_24084, sold_product_565542_19410\\",\\"16.984, 26.984\\",\\"16.984, 26.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries active, Gnomehouse\\",\\"Pyramidustries active, Gnomehouse\\",\\"8.828, 13.492\\",\\"16.984, 26.984\\",\\"24,084, 19,410\\",\\"Tights - black/nasturium, Swimsuit - navy\\",\\"Tights - black/nasturium, Swimsuit - navy\\",\\"1, 1\\",\\"ZO0224302243, ZO0359103591\\",\\"0, 0\\",\\"16.984, 26.984\\",\\"16.984, 26.984\\",\\"0, 0\\",\\"ZO0224302243, ZO0359103591\\",\\"43.969\\",\\"43.969\\",2,2,order,diane +XgMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Caldwell\\",\\"Rabbia Al Caldwell\\",FEMALE,5,Caldwell,Caldwell,\\"(empty)\\",Monday,0,\\"rabbia al@caldwell-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Pyramidustries active, Gnomehouse\\",\\"Pyramidustries active, Gnomehouse\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566121,\\"sold_product_566121_10723, sold_product_566121_12693\\",\\"sold_product_566121_10723, sold_product_566121_12693\\",\\"20.984, 16.984\\",\\"20.984, 16.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries active, Gnomehouse\\",\\"Pyramidustries active, Gnomehouse\\",\\"10.492, 7.82\\",\\"20.984, 16.984\\",\\"10,723, 12,693\\",\\"Sweatshirt - black, Clutch - red\\",\\"Sweatshirt - black, Clutch - red\\",\\"1, 1\\",\\"ZO0227202272, ZO0357003570\\",\\"0, 0\\",\\"20.984, 16.984\\",\\"20.984, 16.984\\",\\"0, 0\\",\\"ZO0227202272, ZO0357003570\\",\\"37.969\\",\\"37.969\\",2,2,order,rabbia +XwMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Boris,Boris,\\"Boris Bowers\\",\\"Boris Bowers\\",MALE,36,Bowers,Bowers,\\"(empty)\\",Monday,0,\\"boris@bowers-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Angeldale, Spritechnologies\\",\\"Angeldale, Spritechnologies\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566101,\\"sold_product_566101_738, sold_product_566101_24537\\",\\"sold_product_566101_738, sold_product_566101_24537\\",\\"75, 7.988\\",\\"75, 7.988\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Spritechnologies\\",\\"Angeldale, Spritechnologies\\",\\"39.75, 4.309\\",\\"75, 7.988\\",\\"738, 24,537\\",\\"Lace-up boots - azul, Sports shirt - black\\",\\"Lace-up boots - azul, Sports shirt - black\\",\\"1, 1\\",\\"ZO0691406914, ZO0617806178\\",\\"0, 0\\",\\"75, 7.988\\",\\"75, 7.988\\",\\"0, 0\\",\\"ZO0691406914, ZO0617806178\\",83,83,2,2,order,boris +YAMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Bryant\\",\\"Elyssa Bryant\\",FEMALE,27,Bryant,Bryant,\\"(empty)\\",Monday,0,\\"elyssa@bryant-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Angeldale, Pyramidustries active\\",\\"Angeldale, Pyramidustries active\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566653,\\"sold_product_566653_17818, sold_product_566653_18275\\",\\"sold_product_566653_17818, sold_product_566653_18275\\",\\"65, 28.984\\",\\"65, 28.984\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Pyramidustries active\\",\\"Angeldale, Pyramidustries active\\",\\"31.203, 15.359\\",\\"65, 28.984\\",\\"17,818, 18,275\\",\\"Classic heels - ginger, Trainers - white\\",\\"Classic heels - ginger, Trainers - white\\",\\"1, 1\\",\\"ZO0666506665, ZO0216602166\\",\\"0, 0\\",\\"65, 28.984\\",\\"65, 28.984\\",\\"0, 0\\",\\"ZO0666506665, ZO0216602166\\",94,94,2,2,order,elyssa +pwMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Sonya,Sonya,\\"Sonya Mullins\\",\\"Sonya Mullins\\",FEMALE,28,Mullins,Mullins,\\"(empty)\\",Monday,0,\\"sonya@mullins-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565838,\\"sold_product_565838_17639, sold_product_565838_16507\\",\\"sold_product_565838_17639, sold_product_565838_16507\\",\\"37, 16.984\\",\\"37, 16.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"18.5, 9.344\\",\\"37, 16.984\\",\\"17,639, 16,507\\",\\"Blouse - black, Across body bag - gunmetal\\",\\"Blouse - black, Across body bag - gunmetal\\",\\"1, 1\\",\\"ZO0343703437, ZO0207102071\\",\\"0, 0\\",\\"37, 16.984\\",\\"37, 16.984\\",\\"0, 0\\",\\"ZO0343703437, ZO0207102071\\",\\"53.969\\",\\"53.969\\",2,2,order,sonya +qQMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Stephanie,Stephanie,\\"Stephanie Larson\\",\\"Stephanie Larson\\",FEMALE,6,Larson,Larson,\\"(empty)\\",Monday,0,\\"stephanie@larson-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Oceanavigations, Pyramidustries\\",\\"Oceanavigations, Pyramidustries\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565804,\\"sold_product_565804_23705, sold_product_565804_11330\\",\\"sold_product_565804_23705, sold_product_565804_11330\\",\\"24.984, 50\\",\\"24.984, 50\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Pyramidustries\\",\\"Oceanavigations, Pyramidustries\\",\\"12.492, 25.984\\",\\"24.984, 50\\",\\"23,705, 11,330\\",\\"Clutch - Deep Pink, Short coat - dark grey\\",\\"Clutch - Deep Pink, Short coat - dark grey\\",\\"1, 1\\",\\"ZO0306803068, ZO0174601746\\",\\"0, 0\\",\\"24.984, 50\\",\\"24.984, 50\\",\\"0, 0\\",\\"ZO0306803068, ZO0174601746\\",75,75,2,2,order,stephanie +qgMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Youssef,Youssef,\\"Youssef Summers\\",\\"Youssef Summers\\",MALE,31,Summers,Summers,\\"(empty)\\",Monday,0,\\"youssef@summers-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566247,\\"sold_product_566247_864, sold_product_566247_24934\\",\\"sold_product_566247_864, sold_product_566247_24934\\",\\"50, 50\\",\\"50, 50\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"23.5, 22.5\\",\\"50, 50\\",\\"864, 24,934\\",\\"Smart lace-ups - brown, Lace-up boots - resin coffee\\",\\"Smart lace-ups - brown, Lace-up boots - resin coffee\\",\\"1, 1\\",\\"ZO0384903849, ZO0403504035\\",\\"0, 0\\",\\"50, 50\\",\\"50, 50\\",\\"0, 0\\",\\"ZO0384903849, ZO0403504035\\",100,100,2,2,order,youssef +twMtOW0BH63Xcmy44mSR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Muniz,Muniz,\\"Muniz Schultz\\",\\"Muniz Schultz\\",MALE,37,Schultz,Schultz,\\"(empty)\\",Monday,0,\\"muniz@schultz-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",Elitelligence,Elitelligence,\\"Jun 23, 2019 @ 00:00:00.000\\",566036,\\"sold_product_566036_21739, sold_product_566036_19292\\",\\"sold_product_566036_21739, sold_product_566036_19292\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"11.117, 12.25\\",\\"20.984, 24.984\\",\\"21,739, 19,292\\",\\"Tracksuit top - mottled grey, Trainers - black\\",\\"Tracksuit top - mottled grey, Trainers - black\\",\\"1, 1\\",\\"ZO0583605836, ZO0510605106\\",\\"0, 0\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"0, 0\\",\\"ZO0583605836, ZO0510605106\\",\\"45.969\\",\\"45.969\\",2,2,order,muniz +1AMtOW0BH63Xcmy44mSR,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Rodriguez\\",\\"Elyssa Rodriguez\\",FEMALE,27,Rodriguez,Rodriguez,\\"(empty)\\",Monday,0,\\"elyssa@rodriguez-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Oceanavigations, Angeldale\\",\\"Oceanavigations, Angeldale\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565459,\\"sold_product_565459_18966, sold_product_565459_22336\\",\\"sold_product_565459_18966, sold_product_565459_22336\\",\\"60, 75\\",\\"60, 75\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Angeldale\\",\\"Oceanavigations, Angeldale\\",\\"31.188, 39.75\\",\\"60, 75\\",\\"18,966, 22,336\\",\\"High heeled sandals - red, Boots - black\\",\\"High heeled sandals - red, Boots - black\\",\\"1, 1\\",\\"ZO0242302423, ZO0676006760\\",\\"0, 0\\",\\"60, 75\\",\\"60, 75\\",\\"0, 0\\",\\"ZO0242302423, ZO0676006760\\",135,135,2,2,order,elyssa +2gMtOW0BH63Xcmy44mSR,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Hansen\\",\\"Elyssa Hansen\\",FEMALE,27,Hansen,Hansen,\\"(empty)\\",Monday,0,\\"elyssa@hansen-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565819,\\"sold_product_565819_11025, sold_product_565819_20135\\",\\"sold_product_565819_11025, sold_product_565819_20135\\",\\"14.992, 11.992\\",\\"14.992, 11.992\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"6.75, 6.109\\",\\"14.992, 11.992\\",\\"11,025, 20,135\\",\\"T-bar sandals - black, Vest - red\\",\\"T-bar sandals - black, Vest - red\\",\\"1, 1\\",\\"ZO0031700317, ZO0157701577\\",\\"0, 0\\",\\"14.992, 11.992\\",\\"14.992, 11.992\\",\\"0, 0\\",\\"ZO0031700317, ZO0157701577\\",\\"26.984\\",\\"26.984\\",2,2,order,elyssa +2wMtOW0BH63Xcmy44mSR,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Mullins\\",\\"Wilhemina St. Mullins\\",FEMALE,17,Mullins,Mullins,\\"(empty)\\",Monday,0,\\"wilhemina st.@mullins-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Jun 23, 2019 @ 00:00:00.000\\",731352,\\"sold_product_731352_12880, sold_product_731352_5477, sold_product_731352_13837, sold_product_731352_24675\\",\\"sold_product_731352_12880, sold_product_731352_5477, sold_product_731352_13837, sold_product_731352_24675\\",\\"24.984, 42, 37, 16.984\\",\\"24.984, 42, 37, 16.984\\",\\"Women's Shoes, Women's Shoes, Women's Clothing, Women's Clothing\\",\\"Women's Shoes, Women's Shoes, Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Tigress Enterprises, Tigress Enterprises, Gnomehouse, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises, Gnomehouse, Tigress Enterprises\\",\\"13.492, 22.25, 18.859, 8.492\\",\\"24.984, 42, 37, 16.984\\",\\"12,880, 5,477, 13,837, 24,675\\",\\"Ankle boots - blue, Over-the-knee boots - taupe, Mini skirt - multicoloured, Vest - black\\",\\"Ankle boots - blue, Over-the-knee boots - taupe, Mini skirt - multicoloured, Vest - black\\",\\"1, 1, 1, 1\\",\\"ZO0018200182, ZO0016100161, ZO0329703297, ZO0057800578\\",\\"0, 0, 0, 0\\",\\"24.984, 42, 37, 16.984\\",\\"24.984, 42, 37, 16.984\\",\\"0, 0, 0, 0\\",\\"ZO0018200182, ZO0016100161, ZO0329703297, ZO0057800578\\",\\"120.938\\",\\"120.938\\",4,4,order,wilhemina +BwMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Graham\\",\\"Fitzgerald Graham\\",MALE,11,Graham,Graham,\\"(empty)\\",Monday,0,\\"fitzgerald@graham-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Spritechnologies, Low Tide Media\\",\\"Spritechnologies, Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565667,\\"sold_product_565667_19066, sold_product_565667_22279\\",\\"sold_product_565667_19066, sold_product_565667_22279\\",\\"18.984, 50\\",\\"18.984, 50\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Low Tide Media\\",\\"Spritechnologies, Low Tide Media\\",\\"8.547, 23.5\\",\\"18.984, 50\\",\\"19,066, 22,279\\",\\"Tights - black, Casual lace-ups - Sea Green\\",\\"Tights - black, Casual lace-ups - Sea Green\\",\\"1, 1\\",\\"ZO0618706187, ZO0388503885\\",\\"0, 0\\",\\"18.984, 50\\",\\"18.984, 50\\",\\"0, 0\\",\\"ZO0618706187, ZO0388503885\\",69,69,2,2,order,fuzzy +UgMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Sutton\\",\\"Abigail Sutton\\",FEMALE,46,Sutton,Sutton,\\"(empty)\\",Monday,0,\\"abigail@sutton-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Oceanavigations, Pyramidustries\\",\\"Oceanavigations, Pyramidustries\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565900,\\"sold_product_565900_17711, sold_product_565900_14662\\",\\"sold_product_565900_17711, sold_product_565900_14662\\",\\"34, 16.984\\",\\"34, 16.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Pyramidustries\\",\\"Oceanavigations, Pyramidustries\\",\\"18.016, 8.492\\",\\"34, 16.984\\",\\"17,711, 14,662\\",\\"Blouse - black, Print T-shirt - black\\",\\"Blouse - black, Print T-shirt - black\\",\\"1, 1\\",\\"ZO0266102661, ZO0169701697\\",\\"0, 0\\",\\"34, 16.984\\",\\"34, 16.984\\",\\"0, 0\\",\\"ZO0266102661, ZO0169701697\\",\\"50.969\\",\\"50.969\\",2,2,order,abigail +qgMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Boris,Boris,\\"Boris Rose\\",\\"Boris Rose\\",MALE,36,Rose,Rose,\\"(empty)\\",Monday,0,\\"boris@rose-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Oceanavigations, Spherecords\\",\\"Oceanavigations, Spherecords\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566360,\\"sold_product_566360_15319, sold_product_566360_10913\\",\\"sold_product_566360_15319, sold_product_566360_10913\\",\\"33, 10.992\\",\\"33, 10.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Spherecords\\",\\"Oceanavigations, Spherecords\\",\\"15.844, 6.039\\",\\"33, 10.992\\",\\"15,319, 10,913\\",\\"Relaxed fit jeans - grey denim, Long sleeved top - grey/dark blue\\",\\"Relaxed fit jeans - grey denim, Long sleeved top - grey/dark blue\\",\\"1, 1\\",\\"ZO0285102851, ZO0658306583\\",\\"0, 0\\",\\"33, 10.992\\",\\"33, 10.992\\",\\"0, 0\\",\\"ZO0285102851, ZO0658306583\\",\\"43.969\\",\\"43.969\\",2,2,order,boris +qwMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Soto\\",\\"Abdulraheem Al Soto\\",MALE,33,Soto,Soto,\\"(empty)\\",Monday,0,\\"abdulraheem al@soto-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566416,\\"sold_product_566416_17928, sold_product_566416_24672\\",\\"sold_product_566416_17928, sold_product_566416_24672\\",\\"50, 21.984\\",\\"50, 21.984\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"23.5, 9.898\\",\\"50, 21.984\\",\\"17,928, 24,672\\",\\"Boots - dark brown, Across body bag - black/cognac\\",\\"Boots - dark brown, Across body bag - black/cognac\\",\\"1, 1\\",\\"ZO0396903969, ZO0607906079\\",\\"0, 0\\",\\"50, 21.984\\",\\"50, 21.984\\",\\"0, 0\\",\\"ZO0396903969, ZO0607906079\\",72,72,2,2,order,abdulraheem +IgMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Hansen\\",\\"Abigail Hansen\\",FEMALE,46,Hansen,Hansen,\\"(empty)\\",Monday,0,\\"abigail@hansen-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565796,\\"sold_product_565796_11879, sold_product_565796_8405\\",\\"sold_product_565796_11879, sold_product_565796_8405\\",\\"7.988, 33\\",\\"7.988, 33\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"4.23, 14.852\\",\\"7.988, 33\\",\\"11,879, 8,405\\",\\"Snood - offwhite/red/black, Long sleeved top - alison white\\",\\"Snood - offwhite/red/black, Long sleeved top - alison white\\",\\"1, 1\\",\\"ZO0081500815, ZO0342603426\\",\\"0, 0\\",\\"7.988, 33\\",\\"7.988, 33\\",\\"0, 0\\",\\"ZO0081500815, ZO0342603426\\",\\"40.969\\",\\"40.969\\",2,2,order,abigail +IwMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Samir,Samir,\\"Samir Sherman\\",\\"Samir Sherman\\",MALE,34,Sherman,Sherman,\\"(empty)\\",Monday,0,\\"samir@sherman-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566261,\\"sold_product_566261_20514, sold_product_566261_13193\\",\\"sold_product_566261_20514, sold_product_566261_13193\\",\\"24.984, 85\\",\\"24.984, 85\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"11.5, 42.5\\",\\"24.984, 85\\",\\"20,514, 13,193\\",\\"Jumper - black, Parka - black\\",\\"Jumper - black, Parka - black\\",\\"1, 1\\",\\"ZO0577105771, ZO0289302893\\",\\"0, 0\\",\\"24.984, 85\\",\\"24.984, 85\\",\\"0, 0\\",\\"ZO0577105771, ZO0289302893\\",110,110,2,2,order,samir +QgMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Robbie,Robbie,\\"Robbie Daniels\\",\\"Robbie Daniels\\",MALE,48,Daniels,Daniels,\\"(empty)\\",Monday,0,\\"robbie@daniels-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565567,\\"sold_product_565567_18531, sold_product_565567_11331\\",\\"sold_product_565567_18531, sold_product_565567_11331\\",\\"11.992, 18.984\\",\\"11.992, 18.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"5.398, 8.93\\",\\"11.992, 18.984\\",\\"18,531, 11,331\\",\\"Basic T-shirt - tan, Tracksuit bottoms - black\\",\\"Basic T-shirt - tan, Tracksuit bottoms - black\\",\\"1, 1\\",\\"ZO0437604376, ZO0618906189\\",\\"0, 0\\",\\"11.992, 18.984\\",\\"11.992, 18.984\\",\\"0, 0\\",\\"ZO0437604376, ZO0618906189\\",\\"30.984\\",\\"30.984\\",2,2,order,robbie +QwMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Brigitte,Brigitte,\\"Brigitte Byrd\\",\\"Brigitte Byrd\\",FEMALE,12,Byrd,Byrd,\\"(empty)\\",Monday,0,\\"brigitte@byrd-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565596,\\"sold_product_565596_19599, sold_product_565596_13051\\",\\"sold_product_565596_19599, sold_product_565596_13051\\",\\"50, 13.992\\",\\"50, 13.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"25.484, 7\\",\\"50, 13.992\\",\\"19,599, 13,051\\",\\"Maxi dress - Pale Violet Red, Print T-shirt - black\\",\\"Maxi dress - Pale Violet Red, Print T-shirt - black\\",\\"1, 1\\",\\"ZO0332903329, ZO0159401594\\",\\"0, 0\\",\\"50, 13.992\\",\\"50, 13.992\\",\\"0, 0\\",\\"ZO0332903329, ZO0159401594\\",\\"63.969\\",\\"63.969\\",2,2,order,brigitte +VgMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Women's Accessories\\",\\"Men's Shoes, Women's Accessories\\",EUR,Abd,Abd,\\"Abd Foster\\",\\"Abd Foster\\",MALE,52,Foster,Foster,\\"(empty)\\",Monday,0,\\"abd@foster-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Elitelligence, Angeldale\\",\\"Low Tide Media, Elitelligence, Angeldale\\",\\"Jun 23, 2019 @ 00:00:00.000\\",717206,\\"sold_product_717206_13588, sold_product_717206_16372, sold_product_717206_20757, sold_product_717206_22434\\",\\"sold_product_717206_13588, sold_product_717206_16372, sold_product_717206_20757, sold_product_717206_22434\\",\\"60, 24.984, 80, 60\\",\\"60, 24.984, 80, 60\\",\\"Men's Shoes, Women's Accessories, Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Women's Accessories, Men's Shoes, Men's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Low Tide Media, Elitelligence, Angeldale, Low Tide Media\\",\\"Low Tide Media, Elitelligence, Angeldale, Low Tide Media\\",\\"28.797, 12.742, 40.781, 30\\",\\"60, 24.984, 80, 60\\",\\"13,588, 16,372, 20,757, 22,434\\",\\"Lace-ups - cognac, Rucksack - black, Lace-up boots - dark brown, Casual lace-ups - cognac\\",\\"Lace-ups - cognac, Rucksack - black, Lace-up boots - dark brown, Casual lace-ups - cognac\\",\\"1, 1, 1, 1\\",\\"ZO0390403904, ZO0608306083, ZO0690906909, ZO0394403944\\",\\"0, 0, 0, 0\\",\\"60, 24.984, 80, 60\\",\\"60, 24.984, 80, 60\\",\\"0, 0, 0, 0\\",\\"ZO0390403904, ZO0608306083, ZO0690906909, ZO0394403944\\",225,225,4,4,order,abd +ggMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Abd,Abd,\\"Abd Bailey\\",\\"Abd Bailey\\",MALE,52,Bailey,Bailey,\\"(empty)\\",Monday,0,\\"abd@bailey-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",715081,\\"sold_product_715081_20855, sold_product_715081_15922, sold_product_715081_6851, sold_product_715081_1808\\",\\"sold_product_715081_20855, sold_product_715081_15922, sold_product_715081_6851, sold_product_715081_1808\\",\\"65, 65, 24.984, 50\\",\\"65, 65, 24.984, 50\\",\\"Men's Shoes, Men's Shoes, Men's Clothing, Men's Shoes\\",\\"Men's Shoes, Men's Shoes, Men's Clothing, Men's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Angeldale, Low Tide Media, Low Tide Media, Low Tide Media\\",\\"Angeldale, Low Tide Media, Low Tide Media, Low Tide Media\\",\\"29.906, 32.5, 12.492, 23\\",\\"65, 65, 24.984, 50\\",\\"20,855, 15,922, 6,851, 1,808\\",\\"Lace-up boots - black, Lace-up boots - cognac, SLIM FIT - Formal shirt - dark blue, Lace-up boots - black\\",\\"Lace-up boots - black, Lace-up boots - cognac, SLIM FIT - Formal shirt - dark blue, Lace-up boots - black\\",\\"1, 1, 1, 1\\",\\"ZO0688806888, ZO0399003990, ZO0412404124, ZO0405304053\\",\\"0, 0, 0, 0\\",\\"65, 65, 24.984, 50\\",\\"65, 65, 24.984, 50\\",\\"0, 0, 0, 0\\",\\"ZO0688806888, ZO0399003990, ZO0412404124, ZO0405304053\\",205,205,4,4,order,abd +mwMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Mary,Mary,\\"Mary Davidson\\",\\"Mary Davidson\\",FEMALE,20,Davidson,Davidson,\\"(empty)\\",Monday,0,\\"mary@davidson-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Pyramidustries, Gnomehouse\\",\\"Pyramidustries, Gnomehouse\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566428,\\"sold_product_566428_20712, sold_product_566428_18581\\",\\"sold_product_566428_20712, sold_product_566428_18581\\",\\"28.984, 50\\",\\"28.984, 50\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Gnomehouse\\",\\"Pyramidustries, Gnomehouse\\",\\"15.07, 24\\",\\"28.984, 50\\",\\"20,712, 18,581\\",\\"Trainers - black, Summer dress - red ochre\\",\\"Trainers - black, Summer dress - red ochre\\",\\"1, 1\\",\\"ZO0136501365, ZO0339103391\\",\\"0, 0\\",\\"28.984, 50\\",\\"28.984, 50\\",\\"0, 0\\",\\"ZO0136501365, ZO0339103391\\",79,79,2,2,order,mary +zQMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Pia,Pia,\\"Pia Pope\\",\\"Pia Pope\\",FEMALE,45,Pope,Pope,\\"(empty)\\",Monday,0,\\"pia@pope-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566334,\\"sold_product_566334_17905, sold_product_566334_24273\\",\\"sold_product_566334_17905, sold_product_566334_24273\\",\\"28.984, 11.992\\",\\"28.984, 11.992\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"14.781, 6.469\\",\\"28.984, 11.992\\",\\"17,905, 24,273\\",\\"High heeled sandals - Rosy Brown, Jersey dress - beige\\",\\"High heeled sandals - Rosy Brown, Jersey dress - beige\\",\\"1, 1\\",\\"ZO0010800108, ZO0635706357\\",\\"0, 0\\",\\"28.984, 11.992\\",\\"28.984, 11.992\\",\\"0, 0\\",\\"ZO0010800108, ZO0635706357\\",\\"40.969\\",\\"40.969\\",2,2,order,pia +zgMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Jacobs\\",\\"Elyssa Jacobs\\",FEMALE,27,Jacobs,Jacobs,\\"(empty)\\",Monday,0,\\"elyssa@jacobs-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises MAMA, Pyramidustries\\",\\"Tigress Enterprises MAMA, Pyramidustries\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566391,\\"sold_product_566391_15927, sold_product_566391_15841\\",\\"sold_product_566391_15927, sold_product_566391_15841\\",\\"33, 13.992\\",\\"33, 13.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises MAMA, Pyramidustries\\",\\"Tigress Enterprises MAMA, Pyramidustries\\",\\"15.18, 6.719\\",\\"33, 13.992\\",\\"15,927, 15,841\\",\\"Jersey dress - peacoat, Long sleeved top - black\\",\\"Jersey dress - peacoat, Long sleeved top - black\\",\\"1, 1\\",\\"ZO0228302283, ZO0167501675\\",\\"0, 0\\",\\"33, 13.992\\",\\"33, 13.992\\",\\"0, 0\\",\\"ZO0228302283, ZO0167501675\\",\\"46.969\\",\\"46.969\\",2,2,order,elyssa +IQMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Adams\\",\\"Sultan Al Adams\\",MALE,19,Adams,Adams,\\"(empty)\\",Monday,0,\\"sultan al@adams-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"Jun 23, 2019 @ 00:00:00.000\\",715133,\\"sold_product_715133_22059, sold_product_715133_13763, sold_product_715133_19774, sold_product_715133_15185\\",\\"sold_product_715133_22059, sold_product_715133_13763, sold_product_715133_19774, sold_product_715133_15185\\",\\"28.984, 16.984, 11.992, 24.984\\",\\"28.984, 16.984, 11.992, 24.984\\",\\"Men's Clothing, Men's Shoes, Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Shoes, Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Elitelligence, Elitelligence, Elitelligence, Microlutions\\",\\"Elitelligence, Elitelligence, Elitelligence, Microlutions\\",\\"15.07, 9.344, 5.879, 11.5\\",\\"28.984, 16.984, 11.992, 24.984\\",\\"22,059, 13,763, 19,774, 15,185\\",\\"Relaxed fit jeans - black, Trainers - dark brown, Print T-shirt - black/orange, Tracksuit bottoms - mottled grey\\",\\"Relaxed fit jeans - black, Trainers - dark brown, Print T-shirt - black/orange, Tracksuit bottoms - mottled grey\\",\\"1, 1, 1, 1\\",\\"ZO0537005370, ZO0508605086, ZO0566605666, ZO0111301113\\",\\"0, 0, 0, 0\\",\\"28.984, 16.984, 11.992, 24.984\\",\\"28.984, 16.984, 11.992, 24.984\\",\\"0, 0, 0, 0\\",\\"ZO0537005370, ZO0508605086, ZO0566605666, ZO0111301113\\",\\"82.938\\",\\"82.938\\",4,4,order,sultan +QAMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Abd,Abd,\\"Abd Barnes\\",\\"Abd Barnes\\",MALE,52,Barnes,Barnes,\\"(empty)\\",Monday,0,\\"abd@barnes-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Spritechnologies, Low Tide Media\\",\\"Spritechnologies, Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",717057,\\"sold_product_717057_18764, sold_product_717057_1195, sold_product_717057_13086, sold_product_717057_13470\\",\\"sold_product_717057_18764, sold_product_717057_1195, sold_product_717057_13086, sold_product_717057_13470\\",\\"65, 60, 50, 15.992\\",\\"65, 60, 50, 15.992\\",\\"Men's Clothing, Men's Shoes, Men's Shoes, Men's Clothing\\",\\"Men's Clothing, Men's Shoes, Men's Shoes, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Spritechnologies, Low Tide Media, Low Tide Media, Low Tide Media\\",\\"Spritechnologies, Low Tide Media, Low Tide Media, Low Tide Media\\",\\"30.547, 28.203, 23, 8.313\\",\\"65, 60, 50, 15.992\\",\\"18,764, 1,195, 13,086, 13,470\\",\\"Winter jacket - rubber, Lace-up boots - cognac, Casual lace-ups - light brown, 4 PACK - Shorts - grey\\",\\"Winter jacket - rubber, Lace-up boots - cognac, Casual lace-ups - light brown, 4 PACK - Shorts - grey\\",\\"1, 1, 1, 1\\",\\"ZO0623406234, ZO0404704047, ZO0384603846, ZO0476204762\\",\\"0, 0, 0, 0\\",\\"65, 60, 50, 15.992\\",\\"65, 60, 50, 15.992\\",\\"0, 0, 0, 0\\",\\"ZO0623406234, ZO0404704047, ZO0384603846, ZO0476204762\\",191,191,4,4,order,abd +SQMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Diane,Diane,\\"Diane Parker\\",\\"Diane Parker\\",FEMALE,22,Parker,Parker,\\"(empty)\\",Monday,0,\\"diane@parker-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Karmanite, Pyramidustries\\",\\"Karmanite, Pyramidustries\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566315,\\"sold_product_566315_11724, sold_product_566315_18465\\",\\"sold_product_566315_11724, sold_product_566315_18465\\",\\"65, 42\\",\\"65, 42\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Karmanite, Pyramidustries\\",\\"Karmanite, Pyramidustries\\",\\"33.125, 19.313\\",\\"65, 42\\",\\"11,724, 18,465\\",\\"Sandals - black, Boots - black\\",\\"Sandals - black, Boots - black\\",\\"1, 1\\",\\"ZO0703707037, ZO0139601396\\",\\"0, 0\\",\\"65, 42\\",\\"65, 42\\",\\"0, 0\\",\\"ZO0703707037, ZO0139601396\\",107,107,2,2,order,diane +SgMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Cross\\",\\"Abigail Cross\\",FEMALE,46,Cross,Cross,\\"(empty)\\",Monday,0,\\"abigail@cross-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Gnomehouse, Spherecords\\",\\"Gnomehouse, Spherecords\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565698,\\"sold_product_565698_13951, sold_product_565698_21969\\",\\"sold_product_565698_13951, sold_product_565698_21969\\",\\"50, 7.988\\",\\"50, 7.988\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Spherecords\\",\\"Gnomehouse, Spherecords\\",\\"26.484, 3.68\\",\\"50, 7.988\\",\\"13,951, 21,969\\",\\"Summer dress - black, Vest - bordeaux\\",\\"Summer dress - black, Vest - bordeaux\\",\\"1, 1\\",\\"ZO0336503365, ZO0637006370\\",\\"0, 0\\",\\"50, 7.988\\",\\"50, 7.988\\",\\"0, 0\\",\\"ZO0336503365, ZO0637006370\\",\\"57.969\\",\\"57.969\\",2,2,order,abigail +UQMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Wagdi,Wagdi,\\"Wagdi Valdez\\",\\"Wagdi Valdez\\",MALE,15,Valdez,Valdez,\\"(empty)\\",Monday,0,\\"wagdi@valdez-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Spritechnologies, Low Tide Media\\",\\"Spritechnologies, Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566167,\\"sold_product_566167_3499, sold_product_566167_13386\\",\\"sold_product_566167_3499, sold_product_566167_13386\\",\\"60, 24.984\\",\\"60, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Low Tide Media\\",\\"Spritechnologies, Low Tide Media\\",\\"28.203, 11.75\\",\\"60, 24.984\\",\\"3,499, 13,386\\",\\"Hardshell jacket - jet black, Trousers - black\\",\\"Hardshell jacket - jet black, Trousers - black\\",\\"1, 1\\",\\"ZO0623006230, ZO0419304193\\",\\"0, 0\\",\\"60, 24.984\\",\\"60, 24.984\\",\\"0, 0\\",\\"ZO0623006230, ZO0419304193\\",85,85,2,2,order,wagdi +UgMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Rivera\\",\\"Mostafa Rivera\\",MALE,9,Rivera,Rivera,\\"(empty)\\",Monday,0,\\"mostafa@rivera-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566215,\\"sold_product_566215_864, sold_product_566215_23260\\",\\"sold_product_566215_864, sold_product_566215_23260\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"23.5, 13.742\\",\\"50, 24.984\\",\\"864, 23,260\\",\\"Smart lace-ups - brown, Jumper - khaki\\",\\"Smart lace-ups - brown, Jumper - khaki\\",\\"1, 1\\",\\"ZO0384903849, ZO0579305793\\",\\"0, 0\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"0, 0\\",\\"ZO0384903849, ZO0579305793\\",75,75,2,2,order,mostafa +UwMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Mary,Mary,\\"Mary Underwood\\",\\"Mary Underwood\\",FEMALE,20,Underwood,Underwood,\\"(empty)\\",Monday,0,\\"mary@underwood-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566070,\\"sold_product_566070_23447, sold_product_566070_17406\\",\\"sold_product_566070_23447, sold_product_566070_17406\\",\\"33, 33\\",\\"33, 33\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"17.813, 16.813\\",\\"33, 33\\",\\"23,447, 17,406\\",\\"Cocktail dress / Party dress - black, Summer dress - black\\",\\"Cocktail dress / Party dress - black, Summer dress - black\\",\\"1, 1\\",\\"ZO0046100461, ZO0151201512\\",\\"0, 0\\",\\"33, 33\\",\\"33, 33\\",\\"0, 0\\",\\"ZO0046100461, ZO0151201512\\",66,66,2,2,order,mary +VAMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Jason,Jason,\\"Jason Jimenez\\",\\"Jason Jimenez\\",MALE,16,Jimenez,Jimenez,\\"(empty)\\",Monday,0,\\"jason@jimenez-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566621,\\"sold_product_566621_21825, sold_product_566621_21628\\",\\"sold_product_566621_21825, sold_product_566621_21628\\",\\"20.984, 75\\",\\"20.984, 75\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"10.906, 33.75\\",\\"20.984, 75\\",\\"21,825, 21,628\\",\\"Jumper - khaki, Weekend bag - black\\",\\"Jumper - khaki, Weekend bag - black\\",\\"1, 1\\",\\"ZO0579605796, ZO0315803158\\",\\"0, 0\\",\\"20.984, 75\\",\\"20.984, 75\\",\\"0, 0\\",\\"ZO0579605796, ZO0315803158\\",96,96,2,2,order,jason +VQMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Youssef,Youssef,\\"Youssef Miller\\",\\"Youssef Miller\\",MALE,31,Miller,Miller,\\"(empty)\\",Monday,0,\\"youssef@miller-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Elitelligence,Elitelligence,\\"Jun 23, 2019 @ 00:00:00.000\\",566284,\\"sold_product_566284_6763, sold_product_566284_11234\\",\\"sold_product_566284_6763, sold_product_566284_11234\\",\\"16.984, 42\\",\\"16.984, 42\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"9, 21.828\\",\\"16.984, 42\\",\\"6,763, 11,234\\",\\"Jumper - black, Tracksuit top - black\\",\\"Jumper - black, Tracksuit top - black\\",\\"1, 1\\",\\"ZO0541405414, ZO0588205882\\",\\"0, 0\\",\\"16.984, 42\\",\\"16.984, 42\\",\\"0, 0\\",\\"ZO0541405414, ZO0588205882\\",\\"58.969\\",\\"58.969\\",2,2,order,youssef +VgMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Thad,Thad,\\"Thad Byrd\\",\\"Thad Byrd\\",MALE,30,Byrd,Byrd,\\"(empty)\\",Monday,0,\\"thad@byrd-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Elitelligence,Elitelligence,\\"Jun 23, 2019 @ 00:00:00.000\\",566518,\\"sold_product_566518_22342, sold_product_566518_14729\\",\\"sold_product_566518_22342, sold_product_566518_14729\\",\\"11.992, 11.992\\",\\"11.992, 11.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"5.762, 5.641\\",\\"11.992, 11.992\\",\\"22,342, 14,729\\",\\"Long sleeved top - mottled grey black, Long sleeved top - black\\",\\"Long sleeved top - mottled grey black, Long sleeved top - black\\",\\"1, 1\\",\\"ZO0554605546, ZO0569005690\\",\\"0, 0\\",\\"11.992, 11.992\\",\\"11.992, 11.992\\",\\"0, 0\\",\\"ZO0554605546, ZO0569005690\\",\\"23.984\\",\\"23.984\\",2,2,order,thad +agMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Tariq,Tariq,\\"Tariq Byrd\\",\\"Tariq Byrd\\",MALE,25,Byrd,Byrd,\\"(empty)\\",Monday,0,\\"tariq@byrd-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565580,\\"sold_product_565580_1927, sold_product_565580_12828\\",\\"sold_product_565580_1927, sold_product_565580_12828\\",\\"60, 60\\",\\"60, 60\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"28.203, 29.406\\",\\"60, 60\\",\\"1,927, 12,828\\",\\"High-top trainers - nyco, Lace-ups - marron\\",\\"High-top trainers - nyco, Lace-ups - marron\\",\\"1, 1\\",\\"ZO0395303953, ZO0386703867\\",\\"0, 0\\",\\"60, 60\\",\\"60, 60\\",\\"0, 0\\",\\"ZO0395303953, ZO0386703867\\",120,120,2,2,order,tariq +cwMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,rania,rania,\\"rania Valdez\\",\\"rania Valdez\\",FEMALE,24,Valdez,Valdez,\\"(empty)\\",Monday,0,\\"rania@valdez-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Pyramidustries, Spherecords\\",\\"Pyramidustries, Spherecords\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565830,\\"sold_product_565830_17256, sold_product_565830_23136\\",\\"sold_product_565830_17256, sold_product_565830_23136\\",\\"7.988, 7.988\\",\\"7.988, 7.988\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Spherecords\\",\\"Pyramidustries, Spherecords\\",\\"4.148, 4.309\\",\\"7.988, 7.988\\",\\"17,256, 23,136\\",\\"3 PACK - Socks - off white/pink, Basic T-shirt - purple\\",\\"3 PACK - Socks - off white/pink, Basic T-shirt - purple\\",\\"1, 1\\",\\"ZO0215702157, ZO0638806388\\",\\"0, 0\\",\\"7.988, 7.988\\",\\"7.988, 7.988\\",\\"0, 0\\",\\"ZO0215702157, ZO0638806388\\",\\"15.977\\",\\"15.977\\",2,2,order,rani +GQMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Jason,Jason,\\"Jason Morrison\\",\\"Jason Morrison\\",MALE,16,Morrison,Morrison,\\"(empty)\\",Monday,0,\\"jason@morrison-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566454,\\"sold_product_566454_15937, sold_product_566454_1557\\",\\"sold_product_566454_15937, sold_product_566454_1557\\",\\"7.988, 60\\",\\"7.988, 60\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"3.84, 31.188\\",\\"7.988, 60\\",\\"15,937, 1,557\\",\\"Basic T-shirt - dark grey, Lace-up boots - brown\\",\\"Basic T-shirt - dark grey, Lace-up boots - brown\\",\\"1, 1\\",\\"ZO0547405474, ZO0401104011\\",\\"0, 0\\",\\"7.988, 60\\",\\"7.988, 60\\",\\"0, 0\\",\\"ZO0547405474, ZO0401104011\\",68,68,2,2,order,jason +GgMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",EUR,Thad,Thad,\\"Thad Larson\\",\\"Thad Larson\\",MALE,30,Larson,Larson,\\"(empty)\\",Monday,0,\\"thad@larson-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566506,\\"sold_product_566506_12060, sold_product_566506_16803\\",\\"sold_product_566506_12060, sold_product_566506_16803\\",\\"50, 16.984\\",\\"50, 16.984\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"25.984, 8.492\\",\\"50, 16.984\\",\\"12,060, 16,803\\",\\"Lace-ups - black/red, Rucksack - grey/black\\",\\"Lace-ups - black/red, Rucksack - grey/black\\",\\"1, 1\\",\\"ZO0680806808, ZO0609306093\\",\\"0, 0\\",\\"50, 16.984\\",\\"50, 16.984\\",\\"0, 0\\",\\"ZO0680806808, ZO0609306093\\",67,67,2,2,order,thad +HAMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Diane,Diane,\\"Diane Romero\\",\\"Diane Romero\\",FEMALE,22,Romero,Romero,\\"(empty)\\",Monday,0,\\"diane@romero-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Pyramidustries, Spherecords\\",\\"Pyramidustries, Spherecords\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565948,\\"sold_product_565948_18390, sold_product_565948_24310\\",\\"sold_product_565948_18390, sold_product_565948_24310\\",\\"10.992, 22.984\\",\\"10.992, 22.984\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Spherecords\\",\\"Pyramidustries, Spherecords\\",\\"5.93, 10.578\\",\\"10.992, 22.984\\",\\"18,390, 24,310\\",\\"Wallet - black, Jumper - light grey multicolor\\",\\"Wallet - black, Jumper - light grey multicolor\\",\\"1, 1\\",\\"ZO0190701907, ZO0654806548\\",\\"0, 0\\",\\"10.992, 22.984\\",\\"10.992, 22.984\\",\\"0, 0\\",\\"ZO0190701907, ZO0654806548\\",\\"33.969\\",\\"33.969\\",2,2,order,diane +HQMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Morrison\\",\\"Gwen Morrison\\",FEMALE,26,Morrison,Morrison,\\"(empty)\\",Monday,0,\\"gwen@morrison-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565998,\\"sold_product_565998_15531, sold_product_565998_8992\\",\\"sold_product_565998_15531, sold_product_565998_8992\\",\\"65, 20.984\\",\\"65, 20.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"29.906, 10.703\\",\\"65, 20.984\\",\\"15,531, 8,992\\",\\"Classic heels - black, Blouse - black\\",\\"Classic heels - black, Blouse - black\\",\\"1, 1\\",\\"ZO0238802388, ZO0066600666\\",\\"0, 0\\",\\"65, 20.984\\",\\"65, 20.984\\",\\"0, 0\\",\\"ZO0238802388, ZO0066600666\\",86,86,2,2,order,gwen +kAMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Reese\\",\\"Elyssa Reese\\",FEMALE,27,Reese,Reese,\\"(empty)\\",Monday,0,\\"elyssa@reese-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565401,\\"sold_product_565401_24966, sold_product_565401_14951\\",\\"sold_product_565401_24966, sold_product_565401_14951\\",\\"42, 24.984\\",\\"42, 24.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"21.828, 11.75\\",\\"42, 24.984\\",\\"24,966, 14,951\\",\\"High heeled boots - black, Jersey dress - black\\",\\"High heeled boots - black, Jersey dress - black\\",\\"1, 1\\",\\"ZO0014800148, ZO0154501545\\",\\"0, 0\\",\\"42, 24.984\\",\\"42, 24.984\\",\\"0, 0\\",\\"ZO0014800148, ZO0154501545\\",67,67,2,2,order,elyssa +MQMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Hopkins\\",\\"Elyssa Hopkins\\",FEMALE,27,Hopkins,Hopkins,\\"(empty)\\",Monday,0,\\"elyssa@hopkins-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Champion Arts, Oceanavigations\\",\\"Champion Arts, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565728,\\"sold_product_565728_22660, sold_product_565728_17747\\",\\"sold_product_565728_22660, sold_product_565728_17747\\",\\"20.984, 75\\",\\"20.984, 75\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Oceanavigations\\",\\"Champion Arts, Oceanavigations\\",\\"11.117, 38.25\\",\\"20.984, 75\\",\\"22,660, 17,747\\",\\"Tracksuit bottoms - dark grey multicolor, Ankle boots - black\\",\\"Tracksuit bottoms - dark grey multicolor, Ankle boots - black\\",\\"1, 1\\",\\"ZO0486404864, ZO0248602486\\",\\"0, 0\\",\\"20.984, 75\\",\\"20.984, 75\\",\\"0, 0\\",\\"ZO0486404864, ZO0248602486\\",96,96,2,2,order,elyssa +DQMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Craig\\",\\"Rabbia Al Craig\\",FEMALE,5,Craig,Craig,\\"(empty)\\",Monday,0,\\"rabbia al@craig-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565489,\\"sold_product_565489_17610, sold_product_565489_23396\\",\\"sold_product_565489_17610, sold_product_565489_23396\\",\\"13.992, 7.988\\",\\"13.992, 7.988\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"7.41, 3.6\\",\\"13.992, 7.988\\",\\"17,610, 23,396\\",\\"Belt - black, Vest - black\\",\\"Belt - black, Vest - black\\",\\"1, 1\\",\\"ZO0077200772, ZO0643006430\\",\\"0, 0\\",\\"13.992, 7.988\\",\\"13.992, 7.988\\",\\"0, 0\\",\\"ZO0077200772, ZO0643006430\\",\\"21.984\\",\\"21.984\\",2,2,order,rabbia +EAMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Padilla\\",\\"Abdulraheem Al Padilla\\",MALE,33,Padilla,Padilla,\\"(empty)\\",Monday,0,\\"abdulraheem al@padilla-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565366,\\"sold_product_565366_2077, sold_product_565366_14547\\",\\"sold_product_565366_2077, sold_product_565366_14547\\",\\"75, 24.984\\",\\"75, 24.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"37.5, 12.25\\",\\"75, 24.984\\",\\"2,077, 14,547\\",\\"Trainers - black, Jumper - camel/black\\",\\"Trainers - black, Jumper - camel/black\\",\\"1, 1\\",\\"ZO0684906849, ZO0575905759\\",\\"0, 0\\",\\"75, 24.984\\",\\"75, 24.984\\",\\"0, 0\\",\\"ZO0684906849, ZO0575905759\\",100,100,2,2,order,abdulraheem +xwMtOW0BH63Xcmy45Wq4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Women's Accessories\\",\\"Men's Clothing, Women's Accessories\\",EUR,Tariq,Tariq,\\"Tariq Gilbert\\",\\"Tariq Gilbert\\",MALE,25,Gilbert,Gilbert,\\"(empty)\\",Monday,0,\\"tariq@gilbert-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",720445,\\"sold_product_720445_22855, sold_product_720445_19704, sold_product_720445_12699, sold_product_720445_13347\\",\\"sold_product_720445_22855, sold_product_720445_19704, sold_product_720445_12699, sold_product_720445_13347\\",\\"22.984, 13.992, 42, 11.992\\",\\"22.984, 13.992, 42, 11.992\\",\\"Men's Clothing, Men's Clothing, Women's Accessories, Women's Accessories\\",\\"Men's Clothing, Men's Clothing, Women's Accessories, Women's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Low Tide Media, Oceanavigations, Oceanavigations, Oceanavigations\\",\\"Low Tide Media, Oceanavigations, Oceanavigations, Oceanavigations\\",\\"10.813, 6.859, 22.672, 6.23\\",\\"22.984, 13.992, 42, 11.992\\",\\"22,855, 19,704, 12,699, 13,347\\",\\"Shorts - black, Print T-shirt - grey multicolor, Weekend bag - dessert, Sunglasses - black\\",\\"Shorts - black, Print T-shirt - grey multicolor, Weekend bag - dessert, Sunglasses - black\\",\\"1, 1, 1, 1\\",\\"ZO0423004230, ZO0292702927, ZO0320003200, ZO0318303183\\",\\"0, 0, 0, 0\\",\\"22.984, 13.992, 42, 11.992\\",\\"22.984, 13.992, 42, 11.992\\",\\"0, 0, 0, 0\\",\\"ZO0423004230, ZO0292702927, ZO0320003200, ZO0318303183\\",\\"90.938\\",\\"90.938\\",4,4,order,tariq +0wMtOW0BH63Xcmy45Wq4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Youssef,Youssef,\\"Youssef Graham\\",\\"Youssef Graham\\",MALE,31,Graham,Graham,\\"(empty)\\",Monday,0,\\"youssef@graham-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565768,\\"sold_product_565768_19338, sold_product_565768_19206\\",\\"sold_product_565768_19338, sold_product_565768_19206\\",\\"22.984, 33\\",\\"22.984, 33\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"12.18, 15.18\\",\\"22.984, 33\\",\\"19,338, 19,206\\",\\"Sweatshirt - dark grey multicolor, Suit trousers - navy\\",\\"Sweatshirt - dark grey multicolor, Suit trousers - navy\\",\\"1, 1\\",\\"ZO0458004580, ZO0273402734\\",\\"0, 0\\",\\"22.984, 33\\",\\"22.984, 33\\",\\"0, 0\\",\\"ZO0458004580, ZO0273402734\\",\\"55.969\\",\\"55.969\\",2,2,order,youssef +7gMtOW0BH63Xcmy45Wq4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Gwen,Gwen,\\"Gwen Harvey\\",\\"Gwen Harvey\\",FEMALE,26,Harvey,Harvey,\\"(empty)\\",Monday,0,\\"gwen@harvey-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Champion Arts, Low Tide Media\\",\\"Champion Arts, Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565538,\\"sold_product_565538_23676, sold_product_565538_16054\\",\\"sold_product_565538_23676, sold_product_565538_16054\\",\\"24.984, 55\\",\\"24.984, 55\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Low Tide Media\\",\\"Champion Arts, Low Tide Media\\",\\"12.25, 25.297\\",\\"24.984, 55\\",\\"23,676, 16,054\\",\\"Slim fit jeans - brown, Platform sandals - black\\",\\"Slim fit jeans - brown, Platform sandals - black\\",\\"1, 1\\",\\"ZO0486804868, ZO0371603716\\",\\"0, 0\\",\\"24.984, 55\\",\\"24.984, 55\\",\\"0, 0\\",\\"ZO0486804868, ZO0371603716\\",80,80,2,2,order,gwen +\\"-wMtOW0BH63Xcmy45Wq4\\",ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Brigitte,Brigitte,\\"Brigitte Gilbert\\",\\"Brigitte Gilbert\\",FEMALE,12,Gilbert,Gilbert,\\"(empty)\\",Monday,0,\\"brigitte@gilbert-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Tigress Enterprises MAMA\\",\\"Tigress Enterprises, Tigress Enterprises MAMA\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565404,\\"sold_product_565404_23482, sold_product_565404_19328\\",\\"sold_product_565404_23482, sold_product_565404_19328\\",\\"42, 33\\",\\"42, 33\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises MAMA\\",\\"Tigress Enterprises, Tigress Enterprises MAMA\\",\\"22.672, 17.813\\",\\"42, 33\\",\\"23,482, 19,328\\",\\"Cocktail dress / Party dress - pomegranate/black, Shift dress - black/champagne\\",\\"Cocktail dress / Party dress - pomegranate/black, Shift dress - black/champagne\\",\\"1, 1\\",\\"ZO0048900489, ZO0228702287\\",\\"0, 0\\",\\"42, 33\\",\\"42, 33\\",\\"0, 0\\",\\"ZO0048900489, ZO0228702287\\",75,75,2,2,order,brigitte +EwMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Jimenez\\",\\"Sultan Al Jimenez\\",MALE,19,Jimenez,Jimenez,\\"(empty)\\",Monday,0,\\"sultan al@jimenez-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",715961,\\"sold_product_715961_18507, sold_product_715961_19182, sold_product_715961_17545, sold_product_715961_15806\\",\\"sold_product_715961_18507, sold_product_715961_19182, sold_product_715961_17545, sold_product_715961_15806\\",\\"24.984, 16.984, 7.988, 13.992\\",\\"24.984, 16.984, 7.988, 13.992\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Low Tide Media, Oceanavigations, Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Oceanavigations, Low Tide Media, Low Tide Media\\",\\"11.25, 8.156, 4.148, 7.27\\",\\"24.984, 16.984, 7.988, 13.992\\",\\"18,507, 19,182, 17,545, 15,806\\",\\"Vibrant Pattern Polo, Print T-shirt - light grey multicolor, Basic T-shirt - blue multicolor, Belt - dark brown\\",\\"Vibrant Pattern Polo, Print T-shirt - light grey multicolor, Basic T-shirt - blue multicolor, Belt - dark brown\\",\\"1, 1, 1, 1\\",\\"ZO0444904449, ZO0292502925, ZO0434604346, ZO0461804618\\",\\"0, 0, 0, 0\\",\\"24.984, 16.984, 7.988, 13.992\\",\\"24.984, 16.984, 7.988, 13.992\\",\\"0, 0, 0, 0\\",\\"ZO0444904449, ZO0292502925, ZO0434604346, ZO0461804618\\",\\"63.969\\",\\"63.969\\",4,4,order,sultan +VwMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Wise\\",\\"Rabbia Al Wise\\",FEMALE,5,Wise,Wise,\\"(empty)\\",Monday,0,\\"rabbia al@wise-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Champion Arts, Oceanavigations\\",\\"Champion Arts, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566382,\\"sold_product_566382_15477, sold_product_566382_20551\\",\\"sold_product_566382_15477, sold_product_566382_20551\\",\\"18.984, 65\\",\\"18.984, 65\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Oceanavigations\\",\\"Champion Arts, Oceanavigations\\",\\"9.68, 33.781\\",\\"18.984, 65\\",\\"15,477, 20,551\\",\\"Sweatshirt - black, Lace-ups - Purple\\",\\"Sweatshirt - black, Lace-ups - Purple\\",\\"1, 1\\",\\"ZO0503505035, ZO0240302403\\",\\"0, 0\\",\\"18.984, 65\\",\\"18.984, 65\\",\\"0, 0\\",\\"ZO0503505035, ZO0240302403\\",84,84,2,2,order,rabbia +XgMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Frances,Frances,\\"Frances Salazar\\",\\"Frances Salazar\\",FEMALE,49,Salazar,Salazar,\\"(empty)\\",Monday,0,\\"frances@salazar-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",Microlutions,Microlutions,\\"Jun 23, 2019 @ 00:00:00.000\\",565877,\\"sold_product_565877_20689, sold_product_565877_19983\\",\\"sold_product_565877_20689, sold_product_565877_19983\\",\\"33, 28.984\\",\\"33, 28.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Microlutions\\",\\"Microlutions, Microlutions\\",\\"15.18, 15.07\\",\\"33, 28.984\\",\\"20,689, 19,983\\",\\"Sweatshirt - light grey, Sweatshirt - black\\",\\"Sweatshirt - light grey, Sweatshirt - black\\",\\"1, 1\\",\\"ZO0125401254, ZO0123701237\\",\\"0, 0\\",\\"33, 28.984\\",\\"33, 28.984\\",\\"0, 0\\",\\"ZO0125401254, ZO0123701237\\",\\"61.969\\",\\"61.969\\",2,2,order,frances +bgMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Robbie,Robbie,\\"Robbie Farmer\\",\\"Robbie Farmer\\",MALE,48,Farmer,Farmer,\\"(empty)\\",Monday,0,\\"robbie@farmer-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,Elitelligence,Elitelligence,\\"Jun 23, 2019 @ 00:00:00.000\\",566364,\\"sold_product_566364_15434, sold_product_566364_15384\\",\\"sold_product_566364_15434, sold_product_566364_15384\\",\\"33, 33\\",\\"33, 33\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"16.813, 17.156\\",\\"33, 33\\",\\"15,434, 15,384\\",\\"High-top trainers - black, Denim jacket - grey\\",\\"High-top trainers - black, Denim jacket - grey\\",\\"1, 1\\",\\"ZO0512505125, ZO0525005250\\",\\"0, 0\\",\\"33, 33\\",\\"33, 33\\",\\"0, 0\\",\\"ZO0512505125, ZO0525005250\\",66,66,2,2,order,robbie +vwMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Robbie,Robbie,\\"Robbie Holland\\",\\"Robbie Holland\\",MALE,48,Holland,Holland,\\"(empty)\\",Monday,0,\\"robbie@holland-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565479,\\"sold_product_565479_16738, sold_product_565479_14474\\",\\"sold_product_565479_16738, sold_product_565479_14474\\",\\"20.984, 65\\",\\"20.984, 65\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"11.539, 34.438\\",\\"20.984, 65\\",\\"16,738, 14,474\\",\\"Tracksuit top - red, Briefcase - dark brown\\",\\"Tracksuit top - red, Briefcase - dark brown\\",\\"1, 1\\",\\"ZO0588805888, ZO0314903149\\",\\"0, 0\\",\\"20.984, 65\\",\\"20.984, 65\\",\\"0, 0\\",\\"ZO0588805888, ZO0314903149\\",86,86,2,2,order,robbie +wwMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Butler\\",\\"Mostafa Butler\\",MALE,9,Butler,Butler,\\"(empty)\\",Monday,0,\\"mostafa@butler-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565360,\\"sold_product_565360_11937, sold_product_565360_6497\\",\\"sold_product_565360_11937, sold_product_565360_6497\\",\\"33, 60\\",\\"33, 60\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"18.141, 31.188\\",\\"33, 60\\",\\"11,937, 6,497\\",\\"Jumper - navy, Colorful Cardigan\\",\\"Jumper - navy, Colorful Cardigan\\",\\"1, 1\\",\\"ZO0448604486, ZO0450704507\\",\\"0, 0\\",\\"33, 60\\",\\"33, 60\\",\\"0, 0\\",\\"ZO0448604486, ZO0450704507\\",93,93,2,2,order,mostafa +zwMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Kamal,Kamal,\\"Kamal Perkins\\",\\"Kamal Perkins\\",MALE,39,Perkins,Perkins,\\"(empty)\\",Monday,0,\\"kamal@perkins-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565734,\\"sold_product_565734_23476, sold_product_565734_15158\\",\\"sold_product_565734_23476, sold_product_565734_15158\\",\\"24.984, 65\\",\\"24.984, 65\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"12.492, 33.125\\",\\"24.984, 65\\",\\"23,476, 15,158\\",\\"High-top trainers - allblack, Boots - grey\\",\\"High-top trainers - allblack, Boots - grey\\",\\"1, 1\\",\\"ZO0513205132, ZO0258202582\\",\\"0, 0\\",\\"24.984, 65\\",\\"24.984, 65\\",\\"0, 0\\",\\"ZO0513205132, ZO0258202582\\",90,90,2,2,order,kamal +gAMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Powell\\",\\"Sultan Al Powell\\",MALE,19,Powell,Powell,\\"(empty)\\",Monday,0,\\"sultan al@powell-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",Elitelligence,Elitelligence,\\"Jun 23, 2019 @ 00:00:00.000\\",566514,\\"sold_product_566514_6827, sold_product_566514_11745\\",\\"sold_product_566514_6827, sold_product_566514_11745\\",\\"33, 10.992\\",\\"33, 10.992\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"17.156, 5.281\\",\\"33, 10.992\\",\\"6,827, 11,745\\",\\"Denim jacket - black denim, T-bar sandals - black/orange\\",\\"Denim jacket - black denim, T-bar sandals - black/orange\\",\\"1, 1\\",\\"ZO0539305393, ZO0522305223\\",\\"0, 0\\",\\"33, 10.992\\",\\"33, 10.992\\",\\"0, 0\\",\\"ZO0539305393, ZO0522305223\\",\\"43.969\\",\\"43.969\\",2,2,order,sultan +gQMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Clarice,Clarice,\\"Clarice Summers\\",\\"Clarice Summers\\",FEMALE,18,Summers,Summers,\\"(empty)\\",Monday,0,\\"clarice@summers-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Angeldale, Pyramidustries\\",\\"Angeldale, Pyramidustries\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565970,\\"sold_product_565970_25000, sold_product_565970_20678\\",\\"sold_product_565970_25000, sold_product_565970_20678\\",\\"85, 16.984\\",\\"85, 16.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Pyramidustries\\",\\"Angeldale, Pyramidustries\\",\\"40.813, 7.82\\",\\"85, 16.984\\",\\"25,000, 20,678\\",\\"Ankle boots - setter, Long sleeved top - black\\",\\"Ankle boots - setter, Long sleeved top - black\\",\\"1, 1\\",\\"ZO0673406734, ZO0165601656\\",\\"0, 0\\",\\"85, 16.984\\",\\"85, 16.984\\",\\"0, 0\\",\\"ZO0673406734, ZO0165601656\\",102,102,2,2,order,clarice +kgMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing, Women's Accessories\\",\\"Women's Shoes, Women's Clothing, Women's Accessories\\",EUR,Elyssa,Elyssa,\\"Elyssa Richards\\",\\"Elyssa Richards\\",FEMALE,27,Richards,Richards,\\"(empty)\\",Monday,0,\\"elyssa@richards-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Oceanavigations, Spherecords, Tigress Enterprises\\",\\"Oceanavigations, Spherecords, Tigress Enterprises\\",\\"Jun 23, 2019 @ 00:00:00.000\\",723242,\\"sold_product_723242_5979, sold_product_723242_12451, sold_product_723242_13462, sold_product_723242_14976\\",\\"sold_product_723242_5979, sold_product_723242_12451, sold_product_723242_13462, sold_product_723242_14976\\",\\"75, 7.988, 24.984, 16.984\\",\\"75, 7.988, 24.984, 16.984\\",\\"Women's Shoes, Women's Clothing, Women's Accessories, Women's Clothing\\",\\"Women's Shoes, Women's Clothing, Women's Accessories, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Oceanavigations, Spherecords, Tigress Enterprises, Spherecords\\",\\"Oceanavigations, Spherecords, Tigress Enterprises, Spherecords\\",\\"33.75, 3.68, 11.75, 9.172\\",\\"75, 7.988, 24.984, 16.984\\",\\"5,979, 12,451, 13,462, 14,976\\",\\"Ankle boots - Antique White, Vest - black, Handbag - cognac , Mini skirt - dark blue\\",\\"Ankle boots - Antique White, Vest - black, Handbag - cognac , Mini skirt - dark blue\\",\\"1, 1, 1, 1\\",\\"ZO0249702497, ZO0643306433, ZO0088900889, ZO0634406344\\",\\"0, 0, 0, 0\\",\\"75, 7.988, 24.984, 16.984\\",\\"75, 7.988, 24.984, 16.984\\",\\"0, 0, 0, 0\\",\\"ZO0249702497, ZO0643306433, ZO0088900889, ZO0634406344\\",\\"124.938\\",\\"124.938\\",4,4,order,elyssa +mAMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Abd,Abd,\\"Abd Cook\\",\\"Abd Cook\\",MALE,52,Cook,Cook,\\"(empty)\\",Monday,0,\\"abd@cook-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 23, 2019 @ 00:00:00.000\\",720399,\\"sold_product_720399_11133, sold_product_720399_24282, sold_product_720399_1435, sold_product_720399_13054\\",\\"sold_product_720399_11133, sold_product_720399_24282, sold_product_720399_1435, sold_product_720399_13054\\",\\"24.984, 7.988, 75, 24.984\\",\\"24.984, 7.988, 75, 24.984\\",\\"Men's Shoes, Men's Clothing, Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing, Men's Shoes, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Low Tide Media, Elitelligence, Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence, Low Tide Media, Elitelligence\\",\\"12.25, 4.148, 34.5, 13.742\\",\\"24.984, 7.988, 75, 24.984\\",\\"11,133, 24,282, 1,435, 13,054\\",\\"Smart lace-ups - black, Print T-shirt - bordeaux, Lace-up boots - Peru, Sweatshirt - black/red/white\\",\\"Smart lace-ups - black, Print T-shirt - bordeaux, Lace-up boots - Peru, Sweatshirt - black/red/white\\",\\"1, 1, 1, 1\\",\\"ZO0386303863, ZO0561905619, ZO0397903979, ZO0590105901\\",\\"0, 0, 0, 0\\",\\"24.984, 7.988, 75, 24.984\\",\\"24.984, 7.988, 75, 24.984\\",\\"0, 0, 0, 0\\",\\"ZO0386303863, ZO0561905619, ZO0397903979, ZO0590105901\\",133,133,4,4,order,abd +vQMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Hicham,Hicham,\\"Hicham Hopkins\\",\\"Hicham Hopkins\\",MALE,8,Hopkins,Hopkins,\\"(empty)\\",Monday,0,\\"hicham@hopkins-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566580,\\"sold_product_566580_19404, sold_product_566580_16718\\",\\"sold_product_566580_19404, sold_product_566580_16718\\",\\"33, 33\\",\\"33, 33\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"17.484, 17.813\\",\\"33, 33\\",\\"19,404, 16,718\\",\\"Shirt - olive, Tracksuit top - black\\",\\"Shirt - olive, Tracksuit top - black\\",\\"1, 1\\",\\"ZO0417304173, ZO0123001230\\",\\"0, 0\\",\\"33, 33\\",\\"33, 33\\",\\"0, 0\\",\\"ZO0417304173, ZO0123001230\\",66,66,2,2,order,hicham +ygMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Robbie,Robbie,\\"Robbie Moran\\",\\"Robbie Moran\\",MALE,48,Moran,Moran,\\"(empty)\\",Monday,0,\\"robbie@moran-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566671,\\"sold_product_566671_22991, sold_product_566671_17752\\",\\"sold_product_566671_22991, sold_product_566671_17752\\",\\"50, 37\\",\\"50, 37\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"23, 17.391\\",\\"50, 37\\",\\"22,991, 17,752\\",\\"SOLID - Summer jacket - mustard, Slim fit jeans - black denim\\",\\"SOLID - Summer jacket - mustard, Slim fit jeans - black denim\\",\\"1, 1\\",\\"ZO0427604276, ZO0113801138\\",\\"0, 0\\",\\"50, 37\\",\\"50, 37\\",\\"0, 0\\",\\"ZO0427604276, ZO0113801138\\",87,87,2,2,order,robbie +zgMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Abd,Abd,\\"Abd Watkins\\",\\"Abd Watkins\\",MALE,52,Watkins,Watkins,\\"(empty)\\",Monday,0,\\"abd@watkins-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566176,\\"sold_product_566176_15205, sold_product_566176_7038\\",\\"sold_product_566176_15205, sold_product_566176_7038\\",\\"24.984, 85\\",\\"24.984, 85\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"13.242, 44.188\\",\\"24.984, 85\\",\\"15,205, 7,038\\",\\"Briefcase - black , Parka - mustard\\",\\"Briefcase - black , Parka - mustard\\",\\"1, 1\\",\\"ZO0607206072, ZO0431404314\\",\\"0, 0\\",\\"24.984, 85\\",\\"24.984, 85\\",\\"0, 0\\",\\"ZO0607206072, ZO0431404314\\",110,110,2,2,order,abd +zwMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,rania,rania,\\"rania Carr\\",\\"rania Carr\\",FEMALE,24,Carr,Carr,\\"(empty)\\",Monday,0,\\"rania@carr-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566146,\\"sold_product_566146_24862, sold_product_566146_22163\\",\\"sold_product_566146_24862, sold_product_566146_22163\\",\\"10.992, 20.984\\",\\"10.992, 20.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"5.5, 10.703\\",\\"10.992, 20.984\\",\\"24,862, 22,163\\",\\"Print T-shirt - dark blue/off white, Leggings - black\\",\\"Print T-shirt - dark blue/off white, Leggings - black\\",\\"1, 1\\",\\"ZO0646206462, ZO0146201462\\",\\"0, 0\\",\\"10.992, 20.984\\",\\"10.992, 20.984\\",\\"0, 0\\",\\"ZO0646206462, ZO0146201462\\",\\"31.984\\",\\"31.984\\",2,2,order,rani +kgMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Dawson\\",\\"Abigail Dawson\\",FEMALE,46,Dawson,Dawson,\\"(empty)\\",Monday,0,\\"abigail@dawson-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Champion Arts, Pyramidustries active\\",\\"Champion Arts, Pyramidustries active\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565760,\\"sold_product_565760_21930, sold_product_565760_9980\\",\\"sold_product_565760_21930, sold_product_565760_9980\\",\\"50, 20.984\\",\\"50, 20.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Pyramidustries active\\",\\"Champion Arts, Pyramidustries active\\",\\"22.5, 9.867\\",\\"50, 20.984\\",\\"21,930, 9,980\\",\\"Classic coat - black/white, Tights - poseidon\\",\\"Classic coat - black/white, Tights - poseidon\\",\\"1, 1\\",\\"ZO0504505045, ZO0223802238\\",\\"0, 0\\",\\"50, 20.984\\",\\"50, 20.984\\",\\"0, 0\\",\\"ZO0504505045, ZO0223802238\\",71,71,2,2,order,abigail +mAMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Diane,Diane,\\"Diane Lloyd\\",\\"Diane Lloyd\\",FEMALE,22,Lloyd,Lloyd,\\"(empty)\\",Monday,0,\\"diane@lloyd-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Spherecords, Crystal Lighting\\",\\"Spherecords, Crystal Lighting\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565521,\\"sold_product_565521_12423, sold_product_565521_11487\\",\\"sold_product_565521_12423, sold_product_565521_11487\\",\\"14.992, 85\\",\\"14.992, 85\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Crystal Lighting\\",\\"Spherecords, Crystal Lighting\\",\\"6.898, 38.25\\",\\"14.992, 85\\",\\"12,423, 11,487\\",\\"Nightie - black/off white, Snowboard jacket - coralle/grey multicolor\\",\\"Nightie - black/off white, Snowboard jacket - coralle/grey multicolor\\",\\"1, 1\\",\\"ZO0660406604, ZO0484504845\\",\\"0, 0\\",\\"14.992, 85\\",\\"14.992, 85\\",\\"0, 0\\",\\"ZO0660406604, ZO0484504845\\",100,100,2,2,order,diane +nQMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Mary,Mary,\\"Mary Martin\\",\\"Mary Martin\\",FEMALE,20,Martin,Martin,\\"(empty)\\",Monday,0,\\"mary@martin-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Tigress Enterprises Curvy, Spherecords\\",\\"Tigress Enterprises Curvy, Spherecords\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566320,\\"sold_product_566320_14149, sold_product_566320_23774\\",\\"sold_product_566320_14149, sold_product_566320_23774\\",\\"24.984, 14.992\\",\\"24.984, 14.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises Curvy, Spherecords\\",\\"Tigress Enterprises Curvy, Spherecords\\",\\"13.492, 7.941\\",\\"24.984, 14.992\\",\\"14,149, 23,774\\",\\"Blouse - Medium Sea Green, Cardigan - dark blue\\",\\"Blouse - Medium Sea Green, Cardigan - dark blue\\",\\"1, 1\\",\\"ZO0105001050, ZO0652306523\\",\\"0, 0\\",\\"24.984, 14.992\\",\\"24.984, 14.992\\",\\"0, 0\\",\\"ZO0105001050, ZO0652306523\\",\\"39.969\\",\\"39.969\\",2,2,order,mary +ngMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Stephanie,Stephanie,\\"Stephanie Cortez\\",\\"Stephanie Cortez\\",FEMALE,6,Cortez,Cortez,\\"(empty)\\",Monday,0,\\"stephanie@cortez-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566357,\\"sold_product_566357_14019, sold_product_566357_14225\\",\\"sold_product_566357_14019, sold_product_566357_14225\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"13.242, 7.82\\",\\"24.984, 16.984\\",\\"14,019, 14,225\\",\\"Vest - black, Sweatshirt - dark grey multicolor\\",\\"Vest - black, Sweatshirt - dark grey multicolor\\",\\"1, 1\\",\\"ZO0061600616, ZO0180701807\\",\\"0, 0\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"0, 0\\",\\"ZO0061600616, ZO0180701807\\",\\"41.969\\",\\"41.969\\",2,2,order,stephanie +nwMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,rania,rania,\\"rania Howell\\",\\"rania Howell\\",FEMALE,24,Howell,Howell,\\"(empty)\\",Monday,0,\\"rania@howell-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Oceanavigations, Angeldale\\",\\"Oceanavigations, Angeldale\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566415,\\"sold_product_566415_18928, sold_product_566415_17913\\",\\"sold_product_566415_18928, sold_product_566415_17913\\",\\"50, 75\\",\\"50, 75\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Angeldale\\",\\"Oceanavigations, Angeldale\\",\\"25.984, 36.75\\",\\"50, 75\\",\\"18,928, 17,913\\",\\"Summer dress - black/red, Wedges - white\\",\\"Summer dress - black/red, Wedges - white\\",\\"1, 1\\",\\"ZO0261102611, ZO0667106671\\",\\"0, 0\\",\\"50, 75\\",\\"50, 75\\",\\"0, 0\\",\\"ZO0261102611, ZO0667106671\\",125,125,2,2,order,rani +wQMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Jackson\\",\\"Mostafa Jackson\\",MALE,9,Jackson,Jackson,\\"(empty)\\",Monday,0,\\"mostafa@jackson-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566044,\\"sold_product_566044_19539, sold_product_566044_19704\\",\\"sold_product_566044_19539, sold_product_566044_19704\\",\\"10.992, 13.992\\",\\"10.992, 13.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"5.059, 6.859\\",\\"10.992, 13.992\\",\\"19,539, 19,704\\",\\"Print T-shirt - white, Print T-shirt - grey multicolor\\",\\"Print T-shirt - white, Print T-shirt - grey multicolor\\",\\"1, 1\\",\\"ZO0552605526, ZO0292702927\\",\\"0, 0\\",\\"10.992, 13.992\\",\\"10.992, 13.992\\",\\"0, 0\\",\\"ZO0552605526, ZO0292702927\\",\\"24.984\\",\\"24.984\\",2,2,order,mostafa +8QMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Diane,Diane,\\"Diane Reese\\",\\"Diane Reese\\",FEMALE,22,Reese,Reese,\\"(empty)\\",Monday,0,\\"diane@reese-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565473,\\"sold_product_565473_13838, sold_product_565473_13437\\",\\"sold_product_565473_13838, sold_product_565473_13437\\",\\"42, 50\\",\\"42, 50\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"19.734, 22.5\\",\\"42, 50\\",\\"13,838, 13,437\\",\\"Ballet pumps - cognac, Ballet pumps - black\\",\\"Ballet pumps - cognac, Ballet pumps - black\\",\\"1, 1\\",\\"ZO0365303653, ZO0235802358\\",\\"0, 0\\",\\"42, 50\\",\\"42, 50\\",\\"0, 0\\",\\"ZO0365303653, ZO0235802358\\",92,92,2,2,order,diane +9AMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Clarice,Clarice,\\"Clarice Mccormick\\",\\"Clarice Mccormick\\",FEMALE,18,Mccormick,Mccormick,\\"(empty)\\",Monday,0,\\"clarice@mccormick-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Gnomehouse, Angeldale\\",\\"Gnomehouse, Angeldale\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565339,\\"sold_product_565339_21573, sold_product_565339_15153\\",\\"sold_product_565339_21573, sold_product_565339_15153\\",\\"33, 75\\",\\"33, 75\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Angeldale\\",\\"Gnomehouse, Angeldale\\",\\"17.156, 39\\",\\"33, 75\\",\\"21,573, 15,153\\",\\"Print T-shirt - Yellow, Ankle boots - black\\",\\"Print T-shirt - Yellow, Ankle boots - black\\",\\"1, 1\\",\\"ZO0346503465, ZO0678406784\\",\\"0, 0\\",\\"33, 75\\",\\"33, 75\\",\\"0, 0\\",\\"ZO0346503465, ZO0678406784\\",108,108,2,2,order,clarice +ZgMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Irwin,Irwin,\\"Irwin Bryant\\",\\"Irwin Bryant\\",MALE,14,Bryant,Bryant,\\"(empty)\\",Monday,0,\\"irwin@bryant-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565591,\\"sold_product_565591_1910, sold_product_565591_12445\\",\\"sold_product_565591_1910, sold_product_565591_12445\\",\\"65, 42\\",\\"65, 42\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"31.844, 21.406\\",\\"65, 42\\",\\"1,910, 12,445\\",\\"Smart lace-ups - black, Waistcoat - light grey\\",\\"Smart lace-ups - black, Waistcoat - light grey\\",\\"1, 1\\",\\"ZO0683806838, ZO0429204292\\",\\"0, 0\\",\\"65, 42\\",\\"65, 42\\",\\"0, 0\\",\\"ZO0683806838, ZO0429204292\\",107,107,2,2,order,irwin +eAMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories, Women's Shoes\\",\\"Women's Clothing, Women's Accessories, Women's Shoes\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Maldonado\\",\\"Rabbia Al Maldonado\\",FEMALE,5,Maldonado,Maldonado,\\"(empty)\\",Monday,0,\\"rabbia al@maldonado-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Champion Arts, Pyramidustries, Primemaster, Angeldale\\",\\"Champion Arts, Pyramidustries, Primemaster, Angeldale\\",\\"Jun 23, 2019 @ 00:00:00.000\\",730725,\\"sold_product_730725_17276, sold_product_730725_15007, sold_product_730725_5421, sold_product_730725_16594\\",\\"sold_product_730725_17276, sold_product_730725_15007, sold_product_730725_5421, sold_product_730725_16594\\",\\"20.984, 11.992, 185, 65\\",\\"20.984, 11.992, 185, 65\\",\\"Women's Clothing, Women's Accessories, Women's Shoes, Women's Accessories\\",\\"Women's Clothing, Women's Accessories, Women's Shoes, Women's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Champion Arts, Pyramidustries, Primemaster, Angeldale\\",\\"Champion Arts, Pyramidustries, Primemaster, Angeldale\\",\\"10.078, 5.52, 83.25, 29.906\\",\\"20.984, 11.992, 185, 65\\",\\"17,276, 15,007, 5,421, 16,594\\",\\"Jumper - blue multicolor, Watch - grey, High heeled boots - brown, Handbag - black\\",\\"Jumper - blue multicolor, Watch - grey, High heeled boots - brown, Handbag - black\\",\\"1, 1, 1, 1\\",\\"ZO0501605016, ZO0189601896, ZO0363003630, ZO0699306993\\",\\"0, 0, 0, 0\\",\\"20.984, 11.992, 185, 65\\",\\"20.984, 11.992, 185, 65\\",\\"0, 0, 0, 0\\",\\"ZO0501605016, ZO0189601896, ZO0363003630, ZO0699306993\\",283,283,4,4,order,rabbia +1wMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Pia,Pia,\\"Pia Craig\\",\\"Pia Craig\\",FEMALE,45,Craig,Craig,\\"(empty)\\",Monday,0,\\"pia@craig-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Pyramidustries, Oceanavigations\\",\\"Pyramidustries, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566443,\\"sold_product_566443_22619, sold_product_566443_24107\\",\\"sold_product_566443_22619, sold_product_566443_24107\\",\\"17.984, 33\\",\\"17.984, 33\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Oceanavigations\\",\\"Pyramidustries, Oceanavigations\\",\\"8.102, 15.18\\",\\"17.984, 33\\",\\"22,619, 24,107\\",\\"Long sleeved top - black, Jumper dress - grey multicolor\\",\\"Long sleeved top - black, Jumper dress - grey multicolor\\",\\"1, 1\\",\\"ZO0160201602, ZO0261502615\\",\\"0, 0\\",\\"17.984, 33\\",\\"17.984, 33\\",\\"0, 0\\",\\"ZO0160201602, ZO0261502615\\",\\"50.969\\",\\"50.969\\",2,2,order,pia +2AMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Marwan,Marwan,\\"Marwan Little\\",\\"Marwan Little\\",MALE,51,Little,Little,\\"(empty)\\",Monday,0,\\"marwan@little-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566498,\\"sold_product_566498_17075, sold_product_566498_11878\\",\\"sold_product_566498_17075, sold_product_566498_11878\\",\\"60, 10.992\\",\\"60, 10.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"31.797, 5.059\\",\\"60, 10.992\\",\\"17,075, 11,878\\",\\"Smart lace-ups - cognac, Long sleeved top - bordeaux\\",\\"Smart lace-ups - cognac, Long sleeved top - bordeaux\\",\\"1, 1\\",\\"ZO0387103871, ZO0550005500\\",\\"0, 0\\",\\"60, 10.992\\",\\"60, 10.992\\",\\"0, 0\\",\\"ZO0387103871, ZO0550005500\\",71,71,2,2,order,marwan +2wMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Perkins\\",\\"Abdulraheem Al Perkins\\",MALE,33,Perkins,Perkins,\\"(empty)\\",Monday,0,\\"abdulraheem al@perkins-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565985,\\"sold_product_565985_22376, sold_product_565985_6969\\",\\"sold_product_565985_22376, sold_product_565985_6969\\",\\"10.992, 24.984\\",\\"10.992, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"5.602, 12.742\\",\\"10.992, 24.984\\",\\"22,376, 6,969\\",\\"Long sleeved top - white, Shirt - blue\\",\\"Long sleeved top - white, Shirt - blue\\",\\"1, 1\\",\\"ZO0436604366, ZO0280302803\\",\\"0, 0\\",\\"10.992, 24.984\\",\\"10.992, 24.984\\",\\"0, 0\\",\\"ZO0436604366, ZO0280302803\\",\\"35.969\\",\\"35.969\\",2,2,order,abdulraheem +3QMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Dawson\\",\\"Abigail Dawson\\",FEMALE,46,Dawson,Dawson,\\"(empty)\\",Monday,0,\\"abigail@dawson-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565640,\\"sold_product_565640_11983, sold_product_565640_18500\\",\\"sold_product_565640_11983, sold_product_565640_18500\\",\\"24.984, 44\\",\\"24.984, 44\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"12.492, 22\\",\\"24.984, 44\\",\\"11,983, 18,500\\",\\"Summer dress - red, Jersey dress - black/grey\\",\\"Summer dress - red, Jersey dress - black/grey\\",\\"1, 1\\",\\"ZO0631606316, ZO0045300453\\",\\"0, 0\\",\\"24.984, 44\\",\\"24.984, 44\\",\\"0, 0\\",\\"ZO0631606316, ZO0045300453\\",69,69,2,2,order,abigail +3gMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Frances,Frances,\\"Frances Morrison\\",\\"Frances Morrison\\",FEMALE,49,Morrison,Morrison,\\"(empty)\\",Monday,0,\\"frances@morrison-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565683,\\"sold_product_565683_11862, sold_product_565683_16135\\",\\"sold_product_565683_11862, sold_product_565683_16135\\",\\"22.984, 16.984\\",\\"22.984, 16.984\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"11.492, 8.656\\",\\"22.984, 16.984\\",\\"11,862, 16,135\\",\\"Jumper - black, Belt - dark brown\\",\\"Jumper - black, Belt - dark brown\\",\\"1, 1\\",\\"ZO0573205732, ZO0310303103\\",\\"0, 0\\",\\"22.984, 16.984\\",\\"22.984, 16.984\\",\\"0, 0\\",\\"ZO0573205732, ZO0310303103\\",\\"39.969\\",\\"39.969\\",2,2,order,frances +\\"-QMtOW0BH63Xcmy4524Z\\",ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Yuri,Yuri,\\"Yuri Wise\\",\\"Yuri Wise\\",MALE,21,Wise,Wise,\\"(empty)\\",Monday,0,\\"yuri@wise-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565767,\\"sold_product_565767_18958, sold_product_565767_24243\\",\\"sold_product_565767_18958, sold_product_565767_24243\\",\\"26.984, 24.984\\",\\"26.984, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"14.031, 13.242\\",\\"26.984, 24.984\\",\\"18,958, 24,243\\",\\"Formal shirt - white, Slim fit jeans - dirty denim\\",\\"Formal shirt - white, Slim fit jeans - dirty denim\\",\\"1, 1\\",\\"ZO0414304143, ZO0425204252\\",\\"0, 0\\",\\"26.984, 24.984\\",\\"26.984, 24.984\\",\\"0, 0\\",\\"ZO0414304143, ZO0425204252\\",\\"51.969\\",\\"51.969\\",2,2,order,yuri +IAMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Sonya,Sonya,\\"Sonya Salazar\\",\\"Sonya Salazar\\",FEMALE,28,Salazar,Salazar,\\"(empty)\\",Monday,0,\\"sonya@salazar-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Spherecords Maternity, Tigress Enterprises\\",\\"Spherecords Maternity, Tigress Enterprises\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566452,\\"sold_product_566452_11504, sold_product_566452_16385\\",\\"sold_product_566452_11504, sold_product_566452_16385\\",\\"11.992, 28.984\\",\\"11.992, 28.984\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords Maternity, Tigress Enterprises\\",\\"Spherecords Maternity, Tigress Enterprises\\",\\"5.879, 13.047\\",\\"11.992, 28.984\\",\\"11,504, 16,385\\",\\"Basic T-shirt - darkblue/white, Sandals - gold\\",\\"Basic T-shirt - darkblue/white, Sandals - gold\\",\\"1, 1\\",\\"ZO0706307063, ZO0011300113\\",\\"0, 0\\",\\"11.992, 28.984\\",\\"11.992, 28.984\\",\\"0, 0\\",\\"ZO0706307063, ZO0011300113\\",\\"40.969\\",\\"40.969\\",2,2,order,sonya +IgMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Jackson,Jackson,\\"Jackson Willis\\",\\"Jackson Willis\\",MALE,13,Willis,Willis,\\"(empty)\\",Monday,0,\\"jackson@willis-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565982,\\"sold_product_565982_15828, sold_product_565982_15722\\",\\"sold_product_565982_15828, sold_product_565982_15722\\",\\"10.992, 13.992\\",\\"10.992, 13.992\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"5.172, 7.41\\",\\"10.992, 13.992\\",\\"15,828, 15,722\\",\\"Tie - black, Belt - brown\\",\\"Tie - black, Belt - brown\\",\\"1, 1\\",\\"ZO0410804108, ZO0309303093\\",\\"0, 0\\",\\"10.992, 13.992\\",\\"10.992, 13.992\\",\\"0, 0\\",\\"ZO0410804108, ZO0309303093\\",\\"24.984\\",\\"24.984\\",2,2,order,jackson +UAMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Simpson\\",\\"Rabbia Al Simpson\\",FEMALE,5,Simpson,Simpson,\\"(empty)\\",Monday,0,\\"rabbia al@simpson-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Pyramidustries, Spherecords, Tigress Enterprises MAMA\\",\\"Pyramidustries, Spherecords, Tigress Enterprises MAMA\\",\\"Jun 23, 2019 @ 00:00:00.000\\",726754,\\"sold_product_726754_17171, sold_product_726754_25083, sold_product_726754_21081, sold_product_726754_13554\\",\\"sold_product_726754_17171, sold_product_726754_25083, sold_product_726754_21081, sold_product_726754_13554\\",\\"33, 10.992, 16.984, 24.984\\",\\"33, 10.992, 16.984, 24.984\\",\\"Women's Shoes, Women's Clothing, Women's Clothing, Women's Clothing\\",\\"Women's Shoes, Women's Clothing, Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Pyramidustries, Spherecords, Pyramidustries, Tigress Enterprises MAMA\\",\\"Pyramidustries, Spherecords, Pyramidustries, Tigress Enterprises MAMA\\",\\"16.813, 5.172, 8.156, 12.25\\",\\"33, 10.992, 16.984, 24.984\\",\\"17,171, 25,083, 21,081, 13,554\\",\\"Platform sandals - black, Basic T-shirt - dark blue, Cape - black/offwhite, Jersey dress - black\\",\\"Platform sandals - black, Basic T-shirt - dark blue, Cape - black/offwhite, Jersey dress - black\\",\\"1, 1, 1, 1\\",\\"ZO0138001380, ZO0648006480, ZO0193501935, ZO0228402284\\",\\"0, 0, 0, 0\\",\\"33, 10.992, 16.984, 24.984\\",\\"33, 10.992, 16.984, 24.984\\",\\"0, 0, 0, 0\\",\\"ZO0138001380, ZO0648006480, ZO0193501935, ZO0228402284\\",\\"85.938\\",\\"85.938\\",4,4,order,rabbia +YAMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,rania,rania,\\"rania Nash\\",\\"rania Nash\\",FEMALE,24,Nash,Nash,\\"(empty)\\",Monday,0,\\"rania@nash-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",Oceanavigations,Oceanavigations,\\"Jun 23, 2019 @ 00:00:00.000\\",565723,\\"sold_product_565723_15629, sold_product_565723_18709\\",\\"sold_product_565723_15629, sold_product_565723_18709\\",\\"33, 75\\",\\"33, 75\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"15.18, 39.75\\",\\"33, 75\\",\\"15,629, 18,709\\",\\"Watch - gold-coloured, Boots - nude\\",\\"Watch - gold-coloured, Boots - nude\\",\\"1, 1\\",\\"ZO0302303023, ZO0246602466\\",\\"0, 0\\",\\"33, 75\\",\\"33, 75\\",\\"0, 0\\",\\"ZO0302303023, ZO0246602466\\",108,108,2,2,order,rani +agMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Men's Clothing\\",\\"Women's Accessories, Men's Clothing\\",EUR,Youssef,Youssef,\\"Youssef Hayes\\",\\"Youssef Hayes\\",MALE,31,Hayes,Hayes,\\"(empty)\\",Monday,0,\\"youssef@hayes-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565896,\\"sold_product_565896_13186, sold_product_565896_15296\\",\\"sold_product_565896_13186, sold_product_565896_15296\\",\\"42, 18.984\\",\\"42, 18.984\\",\\"Women's Accessories, Men's Clothing\\",\\"Women's Accessories, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"21.828, 9.117\\",\\"42, 18.984\\",\\"13,186, 15,296\\",\\"Across body bag - navy, Polo shirt - red\\",\\"Across body bag - navy, Polo shirt - red\\",\\"1, 1\\",\\"ZO0466104661, ZO0444104441\\",\\"0, 0\\",\\"42, 18.984\\",\\"42, 18.984\\",\\"0, 0\\",\\"ZO0466104661, ZO0444104441\\",\\"60.969\\",\\"60.969\\",2,2,order,youssef +jgMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Abd,Abd,\\"Abd Summers\\",\\"Abd Summers\\",MALE,52,Summers,Summers,\\"(empty)\\",Monday,0,\\"abd@summers-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Microlutions, Oceanavigations, Elitelligence\\",\\"Microlutions, Oceanavigations, Elitelligence\\",\\"Jun 23, 2019 @ 00:00:00.000\\",718085,\\"sold_product_718085_20302, sold_product_718085_15787, sold_product_718085_11532, sold_product_718085_13238\\",\\"sold_product_718085_20302, sold_product_718085_15787, sold_product_718085_11532, sold_product_718085_13238\\",\\"13.992, 15.992, 7.988, 10.992\\",\\"13.992, 15.992, 7.988, 10.992\\",\\"Men's Clothing, Men's Accessories, Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Accessories, Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Microlutions, Oceanavigations, Elitelligence, Elitelligence\\",\\"Microlutions, Oceanavigations, Elitelligence, Elitelligence\\",\\"7.27, 8.469, 3.76, 4.949\\",\\"13.992, 15.992, 7.988, 10.992\\",\\"20,302, 15,787, 11,532, 13,238\\",\\"3 PACK - Shorts - khaki/camo, Belt - black, Basic T-shirt - khaki, Print T-shirt - beige\\",\\"3 PACK - Shorts - khaki/camo, Belt - black, Basic T-shirt - khaki, Print T-shirt - beige\\",\\"1, 1, 1, 1\\",\\"ZO0129001290, ZO0310103101, ZO0547805478, ZO0560805608\\",\\"0, 0, 0, 0\\",\\"13.992, 15.992, 7.988, 10.992\\",\\"13.992, 15.992, 7.988, 10.992\\",\\"0, 0, 0, 0\\",\\"ZO0129001290, ZO0310103101, ZO0547805478, ZO0560805608\\",\\"48.969\\",\\"48.969\\",4,4,order,abd +zQMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Bryant\\",\\"Rabbia Al Bryant\\",FEMALE,5,Bryant,Bryant,\\"(empty)\\",Monday,0,\\"rabbia al@bryant-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Angeldale, Pyramidustries\\",\\"Angeldale, Pyramidustries\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566248,\\"sold_product_566248_14303, sold_product_566248_14542\\",\\"sold_product_566248_14303, sold_product_566248_14542\\",\\"75, 24.984\\",\\"75, 24.984\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Pyramidustries\\",\\"Angeldale, Pyramidustries\\",\\"36, 13.242\\",\\"75, 24.984\\",\\"14,303, 14,542\\",\\"Ankle boots - black, Tote bag - black\\",\\"Ankle boots - black, Tote bag - black\\",\\"1, 1\\",\\"ZO0678806788, ZO0186101861\\",\\"0, 0\\",\\"75, 24.984\\",\\"75, 24.984\\",\\"0, 0\\",\\"ZO0678806788, ZO0186101861\\",100,100,2,2,order,rabbia +2QMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Alvarez\\",\\"Fitzgerald Alvarez\\",MALE,11,Alvarez,Alvarez,\\"(empty)\\",Monday,0,\\"fitzgerald@alvarez-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565560,\\"sold_product_565560_23771, sold_product_565560_18408\\",\\"sold_product_565560_23771, sold_product_565560_18408\\",\\"10.992, 11.992\\",\\"10.992, 11.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"5.5, 6.352\\",\\"10.992, 11.992\\",\\"23,771, 18,408\\",\\"Basic T-shirt - Medium Slate Blue, Polo shirt - black\\",\\"Basic T-shirt - Medium Slate Blue, Polo shirt - black\\",\\"1, 1\\",\\"ZO0567505675, ZO0442104421\\",\\"0, 0\\",\\"10.992, 11.992\\",\\"10.992, 11.992\\",\\"0, 0\\",\\"ZO0567505675, ZO0442104421\\",\\"22.984\\",\\"22.984\\",2,2,order,fuzzy +IQMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Hicham,Hicham,\\"Hicham Hale\\",\\"Hicham Hale\\",MALE,8,Hale,Hale,\\"(empty)\\",Monday,0,\\"hicham@hale-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566186,\\"sold_product_566186_24868, sold_product_566186_23962\\",\\"sold_product_566186_24868, sold_product_566186_23962\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"10.703, 11.5\\",\\"20.984, 24.984\\",\\"24,868, 23,962\\",\\"Walking sandals - white/grey/black, Sweatshirt - navy multicolor \\",\\"Walking sandals - white/grey/black, Sweatshirt - navy multicolor \\",\\"1, 1\\",\\"ZO0522105221, ZO0459104591\\",\\"0, 0\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"0, 0\\",\\"ZO0522105221, ZO0459104591\\",\\"45.969\\",\\"45.969\\",2,2,order,hicham +IgMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Foster\\",\\"Wilhemina St. Foster\\",FEMALE,17,Foster,Foster,\\"(empty)\\",Monday,0,\\"wilhemina st.@foster-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Champion Arts, Pyramidustries\\",\\"Champion Arts, Pyramidustries\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566155,\\"sold_product_566155_13946, sold_product_566155_21158\\",\\"sold_product_566155_13946, sold_product_566155_21158\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Pyramidustries\\",\\"Champion Arts, Pyramidustries\\",\\"9.656, 12.25\\",\\"20.984, 24.984\\",\\"13,946, 21,158\\",\\"Hoodie - dark grey multicolor, Pyjamas - light pink\\",\\"Hoodie - dark grey multicolor, Pyjamas - light pink\\",\\"1, 1\\",\\"ZO0501005010, ZO0214002140\\",\\"0, 0\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"0, 0\\",\\"ZO0501005010, ZO0214002140\\",\\"45.969\\",\\"45.969\\",2,2,order,wilhemina +IwMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Sonya,Sonya,\\"Sonya Dawson\\",\\"Sonya Dawson\\",FEMALE,28,Dawson,Dawson,\\"(empty)\\",Monday,0,\\"sonya@dawson-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566628,\\"sold_product_566628_11077, sold_product_566628_19514\\",\\"sold_product_566628_11077, sold_product_566628_19514\\",\\"24.984, 11.992\\",\\"24.984, 11.992\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"12.492, 6.352\\",\\"24.984, 11.992\\",\\"11,077, 19,514\\",\\"Tote bag - cognac, 3 PACK - Shorts - teal/dark purple/black\\",\\"Tote bag - cognac, 3 PACK - Shorts - teal/dark purple/black\\",\\"1, 1\\",\\"ZO0195601956, ZO0098900989\\",\\"0, 0\\",\\"24.984, 11.992\\",\\"24.984, 11.992\\",\\"0, 0\\",\\"ZO0195601956, ZO0098900989\\",\\"36.969\\",\\"36.969\\",2,2,order,sonya +JAMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Phillips\\",\\"Mostafa Phillips\\",MALE,9,Phillips,Phillips,\\"(empty)\\",Monday,0,\\"mostafa@phillips-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Angeldale, Microlutions\\",\\"Angeldale, Microlutions\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566519,\\"sold_product_566519_21909, sold_product_566519_12714\\",\\"sold_product_566519_21909, sold_product_566519_12714\\",\\"16.984, 85\\",\\"16.984, 85\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Microlutions\\",\\"Angeldale, Microlutions\\",\\"9.172, 40.813\\",\\"16.984, 85\\",\\"21,909, 12,714\\",\\"Belt - black, Classic coat - black\\",\\"Belt - black, Classic coat - black\\",\\"1, 1\\",\\"ZO0700907009, ZO0115801158\\",\\"0, 0\\",\\"16.984, 85\\",\\"16.984, 85\\",\\"0, 0\\",\\"ZO0700907009, ZO0115801158\\",102,102,2,2,order,mostafa +JQMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Stephanie,Stephanie,\\"Stephanie Powell\\",\\"Stephanie Powell\\",FEMALE,6,Powell,Powell,\\"(empty)\\",Monday,0,\\"stephanie@powell-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Champion Arts, Spherecords\\",\\"Champion Arts, Spherecords\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565697,\\"sold_product_565697_11530, sold_product_565697_17565\\",\\"sold_product_565697_11530, sold_product_565697_17565\\",\\"16.984, 11.992\\",\\"16.984, 11.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Spherecords\\",\\"Champion Arts, Spherecords\\",\\"8.156, 6\\",\\"16.984, 11.992\\",\\"11,530, 17,565\\",\\"Hoodie - dark red, 2 PACK - Vest - black/nude\\",\\"Hoodie - dark red, 2 PACK - Vest - black/nude\\",\\"1, 1\\",\\"ZO0498904989, ZO0641706417\\",\\"0, 0\\",\\"16.984, 11.992\\",\\"16.984, 11.992\\",\\"0, 0\\",\\"ZO0498904989, ZO0641706417\\",\\"28.984\\",\\"28.984\\",2,2,order,stephanie +JgMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories\\",\\"Women's Accessories\\",EUR,Pia,Pia,\\"Pia Ramsey\\",\\"Pia Ramsey\\",FEMALE,45,Ramsey,Ramsey,\\"(empty)\\",Monday,0,\\"pia@ramsey-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566417,\\"sold_product_566417_14379, sold_product_566417_13936\\",\\"sold_product_566417_14379, sold_product_566417_13936\\",\\"11.992, 11.992\\",\\"11.992, 11.992\\",\\"Women's Accessories, Women's Accessories\\",\\"Women's Accessories, Women's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"6.469, 5.52\\",\\"11.992, 11.992\\",\\"14,379, 13,936\\",\\"Snood - grey, Scarf - bordeaux\\",\\"Snood - grey, Scarf - bordeaux\\",\\"1, 1\\",\\"ZO0084900849, ZO0194701947\\",\\"0, 0\\",\\"11.992, 11.992\\",\\"11.992, 11.992\\",\\"0, 0\\",\\"ZO0084900849, ZO0194701947\\",\\"23.984\\",\\"23.984\\",2,2,order,pia +fwMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Pia,Pia,\\"Pia Mccarthy\\",\\"Pia Mccarthy\\",FEMALE,45,Mccarthy,Mccarthy,\\"(empty)\\",Monday,0,\\"pia@mccarthy-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Spherecords, Champion Arts\\",\\"Spherecords, Champion Arts\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565722,\\"sold_product_565722_12551, sold_product_565722_22941\\",\\"sold_product_565722_12551, sold_product_565722_22941\\",\\"16.984, 10.992\\",\\"16.984, 10.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Champion Arts\\",\\"Spherecords, Champion Arts\\",\\"8.328, 5.82\\",\\"16.984, 10.992\\",\\"12,551, 22,941\\",\\"Cardigan - light grey multicolor, Print T-shirt - dark blue/red\\",\\"Cardigan - light grey multicolor, Print T-shirt - dark blue/red\\",\\"1, 1\\",\\"ZO0656406564, ZO0495504955\\",\\"0, 0\\",\\"16.984, 10.992\\",\\"16.984, 10.992\\",\\"0, 0\\",\\"ZO0656406564, ZO0495504955\\",\\"27.984\\",\\"27.984\\",2,2,order,pia +lAMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Boris,Boris,\\"Boris Foster\\",\\"Boris Foster\\",MALE,36,Foster,Foster,\\"(empty)\\",Monday,0,\\"boris@foster-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",Spritechnologies,Spritechnologies,\\"Jun 23, 2019 @ 00:00:00.000\\",565330,\\"sold_product_565330_16276, sold_product_565330_24760\\",\\"sold_product_565330_16276, sold_product_565330_24760\\",\\"20.984, 50\\",\\"20.984, 50\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Spritechnologies\\",\\"Spritechnologies, Spritechnologies\\",\\"9.453, 26.484\\",\\"20.984, 50\\",\\"16,276, 24,760\\",\\"Tracksuit bottoms - dark grey multicolor, Sweatshirt - black\\",\\"Tracksuit bottoms - dark grey multicolor, Sweatshirt - black\\",\\"1, 1\\",\\"ZO0621606216, ZO0628806288\\",\\"0, 0\\",\\"20.984, 50\\",\\"20.984, 50\\",\\"0, 0\\",\\"ZO0621606216, ZO0628806288\\",71,71,2,2,order,boris +lQMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Betty,Betty,\\"Betty Graham\\",\\"Betty Graham\\",FEMALE,44,Graham,Graham,\\"(empty)\\",Monday,0,\\"betty@graham-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565381,\\"sold_product_565381_23349, sold_product_565381_12141\\",\\"sold_product_565381_23349, sold_product_565381_12141\\",\\"16.984, 7.988\\",\\"16.984, 7.988\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"8.328, 4.148\\",\\"16.984, 7.988\\",\\"23,349, 12,141\\",\\"Basic T-shirt - black, Belt - taupe\\",\\"Basic T-shirt - black, Belt - taupe\\",\\"1, 1\\",\\"ZO0060200602, ZO0076300763\\",\\"0, 0\\",\\"16.984, 7.988\\",\\"16.984, 7.988\\",\\"0, 0\\",\\"ZO0060200602, ZO0076300763\\",\\"24.984\\",\\"24.984\\",2,2,order,betty +vQMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Kamal,Kamal,\\"Kamal Riley\\",\\"Kamal Riley\\",MALE,39,Riley,Riley,\\"(empty)\\",Monday,0,\\"kamal@riley-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565564,\\"sold_product_565564_19843, sold_product_565564_10979\\",\\"sold_product_565564_19843, sold_product_565564_10979\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"12.492, 7.988\\",\\"24.984, 16.984\\",\\"19,843, 10,979\\",\\"Cardigan - white/blue/khaki, Print T-shirt - dark green\\",\\"Cardigan - white/blue/khaki, Print T-shirt - dark green\\",\\"1, 1\\",\\"ZO0576305763, ZO0116801168\\",\\"0, 0\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"0, 0\\",\\"ZO0576305763, ZO0116801168\\",\\"41.969\\",\\"41.969\\",2,2,order,kamal +wAMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Thad,Thad,\\"Thad Parker\\",\\"Thad Parker\\",MALE,30,Parker,Parker,\\"(empty)\\",Monday,0,\\"thad@parker-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565392,\\"sold_product_565392_17873, sold_product_565392_14058\\",\\"sold_product_565392_17873, sold_product_565392_14058\\",\\"10.992, 20.984\\",\\"10.992, 20.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"5.602, 10.492\\",\\"10.992, 20.984\\",\\"17,873, 14,058\\",\\"Sports shirt - Seashell, Sweatshirt - mottled light grey\\",\\"Sports shirt - Seashell, Sweatshirt - mottled light grey\\",\\"1, 1\\",\\"ZO0616606166, ZO0592205922\\",\\"0, 0\\",\\"10.992, 20.984\\",\\"10.992, 20.984\\",\\"0, 0\\",\\"ZO0616606166, ZO0592205922\\",\\"31.984\\",\\"31.984\\",2,2,order,thad +wQMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Stephanie,Stephanie,\\"Stephanie Henderson\\",\\"Stephanie Henderson\\",FEMALE,6,Henderson,Henderson,\\"(empty)\\",Monday,0,\\"stephanie@henderson-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Tigress Enterprises, Karmanite\\",\\"Tigress Enterprises, Karmanite\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565410,\\"sold_product_565410_22028, sold_product_565410_5066\\",\\"sold_product_565410_22028, sold_product_565410_5066\\",\\"33, 100\\",\\"33, 100\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Karmanite\\",\\"Tigress Enterprises, Karmanite\\",\\"15.844, 45\\",\\"33, 100\\",\\"22,028, 5,066\\",\\"Ankle boots - cognac, Boots - black\\",\\"Ankle boots - cognac, Boots - black\\",\\"1, 1\\",\\"ZO0023600236, ZO0704307043\\",\\"0, 0\\",\\"33, 100\\",\\"33, 100\\",\\"0, 0\\",\\"ZO0023600236, ZO0704307043\\",133,133,2,2,order,stephanie +\\"-AMtOW0BH63Xcmy453H9\\",ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Walters\\",\\"Elyssa Walters\\",FEMALE,27,Walters,Walters,\\"(empty)\\",Monday,0,\\"elyssa@walters-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565504,\\"sold_product_565504_21839, sold_product_565504_19546\\",\\"sold_product_565504_21839, sold_product_565504_19546\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"11.75, 21\\",\\"24.984, 42\\",\\"21,839, 19,546\\",\\"Jumper - dark grey multicolor, Summer dress - black\\",\\"Jumper - dark grey multicolor, Summer dress - black\\",\\"1, 1\\",\\"ZO0653406534, ZO0049300493\\",\\"0, 0\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"0, 0\\",\\"ZO0653406534, ZO0049300493\\",67,67,2,2,order,elyssa +\\"-wMtOW0BH63Xcmy453H9\\",ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Betty,Betty,\\"Betty Allison\\",\\"Betty Allison\\",FEMALE,44,Allison,Allison,\\"(empty)\\",Monday,0,\\"betty@allison-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Spherecords, Low Tide Media\\",\\"Spherecords, Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565334,\\"sold_product_565334_17565, sold_product_565334_24798\\",\\"sold_product_565334_17565, sold_product_565334_24798\\",\\"11.992, 75\\",\\"11.992, 75\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Low Tide Media\\",\\"Spherecords, Low Tide Media\\",\\"6, 35.25\\",\\"11.992, 75\\",\\"17,565, 24,798\\",\\"2 PACK - Vest - black/nude, Lace-up boots - black\\",\\"2 PACK - Vest - black/nude, Lace-up boots - black\\",\\"1, 1\\",\\"ZO0641706417, ZO0382303823\\",\\"0, 0\\",\\"11.992, 75\\",\\"11.992, 75\\",\\"0, 0\\",\\"ZO0641706417, ZO0382303823\\",87,87,2,2,order,betty +IQMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Phil,Phil,\\"Phil Strickland\\",\\"Phil Strickland\\",MALE,50,Strickland,Strickland,\\"(empty)\\",Monday,0,\\"phil@strickland-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Spherecords, Angeldale\\",\\"Spherecords, Angeldale\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566079,\\"sold_product_566079_22969, sold_product_566079_775\\",\\"sold_product_566079_22969, sold_product_566079_775\\",\\"24.984, 60\\",\\"24.984, 60\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Angeldale\\",\\"Spherecords, Angeldale\\",\\"12.992, 30.594\\",\\"24.984, 60\\",\\"22,969, 775\\",\\"Pyjamas - blue, Boots - black\\",\\"Pyjamas - blue, Boots - black\\",\\"1, 1\\",\\"ZO0663306633, ZO0687306873\\",\\"0, 0\\",\\"24.984, 60\\",\\"24.984, 60\\",\\"0, 0\\",\\"ZO0663306633, ZO0687306873\\",85,85,2,2,order,phil +IgMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty Gilbert\\",\\"Betty Gilbert\\",FEMALE,44,Gilbert,Gilbert,\\"(empty)\\",Monday,0,\\"betty@gilbert-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises MAMA, Tigress Enterprises\\",\\"Tigress Enterprises MAMA, Tigress Enterprises\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566622,\\"sold_product_566622_13554, sold_product_566622_11691\\",\\"sold_product_566622_13554, sold_product_566622_11691\\",\\"24.984, 24.984\\",\\"24.984, 24.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises MAMA, Tigress Enterprises\\",\\"Tigress Enterprises MAMA, Tigress Enterprises\\",\\"12.25, 13.492\\",\\"24.984, 24.984\\",\\"13,554, 11,691\\",\\"Jersey dress - black, Cape - grey multicolor\\",\\"Jersey dress - black, Cape - grey multicolor\\",\\"1, 1\\",\\"ZO0228402284, ZO0082300823\\",\\"0, 0\\",\\"24.984, 24.984\\",\\"24.984, 24.984\\",\\"0, 0\\",\\"ZO0228402284, ZO0082300823\\",\\"49.969\\",\\"49.969\\",2,2,order,betty +IwMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Elyssa,Elyssa,\\"Elyssa Long\\",\\"Elyssa Long\\",FEMALE,27,Long,Long,\\"(empty)\\",Monday,0,\\"elyssa@long-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566650,\\"sold_product_566650_20286, sold_product_566650_16948\\",\\"sold_product_566650_20286, sold_product_566650_16948\\",\\"65, 14.992\\",\\"65, 14.992\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"34.438, 7.941\\",\\"65, 14.992\\",\\"20,286, 16,948\\",\\"Long-sleeved Maxi Dress, Scarf - black\\",\\"Long-sleeved Maxi Dress, Scarf - black\\",\\"1, 1\\",\\"ZO0049100491, ZO0194801948\\",\\"0, 0\\",\\"65, 14.992\\",\\"65, 14.992\\",\\"0, 0\\",\\"ZO0049100491, ZO0194801948\\",80,80,2,2,order,elyssa +JAMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Strickland\\",\\"Abigail Strickland\\",FEMALE,46,Strickland,Strickland,\\"(empty)\\",Monday,0,\\"abigail@strickland-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566295,\\"sold_product_566295_17554, sold_product_566295_22815\\",\\"sold_product_566295_17554, sold_product_566295_22815\\",\\"18.984, 24.984\\",\\"18.984, 24.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"9.313, 13.242\\",\\"18.984, 24.984\\",\\"17,554, 22,815\\",\\"Maxi dress - black, Jersey dress - black\\",\\"Maxi dress - black, Jersey dress - black\\",\\"1, 1\\",\\"ZO0635606356, ZO0043100431\\",\\"0, 0\\",\\"18.984, 24.984\\",\\"18.984, 24.984\\",\\"0, 0\\",\\"ZO0635606356, ZO0043100431\\",\\"43.969\\",\\"43.969\\",2,2,order,abigail +JQMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Clarice,Clarice,\\"Clarice Kim\\",\\"Clarice Kim\\",FEMALE,18,Kim,Kim,\\"(empty)\\",Monday,0,\\"clarice@kim-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Pyramidustries active, Gnomehouse\\",\\"Pyramidustries active, Gnomehouse\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566538,\\"sold_product_566538_9847, sold_product_566538_16537\\",\\"sold_product_566538_9847, sold_product_566538_16537\\",\\"24.984, 50\\",\\"24.984, 50\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries active, Gnomehouse\\",\\"Pyramidustries active, Gnomehouse\\",\\"13.492, 25.984\\",\\"24.984, 50\\",\\"9,847, 16,537\\",\\"Tights - black, Cocktail dress / Party dress - rose cloud\\",\\"Tights - black, Cocktail dress / Party dress - rose cloud\\",\\"1, 1\\",\\"ZO0224402244, ZO0342403424\\",\\"0, 0\\",\\"24.984, 50\\",\\"24.984, 50\\",\\"0, 0\\",\\"ZO0224402244, ZO0342403424\\",75,75,2,2,order,clarice +JgMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Clarice,Clarice,\\"Clarice Allison\\",\\"Clarice Allison\\",FEMALE,18,Allison,Allison,\\"(empty)\\",Monday,0,\\"clarice@allison-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565918,\\"sold_product_565918_14195, sold_product_565918_7629\\",\\"sold_product_565918_14195, sold_product_565918_7629\\",\\"16.984, 28.984\\",\\"16.984, 28.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"7.648, 14.492\\",\\"16.984, 28.984\\",\\"14,195, 7,629\\",\\"Jersey dress - black, Jumper - peacoat/winter white\\",\\"Jersey dress - black, Jumper - peacoat/winter white\\",\\"1, 1\\",\\"ZO0155001550, ZO0072100721\\",\\"0, 0\\",\\"16.984, 28.984\\",\\"16.984, 28.984\\",\\"0, 0\\",\\"ZO0155001550, ZO0072100721\\",\\"45.969\\",\\"45.969\\",2,2,order,clarice +UAMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Morrison\\",\\"Gwen Morrison\\",FEMALE,26,Morrison,Morrison,\\"(empty)\\",Monday,0,\\"gwen@morrison-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Tigress Enterprises, Crystal Lighting\\",\\"Tigress Enterprises, Crystal Lighting\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565678,\\"sold_product_565678_13792, sold_product_565678_22639\\",\\"sold_product_565678_13792, sold_product_565678_22639\\",\\"12.992, 24.984\\",\\"12.992, 24.984\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Crystal Lighting\\",\\"Tigress Enterprises, Crystal Lighting\\",\\"6.109, 11.25\\",\\"12.992, 24.984\\",\\"13,792, 22,639\\",\\"Scarf - white/grey, Wool jumper - white\\",\\"Scarf - white/grey, Wool jumper - white\\",\\"1, 1\\",\\"ZO0081800818, ZO0485604856\\",\\"0, 0\\",\\"12.992, 24.984\\",\\"12.992, 24.984\\",\\"0, 0\\",\\"ZO0081800818, ZO0485604856\\",\\"37.969\\",\\"37.969\\",2,2,order,gwen +UQMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Jason,Jason,\\"Jason Graves\\",\\"Jason Graves\\",MALE,16,Graves,Graves,\\"(empty)\\",Monday,0,\\"jason@graves-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Microlutions, Oceanavigations\\",\\"Microlutions, Oceanavigations\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566564,\\"sold_product_566564_11560, sold_product_566564_17533\\",\\"sold_product_566564_11560, sold_product_566564_17533\\",\\"60, 11.992\\",\\"60, 11.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Oceanavigations\\",\\"Microlutions, Oceanavigations\\",\\"29.406, 5.641\\",\\"60, 11.992\\",\\"11,560, 17,533\\",\\"Trainers - white, Print T-shirt - dark grey\\",\\"Trainers - white, Print T-shirt - dark grey\\",\\"1, 1\\",\\"ZO0107301073, ZO0293002930\\",\\"0, 0\\",\\"60, 11.992\\",\\"60, 11.992\\",\\"0, 0\\",\\"ZO0107301073, ZO0293002930\\",72,72,2,2,order,jason +ZgMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,rania,rania,\\"rania Dixon\\",\\"rania Dixon\\",FEMALE,24,Dixon,Dixon,\\"(empty)\\",Monday,0,\\"rania@dixon-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Tigress Enterprises, Champion Arts\\",\\"Tigress Enterprises, Champion Arts\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565498,\\"sold_product_565498_15436, sold_product_565498_16548\\",\\"sold_product_565498_15436, sold_product_565498_16548\\",\\"28.984, 16.984\\",\\"28.984, 16.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Champion Arts\\",\\"Tigress Enterprises, Champion Arts\\",\\"14.781, 9\\",\\"28.984, 16.984\\",\\"15,436, 16,548\\",\\"Jersey dress - anthra/black, Sweatshirt - black\\",\\"Jersey dress - anthra/black, Sweatshirt - black\\",\\"1, 1\\",\\"ZO0046600466, ZO0503305033\\",\\"0, 0\\",\\"28.984, 16.984\\",\\"28.984, 16.984\\",\\"0, 0\\",\\"ZO0046600466, ZO0503305033\\",\\"45.969\\",\\"45.969\\",2,2,order,rani +gAMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Yasmine,Yasmine,\\"Yasmine Sutton\\",\\"Yasmine Sutton\\",FEMALE,43,Sutton,Sutton,\\"(empty)\\",Monday,0,\\"yasmine@sutton-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Spherecords Curvy, Tigress Enterprises\\",\\"Spherecords Curvy, Tigress Enterprises\\",\\"Jun 23, 2019 @ 00:00:00.000\\",565793,\\"sold_product_565793_14151, sold_product_565793_22488\\",\\"sold_product_565793_14151, sold_product_565793_22488\\",\\"24.984, 28.984\\",\\"24.984, 28.984\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords Curvy, Tigress Enterprises\\",\\"Spherecords Curvy, Tigress Enterprises\\",\\"11.75, 15.07\\",\\"24.984, 28.984\\",\\"14,151, 22,488\\",\\"Slim fit jeans - mid blue denim, Lace-ups - black glitter\\",\\"Slim fit jeans - mid blue denim, Lace-ups - black glitter\\",\\"1, 1\\",\\"ZO0712807128, ZO0007500075\\",\\"0, 0\\",\\"24.984, 28.984\\",\\"24.984, 28.984\\",\\"0, 0\\",\\"ZO0712807128, ZO0007500075\\",\\"53.969\\",\\"53.969\\",2,2,order,yasmine +gQMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jason,Jason,\\"Jason Fletcher\\",\\"Jason Fletcher\\",MALE,16,Fletcher,Fletcher,\\"(empty)\\",Monday,0,\\"jason@fletcher-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566232,\\"sold_product_566232_21255, sold_product_566232_12532\\",\\"sold_product_566232_21255, sold_product_566232_12532\\",\\"7.988, 11.992\\",\\"7.988, 11.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"3.76, 6.352\\",\\"7.988, 11.992\\",\\"21,255, 12,532\\",\\"Basic T-shirt - black, Print T-shirt - navy ecru\\",\\"Basic T-shirt - black, Print T-shirt - navy ecru\\",\\"1, 1\\",\\"ZO0545205452, ZO0437304373\\",\\"0, 0\\",\\"7.988, 11.992\\",\\"7.988, 11.992\\",\\"0, 0\\",\\"ZO0545205452, ZO0437304373\\",\\"19.984\\",\\"19.984\\",2,2,order,jason +ggMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Tariq,Tariq,\\"Tariq Larson\\",\\"Tariq Larson\\",MALE,25,Larson,Larson,\\"(empty)\\",Monday,0,\\"tariq@larson-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566259,\\"sold_product_566259_22713, sold_product_566259_21314\\",\\"sold_product_566259_22713, sold_product_566259_21314\\",\\"60, 10.992\\",\\"60, 10.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"32.375, 6.039\\",\\"60, 10.992\\",\\"22,713, 21,314\\",\\"Boots - black, Print T-shirt - white\\",\\"Boots - black, Print T-shirt - white\\",\\"1, 1\\",\\"ZO0694206942, ZO0553805538\\",\\"0, 0\\",\\"60, 10.992\\",\\"60, 10.992\\",\\"0, 0\\",\\"ZO0694206942, ZO0553805538\\",71,71,2,2,order,tariq +pwMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Gwen,Gwen,\\"Gwen Walters\\",\\"Gwen Walters\\",FEMALE,26,Walters,Walters,\\"(empty)\\",Monday,0,\\"gwen@walters-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Champion Arts, Low Tide Media\\",\\"Champion Arts, Low Tide Media\\",\\"Jun 23, 2019 @ 00:00:00.000\\",566591,\\"sold_product_566591_19909, sold_product_566591_12575\\",\\"sold_product_566591_19909, sold_product_566591_12575\\",\\"28.984, 42\\",\\"28.984, 42\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 12, 2016 @ 00:00:00.000, Dec 12, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Low Tide Media\\",\\"Champion Arts, Low Tide Media\\",\\"13.047, 19.313\\",\\"28.984, 42\\",\\"19,909, 12,575\\",\\"Hoodie - black/white, Classic heels - nude\\",\\"Hoodie - black/white, Classic heels - nude\\",\\"1, 1\\",\\"ZO0502405024, ZO0366003660\\",\\"0, 0\\",\\"28.984, 42\\",\\"28.984, 42\\",\\"0, 0\\",\\"ZO0502405024, ZO0366003660\\",71,71,2,2,order,gwen +WQMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Yahya,Yahya,\\"Yahya Foster\\",\\"Yahya Foster\\",MALE,23,Foster,Foster,\\"(empty)\\",Sunday,6,\\"yahya@foster-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Elitelligence, Angeldale\\",\\"Elitelligence, Angeldale\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564670,\\"sold_product_564670_11411, sold_product_564670_23904\\",\\"sold_product_564670_11411, sold_product_564670_23904\\",\\"14.992, 85\\",\\"14.992, 85\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Angeldale\\",\\"Elitelligence, Angeldale\\",\\"8.094, 38.25\\",\\"14.992, 85\\",\\"11,411, 23,904\\",\\"Shorts - bordeaux mel, High-top trainers - black\\",\\"Shorts - bordeaux mel, High-top trainers - black\\",\\"1, 1\\",\\"ZO0531205312, ZO0684706847\\",\\"0, 0\\",\\"14.992, 85\\",\\"14.992, 85\\",\\"0, 0\\",\\"ZO0531205312, ZO0684706847\\",100,100,2,2,order,yahya +WgMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty Jimenez\\",\\"Betty Jimenez\\",FEMALE,44,Jimenez,Jimenez,\\"(empty)\\",Sunday,6,\\"betty@jimenez-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Oceanavigations, Champion Arts\\",\\"Oceanavigations, Champion Arts\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564710,\\"sold_product_564710_21089, sold_product_564710_10916\\",\\"sold_product_564710_21089, sold_product_564710_10916\\",\\"33, 20.984\\",\\"33, 20.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Champion Arts\\",\\"Oceanavigations, Champion Arts\\",\\"17.156, 10.906\\",\\"33, 20.984\\",\\"21,089, 10,916\\",\\"Jersey dress - black, Sweatshirt - black\\",\\"Jersey dress - black, Sweatshirt - black\\",\\"1, 1\\",\\"ZO0263402634, ZO0499404994\\",\\"0, 0\\",\\"33, 20.984\\",\\"33, 20.984\\",\\"0, 0\\",\\"ZO0263402634, ZO0499404994\\",\\"53.969\\",\\"53.969\\",2,2,order,betty +YAMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Clarice,Clarice,\\"Clarice Daniels\\",\\"Clarice Daniels\\",FEMALE,18,Daniels,Daniels,\\"(empty)\\",Sunday,6,\\"clarice@daniels-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Oceanavigations, Champion Arts\\",\\"Oceanavigations, Champion Arts\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564429,\\"sold_product_564429_19198, sold_product_564429_20939\\",\\"sold_product_564429_19198, sold_product_564429_20939\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Champion Arts\\",\\"Oceanavigations, Champion Arts\\",\\"24, 11.75\\",\\"50, 24.984\\",\\"19,198, 20,939\\",\\"Summer dress - grey, Shirt - black/white\\",\\"Summer dress - grey, Shirt - black/white\\",\\"1, 1\\",\\"ZO0260702607, ZO0495804958\\",\\"0, 0\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"0, 0\\",\\"ZO0260702607, ZO0495804958\\",75,75,2,2,order,clarice +YQMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Clayton\\",\\"Jackson Clayton\\",MALE,13,Clayton,Clayton,\\"(empty)\\",Sunday,6,\\"jackson@clayton-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564479,\\"sold_product_564479_6603, sold_product_564479_21164\\",\\"sold_product_564479_6603, sold_product_564479_21164\\",\\"75, 10.992\\",\\"75, 10.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"39, 5.93\\",\\"75, 10.992\\",\\"6,603, 21,164\\",\\"Suit jacket - navy, Long sleeved top - dark blue\\",\\"Suit jacket - navy, Long sleeved top - dark blue\\",\\"1, 1\\",\\"ZO0409304093, ZO0436904369\\",\\"0, 0\\",\\"75, 10.992\\",\\"75, 10.992\\",\\"0, 0\\",\\"ZO0409304093, ZO0436904369\\",86,86,2,2,order,jackson +YgMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Abd,Abd,\\"Abd Davidson\\",\\"Abd Davidson\\",MALE,52,Davidson,Davidson,\\"(empty)\\",Sunday,6,\\"abd@davidson-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564513,\\"sold_product_564513_1824, sold_product_564513_19618\\",\\"sold_product_564513_1824, sold_product_564513_19618\\",\\"42, 42\\",\\"42, 42\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"20.156, 21\\",\\"42, 42\\",\\"1,824, 19,618\\",\\"Casual lace-ups - Violet, Waistcoat - petrol\\",\\"Casual lace-ups - Violet, Waistcoat - petrol\\",\\"1, 1\\",\\"ZO0390003900, ZO0287902879\\",\\"0, 0\\",\\"42, 42\\",\\"42, 42\\",\\"0, 0\\",\\"ZO0390003900, ZO0287902879\\",84,84,2,2,order,abd +xAMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories\\",\\"Women's Accessories\\",EUR,Stephanie,Stephanie,\\"Stephanie Rowe\\",\\"Stephanie Rowe\\",FEMALE,6,Rowe,Rowe,\\"(empty)\\",Sunday,6,\\"stephanie@rowe-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Oceanavigations, Pyramidustries\\",\\"Oceanavigations, Pyramidustries\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564885,\\"sold_product_564885_16366, sold_product_564885_11518\\",\\"sold_product_564885_16366, sold_product_564885_11518\\",\\"21.984, 10.992\\",\\"21.984, 10.992\\",\\"Women's Accessories, Women's Accessories\\",\\"Women's Accessories, Women's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Pyramidustries\\",\\"Oceanavigations, Pyramidustries\\",\\"10.344, 5.281\\",\\"21.984, 10.992\\",\\"16,366, 11,518\\",\\"Wallet - red, Scarf - white/navy/red\\",\\"Wallet - red, Scarf - white/navy/red\\",\\"1, 1\\",\\"ZO0303803038, ZO0192501925\\",\\"0, 0\\",\\"21.984, 10.992\\",\\"21.984, 10.992\\",\\"0, 0\\",\\"ZO0303803038, ZO0192501925\\",\\"32.969\\",\\"32.969\\",2,2,order,stephanie +UwMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Bryant\\",\\"Mostafa Bryant\\",MALE,9,Bryant,Bryant,\\"(empty)\\",Sunday,6,\\"mostafa@bryant-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Spritechnologies, Low Tide Media\\",\\"Spritechnologies, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565150,\\"sold_product_565150_14275, sold_product_565150_22504\\",\\"sold_product_565150_14275, sold_product_565150_22504\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Low Tide Media\\",\\"Spritechnologies, Low Tide Media\\",\\"25, 13.492\\",\\"50, 24.984\\",\\"14,275, 22,504\\",\\"Winter jacket - black, Shirt - red-blue\\",\\"Winter jacket - black, Shirt - red-blue\\",\\"1, 1\\",\\"ZO0624906249, ZO0411604116\\",\\"0, 0\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"0, 0\\",\\"ZO0624906249, ZO0411604116\\",75,75,2,2,order,mostafa +VAMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",EUR,Jackson,Jackson,\\"Jackson Wood\\",\\"Jackson Wood\\",MALE,13,Wood,Wood,\\"(empty)\\",Sunday,6,\\"jackson@wood-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565206,\\"sold_product_565206_18416, sold_product_565206_16131\\",\\"sold_product_565206_18416, sold_product_565206_16131\\",\\"85, 60\\",\\"85, 60\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"45.031, 27\\",\\"85, 60\\",\\"18,416, 16,131\\",\\"Briefcase - dark brown, Lace-up boots - black\\",\\"Briefcase - dark brown, Lace-up boots - black\\",\\"1, 1\\",\\"ZO0316303163, ZO0401004010\\",\\"0, 0\\",\\"85, 60\\",\\"85, 60\\",\\"0, 0\\",\\"ZO0316303163, ZO0401004010\\",145,145,2,2,order,jackson +9QMtOW0BH63Xcmy44WJv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,rania,rania,\\"rania Baker\\",\\"rania Baker\\",FEMALE,24,Baker,Baker,\\"(empty)\\",Sunday,6,\\"rania@baker-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Pyramidustries active, Champion Arts\\",\\"Pyramidustries active, Champion Arts\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564759,\\"sold_product_564759_10104, sold_product_564759_20756\\",\\"sold_product_564759_10104, sold_product_564759_20756\\",\\"16.984, 10.992\\",\\"16.984, 10.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries active, Champion Arts\\",\\"Pyramidustries active, Champion Arts\\",\\"8.828, 5.059\\",\\"16.984, 10.992\\",\\"10,104, 20,756\\",\\"Print T-shirt - black, Print T-shirt - red\\",\\"Print T-shirt - black, Print T-shirt - red\\",\\"1, 1\\",\\"ZO0218802188, ZO0492604926\\",\\"0, 0\\",\\"16.984, 10.992\\",\\"16.984, 10.992\\",\\"0, 0\\",\\"ZO0218802188, ZO0492604926\\",\\"27.984\\",\\"27.984\\",2,2,order,rani +BAMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Massey\\",\\"Wilhemina St. Massey\\",FEMALE,17,Massey,Massey,\\"(empty)\\",Sunday,6,\\"wilhemina st.@massey-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Pyramidustries active, Champion Arts\\",\\"Pyramidustries active, Champion Arts\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564144,\\"sold_product_564144_20744, sold_product_564144_13946\\",\\"sold_product_564144_20744, sold_product_564144_13946\\",\\"16.984, 20.984\\",\\"16.984, 20.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries active, Champion Arts\\",\\"Pyramidustries active, Champion Arts\\",\\"8.328, 9.656\\",\\"16.984, 20.984\\",\\"20,744, 13,946\\",\\"Long sleeved top - black, Hoodie - dark grey multicolor\\",\\"Long sleeved top - black, Hoodie - dark grey multicolor\\",\\"1, 1\\",\\"ZO0218602186, ZO0501005010\\",\\"0, 0\\",\\"16.984, 20.984\\",\\"16.984, 20.984\\",\\"0, 0\\",\\"ZO0218602186, ZO0501005010\\",\\"37.969\\",\\"37.969\\",2,2,order,wilhemina +BgMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Abd,Abd,\\"Abd Smith\\",\\"Abd Smith\\",MALE,52,Smith,Smith,\\"(empty)\\",Sunday,6,\\"abd@smith-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",563909,\\"sold_product_563909_15619, sold_product_563909_17976\\",\\"sold_product_563909_15619, sold_product_563909_17976\\",\\"28.984, 24.984\\",\\"28.984, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"13.633, 12.25\\",\\"28.984, 24.984\\",\\"15,619, 17,976\\",\\"Jumper - dark blue, Jumper - blue\\",\\"Jumper - dark blue, Jumper - blue\\",\\"1, 1\\",\\"ZO0452804528, ZO0453604536\\",\\"0, 0\\",\\"28.984, 24.984\\",\\"28.984, 24.984\\",\\"0, 0\\",\\"ZO0452804528, ZO0453604536\\",\\"53.969\\",\\"53.969\\",2,2,order,abd +QgMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,Sonya,Sonya,\\"Sonya Thompson\\",\\"Sonya Thompson\\",FEMALE,28,Thompson,Thompson,\\"(empty)\\",Sunday,6,\\"sonya@thompson-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Pyramidustries, Low Tide Media\\",\\"Pyramidustries, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564869,\\"sold_product_564869_19715, sold_product_564869_7445\\",\\"sold_product_564869_19715, sold_product_564869_7445\\",\\"10.992, 42\\",\\"10.992, 42\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Low Tide Media\\",\\"Pyramidustries, Low Tide Media\\",\\"5.93, 20.578\\",\\"10.992, 42\\",\\"19,715, 7,445\\",\\"Snood - nude/turquoise/pink, High heels - black\\",\\"Snood - nude/turquoise/pink, High heels - black\\",\\"1, 1\\",\\"ZO0192401924, ZO0366703667\\",\\"0, 0\\",\\"10.992, 42\\",\\"10.992, 42\\",\\"0, 0\\",\\"ZO0192401924, ZO0366703667\\",\\"52.969\\",\\"52.969\\",2,2,order,sonya +jQMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",EUR,Recip,Recip,\\"Recip Tran\\",\\"Recip Tran\\",MALE,10,Tran,Tran,\\"(empty)\\",Sunday,6,\\"recip@tran-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564619,\\"sold_product_564619_19268, sold_product_564619_20016\\",\\"sold_product_564619_19268, sold_product_564619_20016\\",\\"85, 60\\",\\"85, 60\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"42.5, 28.203\\",\\"85, 60\\",\\"19,268, 20,016\\",\\"Briefcase - antique cognac, Lace-up boots - khaki\\",\\"Briefcase - antique cognac, Lace-up boots - khaki\\",\\"1, 1\\",\\"ZO0470304703, ZO0406204062\\",\\"0, 0\\",\\"85, 60\\",\\"85, 60\\",\\"0, 0\\",\\"ZO0470304703, ZO0406204062\\",145,145,2,2,order,recip +mwMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",EUR,Samir,Samir,\\"Samir Moss\\",\\"Samir Moss\\",MALE,34,Moss,Moss,\\"(empty)\\",Sunday,6,\\"samir@moss-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564237,\\"sold_product_564237_19840, sold_product_564237_13857\\",\\"sold_product_564237_19840, sold_product_564237_13857\\",\\"20.984, 33\\",\\"20.984, 33\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"10.289, 17.156\\",\\"20.984, 33\\",\\"19,840, 13,857\\",\\"Watch - black, Trainers - beige\\",\\"Watch - black, Trainers - beige\\",\\"1, 1\\",\\"ZO0311203112, ZO0395703957\\",\\"0, 0\\",\\"20.984, 33\\",\\"20.984, 33\\",\\"0, 0\\",\\"ZO0311203112, ZO0395703957\\",\\"53.969\\",\\"53.969\\",2,2,order,samir +\\"-QMtOW0BH63Xcmy44WNv\\",ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Moss\\",\\"Fitzgerald Moss\\",MALE,11,Moss,Moss,\\"(empty)\\",Sunday,6,\\"fitzgerald@moss-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564269,\\"sold_product_564269_18446, sold_product_564269_19731\\",\\"sold_product_564269_18446, sold_product_564269_19731\\",\\"37, 10.992\\",\\"37, 10.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"17.016, 5.059\\",\\"37, 10.992\\",\\"18,446, 19,731\\",\\"Shirt - dark grey multicolor, Print T-shirt - white/dark blue\\",\\"Shirt - dark grey multicolor, Print T-shirt - white/dark blue\\",\\"1, 1\\",\\"ZO0281102811, ZO0555705557\\",\\"0, 0\\",\\"37, 10.992\\",\\"37, 10.992\\",\\"0, 0\\",\\"ZO0281102811, ZO0555705557\\",\\"47.969\\",\\"47.969\\",2,2,order,fuzzy +NAMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Kamal,Kamal,\\"Kamal Schultz\\",\\"Kamal Schultz\\",MALE,39,Schultz,Schultz,\\"(empty)\\",Sunday,6,\\"kamal@schultz-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564842,\\"sold_product_564842_13508, sold_product_564842_24934\\",\\"sold_product_564842_13508, sold_product_564842_24934\\",\\"85, 50\\",\\"85, 50\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"43.344, 22.5\\",\\"85, 50\\",\\"13,508, 24,934\\",\\"Light jacket - tan, Lace-up boots - resin coffee\\",\\"Light jacket - tan, Lace-up boots - resin coffee\\",\\"1, 1\\",\\"ZO0432004320, ZO0403504035\\",\\"0, 0\\",\\"85, 50\\",\\"85, 50\\",\\"0, 0\\",\\"ZO0432004320, ZO0403504035\\",135,135,2,2,order,kamal +NQMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Yasmine,Yasmine,\\"Yasmine Roberson\\",\\"Yasmine Roberson\\",FEMALE,43,Roberson,Roberson,\\"(empty)\\",Sunday,6,\\"yasmine@roberson-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Gnomehouse, Tigress Enterprises MAMA\\",\\"Gnomehouse, Tigress Enterprises MAMA\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564893,\\"sold_product_564893_24371, sold_product_564893_20755\\",\\"sold_product_564893_24371, sold_product_564893_20755\\",\\"50, 28.984\\",\\"50, 28.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Tigress Enterprises MAMA\\",\\"Gnomehouse, Tigress Enterprises MAMA\\",\\"25.984, 14.781\\",\\"50, 28.984\\",\\"24,371, 20,755\\",\\"Lace-ups - rose, Trousers - black denim\\",\\"Lace-ups - rose, Trousers - black denim\\",\\"1, 1\\",\\"ZO0322403224, ZO0227802278\\",\\"0, 0\\",\\"50, 28.984\\",\\"50, 28.984\\",\\"0, 0\\",\\"ZO0322403224, ZO0227802278\\",79,79,2,2,order,yasmine +SQMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty Fletcher\\",\\"Betty Fletcher\\",FEMALE,44,Fletcher,Fletcher,\\"(empty)\\",Sunday,6,\\"betty@fletcher-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Pyramidustries,Pyramidustries,\\"Jun 22, 2019 @ 00:00:00.000\\",564215,\\"sold_product_564215_17589, sold_product_564215_17920\\",\\"sold_product_564215_17589, sold_product_564215_17920\\",\\"33, 24.984\\",\\"33, 24.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"17.484, 12.492\\",\\"33, 24.984\\",\\"17,589, 17,920\\",\\"Jumpsuit - black, Maxi dress - black\\",\\"Jumpsuit - black, Maxi dress - black\\",\\"1, 1\\",\\"ZO0147201472, ZO0152201522\\",\\"0, 0\\",\\"33, 24.984\\",\\"33, 24.984\\",\\"0, 0\\",\\"ZO0147201472, ZO0152201522\\",\\"57.969\\",\\"57.969\\",2,2,order,betty +TAMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Yasmine,Yasmine,\\"Yasmine Marshall\\",\\"Yasmine Marshall\\",FEMALE,43,Marshall,Marshall,\\"(empty)\\",Sunday,6,\\"yasmine@marshall-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Tigress Enterprises, Primemaster\\",\\"Tigress Enterprises, Primemaster\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564725,\\"sold_product_564725_21497, sold_product_564725_14166\\",\\"sold_product_564725_21497, sold_product_564725_14166\\",\\"24.984, 125\\",\\"24.984, 125\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Primemaster\\",\\"Tigress Enterprises, Primemaster\\",\\"13.492, 61.25\\",\\"24.984, 125\\",\\"21,497, 14,166\\",\\"Jumper - sand, Platform boots - golden\\",\\"Jumper - sand, Platform boots - golden\\",\\"1, 1\\",\\"ZO0071700717, ZO0364303643\\",\\"0, 0\\",\\"24.984, 125\\",\\"24.984, 125\\",\\"0, 0\\",\\"ZO0071700717, ZO0364303643\\",150,150,2,2,order,yasmine +TQMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Muniz,Muniz,\\"Muniz Allison\\",\\"Muniz Allison\\",MALE,37,Allison,Allison,\\"(empty)\\",Sunday,6,\\"muniz@allison-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564733,\\"sold_product_564733_1550, sold_product_564733_13038\\",\\"sold_product_564733_1550, sold_product_564733_13038\\",\\"33, 65\\",\\"33, 65\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"14.852, 31.203\\",\\"33, 65\\",\\"1,550, 13,038\\",\\"Casual lace-ups - dark brown, Suit jacket - grey\\",\\"Casual lace-ups - dark brown, Suit jacket - grey\\",\\"1, 1\\",\\"ZO0384303843, ZO0273702737\\",\\"0, 0\\",\\"33, 65\\",\\"33, 65\\",\\"0, 0\\",\\"ZO0384303843, ZO0273702737\\",98,98,2,2,order,muniz +mAMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Mccarthy\\",\\"Rabbia Al Mccarthy\\",FEMALE,5,Mccarthy,Mccarthy,\\"(empty)\\",Sunday,6,\\"rabbia al@mccarthy-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Tigress Enterprises MAMA, Oceanavigations\\",\\"Tigress Enterprises MAMA, Oceanavigations\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564331,\\"sold_product_564331_24927, sold_product_564331_11378\\",\\"sold_product_564331_24927, sold_product_564331_11378\\",\\"37, 11.992\\",\\"37, 11.992\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises MAMA, Oceanavigations\\",\\"Tigress Enterprises MAMA, Oceanavigations\\",\\"18.859, 5.762\\",\\"37, 11.992\\",\\"24,927, 11,378\\",\\"Summer dress - black, Wallet - black\\",\\"Summer dress - black, Wallet - black\\",\\"1, 1\\",\\"ZO0229402294, ZO0303303033\\",\\"0, 0\\",\\"37, 11.992\\",\\"37, 11.992\\",\\"0, 0\\",\\"ZO0229402294, ZO0303303033\\",\\"48.969\\",\\"48.969\\",2,2,order,rabbia +mQMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jason,Jason,\\"Jason Gregory\\",\\"Jason Gregory\\",MALE,16,Gregory,Gregory,\\"(empty)\\",Sunday,6,\\"jason@gregory-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564350,\\"sold_product_564350_15296, sold_product_564350_19902\\",\\"sold_product_564350_15296, sold_product_564350_19902\\",\\"18.984, 13.992\\",\\"18.984, 13.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"9.117, 7.41\\",\\"18.984, 13.992\\",\\"15,296, 19,902\\",\\"Polo shirt - red, TARTAN 3 PACK - Shorts - tartan/Blue Violety/dark grey\\",\\"Polo shirt - red, TARTAN 3 PACK - Shorts - tartan/Blue Violety/dark grey\\",\\"1, 1\\",\\"ZO0444104441, ZO0476804768\\",\\"0, 0\\",\\"18.984, 13.992\\",\\"18.984, 13.992\\",\\"0, 0\\",\\"ZO0444104441, ZO0476804768\\",\\"32.969\\",\\"32.969\\",2,2,order,jason +mgMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty Mccarthy\\",\\"Betty Mccarthy\\",FEMALE,44,Mccarthy,Mccarthy,\\"(empty)\\",Sunday,6,\\"betty@mccarthy-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Gnomehouse,Gnomehouse,\\"Jun 22, 2019 @ 00:00:00.000\\",564398,\\"sold_product_564398_15957, sold_product_564398_18712\\",\\"sold_product_564398_15957, sold_product_564398_18712\\",\\"37, 75\\",\\"37, 75\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Gnomehouse\\",\\"Gnomehouse, Gnomehouse\\",\\"19.234, 39.75\\",\\"37, 75\\",\\"15,957, 18,712\\",\\"A-line skirt - Pale Violet Red, Classic coat - navy blazer\\",\\"A-line skirt - Pale Violet Red, Classic coat - navy blazer\\",\\"1, 1\\",\\"ZO0328703287, ZO0351003510\\",\\"0, 0\\",\\"37, 75\\",\\"37, 75\\",\\"0, 0\\",\\"ZO0328703287, ZO0351003510\\",112,112,2,2,order,betty +mwMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Diane,Diane,\\"Diane Gibbs\\",\\"Diane Gibbs\\",FEMALE,22,Gibbs,Gibbs,\\"(empty)\\",Sunday,6,\\"diane@gibbs-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Pyramidustries, Champion Arts\\",\\"Pyramidustries, Champion Arts\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564409,\\"sold_product_564409_23179, sold_product_564409_22261\\",\\"sold_product_564409_23179, sold_product_564409_22261\\",\\"20.984, 50\\",\\"20.984, 50\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Champion Arts\\",\\"Pyramidustries, Champion Arts\\",\\"9.656, 22.5\\",\\"20.984, 50\\",\\"23,179, 22,261\\",\\"Sweatshirt - berry, Winter jacket - bordeaux\\",\\"Sweatshirt - berry, Winter jacket - bordeaux\\",\\"1, 1\\",\\"ZO0178501785, ZO0503805038\\",\\"0, 0\\",\\"20.984, 50\\",\\"20.984, 50\\",\\"0, 0\\",\\"ZO0178501785, ZO0503805038\\",71,71,2,2,order,diane +nAMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Hicham,Hicham,\\"Hicham Baker\\",\\"Hicham Baker\\",MALE,8,Baker,Baker,\\"(empty)\\",Sunday,6,\\"hicham@baker-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564024,\\"sold_product_564024_24786, sold_product_564024_19600\\",\\"sold_product_564024_24786, sold_product_564024_19600\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"11.25, 7.648\\",\\"24.984, 16.984\\",\\"24,786, 19,600\\",\\"Slim fit jeans - black, Sports shorts - mottled grey\\",\\"Slim fit jeans - black, Sports shorts - mottled grey\\",\\"1, 1\\",\\"ZO0534405344, ZO0619006190\\",\\"0, 0\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"0, 0\\",\\"ZO0534405344, ZO0619006190\\",\\"41.969\\",\\"41.969\\",2,2,order,hicham +sgMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Robbie,Robbie,\\"Robbie Perkins\\",\\"Robbie Perkins\\",MALE,48,Perkins,Perkins,\\"(empty)\\",Sunday,6,\\"robbie@perkins-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564271,\\"sold_product_564271_12818, sold_product_564271_18444\\",\\"sold_product_564271_12818, sold_product_564271_18444\\",\\"16.984, 50\\",\\"16.984, 50\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"8.328, 26.984\\",\\"16.984, 50\\",\\"12,818, 18,444\\",\\"Trainers - black, Summer jacket - dark blue\\",\\"Trainers - black, Summer jacket - dark blue\\",\\"1, 1\\",\\"ZO0507905079, ZO0430804308\\",\\"0, 0\\",\\"16.984, 50\\",\\"16.984, 50\\",\\"0, 0\\",\\"ZO0507905079, ZO0430804308\\",67,67,2,2,order,robbie +DgMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Sonya,Sonya,\\"Sonya Rodriguez\\",\\"Sonya Rodriguez\\",FEMALE,28,Rodriguez,Rodriguez,\\"(empty)\\",Sunday,6,\\"sonya@rodriguez-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Microlutions, Pyramidustries\\",\\"Microlutions, Pyramidustries\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564676,\\"sold_product_564676_22697, sold_product_564676_12704\\",\\"sold_product_564676_22697, sold_product_564676_12704\\",\\"33, 33\\",\\"33, 33\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Pyramidustries\\",\\"Microlutions, Pyramidustries\\",\\"14.852, 16.172\\",\\"33, 33\\",\\"22,697, 12,704\\",\\"Dress - red/black, Ankle boots - cognac\\",\\"Dress - red/black, Ankle boots - cognac\\",\\"1, 1\\",\\"ZO0108401084, ZO0139301393\\",\\"0, 0\\",\\"33, 33\\",\\"33, 33\\",\\"0, 0\\",\\"ZO0108401084, ZO0139301393\\",66,66,2,2,order,sonya +FAMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Bryan\\",\\"Sultan Al Bryan\\",MALE,19,Bryan,Bryan,\\"(empty)\\",Sunday,6,\\"sultan al@bryan-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Elitelligence, Angeldale\\",\\"Elitelligence, Angeldale\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564445,\\"sold_product_564445_14799, sold_product_564445_15411\\",\\"sold_product_564445_14799, sold_product_564445_15411\\",\\"22.984, 16.984\\",\\"22.984, 16.984\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Angeldale\\",\\"Elitelligence, Angeldale\\",\\"11.953, 7.82\\",\\"22.984, 16.984\\",\\"14,799, 15,411\\",\\"Sweatshirt - mottled grey, Belt - black\\",\\"Sweatshirt - mottled grey, Belt - black\\",\\"1, 1\\",\\"ZO0593805938, ZO0701407014\\",\\"0, 0\\",\\"22.984, 16.984\\",\\"22.984, 16.984\\",\\"0, 0\\",\\"ZO0593805938, ZO0701407014\\",\\"39.969\\",\\"39.969\\",2,2,order,sultan +fgMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Phil,Phil,\\"Phil Hodges\\",\\"Phil Hodges\\",MALE,50,Hodges,Hodges,\\"(empty)\\",Sunday,6,\\"phil@hodges-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",Elitelligence,Elitelligence,\\"Jun 22, 2019 @ 00:00:00.000\\",564241,\\"sold_product_564241_11300, sold_product_564241_16698\\",\\"sold_product_564241_11300, sold_product_564241_16698\\",\\"20.984, 7.988\\",\\"20.984, 7.988\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"9.867, 4.309\\",\\"20.984, 7.988\\",\\"11,300, 16,698\\",\\"Rucksack - black/grey multicolor , Basic T-shirt - light red\\",\\"Rucksack - black/grey multicolor , Basic T-shirt - light red\\",\\"1, 1\\",\\"ZO0605506055, ZO0547505475\\",\\"0, 0\\",\\"20.984, 7.988\\",\\"20.984, 7.988\\",\\"0, 0\\",\\"ZO0605506055, ZO0547505475\\",\\"28.984\\",\\"28.984\\",2,2,order,phil +fwMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Phil,Phil,\\"Phil Hernandez\\",\\"Phil Hernandez\\",MALE,50,Hernandez,Hernandez,\\"(empty)\\",Sunday,6,\\"phil@hernandez-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",Elitelligence,Elitelligence,\\"Jun 22, 2019 @ 00:00:00.000\\",564272,\\"sold_product_564272_24786, sold_product_564272_19965\\",\\"sold_product_564272_24786, sold_product_564272_19965\\",\\"24.984, 28.984\\",\\"24.984, 28.984\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"11.25, 14.211\\",\\"24.984, 28.984\\",\\"24,786, 19,965\\",\\"Slim fit jeans - black, Casual lace-ups - dark grey\\",\\"Slim fit jeans - black, Casual lace-ups - dark grey\\",\\"1, 1\\",\\"ZO0534405344, ZO0512105121\\",\\"0, 0\\",\\"24.984, 28.984\\",\\"24.984, 28.984\\",\\"0, 0\\",\\"ZO0534405344, ZO0512105121\\",\\"53.969\\",\\"53.969\\",2,2,order,phil +0AMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Jacobs\\",\\"Mostafa Jacobs\\",MALE,9,Jacobs,Jacobs,\\"(empty)\\",Sunday,6,\\"mostafa@jacobs-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",Elitelligence,Elitelligence,\\"Jun 22, 2019 @ 00:00:00.000\\",564844,\\"sold_product_564844_24343, sold_product_564844_13084\\",\\"sold_product_564844_24343, sold_product_564844_13084\\",\\"10.992, 24.984\\",\\"10.992, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"5.391, 12.742\\",\\"10.992, 24.984\\",\\"24,343, 13,084\\",\\"Print T-shirt - white, Chinos - Forest Green\\",\\"Print T-shirt - white, Chinos - Forest Green\\",\\"1, 1\\",\\"ZO0553205532, ZO0526205262\\",\\"0, 0\\",\\"10.992, 24.984\\",\\"10.992, 24.984\\",\\"0, 0\\",\\"ZO0553205532, ZO0526205262\\",\\"35.969\\",\\"35.969\\",2,2,order,mostafa +0QMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Sonya,Sonya,\\"Sonya Hansen\\",\\"Sonya Hansen\\",FEMALE,28,Hansen,Hansen,\\"(empty)\\",Sunday,6,\\"sonya@hansen-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Spherecords Maternity, Gnomehouse\\",\\"Spherecords Maternity, Gnomehouse\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564883,\\"sold_product_564883_16522, sold_product_564883_25026\\",\\"sold_product_564883_16522, sold_product_564883_25026\\",\\"16.984, 50\\",\\"16.984, 50\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords Maternity, Gnomehouse\\",\\"Spherecords Maternity, Gnomehouse\\",\\"7.988, 22.5\\",\\"16.984, 50\\",\\"16,522, 25,026\\",\\"Jersey dress - black/white , Summer dress - multicolour\\",\\"Jersey dress - black/white , Summer dress - multicolour\\",\\"1, 1\\",\\"ZO0705607056, ZO0334703347\\",\\"0, 0\\",\\"16.984, 50\\",\\"16.984, 50\\",\\"0, 0\\",\\"ZO0705607056, ZO0334703347\\",67,67,2,2,order,sonya +7wMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Ryan\\",\\"Rabbia Al Ryan\\",FEMALE,5,Ryan,Ryan,\\"(empty)\\",Sunday,6,\\"rabbia al@ryan-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Oceanavigations, Pyramidustries\\",\\"Oceanavigations, Pyramidustries\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564307,\\"sold_product_564307_18709, sold_product_564307_19883\\",\\"sold_product_564307_18709, sold_product_564307_19883\\",\\"75, 11.992\\",\\"75, 11.992\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Pyramidustries\\",\\"Oceanavigations, Pyramidustries\\",\\"39.75, 5.52\\",\\"75, 11.992\\",\\"18,709, 19,883\\",\\"Boots - nude, Scarf - bordeaux/blue/rose\\",\\"Boots - nude, Scarf - bordeaux/blue/rose\\",\\"1, 1\\",\\"ZO0246602466, ZO0195201952\\",\\"0, 0\\",\\"75, 11.992\\",\\"75, 11.992\\",\\"0, 0\\",\\"ZO0246602466, ZO0195201952\\",87,87,2,2,order,rabbia +8AMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Ball\\",\\"Rabbia Al Ball\\",FEMALE,5,Ball,Ball,\\"(empty)\\",Sunday,6,\\"rabbia al@ball-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564148,\\"sold_product_564148_24106, sold_product_564148_16891\\",\\"sold_product_564148_24106, sold_product_564148_16891\\",\\"20.984, 21.984\\",\\"20.984, 21.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"9.867, 11.867\\",\\"20.984, 21.984\\",\\"24,106, 16,891\\",\\"Basic T-shirt - scarab, Rucksack - black \\",\\"Basic T-shirt - scarab, Rucksack - black \\",\\"1, 1\\",\\"ZO0057900579, ZO0211602116\\",\\"0, 0\\",\\"20.984, 21.984\\",\\"20.984, 21.984\\",\\"0, 0\\",\\"ZO0057900579, ZO0211602116\\",\\"42.969\\",\\"42.969\\",2,2,order,rabbia +\\"_wMtOW0BH63Xcmy44mWR\\",ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Betty,Betty,\\"Betty Bryant\\",\\"Betty Bryant\\",FEMALE,44,Bryant,Bryant,\\"(empty)\\",Sunday,6,\\"betty@bryant-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Champion Arts, Tigress Enterprises\\",\\"Champion Arts, Tigress Enterprises\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564009,\\"sold_product_564009_13956, sold_product_564009_21367\\",\\"sold_product_564009_13956, sold_product_564009_21367\\",\\"20.984, 28.984\\",\\"20.984, 28.984\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Tigress Enterprises\\",\\"Champion Arts, Tigress Enterprises\\",\\"11.328, 14.781\\",\\"20.984, 28.984\\",\\"13,956, 21,367\\",\\"Tracksuit bottoms - black, Trainers - black/silver\\",\\"Tracksuit bottoms - black, Trainers - black/silver\\",\\"1, 1\\",\\"ZO0487904879, ZO0027100271\\",\\"0, 0\\",\\"20.984, 28.984\\",\\"20.984, 28.984\\",\\"0, 0\\",\\"ZO0487904879, ZO0027100271\\",\\"49.969\\",\\"49.969\\",2,2,order,betty +AAMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Abd,Abd,\\"Abd Harvey\\",\\"Abd Harvey\\",MALE,52,Harvey,Harvey,\\"(empty)\\",Sunday,6,\\"abd@harvey-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564532,\\"sold_product_564532_21335, sold_product_564532_20709\\",\\"sold_product_564532_21335, sold_product_564532_20709\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"6.352, 12\\",\\"11.992, 24.984\\",\\"21,335, 20,709\\",\\"2 PACK - Basic T-shirt - red multicolor, Tracksuit bottoms - black\\",\\"2 PACK - Basic T-shirt - red multicolor, Tracksuit bottoms - black\\",\\"1, 1\\",\\"ZO0474704747, ZO0622006220\\",\\"0, 0\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"0, 0\\",\\"ZO0474704747, ZO0622006220\\",\\"36.969\\",\\"36.969\\",2,2,order,abd +cwMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Cummings\\",\\"Abigail Cummings\\",FEMALE,46,Cummings,Cummings,\\"(empty)\\",Sunday,6,\\"abigail@cummings-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,Pyramidustries,Pyramidustries,\\"Jun 22, 2019 @ 00:00:00.000\\",565308,\\"sold_product_565308_16405, sold_product_565308_8985\\",\\"sold_product_565308_16405, sold_product_565308_8985\\",\\"24.984, 60\\",\\"24.984, 60\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"11.5, 27.594\\",\\"24.984, 60\\",\\"16,405, 8,985\\",\\"Vest - black, Light jacket - cognac\\",\\"Vest - black, Light jacket - cognac\\",\\"1, 1\\",\\"ZO0172401724, ZO0184901849\\",\\"0, 0\\",\\"24.984, 60\\",\\"24.984, 60\\",\\"0, 0\\",\\"ZO0172401724, ZO0184901849\\",85,85,2,2,order,abigail +lQMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Moss\\",\\"Elyssa Moss\\",FEMALE,27,Moss,Moss,\\"(empty)\\",Sunday,6,\\"elyssa@moss-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564339,\\"sold_product_564339_24835, sold_product_564339_7932\\",\\"sold_product_564339_24835, sold_product_564339_7932\\",\\"13.992, 37\\",\\"13.992, 37\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"7.129, 19.594\\",\\"13.992, 37\\",\\"24,835, 7,932\\",\\"Scarf - red, Shirt - navy blazer\\",\\"Scarf - red, Shirt - navy blazer\\",\\"1, 1\\",\\"ZO0082900829, ZO0347903479\\",\\"0, 0\\",\\"13.992, 37\\",\\"13.992, 37\\",\\"0, 0\\",\\"ZO0082900829, ZO0347903479\\",\\"50.969\\",\\"50.969\\",2,2,order,elyssa +lgMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Muniz,Muniz,\\"Muniz Parker\\",\\"Muniz Parker\\",MALE,37,Parker,Parker,\\"(empty)\\",Sunday,6,\\"muniz@parker-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564361,\\"sold_product_564361_12864, sold_product_564361_14121\\",\\"sold_product_564361_12864, sold_product_564361_14121\\",\\"22.984, 17.984\\",\\"22.984, 17.984\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"11.719, 9.172\\",\\"22.984, 17.984\\",\\"12,864, 14,121\\",\\"SLIM FIT - Formal shirt - black, Watch - grey\\",\\"SLIM FIT - Formal shirt - black, Watch - grey\\",\\"1, 1\\",\\"ZO0422304223, ZO0600506005\\",\\"0, 0\\",\\"22.984, 17.984\\",\\"22.984, 17.984\\",\\"0, 0\\",\\"ZO0422304223, ZO0600506005\\",\\"40.969\\",\\"40.969\\",2,2,order,muniz +lwMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Sonya,Sonya,\\"Sonya Boone\\",\\"Sonya Boone\\",FEMALE,28,Boone,Boone,\\"(empty)\\",Sunday,6,\\"sonya@boone-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Oceanavigations, Angeldale\\",\\"Oceanavigations, Angeldale\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564394,\\"sold_product_564394_18592, sold_product_564394_11914\\",\\"sold_product_564394_18592, sold_product_564394_11914\\",\\"25.984, 75\\",\\"25.984, 75\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Angeldale\\",\\"Oceanavigations, Angeldale\\",\\"14.031, 39\\",\\"25.984, 75\\",\\"18,592, 11,914\\",\\"Long sleeved top - grey, Wedge boots - white\\",\\"Long sleeved top - grey, Wedge boots - white\\",\\"1, 1\\",\\"ZO0269902699, ZO0667906679\\",\\"0, 0\\",\\"25.984, 75\\",\\"25.984, 75\\",\\"0, 0\\",\\"ZO0269902699, ZO0667906679\\",101,101,2,2,order,sonya +mAMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,rania,rania,\\"rania Hopkins\\",\\"rania Hopkins\\",FEMALE,24,Hopkins,Hopkins,\\"(empty)\\",Sunday,6,\\"rania@hopkins-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Pyramidustries, Spherecords\\",\\"Pyramidustries, Spherecords\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564030,\\"sold_product_564030_24668, sold_product_564030_20234\\",\\"sold_product_564030_24668, sold_product_564030_20234\\",\\"16.984, 6.988\\",\\"16.984, 6.988\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Spherecords\\",\\"Pyramidustries, Spherecords\\",\\"8.828, 3.221\\",\\"16.984, 6.988\\",\\"24,668, 20,234\\",\\"Sweatshirt - black, Vest - bordeaux\\",\\"Sweatshirt - black, Vest - bordeaux\\",\\"1, 1\\",\\"ZO0179901799, ZO0637606376\\",\\"0, 0\\",\\"16.984, 6.988\\",\\"16.984, 6.988\\",\\"0, 0\\",\\"ZO0179901799, ZO0637606376\\",\\"23.984\\",\\"23.984\\",2,2,order,rani +qwMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Salazar\\",\\"Mostafa Salazar\\",MALE,9,Salazar,Salazar,\\"(empty)\\",Sunday,6,\\"mostafa@salazar-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564661,\\"sold_product_564661_20323, sold_product_564661_20690\\",\\"sold_product_564661_20323, sold_product_564661_20690\\",\\"22.984, 33\\",\\"22.984, 33\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"12.18, 18.141\\",\\"22.984, 33\\",\\"20,323, 20,690\\",\\"Formal shirt - light blue, Sweatshirt - black\\",\\"Formal shirt - light blue, Sweatshirt - black\\",\\"1, 1\\",\\"ZO0415004150, ZO0125501255\\",\\"0, 0\\",\\"22.984, 33\\",\\"22.984, 33\\",\\"0, 0\\",\\"ZO0415004150, ZO0125501255\\",\\"55.969\\",\\"55.969\\",2,2,order,mostafa +rAMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Yasmine,Yasmine,\\"Yasmine Estrada\\",\\"Yasmine Estrada\\",FEMALE,43,Estrada,Estrada,\\"(empty)\\",Sunday,6,\\"yasmine@estrada-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Spherecords Curvy, Primemaster\\",\\"Spherecords Curvy, Primemaster\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564706,\\"sold_product_564706_13450, sold_product_564706_11576\\",\\"sold_product_564706_13450, sold_product_564706_11576\\",\\"11.992, 115\\",\\"11.992, 115\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords Curvy, Primemaster\\",\\"Spherecords Curvy, Primemaster\\",\\"5.879, 60.938\\",\\"11.992, 115\\",\\"13,450, 11,576\\",\\"Pencil skirt - black, High heeled boots - Midnight Blue\\",\\"Pencil skirt - black, High heeled boots - Midnight Blue\\",\\"1, 1\\",\\"ZO0709007090, ZO0362103621\\",\\"0, 0\\",\\"11.992, 115\\",\\"11.992, 115\\",\\"0, 0\\",\\"ZO0709007090, ZO0362103621\\",127,127,2,2,order,yasmine +sgMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,rania,rania,\\"rania Tran\\",\\"rania Tran\\",FEMALE,24,Tran,Tran,\\"(empty)\\",Sunday,6,\\"rania@tran-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Spherecords, Gnomehouse\\",\\"Spherecords, Gnomehouse\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564460,\\"sold_product_564460_24985, sold_product_564460_16158\\",\\"sold_product_564460_24985, sold_product_564460_16158\\",\\"24.984, 33\\",\\"24.984, 33\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Gnomehouse\\",\\"Spherecords, Gnomehouse\\",\\"12, 15.508\\",\\"24.984, 33\\",\\"24,985, 16,158\\",\\"Cardigan - peacoat, Blouse - Dark Turquoise\\",\\"Cardigan - peacoat, Blouse - Dark Turquoise\\",\\"1, 1\\",\\"ZO0655106551, ZO0349403494\\",\\"0, 0\\",\\"24.984, 33\\",\\"24.984, 33\\",\\"0, 0\\",\\"ZO0655106551, ZO0349403494\\",\\"57.969\\",\\"57.969\\",2,2,order,rani +FwMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,Diane,Diane,\\"Diane Palmer\\",\\"Diane Palmer\\",FEMALE,22,Palmer,Palmer,\\"(empty)\\",Sunday,6,\\"diane@palmer-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564536,\\"sold_product_564536_17282, sold_product_564536_12577\\",\\"sold_product_564536_17282, sold_product_564536_12577\\",\\"13.992, 50\\",\\"13.992, 50\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"6.719, 24.5\\",\\"13.992, 50\\",\\"17,282, 12,577\\",\\"Scarf - black, Sandals - beige\\",\\"Scarf - black, Sandals - beige\\",\\"1, 1\\",\\"ZO0304603046, ZO0370603706\\",\\"0, 0\\",\\"13.992, 50\\",\\"13.992, 50\\",\\"0, 0\\",\\"ZO0304603046, ZO0370603706\\",\\"63.969\\",\\"63.969\\",2,2,order,diane +GAMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Bowers\\",\\"Abigail Bowers\\",FEMALE,46,Bowers,Bowers,\\"(empty)\\",Sunday,6,\\"abigail@bowers-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564559,\\"sold_product_564559_4882, sold_product_564559_16317\\",\\"sold_product_564559_4882, sold_product_564559_16317\\",\\"50, 21.984\\",\\"50, 21.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"26.484, 12.094\\",\\"50, 21.984\\",\\"4,882, 16,317\\",\\"Boots - brown, Shirt - light blue\\",\\"Boots - brown, Shirt - light blue\\",\\"1, 1\\",\\"ZO0015500155, ZO0650806508\\",\\"0, 0\\",\\"50, 21.984\\",\\"50, 21.984\\",\\"0, 0\\",\\"ZO0015500155, ZO0650806508\\",72,72,2,2,order,abigail +GQMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Clarice,Clarice,\\"Clarice Wood\\",\\"Clarice Wood\\",FEMALE,18,Wood,Wood,\\"(empty)\\",Sunday,6,\\"clarice@wood-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,Pyramidustries,Pyramidustries,\\"Jun 22, 2019 @ 00:00:00.000\\",564609,\\"sold_product_564609_23139, sold_product_564609_23243\\",\\"sold_product_564609_23139, sold_product_564609_23243\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"6.23, 12.492\\",\\"11.992, 24.984\\",\\"23,139, 23,243\\",\\"Print T-shirt - black/berry, Summer dress - dark purple\\",\\"Print T-shirt - black/berry, Summer dress - dark purple\\",\\"1, 1\\",\\"ZO0162401624, ZO0156001560\\",\\"0, 0\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"0, 0\\",\\"ZO0162401624, ZO0156001560\\",\\"36.969\\",\\"36.969\\",2,2,order,clarice +awMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Tariq,Tariq,\\"Tariq Caldwell\\",\\"Tariq Caldwell\\",MALE,25,Caldwell,Caldwell,\\"(empty)\\",Sunday,6,\\"tariq@caldwell-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Spritechnologies, Low Tide Media\\",\\"Spritechnologies, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565138,\\"sold_product_565138_18229, sold_product_565138_19505\\",\\"sold_product_565138_18229, sold_product_565138_19505\\",\\"8.992, 16.984\\",\\"8.992, 16.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Low Tide Media\\",\\"Spritechnologies, Low Tide Media\\",\\"4.578, 8.656\\",\\"8.992, 16.984\\",\\"18,229, 19,505\\",\\"Sports shirt - black, Polo shirt - dark blue\\",\\"Sports shirt - black, Polo shirt - dark blue\\",\\"1, 1\\",\\"ZO0615506155, ZO0445304453\\",\\"0, 0\\",\\"8.992, 16.984\\",\\"8.992, 16.984\\",\\"0, 0\\",\\"ZO0615506155, ZO0445304453\\",\\"25.984\\",\\"25.984\\",2,2,order,tariq +bAMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Marwan,Marwan,\\"Marwan Taylor\\",\\"Marwan Taylor\\",MALE,51,Taylor,Taylor,\\"(empty)\\",Sunday,6,\\"marwan@taylor-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565025,\\"sold_product_565025_10984, sold_product_565025_12566\\",\\"sold_product_565025_10984, sold_product_565025_12566\\",\\"24.984, 7.988\\",\\"24.984, 7.988\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"11.5, 3.92\\",\\"24.984, 7.988\\",\\"10,984, 12,566\\",\\"Shirt - navy, Vest - dark blue\\",\\"Shirt - navy, Vest - dark blue\\",\\"1, 1\\",\\"ZO0280802808, ZO0549005490\\",\\"0, 0\\",\\"24.984, 7.988\\",\\"24.984, 7.988\\",\\"0, 0\\",\\"ZO0280802808, ZO0549005490\\",\\"32.969\\",\\"32.969\\",2,2,order,marwan +hgMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Bowers\\",\\"Elyssa Bowers\\",FEMALE,27,Bowers,Bowers,\\"(empty)\\",Sunday,6,\\"elyssa@bowers-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Primemaster, Tigress Enterprises\\",\\"Primemaster, Tigress Enterprises\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564000,\\"sold_product_564000_21941, sold_product_564000_12880\\",\\"sold_product_564000_21941, sold_product_564000_12880\\",\\"110, 24.984\\",\\"110, 24.984\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Primemaster, Tigress Enterprises\\",\\"Primemaster, Tigress Enterprises\\",\\"55, 13.492\\",\\"110, 24.984\\",\\"21,941, 12,880\\",\\"Boots - grey/silver, Ankle boots - blue\\",\\"Boots - grey/silver, Ankle boots - blue\\",\\"1, 1\\",\\"ZO0364603646, ZO0018200182\\",\\"0, 0\\",\\"110, 24.984\\",\\"110, 24.984\\",\\"0, 0\\",\\"ZO0364603646, ZO0018200182\\",135,135,2,2,order,elyssa +hwMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Samir,Samir,\\"Samir Meyer\\",\\"Samir Meyer\\",MALE,34,Meyer,Meyer,\\"(empty)\\",Sunday,6,\\"samir@meyer-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Spherecords, Low Tide Media\\",\\"Spherecords, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564557,\\"sold_product_564557_24657, sold_product_564557_24558\\",\\"sold_product_564557_24657, sold_product_564557_24558\\",\\"10.992, 10.992\\",\\"10.992, 10.992\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Low Tide Media\\",\\"Spherecords, Low Tide Media\\",\\"5.93, 5.5\\",\\"10.992, 10.992\\",\\"24,657, 24,558\\",\\"7 PACK - Socks - black/grey/white/navy, Hat - dark grey multicolor\\",\\"7 PACK - Socks - black/grey/white/navy, Hat - dark grey multicolor\\",\\"1, 1\\",\\"ZO0664606646, ZO0460404604\\",\\"0, 0\\",\\"10.992, 10.992\\",\\"10.992, 10.992\\",\\"0, 0\\",\\"ZO0664606646, ZO0460404604\\",\\"21.984\\",\\"21.984\\",2,2,order,samir +iAMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,Elyssa,Elyssa,\\"Elyssa Cortez\\",\\"Elyssa Cortez\\",FEMALE,27,Cortez,Cortez,\\"(empty)\\",Sunday,6,\\"elyssa@cortez-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Oceanavigations,Oceanavigations,\\"Jun 22, 2019 @ 00:00:00.000\\",564604,\\"sold_product_564604_20084, sold_product_564604_22900\\",\\"sold_product_564604_20084, sold_product_564604_22900\\",\\"60, 13.992\\",\\"60, 13.992\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"28.797, 6.578\\",\\"60, 13.992\\",\\"20,084, 22,900\\",\\"High heels - black, Scarf - black/taupe\\",\\"High heels - black, Scarf - black/taupe\\",\\"1, 1\\",\\"ZO0237702377, ZO0304303043\\",\\"0, 0\\",\\"60, 13.992\\",\\"60, 13.992\\",\\"0, 0\\",\\"ZO0237702377, ZO0304303043\\",74,74,2,2,order,elyssa +mAMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Yahya,Yahya,\\"Yahya Graham\\",\\"Yahya Graham\\",MALE,23,Graham,Graham,\\"(empty)\\",Sunday,6,\\"yahya@graham-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564777,\\"sold_product_564777_15017, sold_product_564777_22683\\",\\"sold_product_564777_15017, sold_product_564777_22683\\",\\"28.984, 33\\",\\"28.984, 33\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"13.633, 15.18\\",\\"28.984, 33\\",\\"15,017, 22,683\\",\\"Jumper - off-white, Jumper - black\\",\\"Jumper - off-white, Jumper - black\\",\\"1, 1\\",\\"ZO0452704527, ZO0122201222\\",\\"0, 0\\",\\"28.984, 33\\",\\"28.984, 33\\",\\"0, 0\\",\\"ZO0452704527, ZO0122201222\\",\\"61.969\\",\\"61.969\\",2,2,order,yahya +mQMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Gwen,Gwen,\\"Gwen Rodriguez\\",\\"Gwen Rodriguez\\",FEMALE,26,Rodriguez,Rodriguez,\\"(empty)\\",Sunday,6,\\"gwen@rodriguez-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564812,\\"sold_product_564812_24272, sold_product_564812_12257\\",\\"sold_product_564812_24272, sold_product_564812_12257\\",\\"37, 20.984\\",\\"37, 20.984\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"18.125, 10.703\\",\\"37, 20.984\\",\\"24,272, 12,257\\",\\"Shirt - white, T-bar sandals - black\\",\\"Shirt - white, T-bar sandals - black\\",\\"1, 1\\",\\"ZO0266002660, ZO0031900319\\",\\"0, 0\\",\\"37, 20.984\\",\\"37, 20.984\\",\\"0, 0\\",\\"ZO0266002660, ZO0031900319\\",\\"57.969\\",\\"57.969\\",2,2,order,gwen +owMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Jackson,Jackson,\\"Jackson Mcdonald\\",\\"Jackson Mcdonald\\",MALE,13,Mcdonald,Mcdonald,\\"(empty)\\",Sunday,6,\\"jackson@mcdonald-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Microlutions, Low Tide Media, Spritechnologies, Oceanavigations\\",\\"Microlutions, Low Tide Media, Spritechnologies, Oceanavigations\\",\\"Jun 22, 2019 @ 00:00:00.000\\",715752,\\"sold_product_715752_18080, sold_product_715752_18512, sold_product_715752_3636, sold_product_715752_6169\\",\\"sold_product_715752_18080, sold_product_715752_18512, sold_product_715752_3636, sold_product_715752_6169\\",\\"6.988, 65, 14.992, 20.984\\",\\"6.988, 65, 14.992, 20.984\\",\\"Men's Clothing, Men's Shoes, Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Shoes, Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Microlutions, Low Tide Media, Spritechnologies, Oceanavigations\\",\\"Microlutions, Low Tide Media, Spritechnologies, Oceanavigations\\",\\"3.699, 34.438, 7.941, 11.539\\",\\"6.988, 65, 14.992, 20.984\\",\\"18,080, 18,512, 3,636, 6,169\\",\\"3 PACK - Socks - khaki/black, Lace-up boots - black/grey, Undershirt - black, Jumper - grey\\",\\"3 PACK - Socks - khaki/black, Lace-up boots - black/grey, Undershirt - black, Jumper - grey\\",\\"1, 1, 1, 1\\",\\"ZO0130801308, ZO0402604026, ZO0630506305, ZO0297402974\\",\\"0, 0, 0, 0\\",\\"6.988, 65, 14.992, 20.984\\",\\"6.988, 65, 14.992, 20.984\\",\\"0, 0, 0, 0\\",\\"ZO0130801308, ZO0402604026, ZO0630506305, ZO0297402974\\",\\"107.938\\",\\"107.938\\",4,4,order,jackson +sQMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Diane,Diane,\\"Diane Watkins\\",\\"Diane Watkins\\",FEMALE,22,Watkins,Watkins,\\"(empty)\\",Sunday,6,\\"diane@watkins-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Jun 22, 2019 @ 00:00:00.000\\",563964,\\"sold_product_563964_12582, sold_product_563964_18661\\",\\"sold_product_563964_12582, sold_product_563964_18661\\",\\"14.992, 85\\",\\"14.992, 85\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations\\",\\"6.898, 38.25\\",\\"14.992, 85\\",\\"12,582, 18,661\\",\\"Ballet pumps - nude, Winter boots - black\\",\\"Ballet pumps - nude, Winter boots - black\\",\\"1, 1\\",\\"ZO0001200012, ZO0251902519\\",\\"0, 0\\",\\"14.992, 85\\",\\"14.992, 85\\",\\"0, 0\\",\\"ZO0001200012, ZO0251902519\\",100,100,2,2,order,diane +2wMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty Maldonado\\",\\"Betty Maldonado\\",FEMALE,44,Maldonado,Maldonado,\\"(empty)\\",Sunday,6,\\"betty@maldonado-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries active, Oceanavigations\\",\\"Pyramidustries active, Oceanavigations\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564315,\\"sold_product_564315_14794, sold_product_564315_25010\\",\\"sold_product_564315_14794, sold_product_564315_25010\\",\\"11.992, 17.984\\",\\"11.992, 17.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries active, Oceanavigations\\",\\"Pyramidustries active, Oceanavigations\\",\\"5.762, 9.891\\",\\"11.992, 17.984\\",\\"14,794, 25,010\\",\\"Vest - sheer pink, Print T-shirt - white\\",\\"Vest - sheer pink, Print T-shirt - white\\",\\"1, 1\\",\\"ZO0221002210, ZO0263702637\\",\\"0, 0\\",\\"11.992, 17.984\\",\\"11.992, 17.984\\",\\"0, 0\\",\\"ZO0221002210, ZO0263702637\\",\\"29.984\\",\\"29.984\\",2,2,order,betty +CwMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Barber\\",\\"Elyssa Barber\\",FEMALE,27,Barber,Barber,\\"(empty)\\",Sunday,6,\\"elyssa@barber-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565237,\\"sold_product_565237_15847, sold_product_565237_9482\\",\\"sold_product_565237_15847, sold_product_565237_9482\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"23.5, 12.992\\",\\"50, 24.984\\",\\"15,847, 9,482\\",\\"Lace-ups - platino, Blouse - off white\\",\\"Lace-ups - platino, Blouse - off white\\",\\"1, 1\\",\\"ZO0323303233, ZO0172101721\\",\\"0, 0\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"0, 0\\",\\"ZO0323303233, ZO0172101721\\",75,75,2,2,order,elyssa +DgMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Samir,Samir,\\"Samir Tyler\\",\\"Samir Tyler\\",MALE,34,Tyler,Tyler,\\"(empty)\\",Sunday,6,\\"samir@tyler-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565090,\\"sold_product_565090_21928, sold_product_565090_1424\\",\\"sold_product_565090_21928, sold_product_565090_1424\\",\\"85, 42\\",\\"85, 42\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"46.75, 20.156\\",\\"85, 42\\",\\"21,928, 1,424\\",\\"Lace-up boots - black, Lace-up boots - black\\",\\"Lace-up boots - black, Lace-up boots - black\\",\\"1, 1\\",\\"ZO0690306903, ZO0521005210\\",\\"0, 0\\",\\"85, 42\\",\\"85, 42\\",\\"0, 0\\",\\"ZO0690306903, ZO0521005210\\",127,127,2,2,order,samir +JAMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Yuri,Yuri,\\"Yuri Porter\\",\\"Yuri Porter\\",MALE,21,Porter,Porter,\\"(empty)\\",Sunday,6,\\"yuri@porter-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564649,\\"sold_product_564649_1961, sold_product_564649_6945\\",\\"sold_product_564649_1961, sold_product_564649_6945\\",\\"65, 22.984\\",\\"65, 22.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"30.547, 11.273\\",\\"65, 22.984\\",\\"1,961, 6,945\\",\\"Lace-up boots - dark blue, Shirt - navy\\",\\"Lace-up boots - dark blue, Shirt - navy\\",\\"1, 1\\",\\"ZO0405704057, ZO0411704117\\",\\"0, 0\\",\\"65, 22.984\\",\\"65, 22.984\\",\\"0, 0\\",\\"ZO0405704057, ZO0411704117\\",88,88,2,2,order,yuri +KAMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Cummings\\",\\"Gwen Cummings\\",FEMALE,26,Cummings,Cummings,\\"(empty)\\",Sunday,6,\\"gwen@cummings-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564510,\\"sold_product_564510_15201, sold_product_564510_10898\\",\\"sold_product_564510_15201, sold_product_564510_10898\\",\\"24.984, 28.984\\",\\"24.984, 28.984\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"11.75, 14.781\\",\\"24.984, 28.984\\",\\"15,201, 10,898\\",\\"Handbag - black, Jumpsuit - black\\",\\"Handbag - black, Jumpsuit - black\\",\\"1, 1\\",\\"ZO0093600936, ZO0145301453\\",\\"0, 0\\",\\"24.984, 28.984\\",\\"24.984, 28.984\\",\\"0, 0\\",\\"ZO0093600936, ZO0145301453\\",\\"53.969\\",\\"53.969\\",2,2,order,gwen +YwMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Brigitte,Brigitte,\\"Brigitte Cortez\\",\\"Brigitte Cortez\\",FEMALE,12,Cortez,Cortez,\\"(empty)\\",Sunday,6,\\"brigitte@cortez-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises Curvy, Oceanavigations\\",\\"Tigress Enterprises Curvy, Oceanavigations\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565222,\\"sold_product_565222_20561, sold_product_565222_22115\\",\\"sold_product_565222_20561, sold_product_565222_22115\\",\\"24.984, 75\\",\\"24.984, 75\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises Curvy, Oceanavigations\\",\\"Tigress Enterprises Curvy, Oceanavigations\\",\\"12.992, 34.5\\",\\"24.984, 75\\",\\"20,561, 22,115\\",\\"Tracksuit bottoms - black, Winter boots - taupe\\",\\"Tracksuit bottoms - black, Winter boots - taupe\\",\\"1, 1\\",\\"ZO0102001020, ZO0252402524\\",\\"0, 0\\",\\"24.984, 75\\",\\"24.984, 75\\",\\"0, 0\\",\\"ZO0102001020, ZO0252402524\\",100,100,2,2,order,brigitte +kQMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Robert,Robert,\\"Robert Lawrence\\",\\"Robert Lawrence\\",MALE,29,Lawrence,Lawrence,\\"(empty)\\",Sunday,6,\\"robert@lawrence-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Spritechnologies, Low Tide Media\\",\\"Spritechnologies, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565233,\\"sold_product_565233_24859, sold_product_565233_12805\\",\\"sold_product_565233_24859, sold_product_565233_12805\\",\\"11.992, 55\\",\\"11.992, 55\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Low Tide Media\\",\\"Spritechnologies, Low Tide Media\\",\\"5.879, 29.141\\",\\"11.992, 55\\",\\"24,859, 12,805\\",\\"Sports shirt - black, Down jacket - dark beige\\",\\"Sports shirt - black, Down jacket - dark beige\\",\\"1, 1\\",\\"ZO0614906149, ZO0430404304\\",\\"0, 0\\",\\"11.992, 55\\",\\"11.992, 55\\",\\"0, 0\\",\\"ZO0614906149, ZO0430404304\\",67,67,2,2,order,robert +mgMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Youssef,Youssef,\\"Youssef Brock\\",\\"Youssef Brock\\",MALE,31,Brock,Brock,\\"(empty)\\",Sunday,6,\\"youssef@brock-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Elitelligence,Elitelligence,\\"Jun 22, 2019 @ 00:00:00.000\\",565084,\\"sold_product_565084_11612, sold_product_565084_6793\\",\\"sold_product_565084_11612, sold_product_565084_6793\\",\\"10.992, 16.984\\",\\"10.992, 16.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"5.82, 7.82\\",\\"10.992, 16.984\\",\\"11,612, 6,793\\",\\"Print T-shirt - grey, Jumper - grey multicolor\\",\\"Print T-shirt - grey, Jumper - grey multicolor\\",\\"1, 1\\",\\"ZO0549805498, ZO0541205412\\",\\"0, 0\\",\\"10.992, 16.984\\",\\"10.992, 16.984\\",\\"0, 0\\",\\"ZO0549805498, ZO0541205412\\",\\"27.984\\",\\"27.984\\",2,2,order,youssef +sQMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Mckenzie\\",\\"Elyssa Mckenzie\\",FEMALE,27,Mckenzie,Mckenzie,\\"(empty)\\",Sunday,6,\\"elyssa@mckenzie-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564796,\\"sold_product_564796_13332, sold_product_564796_23987\\",\\"sold_product_564796_13332, sold_product_564796_23987\\",\\"33, 24.984\\",\\"33, 24.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"15.18, 13.492\\",\\"33, 24.984\\",\\"13,332, 23,987\\",\\"Cowboy/Biker boots - cognac, Shirt - red/black\\",\\"Cowboy/Biker boots - cognac, Shirt - red/black\\",\\"1, 1\\",\\"ZO0022100221, ZO0172301723\\",\\"0, 0\\",\\"33, 24.984\\",\\"33, 24.984\\",\\"0, 0\\",\\"ZO0022100221, ZO0172301723\\",\\"57.969\\",\\"57.969\\",2,2,order,elyssa +sgMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Burton\\",\\"Gwen Burton\\",FEMALE,26,Burton,Burton,\\"(empty)\\",Sunday,6,\\"gwen@burton-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Pyramidustries, Champion Arts\\",\\"Pyramidustries, Champion Arts\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564627,\\"sold_product_564627_16073, sold_product_564627_15494\\",\\"sold_product_564627_16073, sold_product_564627_15494\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Champion Arts\\",\\"Pyramidustries, Champion Arts\\",\\"11.75, 8.328\\",\\"24.984, 16.984\\",\\"16,073, 15,494\\",\\"Rucksack - black , Sweatshirt - black\\",\\"Rucksack - black , Sweatshirt - black\\",\\"1, 1\\",\\"ZO0211702117, ZO0499004990\\",\\"0, 0\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"0, 0\\",\\"ZO0211702117, ZO0499004990\\",\\"41.969\\",\\"41.969\\",2,2,order,gwen +twMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Robert,Robert,\\"Robert James\\",\\"Robert James\\",MALE,29,James,James,\\"(empty)\\",Sunday,6,\\"robert@james-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",Elitelligence,Elitelligence,\\"Jun 22, 2019 @ 00:00:00.000\\",564257,\\"sold_product_564257_23012, sold_product_564257_14015\\",\\"sold_product_564257_23012, sold_product_564257_14015\\",\\"33, 28.984\\",\\"33, 28.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"17.813, 15.648\\",\\"33, 28.984\\",\\"23,012, 14,015\\",\\"Denim jacket - grey denim, Jumper - blue\\",\\"Denim jacket - grey denim, Jumper - blue\\",\\"1, 1\\",\\"ZO0539205392, ZO0577705777\\",\\"0, 0\\",\\"33, 28.984\\",\\"33, 28.984\\",\\"0, 0\\",\\"ZO0539205392, ZO0577705777\\",\\"61.969\\",\\"61.969\\",2,2,order,robert +uwMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Yuri,Yuri,\\"Yuri Boone\\",\\"Yuri Boone\\",MALE,21,Boone,Boone,\\"(empty)\\",Sunday,6,\\"yuri@boone-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564701,\\"sold_product_564701_18884, sold_product_564701_20066\\",\\"sold_product_564701_18884, sold_product_564701_20066\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"9.656, 13.242\\",\\"20.984, 24.984\\",\\"18,884, 20,066\\",\\"Sweatshirt - black /white, Shirt - oliv\\",\\"Sweatshirt - black /white, Shirt - oliv\\",\\"1, 1\\",\\"ZO0585205852, ZO0418104181\\",\\"0, 0\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"0, 0\\",\\"ZO0585205852, ZO0418104181\\",\\"45.969\\",\\"45.969\\",2,2,order,yuri +DwMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Hicham,Hicham,\\"Hicham Bryant\\",\\"Hicham Bryant\\",MALE,8,Bryant,Bryant,\\"(empty)\\",Sunday,6,\\"hicham@bryant-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564915,\\"sold_product_564915_13194, sold_product_564915_13091\\",\\"sold_product_564915_13194, sold_product_564915_13091\\",\\"50, 29.984\\",\\"50, 29.984\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"24, 15.289\\",\\"50, 29.984\\",\\"13,194, 13,091\\",\\"Summer jacket - petrol, Trainers - navy\\",\\"Summer jacket - petrol, Trainers - navy\\",\\"1, 1\\",\\"ZO0286502865, ZO0394703947\\",\\"0, 0\\",\\"50, 29.984\\",\\"50, 29.984\\",\\"0, 0\\",\\"ZO0286502865, ZO0394703947\\",80,80,2,2,order,hicham +EAMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Diane,Diane,\\"Diane Ball\\",\\"Diane Ball\\",FEMALE,22,Ball,Ball,\\"(empty)\\",Sunday,6,\\"diane@ball-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Primemaster, Tigress Enterprises\\",\\"Primemaster, Tigress Enterprises\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564954,\\"sold_product_564954_20928, sold_product_564954_13902\\",\\"sold_product_564954_20928, sold_product_564954_13902\\",\\"150, 42\\",\\"150, 42\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Primemaster, Tigress Enterprises\\",\\"Primemaster, Tigress Enterprises\\",\\"70.5, 22.672\\",\\"150, 42\\",\\"20,928, 13,902\\",\\"Over-the-knee boots - passion, Lohan - Summer dress - black/black\\",\\"Over-the-knee boots - passion, Lohan - Summer dress - black/black\\",\\"1, 1\\",\\"ZO0362903629, ZO0048100481\\",\\"0, 0\\",\\"150, 42\\",\\"150, 42\\",\\"0, 0\\",\\"ZO0362903629, ZO0048100481\\",192,192,2,2,order,diane +EQMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Gregory\\",\\"Gwen Gregory\\",FEMALE,26,Gregory,Gregory,\\"(empty)\\",Sunday,6,\\"gwen@gregory-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Pyramidustries active, Pyramidustries\\",\\"Pyramidustries active, Pyramidustries\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565009,\\"sold_product_565009_17113, sold_product_565009_24241\\",\\"sold_product_565009_17113, sold_product_565009_24241\\",\\"16.984, 24.984\\",\\"16.984, 24.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries active, Pyramidustries\\",\\"Pyramidustries active, Pyramidustries\\",\\"8.328, 11.25\\",\\"16.984, 24.984\\",\\"17,113, 24,241\\",\\"Tights - duffle bag, Jeans Skinny Fit - black denim\\",\\"Tights - duffle bag, Jeans Skinny Fit - black denim\\",\\"1, 1\\",\\"ZO0225302253, ZO0183101831\\",\\"0, 0\\",\\"16.984, 24.984\\",\\"16.984, 24.984\\",\\"0, 0\\",\\"ZO0225302253, ZO0183101831\\",\\"41.969\\",\\"41.969\\",2,2,order,gwen +EgMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Mary,Mary,\\"Mary Sherman\\",\\"Mary Sherman\\",FEMALE,20,Sherman,Sherman,\\"(empty)\\",Sunday,6,\\"mary@sherman-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Spherecords Curvy, Spherecords\\",\\"Spherecords Curvy, Spherecords\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564065,\\"sold_product_564065_16220, sold_product_564065_13835\\",\\"sold_product_564065_16220, sold_product_564065_13835\\",\\"14.992, 10.992\\",\\"14.992, 10.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords Curvy, Spherecords\\",\\"Spherecords Curvy, Spherecords\\",\\"7.789, 5.82\\",\\"14.992, 10.992\\",\\"16,220, 13,835\\",\\"Vest - white, Print T-shirt - light grey multicolor/white\\",\\"Vest - white, Print T-shirt - light grey multicolor/white\\",\\"1, 1\\",\\"ZO0711207112, ZO0646106461\\",\\"0, 0\\",\\"14.992, 10.992\\",\\"14.992, 10.992\\",\\"0, 0\\",\\"ZO0711207112, ZO0646106461\\",\\"25.984\\",\\"25.984\\",2,2,order,mary +EwMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Abigail,Abigail,\\"Abigail Stewart\\",\\"Abigail Stewart\\",FEMALE,46,Stewart,Stewart,\\"(empty)\\",Sunday,6,\\"abigail@stewart-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Tigress Enterprises, Primemaster\\",\\"Tigress Enterprises, Primemaster\\",\\"Jun 22, 2019 @ 00:00:00.000\\",563927,\\"sold_product_563927_11755, sold_product_563927_17765\\",\\"sold_product_563927_11755, sold_product_563927_17765\\",\\"24.984, 125\\",\\"24.984, 125\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Primemaster\\",\\"Tigress Enterprises, Primemaster\\",\\"12.25, 57.5\\",\\"24.984, 125\\",\\"11,755, 17,765\\",\\"Sandals - cognac, High heeled boots - Midnight Blue\\",\\"Sandals - cognac, High heeled boots - Midnight Blue\\",\\"1, 1\\",\\"ZO0009800098, ZO0362803628\\",\\"0, 0\\",\\"24.984, 125\\",\\"24.984, 125\\",\\"0, 0\\",\\"ZO0009800098, ZO0362803628\\",150,150,2,2,order,abigail +XQMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Marwan,Marwan,\\"Marwan Mckinney\\",\\"Marwan Mckinney\\",MALE,51,Mckinney,Mckinney,\\"(empty)\\",Sunday,6,\\"marwan@mckinney-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564937,\\"sold_product_564937_1994, sold_product_564937_6646\\",\\"sold_product_564937_1994, sold_product_564937_6646\\",\\"33, 75\\",\\"33, 75\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"17.484, 35.25\\",\\"33, 75\\",\\"1,994, 6,646\\",\\"Lace-up boots - dark grey, Winter jacket - dark camel\\",\\"Lace-up boots - dark grey, Winter jacket - dark camel\\",\\"1, 1\\",\\"ZO0520605206, ZO0432204322\\",\\"0, 0\\",\\"33, 75\\",\\"33, 75\\",\\"0, 0\\",\\"ZO0520605206, ZO0432204322\\",108,108,2,2,order,marwan +XgMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Yasmine,Yasmine,\\"Yasmine Henderson\\",\\"Yasmine Henderson\\",FEMALE,43,Henderson,Henderson,\\"(empty)\\",Sunday,6,\\"yasmine@henderson-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Pyramidustries, Spherecords Curvy\\",\\"Pyramidustries, Spherecords Curvy\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564994,\\"sold_product_564994_16814, sold_product_564994_17456\\",\\"sold_product_564994_16814, sold_product_564994_17456\\",\\"24.984, 11.992\\",\\"24.984, 11.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Spherecords Curvy\\",\\"Pyramidustries, Spherecords Curvy\\",\\"12.992, 6.109\\",\\"24.984, 11.992\\",\\"16,814, 17,456\\",\\"Sweatshirt - light grey multicolor, Long sleeved top - dark grey multicolor\\",\\"Sweatshirt - light grey multicolor, Long sleeved top - dark grey multicolor\\",\\"1, 1\\",\\"ZO0180601806, ZO0710007100\\",\\"0, 0\\",\\"24.984, 11.992\\",\\"24.984, 11.992\\",\\"0, 0\\",\\"ZO0180601806, ZO0710007100\\",\\"36.969\\",\\"36.969\\",2,2,order,yasmine +XwMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,rania,rania,\\"rania Howell\\",\\"rania Howell\\",FEMALE,24,Howell,Howell,\\"(empty)\\",Sunday,6,\\"rania@howell-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Gnomehouse mom, Oceanavigations\\",\\"Gnomehouse mom, Oceanavigations\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564070,\\"sold_product_564070_23824, sold_product_564070_5275\\",\\"sold_product_564070_23824, sold_product_564070_5275\\",\\"55, 65\\",\\"55, 65\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse mom, Oceanavigations\\",\\"Gnomehouse mom, Oceanavigations\\",\\"29.688, 35.094\\",\\"55, 65\\",\\"23,824, 5,275\\",\\"Summer dress - red ochre, Boots - dark brown\\",\\"Summer dress - red ochre, Boots - dark brown\\",\\"1, 1\\",\\"ZO0234202342, ZO0245102451\\",\\"0, 0\\",\\"55, 65\\",\\"55, 65\\",\\"0, 0\\",\\"ZO0234202342, ZO0245102451\\",120,120,2,2,order,rani +YAMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Jackson,Jackson,\\"Jackson Miller\\",\\"Jackson Miller\\",MALE,13,Miller,Miller,\\"(empty)\\",Sunday,6,\\"jackson@miller-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",563928,\\"sold_product_563928_17644, sold_product_563928_11004\\",\\"sold_product_563928_17644, sold_product_563928_11004\\",\\"60, 50\\",\\"60, 50\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"29.406, 26.484\\",\\"60, 50\\",\\"17,644, 11,004\\",\\"Suit jacket - dark blue, Casual lace-ups - Gold/cognac/lion\\",\\"Suit jacket - dark blue, Casual lace-ups - Gold/cognac/lion\\",\\"1, 1\\",\\"ZO0424104241, ZO0394103941\\",\\"0, 0\\",\\"60, 50\\",\\"60, 50\\",\\"0, 0\\",\\"ZO0424104241, ZO0394103941\\",110,110,2,2,order,jackson +xQMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Morrison\\",\\"Rabbia Al Morrison\\",FEMALE,5,Morrison,Morrison,\\"(empty)\\",Sunday,6,\\"rabbia al@morrison-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Tigress Enterprises, Spherecords, Pyramidustries\\",\\"Tigress Enterprises, Spherecords, Pyramidustries\\",\\"Jun 22, 2019 @ 00:00:00.000\\",727071,\\"sold_product_727071_20781, sold_product_727071_23338, sold_product_727071_15267, sold_product_727071_12138\\",\\"sold_product_727071_20781, sold_product_727071_23338, sold_product_727071_15267, sold_product_727071_12138\\",\\"17.984, 16.984, 16.984, 32\\",\\"17.984, 16.984, 16.984, 32\\",\\"Women's Accessories, Women's Clothing, Women's Accessories, Women's Accessories\\",\\"Women's Accessories, Women's Clothing, Women's Accessories, Women's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Tigress Enterprises, Spherecords, Pyramidustries, Tigress Enterprises\\",\\"Tigress Enterprises, Spherecords, Pyramidustries, Tigress Enterprises\\",\\"8.102, 9.172, 7.988, 16.953\\",\\"17.984, 16.984, 16.984, 32\\",\\"20,781, 23,338, 15,267, 12,138\\",\\"Across body bag - old rose , Pyjama set - grey/pink, Handbag - grey, Handbag - black\\",\\"Across body bag - old rose , Pyjama set - grey/pink, Handbag - grey, Handbag - black\\",\\"1, 1, 1, 1\\",\\"ZO0091900919, ZO0660006600, ZO0197001970, ZO0074600746\\",\\"0, 0, 0, 0\\",\\"17.984, 16.984, 16.984, 32\\",\\"17.984, 16.984, 16.984, 32\\",\\"0, 0, 0, 0\\",\\"ZO0091900919, ZO0660006600, ZO0197001970, ZO0074600746\\",84,84,4,4,order,rabbia +zAMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Phil,Phil,\\"Phil Benson\\",\\"Phil Benson\\",MALE,50,Benson,Benson,\\"(empty)\\",Sunday,6,\\"phil@benson-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565284,\\"sold_product_565284_587, sold_product_565284_12864\\",\\"sold_product_565284_587, sold_product_565284_12864\\",\\"60, 22.984\\",\\"60, 22.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"27.594, 11.719\\",\\"60, 22.984\\",\\"587, 12,864\\",\\"Boots - cognac, SLIM FIT - Formal shirt - black\\",\\"Boots - cognac, SLIM FIT - Formal shirt - black\\",\\"1, 1\\",\\"ZO0687206872, ZO0422304223\\",\\"0, 0\\",\\"60, 22.984\\",\\"60, 22.984\\",\\"0, 0\\",\\"ZO0687206872, ZO0422304223\\",83,83,2,2,order,phil +0AMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Stephanie,Stephanie,\\"Stephanie Cook\\",\\"Stephanie Cook\\",FEMALE,6,Cook,Cook,\\"(empty)\\",Sunday,6,\\"stephanie@cook-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564380,\\"sold_product_564380_13907, sold_product_564380_23338\\",\\"sold_product_564380_13907, sold_product_564380_23338\\",\\"37, 16.984\\",\\"37, 16.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"16.656, 9.172\\",\\"37, 16.984\\",\\"13,907, 23,338\\",\\"Summer dress - black/Blue Violety, Pyjama set - grey/pink\\",\\"Summer dress - black/Blue Violety, Pyjama set - grey/pink\\",\\"1, 1\\",\\"ZO0050400504, ZO0660006600\\",\\"0, 0\\",\\"37, 16.984\\",\\"37, 16.984\\",\\"0, 0\\",\\"ZO0050400504, ZO0660006600\\",\\"53.969\\",\\"53.969\\",2,2,order,stephanie +JQMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Clarice,Clarice,\\"Clarice Howell\\",\\"Clarice Howell\\",FEMALE,18,Howell,Howell,\\"(empty)\\",Sunday,6,\\"clarice@howell-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Pyramidustries, Angeldale\\",\\"Pyramidustries, Angeldale\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565276,\\"sold_product_565276_19432, sold_product_565276_23037\\",\\"sold_product_565276_19432, sold_product_565276_23037\\",\\"20.984, 75\\",\\"20.984, 75\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Angeldale\\",\\"Pyramidustries, Angeldale\\",\\"10.906, 34.5\\",\\"20.984, 75\\",\\"19,432, 23,037\\",\\"Slip-ons - black, Lace-ups - black\\",\\"Slip-ons - black, Lace-ups - black\\",\\"1, 1\\",\\"ZO0131501315, ZO0668806688\\",\\"0, 0\\",\\"20.984, 75\\",\\"20.984, 75\\",\\"0, 0\\",\\"ZO0131501315, ZO0668806688\\",96,96,2,2,order,clarice +JgMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,Stephanie,Stephanie,\\"Stephanie Marshall\\",\\"Stephanie Marshall\\",FEMALE,6,Marshall,Marshall,\\"(empty)\\",Sunday,6,\\"stephanie@marshall-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564819,\\"sold_product_564819_22794, sold_product_564819_20865\\",\\"sold_product_564819_22794, sold_product_564819_20865\\",\\"100, 65\\",\\"100, 65\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"46, 34.438\\",\\"100, 65\\",\\"22,794, 20,865\\",\\"Boots - Midnight Blue, Handbag - black\\",\\"Boots - Midnight Blue, Handbag - black\\",\\"1, 1\\",\\"ZO0374603746, ZO0697106971\\",\\"0, 0\\",\\"100, 65\\",\\"100, 65\\",\\"0, 0\\",\\"ZO0374603746, ZO0697106971\\",165,165,2,2,order,stephanie +yQMtOW0BH63Xcmy45Wq4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Eddie,Eddie,\\"Eddie Foster\\",\\"Eddie Foster\\",MALE,38,Foster,Foster,\\"(empty)\\",Sunday,6,\\"eddie@foster-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Microlutions, Elitelligence\\",\\"Low Tide Media, Microlutions, Elitelligence\\",\\"Jun 22, 2019 @ 00:00:00.000\\",717243,\\"sold_product_717243_19724, sold_product_717243_20018, sold_product_717243_21122, sold_product_717243_13406\\",\\"sold_product_717243_19724, sold_product_717243_20018, sold_product_717243_21122, sold_product_717243_13406\\",\\"18.984, 33, 20.984, 11.992\\",\\"18.984, 33, 20.984, 11.992\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Low Tide Media, Microlutions, Low Tide Media, Elitelligence\\",\\"Low Tide Media, Microlutions, Low Tide Media, Elitelligence\\",\\"9.117, 16.172, 10.289, 6.59\\",\\"18.984, 33, 20.984, 11.992\\",\\"19,724, 20,018, 21,122, 13,406\\",\\"Swimming shorts - dark blue, Sweatshirt - Medium Spring Green, Sweatshirt - green , Basic T-shirt - blue\\",\\"Swimming shorts - dark blue, Sweatshirt - Medium Spring Green, Sweatshirt - green , Basic T-shirt - blue\\",\\"1, 1, 1, 1\\",\\"ZO0479104791, ZO0125301253, ZO0459004590, ZO0549905499\\",\\"0, 0, 0, 0\\",\\"18.984, 33, 20.984, 11.992\\",\\"18.984, 33, 20.984, 11.992\\",\\"0, 0, 0, 0\\",\\"ZO0479104791, ZO0125301253, ZO0459004590, ZO0549905499\\",\\"84.938\\",\\"84.938\\",4,4,order,eddie +6QMtOW0BH63Xcmy45Wq4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Pia,Pia,\\"Pia Phelps\\",\\"Pia Phelps\\",FEMALE,45,Phelps,Phelps,\\"(empty)\\",Sunday,6,\\"pia@phelps-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Pyramidustries active, Oceanavigations\\",\\"Pyramidustries active, Oceanavigations\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564140,\\"sold_product_564140_14794, sold_product_564140_18586\\",\\"sold_product_564140_14794, sold_product_564140_18586\\",\\"11.992, 42\\",\\"11.992, 42\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries active, Oceanavigations\\",\\"Pyramidustries active, Oceanavigations\\",\\"5.762, 21.828\\",\\"11.992, 42\\",\\"14,794, 18,586\\",\\"Vest - sheer pink, Cardigan - dark green\\",\\"Vest - sheer pink, Cardigan - dark green\\",\\"1, 1\\",\\"ZO0221002210, ZO0268502685\\",\\"0, 0\\",\\"11.992, 42\\",\\"11.992, 42\\",\\"0, 0\\",\\"ZO0221002210, ZO0268502685\\",\\"53.969\\",\\"53.969\\",2,2,order,pia +6gMtOW0BH63Xcmy45Wq4,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Jenkins\\",\\"Rabbia Al Jenkins\\",FEMALE,5,Jenkins,Jenkins,\\"(empty)\\",Sunday,6,\\"rabbia al@jenkins-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Angeldale, Pyramidustries\\",\\"Angeldale, Pyramidustries\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564164,\\"sold_product_564164_17391, sold_product_564164_11357\\",\\"sold_product_564164_17391, sold_product_564164_11357\\",\\"85, 11.992\\",\\"85, 11.992\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Pyramidustries\\",\\"Angeldale, Pyramidustries\\",\\"46.75, 6.469\\",\\"85, 11.992\\",\\"17,391, 11,357\\",\\"Ankle boots - black, Pyjama bottoms - grey\\",\\"Ankle boots - black, Pyjama bottoms - grey\\",\\"1, 1\\",\\"ZO0673506735, ZO0213002130\\",\\"0, 0\\",\\"85, 11.992\\",\\"85, 11.992\\",\\"0, 0\\",\\"ZO0673506735, ZO0213002130\\",97,97,2,2,order,rabbia +6wMtOW0BH63Xcmy45Wq4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty Ruiz\\",\\"Betty Ruiz\\",FEMALE,44,Ruiz,Ruiz,\\"(empty)\\",Sunday,6,\\"betty@ruiz-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Spherecords Curvy, Tigress Enterprises\\",\\"Spherecords Curvy, Tigress Enterprises\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564207,\\"sold_product_564207_11825, sold_product_564207_17988\\",\\"sold_product_564207_11825, sold_product_564207_17988\\",\\"24.984, 37\\",\\"24.984, 37\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords Curvy, Tigress Enterprises\\",\\"Spherecords Curvy, Tigress Enterprises\\",\\"11.5, 18.125\\",\\"24.984, 37\\",\\"11,825, 17,988\\",\\"Cardigan - black, Cardigan - sand mel/black\\",\\"Cardigan - black, Cardigan - sand mel/black\\",\\"1, 1\\",\\"ZO0711807118, ZO0073100731\\",\\"0, 0\\",\\"24.984, 37\\",\\"24.984, 37\\",\\"0, 0\\",\\"ZO0711807118, ZO0073100731\\",\\"61.969\\",\\"61.969\\",2,2,order,betty +7QMtOW0BH63Xcmy45Wq4,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Thad,Thad,\\"Thad Kim\\",\\"Thad Kim\\",MALE,30,Kim,Kim,\\"(empty)\\",Sunday,6,\\"thad@kim-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564735,\\"sold_product_564735_13418, sold_product_564735_14150\\",\\"sold_product_564735_13418, sold_product_564735_14150\\",\\"16.984, 16.984\\",\\"16.984, 16.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"9, 8.492\\",\\"16.984, 16.984\\",\\"13,418, 14,150\\",\\"High-top trainers - navy, Print T-shirt - black\\",\\"High-top trainers - navy, Print T-shirt - black\\",\\"1, 1\\",\\"ZO0509705097, ZO0120501205\\",\\"0, 0\\",\\"16.984, 16.984\\",\\"16.984, 16.984\\",\\"0, 0\\",\\"ZO0509705097, ZO0120501205\\",\\"33.969\\",\\"33.969\\",2,2,order,thad +8gMtOW0BH63Xcmy45Wq4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Hudson\\",\\"Sultan Al Hudson\\",MALE,19,Hudson,Hudson,\\"(empty)\\",Sunday,6,\\"sultan al@hudson-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",Microlutions,Microlutions,\\"Jun 22, 2019 @ 00:00:00.000\\",565077,\\"sold_product_565077_21138, sold_product_565077_20998\\",\\"sold_product_565077_21138, sold_product_565077_20998\\",\\"16.984, 28.984\\",\\"16.984, 28.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Microlutions\\",\\"Microlutions, Microlutions\\",\\"9.172, 14.781\\",\\"16.984, 28.984\\",\\"21,138, 20,998\\",\\"Basic T-shirt - black, Sweatshirt - black\\",\\"Basic T-shirt - black, Sweatshirt - black\\",\\"1, 1\\",\\"ZO0118701187, ZO0123901239\\",\\"0, 0\\",\\"16.984, 28.984\\",\\"16.984, 28.984\\",\\"0, 0\\",\\"ZO0118701187, ZO0123901239\\",\\"45.969\\",\\"45.969\\",2,2,order,sultan +AAMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Wood\\",\\"Jackson Wood\\",MALE,13,Wood,Wood,\\"(empty)\\",Sunday,6,\\"jackson@wood-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564274,\\"sold_product_564274_23599, sold_product_564274_23910\\",\\"sold_product_564274_23599, sold_product_564274_23910\\",\\"75, 26.984\\",\\"75, 26.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"34.5, 13.758\\",\\"75, 26.984\\",\\"23,599, 23,910\\",\\"Winter jacket - oliv, Shorts - dark blue\\",\\"Winter jacket - oliv, Shorts - dark blue\\",\\"1, 1\\",\\"ZO0542905429, ZO0423604236\\",\\"0, 0\\",\\"75, 26.984\\",\\"75, 26.984\\",\\"0, 0\\",\\"ZO0542905429, ZO0423604236\\",102,102,2,2,order,jackson +HgMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Thad,Thad,\\"Thad Walters\\",\\"Thad Walters\\",MALE,30,Walters,Walters,\\"(empty)\\",Sunday,6,\\"thad@walters-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565161,\\"sold_product_565161_23831, sold_product_565161_13178\\",\\"sold_product_565161_23831, sold_product_565161_13178\\",\\"10.992, 60\\",\\"10.992, 60\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"5.5, 32.375\\",\\"10.992, 60\\",\\"23,831, 13,178\\",\\"Basic T-shirt - oliv , Light jacket - navy\\",\\"Basic T-shirt - oliv , Light jacket - navy\\",\\"1, 1\\",\\"ZO0441404414, ZO0430504305\\",\\"0, 0\\",\\"10.992, 60\\",\\"10.992, 60\\",\\"0, 0\\",\\"ZO0441404414, ZO0430504305\\",71,71,2,2,order,thad +HwMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Selena,Selena,\\"Selena Taylor\\",\\"Selena Taylor\\",FEMALE,42,Taylor,Taylor,\\"(empty)\\",Sunday,6,\\"selena@taylor-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Champion Arts, Angeldale\\",\\"Champion Arts, Angeldale\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565039,\\"sold_product_565039_17587, sold_product_565039_19471\\",\\"sold_product_565039_17587, sold_product_565039_19471\\",\\"16.984, 13.992\\",\\"16.984, 13.992\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Angeldale\\",\\"Champion Arts, Angeldale\\",\\"8.328, 6.859\\",\\"16.984, 13.992\\",\\"17,587, 19,471\\",\\"Jersey dress - khaki, Belt - dark brown\\",\\"Jersey dress - khaki, Belt - dark brown\\",\\"1, 1\\",\\"ZO0489804898, ZO0695006950\\",\\"0, 0\\",\\"16.984, 13.992\\",\\"16.984, 13.992\\",\\"0, 0\\",\\"ZO0489804898, ZO0695006950\\",\\"30.984\\",\\"30.984\\",2,2,order,selena +PwMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Stokes\\",\\"Elyssa Stokes\\",FEMALE,27,Stokes,Stokes,\\"(empty)\\",Sunday,6,\\"elyssa@stokes-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Spherecords, Champion Arts, Pyramidustries\\",\\"Spherecords, Champion Arts, Pyramidustries\\",\\"Jun 22, 2019 @ 00:00:00.000\\",723683,\\"sold_product_723683_19440, sold_product_723683_17349, sold_product_723683_14873, sold_product_723683_24863\\",\\"sold_product_723683_19440, sold_product_723683_17349, sold_product_723683_14873, sold_product_723683_24863\\",\\"10.992, 33, 42, 11.992\\",\\"10.992, 33, 42, 11.992\\",\\"Women's Clothing, Women's Clothing, Women's Shoes, Women's Clothing\\",\\"Women's Clothing, Women's Clothing, Women's Shoes, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Spherecords, Champion Arts, Pyramidustries, Champion Arts\\",\\"Spherecords, Champion Arts, Pyramidustries, Champion Arts\\",\\"5.93, 18.141, 21, 5.879\\",\\"10.992, 33, 42, 11.992\\",\\"19,440, 17,349, 14,873, 24,863\\",\\"Long sleeved top - dark green, Bomber Jacket - khaki/black, Platform boots - grey, Vest - black/white\\",\\"Long sleeved top - dark green, Bomber Jacket - khaki/black, Platform boots - grey, Vest - black/white\\",\\"1, 1, 1, 1\\",\\"ZO0648206482, ZO0496104961, ZO0142601426, ZO0491504915\\",\\"0, 0, 0, 0\\",\\"10.992, 33, 42, 11.992\\",\\"10.992, 33, 42, 11.992\\",\\"0, 0, 0, 0\\",\\"ZO0648206482, ZO0496104961, ZO0142601426, ZO0491504915\\",\\"97.938\\",\\"97.938\\",4,4,order,elyssa +CAMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Stephanie,Stephanie,\\"Stephanie Lloyd\\",\\"Stephanie Lloyd\\",FEMALE,6,Lloyd,Lloyd,\\"(empty)\\",Sunday,6,\\"stephanie@lloyd-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Champion Arts, Spherecords\\",\\"Champion Arts, Spherecords\\",\\"Jun 22, 2019 @ 00:00:00.000\\",563967,\\"sold_product_563967_21565, sold_product_563967_8534\\",\\"sold_product_563967_21565, sold_product_563967_8534\\",\\"10.992, 10.992\\",\\"10.992, 10.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Spherecords\\",\\"Champion Arts, Spherecords\\",\\"5.281, 5.82\\",\\"10.992, 10.992\\",\\"21,565, 8,534\\",\\"Print T-shirt - dark grey multicolor, Long sleeved top - black\\",\\"Print T-shirt - dark grey multicolor, Long sleeved top - black\\",\\"1, 1\\",\\"ZO0493404934, ZO0640806408\\",\\"0, 0\\",\\"10.992, 10.992\\",\\"10.992, 10.992\\",\\"0, 0\\",\\"ZO0493404934, ZO0640806408\\",\\"21.984\\",\\"21.984\\",2,2,order,stephanie +LwMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Rodriguez\\",\\"Abigail Rodriguez\\",FEMALE,46,Rodriguez,Rodriguez,\\"(empty)\\",Sunday,6,\\"abigail@rodriguez-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Champion Arts, Tigress Enterprises\\",\\"Champion Arts, Tigress Enterprises\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564533,\\"sold_product_564533_15845, sold_product_564533_17192\\",\\"sold_product_564533_15845, sold_product_564533_17192\\",\\"42, 33\\",\\"42, 33\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Tigress Enterprises\\",\\"Champion Arts, Tigress Enterprises\\",\\"23.094, 16.5\\",\\"42, 33\\",\\"15,845, 17,192\\",\\"Summer jacket - black, Jersey dress - black\\",\\"Summer jacket - black, Jersey dress - black\\",\\"1, 1\\",\\"ZO0496704967, ZO0049700497\\",\\"0, 0\\",\\"42, 33\\",\\"42, 33\\",\\"0, 0\\",\\"ZO0496704967, ZO0049700497\\",75,75,2,2,order,abigail +NwMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",EUR,Frances,Frances,\\"Frances Dennis\\",\\"Frances Dennis\\",FEMALE,49,Dennis,Dennis,\\"(empty)\\",Sunday,6,\\"frances@dennis-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565266,\\"sold_product_565266_18617, sold_product_565266_17793\\",\\"sold_product_565266_18617, sold_product_565266_17793\\",\\"60, 35\\",\\"60, 35\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"31.797, 16.453\\",\\"60, 35\\",\\"18,617, 17,793\\",\\"Slip-ons - black, Briefcase - black\\",\\"Slip-ons - black, Briefcase - black\\",\\"1, 1\\",\\"ZO0255602556, ZO0468304683\\",\\"0, 0\\",\\"60, 35\\",\\"60, 35\\",\\"0, 0\\",\\"ZO0255602556, ZO0468304683\\",95,95,2,2,order,frances +OAMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,\\"Ahmed Al\\",\\"Ahmed Al\\",\\"Ahmed Al James\\",\\"Ahmed Al James\\",MALE,4,James,James,\\"(empty)\\",Sunday,6,\\"ahmed al@james-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564818,\\"sold_product_564818_12813, sold_product_564818_24108\\",\\"sold_product_564818_12813, sold_product_564818_24108\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"5.52, 11.25\\",\\"11.992, 24.984\\",\\"12,813, 24,108\\",\\"2 PACK - Basic T-shirt - black, SLIM FIT - Formal shirt - light blue\\",\\"2 PACK - Basic T-shirt - black, SLIM FIT - Formal shirt - light blue\\",\\"1, 1\\",\\"ZO0475004750, ZO0412304123\\",\\"0, 0\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"0, 0\\",\\"ZO0475004750, ZO0412304123\\",\\"36.969\\",\\"36.969\\",2,2,order,ahmed +XQMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Yahya,Yahya,\\"Yahya Turner\\",\\"Yahya Turner\\",MALE,23,Turner,Turner,\\"(empty)\\",Sunday,6,\\"yahya@turner-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",Elitelligence,Elitelligence,\\"Jun 22, 2019 @ 00:00:00.000\\",564932,\\"sold_product_564932_23918, sold_product_564932_23529\\",\\"sold_product_564932_23918, sold_product_564932_23529\\",\\"7.988, 20.984\\",\\"7.988, 20.984\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"4.148, 10.906\\",\\"7.988, 20.984\\",\\"23,918, 23,529\\",\\"Print T-shirt - red, Across body bag - blue/cognac\\",\\"Print T-shirt - red, Across body bag - blue/cognac\\",\\"1, 1\\",\\"ZO0557305573, ZO0607806078\\",\\"0, 0\\",\\"7.988, 20.984\\",\\"7.988, 20.984\\",\\"0, 0\\",\\"ZO0557305573, ZO0607806078\\",\\"28.984\\",\\"28.984\\",2,2,order,yahya +XgMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Clarice,Clarice,\\"Clarice Banks\\",\\"Clarice Banks\\",FEMALE,18,Banks,Banks,\\"(empty)\\",Sunday,6,\\"clarice@banks-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564968,\\"sold_product_564968_14312, sold_product_564968_22436\\",\\"sold_product_564968_14312, sold_product_564968_22436\\",\\"33, 18.984\\",\\"33, 18.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"15.844, 9.492\\",\\"33, 18.984\\",\\"14,312, 22,436\\",\\"High heels - yellow, Vest - gold metallic\\",\\"High heels - yellow, Vest - gold metallic\\",\\"1, 1\\",\\"ZO0134101341, ZO0062400624\\",\\"0, 0\\",\\"33, 18.984\\",\\"33, 18.984\\",\\"0, 0\\",\\"ZO0134101341, ZO0062400624\\",\\"51.969\\",\\"51.969\\",2,2,order,clarice +XwMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty Morrison\\",\\"Betty Morrison\\",FEMALE,44,Morrison,Morrison,\\"(empty)\\",Sunday,6,\\"betty@morrison-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Gnomehouse,Gnomehouse,\\"Jun 22, 2019 @ 00:00:00.000\\",565002,\\"sold_product_565002_22932, sold_product_565002_21168\\",\\"sold_product_565002_22932, sold_product_565002_21168\\",\\"100, 75\\",\\"100, 75\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Gnomehouse\\",\\"Gnomehouse, Gnomehouse\\",\\"54, 33.75\\",\\"100, 75\\",\\"22,932, 21,168\\",\\"Classic coat - grey, Cocktail dress / Party dress - eclipse\\",\\"Classic coat - grey, Cocktail dress / Party dress - eclipse\\",\\"1, 1\\",\\"ZO0354203542, ZO0338503385\\",\\"0, 0\\",\\"100, 75\\",\\"100, 75\\",\\"0, 0\\",\\"ZO0354203542, ZO0338503385\\",175,175,2,2,order,betty +YQMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Robbie,Robbie,\\"Robbie Conner\\",\\"Robbie Conner\\",MALE,48,Conner,Conner,\\"(empty)\\",Sunday,6,\\"robbie@conner-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564095,\\"sold_product_564095_23104, sold_product_564095_24934\\",\\"sold_product_564095_23104, sold_product_564095_24934\\",\\"10.992, 50\\",\\"10.992, 50\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"5.281, 22.5\\",\\"10.992, 50\\",\\"23,104, 24,934\\",\\"5 PACK - Socks - multicoloured, Lace-up boots - resin coffee\\",\\"5 PACK - Socks - multicoloured, Lace-up boots - resin coffee\\",\\"1, 1\\",\\"ZO0613806138, ZO0403504035\\",\\"0, 0\\",\\"10.992, 50\\",\\"10.992, 50\\",\\"0, 0\\",\\"ZO0613806138, ZO0403504035\\",\\"60.969\\",\\"60.969\\",2,2,order,robbie +YgMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Yuri,Yuri,\\"Yuri Clayton\\",\\"Yuri Clayton\\",MALE,21,Clayton,Clayton,\\"(empty)\\",Sunday,6,\\"yuri@clayton-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",Elitelligence,Elitelligence,\\"Jun 22, 2019 @ 00:00:00.000\\",563924,\\"sold_product_563924_14271, sold_product_563924_15400\\",\\"sold_product_563924_14271, sold_product_563924_15400\\",\\"50, 14.992\\",\\"50, 14.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"23, 7.051\\",\\"50, 14.992\\",\\"14,271, 15,400\\",\\"Bomber Jacket - blue mix, Long sleeved top - khaki\\",\\"Bomber Jacket - blue mix, Long sleeved top - khaki\\",\\"1, 1\\",\\"ZO0539805398, ZO0554205542\\",\\"0, 0\\",\\"50, 14.992\\",\\"50, 14.992\\",\\"0, 0\\",\\"ZO0539805398, ZO0554205542\\",65,65,2,2,order,yuri +7AMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Mccarthy\\",\\"Elyssa Mccarthy\\",FEMALE,27,Mccarthy,Mccarthy,\\"(empty)\\",Sunday,6,\\"elyssa@mccarthy-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Spherecords Maternity, Tigress Enterprises\\",\\"Spherecords Maternity, Tigress Enterprises\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564770,\\"sold_product_564770_15776, sold_product_564770_17904\\",\\"sold_product_564770_15776, sold_product_564770_17904\\",\\"20.984, 33\\",\\"20.984, 33\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords Maternity, Tigress Enterprises\\",\\"Spherecords Maternity, Tigress Enterprises\\",\\"10.078, 17.156\\",\\"20.984, 33\\",\\"15,776, 17,904\\",\\"2 PACK - Leggings - black, Ankle boots - black\\",\\"2 PACK - Leggings - black, Ankle boots - black\\",\\"1, 1\\",\\"ZO0704907049, ZO0024700247\\",\\"0, 0\\",\\"20.984, 33\\",\\"20.984, 33\\",\\"0, 0\\",\\"ZO0704907049, ZO0024700247\\",\\"53.969\\",\\"53.969\\",2,2,order,elyssa +SQMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Adams\\",\\"Elyssa Adams\\",FEMALE,27,Adams,Adams,\\"(empty)\\",Sunday,6,\\"elyssa@adams-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Champion Arts\\",\\"Tigress Enterprises, Champion Arts\\",\\"Jun 22, 2019 @ 00:00:00.000\\",563965,\\"sold_product_563965_18560, sold_product_563965_14856\\",\\"sold_product_563965_18560, sold_product_563965_14856\\",\\"34, 18.984\\",\\"34, 18.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Champion Arts\\",\\"Tigress Enterprises, Champion Arts\\",\\"18.016, 9.313\\",\\"34, 18.984\\",\\"18,560, 14,856\\",\\"Summer dress - peacoat/pomegranade, Sweatshirt - grey\\",\\"Summer dress - peacoat/pomegranade, Sweatshirt - grey\\",\\"1, 1\\",\\"ZO0045800458, ZO0503405034\\",\\"0, 0\\",\\"34, 18.984\\",\\"34, 18.984\\",\\"0, 0\\",\\"ZO0045800458, ZO0503405034\\",\\"52.969\\",\\"52.969\\",2,2,order,elyssa +ZAMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,rania,rania,\\"rania Powell\\",\\"rania Powell\\",FEMALE,24,Powell,Powell,\\"(empty)\\",Sunday,6,\\"rania@powell-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",Pyramidustries,Pyramidustries,\\"Jun 22, 2019 @ 00:00:00.000\\",564957,\\"sold_product_564957_22053, sold_product_564957_17382\\",\\"sold_product_564957_22053, sold_product_564957_17382\\",\\"28.984, 6.988\\",\\"28.984, 6.988\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"15.648, 3.359\\",\\"28.984, 6.988\\",\\"22,053, 17,382\\",\\"Shirt - light blue, Tights - black\\",\\"Shirt - light blue, Tights - black\\",\\"1, 1\\",\\"ZO0171601716, ZO0214602146\\",\\"0, 0\\",\\"28.984, 6.988\\",\\"28.984, 6.988\\",\\"0, 0\\",\\"ZO0171601716, ZO0214602146\\",\\"35.969\\",\\"35.969\\",2,2,order,rani +ZQMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Jim,Jim,\\"Jim Brewer\\",\\"Jim Brewer\\",MALE,41,Brewer,Brewer,\\"(empty)\\",Sunday,6,\\"jim@brewer-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564032,\\"sold_product_564032_20226, sold_product_564032_16558\\",\\"sold_product_564032_20226, sold_product_564032_16558\\",\\"28.984, 33\\",\\"28.984, 33\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"15.648, 15.508\\",\\"28.984, 33\\",\\"20,226, 16,558\\",\\"Pyjamas - grey/blue, Boots - dark brown\\",\\"Pyjamas - grey/blue, Boots - dark brown\\",\\"1, 1\\",\\"ZO0478404784, ZO0521905219\\",\\"0, 0\\",\\"28.984, 33\\",\\"28.984, 33\\",\\"0, 0\\",\\"ZO0478404784, ZO0521905219\\",\\"61.969\\",\\"61.969\\",2,2,order,jim +ZgMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Muniz,Muniz,\\"Muniz Estrada\\",\\"Muniz Estrada\\",MALE,37,Estrada,Estrada,\\"(empty)\\",Sunday,6,\\"muniz@estrada-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564075,\\"sold_product_564075_21248, sold_product_564075_12047\\",\\"sold_product_564075_21248, sold_product_564075_12047\\",\\"27.984, 20.984\\",\\"27.984, 20.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"13.992, 10.289\\",\\"27.984, 20.984\\",\\"21,248, 12,047\\",\\"Windbreaker - navy blazer, Tracksuit bottoms - dark red\\",\\"Windbreaker - navy blazer, Tracksuit bottoms - dark red\\",\\"1, 1\\",\\"ZO0622706227, ZO0525405254\\",\\"0, 0\\",\\"27.984, 20.984\\",\\"27.984, 20.984\\",\\"0, 0\\",\\"ZO0622706227, ZO0525405254\\",\\"48.969\\",\\"48.969\\",2,2,order,muniz +ZwMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Samir,Samir,\\"Samir Mckinney\\",\\"Samir Mckinney\\",MALE,34,Mckinney,Mckinney,\\"(empty)\\",Sunday,6,\\"samir@mckinney-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 22, 2019 @ 00:00:00.000\\",563931,\\"sold_product_563931_3103, sold_product_563931_11153\\",\\"sold_product_563931_3103, sold_product_563931_11153\\",\\"20.984, 10.992\\",\\"20.984, 10.992\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"10.703, 5.172\\",\\"20.984, 10.992\\",\\"3,103, 11,153\\",\\"Polo shirt - light grey multicolor, Cap - black/black\\",\\"Polo shirt - light grey multicolor, Cap - black/black\\",\\"1, 1\\",\\"ZO0444304443, ZO0596505965\\",\\"0, 0\\",\\"20.984, 10.992\\",\\"20.984, 10.992\\",\\"0, 0\\",\\"ZO0444304443, ZO0596505965\\",\\"31.984\\",\\"31.984\\",2,2,order,samir +lgMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Clarice,Clarice,\\"Clarice Palmer\\",\\"Clarice Palmer\\",FEMALE,18,Palmer,Palmer,\\"(empty)\\",Sunday,6,\\"clarice@palmer-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564940,\\"sold_product_564940_13407, sold_product_564940_15116\\",\\"sold_product_564940_13407, sold_product_564940_15116\\",\\"28.984, 20.984\\",\\"28.984, 20.984\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"13.922, 11.328\\",\\"28.984, 20.984\\",\\"13,407, 15,116\\",\\"Trainers - offwhite, Wedges - Blue Violety\\",\\"Trainers - offwhite, Wedges - Blue Violety\\",\\"1, 1\\",\\"ZO0026800268, ZO0003600036\\",\\"0, 0\\",\\"28.984, 20.984\\",\\"28.984, 20.984\\",\\"0, 0\\",\\"ZO0026800268, ZO0003600036\\",\\"49.969\\",\\"49.969\\",2,2,order,clarice +lwMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jason,Jason,\\"Jason Hampton\\",\\"Jason Hampton\\",MALE,16,Hampton,Hampton,\\"(empty)\\",Sunday,6,\\"jason@hampton-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564987,\\"sold_product_564987_24440, sold_product_564987_12655\\",\\"sold_product_564987_24440, sold_product_564987_12655\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"10.703, 13.242\\",\\"20.984, 24.984\\",\\"24,440, 12,655\\",\\"Chinos - dark blue, SET - Pyjamas - grey/blue\\",\\"Chinos - dark blue, SET - Pyjamas - grey/blue\\",\\"1, 1\\",\\"ZO0526805268, ZO0478104781\\",\\"0, 0\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"0, 0\\",\\"ZO0526805268, ZO0478104781\\",\\"45.969\\",\\"45.969\\",2,2,order,jason +mQMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Tariq,Tariq,\\"Tariq Lewis\\",\\"Tariq Lewis\\",MALE,25,Lewis,Lewis,\\"(empty)\\",Sunday,6,\\"tariq@lewis-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564080,\\"sold_product_564080_13013, sold_product_564080_16957\\",\\"sold_product_564080_13013, sold_product_564080_16957\\",\\"28.984, 10.992\\",\\"28.984, 10.992\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"14.211, 5.711\\",\\"28.984, 10.992\\",\\"13,013, 16,957\\",\\"Shirt - light blue, Cap - navy\\",\\"Shirt - light blue, Cap - navy\\",\\"1, 1\\",\\"ZO0415804158, ZO0460804608\\",\\"0, 0\\",\\"28.984, 10.992\\",\\"28.984, 10.992\\",\\"0, 0\\",\\"ZO0415804158, ZO0460804608\\",\\"39.969\\",\\"39.969\\",2,2,order,tariq +mgMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Hicham,Hicham,\\"Hicham Love\\",\\"Hicham Love\\",MALE,8,Love,Love,\\"(empty)\\",Sunday,6,\\"hicham@love-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",Oceanavigations,Oceanavigations,\\"Jun 22, 2019 @ 00:00:00.000\\",564106,\\"sold_product_564106_14672, sold_product_564106_15019\\",\\"sold_product_564106_14672, sold_product_564106_15019\\",\\"28.984, 18.984\\",\\"28.984, 18.984\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"13.922, 8.547\\",\\"28.984, 18.984\\",\\"14,672, 15,019\\",\\"Jumper - dark blue, Wallet - black\\",\\"Jumper - dark blue, Wallet - black\\",\\"1, 1\\",\\"ZO0298002980, ZO0313103131\\",\\"0, 0\\",\\"28.984, 18.984\\",\\"28.984, 18.984\\",\\"0, 0\\",\\"ZO0298002980, ZO0313103131\\",\\"47.969\\",\\"47.969\\",2,2,order,hicham +mwMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Foster\\",\\"Gwen Foster\\",FEMALE,26,Foster,Foster,\\"(empty)\\",Sunday,6,\\"gwen@foster-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"Jun 22, 2019 @ 00:00:00.000\\",563947,\\"sold_product_563947_8960, sold_product_563947_19261\\",\\"sold_product_563947_8960, sold_product_563947_19261\\",\\"37, 13.992\\",\\"37, 13.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"18.5, 7\\",\\"37, 13.992\\",\\"8,960, 19,261\\",\\"Shirt - soft pink nude, Vest - black\\",\\"Shirt - soft pink nude, Vest - black\\",\\"1, 1\\",\\"ZO0348103481, ZO0164501645\\",\\"0, 0\\",\\"37, 13.992\\",\\"37, 13.992\\",\\"0, 0\\",\\"ZO0348103481, ZO0164501645\\",\\"50.969\\",\\"50.969\\",2,2,order,gwen +FAMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Lewis\\",\\"Elyssa Lewis\\",FEMALE,27,Lewis,Lewis,\\"(empty)\\",Sunday,6,\\"elyssa@lewis-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries active, Gnomehouse, Pyramidustries, Tigress Enterprises MAMA\\",\\"Pyramidustries active, Gnomehouse, Pyramidustries, Tigress Enterprises MAMA\\",\\"Jun 22, 2019 @ 00:00:00.000\\",725995,\\"sold_product_725995_10498, sold_product_725995_15404, sold_product_725995_16378, sold_product_725995_12398\\",\\"sold_product_725995_10498, sold_product_725995_15404, sold_product_725995_16378, sold_product_725995_12398\\",\\"20.984, 42, 34, 18.984\\",\\"20.984, 42, 34, 18.984\\",\\"Women's Clothing, Women's Clothing, Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing, Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Pyramidustries active, Gnomehouse, Pyramidustries, Tigress Enterprises MAMA\\",\\"Pyramidustries active, Gnomehouse, Pyramidustries, Tigress Enterprises MAMA\\",\\"11.328, 21.406, 15.641, 9.68\\",\\"20.984, 42, 34, 18.984\\",\\"10,498, 15,404, 16,378, 12,398\\",\\"Tracksuit bottoms - grey multicolor, Shift dress - Lemon Chiffon, Blazer - black/grey, Vest - navy\\",\\"Tracksuit bottoms - grey multicolor, Shift dress - Lemon Chiffon, Blazer - black/grey, Vest - navy\\",\\"1, 1, 1, 1\\",\\"ZO0222102221, ZO0332103321, ZO0182701827, ZO0230502305\\",\\"0, 0, 0, 0\\",\\"20.984, 42, 34, 18.984\\",\\"20.984, 42, 34, 18.984\\",\\"0, 0, 0, 0\\",\\"ZO0222102221, ZO0332103321, ZO0182701827, ZO0230502305\\",\\"115.938\\",\\"115.938\\",4,4,order,elyssa +JwMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,George,George,\\"George Butler\\",\\"George Butler\\",MALE,32,Butler,Butler,\\"(empty)\\",Sunday,6,\\"george@butler-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Elitelligence, (empty)\\",\\"Elitelligence, (empty)\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564756,\\"sold_product_564756_16646, sold_product_564756_21840\\",\\"sold_product_564756_16646, sold_product_564756_21840\\",\\"9.992, 155\\",\\"9.992, 155\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, (empty)\\",\\"Elitelligence, (empty)\\",\\"5.191, 83.688\\",\\"9.992, 155\\",\\"16,646, 21,840\\",\\"Long sleeved top - Medium Slate Blue, Lace-ups - brown\\",\\"Long sleeved top - Medium Slate Blue, Lace-ups - brown\\",\\"1, 1\\",\\"ZO0556805568, ZO0481504815\\",\\"0, 0\\",\\"9.992, 155\\",\\"9.992, 155\\",\\"0, 0\\",\\"ZO0556805568, ZO0481504815\\",165,165,2,2,order,george +ZwMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Yuri,Yuri,\\"Yuri Austin\\",\\"Yuri Austin\\",MALE,21,Austin,Austin,\\"(empty)\\",Sunday,6,\\"yuri@austin-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565137,\\"sold_product_565137_18257, sold_product_565137_24282\\",\\"sold_product_565137_18257, sold_product_565137_24282\\",\\"14.992, 7.988\\",\\"14.992, 7.988\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"7.051, 4.148\\",\\"14.992, 7.988\\",\\"18,257, 24,282\\",\\"Print T-shirt - black, Print T-shirt - bordeaux\\",\\"Print T-shirt - black, Print T-shirt - bordeaux\\",\\"1, 1\\",\\"ZO0118501185, ZO0561905619\\",\\"0, 0\\",\\"14.992, 7.988\\",\\"14.992, 7.988\\",\\"0, 0\\",\\"ZO0118501185, ZO0561905619\\",\\"22.984\\",\\"22.984\\",2,2,order,yuri +aAMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Evans\\",\\"Elyssa Evans\\",FEMALE,27,Evans,Evans,\\"(empty)\\",Sunday,6,\\"elyssa@evans-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565173,\\"sold_product_565173_20610, sold_product_565173_23026\\",\\"sold_product_565173_20610, sold_product_565173_23026\\",\\"12.992, 42\\",\\"12.992, 42\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"6.879, 20.156\\",\\"12.992, 42\\",\\"20,610, 23,026\\",\\"Clutch - rose, Platform boots - cognac\\",\\"Clutch - rose, Platform boots - cognac\\",\\"1, 1\\",\\"ZO0203802038, ZO0014900149\\",\\"0, 0\\",\\"12.992, 42\\",\\"12.992, 42\\",\\"0, 0\\",\\"ZO0203802038, ZO0014900149\\",\\"54.969\\",\\"54.969\\",2,2,order,elyssa +aQMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Valdez\\",\\"Abdulraheem Al Valdez\\",MALE,33,Valdez,Valdez,\\"(empty)\\",Sunday,6,\\"abdulraheem al@valdez-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565214,\\"sold_product_565214_24934, sold_product_565214_11845\\",\\"sold_product_565214_24934, sold_product_565214_11845\\",\\"50, 18.984\\",\\"50, 18.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"22.5, 9.492\\",\\"50, 18.984\\",\\"24,934, 11,845\\",\\"Lace-up boots - resin coffee, Hoodie - light red\\",\\"Lace-up boots - resin coffee, Hoodie - light red\\",\\"1, 1\\",\\"ZO0403504035, ZO0588705887\\",\\"0, 0\\",\\"50, 18.984\\",\\"50, 18.984\\",\\"0, 0\\",\\"ZO0403504035, ZO0588705887\\",69,69,2,2,order,abdulraheem +mQMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Mary,Mary,\\"Mary Frank\\",\\"Mary Frank\\",FEMALE,20,Frank,Frank,\\"(empty)\\",Sunday,6,\\"mary@frank-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Oceanavigations, Spherecords\\",\\"Oceanavigations, Spherecords\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564804,\\"sold_product_564804_16840, sold_product_564804_21361\\",\\"sold_product_564804_16840, sold_product_564804_21361\\",\\"37, 10.992\\",\\"37, 10.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Spherecords\\",\\"Oceanavigations, Spherecords\\",\\"17.766, 5.172\\",\\"37, 10.992\\",\\"16,840, 21,361\\",\\"Pencil skirt - black, Long sleeved top - dark brown\\",\\"Pencil skirt - black, Long sleeved top - dark brown\\",\\"1, 1\\",\\"ZO0259702597, ZO0640606406\\",\\"0, 0\\",\\"37, 10.992\\",\\"37, 10.992\\",\\"0, 0\\",\\"ZO0259702597, ZO0640606406\\",\\"47.969\\",\\"47.969\\",2,2,order,mary +pAMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Yasmine,Yasmine,\\"Yasmine Hubbard\\",\\"Yasmine Hubbard\\",FEMALE,43,Hubbard,Hubbard,\\"(empty)\\",Sunday,6,\\"yasmine@hubbard-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Angeldale, Spherecords Curvy\\",\\"Angeldale, Spherecords Curvy\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565052,\\"sold_product_565052_20949, sold_product_565052_16543\\",\\"sold_product_565052_20949, sold_product_565052_16543\\",\\"60, 20.984\\",\\"60, 20.984\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Spherecords Curvy\\",\\"Angeldale, Spherecords Curvy\\",\\"30.594, 9.453\\",\\"60, 20.984\\",\\"20,949, 16,543\\",\\"Tote bag - cognac, Blouse - black\\",\\"Tote bag - cognac, Blouse - black\\",\\"1, 1\\",\\"ZO0697006970, ZO0711407114\\",\\"0, 0\\",\\"60, 20.984\\",\\"60, 20.984\\",\\"0, 0\\",\\"ZO0697006970, ZO0711407114\\",81,81,2,2,order,yasmine +pQMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,Pia,Pia,\\"Pia Reyes\\",\\"Pia Reyes\\",FEMALE,45,Reyes,Reyes,\\"(empty)\\",Sunday,6,\\"pia@reyes-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565091,\\"sold_product_565091_5862, sold_product_565091_12548\\",\\"sold_product_565091_5862, sold_product_565091_12548\\",\\"65, 24.984\\",\\"65, 24.984\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"31.203, 11.5\\",\\"65, 24.984\\",\\"5,862, 12,548\\",\\"Boots - taupe, Handbag - creme/grey\\",\\"Boots - taupe, Handbag - creme/grey\\",\\"1, 1\\",\\"ZO0324703247, ZO0088600886\\",\\"0, 0\\",\\"65, 24.984\\",\\"65, 24.984\\",\\"0, 0\\",\\"ZO0324703247, ZO0088600886\\",90,90,2,2,order,pia +rgMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Stokes\\",\\"Wilhemina St. Stokes\\",FEMALE,17,Stokes,Stokes,\\"(empty)\\",Sunday,6,\\"wilhemina st.@stokes-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Gnomehouse mom, Pyramidustries\\",\\"Gnomehouse mom, Pyramidustries\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565231,\\"sold_product_565231_17601, sold_product_565231_11904\\",\\"sold_product_565231_17601, sold_product_565231_11904\\",\\"42, 28.984\\",\\"42, 28.984\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse mom, Pyramidustries\\",\\"Gnomehouse mom, Pyramidustries\\",\\"20.156, 15.07\\",\\"42, 28.984\\",\\"17,601, 11,904\\",\\"Cape - Pale Violet Red, Trainers - rose\\",\\"Cape - Pale Violet Red, Trainers - rose\\",\\"1, 1\\",\\"ZO0235202352, ZO0135001350\\",\\"0, 0\\",\\"42, 28.984\\",\\"42, 28.984\\",\\"0, 0\\",\\"ZO0235202352, ZO0135001350\\",71,71,2,2,order,wilhemina +9wMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,Stephanie,Stephanie,\\"Stephanie Hodges\\",\\"Stephanie Hodges\\",FEMALE,6,Hodges,Hodges,\\"(empty)\\",Sunday,6,\\"stephanie@hodges-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Oceanavigations, Pyramidustries\\",\\"Oceanavigations, Pyramidustries\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564190,\\"sold_product_564190_5329, sold_product_564190_16930\\",\\"sold_product_564190_5329, sold_product_564190_16930\\",\\"115, 24.984\\",\\"115, 24.984\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Pyramidustries\\",\\"Oceanavigations, Pyramidustries\\",\\"62.094, 13.242\\",\\"115, 24.984\\",\\"5,329, 16,930\\",\\"Over-the-knee boots - Midnight Blue, Across body bag - Blue Violety \\",\\"Over-the-knee boots - Midnight Blue, Across body bag - Blue Violety \\",\\"1, 1\\",\\"ZO0243902439, ZO0208702087\\",\\"0, 0\\",\\"115, 24.984\\",\\"115, 24.984\\",\\"0, 0\\",\\"ZO0243902439, ZO0208702087\\",140,140,2,2,order,stephanie +EgMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Selena,Selena,\\"Selena Kim\\",\\"Selena Kim\\",FEMALE,42,Kim,Kim,\\"(empty)\\",Sunday,6,\\"selena@kim-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",Pyramidustries,Pyramidustries,\\"Jun 22, 2019 @ 00:00:00.000\\",564876,\\"sold_product_564876_12273, sold_product_564876_21758\\",\\"sold_product_564876_12273, sold_product_564876_21758\\",\\"12.992, 11.992\\",\\"12.992, 11.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"6.371, 6.23\\",\\"12.992, 11.992\\",\\"12,273, 21,758\\",\\"2 PACK - Over-the-knee socks - black, Print T-shirt - black\\",\\"2 PACK - Over-the-knee socks - black, Print T-shirt - black\\",\\"1, 1\\",\\"ZO0215502155, ZO0168101681\\",\\"0, 0\\",\\"12.992, 11.992\\",\\"12.992, 11.992\\",\\"0, 0\\",\\"ZO0215502155, ZO0168101681\\",\\"24.984\\",\\"24.984\\",2,2,order,selena +EwMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Garza\\",\\"Elyssa Garza\\",FEMALE,27,Garza,Garza,\\"(empty)\\",Sunday,6,\\"elyssa@garza-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Angeldale, Karmanite\\",\\"Angeldale, Karmanite\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564902,\\"sold_product_564902_13639, sold_product_564902_22060\\",\\"sold_product_564902_13639, sold_product_564902_22060\\",\\"60, 100\\",\\"60, 100\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Karmanite\\",\\"Angeldale, Karmanite\\",\\"28.203, 51\\",\\"60, 100\\",\\"13,639, 22,060\\",\\"Handbag - taupe, Boots - grey\\",\\"Handbag - taupe, Boots - grey\\",\\"1, 1\\",\\"ZO0698406984, ZO0704207042\\",\\"0, 0\\",\\"60, 100\\",\\"60, 100\\",\\"0, 0\\",\\"ZO0698406984, ZO0704207042\\",160,160,2,2,order,elyssa +JwMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Garza\\",\\"Elyssa Garza\\",FEMALE,27,Garza,Garza,\\"(empty)\\",Sunday,6,\\"elyssa@garza-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Angeldale, Spherecords Curvy\\",\\"Angeldale, Spherecords Curvy\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564761,\\"sold_product_564761_12146, sold_product_564761_24585\\",\\"sold_product_564761_12146, sold_product_564761_24585\\",\\"65, 16.984\\",\\"65, 16.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Spherecords Curvy\\",\\"Angeldale, Spherecords Curvy\\",\\"29.25, 9\\",\\"65, 16.984\\",\\"12,146, 24,585\\",\\"Slip-ons - red, Jersey dress - black\\",\\"Slip-ons - red, Jersey dress - black\\",\\"1, 1\\",\\"ZO0665006650, ZO0709407094\\",\\"0, 0\\",\\"65, 16.984\\",\\"65, 16.984\\",\\"0, 0\\",\\"ZO0665006650, ZO0709407094\\",82,82,2,2,order,elyssa +MQMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Underwood\\",\\"Elyssa Underwood\\",FEMALE,27,Underwood,Underwood,\\"(empty)\\",Sunday,6,\\"elyssa@underwood-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Champion Arts, Pyramidustries, Angeldale, Gnomehouse\\",\\"Champion Arts, Pyramidustries, Angeldale, Gnomehouse\\",\\"Jun 22, 2019 @ 00:00:00.000\\",731788,\\"sold_product_731788_22537, sold_product_731788_11189, sold_product_731788_14323, sold_product_731788_15479\\",\\"sold_product_731788_22537, sold_product_731788_11189, sold_product_731788_14323, sold_product_731788_15479\\",\\"20.984, 16.984, 85, 50\\",\\"20.984, 16.984, 85, 50\\",\\"Women's Clothing, Women's Clothing, Women's Shoes, Women's Clothing\\",\\"Women's Clothing, Women's Clothing, Women's Shoes, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Champion Arts, Pyramidustries, Angeldale, Gnomehouse\\",\\"Champion Arts, Pyramidustries, Angeldale, Gnomehouse\\",\\"10.289, 8.656, 39.938, 22.5\\",\\"20.984, 16.984, 85, 50\\",\\"22,537, 11,189, 14,323, 15,479\\",\\"Tracksuit bottoms - dark grey multicolor, Cardigan - black, Ankle boots - black, Summer dress - dusty rose\\",\\"Tracksuit bottoms - dark grey multicolor, Cardigan - black, Ankle boots - black, Summer dress - dusty rose\\",\\"1, 1, 1, 1\\",\\"ZO0486004860, ZO0177901779, ZO0680506805, ZO0340503405\\",\\"0, 0, 0, 0\\",\\"20.984, 16.984, 85, 50\\",\\"20.984, 16.984, 85, 50\\",\\"0, 0, 0, 0\\",\\"ZO0486004860, ZO0177901779, ZO0680506805, ZO0340503405\\",173,173,4,4,order,elyssa +TQMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Recip,Recip,\\"Recip Morrison\\",\\"Recip Morrison\\",MALE,10,Morrison,Morrison,\\"(empty)\\",Sunday,6,\\"recip@morrison-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564340,\\"sold_product_564340_12840, sold_product_564340_24691\\",\\"sold_product_564340_12840, sold_product_564340_24691\\",\\"65, 16.984\\",\\"65, 16.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"30.547, 8.156\\",\\"65, 16.984\\",\\"12,840, 24,691\\",\\"Lace-up boots - black, Long sleeved top - olive\\",\\"Lace-up boots - black, Long sleeved top - olive\\",\\"1, 1\\",\\"ZO0399703997, ZO0565805658\\",\\"0, 0\\",\\"65, 16.984\\",\\"65, 16.984\\",\\"0, 0\\",\\"ZO0399703997, ZO0565805658\\",82,82,2,2,order,recip +TgMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,rania,rania,\\"rania Wise\\",\\"rania Wise\\",FEMALE,24,Wise,Wise,\\"(empty)\\",Sunday,6,\\"rania@wise-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Oceanavigations, Spherecords\\",\\"Oceanavigations, Spherecords\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564395,\\"sold_product_564395_16857, sold_product_564395_21378\\",\\"sold_product_564395_16857, sold_product_564395_21378\\",\\"50, 11.992\\",\\"50, 11.992\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Spherecords\\",\\"Oceanavigations, Spherecords\\",\\"24, 6.109\\",\\"50, 11.992\\",\\"16,857, 21,378\\",\\"Ballet pumps - night, Pyjama bottoms - pink\\",\\"Ballet pumps - night, Pyjama bottoms - pink\\",\\"1, 1\\",\\"ZO0236702367, ZO0660706607\\",\\"0, 0\\",\\"50, 11.992\\",\\"50, 11.992\\",\\"0, 0\\",\\"ZO0236702367, ZO0660706607\\",\\"61.969\\",\\"61.969\\",2,2,order,rani +awMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Pia,Pia,\\"Pia Chapman\\",\\"Pia Chapman\\",FEMALE,45,Chapman,Chapman,\\"(empty)\\",Sunday,6,\\"pia@chapman-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Low Tide Media, Pyramidustries\\",\\"Low Tide Media, Pyramidustries\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564686,\\"sold_product_564686_4640, sold_product_564686_12658\\",\\"sold_product_564686_4640, sold_product_564686_12658\\",\\"75, 16.984\\",\\"75, 16.984\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Pyramidustries\\",\\"Low Tide Media, Pyramidustries\\",\\"36, 8.492\\",\\"75, 16.984\\",\\"4,640, 12,658\\",\\"Winter boots - black, Ballet pumps - nude\\",\\"Winter boots - black, Ballet pumps - nude\\",\\"1, 1\\",\\"ZO0373303733, ZO0131201312\\",\\"0, 0\\",\\"75, 16.984\\",\\"75, 16.984\\",\\"0, 0\\",\\"ZO0373303733, ZO0131201312\\",92,92,2,2,order,pia +dAMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,Betty,Betty,\\"Betty Cross\\",\\"Betty Cross\\",FEMALE,44,Cross,Cross,\\"(empty)\\",Sunday,6,\\"betty@cross-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Angeldale\\",\\"Tigress Enterprises, Angeldale\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564446,\\"sold_product_564446_12508, sold_product_564446_25164\\",\\"sold_product_564446_12508, sold_product_564446_25164\\",\\"28.984, 65\\",\\"28.984, 65\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Angeldale\\",\\"Tigress Enterprises, Angeldale\\",\\"14.492, 30.547\\",\\"28.984, 65\\",\\"12,508, 25,164\\",\\"Tote bag - black, Trainers - grey\\",\\"Tote bag - black, Trainers - grey\\",\\"1, 1\\",\\"ZO0093400934, ZO0679406794\\",\\"0, 0\\",\\"28.984, 65\\",\\"28.984, 65\\",\\"0, 0\\",\\"ZO0093400934, ZO0679406794\\",94,94,2,2,order,betty +dQMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,Yasmine,Yasmine,\\"Yasmine Mcdonald\\",\\"Yasmine Mcdonald\\",FEMALE,43,Mcdonald,Mcdonald,\\"(empty)\\",Sunday,6,\\"yasmine@mcdonald-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564481,\\"sold_product_564481_17689, sold_product_564481_11690\\",\\"sold_product_564481_17689, sold_product_564481_11690\\",\\"50, 10.992\\",\\"50, 10.992\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"25.984, 5.5\\",\\"50, 10.992\\",\\"17,689, 11,690\\",\\"Classic heels - navy/white, Necklace - imitation rhodium\\",\\"Classic heels - navy/white, Necklace - imitation rhodium\\",\\"1, 1\\",\\"ZO0321603216, ZO0078000780\\",\\"0, 0\\",\\"50, 10.992\\",\\"50, 10.992\\",\\"0, 0\\",\\"ZO0321603216, ZO0078000780\\",\\"60.969\\",\\"60.969\\",2,2,order,yasmine +fAMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,Mary,Mary,\\"Mary Griffin\\",\\"Mary Griffin\\",FEMALE,20,Griffin,Griffin,\\"(empty)\\",Sunday,6,\\"mary@griffin-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 22, 2019 @ 00:00:00.000\\",563953,\\"sold_product_563953_22678, sold_product_563953_17921\\",\\"sold_product_563953_22678, sold_product_563953_17921\\",\\"60, 20.984\\",\\"60, 20.984\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"31.188, 9.867\\",\\"60, 20.984\\",\\"22,678, 17,921\\",\\"Ankle boots - Midnight Blue, Amber - Wallet - black\\",\\"Ankle boots - Midnight Blue, Amber - Wallet - black\\",\\"1, 1\\",\\"ZO0376203762, ZO0303603036\\",\\"0, 0\\",\\"60, 20.984\\",\\"60, 20.984\\",\\"0, 0\\",\\"ZO0376203762, ZO0303603036\\",81,81,2,2,order,mary +9gMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Frances,Frances,\\"Frances Gibbs\\",\\"Frances Gibbs\\",FEMALE,49,Gibbs,Gibbs,\\"(empty)\\",Sunday,6,\\"frances@gibbs-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Angeldale, Oceanavigations\\",\\"Angeldale, Oceanavigations\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565061,\\"sold_product_565061_1774, sold_product_565061_20952\\",\\"sold_product_565061_1774, sold_product_565061_20952\\",\\"60, 33\\",\\"60, 33\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Oceanavigations\\",\\"Angeldale, Oceanavigations\\",\\"27.594, 16.172\\",\\"60, 33\\",\\"1,774, 20,952\\",\\"Lace-ups - cognac, Light jacket - navy\\",\\"Lace-ups - cognac, Light jacket - navy\\",\\"1, 1\\",\\"ZO0681106811, ZO0286402864\\",\\"0, 0\\",\\"60, 33\\",\\"60, 33\\",\\"0, 0\\",\\"ZO0681106811, ZO0286402864\\",93,93,2,2,order,frances +9wMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Jenkins\\",\\"Elyssa Jenkins\\",FEMALE,27,Jenkins,Jenkins,\\"(empty)\\",Sunday,6,\\"elyssa@jenkins-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Champion Arts\\",\\"Tigress Enterprises, Champion Arts\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565100,\\"sold_product_565100_13722, sold_product_565100_21376\\",\\"sold_product_565100_13722, sold_product_565100_21376\\",\\"33, 16.984\\",\\"33, 16.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Champion Arts\\",\\"Tigress Enterprises, Champion Arts\\",\\"15.844, 8.828\\",\\"33, 16.984\\",\\"13,722, 21,376\\",\\"Cardigan - grey multicolor, Jersey dress - mid grey multicolor\\",\\"Cardigan - grey multicolor, Jersey dress - mid grey multicolor\\",\\"1, 1\\",\\"ZO0069000690, ZO0490004900\\",\\"0, 0\\",\\"33, 16.984\\",\\"33, 16.984\\",\\"0, 0\\",\\"ZO0069000690, ZO0490004900\\",\\"49.969\\",\\"49.969\\",2,2,order,elyssa +3AMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Oliver,Oliver,\\"Oliver Sharp\\",\\"Oliver Sharp\\",MALE,7,Sharp,Sharp,\\"(empty)\\",Sunday,6,\\"oliver@sharp-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565263,\\"sold_product_565263_15239, sold_product_565263_14475\\",\\"sold_product_565263_15239, sold_product_565263_14475\\",\\"22.984, 25.984\\",\\"22.984, 25.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"11.039, 12.219\\",\\"22.984, 25.984\\",\\"15,239, 14,475\\",\\"Hoodie - light grey/navy, Tracksuit bottoms - black\\",\\"Hoodie - light grey/navy, Tracksuit bottoms - black\\",\\"1, 1\\",\\"ZO0582705827, ZO0111801118\\",\\"0, 0\\",\\"22.984, 25.984\\",\\"22.984, 25.984\\",\\"0, 0\\",\\"ZO0582705827, ZO0111801118\\",\\"48.969\\",\\"48.969\\",2,2,order,oliver +dgMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Garner\\",\\"Abdulraheem Al Garner\\",MALE,33,Garner,Garner,\\"(empty)\\",Sunday,6,\\"abdulraheem al@garner-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Microlutions, Oceanavigations\\",\\"Microlutions, Oceanavigations\\",\\"Jun 22, 2019 @ 00:00:00.000\\",563984,\\"sold_product_563984_22409, sold_product_563984_20424\\",\\"sold_product_563984_22409, sold_product_563984_20424\\",\\"11.992, 13.992\\",\\"11.992, 13.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Oceanavigations\\",\\"Microlutions, Oceanavigations\\",\\"5.762, 7.129\\",\\"11.992, 13.992\\",\\"22,409, 20,424\\",\\"Basic T-shirt - Dark Salmon, Basic T-shirt - navy\\",\\"Basic T-shirt - Dark Salmon, Basic T-shirt - navy\\",\\"1, 1\\",\\"ZO0121301213, ZO0294102941\\",\\"0, 0\\",\\"11.992, 13.992\\",\\"11.992, 13.992\\",\\"0, 0\\",\\"ZO0121301213, ZO0294102941\\",\\"25.984\\",\\"25.984\\",2,2,order,abdulraheem +rgMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories\\",\\"Women's Accessories\\",EUR,Brigitte,Brigitte,\\"Brigitte Ramsey\\",\\"Brigitte Ramsey\\",FEMALE,12,Ramsey,Ramsey,\\"(empty)\\",Sunday,6,\\"brigitte@ramsey-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Oceanavigations, Pyramidustries\\",\\"Oceanavigations, Pyramidustries\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565262,\\"sold_product_565262_18767, sold_product_565262_11190\\",\\"sold_product_565262_18767, sold_product_565262_11190\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"Women's Accessories, Women's Accessories\\",\\"Women's Accessories, Women's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Pyramidustries\\",\\"Oceanavigations, Pyramidustries\\",\\"10.906, 11.5\\",\\"20.984, 24.984\\",\\"18,767, 11,190\\",\\"Amber - Wallet - cognac, Rucksack - black\\",\\"Amber - Wallet - cognac, Rucksack - black\\",\\"1, 1\\",\\"ZO0303503035, ZO0197601976\\",\\"0, 0\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"0, 0\\",\\"ZO0303503035, ZO0197601976\\",\\"45.969\\",\\"45.969\\",2,2,order,brigitte +rwMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Sonya,Sonya,\\"Sonya Smith\\",\\"Sonya Smith\\",FEMALE,28,Smith,Smith,\\"(empty)\\",Sunday,6,\\"sonya@smith-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Tigress Enterprises, Tigress Enterprises MAMA\\",\\"Tigress Enterprises, Tigress Enterprises MAMA\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565304,\\"sold_product_565304_22359, sold_product_565304_19969\\",\\"sold_product_565304_22359, sold_product_565304_19969\\",\\"24.984, 37\\",\\"24.984, 37\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises MAMA\\",\\"Tigress Enterprises, Tigress Enterprises MAMA\\",\\"12.492, 17.391\\",\\"24.984, 37\\",\\"22,359, 19,969\\",\\"Boots - dark grey, Maxi dress - black/rose gold\\",\\"Boots - dark grey, Maxi dress - black/rose gold\\",\\"1, 1\\",\\"ZO0017800178, ZO0229602296\\",\\"0, 0\\",\\"24.984, 37\\",\\"24.984, 37\\",\\"0, 0\\",\\"ZO0017800178, ZO0229602296\\",\\"61.969\\",\\"61.969\\",2,2,order,sonya +vgMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",EUR,Recip,Recip,\\"Recip Ryan\\",\\"Recip Ryan\\",MALE,10,Ryan,Ryan,\\"(empty)\\",Sunday,6,\\"recip@ryan-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565123,\\"sold_product_565123_14743, sold_product_565123_22906\\",\\"sold_product_565123_14743, sold_product_565123_22906\\",\\"33, 75\\",\\"33, 75\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"17.156, 35.25\\",\\"33, 75\\",\\"14,743, 22,906\\",\\"Laptop bag - black, Lace-up boots - black\\",\\"Laptop bag - black, Lace-up boots - black\\",\\"1, 1\\",\\"ZO0316903169, ZO0400504005\\",\\"0, 0\\",\\"33, 75\\",\\"33, 75\\",\\"0, 0\\",\\"ZO0316903169, ZO0400504005\\",108,108,2,2,order,recip +vwMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Robbie,Robbie,\\"Robbie Hansen\\",\\"Robbie Hansen\\",MALE,48,Hansen,Hansen,\\"(empty)\\",Sunday,6,\\"robbie@hansen-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565160,\\"sold_product_565160_19961, sold_product_565160_19172\\",\\"sold_product_565160_19961, sold_product_565160_19172\\",\\"75, 20.984\\",\\"75, 20.984\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"36, 10.078\\",\\"75, 20.984\\",\\"19,961, 19,172\\",\\"Lace-up boots - Burly Wood , Trainers - black/white\\",\\"Lace-up boots - Burly Wood , Trainers - black/white\\",\\"1, 1\\",\\"ZO0693306933, ZO0514605146\\",\\"0, 0\\",\\"75, 20.984\\",\\"75, 20.984\\",\\"0, 0\\",\\"ZO0693306933, ZO0514605146\\",96,96,2,2,order,robbie +wgMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Irwin,Irwin,\\"Irwin Bryant\\",\\"Irwin Bryant\\",MALE,14,Bryant,Bryant,\\"(empty)\\",Sunday,6,\\"irwin@bryant-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 22, 2019 @ 00:00:00.000\\",565224,\\"sold_product_565224_2269, sold_product_565224_23958\\",\\"sold_product_565224_2269, sold_product_565224_23958\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"23, 13.242\\",\\"50, 24.984\\",\\"2,269, 23,958\\",\\"Boots - Slate Gray, Jumper - black\\",\\"Boots - Slate Gray, Jumper - black\\",\\"1, 1\\",\\"ZO0406604066, ZO0576805768\\",\\"0, 0\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"0, 0\\",\\"ZO0406604066, ZO0576805768\\",75,75,2,2,order,irwin +2wMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Rivera\\",\\"Mostafa Rivera\\",MALE,9,Rivera,Rivera,\\"(empty)\\",Sunday,6,\\"mostafa@rivera-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Oceanavigations, Spritechnologies\\",\\"Oceanavigations, Spritechnologies\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564121,\\"sold_product_564121_24202, sold_product_564121_21006\\",\\"sold_product_564121_24202, sold_product_564121_21006\\",\\"7.988, 10.992\\",\\"7.988, 10.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Spritechnologies\\",\\"Oceanavigations, Spritechnologies\\",\\"3.92, 5.5\\",\\"7.988, 10.992\\",\\"24,202, 21,006\\",\\"Basic T-shirt - white, Sports shirt - bright white\\",\\"Basic T-shirt - white, Sports shirt - bright white\\",\\"1, 1\\",\\"ZO0291902919, ZO0617206172\\",\\"0, 0\\",\\"7.988, 10.992\\",\\"7.988, 10.992\\",\\"0, 0\\",\\"ZO0291902919, ZO0617206172\\",\\"18.984\\",\\"18.984\\",2,2,order,mostafa +3AMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories\\",\\"Men's Accessories\\",EUR,Yahya,Yahya,\\"Yahya Tyler\\",\\"Yahya Tyler\\",MALE,23,Tyler,Tyler,\\"(empty)\\",Sunday,6,\\"yahya@tyler-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564166,\\"sold_product_564166_14500, sold_product_564166_17015\\",\\"sold_product_564166_14500, sold_product_564166_17015\\",\\"28.984, 85\\",\\"28.984, 85\\",\\"Men's Accessories, Men's Accessories\\",\\"Men's Accessories, Men's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"15.07, 41.656\\",\\"28.984, 85\\",\\"14,500, 17,015\\",\\"Laptop bag - black, Briefcase - brown\\",\\"Laptop bag - black, Briefcase - brown\\",\\"1, 1\\",\\"ZO0607106071, ZO0470704707\\",\\"0, 0\\",\\"28.984, 85\\",\\"28.984, 85\\",\\"0, 0\\",\\"ZO0607106071, ZO0470704707\\",114,114,2,2,order,yahya +3wMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Rivera\\",\\"Wilhemina St. Rivera\\",FEMALE,17,Rivera,Rivera,\\"(empty)\\",Sunday,6,\\"wilhemina st.@rivera-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Gnomehouse, Oceanavigations\\",\\"Gnomehouse, Oceanavigations\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564739,\\"sold_product_564739_21607, sold_product_564739_14854\\",\\"sold_product_564739_21607, sold_product_564739_14854\\",\\"55, 50\\",\\"55, 50\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Oceanavigations\\",\\"Gnomehouse, Oceanavigations\\",\\"25.844, 23.5\\",\\"55, 50\\",\\"21,607, 14,854\\",\\"Jersey dress - inca gold, Ballet pumps - argento\\",\\"Jersey dress - inca gold, Ballet pumps - argento\\",\\"1, 1\\",\\"ZO0335603356, ZO0236502365\\",\\"0, 0\\",\\"55, 50\\",\\"55, 50\\",\\"0, 0\\",\\"ZO0335603356, ZO0236502365\\",105,105,2,2,order,wilhemina +OQMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jason,Jason,\\"Jason Wood\\",\\"Jason Wood\\",MALE,16,Wood,Wood,\\"(empty)\\",Sunday,6,\\"jason@wood-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564016,\\"sold_product_564016_21164, sold_product_564016_3074\\",\\"sold_product_564016_21164, sold_product_564016_3074\\",\\"10.992, 60\\",\\"10.992, 60\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"5.93, 27.594\\",\\"10.992, 60\\",\\"21,164, 3,074\\",\\"Long sleeved top - dark blue, Trenchcoat - navy\\",\\"Long sleeved top - dark blue, Trenchcoat - navy\\",\\"1, 1\\",\\"ZO0436904369, ZO0290402904\\",\\"0, 0\\",\\"10.992, 60\\",\\"10.992, 60\\",\\"0, 0\\",\\"ZO0436904369, ZO0290402904\\",71,71,2,2,order,jason +OgMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Jim,Jim,\\"Jim Duncan\\",\\"Jim Duncan\\",MALE,41,Duncan,Duncan,\\"(empty)\\",Sunday,6,\\"jim@duncan-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564576,\\"sold_product_564576_1384, sold_product_564576_12074\\",\\"sold_product_564576_1384, sold_product_564576_12074\\",\\"60, 11.992\\",\\"60, 11.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"31.188, 5.641\\",\\"60, 11.992\\",\\"1,384, 12,074\\",\\"Lace-ups - black , Polo shirt - blue\\",\\"Lace-ups - black , Polo shirt - blue\\",\\"1, 1\\",\\"ZO0681206812, ZO0441904419\\",\\"0, 0\\",\\"60, 11.992\\",\\"60, 11.992\\",\\"0, 0\\",\\"ZO0681206812, ZO0441904419\\",72,72,2,2,order,jim +OwMtOW0BH63Xcmy453L9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Yasmine,Yasmine,\\"Yasmine Fletcher\\",\\"Yasmine Fletcher\\",FEMALE,43,Fletcher,Fletcher,\\"(empty)\\",Sunday,6,\\"yasmine@fletcher-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Gnomehouse, Angeldale\\",\\"Gnomehouse, Angeldale\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564605,\\"sold_product_564605_17630, sold_product_564605_14381\\",\\"sold_product_564605_17630, sold_product_564605_14381\\",\\"60, 75\\",\\"60, 75\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Angeldale\\",\\"Gnomehouse, Angeldale\\",\\"31.188, 34.5\\",\\"60, 75\\",\\"17,630, 14,381\\",\\"Summer dress - navy blazer, Tote bag - cognac\\",\\"Summer dress - navy blazer, Tote bag - cognac\\",\\"1, 1\\",\\"ZO0333103331, ZO0694806948\\",\\"0, 0\\",\\"60, 75\\",\\"60, 75\\",\\"0, 0\\",\\"ZO0333103331, ZO0694806948\\",135,135,2,2,order,yasmine +5QMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Mullins\\",\\"Wilhemina St. Mullins\\",FEMALE,17,Mullins,Mullins,\\"(empty)\\",Sunday,6,\\"wilhemina st.@mullins-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Angeldale, Low Tide Media, Tigress Enterprises\\",\\"Angeldale, Low Tide Media, Tigress Enterprises\\",\\"Jun 22, 2019 @ 00:00:00.000\\",730663,\\"sold_product_730663_12404, sold_product_730663_15087, sold_product_730663_13055, sold_product_730663_5529\\",\\"sold_product_730663_12404, sold_product_730663_15087, sold_product_730663_13055, sold_product_730663_5529\\",\\"33, 42, 60, 33\\",\\"33, 42, 60, 33\\",\\"Women's Accessories, Women's Shoes, Women's Shoes, Women's Shoes\\",\\"Women's Accessories, Women's Shoes, Women's Shoes, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Angeldale, Low Tide Media, Low Tide Media, Tigress Enterprises\\",\\"Angeldale, Low Tide Media, Low Tide Media, Tigress Enterprises\\",\\"17.156, 21.406, 27.594, 17.813\\",\\"33, 42, 60, 33\\",\\"12,404, 15,087, 13,055, 5,529\\",\\"Clutch - black, Sandals - cognac, Lace-ups - perla, Lace-up boots - cognac\\",\\"Clutch - black, Sandals - cognac, Lace-ups - perla, Lace-up boots - cognac\\",\\"1, 1, 1, 1\\",\\"ZO0697406974, ZO0370303703, ZO0368103681, ZO0013800138\\",\\"0, 0, 0, 0\\",\\"33, 42, 60, 33\\",\\"33, 42, 60, 33\\",\\"0, 0, 0, 0\\",\\"ZO0697406974, ZO0370303703, ZO0368103681, ZO0013800138\\",168,168,4,4,order,wilhemina +BAMtOW0BH63Xcmy46HPV,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Samir,Samir,\\"Samir Chapman\\",\\"Samir Chapman\\",MALE,34,Chapman,Chapman,\\"(empty)\\",Sunday,6,\\"samir@chapman-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564366,\\"sold_product_564366_810, sold_product_564366_11140\\",\\"sold_product_564366_810, sold_product_564366_11140\\",\\"80, 10.992\\",\\"80, 10.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"38.406, 5.5\\",\\"80, 10.992\\",\\"810, 11,140\\",\\"Smart lace-ups - dark brown, Print T-shirt - dark blue\\",\\"Smart lace-ups - dark brown, Print T-shirt - dark blue\\",\\"1, 1\\",\\"ZO0681906819, ZO0549705497\\",\\"0, 0\\",\\"80, 10.992\\",\\"80, 10.992\\",\\"0, 0\\",\\"ZO0681906819, ZO0549705497\\",91,91,2,2,order,samir +BQMtOW0BH63Xcmy46HPV,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Betty,Betty,\\"Betty Swanson\\",\\"Betty Swanson\\",FEMALE,44,Swanson,Swanson,\\"(empty)\\",Sunday,6,\\"betty@swanson-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Oceanavigations, Champion Arts\\",\\"Oceanavigations, Champion Arts\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564221,\\"sold_product_564221_5979, sold_product_564221_19823\\",\\"sold_product_564221_5979, sold_product_564221_19823\\",\\"75, 24.984\\",\\"75, 24.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Champion Arts\\",\\"Oceanavigations, Champion Arts\\",\\"33.75, 12.25\\",\\"75, 24.984\\",\\"5,979, 19,823\\",\\"Ankle boots - Antique White, Slim fit jeans - dark grey\\",\\"Ankle boots - Antique White, Slim fit jeans - dark grey\\",\\"1, 1\\",\\"ZO0249702497, ZO0487404874\\",\\"0, 0\\",\\"75, 24.984\\",\\"75, 24.984\\",\\"0, 0\\",\\"ZO0249702497, ZO0487404874\\",100,100,2,2,order,betty +CgMtOW0BH63Xcmy46HPV,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Selena,Selena,\\"Selena Rose\\",\\"Selena Rose\\",FEMALE,42,Rose,Rose,\\"(empty)\\",Sunday,6,\\"selena@rose-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Jun 22, 2019 @ 00:00:00.000\\",564174,\\"sold_product_564174_12644, sold_product_564174_20872\\",\\"sold_product_564174_12644, sold_product_564174_20872\\",\\"33, 50\\",\\"33, 50\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 11, 2016 @ 00:00:00.000, Dec 11, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations\\",\\"16.172, 25.484\\",\\"33, 50\\",\\"12,644, 20,872\\",\\"Jumpsuit - black, Ballet pumps - grey\\",\\"Jumpsuit - black, Ballet pumps - grey\\",\\"1, 1\\",\\"ZO0032300323, ZO0236302363\\",\\"0, 0\\",\\"33, 50\\",\\"33, 50\\",\\"0, 0\\",\\"ZO0032300323, ZO0236302363\\",83,83,2,2,order,selena +DgMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Diane,Diane,\\"Diane Powell\\",\\"Diane Powell\\",FEMALE,22,Powell,Powell,\\"(empty)\\",Saturday,5,\\"diane@powell-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Pyramidustries active\\",\\"Pyramidustries active\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562835,\\"sold_product_562835_23805, sold_product_562835_22240\\",\\"sold_product_562835_23805, sold_product_562835_22240\\",\\"20.984, 14.992\\",\\"20.984, 14.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries active, Pyramidustries active\\",\\"Pyramidustries active, Pyramidustries active\\",\\"9.453, 7.051\\",\\"20.984, 14.992\\",\\"23,805, 22,240\\",\\"Tights - black , Tights - mid grey multicolor\\",\\"Tights - black , Tights - mid grey multicolor\\",\\"1, 1\\",\\"ZO0222302223, ZO0223502235\\",\\"0, 0\\",\\"20.984, 14.992\\",\\"20.984, 14.992\\",\\"0, 0\\",\\"ZO0222302223, ZO0223502235\\",\\"35.969\\",\\"35.969\\",2,2,order,diane +DwMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Tariq,Tariq,\\"Tariq Dixon\\",\\"Tariq Dixon\\",MALE,25,Dixon,Dixon,\\"(empty)\\",Saturday,5,\\"tariq@dixon-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562882,\\"sold_product_562882_16957, sold_product_562882_6401\\",\\"sold_product_562882_16957, sold_product_562882_6401\\",\\"10.992, 20.984\\",\\"10.992, 20.984\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"5.711, 10.078\\",\\"10.992, 20.984\\",\\"16,957, 6,401\\",\\"Cap - navy, Shirt - Blue Violety\\",\\"Cap - navy, Shirt - Blue Violety\\",\\"1, 1\\",\\"ZO0460804608, ZO0523905239\\",\\"0, 0\\",\\"10.992, 20.984\\",\\"10.992, 20.984\\",\\"0, 0\\",\\"ZO0460804608, ZO0523905239\\",\\"31.984\\",\\"31.984\\",2,2,order,tariq +EAMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Sonya,Sonya,\\"Sonya Daniels\\",\\"Sonya Daniels\\",FEMALE,28,Daniels,Daniels,\\"(empty)\\",Saturday,5,\\"sonya@daniels-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562629,\\"sold_product_562629_21956, sold_product_562629_24341\\",\\"sold_product_562629_21956, sold_product_562629_24341\\",\\"10.992, 13.992\\",\\"10.992, 13.992\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"5.82, 6.859\\",\\"10.992, 13.992\\",\\"21,956, 24,341\\",\\"Long sleeved top - royal blue, Scarf - rose\\",\\"Long sleeved top - royal blue, Scarf - rose\\",\\"1, 1\\",\\"ZO0639506395, ZO0083000830\\",\\"0, 0\\",\\"10.992, 13.992\\",\\"10.992, 13.992\\",\\"0, 0\\",\\"ZO0639506395, ZO0083000830\\",\\"24.984\\",\\"24.984\\",2,2,order,sonya +EQMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jim,Jim,\\"Jim Maldonado\\",\\"Jim Maldonado\\",MALE,41,Maldonado,Maldonado,\\"(empty)\\",Saturday,5,\\"jim@maldonado-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562672,\\"sold_product_562672_14354, sold_product_562672_18181\\",\\"sold_product_562672_14354, sold_product_562672_18181\\",\\"7.988, 10.992\\",\\"7.988, 10.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"3.68, 5.711\\",\\"7.988, 10.992\\",\\"14,354, 18,181\\",\\"(3) Pack - Socks - white/black , Long sleeved top - bordeaux\\",\\"(3) Pack - Socks - white/black , Long sleeved top - bordeaux\\",\\"1, 1\\",\\"ZO0613406134, ZO0436304363\\",\\"0, 0\\",\\"7.988, 10.992\\",\\"7.988, 10.992\\",\\"0, 0\\",\\"ZO0613406134, ZO0436304363\\",\\"18.984\\",\\"18.984\\",2,2,order,jim +YwMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,rania,rania,\\"rania Munoz\\",\\"rania Munoz\\",FEMALE,24,Munoz,Munoz,\\"(empty)\\",Saturday,5,\\"rania@munoz-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563193,\\"sold_product_563193_13167, sold_product_563193_12035\\",\\"sold_product_563193_13167, sold_product_563193_12035\\",\\"7.988, 14.992\\",\\"7.988, 14.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"3.68, 7.051\\",\\"7.988, 14.992\\",\\"13,167, 12,035\\",\\"Vest - dark grey, Jersey dress - black\\",\\"Vest - dark grey, Jersey dress - black\\",\\"1, 1\\",\\"ZO0636906369, ZO0150301503\\",\\"0, 0\\",\\"7.988, 14.992\\",\\"7.988, 14.992\\",\\"0, 0\\",\\"ZO0636906369, ZO0150301503\\",\\"22.984\\",\\"22.984\\",2,2,order,rani +ZAMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Swanson\\",\\"Fitzgerald Swanson\\",MALE,11,Swanson,Swanson,\\"(empty)\\",Saturday,5,\\"fitzgerald@swanson-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563440,\\"sold_product_563440_17325, sold_product_563440_1907\\",\\"sold_product_563440_17325, sold_product_563440_1907\\",\\"20.984, 75\\",\\"20.984, 75\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"9.867, 33.75\\",\\"20.984, 75\\",\\"17,325, 1,907\\",\\"Sweatshirt - white, Lace-up boots - black\\",\\"Sweatshirt - white, Lace-up boots - black\\",\\"1, 1\\",\\"ZO0589605896, ZO0257202572\\",\\"0, 0\\",\\"20.984, 75\\",\\"20.984, 75\\",\\"0, 0\\",\\"ZO0589605896, ZO0257202572\\",96,96,2,2,order,fuzzy +ZQMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",EUR,Jim,Jim,\\"Jim Cortez\\",\\"Jim Cortez\\",MALE,41,Cortez,Cortez,\\"(empty)\\",Saturday,5,\\"jim@cortez-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Elitelligence,Elitelligence,\\"Jun 21, 2019 @ 00:00:00.000\\",563485,\\"sold_product_563485_23858, sold_product_563485_16559\\",\\"sold_product_563485_23858, sold_product_563485_16559\\",\\"11.992, 37\\",\\"11.992, 37\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"6.23, 18.5\\",\\"11.992, 37\\",\\"23,858, 16,559\\",\\"Wallet - cognac, Boots - black\\",\\"Wallet - cognac, Boots - black\\",\\"1, 1\\",\\"ZO0602606026, ZO0522005220\\",\\"0, 0\\",\\"11.992, 37\\",\\"11.992, 37\\",\\"0, 0\\",\\"ZO0602606026, ZO0522005220\\",\\"48.969\\",\\"48.969\\",2,2,order,jim +1QMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Diane,Diane,\\"Diane Underwood\\",\\"Diane Underwood\\",FEMALE,22,Underwood,Underwood,\\"(empty)\\",Saturday,5,\\"diane@underwood-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Oceanavigations, Gnomehouse\\",\\"Oceanavigations, Gnomehouse\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562792,\\"sold_product_562792_14720, sold_product_562792_9051\\",\\"sold_product_562792_14720, sold_product_562792_9051\\",\\"50, 33\\",\\"50, 33\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Gnomehouse\\",\\"Oceanavigations, Gnomehouse\\",\\"26.984, 17.156\\",\\"50, 33\\",\\"14,720, 9,051\\",\\"High heeled sandals - nude, Jersey dress - navy blazer\\",\\"High heeled sandals - nude, Jersey dress - navy blazer\\",\\"1, 1\\",\\"ZO0242602426, ZO0336103361\\",\\"0, 0\\",\\"50, 33\\",\\"50, 33\\",\\"0, 0\\",\\"ZO0242602426, ZO0336103361\\",83,83,2,2,order,diane +dwMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Stephanie,Stephanie,\\"Stephanie Boone\\",\\"Stephanie Boone\\",FEMALE,6,Boone,Boone,\\"(empty)\\",Saturday,5,\\"stephanie@boone-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563365,\\"sold_product_563365_24862, sold_product_563365_20441\\",\\"sold_product_563365_24862, sold_product_563365_20441\\",\\"10.992, 28.984\\",\\"10.992, 28.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"5.5, 14.211\\",\\"10.992, 28.984\\",\\"24,862, 20,441\\",\\"Print T-shirt - dark blue/off white, Blouse - black/white\\",\\"Print T-shirt - dark blue/off white, Blouse - black/white\\",\\"1, 1\\",\\"ZO0646206462, ZO0065200652\\",\\"0, 0\\",\\"10.992, 28.984\\",\\"10.992, 28.984\\",\\"0, 0\\",\\"ZO0646206462, ZO0065200652\\",\\"39.969\\",\\"39.969\\",2,2,order,stephanie +iwMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",EUR,Marwan,Marwan,\\"Marwan Wood\\",\\"Marwan Wood\\",MALE,51,Wood,Wood,\\"(empty)\\",Saturday,5,\\"marwan@wood-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562688,\\"sold_product_562688_22319, sold_product_562688_11707\\",\\"sold_product_562688_22319, sold_product_562688_11707\\",\\"24.984, 13.992\\",\\"24.984, 13.992\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"13.742, 7.41\\",\\"24.984, 13.992\\",\\"22,319, 11,707\\",\\"Trainers - black, Wash bag - dark grey \\",\\"Trainers - black, Wash bag - dark grey \\",\\"1, 1\\",\\"ZO0394603946, ZO0608406084\\",\\"0, 0\\",\\"24.984, 13.992\\",\\"24.984, 13.992\\",\\"0, 0\\",\\"ZO0394603946, ZO0608406084\\",\\"38.969\\",\\"38.969\\",2,2,order,marwan +jAMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Women's Accessories\\",\\"Men's Shoes, Women's Accessories\\",EUR,Marwan,Marwan,\\"Marwan Barnes\\",\\"Marwan Barnes\\",MALE,51,Barnes,Barnes,\\"(empty)\\",Saturday,5,\\"marwan@barnes-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Angeldale, Oceanavigations\\",\\"Angeldale, Oceanavigations\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563647,\\"sold_product_563647_20757, sold_product_563647_11341\\",\\"sold_product_563647_20757, sold_product_563647_11341\\",\\"80, 42\\",\\"80, 42\\",\\"Men's Shoes, Women's Accessories\\",\\"Men's Shoes, Women's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Oceanavigations\\",\\"Angeldale, Oceanavigations\\",\\"40.781, 22.25\\",\\"80, 42\\",\\"20,757, 11,341\\",\\"Lace-up boots - dark brown, Weekend bag - classic navy\\",\\"Lace-up boots - dark brown, Weekend bag - classic navy\\",\\"1, 1\\",\\"ZO0690906909, ZO0319003190\\",\\"0, 0\\",\\"80, 42\\",\\"80, 42\\",\\"0, 0\\",\\"ZO0690906909, ZO0319003190\\",122,122,2,2,order,marwan +jQMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Kamal,Kamal,\\"Kamal Reese\\",\\"Kamal Reese\\",MALE,39,Reese,Reese,\\"(empty)\\",Saturday,5,\\"kamal@reese-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,Oceanavigations,Oceanavigations,\\"Jun 21, 2019 @ 00:00:00.000\\",563711,\\"sold_product_563711_22407, sold_product_563711_11553\\",\\"sold_product_563711_22407, sold_product_563711_11553\\",\\"60, 140\\",\\"60, 140\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"33, 72.813\\",\\"60, 140\\",\\"22,407, 11,553\\",\\"Lace-ups - grey, Leather jacket - camel\\",\\"Lace-ups - grey, Leather jacket - camel\\",\\"1, 1\\",\\"ZO0254202542, ZO0288202882\\",\\"0, 0\\",\\"60, 140\\",\\"60, 140\\",\\"0, 0\\",\\"ZO0254202542, ZO0288202882\\",200,200,2,2,order,kamal +2AMtOW0BH63Xcmy44WJv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Phil,Phil,\\"Phil Willis\\",\\"Phil Willis\\",MALE,50,Willis,Willis,\\"(empty)\\",Saturday,5,\\"phil@willis-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563763,\\"sold_product_563763_16794, sold_product_563763_13661\\",\\"sold_product_563763_16794, sold_product_563763_13661\\",\\"20.984, 20.984\\",\\"20.984, 20.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"10.703, 10.492\\",\\"20.984, 20.984\\",\\"16,794, 13,661\\",\\"Swimming shorts - white, Tracksuit bottoms - light grey\\",\\"Swimming shorts - white, Tracksuit bottoms - light grey\\",\\"1, 1\\",\\"ZO0479404794, ZO0525305253\\",\\"0, 0\\",\\"20.984, 20.984\\",\\"20.984, 20.984\\",\\"0, 0\\",\\"ZO0479404794, ZO0525305253\\",\\"41.969\\",\\"41.969\\",2,2,order,phil +BQMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Mary,Mary,\\"Mary Brock\\",\\"Mary Brock\\",FEMALE,20,Brock,Brock,\\"(empty)\\",Saturday,5,\\"mary@brock-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,Oceanavigations,Oceanavigations,\\"Jun 21, 2019 @ 00:00:00.000\\",563825,\\"sold_product_563825_25104, sold_product_563825_5962\\",\\"sold_product_563825_25104, sold_product_563825_5962\\",\\"65, 65\\",\\"65, 65\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"35.094, 33.125\\",\\"65, 65\\",\\"25,104, 5,962\\",\\"Classic heels - rose/true nude, High heels - black\\",\\"Classic heels - rose/true nude, High heels - black\\",\\"1, 1\\",\\"ZO0238202382, ZO0237102371\\",\\"0, 0\\",\\"65, 65\\",\\"65, 65\\",\\"0, 0\\",\\"ZO0238202382, ZO0237102371\\",130,130,2,2,order,mary +HAMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Irwin,Irwin,\\"Irwin Cook\\",\\"Irwin Cook\\",MALE,14,Cook,Cook,\\"(empty)\\",Saturday,5,\\"irwin@cook-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562797,\\"sold_product_562797_20442, sold_product_562797_20442\\",\\"sold_product_562797_20442, sold_product_562797_20442\\",\\"11.992, 11.992\\",\\"11.992, 11.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"5.398, 5.398\\",\\"11.992, 11.992\\",\\"20,442, 20,442\\",\\"Polo shirt - dark grey multicolor, Polo shirt - dark grey multicolor\\",\\"Polo shirt - dark grey multicolor, Polo shirt - dark grey multicolor\\",\\"1, 1\\",\\"ZO0442504425, ZO0442504425\\",\\"0, 0\\",\\"11.992, 11.992\\",\\"11.992, 11.992\\",\\"0, 0\\",ZO0442504425,\\"23.984\\",\\"23.984\\",2,2,order,irwin +SgMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Goodwin\\",\\"Abigail Goodwin\\",FEMALE,46,Goodwin,Goodwin,\\"(empty)\\",Saturday,5,\\"abigail@goodwin-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Oceanavigations, Pyramidustries\\",\\"Oceanavigations, Pyramidustries\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563846,\\"sold_product_563846_23161, sold_product_563846_13874\\",\\"sold_product_563846_23161, sold_product_563846_13874\\",\\"100, 16.984\\",\\"100, 16.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Pyramidustries\\",\\"Oceanavigations, Pyramidustries\\",\\"53, 9\\",\\"100, 16.984\\",\\"23,161, 13,874\\",\\"Boots - brandy, Long sleeved top - khaki\\",\\"Boots - brandy, Long sleeved top - khaki\\",\\"1, 1\\",\\"ZO0244102441, ZO0169301693\\",\\"0, 0\\",\\"100, 16.984\\",\\"100, 16.984\\",\\"0, 0\\",\\"ZO0244102441, ZO0169301693\\",117,117,2,2,order,abigail +SwMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Youssef,Youssef,\\"Youssef Burton\\",\\"Youssef Burton\\",MALE,31,Burton,Burton,\\"(empty)\\",Saturday,5,\\"youssef@burton-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563887,\\"sold_product_563887_11751, sold_product_563887_18663\\",\\"sold_product_563887_11751, sold_product_563887_18663\\",\\"28.984, 16.984\\",\\"28.984, 16.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"14.781, 8.156\\",\\"28.984, 16.984\\",\\"11,751, 18,663\\",\\"Shorts - beige, Print T-shirt - dark blue multicolor\\",\\"Shorts - beige, Print T-shirt - dark blue multicolor\\",\\"1, 1\\",\\"ZO0423104231, ZO0438204382\\",\\"0, 0\\",\\"28.984, 16.984\\",\\"28.984, 16.984\\",\\"0, 0\\",\\"ZO0423104231, ZO0438204382\\",\\"45.969\\",\\"45.969\\",2,2,order,youssef +UgMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Willis\\",\\"Rabbia Al Willis\\",FEMALE,5,Willis,Willis,\\"(empty)\\",Saturday,5,\\"rabbia al@willis-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Oceanavigations, Angeldale\\",\\"Oceanavigations, Angeldale\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563607,\\"sold_product_563607_23412, sold_product_563607_14303\\",\\"sold_product_563607_23412, sold_product_563607_14303\\",\\"33, 75\\",\\"33, 75\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Angeldale\\",\\"Oceanavigations, Angeldale\\",\\"17.813, 36\\",\\"33, 75\\",\\"23,412, 14,303\\",\\"Jeans Skinny Fit - black, Ankle boots - black\\",\\"Jeans Skinny Fit - black, Ankle boots - black\\",\\"1, 1\\",\\"ZO0271002710, ZO0678806788\\",\\"0, 0\\",\\"33, 75\\",\\"33, 75\\",\\"0, 0\\",\\"ZO0271002710, ZO0678806788\\",108,108,2,2,order,rabbia +jgMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Betty,Betty,\\"Betty Bryan\\",\\"Betty Bryan\\",FEMALE,44,Bryan,Bryan,\\"(empty)\\",Saturday,5,\\"betty@bryan-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries, Low Tide Media\\",\\"Pyramidustries, Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562762,\\"sold_product_562762_23139, sold_product_562762_13840\\",\\"sold_product_562762_23139, sold_product_562762_13840\\",\\"11.992, 65\\",\\"11.992, 65\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Low Tide Media\\",\\"Pyramidustries, Low Tide Media\\",\\"6.23, 29.906\\",\\"11.992, 65\\",\\"23,139, 13,840\\",\\"Print T-shirt - black/berry, Boots - Royal Blue\\",\\"Print T-shirt - black/berry, Boots - Royal Blue\\",\\"1, 1\\",\\"ZO0162401624, ZO0375203752\\",\\"0, 0\\",\\"11.992, 65\\",\\"11.992, 65\\",\\"0, 0\\",\\"ZO0162401624, ZO0375203752\\",77,77,2,2,order,betty +9AMtOW0BH63Xcmy44mSR,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Sutton\\",\\"Elyssa Sutton\\",FEMALE,27,Sutton,Sutton,\\"(empty)\\",Saturday,5,\\"elyssa@sutton-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Primemaster, Spherecords\\",\\"Tigress Enterprises, Primemaster, Spherecords\\",\\"Jun 21, 2019 @ 00:00:00.000\\",723905,\\"sold_product_723905_24589, sold_product_723905_11977, sold_product_723905_13368, sold_product_723905_14021\\",\\"sold_product_723905_24589, sold_product_723905_11977, sold_product_723905_13368, sold_product_723905_14021\\",\\"24.984, 100, 21.984, 20.984\\",\\"24.984, 100, 21.984, 20.984\\",\\"Women's Shoes, Women's Shoes, Women's Clothing, Women's Clothing\\",\\"Women's Shoes, Women's Shoes, Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Tigress Enterprises, Primemaster, Spherecords, Spherecords\\",\\"Tigress Enterprises, Primemaster, Spherecords, Spherecords\\",\\"13.492, 54, 11.867, 10.906\\",\\"24.984, 100, 21.984, 20.984\\",\\"24,589, 11,977, 13,368, 14,021\\",\\"Boots - black, Ankle boots - Midnight Blue, Chinos - light blue, Shirt - black\\",\\"Boots - black, Ankle boots - Midnight Blue, Chinos - light blue, Shirt - black\\",\\"1, 1, 1, 1\\",\\"ZO0030300303, ZO0360003600, ZO0632906329, ZO0650906509\\",\\"0, 0, 0, 0\\",\\"24.984, 100, 21.984, 20.984\\",\\"24.984, 100, 21.984, 20.984\\",\\"0, 0, 0, 0\\",\\"ZO0030300303, ZO0360003600, ZO0632906329, ZO0650906509\\",168,168,4,4,order,elyssa +FQMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Boone\\",\\"Elyssa Boone\\",FEMALE,27,Boone,Boone,\\"(empty)\\",Saturday,5,\\"elyssa@boone-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises MAMA, Champion Arts\\",\\"Tigress Enterprises MAMA, Champion Arts\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563195,\\"sold_product_563195_14393, sold_product_563195_22789\\",\\"sold_product_563195_14393, sold_product_563195_22789\\",\\"20.984, 28.984\\",\\"20.984, 28.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises MAMA, Champion Arts\\",\\"Tigress Enterprises MAMA, Champion Arts\\",\\"9.453, 13.633\\",\\"20.984, 28.984\\",\\"14,393, 22,789\\",\\"Print T-shirt - grey metallic, Tracksuit top - blue\\",\\"Print T-shirt - grey metallic, Tracksuit top - blue\\",\\"1, 1\\",\\"ZO0231802318, ZO0501805018\\",\\"0, 0\\",\\"20.984, 28.984\\",\\"20.984, 28.984\\",\\"0, 0\\",\\"ZO0231802318, ZO0501805018\\",\\"49.969\\",\\"49.969\\",2,2,order,elyssa +FgMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Selena,Selena,\\"Selena Bowers\\",\\"Selena Bowers\\",FEMALE,42,Bowers,Bowers,\\"(empty)\\",Saturday,5,\\"selena@bowers-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563436,\\"sold_product_563436_24555, sold_product_563436_11768\\",\\"sold_product_563436_24555, sold_product_563436_11768\\",\\"20.984, 7.988\\",\\"20.984, 7.988\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"10.492, 4.07\\",\\"20.984, 7.988\\",\\"24,555, 11,768\\",\\"Blouse - dark red, Bracelet - black\\",\\"Blouse - dark red, Bracelet - black\\",\\"1, 1\\",\\"ZO0651606516, ZO0078100781\\",\\"0, 0\\",\\"20.984, 7.988\\",\\"20.984, 7.988\\",\\"0, 0\\",\\"ZO0651606516, ZO0078100781\\",\\"28.984\\",\\"28.984\\",2,2,order,selena +FwMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",EUR,Robert,Robert,\\"Robert Phelps\\",\\"Robert Phelps\\",MALE,29,Phelps,Phelps,\\"(empty)\\",Saturday,5,\\"robert@phelps-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Microlutions, (empty)\\",\\"Microlutions, (empty)\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563489,\\"sold_product_563489_21239, sold_product_563489_13428\\",\\"sold_product_563489_21239, sold_product_563489_13428\\",\\"11.992, 165\\",\\"11.992, 165\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, (empty)\\",\\"Microlutions, (empty)\\",\\"6.469, 90.75\\",\\"11.992, 165\\",\\"21,239, 13,428\\",\\"Hat - multicolor/black, Demi-Boots\\",\\"Hat - multicolor/black, Demi-Boots\\",\\"1, 1\\",\\"ZO0126101261, ZO0483704837\\",\\"0, 0\\",\\"11.992, 165\\",\\"11.992, 165\\",\\"0, 0\\",\\"ZO0126101261, ZO0483704837\\",177,177,2,2,order,robert +dgMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Graham\\",\\"Elyssa Graham\\",FEMALE,27,Graham,Graham,\\"(empty)\\",Saturday,5,\\"elyssa@graham-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries, Oceanavigations, Tigress Enterprises MAMA, Tigress Enterprises\\",\\"Pyramidustries, Oceanavigations, Tigress Enterprises MAMA, Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",727576,\\"sold_product_727576_18143, sold_product_727576_19012, sold_product_727576_16454, sold_product_727576_11955\\",\\"sold_product_727576_18143, sold_product_727576_19012, sold_product_727576_16454, sold_product_727576_11955\\",\\"20.984, 20.984, 18.984, 18.984\\",\\"20.984, 20.984, 18.984, 18.984\\",\\"Women's Clothing, Women's Clothing, Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing, Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Pyramidustries, Oceanavigations, Tigress Enterprises MAMA, Tigress Enterprises\\",\\"Pyramidustries, Oceanavigations, Tigress Enterprises MAMA, Tigress Enterprises\\",\\"11.117, 9.453, 10.063, 10.438\\",\\"20.984, 20.984, 18.984, 18.984\\",\\"18,143, 19,012, 16,454, 11,955\\",\\"Jumper - bordeaux, Vest - black/rose, Vest - black, Print T-shirt - red\\",\\"Jumper - bordeaux, Vest - black/rose, Vest - black, Print T-shirt - red\\",\\"1, 1, 1, 1\\",\\"ZO0181201812, ZO0266902669, ZO0231702317, ZO0055800558\\",\\"0, 0, 0, 0\\",\\"20.984, 20.984, 18.984, 18.984\\",\\"20.984, 20.984, 18.984, 18.984\\",\\"0, 0, 0, 0\\",\\"ZO0181201812, ZO0266902669, ZO0231702317, ZO0055800558\\",\\"79.938\\",\\"79.938\\",4,4,order,elyssa +swMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Marwan,Marwan,\\"Marwan Stewart\\",\\"Marwan Stewart\\",MALE,51,Stewart,Stewart,\\"(empty)\\",Saturday,5,\\"marwan@stewart-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563167,\\"sold_product_563167_24934, sold_product_563167_11541\\",\\"sold_product_563167_24934, sold_product_563167_11541\\",\\"50, 18.984\\",\\"50, 18.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"22.5, 8.547\\",\\"50, 18.984\\",\\"24,934, 11,541\\",\\"Lace-up boots - resin coffee, Polo shirt - black\\",\\"Lace-up boots - resin coffee, Polo shirt - black\\",\\"1, 1\\",\\"ZO0403504035, ZO0295602956\\",\\"0, 0\\",\\"50, 18.984\\",\\"50, 18.984\\",\\"0, 0\\",\\"ZO0403504035, ZO0295602956\\",69,69,2,2,order,marwan +tAMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Selena,Selena,\\"Selena Gibbs\\",\\"Selena Gibbs\\",FEMALE,42,Gibbs,Gibbs,\\"(empty)\\",Saturday,5,\\"selena@gibbs-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563212,\\"sold_product_563212_21217, sold_product_563212_22846\\",\\"sold_product_563212_21217, sold_product_563212_22846\\",\\"33, 50\\",\\"33, 50\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"15.844, 25\\",\\"33, 50\\",\\"21,217, 22,846\\",\\"Jumper dress - grey/Medium Slate Blue multicolor, Over-the-knee boots - cognac\\",\\"Jumper dress - grey/Medium Slate Blue multicolor, Over-the-knee boots - cognac\\",\\"1, 1\\",\\"ZO0043700437, ZO0139001390\\",\\"0, 0\\",\\"33, 50\\",\\"33, 50\\",\\"0, 0\\",\\"ZO0043700437, ZO0139001390\\",83,83,2,2,order,selena +tQMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Muniz,Muniz,\\"Muniz Abbott\\",\\"Muniz Abbott\\",MALE,37,Abbott,Abbott,\\"(empty)\\",Saturday,5,\\"muniz@abbott-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563460,\\"sold_product_563460_2036, sold_product_563460_17157\\",\\"sold_product_563460_2036, sold_product_563460_17157\\",\\"80, 20.984\\",\\"80, 20.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"40, 10.289\\",\\"80, 20.984\\",\\"2,036, 17,157\\",\\"Lace-ups - Midnight Blue, Sweatshirt - off white\\",\\"Lace-ups - Midnight Blue, Sweatshirt - off white\\",\\"1, 1\\",\\"ZO0682506825, ZO0594505945\\",\\"0, 0\\",\\"80, 20.984\\",\\"80, 20.984\\",\\"0, 0\\",\\"ZO0682506825, ZO0594505945\\",101,101,2,2,order,muniz +tgMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Robbie,Robbie,\\"Robbie Reese\\",\\"Robbie Reese\\",MALE,48,Reese,Reese,\\"(empty)\\",Saturday,5,\\"robbie@reese-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563492,\\"sold_product_563492_13753, sold_product_563492_16739\\",\\"sold_product_563492_13753, sold_product_563492_16739\\",\\"24.984, 65\\",\\"24.984, 65\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"13.742, 29.25\\",\\"24.984, 65\\",\\"13,753, 16,739\\",\\"Formal shirt - white/blue, Suit jacket - dark grey\\",\\"Formal shirt - white/blue, Suit jacket - dark grey\\",\\"1, 1\\",\\"ZO0412004120, ZO0274102741\\",\\"0, 0\\",\\"24.984, 65\\",\\"24.984, 65\\",\\"0, 0\\",\\"ZO0412004120, ZO0274102741\\",90,90,2,2,order,robbie +0wMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Phil,Phil,\\"Phil Graham\\",\\"Phil Graham\\",MALE,50,Graham,Graham,\\"(empty)\\",Saturday,5,\\"phil@graham-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562729,\\"sold_product_562729_12601, sold_product_562729_22654\\",\\"sold_product_562729_12601, sold_product_562729_22654\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"10.906, 12.25\\",\\"20.984, 24.984\\",\\"12,601, 22,654\\",\\"Sweatshirt - bordeaux multicolor, Relaxed fit jeans - vintage blue\\",\\"Sweatshirt - bordeaux multicolor, Relaxed fit jeans - vintage blue\\",\\"1, 1\\",\\"ZO0456404564, ZO0535605356\\",\\"0, 0\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"0, 0\\",\\"ZO0456404564, ZO0535605356\\",\\"45.969\\",\\"45.969\\",2,2,order,phil +4AMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Sonya,Sonya,\\"Sonya Caldwell\\",\\"Sonya Caldwell\\",FEMALE,28,Caldwell,Caldwell,\\"(empty)\\",Saturday,5,\\"sonya@caldwell-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Low Tide Media, Pyramidustries\\",\\"Low Tide Media, Pyramidustries\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562978,\\"sold_product_562978_12226, sold_product_562978_11632\\",\\"sold_product_562978_12226, sold_product_562978_11632\\",\\"42, 20.984\\",\\"42, 20.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Pyramidustries\\",\\"Low Tide Media, Pyramidustries\\",\\"21.828, 9.867\\",\\"42, 20.984\\",\\"12,226, 11,632\\",\\"Sandals - beige, Summer dress - coral/pink\\",\\"Sandals - beige, Summer dress - coral/pink\\",\\"1, 1\\",\\"ZO0371003710, ZO0150601506\\",\\"0, 0\\",\\"42, 20.984\\",\\"42, 20.984\\",\\"0, 0\\",\\"ZO0371003710, ZO0150601506\\",\\"62.969\\",\\"62.969\\",2,2,order,sonya +4gMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Wagdi,Wagdi,\\"Wagdi Mcdonald\\",\\"Wagdi Mcdonald\\",MALE,15,Mcdonald,Mcdonald,\\"(empty)\\",Saturday,5,\\"wagdi@mcdonald-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563324,\\"sold_product_563324_24573, sold_product_563324_20665\\",\\"sold_product_563324_24573, sold_product_563324_20665\\",\\"16.984, 10.992\\",\\"16.984, 10.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"9.344, 4.949\\",\\"16.984, 10.992\\",\\"24,573, 20,665\\",\\"Basic T-shirt - dark blue multicolor, 3 PACK - Socks - black/white/grey\\",\\"Basic T-shirt - dark blue multicolor, 3 PACK - Socks - black/white/grey\\",\\"1, 1\\",\\"ZO0440004400, ZO0130401304\\",\\"0, 0\\",\\"16.984, 10.992\\",\\"16.984, 10.992\\",\\"0, 0\\",\\"ZO0440004400, ZO0130401304\\",\\"27.984\\",\\"27.984\\",2,2,order,wagdi +4wMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Byrd\\",\\"Elyssa Byrd\\",FEMALE,27,Byrd,Byrd,\\"(empty)\\",Saturday,5,\\"elyssa@byrd-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries, Low Tide Media\\",\\"Pyramidustries, Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563249,\\"sold_product_563249_14397, sold_product_563249_5141\\",\\"sold_product_563249_14397, sold_product_563249_5141\\",\\"21.984, 60\\",\\"21.984, 60\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Low Tide Media\\",\\"Pyramidustries, Low Tide Media\\",\\"10.344, 33\\",\\"21.984, 60\\",\\"14,397, 5,141\\",\\"Sweatshirt - light grey multicolor, Ankle boots - black\\",\\"Sweatshirt - light grey multicolor, Ankle boots - black\\",\\"1, 1\\",\\"ZO0181001810, ZO0378903789\\",\\"0, 0\\",\\"21.984, 60\\",\\"21.984, 60\\",\\"0, 0\\",\\"ZO0181001810, ZO0378903789\\",82,82,2,2,order,elyssa +5AMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Brigitte,Brigitte,\\"Brigitte Chandler\\",\\"Brigitte Chandler\\",FEMALE,12,Chandler,Chandler,\\"(empty)\\",Saturday,5,\\"brigitte@chandler-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Champion Arts\\",\\"Tigress Enterprises, Champion Arts\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563286,\\"sold_product_563286_11887, sold_product_563286_22261\\",\\"sold_product_563286_11887, sold_product_563286_22261\\",\\"50, 50\\",\\"50, 50\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Champion Arts\\",\\"Tigress Enterprises, Champion Arts\\",\\"24.5, 22.5\\",\\"50, 50\\",\\"11,887, 22,261\\",\\"Maxi dress - black, Winter jacket - bordeaux\\",\\"Maxi dress - black, Winter jacket - bordeaux\\",\\"1, 1\\",\\"ZO0040000400, ZO0503805038\\",\\"0, 0\\",\\"50, 50\\",\\"50, 50\\",\\"0, 0\\",\\"ZO0040000400, ZO0503805038\\",100,100,2,2,order,brigitte +dgMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Abd,Abd,\\"Abd Shaw\\",\\"Abd Shaw\\",MALE,52,Shaw,Shaw,\\"(empty)\\",Saturday,5,\\"abd@shaw-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563187,\\"sold_product_563187_12040, sold_product_563187_21172\\",\\"sold_product_563187_12040, sold_product_563187_21172\\",\\"24.984, 24.984\\",\\"24.984, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"12.492, 12.992\\",\\"24.984, 24.984\\",\\"12,040, 21,172\\",\\"Shirt - navy, Jeans Skinny Fit - blue\\",\\"Shirt - navy, Jeans Skinny Fit - blue\\",\\"1, 1\\",\\"ZO0278702787, ZO0425404254\\",\\"0, 0\\",\\"24.984, 24.984\\",\\"24.984, 24.984\\",\\"0, 0\\",\\"ZO0278702787, ZO0425404254\\",\\"49.969\\",\\"49.969\\",2,2,order,abd +dwMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Gregory\\",\\"Elyssa Gregory\\",FEMALE,27,Gregory,Gregory,\\"(empty)\\",Saturday,5,\\"elyssa@gregory-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Spherecords, Champion Arts\\",\\"Spherecords, Champion Arts\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563503,\\"sold_product_563503_23310, sold_product_563503_16900\\",\\"sold_product_563503_23310, sold_product_563503_16900\\",\\"19.984, 24.984\\",\\"19.984, 24.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Champion Arts\\",\\"Spherecords, Champion Arts\\",\\"9.797, 13.742\\",\\"19.984, 24.984\\",\\"23,310, 16,900\\",\\"Blouse - dark green, Jersey dress - black/white\\",\\"Blouse - dark green, Jersey dress - black/white\\",\\"1, 1\\",\\"ZO0649306493, ZO0490704907\\",\\"0, 0\\",\\"19.984, 24.984\\",\\"19.984, 24.984\\",\\"0, 0\\",\\"ZO0649306493, ZO0490704907\\",\\"44.969\\",\\"44.969\\",2,2,order,elyssa +ewMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Robert,Robert,\\"Robert Moran\\",\\"Robert Moran\\",MALE,29,Moran,Moran,\\"(empty)\\",Saturday,5,\\"robert@moran-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563275,\\"sold_product_563275_21731, sold_product_563275_19441\\",\\"sold_product_563275_21731, sold_product_563275_19441\\",\\"37, 24.984\\",\\"37, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"17.016, 11.5\\",\\"37, 24.984\\",\\"21,731, 19,441\\",\\"Bomber Jacket - black, Jumper - green multicolor\\",\\"Bomber Jacket - black, Jumper - green multicolor\\",\\"1, 1\\",\\"ZO0287402874, ZO0453404534\\",\\"0, 0\\",\\"37, 24.984\\",\\"37, 24.984\\",\\"0, 0\\",\\"ZO0287402874, ZO0453404534\\",\\"61.969\\",\\"61.969\\",2,2,order,robert +kgMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,rania,rania,\\"rania Mccarthy\\",\\"rania Mccarthy\\",FEMALE,24,Mccarthy,Mccarthy,\\"(empty)\\",Saturday,5,\\"rania@mccarthy-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Oceanavigations, Gnomehouse\\",\\"Oceanavigations, Gnomehouse\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563737,\\"sold_product_563737_12413, sold_product_563737_19717\\",\\"sold_product_563737_12413, sold_product_563737_19717\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Gnomehouse\\",\\"Oceanavigations, Gnomehouse\\",\\"12.25, 22.25\\",\\"24.984, 42\\",\\"12,413, 19,717\\",\\"Clutch - black, Ballet pumps - blue/white\\",\\"Clutch - black, Ballet pumps - blue/white\\",\\"1, 1\\",\\"ZO0306903069, ZO0320703207\\",\\"0, 0\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"0, 0\\",\\"ZO0306903069, ZO0320703207\\",67,67,2,2,order,rani +kwMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Boris,Boris,\\"Boris Foster\\",\\"Boris Foster\\",MALE,36,Foster,Foster,\\"(empty)\\",Saturday,5,\\"boris@foster-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Spritechnologies, Oceanavigations\\",\\"Spritechnologies, Oceanavigations\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563796,\\"sold_product_563796_15607, sold_product_563796_14438\\",\\"sold_product_563796_15607, sold_product_563796_14438\\",\\"42, 28.984\\",\\"42, 28.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Oceanavigations\\",\\"Spritechnologies, Oceanavigations\\",\\"21.406, 13.344\\",\\"42, 28.984\\",\\"15,607, 14,438\\",\\"Soft shell jacket - dark grey, Jumper - dark grey multicolor\\",\\"Soft shell jacket - dark grey, Jumper - dark grey multicolor\\",\\"1, 1\\",\\"ZO0625806258, ZO0297602976\\",\\"0, 0\\",\\"42, 28.984\\",\\"42, 28.984\\",\\"0, 0\\",\\"ZO0625806258, ZO0297602976\\",71,71,2,2,order,boris +vgMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Robert,Robert,\\"Robert Mcdonald\\",\\"Robert Mcdonald\\",MALE,29,Mcdonald,Mcdonald,\\"(empty)\\",Saturday,5,\\"robert@mcdonald-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562853,\\"sold_product_562853_21053, sold_product_562853_23834\\",\\"sold_product_562853_21053, sold_product_562853_23834\\",\\"10.992, 7.988\\",\\"10.992, 7.988\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"5.391, 4.07\\",\\"10.992, 7.988\\",\\"21,053, 23,834\\",\\"Print T-shirt - white/blue, 3 PACK - Socks - blue/grey\\",\\"Print T-shirt - white/blue, 3 PACK - Socks - blue/grey\\",\\"1, 1\\",\\"ZO0564705647, ZO0481004810\\",\\"0, 0\\",\\"10.992, 7.988\\",\\"10.992, 7.988\\",\\"0, 0\\",\\"ZO0564705647, ZO0481004810\\",\\"18.984\\",\\"18.984\\",2,2,order,robert +vwMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Love\\",\\"Elyssa Love\\",FEMALE,27,Love,Love,\\"(empty)\\",Saturday,5,\\"elyssa@love-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562900,\\"sold_product_562900_15312, sold_product_562900_12544\\",\\"sold_product_562900_15312, sold_product_562900_12544\\",\\"28.984, 24.984\\",\\"28.984, 24.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"14.211, 12.992\\",\\"28.984, 24.984\\",\\"15,312, 12,544\\",\\"Print T-shirt - coronet blue, Faux leather jacket - black\\",\\"Print T-shirt - coronet blue, Faux leather jacket - black\\",\\"1, 1\\",\\"ZO0349203492, ZO0173801738\\",\\"0, 0\\",\\"28.984, 24.984\\",\\"28.984, 24.984\\",\\"0, 0\\",\\"ZO0349203492, ZO0173801738\\",\\"53.969\\",\\"53.969\\",2,2,order,elyssa +wAMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty Thompson\\",\\"Betty Thompson\\",FEMALE,44,Thompson,Thompson,\\"(empty)\\",Saturday,5,\\"betty@thompson-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562668,\\"sold_product_562668_22190, sold_product_562668_24239\\",\\"sold_product_562668_22190, sold_product_562668_24239\\",\\"33, 25.984\\",\\"33, 25.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"15.844, 12.219\\",\\"33, 25.984\\",\\"22,190, 24,239\\",\\"Vest - black, Long sleeved top - winter white/peacoat\\",\\"Vest - black, Long sleeved top - winter white/peacoat\\",\\"1, 1\\",\\"ZO0348503485, ZO0059100591\\",\\"0, 0\\",\\"33, 25.984\\",\\"33, 25.984\\",\\"0, 0\\",\\"ZO0348503485, ZO0059100591\\",\\"58.969\\",\\"58.969\\",2,2,order,betty +zgMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Men's Clothing\\",\\"Women's Accessories, Men's Clothing\\",EUR,Muniz,Muniz,\\"Muniz Perkins\\",\\"Muniz Perkins\\",MALE,37,Perkins,Perkins,\\"(empty)\\",Saturday,5,\\"muniz@perkins-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562794,\\"sold_product_562794_12403, sold_product_562794_24539\\",\\"sold_product_562794_12403, sold_product_562794_24539\\",\\"75, 15.992\\",\\"75, 15.992\\",\\"Women's Accessories, Men's Clothing\\",\\"Women's Accessories, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"35.25, 8.148\\",\\"75, 15.992\\",\\"12,403, 24,539\\",\\"Rucksack - brandy, Long sleeved top - off-white\\",\\"Rucksack - brandy, Long sleeved top - off-white\\",\\"1, 1\\",\\"ZO0701707017, ZO0440404404\\",\\"0, 0\\",\\"75, 15.992\\",\\"75, 15.992\\",\\"0, 0\\",\\"ZO0701707017, ZO0440404404\\",91,91,2,2,order,muniz +\\"-QMtOW0BH63Xcmy442fU\\",ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Marwan,Marwan,\\"Marwan Caldwell\\",\\"Marwan Caldwell\\",MALE,51,Caldwell,Caldwell,\\"(empty)\\",Saturday,5,\\"marwan@caldwell-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",Elitelligence,Elitelligence,\\"Jun 21, 2019 @ 00:00:00.000\\",562720,\\"sold_product_562720_17428, sold_product_562720_13612\\",\\"sold_product_562720_17428, sold_product_562720_13612\\",\\"20.984, 11.992\\",\\"20.984, 11.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"10.078, 6.469\\",\\"20.984, 11.992\\",\\"17,428, 13,612\\",\\"Sweatshirt - bordeaux, Basic T-shirt - light red/white\\",\\"Sweatshirt - bordeaux, Basic T-shirt - light red/white\\",\\"1, 1\\",\\"ZO0585605856, ZO0549505495\\",\\"0, 0\\",\\"20.984, 11.992\\",\\"20.984, 11.992\\",\\"0, 0\\",\\"ZO0585605856, ZO0549505495\\",\\"32.969\\",\\"32.969\\",2,2,order,marwan +\\"-gMtOW0BH63Xcmy442fU\\",ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Robert,Robert,\\"Robert Reyes\\",\\"Robert Reyes\\",MALE,29,Reyes,Reyes,\\"(empty)\\",Saturday,5,\\"robert@reyes-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562759,\\"sold_product_562759_15827, sold_product_562759_22599\\",\\"sold_product_562759_15827, sold_product_562759_22599\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"9.867, 11.5\\",\\"20.984, 24.984\\",\\"15,827, 22,599\\",\\"Belt - black/brown, Sweatshirt - black\\",\\"Belt - black/brown, Sweatshirt - black\\",\\"1, 1\\",\\"ZO0310403104, ZO0595005950\\",\\"0, 0\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"0, 0\\",\\"ZO0310403104, ZO0595005950\\",\\"45.969\\",\\"45.969\\",2,2,order,robert +KQMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Boris,Boris,\\"Boris Little\\",\\"Boris Little\\",MALE,36,Little,Little,\\"(empty)\\",Saturday,5,\\"boris@little-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563442,\\"sold_product_563442_23887, sold_product_563442_17436\\",\\"sold_product_563442_23887, sold_product_563442_17436\\",\\"60, 10.992\\",\\"60, 10.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"27, 5.391\\",\\"60, 10.992\\",\\"23,887, 17,436\\",\\"Casual lace-ups - blue, Print T-shirt - white/orange\\",\\"Casual lace-ups - blue, Print T-shirt - white/orange\\",\\"1, 1\\",\\"ZO0394303943, ZO0556305563\\",\\"0, 0\\",\\"60, 10.992\\",\\"60, 10.992\\",\\"0, 0\\",\\"ZO0394303943, ZO0556305563\\",71,71,2,2,order,boris +qwMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Samir,Samir,\\"Samir Valdez\\",\\"Samir Valdez\\",MALE,34,Valdez,Valdez,\\"(empty)\\",Saturday,5,\\"samir@valdez-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563775,\\"sold_product_563775_16063, sold_product_563775_12691\\",\\"sold_product_563775_16063, sold_product_563775_12691\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"6.469, 11.75\\",\\"11.992, 24.984\\",\\"16,063, 12,691\\",\\"Long sleeved top - tan, Windbreaker - Cornflower Blue\\",\\"Long sleeved top - tan, Windbreaker - Cornflower Blue\\",\\"1, 1\\",\\"ZO0562805628, ZO0622806228\\",\\"0, 0\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"0, 0\\",\\"ZO0562805628, ZO0622806228\\",\\"36.969\\",\\"36.969\\",2,2,order,samir +rAMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Samir,Samir,\\"Samir Cross\\",\\"Samir Cross\\",MALE,34,Cross,Cross,\\"(empty)\\",Saturday,5,\\"samir@cross-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Microlutions, Oceanavigations\\",\\"Microlutions, Oceanavigations\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563813,\\"sold_product_563813_20520, sold_product_563813_19613\\",\\"sold_product_563813_20520, sold_product_563813_19613\\",\\"14.992, 50\\",\\"14.992, 50\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Oceanavigations\\",\\"Microlutions, Oceanavigations\\",\\"7.352, 25.484\\",\\"14.992, 50\\",\\"20,520, 19,613\\",\\"Print T-shirt - bright white, Summer jacket - black\\",\\"Print T-shirt - bright white, Summer jacket - black\\",\\"1, 1\\",\\"ZO0120001200, ZO0286602866\\",\\"0, 0\\",\\"14.992, 50\\",\\"14.992, 50\\",\\"0, 0\\",\\"ZO0120001200, ZO0286602866\\",65,65,2,2,order,samir +NgMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Marwan,Marwan,\\"Marwan Reyes\\",\\"Marwan Reyes\\",MALE,51,Reyes,Reyes,\\"(empty)\\",Saturday,5,\\"marwan@reyes-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563250,\\"sold_product_563250_18528, sold_product_563250_12730\\",\\"sold_product_563250_18528, sold_product_563250_12730\\",\\"10.992, 75\\",\\"10.992, 75\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"5.281, 38.25\\",\\"10.992, 75\\",\\"18,528, 12,730\\",\\"Print T-shirt - black, Crossover Strap Bag\\",\\"Print T-shirt - black, Crossover Strap Bag\\",\\"1, 1\\",\\"ZO0557805578, ZO0463904639\\",\\"0, 0\\",\\"10.992, 75\\",\\"10.992, 75\\",\\"0, 0\\",\\"ZO0557805578, ZO0463904639\\",86,86,2,2,order,marwan +NwMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Pia,Pia,\\"Pia Gilbert\\",\\"Pia Gilbert\\",FEMALE,45,Gilbert,Gilbert,\\"(empty)\\",Saturday,5,\\"pia@gilbert-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563282,\\"sold_product_563282_19216, sold_product_563282_16990\\",\\"sold_product_563282_19216, sold_product_563282_16990\\",\\"25.984, 20.984\\",\\"25.984, 20.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"13.25, 9.656\\",\\"25.984, 20.984\\",\\"19,216, 16,990\\",\\"SET - Pyjamas - black/light pink, Shirt - white/blue\\",\\"SET - Pyjamas - black/light pink, Shirt - white/blue\\",\\"1, 1\\",\\"ZO0100701007, ZO0651106511\\",\\"0, 0\\",\\"25.984, 20.984\\",\\"25.984, 20.984\\",\\"0, 0\\",\\"ZO0100701007, ZO0651106511\\",\\"46.969\\",\\"46.969\\",2,2,order,pia +bQMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Tariq,Tariq,\\"Tariq Washington\\",\\"Tariq Washington\\",MALE,25,Washington,Washington,\\"(empty)\\",Saturday,5,\\"tariq@washington-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563392,\\"sold_product_563392_12047, sold_product_563392_17700\\",\\"sold_product_563392_12047, sold_product_563392_17700\\",\\"20.984, 16.984\\",\\"20.984, 16.984\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"10.289, 9\\",\\"20.984, 16.984\\",\\"12,047, 17,700\\",\\"Tracksuit bottoms - dark red, Belt - black\\",\\"Tracksuit bottoms - dark red, Belt - black\\",\\"1, 1\\",\\"ZO0525405254, ZO0310203102\\",\\"0, 0\\",\\"20.984, 16.984\\",\\"20.984, 16.984\\",\\"0, 0\\",\\"ZO0525405254, ZO0310203102\\",\\"37.969\\",\\"37.969\\",2,2,order,tariq +kgMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Brigitte,Brigitte,\\"Brigitte Martin\\",\\"Brigitte Martin\\",FEMALE,12,Martin,Martin,\\"(empty)\\",Saturday,5,\\"brigitte@martin-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563697,\\"sold_product_563697_15646, sold_product_563697_21369\\",\\"sold_product_563697_15646, sold_product_563697_21369\\",\\"20.984, 10.992\\",\\"20.984, 10.992\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"9.867, 5.602\\",\\"20.984, 10.992\\",\\"15,646, 21,369\\",\\"Jumper - off-white, Ballet pumps - yellow\\",\\"Jumper - off-white, Ballet pumps - yellow\\",\\"1, 1\\",\\"ZO0264702647, ZO0000700007\\",\\"0, 0\\",\\"20.984, 10.992\\",\\"20.984, 10.992\\",\\"0, 0\\",\\"ZO0264702647, ZO0000700007\\",\\"31.984\\",\\"31.984\\",2,2,order,brigitte +lwMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Phil,Phil,\\"Phil Williams\\",\\"Phil Williams\\",MALE,50,Williams,Williams,\\"(empty)\\",Saturday,5,\\"phil@williams-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563246,\\"sold_product_563246_17897, sold_product_563246_20203\\",\\"sold_product_563246_17897, sold_product_563246_20203\\",\\"20.984, 28.984\\",\\"20.984, 28.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"10.703, 14.781\\",\\"20.984, 28.984\\",\\"17,897, 20,203\\",\\"Trainers - grey, Sweatshirt - black\\",\\"Trainers - grey, Sweatshirt - black\\",\\"1, 1\\",\\"ZO0515205152, ZO0300803008\\",\\"0, 0\\",\\"20.984, 28.984\\",\\"20.984, 28.984\\",\\"0, 0\\",\\"ZO0515205152, ZO0300803008\\",\\"49.969\\",\\"49.969\\",2,2,order,phil +2gMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Garza\\",\\"Wilhemina St. Garza\\",FEMALE,17,Garza,Garza,\\"(empty)\\",Saturday,5,\\"wilhemina st.@garza-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Angeldale, Gnomehouse\\",\\"Angeldale, Gnomehouse\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562934,\\"sold_product_562934_5758, sold_product_562934_18453\\",\\"sold_product_562934_5758, sold_product_562934_18453\\",\\"75, 85\\",\\"75, 85\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Gnomehouse\\",\\"Angeldale, Gnomehouse\\",\\"33.75, 40.813\\",\\"75, 85\\",\\"5,758, 18,453\\",\\"Ankle boots - cognac, High heeled ankle boots - black\\",\\"Ankle boots - cognac, High heeled ankle boots - black\\",\\"1, 1\\",\\"ZO0674206742, ZO0326303263\\",\\"0, 0\\",\\"75, 85\\",\\"75, 85\\",\\"0, 0\\",\\"ZO0674206742, ZO0326303263\\",160,160,2,2,order,wilhemina +2wMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Women's Accessories\\",\\"Men's Clothing, Women's Accessories\\",EUR,Yuri,Yuri,\\"Yuri Burton\\",\\"Yuri Burton\\",MALE,21,Burton,Burton,\\"(empty)\\",Saturday,5,\\"yuri@burton-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Microlutions, Angeldale\\",\\"Microlutions, Angeldale\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562994,\\"sold_product_562994_12714, sold_product_562994_21404\\",\\"sold_product_562994_12714, sold_product_562994_21404\\",\\"85, 11.992\\",\\"85, 11.992\\",\\"Men's Clothing, Women's Accessories\\",\\"Men's Clothing, Women's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Angeldale\\",\\"Microlutions, Angeldale\\",\\"40.813, 6.352\\",\\"85, 11.992\\",\\"12,714, 21,404\\",\\"Classic coat - black, Wallet - brown\\",\\"Classic coat - black, Wallet - brown\\",\\"1, 1\\",\\"ZO0115801158, ZO0701507015\\",\\"0, 0\\",\\"85, 11.992\\",\\"85, 11.992\\",\\"0, 0\\",\\"ZO0115801158, ZO0701507015\\",97,97,2,2,order,yuri +3gMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,rania,rania,\\"rania James\\",\\"rania James\\",FEMALE,24,James,James,\\"(empty)\\",Saturday,5,\\"rania@james-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563317,\\"sold_product_563317_12022, sold_product_563317_12978\\",\\"sold_product_563317_12022, sold_product_563317_12978\\",\\"11.992, 10.992\\",\\"11.992, 10.992\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"5.762, 5.172\\",\\"11.992, 10.992\\",\\"12,022, 12,978\\",\\"T-Shirt - blue, Scarf - offwhite/black\\",\\"T-Shirt - blue, Scarf - offwhite/black\\",\\"1, 1\\",\\"ZO0631706317, ZO0192701927\\",\\"0, 0\\",\\"11.992, 10.992\\",\\"11.992, 10.992\\",\\"0, 0\\",\\"ZO0631706317, ZO0192701927\\",\\"22.984\\",\\"22.984\\",2,2,order,rani +3wMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Eddie,Eddie,\\"Eddie Webb\\",\\"Eddie Webb\\",MALE,38,Webb,Webb,\\"(empty)\\",Saturday,5,\\"eddie@webb-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563341,\\"sold_product_563341_18784, sold_product_563341_16207\\",\\"sold_product_563341_18784, sold_product_563341_16207\\",\\"60, 10.992\\",\\"60, 10.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"29.406, 5.82\\",\\"60, 10.992\\",\\"18,784, 16,207\\",\\"Smart slip-ons - blue, Bow tie - black\\",\\"Smart slip-ons - blue, Bow tie - black\\",\\"1, 1\\",\\"ZO0397303973, ZO0410304103\\",\\"0, 0\\",\\"60, 10.992\\",\\"60, 10.992\\",\\"0, 0\\",\\"ZO0397303973, ZO0410304103\\",71,71,2,2,order,eddie +CgMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Turner\\",\\"Gwen Turner\\",FEMALE,26,Turner,Turner,\\"(empty)\\",Saturday,5,\\"gwen@turner-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Gnomehouse, Pyramidustries active\\",\\"Gnomehouse, Pyramidustries active\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563622,\\"sold_product_563622_19912, sold_product_563622_10691\\",\\"sold_product_563622_19912, sold_product_563622_10691\\",\\"37, 13.992\\",\\"37, 13.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Pyramidustries active\\",\\"Gnomehouse, Pyramidustries active\\",\\"17.016, 6.719\\",\\"37, 13.992\\",\\"19,912, 10,691\\",\\"A-line skirt - june bug, 3/4 sports trousers - magnet \\",\\"A-line skirt - june bug, 3/4 sports trousers - magnet \\",\\"1, 1\\",\\"ZO0328103281, ZO0224602246\\",\\"0, 0\\",\\"37, 13.992\\",\\"37, 13.992\\",\\"0, 0\\",\\"ZO0328103281, ZO0224602246\\",\\"50.969\\",\\"50.969\\",2,2,order,gwen +CwMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Boone\\",\\"Abdulraheem Al Boone\\",MALE,33,Boone,Boone,\\"(empty)\\",Saturday,5,\\"abdulraheem al@boone-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563666,\\"sold_product_563666_1967, sold_product_563666_15695\\",\\"sold_product_563666_1967, sold_product_563666_15695\\",\\"65, 33\\",\\"65, 33\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"34.438, 15.18\\",\\"65, 33\\",\\"1,967, 15,695\\",\\"Lace-ups - cognac, Watch - gunmetal\\",\\"Lace-ups - cognac, Watch - gunmetal\\",\\"1, 1\\",\\"ZO0390903909, ZO0126801268\\",\\"0, 0\\",\\"65, 33\\",\\"65, 33\\",\\"0, 0\\",\\"ZO0390903909, ZO0126801268\\",98,98,2,2,order,abdulraheem +DgMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Men's Clothing\\",\\"Women's Accessories, Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Clayton\\",\\"Mostafa Clayton\\",MALE,9,Clayton,Clayton,\\"(empty)\\",Saturday,5,\\"mostafa@clayton-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Angeldale, Oceanavigations\\",\\"Angeldale, Oceanavigations\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563026,\\"sold_product_563026_18853, sold_product_563026_17728\\",\\"sold_product_563026_18853, sold_product_563026_17728\\",\\"85, 60\\",\\"85, 60\\",\\"Women's Accessories, Men's Clothing\\",\\"Women's Accessories, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Oceanavigations\\",\\"Angeldale, Oceanavigations\\",\\"40.813, 32.375\\",\\"85, 60\\",\\"18,853, 17,728\\",\\"Tote bag - black , Suit jacket - navy\\",\\"Tote bag - black , Suit jacket - navy\\",\\"1, 1\\",\\"ZO0703407034, ZO0275102751\\",\\"0, 0\\",\\"85, 60\\",\\"85, 60\\",\\"0, 0\\",\\"ZO0703407034, ZO0275102751\\",145,145,2,2,order,mostafa +DwMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Brigitte,Brigitte,\\"Brigitte Marshall\\",\\"Brigitte Marshall\\",FEMALE,12,Marshall,Marshall,\\"(empty)\\",Saturday,5,\\"brigitte@marshall-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Gnomehouse,Gnomehouse,\\"Jun 21, 2019 @ 00:00:00.000\\",563084,\\"sold_product_563084_23929, sold_product_563084_13484\\",\\"sold_product_563084_23929, sold_product_563084_13484\\",\\"65, 42\\",\\"65, 42\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Gnomehouse\\",\\"Gnomehouse, Gnomehouse\\",\\"29.906, 19.313\\",\\"65, 42\\",\\"23,929, 13,484\\",\\"Summer dress - black, Summer dress - pastel blue\\",\\"Summer dress - black, Summer dress - pastel blue\\",\\"1, 1\\",\\"ZO0338803388, ZO0334203342\\",\\"0, 0\\",\\"65, 42\\",\\"65, 42\\",\\"0, 0\\",\\"ZO0338803388, ZO0334203342\\",107,107,2,2,order,brigitte +GwMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Sonya,Sonya,\\"Sonya Rivera\\",\\"Sonya Rivera\\",FEMALE,28,Rivera,Rivera,\\"(empty)\\",Saturday,5,\\"sonya@rivera-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562963,\\"sold_product_562963_5747, sold_product_562963_19886\\",\\"sold_product_562963_5747, sold_product_562963_19886\\",\\"28.984, 7.988\\",\\"28.984, 7.988\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"13.633, 4.391\\",\\"28.984, 7.988\\",\\"5,747, 19,886\\",\\"High heels - nude, Mini skirt - dark grey multicolor\\",\\"High heels - nude, Mini skirt - dark grey multicolor\\",\\"1, 1\\",\\"ZO0004900049, ZO0633806338\\",\\"0, 0\\",\\"28.984, 7.988\\",\\"28.984, 7.988\\",\\"0, 0\\",\\"ZO0004900049, ZO0633806338\\",\\"36.969\\",\\"36.969\\",2,2,order,sonya +HAMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Yahya,Yahya,\\"Yahya Jimenez\\",\\"Yahya Jimenez\\",MALE,23,Jimenez,Jimenez,\\"(empty)\\",Saturday,5,\\"yahya@jimenez-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",Elitelligence,Elitelligence,\\"Jun 21, 2019 @ 00:00:00.000\\",563016,\\"sold_product_563016_19484, sold_product_563016_11795\\",\\"sold_product_563016_19484, sold_product_563016_11795\\",\\"50, 20.984\\",\\"50, 20.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"25.484, 10.289\\",\\"50, 20.984\\",\\"19,484, 11,795\\",\\"Summer jacket - khaki, Tracksuit bottoms - dark blue\\",\\"Summer jacket - khaki, Tracksuit bottoms - dark blue\\",\\"1, 1\\",\\"ZO0539605396, ZO0525505255\\",\\"0, 0\\",\\"50, 20.984\\",\\"50, 20.984\\",\\"0, 0\\",\\"ZO0539605396, ZO0525505255\\",71,71,2,2,order,yahya +HgMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Diane,Diane,\\"Diane Walters\\",\\"Diane Walters\\",FEMALE,22,Walters,Walters,\\"(empty)\\",Saturday,5,\\"diane@walters-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Spherecords\\",\\"Low Tide Media, Spherecords\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562598,\\"sold_product_562598_5045, sold_product_562598_18398\\",\\"sold_product_562598_5045, sold_product_562598_18398\\",\\"60, 10.992\\",\\"60, 10.992\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Spherecords\\",\\"Low Tide Media, Spherecords\\",\\"30.594, 5.391\\",\\"60, 10.992\\",\\"5,045, 18,398\\",\\"Boots - black, Vest - black\\",\\"Boots - black, Vest - black\\",\\"1, 1\\",\\"ZO0383203832, ZO0642806428\\",\\"0, 0\\",\\"60, 10.992\\",\\"60, 10.992\\",\\"0, 0\\",\\"ZO0383203832, ZO0642806428\\",71,71,2,2,order,diane +HwMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Brigitte,Brigitte,\\"Brigitte Underwood\\",\\"Brigitte Underwood\\",FEMALE,12,Underwood,Underwood,\\"(empty)\\",Saturday,5,\\"brigitte@underwood-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563336,\\"sold_product_563336_19599, sold_product_563336_21032\\",\\"sold_product_563336_19599, sold_product_563336_21032\\",\\"50, 28.984\\",\\"50, 28.984\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"25.484, 15.648\\",\\"50, 28.984\\",\\"19,599, 21,032\\",\\"Maxi dress - Pale Violet Red, Lace-ups - black\\",\\"Maxi dress - Pale Violet Red, Lace-ups - black\\",\\"1, 1\\",\\"ZO0332903329, ZO0008300083\\",\\"0, 0\\",\\"50, 28.984\\",\\"50, 28.984\\",\\"0, 0\\",\\"ZO0332903329, ZO0008300083\\",79,79,2,2,order,brigitte +bAMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Wagdi,Wagdi,\\"Wagdi Roberson\\",\\"Wagdi Roberson\\",MALE,15,Roberson,Roberson,\\"(empty)\\",Saturday,5,\\"wagdi@roberson-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563558,\\"sold_product_563558_21248, sold_product_563558_15382\\",\\"sold_product_563558_21248, sold_product_563558_15382\\",\\"27.984, 37\\",\\"27.984, 37\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"13.992, 19.594\\",\\"27.984, 37\\",\\"21,248, 15,382\\",\\"Windbreaker - navy blazer, Tracksuit top - mottled grey\\",\\"Windbreaker - navy blazer, Tracksuit top - mottled grey\\",\\"1, 1\\",\\"ZO0622706227, ZO0584505845\\",\\"0, 0\\",\\"27.984, 37\\",\\"27.984, 37\\",\\"0, 0\\",\\"ZO0622706227, ZO0584505845\\",65,65,2,2,order,wagdi +cwMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Tariq,Tariq,\\"Tariq Holland\\",\\"Tariq Holland\\",MALE,25,Holland,Holland,\\"(empty)\\",Saturday,5,\\"tariq@holland-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Oceanavigations, Microlutions\\",\\"Oceanavigations, Microlutions\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563150,\\"sold_product_563150_12819, sold_product_563150_19994\\",\\"sold_product_563150_12819, sold_product_563150_19994\\",\\"24.984, 6.988\\",\\"24.984, 6.988\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Microlutions\\",\\"Oceanavigations, Microlutions\\",\\"11.25, 3.631\\",\\"24.984, 6.988\\",\\"12,819, 19,994\\",\\"Chinos - dark green, STAY TRUE 2 PACK - Socks - white/grey/black\\",\\"Chinos - dark green, STAY TRUE 2 PACK - Socks - white/grey/black\\",\\"1, 1\\",\\"ZO0281802818, ZO0130201302\\",\\"0, 0\\",\\"24.984, 6.988\\",\\"24.984, 6.988\\",\\"0, 0\\",\\"ZO0281802818, ZO0130201302\\",\\"31.984\\",\\"31.984\\",2,2,order,tariq +eQMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Smith\\",\\"Wilhemina St. Smith\\",FEMALE,17,Smith,Smith,\\"(empty)\\",Saturday,5,\\"wilhemina st.@smith-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Tigress Enterprises, Oceanavigations, Pyramidustries\\",\\"Tigress Enterprises, Oceanavigations, Pyramidustries\\",\\"Jun 21, 2019 @ 00:00:00.000\\",728845,\\"sold_product_728845_11691, sold_product_728845_23205, sold_product_728845_14170, sold_product_728845_8257\\",\\"sold_product_728845_11691, sold_product_728845_23205, sold_product_728845_14170, sold_product_728845_8257\\",\\"24.984, 65, 28.984, 13.992\\",\\"24.984, 65, 28.984, 13.992\\",\\"Women's Clothing, Women's Accessories, Women's Accessories, Women's Clothing\\",\\"Women's Clothing, Women's Accessories, Women's Accessories, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Tigress Enterprises, Oceanavigations, Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Oceanavigations, Tigress Enterprises, Pyramidustries\\",\\"13.492, 32.5, 13.047, 7.41\\",\\"24.984, 65, 28.984, 13.992\\",\\"11,691, 23,205, 14,170, 8,257\\",\\"Cape - grey multicolor, Handbag - black, Handbag - brown, Print T-shirt - dark grey\\",\\"Cape - grey multicolor, Handbag - black, Handbag - brown, Print T-shirt - dark grey\\",\\"1, 1, 1, 1\\",\\"ZO0082300823, ZO0306203062, ZO0094600946, ZO0158901589\\",\\"0, 0, 0, 0\\",\\"24.984, 65, 28.984, 13.992\\",\\"24.984, 65, 28.984, 13.992\\",\\"0, 0, 0, 0\\",\\"ZO0082300823, ZO0306203062, ZO0094600946, ZO0158901589\\",133,133,4,4,order,wilhemina +lQMtOW0BH63Xcmy45Wq4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Abd,Abd,\\"Abd Craig\\",\\"Abd Craig\\",MALE,52,Craig,Craig,\\"(empty)\\",Saturday,5,\\"abd@craig-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Microlutions, Oceanavigations\\",\\"Microlutions, Oceanavigations\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562723,\\"sold_product_562723_15183, sold_product_562723_15983\\",\\"sold_product_562723_15183, sold_product_562723_15983\\",\\"33, 24.984\\",\\"33, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Oceanavigations\\",\\"Microlutions, Oceanavigations\\",\\"16.5, 11.25\\",\\"33, 24.984\\",\\"15,183, 15,983\\",\\"Shirt - blue/off white, Shirt - grey/white\\",\\"Shirt - blue/off white, Shirt - grey/white\\",\\"1, 1\\",\\"ZO0109901099, ZO0277802778\\",\\"0, 0\\",\\"33, 24.984\\",\\"33, 24.984\\",\\"0, 0\\",\\"ZO0109901099, ZO0277802778\\",\\"57.969\\",\\"57.969\\",2,2,order,abd +lgMtOW0BH63Xcmy45Wq4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Oliver,Oliver,\\"Oliver Mullins\\",\\"Oliver Mullins\\",MALE,7,Mullins,Mullins,\\"(empty)\\",Saturday,5,\\"oliver@mullins-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562745,\\"sold_product_562745_12209, sold_product_562745_15674\\",\\"sold_product_562745_12209, sold_product_562745_15674\\",\\"22.984, 28.984\\",\\"22.984, 28.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"11.953, 14.211\\",\\"22.984, 28.984\\",\\"12,209, 15,674\\",\\"Hoodie - black/olive, Sweatshirt - black\\",\\"Hoodie - black/olive, Sweatshirt - black\\",\\"1, 1\\",\\"ZO0541905419, ZO0628306283\\",\\"0, 0\\",\\"22.984, 28.984\\",\\"22.984, 28.984\\",\\"0, 0\\",\\"ZO0541905419, ZO0628306283\\",\\"51.969\\",\\"51.969\\",2,2,order,oliver +lwMtOW0BH63Xcmy45Wq4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Robbie,Robbie,\\"Robbie Perry\\",\\"Robbie Perry\\",MALE,48,Perry,Perry,\\"(empty)\\",Saturday,5,\\"robbie@perry-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562763,\\"sold_product_562763_3029, sold_product_562763_23796\\",\\"sold_product_562763_3029, sold_product_562763_23796\\",\\"50, 18.984\\",\\"50, 18.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"22.5, 10.063\\",\\"50, 18.984\\",\\"3,029, 23,796\\",\\"Light jacket - dark blue, Long sleeved top - mid grey multicolor\\",\\"Light jacket - dark blue, Long sleeved top - mid grey multicolor\\",\\"1, 1\\",\\"ZO0428604286, ZO0119601196\\",\\"0, 0\\",\\"50, 18.984\\",\\"50, 18.984\\",\\"0, 0\\",\\"ZO0428604286, ZO0119601196\\",69,69,2,2,order,robbie +yAMtOW0BH63Xcmy45Wq4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Mostafa,Mostafa,\\"Mostafa Graham\\",\\"Mostafa Graham\\",MALE,9,Graham,Graham,\\"(empty)\\",Saturday,5,\\"mostafa@graham-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563604,\\"sold_product_563604_11391, sold_product_563604_13058\\",\\"sold_product_563604_11391, sold_product_563604_13058\\",\\"16.984, 60\\",\\"16.984, 60\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"9, 28.203\\",\\"16.984, 60\\",\\"11,391, 13,058\\",\\"Sweatshirt - mottled grey, Lace-ups - Midnight Blue\\",\\"Sweatshirt - mottled grey, Lace-ups - Midnight Blue\\",\\"1, 1\\",\\"ZO0588005880, ZO0388703887\\",\\"0, 0\\",\\"16.984, 60\\",\\"16.984, 60\\",\\"0, 0\\",\\"ZO0588005880, ZO0388703887\\",77,77,2,2,order,mostafa +7AMtOW0BH63Xcmy45Wq4,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories\\",\\"Women's Accessories\\",EUR,Elyssa,Elyssa,\\"Elyssa Mckenzie\\",\\"Elyssa Mckenzie\\",FEMALE,27,Mckenzie,Mckenzie,\\"(empty)\\",Saturday,5,\\"elyssa@mckenzie-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563867,\\"sold_product_563867_15363, sold_product_563867_23604\\",\\"sold_product_563867_15363, sold_product_563867_23604\\",\\"20.984, 13.992\\",\\"20.984, 13.992\\",\\"Women's Accessories, Women's Accessories\\",\\"Women's Accessories, Women's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"10.289, 6.719\\",\\"20.984, 13.992\\",\\"15,363, 23,604\\",\\"Across body bag - red , Across body bag - rose\\",\\"Across body bag - red , Across body bag - rose\\",\\"1, 1\\",\\"ZO0097300973, ZO0196301963\\",\\"0, 0\\",\\"20.984, 13.992\\",\\"20.984, 13.992\\",\\"0, 0\\",\\"ZO0097300973, ZO0196301963\\",\\"34.969\\",\\"34.969\\",2,2,order,elyssa +AQMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Clarice,Clarice,\\"Clarice Valdez\\",\\"Clarice Valdez\\",FEMALE,18,Valdez,Valdez,\\"(empty)\\",Saturday,5,\\"clarice@valdez-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563383,\\"sold_product_563383_21467, sold_product_563383_17467\\",\\"sold_product_563383_21467, sold_product_563383_17467\\",\\"60, 50\\",\\"60, 50\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"32.375, 26.484\\",\\"60, 50\\",\\"21,467, 17,467\\",\\"Lace-ups - black, Ankle boots - cognac\\",\\"Lace-ups - black, Ankle boots - cognac\\",\\"1, 1\\",\\"ZO0369103691, ZO0378603786\\",\\"0, 0\\",\\"60, 50\\",\\"60, 50\\",\\"0, 0\\",\\"ZO0369103691, ZO0378603786\\",110,110,2,2,order,clarice +AgMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Abd,Abd,\\"Abd Wood\\",\\"Abd Wood\\",MALE,52,Wood,Wood,\\"(empty)\\",Saturday,5,\\"abd@wood-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563218,\\"sold_product_563218_16231, sold_product_563218_18727\\",\\"sold_product_563218_16231, sold_product_563218_18727\\",\\"16.984, 10.992\\",\\"16.984, 10.992\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"9, 5.391\\",\\"16.984, 10.992\\",\\"16,231, 18,727\\",\\"Print T-shirt - bright white, Belt - cognac \\",\\"Print T-shirt - bright white, Belt - cognac \\",\\"1, 1\\",\\"ZO0120401204, ZO0598605986\\",\\"0, 0\\",\\"16.984, 10.992\\",\\"16.984, 10.992\\",\\"0, 0\\",\\"ZO0120401204, ZO0598605986\\",\\"27.984\\",\\"27.984\\",2,2,order,abd +TAMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Betty,Betty,\\"Betty Ramsey\\",\\"Betty Ramsey\\",FEMALE,44,Ramsey,Ramsey,\\"(empty)\\",Saturday,5,\\"betty@ramsey-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563554,\\"sold_product_563554_15671, sold_product_563554_13795\\",\\"sold_product_563554_15671, sold_product_563554_13795\\",\\"70, 33\\",\\"70, 33\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"31.5, 16.5\\",\\"70, 33\\",\\"15,671, 13,795\\",\\"Ankle boots - taupe, Trousers - navy\\",\\"Ankle boots - taupe, Trousers - navy\\",\\"1, 1\\",\\"ZO0246502465, ZO0032100321\\",\\"0, 0\\",\\"70, 33\\",\\"70, 33\\",\\"0, 0\\",\\"ZO0246502465, ZO0032100321\\",103,103,2,2,order,betty +wAMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,rania,rania,\\"rania Long\\",\\"rania Long\\",FEMALE,24,Long,Long,\\"(empty)\\",Saturday,5,\\"rania@long-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563023,\\"sold_product_563023_24484, sold_product_563023_21752\\",\\"sold_product_563023_24484, sold_product_563023_21752\\",\\"12.992, 13.992\\",\\"12.992, 13.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"6.879, 6.301\\",\\"12.992, 13.992\\",\\"24,484, 21,752\\",\\"Print T-shirt - black, Pencil skirt - dark grey multicolor\\",\\"Print T-shirt - black, Pencil skirt - dark grey multicolor\\",\\"1, 1\\",\\"ZO0055100551, ZO0149701497\\",\\"0, 0\\",\\"12.992, 13.992\\",\\"12.992, 13.992\\",\\"0, 0\\",\\"ZO0055100551, ZO0149701497\\",\\"26.984\\",\\"26.984\\",2,2,order,rani +wQMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Betty,Betty,\\"Betty Webb\\",\\"Betty Webb\\",FEMALE,44,Webb,Webb,\\"(empty)\\",Saturday,5,\\"betty@webb-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563060,\\"sold_product_563060_22520, sold_product_563060_22874\\",\\"sold_product_563060_22520, sold_product_563060_22874\\",\\"42, 42\\",\\"42, 42\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"22.672, 22.672\\",\\"42, 42\\",\\"22,520, 22,874\\",\\"Summer dress - black, Across body bag - black\\",\\"Summer dress - black, Across body bag - black\\",\\"1, 1\\",\\"ZO0040600406, ZO0356503565\\",\\"0, 0\\",\\"42, 42\\",\\"42, 42\\",\\"0, 0\\",\\"ZO0040600406, ZO0356503565\\",84,84,2,2,order,betty +wgMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Phil,Phil,\\"Phil Hudson\\",\\"Phil Hudson\\",MALE,50,Hudson,Hudson,\\"(empty)\\",Saturday,5,\\"phil@hudson-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563108,\\"sold_product_563108_13510, sold_product_563108_11051\\",\\"sold_product_563108_13510, sold_product_563108_11051\\",\\"50, 28.984\\",\\"50, 28.984\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"25.484, 13.344\\",\\"50, 28.984\\",\\"13,510, 11,051\\",\\"Waistcoat - dark blue, Across body bag - brown/brown\\",\\"Waistcoat - dark blue, Across body bag - brown/brown\\",\\"1, 1\\",\\"ZO0429604296, ZO0465204652\\",\\"0, 0\\",\\"50, 28.984\\",\\"50, 28.984\\",\\"0, 0\\",\\"ZO0429604296, ZO0465204652\\",79,79,2,2,order,phil +hAMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Selena,Selena,\\"Selena Richards\\",\\"Selena Richards\\",FEMALE,42,Richards,Richards,\\"(empty)\\",Saturday,5,\\"selena@richards-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563778,\\"sold_product_563778_15546, sold_product_563778_11477\\",\\"sold_product_563778_15546, sold_product_563778_11477\\",\\"16.984, 24.984\\",\\"16.984, 24.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"8.328, 11.25\\",\\"16.984, 24.984\\",\\"15,546, 11,477\\",\\"Sweatshirt - coral, Across body bag - cognac\\",\\"Sweatshirt - coral, Across body bag - cognac\\",\\"1, 1\\",\\"ZO0656606566, ZO0186001860\\",\\"0, 0\\",\\"16.984, 24.984\\",\\"16.984, 24.984\\",\\"0, 0\\",\\"ZO0656606566, ZO0186001860\\",\\"41.969\\",\\"41.969\\",2,2,order,selena +xwMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Cortez\\",\\"Gwen Cortez\\",FEMALE,26,Cortez,Cortez,\\"(empty)\\",Saturday,5,\\"gwen@cortez-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Spherecords, Champion Arts\\",\\"Spherecords, Champion Arts\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562705,\\"sold_product_562705_12529, sold_product_562705_22843\\",\\"sold_product_562705_12529, sold_product_562705_22843\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Champion Arts\\",\\"Spherecords, Champion Arts\\",\\"5.398, 12\\",\\"11.992, 24.984\\",\\"12,529, 22,843\\",\\"Jumpsuit - black, Shirt - black denim\\",\\"Jumpsuit - black, Shirt - black denim\\",\\"1, 1\\",\\"ZO0633106331, ZO0495904959\\",\\"0, 0\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"0, 0\\",\\"ZO0633106331, ZO0495904959\\",\\"36.969\\",\\"36.969\\",2,2,order,gwen +yAMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Phil,Phil,\\"Phil Sutton\\",\\"Phil Sutton\\",MALE,50,Sutton,Sutton,\\"(empty)\\",Saturday,5,\\"phil@sutton-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563639,\\"sold_product_563639_24934, sold_product_563639_3499\\",\\"sold_product_563639_24934, sold_product_563639_3499\\",\\"50, 60\\",\\"50, 60\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"22.5, 28.203\\",\\"50, 60\\",\\"24,934, 3,499\\",\\"Lace-up boots - resin coffee, Hardshell jacket - jet black\\",\\"Lace-up boots - resin coffee, Hardshell jacket - jet black\\",\\"1, 1\\",\\"ZO0403504035, ZO0623006230\\",\\"0, 0\\",\\"50, 60\\",\\"50, 60\\",\\"0, 0\\",\\"ZO0403504035, ZO0623006230\\",110,110,2,2,order,phil +yQMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Yasmine,Yasmine,\\"Yasmine Mcdonald\\",\\"Yasmine Mcdonald\\",FEMALE,43,Mcdonald,Mcdonald,\\"(empty)\\",Saturday,5,\\"yasmine@mcdonald-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563698,\\"sold_product_563698_23206, sold_product_563698_15645\\",\\"sold_product_563698_23206, sold_product_563698_15645\\",\\"33, 11.992\\",\\"33, 11.992\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"15.844, 6.109\\",\\"33, 11.992\\",\\"23,206, 15,645\\",\\"Cardigan - greymulticolor/black, Scarf - green\\",\\"Cardigan - greymulticolor/black, Scarf - green\\",\\"1, 1\\",\\"ZO0070800708, ZO0084100841\\",\\"0, 0\\",\\"33, 11.992\\",\\"33, 11.992\\",\\"0, 0\\",\\"ZO0070800708, ZO0084100841\\",\\"44.969\\",\\"44.969\\",2,2,order,yasmine +MwMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Abd,Abd,\\"Abd Banks\\",\\"Abd Banks\\",MALE,52,Banks,Banks,\\"(empty)\\",Saturday,5,\\"abd@banks-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Oceanavigations, Microlutions\\",\\"Elitelligence, Oceanavigations, Microlutions\\",\\"Jun 21, 2019 @ 00:00:00.000\\",714638,\\"sold_product_714638_14544, sold_product_714638_19885, sold_product_714638_13083, sold_product_714638_17585\\",\\"sold_product_714638_14544, sold_product_714638_19885, sold_product_714638_13083, sold_product_714638_17585\\",\\"28.984, 10.992, 24.984, 33\\",\\"28.984, 10.992, 24.984, 33\\",\\"Men's Clothing, Men's Accessories, Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Accessories, Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Elitelligence, Elitelligence, Oceanavigations, Microlutions\\",\\"Elitelligence, Elitelligence, Oceanavigations, Microlutions\\",\\"13.633, 5.93, 12.25, 17.484\\",\\"28.984, 10.992, 24.984, 33\\",\\"14,544, 19,885, 13,083, 17,585\\",\\"Jumper - black, Wallet - grey/cognac, Chinos - sand, Shirt - black denim\\",\\"Jumper - black, Wallet - grey/cognac, Chinos - sand, Shirt - black denim\\",\\"1, 1, 1, 1\\",\\"ZO0576205762, ZO0602006020, ZO0281502815, ZO0111001110\\",\\"0, 0, 0, 0\\",\\"28.984, 10.992, 24.984, 33\\",\\"28.984, 10.992, 24.984, 33\\",\\"0, 0, 0, 0\\",\\"ZO0576205762, ZO0602006020, ZO0281502815, ZO0111001110\\",\\"97.938\\",\\"97.938\\",4,4,order,abd +bAMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Lloyd\\",\\"Mostafa Lloyd\\",MALE,9,Lloyd,Lloyd,\\"(empty)\\",Saturday,5,\\"mostafa@lloyd-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563602,\\"sold_product_563602_11928, sold_product_563602_13191\\",\\"sold_product_563602_11928, sold_product_563602_13191\\",\\"22.984, 50\\",\\"22.984, 50\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"11.039, 25.984\\",\\"22.984, 50\\",\\"11,928, 13,191\\",\\"Casual lace-ups - black, SOLID - Summer jacket - royal blue\\",\\"Casual lace-ups - black, SOLID - Summer jacket - royal blue\\",\\"1, 1\\",\\"ZO0508705087, ZO0427804278\\",\\"0, 0\\",\\"22.984, 50\\",\\"22.984, 50\\",\\"0, 0\\",\\"ZO0508705087, ZO0427804278\\",73,73,2,2,order,mostafa +8gMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Munoz\\",\\"Sultan Al Munoz\\",MALE,19,Munoz,Munoz,\\"(empty)\\",Saturday,5,\\"sultan al@munoz-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563054,\\"sold_product_563054_11706, sold_product_563054_13408\\",\\"sold_product_563054_11706, sold_product_563054_13408\\",\\"100, 50\\",\\"100, 50\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"49, 23\\",\\"100, 50\\",\\"11,706, 13,408\\",\\"Weekend bag - dark brown, Cowboy/Biker boots - dark brown/tan\\",\\"Weekend bag - dark brown, Cowboy/Biker boots - dark brown/tan\\",\\"1, 1\\",\\"ZO0701907019, ZO0519405194\\",\\"0, 0\\",\\"100, 50\\",\\"100, 50\\",\\"0, 0\\",\\"ZO0701907019, ZO0519405194\\",150,150,2,2,order,sultan +8wMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Abd,Abd,\\"Abd Shaw\\",\\"Abd Shaw\\",MALE,52,Shaw,Shaw,\\"(empty)\\",Saturday,5,\\"abd@shaw-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563093,\\"sold_product_563093_18385, sold_product_563093_16783\\",\\"sold_product_563093_18385, sold_product_563093_16783\\",\\"7.988, 42\\",\\"7.988, 42\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"4.07, 20.156\\",\\"7.988, 42\\",\\"18,385, 16,783\\",\\"Basic T-shirt - dark grey multicolor, Weekend bag - black\\",\\"Basic T-shirt - dark grey multicolor, Weekend bag - black\\",\\"1, 1\\",\\"ZO0435004350, ZO0472104721\\",\\"0, 0\\",\\"7.988, 42\\",\\"7.988, 42\\",\\"0, 0\\",\\"ZO0435004350, ZO0472104721\\",\\"49.969\\",\\"49.969\\",2,2,order,abd +IQMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Pia,Pia,\\"Pia Ryan\\",\\"Pia Ryan\\",FEMALE,45,Ryan,Ryan,\\"(empty)\\",Saturday,5,\\"pia@ryan-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Gnomehouse, Spherecords\\",\\"Gnomehouse, Spherecords\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562875,\\"sold_product_562875_19166, sold_product_562875_21969\\",\\"sold_product_562875_19166, sold_product_562875_21969\\",\\"60, 7.988\\",\\"60, 7.988\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Spherecords\\",\\"Gnomehouse, Spherecords\\",\\"29.406, 3.68\\",\\"60, 7.988\\",\\"19,166, 21,969\\",\\"Cardigan - camel, Vest - bordeaux\\",\\"Cardigan - camel, Vest - bordeaux\\",\\"1, 1\\",\\"ZO0353003530, ZO0637006370\\",\\"0, 0\\",\\"60, 7.988\\",\\"60, 7.988\\",\\"0, 0\\",\\"ZO0353003530, ZO0637006370\\",68,68,2,2,order,pia +IgMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,Brigitte,Brigitte,\\"Brigitte Holland\\",\\"Brigitte Holland\\",FEMALE,12,Holland,Holland,\\"(empty)\\",Saturday,5,\\"brigitte@holland-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Primemaster, Pyramidustries\\",\\"Primemaster, Pyramidustries\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562914,\\"sold_product_562914_16495, sold_product_562914_16949\\",\\"sold_product_562914_16495, sold_product_562914_16949\\",\\"75, 13.992\\",\\"75, 13.992\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Primemaster, Pyramidustries\\",\\"Primemaster, Pyramidustries\\",\\"39.75, 6.859\\",\\"75, 13.992\\",\\"16,495, 16,949\\",\\"Sandals - nuvola, Scarf - bordeaux/mustard\\",\\"Sandals - nuvola, Scarf - bordeaux/mustard\\",\\"1, 1\\",\\"ZO0360503605, ZO0194501945\\",\\"0, 0\\",\\"75, 13.992\\",\\"75, 13.992\\",\\"0, 0\\",\\"ZO0360503605, ZO0194501945\\",89,89,2,2,order,brigitte +IwMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Brigitte,Brigitte,\\"Brigitte Bailey\\",\\"Brigitte Bailey\\",FEMALE,12,Bailey,Bailey,\\"(empty)\\",Saturday,5,\\"brigitte@bailey-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562654,\\"sold_product_562654_13316, sold_product_562654_13303\\",\\"sold_product_562654_13316, sold_product_562654_13303\\",\\"24.984, 10.992\\",\\"24.984, 10.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"12, 5.602\\",\\"24.984, 10.992\\",\\"13,316, 13,303\\",\\"Blouse - black, Print T-shirt - white\\",\\"Blouse - black, Print T-shirt - white\\",\\"1, 1\\",\\"ZO0065400654, ZO0158701587\\",\\"0, 0\\",\\"24.984, 10.992\\",\\"24.984, 10.992\\",\\"0, 0\\",\\"ZO0065400654, ZO0158701587\\",\\"35.969\\",\\"35.969\\",2,2,order,brigitte +JQMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Betty,Betty,\\"Betty Massey\\",\\"Betty Massey\\",FEMALE,44,Massey,Massey,\\"(empty)\\",Saturday,5,\\"betty@massey-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563860,\\"sold_product_563860_17204, sold_product_563860_5970\\",\\"sold_product_563860_17204, sold_product_563860_5970\\",\\"33, 33\\",\\"33, 33\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"17.156, 15.844\\",\\"33, 33\\",\\"17,204, 5,970\\",\\"Blouse - potent purple, Wedge boots - toffee\\",\\"Blouse - potent purple, Wedge boots - toffee\\",\\"1, 1\\",\\"ZO0344703447, ZO0031000310\\",\\"0, 0\\",\\"33, 33\\",\\"33, 33\\",\\"0, 0\\",\\"ZO0344703447, ZO0031000310\\",66,66,2,2,order,betty +JgMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Yasmine,Yasmine,\\"Yasmine Rivera\\",\\"Yasmine Rivera\\",FEMALE,43,Rivera,Rivera,\\"(empty)\\",Saturday,5,\\"yasmine@rivera-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563907,\\"sold_product_563907_11709, sold_product_563907_20859\\",\\"sold_product_563907_11709, sold_product_563907_20859\\",\\"20.984, 18.984\\",\\"20.984, 18.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"11.328, 10.063\\",\\"20.984, 18.984\\",\\"11,709, 20,859\\",\\"Jersey dress - black, Long sleeved top - navy\\",\\"Jersey dress - black, Long sleeved top - navy\\",\\"1, 1\\",\\"ZO0036700367, ZO0054300543\\",\\"0, 0\\",\\"20.984, 18.984\\",\\"20.984, 18.984\\",\\"0, 0\\",\\"ZO0036700367, ZO0054300543\\",\\"39.969\\",\\"39.969\\",2,2,order,yasmine +QQMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Youssef,Youssef,\\"Youssef Conner\\",\\"Youssef Conner\\",MALE,31,Conner,Conner,\\"(empty)\\",Saturday,5,\\"youssef@conner-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562833,\\"sold_product_562833_21511, sold_product_562833_14742\\",\\"sold_product_562833_21511, sold_product_562833_14742\\",\\"13.992, 33\\",\\"13.992, 33\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"7.41, 15.18\\",\\"13.992, 33\\",\\"21,511, 14,742\\",\\"3 PACK - Shorts - black, Laptop bag - brown\\",\\"3 PACK - Shorts - black, Laptop bag - brown\\",\\"1, 1\\",\\"ZO0610806108, ZO0316803168\\",\\"0, 0\\",\\"13.992, 33\\",\\"13.992, 33\\",\\"0, 0\\",\\"ZO0610806108, ZO0316803168\\",\\"46.969\\",\\"46.969\\",2,2,order,youssef +QgMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Abd,Abd,\\"Abd Soto\\",\\"Abd Soto\\",MALE,52,Soto,Soto,\\"(empty)\\",Saturday,5,\\"abd@soto-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562899,\\"sold_product_562899_21057, sold_product_562899_13717\\",\\"sold_product_562899_21057, sold_product_562899_13717\\",\\"13.992, 28.984\\",\\"13.992, 28.984\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"6.859, 15.359\\",\\"13.992, 28.984\\",\\"21,057, 13,717\\",\\"Scarf - navy/grey, Tracksuit top - blue\\",\\"Scarf - navy/grey, Tracksuit top - blue\\",\\"1, 1\\",\\"ZO0313403134, ZO0587105871\\",\\"0, 0\\",\\"13.992, 28.984\\",\\"13.992, 28.984\\",\\"0, 0\\",\\"ZO0313403134, ZO0587105871\\",\\"42.969\\",\\"42.969\\",2,2,order,abd +QwMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,\\"Ahmed Al\\",\\"Ahmed Al\\",\\"Ahmed Al Soto\\",\\"Ahmed Al Soto\\",MALE,4,Soto,Soto,\\"(empty)\\",Saturday,5,\\"ahmed al@soto-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Elitelligence, Spherecords\\",\\"Elitelligence, Spherecords\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562665,\\"sold_product_562665_15130, sold_product_562665_14446\\",\\"sold_product_562665_15130, sold_product_562665_14446\\",\\"11.992, 8.992\\",\\"11.992, 8.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Spherecords\\",\\"Elitelligence, Spherecords\\",\\"6.469, 4.578\\",\\"11.992, 8.992\\",\\"15,130, 14,446\\",\\"Long sleeved top - white, 5 PACK - Socks - dark grey\\",\\"Long sleeved top - white, 5 PACK - Socks - dark grey\\",\\"1, 1\\",\\"ZO0569205692, ZO0664006640\\",\\"0, 0\\",\\"11.992, 8.992\\",\\"11.992, 8.992\\",\\"0, 0\\",\\"ZO0569205692, ZO0664006640\\",\\"20.984\\",\\"20.984\\",2,2,order,ahmed +RwMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Mostafa,Mostafa,\\"Mostafa Clayton\\",\\"Mostafa Clayton\\",MALE,9,Clayton,Clayton,\\"(empty)\\",Saturday,5,\\"mostafa@clayton-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563579,\\"sold_product_563579_12028, sold_product_563579_14742\\",\\"sold_product_563579_12028, sold_product_563579_14742\\",\\"7.988, 33\\",\\"7.988, 33\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"3.92, 15.18\\",\\"7.988, 33\\",\\"12,028, 14,742\\",\\"Vest - light blue multicolor, Laptop bag - brown\\",\\"Vest - light blue multicolor, Laptop bag - brown\\",\\"1, 1\\",\\"ZO0548905489, ZO0316803168\\",\\"0, 0\\",\\"7.988, 33\\",\\"7.988, 33\\",\\"0, 0\\",\\"ZO0548905489, ZO0316803168\\",\\"40.969\\",\\"40.969\\",2,2,order,mostafa +SAMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Chandler\\",\\"Elyssa Chandler\\",FEMALE,27,Chandler,Chandler,\\"(empty)\\",Saturday,5,\\"elyssa@chandler-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media, Tigress Enterprises\\",\\"Low Tide Media, Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563119,\\"sold_product_563119_22794, sold_product_563119_23300\\",\\"sold_product_563119_22794, sold_product_563119_23300\\",\\"100, 35\\",\\"100, 35\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Tigress Enterprises\\",\\"Low Tide Media, Tigress Enterprises\\",\\"46, 16.453\\",\\"100, 35\\",\\"22,794, 23,300\\",\\"Boots - Midnight Blue, Shift dress - black\\",\\"Boots - Midnight Blue, Shift dress - black\\",\\"1, 1\\",\\"ZO0374603746, ZO0041300413\\",\\"0, 0\\",\\"100, 35\\",\\"100, 35\\",\\"0, 0\\",\\"ZO0374603746, ZO0041300413\\",135,135,2,2,order,elyssa +SQMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Women's Accessories\\",\\"Men's Accessories, Women's Accessories\\",EUR,Recip,Recip,\\"Recip Gilbert\\",\\"Recip Gilbert\\",MALE,10,Gilbert,Gilbert,\\"(empty)\\",Saturday,5,\\"recip@gilbert-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,Elitelligence,Elitelligence,\\"Jun 21, 2019 @ 00:00:00.000\\",563152,\\"sold_product_563152_22166, sold_product_563152_14897\\",\\"sold_product_563152_22166, sold_product_563152_14897\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"Men's Accessories, Women's Accessories\\",\\"Men's Accessories, Women's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"6.469, 12.992\\",\\"11.992, 24.984\\",\\"22,166, 14,897\\",\\"Scarf - navy/turqoise, Rucksack - olive \\",\\"Scarf - navy/turqoise, Rucksack - olive \\",\\"1, 1\\",\\"ZO0603606036, ZO0608206082\\",\\"0, 0\\",\\"11.992, 24.984\\",\\"11.992, 24.984\\",\\"0, 0\\",\\"ZO0603606036, ZO0608206082\\",\\"36.969\\",\\"36.969\\",2,2,order,recip +dwMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Chandler\\",\\"Wilhemina St. Chandler\\",FEMALE,17,Chandler,Chandler,\\"(empty)\\",Saturday,5,\\"wilhemina st.@chandler-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",725079,\\"sold_product_725079_18356, sold_product_725079_16691, sold_product_725079_9233, sold_product_725079_13733\\",\\"sold_product_725079_18356, sold_product_725079_16691, sold_product_725079_9233, sold_product_725079_13733\\",\\"10.992, 20.984, 42, 14.992\\",\\"10.992, 20.984, 42, 14.992\\",\\"Women's Clothing, Women's Accessories, Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories, Women's Clothing, Women's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Spherecords, Tigress Enterprises, Tigress Enterprises, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises, Tigress Enterprises, Tigress Enterprises\\",\\"5.391, 10.492, 22.672, 7.641\\",\\"10.992, 20.984, 42, 14.992\\",\\"18,356, 16,691, 9,233, 13,733\\",\\"2 PACK - Vest - white/white, Across body bag - black, Jumper - grey multicolor, Scarf - mint\\",\\"2 PACK - Vest - white/white, Across body bag - black, Jumper - grey multicolor, Scarf - mint\\",\\"1, 1, 1, 1\\",\\"ZO0641506415, ZO0086200862, ZO0071500715, ZO0085700857\\",\\"0, 0, 0, 0\\",\\"10.992, 20.984, 42, 14.992\\",\\"10.992, 20.984, 42, 14.992\\",\\"0, 0, 0, 0\\",\\"ZO0641506415, ZO0086200862, ZO0071500715, ZO0085700857\\",\\"88.938\\",\\"88.938\\",4,4,order,wilhemina +kQMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Robbie,Robbie,\\"Robbie Harvey\\",\\"Robbie Harvey\\",MALE,48,Harvey,Harvey,\\"(empty)\\",Saturday,5,\\"robbie@harvey-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563736,\\"sold_product_563736_22302, sold_product_563736_14502\\",\\"sold_product_563736_22302, sold_product_563736_14502\\",\\"28.984, 15.992\\",\\"28.984, 15.992\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"13.633, 7.84\\",\\"28.984, 15.992\\",\\"22,302, 14,502\\",\\"Shirt - white, Belt - black\\",\\"Shirt - white, Belt - black\\",\\"1, 1\\",\\"ZO0415604156, ZO0461704617\\",\\"0, 0\\",\\"28.984, 15.992\\",\\"28.984, 15.992\\",\\"0, 0\\",\\"ZO0415604156, ZO0461704617\\",\\"44.969\\",\\"44.969\\",2,2,order,robbie +kgMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Stephanie,Stephanie,\\"Stephanie Bryant\\",\\"Stephanie Bryant\\",FEMALE,6,Bryant,Bryant,\\"(empty)\\",Saturday,5,\\"stephanie@bryant-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563761,\\"sold_product_563761_13657, sold_product_563761_15397\\",\\"sold_product_563761_13657, sold_product_563761_15397\\",\\"33, 42\\",\\"33, 42\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"15.844, 20.156\\",\\"33, 42\\",\\"13,657, 15,397\\",\\"Tote bag - black, A-line skirt - coronet blue\\",\\"Tote bag - black, A-line skirt - coronet blue\\",\\"1, 1\\",\\"ZO0087700877, ZO0330603306\\",\\"0, 0\\",\\"33, 42\\",\\"33, 42\\",\\"0, 0\\",\\"ZO0087700877, ZO0330603306\\",75,75,2,2,order,stephanie +kwMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Jackson\\",\\"Gwen Jackson\\",FEMALE,26,Jackson,Jackson,\\"(empty)\\",Saturday,5,\\"gwen@jackson-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Oceanavigations, Pyramidustries\\",\\"Oceanavigations, Pyramidustries\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563800,\\"sold_product_563800_19249, sold_product_563800_20352\\",\\"sold_product_563800_19249, sold_product_563800_20352\\",\\"85, 11.992\\",\\"85, 11.992\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Pyramidustries\\",\\"Oceanavigations, Pyramidustries\\",\\"41.656, 6\\",\\"85, 11.992\\",\\"19,249, 20,352\\",\\"Handbag - black, Vest - red\\",\\"Handbag - black, Vest - red\\",\\"1, 1\\",\\"ZO0307303073, ZO0161601616\\",\\"0, 0\\",\\"85, 11.992\\",\\"85, 11.992\\",\\"0, 0\\",\\"ZO0307303073, ZO0161601616\\",97,97,2,2,order,gwen +\\"-AMtOW0BH63Xcmy4524Z\\",ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Eddie,Eddie,\\"Eddie Austin\\",\\"Eddie Austin\\",MALE,38,Austin,Austin,\\"(empty)\\",Saturday,5,\\"eddie@austin-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",Oceanavigations,Oceanavigations,\\"Jun 21, 2019 @ 00:00:00.000\\",563822,\\"sold_product_563822_13869, sold_product_563822_12632\\",\\"sold_product_563822_13869, sold_product_563822_12632\\",\\"13.992, 50\\",\\"13.992, 50\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"6.859, 26.484\\",\\"13.992, 50\\",\\"13,869, 12,632\\",\\"Tie - black, Down jacket - black\\",\\"Tie - black, Down jacket - black\\",\\"1, 1\\",\\"ZO0277402774, ZO0288502885\\",\\"0, 0\\",\\"13.992, 50\\",\\"13.992, 50\\",\\"0, 0\\",\\"ZO0277402774, ZO0288502885\\",\\"63.969\\",\\"63.969\\",2,2,order,eddie +GQMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Oliver,Oliver,\\"Oliver Hansen\\",\\"Oliver Hansen\\",MALE,7,Hansen,Hansen,\\"(empty)\\",Saturday,5,\\"oliver@hansen-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562948,\\"sold_product_562948_23445, sold_product_562948_17355\\",\\"sold_product_562948_23445, sold_product_562948_17355\\",\\"28.984, 7.988\\",\\"28.984, 7.988\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"13.633, 4\\",\\"28.984, 7.988\\",\\"23,445, 17,355\\",\\"Chinos - navy, Print T-shirt - white\\",\\"Chinos - navy, Print T-shirt - white\\",\\"1, 1\\",\\"ZO0282102821, ZO0554405544\\",\\"0, 0\\",\\"28.984, 7.988\\",\\"28.984, 7.988\\",\\"0, 0\\",\\"ZO0282102821, ZO0554405544\\",\\"36.969\\",\\"36.969\\",2,2,order,oliver +GgMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Frances,Frances,\\"Frances Moran\\",\\"Frances Moran\\",FEMALE,49,Moran,Moran,\\"(empty)\\",Saturday,5,\\"frances@moran-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562993,\\"sold_product_562993_17227, sold_product_562993_17918\\",\\"sold_product_562993_17227, sold_product_562993_17918\\",\\"60, 11.992\\",\\"60, 11.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"27.594, 6.23\\",\\"60, 11.992\\",\\"17,227, 17,918\\",\\"Trainers - bianco, Basic T-shirt - lilac\\",\\"Trainers - bianco, Basic T-shirt - lilac\\",\\"1, 1\\",\\"ZO0255202552, ZO0560005600\\",\\"0, 0\\",\\"60, 11.992\\",\\"60, 11.992\\",\\"0, 0\\",\\"ZO0255202552, ZO0560005600\\",72,72,2,2,order,frances +HAMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Sonya,Sonya,\\"Sonya Morrison\\",\\"Sonya Morrison\\",FEMALE,28,Morrison,Morrison,\\"(empty)\\",Saturday,5,\\"sonya@morrison-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562585,\\"sold_product_562585_16665, sold_product_562585_8623\\",\\"sold_product_562585_16665, sold_product_562585_8623\\",\\"20.984, 17.984\\",\\"20.984, 17.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"11.539, 8.102\\",\\"20.984, 17.984\\",\\"16,665, 8,623\\",\\"Vest - black, Long sleeved top - red ochre\\",\\"Vest - black, Long sleeved top - red ochre\\",\\"1, 1\\",\\"ZO0063800638, ZO0165301653\\",\\"0, 0\\",\\"20.984, 17.984\\",\\"20.984, 17.984\\",\\"0, 0\\",\\"ZO0063800638, ZO0165301653\\",\\"38.969\\",\\"38.969\\",2,2,order,sonya +HQMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Diane,Diane,\\"Diane Ball\\",\\"Diane Ball\\",FEMALE,22,Ball,Ball,\\"(empty)\\",Saturday,5,\\"diane@ball-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Oceanavigations, Angeldale\\",\\"Oceanavigations, Angeldale\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563326,\\"sold_product_563326_22030, sold_product_563326_23066\\",\\"sold_product_563326_22030, sold_product_563326_23066\\",\\"42, 85\\",\\"42, 85\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Angeldale\\",\\"Oceanavigations, Angeldale\\",\\"21.406, 44.188\\",\\"42, 85\\",\\"22,030, 23,066\\",\\"Blouse - black, Lace-up boots - black\\",\\"Blouse - black, Lace-up boots - black\\",\\"1, 1\\",\\"ZO0266702667, ZO0680306803\\",\\"0, 0\\",\\"42, 85\\",\\"42, 85\\",\\"0, 0\\",\\"ZO0266702667, ZO0680306803\\",127,127,2,2,order,diane +JQMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Stephanie,Stephanie,\\"Stephanie Fletcher\\",\\"Stephanie Fletcher\\",FEMALE,6,Fletcher,Fletcher,\\"(empty)\\",Saturday,5,\\"stephanie@fletcher-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Spherecords Curvy, Tigress Enterprises\\",\\"Spherecords Curvy, Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563755,\\"sold_product_563755_13226, sold_product_563755_12114\\",\\"sold_product_563755_13226, sold_product_563755_12114\\",\\"16.984, 29.984\\",\\"16.984, 29.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords Curvy, Tigress Enterprises\\",\\"Spherecords Curvy, Tigress Enterprises\\",\\"8.828, 16.188\\",\\"16.984, 29.984\\",\\"13,226, 12,114\\",\\"Blouse - offwhite, Jersey dress - black/white\\",\\"Blouse - offwhite, Jersey dress - black/white\\",\\"1, 1\\",\\"ZO0710707107, ZO0038300383\\",\\"0, 0\\",\\"16.984, 29.984\\",\\"16.984, 29.984\\",\\"0, 0\\",\\"ZO0710707107, ZO0038300383\\",\\"46.969\\",\\"46.969\\",2,2,order,stephanie +TwMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories, Men's Shoes\\",\\"Men's Clothing, Men's Accessories, Men's Shoes\\",EUR,Abd,Abd,\\"Abd Hopkins\\",\\"Abd Hopkins\\",MALE,52,Hopkins,Hopkins,\\"(empty)\\",Saturday,5,\\"abd@hopkins-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Oceanavigations, Spherecords\\",\\"Low Tide Media, Oceanavigations, Spherecords\\",\\"Jun 21, 2019 @ 00:00:00.000\\",715450,\\"sold_product_715450_13559, sold_product_715450_21852, sold_product_715450_16570, sold_product_715450_11336\\",\\"sold_product_715450_13559, sold_product_715450_21852, sold_product_715450_16570, sold_product_715450_11336\\",\\"13.992, 20.984, 65, 10.992\\",\\"13.992, 20.984, 65, 10.992\\",\\"Men's Clothing, Men's Accessories, Men's Shoes, Men's Clothing\\",\\"Men's Clothing, Men's Accessories, Men's Shoes, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Low Tide Media, Low Tide Media, Oceanavigations, Spherecords\\",\\"Low Tide Media, Low Tide Media, Oceanavigations, Spherecords\\",\\"6.441, 10.078, 31.844, 5.059\\",\\"13.992, 20.984, 65, 10.992\\",\\"13,559, 21,852, 16,570, 11,336\\",\\"3 PACK - Shorts - light blue/dark blue/white, Wallet - brown, Boots - navy, Long sleeved top - white/black\\",\\"3 PACK - Shorts - light blue/dark blue/white, Wallet - brown, Boots - navy, Long sleeved top - white/black\\",\\"1, 1, 1, 1\\",\\"ZO0476604766, ZO0462404624, ZO0258302583, ZO0658206582\\",\\"0, 0, 0, 0\\",\\"13.992, 20.984, 65, 10.992\\",\\"13.992, 20.984, 65, 10.992\\",\\"0, 0, 0, 0\\",\\"ZO0476604766, ZO0462404624, ZO0258302583, ZO0658206582\\",\\"110.938\\",\\"110.938\\",4,4,order,abd +dgMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Boone\\",\\"Abdulraheem Al Boone\\",MALE,33,Boone,Boone,\\"(empty)\\",Saturday,5,\\"abdulraheem al@boone-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",Oceanavigations,Oceanavigations,\\"Jun 21, 2019 @ 00:00:00.000\\",563181,\\"sold_product_563181_15447, sold_product_563181_19692\\",\\"sold_product_563181_15447, sold_product_563181_19692\\",\\"50, 13.992\\",\\"50, 13.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"24.5, 6.859\\",\\"50, 13.992\\",\\"15,447, 19,692\\",\\"Suit jacket - grey, Print T-shirt - black\\",\\"Suit jacket - grey, Print T-shirt - black\\",\\"1, 1\\",\\"ZO0274902749, ZO0293902939\\",\\"0, 0\\",\\"50, 13.992\\",\\"50, 13.992\\",\\"0, 0\\",\\"ZO0274902749, ZO0293902939\\",\\"63.969\\",\\"63.969\\",2,2,order,abdulraheem +jQMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Diane,Diane,\\"Diane Graves\\",\\"Diane Graves\\",FEMALE,22,Graves,Graves,\\"(empty)\\",Saturday,5,\\"diane@graves-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563131,\\"sold_product_563131_15426, sold_product_563131_21432\\",\\"sold_product_563131_15426, sold_product_563131_21432\\",\\"75, 20.984\\",\\"75, 20.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"39, 11.539\\",\\"75, 20.984\\",\\"15,426, 21,432\\",\\"Cowboy/Biker boots - black, Blouse - peacoat\\",\\"Cowboy/Biker boots - black, Blouse - peacoat\\",\\"1, 1\\",\\"ZO0326803268, ZO0059600596\\",\\"0, 0\\",\\"75, 20.984\\",\\"75, 20.984\\",\\"0, 0\\",\\"ZO0326803268, ZO0059600596\\",96,96,2,2,order,diane +0gMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Selena,Selena,\\"Selena Wood\\",\\"Selena Wood\\",FEMALE,42,Wood,Wood,\\"(empty)\\",Saturday,5,\\"selena@wood-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Tigress Enterprises, Champion Arts\\",\\"Tigress Enterprises, Champion Arts\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563254,\\"sold_product_563254_23719, sold_product_563254_11095\\",\\"sold_product_563254_23719, sold_product_563254_11095\\",\\"28.984, 20.984\\",\\"28.984, 20.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Champion Arts\\",\\"Tigress Enterprises, Champion Arts\\",\\"13.922, 9.867\\",\\"28.984, 20.984\\",\\"23,719, 11,095\\",\\"Jersey dress - peacoat, Tracksuit top - pink multicolor\\",\\"Jersey dress - peacoat, Tracksuit top - pink multicolor\\",\\"1, 1\\",\\"ZO0052100521, ZO0498804988\\",\\"0, 0\\",\\"28.984, 20.984\\",\\"28.984, 20.984\\",\\"0, 0\\",\\"ZO0052100521, ZO0498804988\\",\\"49.969\\",\\"49.969\\",2,2,order,selena +OQMtOW0BH63Xcmy453AZ,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Brigitte,Brigitte,\\"Brigitte Tran\\",\\"Brigitte Tran\\",FEMALE,12,Tran,Tran,\\"(empty)\\",Saturday,5,\\"brigitte@tran-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries, Oceanavigations\\",\\"Pyramidustries, Oceanavigations\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563573,\\"sold_product_563573_22735, sold_product_563573_23822\\",\\"sold_product_563573_22735, sold_product_563573_23822\\",\\"24.984, 60\\",\\"24.984, 60\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Oceanavigations\\",\\"Pyramidustries, Oceanavigations\\",\\"13.742, 32.375\\",\\"24.984, 60\\",\\"22,735, 23,822\\",\\"Platform heels - black, Sandals - Midnight Blue\\",\\"Platform heels - black, Sandals - Midnight Blue\\",\\"1, 1\\",\\"ZO0132601326, ZO0243002430\\",\\"0, 0\\",\\"24.984, 60\\",\\"24.984, 60\\",\\"0, 0\\",\\"ZO0132601326, ZO0243002430\\",85,85,2,2,order,brigitte +VwMtOW0BH63Xcmy453AZ,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Thad,Thad,\\"Thad Chapman\\",\\"Thad Chapman\\",MALE,30,Chapman,Chapman,\\"(empty)\\",Saturday,5,\\"thad@chapman-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562699,\\"sold_product_562699_24934, sold_product_562699_20799\\",\\"sold_product_562699_24934, sold_product_562699_20799\\",\\"50, 14.992\\",\\"50, 14.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"22.5, 7.5\\",\\"50, 14.992\\",\\"24,934, 20,799\\",\\"Lace-up boots - resin coffee, Long sleeved top - white/black\\",\\"Lace-up boots - resin coffee, Long sleeved top - white/black\\",\\"1, 1\\",\\"ZO0403504035, ZO0558905589\\",\\"0, 0\\",\\"50, 14.992\\",\\"50, 14.992\\",\\"0, 0\\",\\"ZO0403504035, ZO0558905589\\",65,65,2,2,order,thad +WAMtOW0BH63Xcmy453AZ,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories\\",\\"Men's Accessories\\",EUR,Tariq,Tariq,\\"Tariq Rivera\\",\\"Tariq Rivera\\",MALE,25,Rivera,Rivera,\\"(empty)\\",Saturday,5,\\"tariq@rivera-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563644,\\"sold_product_563644_20541, sold_product_563644_14121\\",\\"sold_product_563644_20541, sold_product_563644_14121\\",\\"90, 17.984\\",\\"90, 17.984\\",\\"Men's Accessories, Men's Accessories\\",\\"Men's Accessories, Men's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"44.094, 9.172\\",\\"90, 17.984\\",\\"20,541, 14,121\\",\\"Laptop bag - Dark Sea Green, Watch - grey\\",\\"Laptop bag - Dark Sea Green, Watch - grey\\",\\"1, 1\\",\\"ZO0470104701, ZO0600506005\\",\\"0, 0\\",\\"90, 17.984\\",\\"90, 17.984\\",\\"0, 0\\",\\"ZO0470104701, ZO0600506005\\",108,108,2,2,order,tariq +WQMtOW0BH63Xcmy453AZ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Eddie,Eddie,\\"Eddie Davidson\\",\\"Eddie Davidson\\",MALE,38,Davidson,Davidson,\\"(empty)\\",Saturday,5,\\"eddie@davidson-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563701,\\"sold_product_563701_20743, sold_product_563701_23294\\",\\"sold_product_563701_20743, sold_product_563701_23294\\",\\"24.984, 28.984\\",\\"24.984, 28.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"11.75, 15.938\\",\\"24.984, 28.984\\",\\"20,743, 23,294\\",\\"Slim fit jeans - grey, Tracksuit bottoms - dark blue\\",\\"Slim fit jeans - grey, Tracksuit bottoms - dark blue\\",\\"1, 1\\",\\"ZO0536305363, ZO0282702827\\",\\"0, 0\\",\\"24.984, 28.984\\",\\"24.984, 28.984\\",\\"0, 0\\",\\"ZO0536305363, ZO0282702827\\",\\"53.969\\",\\"53.969\\",2,2,order,eddie +ZQMtOW0BH63Xcmy453AZ,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,\\"Ahmed Al\\",\\"Ahmed Al\\",\\"Ahmed Al Frank\\",\\"Ahmed Al Frank\\",MALE,4,Frank,Frank,\\"(empty)\\",Saturday,5,\\"ahmed al@frank-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562817,\\"sold_product_562817_1438, sold_product_562817_22804\\",\\"sold_product_562817_1438, sold_product_562817_22804\\",\\"60, 29.984\\",\\"60, 29.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"32.375, 15.891\\",\\"60, 29.984\\",\\"1,438, 22,804\\",\\"Trainers - black, Bomber Jacket - navy\\",\\"Trainers - black, Bomber Jacket - navy\\",\\"1, 1\\",\\"ZO0254702547, ZO0457804578\\",\\"0, 0\\",\\"60, 29.984\\",\\"60, 29.984\\",\\"0, 0\\",\\"ZO0254702547, ZO0457804578\\",90,90,2,2,order,ahmed +ZgMtOW0BH63Xcmy453AZ,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Stephanie,Stephanie,\\"Stephanie Stokes\\",\\"Stephanie Stokes\\",FEMALE,6,Stokes,Stokes,\\"(empty)\\",Saturday,5,\\"stephanie@stokes-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562881,\\"sold_product_562881_20244, sold_product_562881_21108\\",\\"sold_product_562881_20244, sold_product_562881_21108\\",\\"28.984, 9.992\\",\\"28.984, 9.992\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"15.359, 5\\",\\"28.984, 9.992\\",\\"20,244, 21,108\\",\\"Handbag - black, Jersey dress - black\\",\\"Handbag - black, Jersey dress - black\\",\\"1, 1\\",\\"ZO0091700917, ZO0635406354\\",\\"0, 0\\",\\"28.984, 9.992\\",\\"28.984, 9.992\\",\\"0, 0\\",\\"ZO0091700917, ZO0635406354\\",\\"38.969\\",\\"38.969\\",2,2,order,stephanie +ZwMtOW0BH63Xcmy453AZ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Brigitte,Brigitte,\\"Brigitte Sherman\\",\\"Brigitte Sherman\\",FEMALE,12,Sherman,Sherman,\\"(empty)\\",Saturday,5,\\"brigitte@sherman-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562630,\\"sold_product_562630_18015, sold_product_562630_15858\\",\\"sold_product_562630_18015, sold_product_562630_15858\\",\\"60, 24.984\\",\\"60, 24.984\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"30, 13.492\\",\\"60, 24.984\\",\\"18,015, 15,858\\",\\"Summer dress - blue fog, Slip-ons - gold\\",\\"Summer dress - blue fog, Slip-ons - gold\\",\\"1, 1\\",\\"ZO0339803398, ZO0009700097\\",\\"0, 0\\",\\"60, 24.984\\",\\"60, 24.984\\",\\"0, 0\\",\\"ZO0339803398, ZO0009700097\\",85,85,2,2,order,brigitte +aAMtOW0BH63Xcmy453AZ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Hicham,Hicham,\\"Hicham Hudson\\",\\"Hicham Hudson\\",MALE,8,Hudson,Hudson,\\"(empty)\\",Saturday,5,\\"hicham@hudson-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Spherecords, Elitelligence\\",\\"Spherecords, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562667,\\"sold_product_562667_21772, sold_product_562667_1559\\",\\"sold_product_562667_21772, sold_product_562667_1559\\",\\"8.992, 33\\",\\"8.992, 33\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Elitelligence\\",\\"Spherecords, Elitelligence\\",\\"4.672, 17.813\\",\\"8.992, 33\\",\\"21,772, 1,559\\",\\"3 PACK - Socks - white, Lace-ups - light brown\\",\\"3 PACK - Socks - white, Lace-ups - light brown\\",\\"1, 1\\",\\"ZO0664706647, ZO0506005060\\",\\"0, 0\\",\\"8.992, 33\\",\\"8.992, 33\\",\\"0, 0\\",\\"ZO0664706647, ZO0506005060\\",\\"41.969\\",\\"41.969\\",2,2,order,hicham +jQMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Abd,Abd,\\"Abd Palmer\\",\\"Abd Palmer\\",MALE,52,Palmer,Palmer,\\"(empty)\\",Saturday,5,\\"abd@palmer-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563342,\\"sold_product_563342_24934, sold_product_563342_21049\\",\\"sold_product_563342_24934, sold_product_563342_21049\\",\\"50, 14.992\\",\\"50, 14.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"22.5, 7.941\\",\\"50, 14.992\\",\\"24,934, 21,049\\",\\"Lace-up boots - resin coffee, Print T-shirt - dark grey\\",\\"Lace-up boots - resin coffee, Print T-shirt - dark grey\\",\\"1, 1\\",\\"ZO0403504035, ZO0121101211\\",\\"0, 0\\",\\"50, 14.992\\",\\"50, 14.992\\",\\"0, 0\\",\\"ZO0403504035, ZO0121101211\\",65,65,2,2,order,abd +mgMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Hansen\\",\\"Jackson Hansen\\",MALE,13,Hansen,Hansen,\\"(empty)\\",Saturday,5,\\"jackson@hansen-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563366,\\"sold_product_563366_13189, sold_product_563366_18905\\",\\"sold_product_563366_13189, sold_product_563366_18905\\",\\"33, 42\\",\\"33, 42\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"17.156, 20.156\\",\\"33, 42\\",\\"13,189, 18,905\\",\\"Smart lace-ups - black , Light jacket - khaki\\",\\"Smart lace-ups - black , Light jacket - khaki\\",\\"1, 1\\",\\"ZO0388103881, ZO0540005400\\",\\"0, 0\\",\\"33, 42\\",\\"33, 42\\",\\"0, 0\\",\\"ZO0388103881, ZO0540005400\\",75,75,2,2,order,jackson +oAMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Recip,Recip,\\"Recip Webb\\",\\"Recip Webb\\",MALE,10,Webb,Webb,\\"(empty)\\",Saturday,5,\\"recip@webb-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562919,\\"sold_product_562919_24934, sold_product_562919_22599\\",\\"sold_product_562919_24934, sold_product_562919_22599\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"22.5, 11.5\\",\\"50, 24.984\\",\\"24,934, 22,599\\",\\"Lace-up boots - resin coffee, Sweatshirt - black\\",\\"Lace-up boots - resin coffee, Sweatshirt - black\\",\\"1, 1\\",\\"ZO0403504035, ZO0595005950\\",\\"0, 0\\",\\"50, 24.984\\",\\"50, 24.984\\",\\"0, 0\\",\\"ZO0403504035, ZO0595005950\\",75,75,2,2,order,recip +oQMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Hicham,Hicham,\\"Hicham Sutton\\",\\"Hicham Sutton\\",MALE,8,Sutton,Sutton,\\"(empty)\\",Saturday,5,\\"hicham@sutton-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562976,\\"sold_product_562976_23426, sold_product_562976_1978\\",\\"sold_product_562976_23426, sold_product_562976_1978\\",\\"33, 50\\",\\"33, 50\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"16.813, 27.484\\",\\"33, 50\\",\\"23,426, 1,978\\",\\"Slim fit jeans - navy coated , Lace-up boots - black\\",\\"Slim fit jeans - navy coated , Lace-up boots - black\\",\\"1, 1\\",\\"ZO0426904269, ZO0520305203\\",\\"0, 0\\",\\"33, 50\\",\\"33, 50\\",\\"0, 0\\",\\"ZO0426904269, ZO0520305203\\",83,83,2,2,order,hicham +sgMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Barber\\",\\"Elyssa Barber\\",FEMALE,27,Barber,Barber,\\"(empty)\\",Saturday,5,\\"elyssa@barber-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563371,\\"sold_product_563371_16009, sold_product_563371_24465\\",\\"sold_product_563371_16009, sold_product_563371_24465\\",\\"30.984, 24.984\\",\\"30.984, 24.984\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"16.734, 11.5\\",\\"30.984, 24.984\\",\\"16,009, 24,465\\",\\"Handbag - black, Cowboy/Biker boots - black\\",\\"Handbag - black, Cowboy/Biker boots - black\\",\\"1, 1\\",\\"ZO0097500975, ZO0017100171\\",\\"0, 0\\",\\"30.984, 24.984\\",\\"30.984, 24.984\\",\\"0, 0\\",\\"ZO0097500975, ZO0017100171\\",\\"55.969\\",\\"55.969\\",2,2,order,elyssa +1wMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Oliver,Oliver,\\"Oliver Graves\\",\\"Oliver Graves\\",MALE,7,Graves,Graves,\\"(empty)\\",Saturday,5,\\"oliver@graves-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562989,\\"sold_product_562989_22919, sold_product_562989_22668\\",\\"sold_product_562989_22919, sold_product_562989_22668\\",\\"22.984, 22.984\\",\\"22.984, 22.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"10.813, 11.492\\",\\"22.984, 22.984\\",\\"22,919, 22,668\\",\\"Sweatshirt - white, Shirt - petrol\\",\\"Sweatshirt - white, Shirt - petrol\\",\\"1, 1\\",\\"ZO0590905909, ZO0279902799\\",\\"0, 0\\",\\"22.984, 22.984\\",\\"22.984, 22.984\\",\\"0, 0\\",\\"ZO0590905909, ZO0279902799\\",\\"45.969\\",\\"45.969\\",2,2,order,oliver +2QMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,Pia,Pia,\\"Pia Harmon\\",\\"Pia Harmon\\",FEMALE,45,Harmon,Harmon,\\"(empty)\\",Saturday,5,\\"pia@harmon-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562597,\\"sold_product_562597_24187, sold_product_562597_14371\\",\\"sold_product_562597_24187, sold_product_562597_14371\\",\\"50, 18.984\\",\\"50, 18.984\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"25.984, 10.063\\",\\"50, 18.984\\",\\"24,187, 14,371\\",\\"Boots - cognac, Across body bag - black\\",\\"Boots - cognac, Across body bag - black\\",\\"1, 1\\",\\"ZO0013200132, ZO0093800938\\",\\"0, 0\\",\\"50, 18.984\\",\\"50, 18.984\\",\\"0, 0\\",\\"ZO0013200132, ZO0093800938\\",69,69,2,2,order,pia +TwMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Clarice,Clarice,\\"Clarice Goodwin\\",\\"Clarice Goodwin\\",FEMALE,18,Goodwin,Goodwin,\\"(empty)\\",Saturday,5,\\"clarice@goodwin-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563548,\\"sold_product_563548_5972, sold_product_563548_20864\\",\\"sold_product_563548_5972, sold_product_563548_20864\\",\\"24.984, 33\\",\\"24.984, 33\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"12.992, 16.172\\",\\"24.984, 33\\",\\"5,972, 20,864\\",\\"Ankle boots - black, Winter boots - cognac\\",\\"Ankle boots - black, Winter boots - cognac\\",\\"1, 1\\",\\"ZO0021600216, ZO0031600316\\",\\"0, 0\\",\\"24.984, 33\\",\\"24.984, 33\\",\\"0, 0\\",\\"ZO0021600216, ZO0031600316\\",\\"57.969\\",\\"57.969\\",2,2,order,clarice +awMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Marwan,Marwan,\\"Marwan Shaw\\",\\"Marwan Shaw\\",MALE,51,Shaw,Shaw,\\"(empty)\\",Saturday,5,\\"marwan@shaw-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 21, 2019 @ 00:00:00.000\\",562715,\\"sold_product_562715_21515, sold_product_562715_13710\\",\\"sold_product_562715_21515, sold_product_562715_13710\\",\\"28.984, 11.992\\",\\"28.984, 11.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"13.922, 5.52\\",\\"28.984, 11.992\\",\\"21,515, 13,710\\",\\"Shirt - dark blue, Print T-shirt - blue\\",\\"Shirt - dark blue, Print T-shirt - blue\\",\\"1, 1\\",\\"ZO0413404134, ZO0437204372\\",\\"0, 0\\",\\"28.984, 11.992\\",\\"28.984, 11.992\\",\\"0, 0\\",\\"ZO0413404134, ZO0437204372\\",\\"40.969\\",\\"40.969\\",2,2,order,marwan +bAMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Mary,Mary,\\"Mary Dennis\\",\\"Mary Dennis\\",FEMALE,20,Dennis,Dennis,\\"(empty)\\",Saturday,5,\\"mary@dennis-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Spherecords, Gnomehouse\\",\\"Spherecords, Gnomehouse\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563657,\\"sold_product_563657_21922, sold_product_563657_16149\\",\\"sold_product_563657_21922, sold_product_563657_16149\\",\\"20.984, 65\\",\\"20.984, 65\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Gnomehouse\\",\\"Spherecords, Gnomehouse\\",\\"10.492, 29.906\\",\\"20.984, 65\\",\\"21,922, 16,149\\",\\"Jumper - dark blue/off white , Lace-up heels - cognac\\",\\"Jumper - dark blue/off white , Lace-up heels - cognac\\",\\"1, 1\\",\\"ZO0653506535, ZO0322303223\\",\\"0, 0\\",\\"20.984, 65\\",\\"20.984, 65\\",\\"0, 0\\",\\"ZO0653506535, ZO0322303223\\",86,86,2,2,order,mary +bQMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Chapman\\",\\"Wilhemina St. Chapman\\",FEMALE,17,Chapman,Chapman,\\"(empty)\\",Saturday,5,\\"wilhemina st.@chapman-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563704,\\"sold_product_563704_21823, sold_product_563704_19078\\",\\"sold_product_563704_21823, sold_product_563704_19078\\",\\"20.984, 16.984\\",\\"20.984, 16.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"9.656, 8.828\\",\\"20.984, 16.984\\",\\"21,823, 19,078\\",\\"Long sleeved top - peacoat, Print T-shirt - black\\",\\"Long sleeved top - peacoat, Print T-shirt - black\\",\\"1, 1\\",\\"ZO0062700627, ZO0054100541\\",\\"0, 0\\",\\"20.984, 16.984\\",\\"20.984, 16.984\\",\\"0, 0\\",\\"ZO0062700627, ZO0054100541\\",\\"37.969\\",\\"37.969\\",2,2,order,wilhemina +bgMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Underwood\\",\\"Elyssa Underwood\\",FEMALE,27,Underwood,Underwood,\\"(empty)\\",Saturday,5,\\"elyssa@underwood-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563534,\\"sold_product_563534_18172, sold_product_563534_19097\\",\\"sold_product_563534_18172, sold_product_563534_19097\\",\\"42, 60\\",\\"42, 60\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations\\",\\"22.25, 29.406\\",\\"42, 60\\",\\"18,172, 19,097\\",\\"Boots - black, Ankle boots - camel\\",\\"Boots - black, Ankle boots - camel\\",\\"1, 1\\",\\"ZO0014300143, ZO0249202492\\",\\"0, 0\\",\\"42, 60\\",\\"42, 60\\",\\"0, 0\\",\\"ZO0014300143, ZO0249202492\\",102,102,2,2,order,elyssa +jgMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Shoes, Men's Clothing\\",\\"Men's Accessories, Men's Shoes, Men's Clothing\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Rivera\\",\\"Sultan Al Rivera\\",MALE,19,Rivera,Rivera,\\"(empty)\\",Saturday,5,\\"sultan al@rivera-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"Jun 21, 2019 @ 00:00:00.000\\",716616,\\"sold_product_716616_11922, sold_product_716616_19741, sold_product_716616_6283, sold_product_716616_6868\\",\\"sold_product_716616_11922, sold_product_716616_19741, sold_product_716616_6283, sold_product_716616_6868\\",\\"18.984, 16.984, 11.992, 42\\",\\"18.984, 16.984, 11.992, 42\\",\\"Men's Accessories, Men's Shoes, Men's Clothing, Men's Clothing\\",\\"Men's Accessories, Men's Shoes, Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Elitelligence, Elitelligence, Elitelligence, Microlutions\\",\\"Elitelligence, Elitelligence, Elitelligence, Microlutions\\",\\"9.68, 7.988, 6.352, 20.156\\",\\"18.984, 16.984, 11.992, 42\\",\\"11,922, 19,741, 6,283, 6,868\\",\\"Watch - black, Trainers - black, Basic T-shirt - dark blue/white, Bomber Jacket - bordeaux\\",\\"Watch - black, Trainers - black, Basic T-shirt - dark blue/white, Bomber Jacket - bordeaux\\",\\"1, 1, 1, 1\\",\\"ZO0601506015, ZO0507505075, ZO0549605496, ZO0114701147\\",\\"0, 0, 0, 0\\",\\"18.984, 16.984, 11.992, 42\\",\\"18.984, 16.984, 11.992, 42\\",\\"0, 0, 0, 0\\",\\"ZO0601506015, ZO0507505075, ZO0549605496, ZO0114701147\\",\\"89.938\\",\\"89.938\\",4,4,order,sultan +oQMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jason,Jason,\\"Jason Rice\\",\\"Jason Rice\\",MALE,16,Rice,Rice,\\"(empty)\\",Saturday,5,\\"jason@rice-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Elitelligence,Elitelligence,\\"Jun 21, 2019 @ 00:00:00.000\\",563419,\\"sold_product_563419_17629, sold_product_563419_21599\\",\\"sold_product_563419_17629, sold_product_563419_21599\\",\\"24.984, 26.984\\",\\"24.984, 26.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"12.992, 13.492\\",\\"24.984, 26.984\\",\\"17,629, 21,599\\",\\"Tracksuit bottoms - mottled grey, Jumper - black\\",\\"Tracksuit bottoms - mottled grey, Jumper - black\\",\\"1, 1\\",\\"ZO0528605286, ZO0578505785\\",\\"0, 0\\",\\"24.984, 26.984\\",\\"24.984, 26.984\\",\\"0, 0\\",\\"ZO0528605286, ZO0578505785\\",\\"51.969\\",\\"51.969\\",2,2,order,jason +ogMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Wise\\",\\"Elyssa Wise\\",FEMALE,27,Wise,Wise,\\"(empty)\\",Saturday,5,\\"elyssa@wise-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Gnomehouse, Spherecords Curvy\\",\\"Gnomehouse, Spherecords Curvy\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563468,\\"sold_product_563468_18486, sold_product_563468_18903\\",\\"sold_product_563468_18486, sold_product_563468_18903\\",\\"100, 26.984\\",\\"100, 26.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Spherecords Curvy\\",\\"Gnomehouse, Spherecords Curvy\\",\\"46, 13.758\\",\\"100, 26.984\\",\\"18,486, 18,903\\",\\"Over-the-knee boots - black, Shirt - white\\",\\"Over-the-knee boots - black, Shirt - white\\",\\"1, 1\\",\\"ZO0324003240, ZO0711107111\\",\\"0, 0\\",\\"100, 26.984\\",\\"100, 26.984\\",\\"0, 0\\",\\"ZO0324003240, ZO0711107111\\",127,127,2,2,order,elyssa +owMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Mcdonald\\",\\"Rabbia Al Mcdonald\\",FEMALE,5,Mcdonald,Mcdonald,\\"(empty)\\",Saturday,5,\\"rabbia al@mcdonald-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563496,\\"sold_product_563496_19888, sold_product_563496_15294\\",\\"sold_product_563496_19888, sold_product_563496_15294\\",\\"100, 18.984\\",\\"100, 18.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"51, 9.68\\",\\"100, 18.984\\",\\"19,888, 15,294\\",\\"Classic coat - camel, Across body bag - cognac\\",\\"Classic coat - camel, Across body bag - cognac\\",\\"1, 1\\",\\"ZO0354103541, ZO0196101961\\",\\"0, 0\\",\\"100, 18.984\\",\\"100, 18.984\\",\\"0, 0\\",\\"ZO0354103541, ZO0196101961\\",119,119,2,2,order,rabbia +3QMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Yasmine,Yasmine,\\"Yasmine Gilbert\\",\\"Yasmine Gilbert\\",FEMALE,43,Gilbert,Gilbert,\\"(empty)\\",Saturday,5,\\"yasmine@gilbert-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563829,\\"sold_product_563829_18348, sold_product_563829_22842\\",\\"sold_product_563829_18348, sold_product_563829_22842\\",\\"50, 50\\",\\"50, 50\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"26.484, 26.984\\",\\"50, 50\\",\\"18,348, 22,842\\",\\"Summer dress - apple butter, Beaded Occasion Dress\\",\\"Summer dress - apple butter, Beaded Occasion Dress\\",\\"1, 1\\",\\"ZO0335103351, ZO0043000430\\",\\"0, 0\\",\\"50, 50\\",\\"50, 50\\",\\"0, 0\\",\\"ZO0335103351, ZO0043000430\\",100,100,2,2,order,yasmine +3gMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Selena,Selena,\\"Selena Wells\\",\\"Selena Wells\\",FEMALE,42,Wells,Wells,\\"(empty)\\",Saturday,5,\\"selena@wells-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563888,\\"sold_product_563888_24162, sold_product_563888_20172\\",\\"sold_product_563888_24162, sold_product_563888_20172\\",\\"24.984, 21.984\\",\\"24.984, 21.984\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"13.242, 11.648\\",\\"24.984, 21.984\\",\\"24,162, 20,172\\",\\"Rucksack - cognac, Nightie - dark green\\",\\"Rucksack - cognac, Nightie - dark green\\",\\"1, 1\\",\\"ZO0090400904, ZO0100501005\\",\\"0, 0\\",\\"24.984, 21.984\\",\\"24.984, 21.984\\",\\"0, 0\\",\\"ZO0090400904, ZO0100501005\\",\\"46.969\\",\\"46.969\\",2,2,order,selena +\\"-QMtOW0BH63Xcmy453H9\\",ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Pia,Pia,\\"Pia Hodges\\",\\"Pia Hodges\\",FEMALE,45,Hodges,Hodges,\\"(empty)\\",Saturday,5,\\"pia@hodges-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Pyramidustries, Microlutions\\",\\"Pyramidustries, Microlutions\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563037,\\"sold_product_563037_20079, sold_product_563037_11032\\",\\"sold_product_563037_20079, sold_product_563037_11032\\",\\"24.984, 75\\",\\"24.984, 75\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Microlutions\\",\\"Pyramidustries, Microlutions\\",\\"12, 38.25\\",\\"24.984, 75\\",\\"20,079, 11,032\\",\\"Vest - black, Parka - mottled grey\\",\\"Vest - black, Parka - mottled grey\\",\\"1, 1\\",\\"ZO0172801728, ZO0115701157\\",\\"0, 0\\",\\"24.984, 75\\",\\"24.984, 75\\",\\"0, 0\\",\\"ZO0172801728, ZO0115701157\\",100,100,2,2,order,pia +\\"-gMtOW0BH63Xcmy453H9\\",ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Brewer\\",\\"Mostafa Brewer\\",MALE,9,Brewer,Brewer,\\"(empty)\\",Saturday,5,\\"mostafa@brewer-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563105,\\"sold_product_563105_23911, sold_product_563105_15250\\",\\"sold_product_563105_23911, sold_product_563105_15250\\",\\"6.988, 33\\",\\"6.988, 33\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"3.5, 18.141\\",\\"6.988, 33\\",\\"23,911, 15,250\\",\\"Basic T-shirt - black, Shirt - beige\\",\\"Basic T-shirt - black, Shirt - beige\\",\\"1, 1\\",\\"ZO0562205622, ZO0110901109\\",\\"0, 0\\",\\"6.988, 33\\",\\"6.988, 33\\",\\"0, 0\\",\\"ZO0562205622, ZO0110901109\\",\\"39.969\\",\\"39.969\\",2,2,order,mostafa +ZwMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Rose\\",\\"Wilhemina St. Rose\\",FEMALE,17,Rose,Rose,\\"(empty)\\",Saturday,5,\\"wilhemina st.@rose-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Pyramidustries\\",\\"Low Tide Media, Pyramidustries\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563066,\\"sold_product_563066_18616, sold_product_563066_17298\\",\\"sold_product_563066_18616, sold_product_563066_17298\\",\\"75, 16.984\\",\\"75, 16.984\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Pyramidustries\\",\\"Low Tide Media, Pyramidustries\\",\\"36.75, 9.344\\",\\"75, 16.984\\",\\"18,616, 17,298\\",\\"Boots - brown, Across body bag - turquoise\\",\\"Boots - brown, Across body bag - turquoise\\",\\"1, 1\\",\\"ZO0373503735, ZO0206902069\\",\\"0, 0\\",\\"75, 16.984\\",\\"75, 16.984\\",\\"0, 0\\",\\"ZO0373503735, ZO0206902069\\",92,92,2,2,order,wilhemina +aAMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Yasmine,Yasmine,\\"Yasmine King\\",\\"Yasmine King\\",FEMALE,43,King,King,\\"(empty)\\",Saturday,5,\\"yasmine@king-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"Jun 21, 2019 @ 00:00:00.000\\",563113,\\"sold_product_563113_13234, sold_product_563113_18481\\",\\"sold_product_563113_13234, sold_product_563113_18481\\",\\"33, 24.984\\",\\"33, 24.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 10, 2016 @ 00:00:00.000, Dec 10, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"17.156, 13.242\\",\\"33, 24.984\\",\\"13,234, 18,481\\",\\"Jersey dress - red ochre, Jersey dress - dark red\\",\\"Jersey dress - red ochre, Jersey dress - dark red\\",\\"1, 1\\",\\"ZO0333903339, ZO0151801518\\",\\"0, 0\\",\\"33, 24.984\\",\\"33, 24.984\\",\\"0, 0\\",\\"ZO0333903339, ZO0151801518\\",\\"57.969\\",\\"57.969\\",2,2,order,yasmine +\\"_QMtOW0BH63Xcmy432DJ\\",ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Parker\\",\\"Wilhemina St. Parker\\",FEMALE,17,Parker,Parker,\\"(empty)\\",Friday,4,\\"wilhemina st.@parker-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Tigress Enterprises\\",\\"Low Tide Media, Tigress Enterprises\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562351,\\"sold_product_562351_18495, sold_product_562351_22598\\",\\"sold_product_562351_18495, sold_product_562351_22598\\",\\"50, 28.984\\",\\"50, 28.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Tigress Enterprises\\",\\"Low Tide Media, Tigress Enterprises\\",\\"25, 14.781\\",\\"50, 28.984\\",\\"18,495, 22,598\\",\\"Ankle boots - cognac, Shift dress - black\\",\\"Ankle boots - cognac, Shift dress - black\\",\\"1, 1\\",\\"ZO0376403764, ZO0050800508\\",\\"0, 0\\",\\"50, 28.984\\",\\"50, 28.984\\",\\"0, 0\\",\\"ZO0376403764, ZO0050800508\\",79,79,2,2,order,wilhemina +WwMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Graham\\",\\"Gwen Graham\\",FEMALE,26,Graham,Graham,\\"(empty)\\",Friday,4,\\"gwen@graham-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561666,\\"sold_product_561666_24242, sold_product_561666_16817\\",\\"sold_product_561666_24242, sold_product_561666_16817\\",\\"33, 18.984\\",\\"33, 18.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"17.813, 10.25\\",\\"33, 18.984\\",\\"24,242, 16,817\\",\\"Jersey dress - black/white, Long sleeved top - black\\",\\"Jersey dress - black/white, Long sleeved top - black\\",\\"1, 1\\",\\"ZO0042600426, ZO0166401664\\",\\"0, 0\\",\\"33, 18.984\\",\\"33, 18.984\\",\\"0, 0\\",\\"ZO0042600426, ZO0166401664\\",\\"51.969\\",\\"51.969\\",2,2,order,gwen +XAMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Porter\\",\\"Rabbia Al Porter\\",FEMALE,5,Porter,Porter,\\"(empty)\\",Friday,4,\\"rabbia al@porter-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561236,\\"sold_product_561236_23790, sold_product_561236_19511\\",\\"sold_product_561236_23790, sold_product_561236_19511\\",\\"28.984, 16.984\\",\\"28.984, 16.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"14.492, 8.656\\",\\"28.984, 16.984\\",\\"23,790, 19,511\\",\\"Jumper - peacoat, Nightie - black\\",\\"Jumper - peacoat, Nightie - black\\",\\"1, 1\\",\\"ZO0072700727, ZO0101001010\\",\\"0, 0\\",\\"28.984, 16.984\\",\\"28.984, 16.984\\",\\"0, 0\\",\\"ZO0072700727, ZO0101001010\\",\\"45.969\\",\\"45.969\\",2,2,order,rabbia +XQMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Hicham,Hicham,\\"Hicham Shaw\\",\\"Hicham Shaw\\",MALE,8,Shaw,Shaw,\\"(empty)\\",Friday,4,\\"hicham@shaw-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561290,\\"sold_product_561290_1694, sold_product_561290_15025\\",\\"sold_product_561290_1694, sold_product_561290_15025\\",\\"75, 24.984\\",\\"75, 24.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"38.25, 12.992\\",\\"75, 24.984\\",\\"1,694, 15,025\\",\\"Slip-ons - Midnight Blue, Jumper - black\\",\\"Slip-ons - Midnight Blue, Jumper - black\\",\\"1, 1\\",\\"ZO0255702557, ZO0577605776\\",\\"0, 0\\",\\"75, 24.984\\",\\"75, 24.984\\",\\"0, 0\\",\\"ZO0255702557, ZO0577605776\\",100,100,2,2,order,hicham +XgMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Abd,Abd,\\"Abd Washington\\",\\"Abd Washington\\",MALE,52,Washington,Washington,\\"(empty)\\",Friday,4,\\"abd@washington-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",Elitelligence,Elitelligence,\\"Jun 20, 2019 @ 00:00:00.000\\",561739,\\"sold_product_561739_16553, sold_product_561739_14242\\",\\"sold_product_561739_16553, sold_product_561739_14242\\",\\"24.984, 24.984\\",\\"24.984, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"12, 11.75\\",\\"24.984, 24.984\\",\\"16,553, 14,242\\",\\"Straight leg jeans - blue denim, Jeans Tapered Fit - black denim \\",\\"Straight leg jeans - blue denim, Jeans Tapered Fit - black denim \\",\\"1, 1\\",\\"ZO0537805378, ZO0538005380\\",\\"0, 0\\",\\"24.984, 24.984\\",\\"24.984, 24.984\\",\\"0, 0\\",\\"ZO0537805378, ZO0538005380\\",\\"49.969\\",\\"49.969\\",2,2,order,abd +XwMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Tran\\",\\"Rabbia Al Tran\\",FEMALE,5,Tran,Tran,\\"(empty)\\",Friday,4,\\"rabbia al@tran-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561786,\\"sold_product_561786_12183, sold_product_561786_15264\\",\\"sold_product_561786_12183, sold_product_561786_15264\\",\\"25.984, 29.984\\",\\"25.984, 29.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"13.508, 14.102\\",\\"25.984, 29.984\\",\\"12,183, 15,264\\",\\"Blouse - navy, Cardigan - black/anthrazit \\",\\"Blouse - navy, Cardigan - black/anthrazit \\",\\"1, 1\\",\\"ZO0064100641, ZO0068600686\\",\\"0, 0\\",\\"25.984, 29.984\\",\\"25.984, 29.984\\",\\"0, 0\\",\\"ZO0064100641, ZO0068600686\\",\\"55.969\\",\\"55.969\\",2,2,order,rabbia +hgMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,Diane,Diane,\\"Diane Willis\\",\\"Diane Willis\\",FEMALE,22,Willis,Willis,\\"(empty)\\",Friday,4,\\"diane@willis-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Tigress Enterprises, Low Tide Media\\",\\"Tigress Enterprises, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562400,\\"sold_product_562400_16415, sold_product_562400_5857\\",\\"sold_product_562400_16415, sold_product_562400_5857\\",\\"16.984, 50\\",\\"16.984, 50\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Low Tide Media\\",\\"Tigress Enterprises, Low Tide Media\\",\\"8.156, 23.5\\",\\"16.984, 50\\",\\"16,415, 5,857\\",\\"Across body bag - black, Ankle boots - cognac\\",\\"Across body bag - black, Ankle boots - cognac\\",\\"1, 1\\",\\"ZO0094200942, ZO0376603766\\",\\"0, 0\\",\\"16.984, 50\\",\\"16.984, 50\\",\\"0, 0\\",\\"ZO0094200942, ZO0376603766\\",67,67,2,2,order,diane +1gMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Weber\\",\\"Elyssa Weber\\",FEMALE,27,Weber,Weber,\\"(empty)\\",Friday,4,\\"elyssa@weber-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Oceanavigations, Gnomehouse\\",\\"Oceanavigations, Gnomehouse\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562352,\\"sold_product_562352_19189, sold_product_562352_8284\\",\\"sold_product_562352_19189, sold_product_562352_8284\\",\\"28.984, 33\\",\\"28.984, 33\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Gnomehouse\\",\\"Oceanavigations, Gnomehouse\\",\\"13.344, 16.813\\",\\"28.984, 33\\",\\"19,189, 8,284\\",\\"Blouse - black, Shirt - soft pink nude\\",\\"Blouse - black, Shirt - soft pink nude\\",\\"1, 1\\",\\"ZO0265302653, ZO0348203482\\",\\"0, 0\\",\\"28.984, 33\\",\\"28.984, 33\\",\\"0, 0\\",\\"ZO0265302653, ZO0348203482\\",\\"61.969\\",\\"61.969\\",2,2,order,elyssa +BwMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Garza\\",\\"Jackson Garza\\",MALE,13,Garza,Garza,\\"(empty)\\",Friday,4,\\"jackson@garza-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561343,\\"sold_product_561343_23977, sold_product_561343_19776\\",\\"sold_product_561343_23977, sold_product_561343_19776\\",\\"65, 10.992\\",\\"65, 10.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"30.547, 5.5\\",\\"65, 10.992\\",\\"23,977, 19,776\\",\\"Waterproof trousers - pumpkin spice, Print T-shirt - white\\",\\"Waterproof trousers - pumpkin spice, Print T-shirt - white\\",\\"1, 1\\",\\"ZO0620706207, ZO0566705667\\",\\"0, 0\\",\\"65, 10.992\\",\\"65, 10.992\\",\\"0, 0\\",\\"ZO0620706207, ZO0566705667\\",76,76,2,2,order,jackson +VQMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Lewis\\",\\"Elyssa Lewis\\",FEMALE,27,Lewis,Lewis,\\"(empty)\\",Friday,4,\\"elyssa@lewis-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises Curvy, Pyramidustries\\",\\"Tigress Enterprises Curvy, Pyramidustries\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561543,\\"sold_product_561543_13132, sold_product_561543_19621\\",\\"sold_product_561543_13132, sold_product_561543_19621\\",\\"42, 34\\",\\"42, 34\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises Curvy, Pyramidustries\\",\\"Tigress Enterprises Curvy, Pyramidustries\\",\\"22.672, 17.328\\",\\"42, 34\\",\\"13,132, 19,621\\",\\"Blazer - black, Waterproof jacket - black\\",\\"Blazer - black, Waterproof jacket - black\\",\\"1, 1\\",\\"ZO0106701067, ZO0175101751\\",\\"0, 0\\",\\"42, 34\\",\\"42, 34\\",\\"0, 0\\",\\"ZO0106701067, ZO0175101751\\",76,76,2,2,order,elyssa +VgMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Davidson\\",\\"Fitzgerald Davidson\\",MALE,11,Davidson,Davidson,\\"(empty)\\",Friday,4,\\"fitzgerald@davidson-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561577,\\"sold_product_561577_15263, sold_product_561577_6820\\",\\"sold_product_561577_15263, sold_product_561577_6820\\",\\"33, 24.984\\",\\"33, 24.984\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"15.844, 12.992\\",\\"33, 24.984\\",\\"15,263, 6,820\\",\\"Briefcase - brown, Cardigan - dark blue\\",\\"Briefcase - brown, Cardigan - dark blue\\",\\"1, 1\\",\\"ZO0604406044, ZO0296302963\\",\\"0, 0\\",\\"33, 24.984\\",\\"33, 24.984\\",\\"0, 0\\",\\"ZO0604406044, ZO0296302963\\",\\"57.969\\",\\"57.969\\",2,2,order,fuzzy +WQMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Abd,Abd,\\"Abd Barnes\\",\\"Abd Barnes\\",MALE,52,Barnes,Barnes,\\"(empty)\\",Friday,4,\\"abd@barnes-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561429,\\"sold_product_561429_1791, sold_product_561429_3467\\",\\"sold_product_561429_1791, sold_product_561429_3467\\",\\"33, 28.984\\",\\"33, 28.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"14.852, 13.922\\",\\"33, 28.984\\",\\"1,791, 3,467\\",\\"Lace-up boots - green, Tights - black\\",\\"Lace-up boots - green, Tights - black\\",\\"1, 1\\",\\"ZO0511405114, ZO0621506215\\",\\"0, 0\\",\\"33, 28.984\\",\\"33, 28.984\\",\\"0, 0\\",\\"ZO0511405114, ZO0621506215\\",\\"61.969\\",\\"61.969\\",2,2,order,abd +egMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Pia,Pia,\\"Pia Willis\\",\\"Pia Willis\\",FEMALE,45,Willis,Willis,\\"(empty)\\",Friday,4,\\"pia@willis-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Gnomehouse, Low Tide Media\\",\\"Gnomehouse, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562050,\\"sold_product_562050_14157, sold_product_562050_19227\\",\\"sold_product_562050_14157, sold_product_562050_19227\\",\\"50, 90\\",\\"50, 90\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Low Tide Media\\",\\"Gnomehouse, Low Tide Media\\",\\"24.5, 44.094\\",\\"50, 90\\",\\"14,157, 19,227\\",\\"Classic heels - black, Boots - cognac\\",\\"Classic heels - black, Boots - cognac\\",\\"1, 1\\",\\"ZO0322103221, ZO0373903739\\",\\"0, 0\\",\\"50, 90\\",\\"50, 90\\",\\"0, 0\\",\\"ZO0322103221, ZO0373903739\\",140,140,2,2,order,pia +ewMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Jim,Jim,\\"Jim Chandler\\",\\"Jim Chandler\\",MALE,41,Chandler,Chandler,\\"(empty)\\",Friday,4,\\"jim@chandler-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562101,\\"sold_product_562101_24315, sold_product_562101_11349\\",\\"sold_product_562101_24315, sold_product_562101_11349\\",\\"33, 42\\",\\"33, 42\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"16.813, 21.406\\",\\"33, 42\\",\\"24,315, 11,349\\",\\"Weekend bag - navy/brown, Summer jacket - black\\",\\"Weekend bag - navy/brown, Summer jacket - black\\",\\"1, 1\\",\\"ZO0468804688, ZO0285502855\\",\\"0, 0\\",\\"33, 42\\",\\"33, 42\\",\\"0, 0\\",\\"ZO0468804688, ZO0285502855\\",75,75,2,2,order,jim +fAMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,Betty,Betty,\\"Betty Salazar\\",\\"Betty Salazar\\",FEMALE,44,Salazar,Salazar,\\"(empty)\\",Friday,4,\\"betty@salazar-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Angeldale,Angeldale,\\"Jun 20, 2019 @ 00:00:00.000\\",562247,\\"sold_product_562247_14495, sold_product_562247_5292\\",\\"sold_product_562247_14495, sold_product_562247_5292\\",\\"70, 85\\",\\"70, 85\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Angeldale\\",\\"Angeldale, Angeldale\\",\\"34.313, 43.344\\",\\"70, 85\\",\\"14,495, 5,292\\",\\"Classic Heels with Straps, Ankle boots - camel\\",\\"Classic Heels with Straps, Ankle boots - camel\\",\\"1, 1\\",\\"ZO0666206662, ZO0673206732\\",\\"0, 0\\",\\"70, 85\\",\\"70, 85\\",\\"0, 0\\",\\"ZO0666206662, ZO0673206732\\",155,155,2,2,order,betty +fQMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Robbie,Robbie,\\"Robbie Ball\\",\\"Robbie Ball\\",MALE,48,Ball,Ball,\\"(empty)\\",Friday,4,\\"robbie@ball-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562285,\\"sold_product_562285_15123, sold_product_562285_21357\\",\\"sold_product_562285_15123, sold_product_562285_21357\\",\\"10.992, 9.992\\",\\"10.992, 9.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"5.93, 4.699\\",\\"10.992, 9.992\\",\\"15,123, 21,357\\",\\"Print T-shirt - black, Basic T-shirt - white\\",\\"Print T-shirt - black, Basic T-shirt - white\\",\\"1, 1\\",\\"ZO0618306183, ZO0563105631\\",\\"0, 0\\",\\"10.992, 9.992\\",\\"10.992, 9.992\\",\\"0, 0\\",\\"ZO0618306183, ZO0563105631\\",\\"20.984\\",\\"20.984\\",2,2,order,robbie +ugMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty Dawson\\",\\"Betty Dawson\\",FEMALE,44,Dawson,Dawson,\\"(empty)\\",Friday,4,\\"betty@dawson-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Spherecords, Gnomehouse\\",\\"Spherecords, Gnomehouse\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561965,\\"sold_product_561965_8728, sold_product_561965_24101\\",\\"sold_product_561965_8728, sold_product_561965_24101\\",\\"65, 42\\",\\"65, 42\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Gnomehouse\\",\\"Spherecords, Gnomehouse\\",\\"35.094, 18.906\\",\\"65, 42\\",\\"8,728, 24,101\\",\\"Jumper - dark red, Jersey dress - jester red\\",\\"Jumper - dark red, Jersey dress - jester red\\",\\"1, 1\\",\\"ZO0655806558, ZO0334503345\\",\\"0, 0\\",\\"65, 42\\",\\"65, 42\\",\\"0, 0\\",\\"ZO0655806558, ZO0334503345\\",107,107,2,2,order,betty +uwMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Sonya,Sonya,\\"Sonya Hart\\",\\"Sonya Hart\\",FEMALE,28,Hart,Hart,\\"(empty)\\",Friday,4,\\"sonya@hart-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Spherecords, Crystal Lighting\\",\\"Spherecords, Crystal Lighting\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562008,\\"sold_product_562008_21990, sold_product_562008_22639\\",\\"sold_product_562008_21990, sold_product_562008_22639\\",\\"33, 24.984\\",\\"33, 24.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Crystal Lighting\\",\\"Spherecords, Crystal Lighting\\",\\"15.844, 11.25\\",\\"33, 24.984\\",\\"21,990, 22,639\\",\\"Blazer - black, Wool jumper - white\\",\\"Blazer - black, Wool jumper - white\\",\\"1, 1\\",\\"ZO0657006570, ZO0485604856\\",\\"0, 0\\",\\"33, 24.984\\",\\"33, 24.984\\",\\"0, 0\\",\\"ZO0657006570, ZO0485604856\\",\\"57.969\\",\\"57.969\\",2,2,order,sonya +wAMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Simmons\\",\\"Sultan Al Simmons\\",MALE,19,Simmons,Simmons,\\"(empty)\\",Friday,4,\\"sultan al@simmons-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561472,\\"sold_product_561472_12840, sold_product_561472_24625\\",\\"sold_product_561472_12840, sold_product_561472_24625\\",\\"65, 13.992\\",\\"65, 13.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"30.547, 6.301\\",\\"65, 13.992\\",\\"12,840, 24,625\\",\\"Lace-up boots - black, Print T-shirt - dark blue multicolor\\",\\"Lace-up boots - black, Print T-shirt - dark blue multicolor\\",\\"1, 1\\",\\"ZO0399703997, ZO0439904399\\",\\"0, 0\\",\\"65, 13.992\\",\\"65, 13.992\\",\\"0, 0\\",\\"ZO0399703997, ZO0439904399\\",79,79,2,2,order,sultan +wQMtOW0BH63Xcmy44WJv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Carr\\",\\"Abdulraheem Al Carr\\",MALE,33,Carr,Carr,\\"(empty)\\",Friday,4,\\"abdulraheem al@carr-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561490,\\"sold_product_561490_12150, sold_product_561490_20378\\",\\"sold_product_561490_12150, sold_product_561490_20378\\",\\"50, 8.992\\",\\"50, 8.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Elitelligence\\",\\"Angeldale, Elitelligence\\",\\"22.5, 4.23\\",\\"50, 8.992\\",\\"12,150, 20,378\\",\\"Casual lace-ups - dark brown , Basic T-shirt - white\\",\\"Casual lace-ups - dark brown , Basic T-shirt - white\\",\\"1, 1\\",\\"ZO0681306813, ZO0545705457\\",\\"0, 0\\",\\"50, 8.992\\",\\"50, 8.992\\",\\"0, 0\\",\\"ZO0681306813, ZO0545705457\\",\\"58.969\\",\\"58.969\\",2,2,order,abdulraheem +wgMtOW0BH63Xcmy44WJv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Selena,Selena,\\"Selena Allison\\",\\"Selena Allison\\",FEMALE,42,Allison,Allison,\\"(empty)\\",Friday,4,\\"selena@allison-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561317,\\"sold_product_561317_20991, sold_product_561317_22586\\",\\"sold_product_561317_20991, sold_product_561317_22586\\",\\"42, 33\\",\\"42, 33\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"21.828, 16.172\\",\\"42, 33\\",\\"20,991, 22,586\\",\\"Mini skirt - navy blazer, Cardigan - navy/brown\\",\\"Mini skirt - navy blazer, Cardigan - navy/brown\\",\\"1, 1\\",\\"ZO0329303293, ZO0074000740\\",\\"0, 0\\",\\"42, 33\\",\\"42, 33\\",\\"0, 0\\",\\"ZO0329303293, ZO0074000740\\",75,75,2,2,order,selena +0gMtOW0BH63Xcmy44WJv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Thad,Thad,\\"Thad Walters\\",\\"Thad Walters\\",MALE,30,Walters,Walters,\\"(empty)\\",Friday,4,\\"thad@walters-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562424,\\"sold_product_562424_11737, sold_product_562424_13228\\",\\"sold_product_562424_11737, sold_product_562424_13228\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"9.867, 11.5\\",\\"20.984, 24.984\\",\\"11,737, 13,228\\",\\"Sweatshirt - dark blue, Jumper - dark blue multicolor\\",\\"Sweatshirt - dark blue, Jumper - dark blue multicolor\\",\\"1, 1\\",\\"ZO0581705817, ZO0448804488\\",\\"0, 0\\",\\"20.984, 24.984\\",\\"20.984, 24.984\\",\\"0, 0\\",\\"ZO0581705817, ZO0448804488\\",\\"45.969\\",\\"45.969\\",2,2,order,thad +0wMtOW0BH63Xcmy44WJv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Potter\\",\\"Sultan Al Potter\\",MALE,19,Potter,Potter,\\"(empty)\\",Friday,4,\\"sultan al@potter-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562473,\\"sold_product_562473_13192, sold_product_562473_21203\\",\\"sold_product_562473_13192, sold_product_562473_21203\\",\\"85, 75\\",\\"85, 75\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"39.094, 36.75\\",\\"85, 75\\",\\"13,192, 21,203\\",\\"Parka - navy, Winter jacket - dark blue\\",\\"Parka - navy, Winter jacket - dark blue\\",\\"1, 1\\",\\"ZO0289202892, ZO0432304323\\",\\"0, 0\\",\\"85, 75\\",\\"85, 75\\",\\"0, 0\\",\\"ZO0289202892, ZO0432304323\\",160,160,2,2,order,sultan +1AMtOW0BH63Xcmy44WJv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Hicham,Hicham,\\"Hicham Jimenez\\",\\"Hicham Jimenez\\",MALE,8,Jimenez,Jimenez,\\"(empty)\\",Friday,4,\\"hicham@jimenez-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562488,\\"sold_product_562488_13297, sold_product_562488_13138\\",\\"sold_product_562488_13297, sold_product_562488_13138\\",\\"60, 24.984\\",\\"60, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"32.375, 13.492\\",\\"60, 24.984\\",\\"13,297, 13,138\\",\\"Light jacket - navy, Jumper - black\\",\\"Light jacket - navy, Jumper - black\\",\\"1, 1\\",\\"ZO0275202752, ZO0574405744\\",\\"0, 0\\",\\"60, 24.984\\",\\"60, 24.984\\",\\"0, 0\\",\\"ZO0275202752, ZO0574405744\\",85,85,2,2,order,hicham +1QMtOW0BH63Xcmy44WJv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Yuri,Yuri,\\"Yuri Richards\\",\\"Yuri Richards\\",MALE,21,Richards,Richards,\\"(empty)\\",Friday,4,\\"yuri@richards-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562118,\\"sold_product_562118_18280, sold_product_562118_15033\\",\\"sold_product_562118_18280, sold_product_562118_15033\\",\\"16.984, 24.984\\",\\"16.984, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"7.82, 13.492\\",\\"16.984, 24.984\\",\\"18,280, 15,033\\",\\"Tights - black, Hoodie - mottled grey\\",\\"Tights - black, Hoodie - mottled grey\\",\\"1, 1\\",\\"ZO0622406224, ZO0591405914\\",\\"0, 0\\",\\"16.984, 24.984\\",\\"16.984, 24.984\\",\\"0, 0\\",\\"ZO0622406224, ZO0591405914\\",\\"41.969\\",\\"41.969\\",2,2,order,yuri +1gMtOW0BH63Xcmy44WJv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Yasmine,Yasmine,\\"Yasmine Padilla\\",\\"Yasmine Padilla\\",FEMALE,43,Padilla,Padilla,\\"(empty)\\",Friday,4,\\"yasmine@padilla-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Crystal Lighting, Spherecords\\",\\"Crystal Lighting, Spherecords\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562159,\\"sold_product_562159_8592, sold_product_562159_19303\\",\\"sold_product_562159_8592, sold_product_562159_19303\\",\\"24.984, 9.992\\",\\"24.984, 9.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Crystal Lighting, Spherecords\\",\\"Crystal Lighting, Spherecords\\",\\"11.25, 5.488\\",\\"24.984, 9.992\\",\\"8,592, 19,303\\",\\"Wool jumper - pink, 5 PACK - Trainer socks - black\\",\\"Wool jumper - pink, 5 PACK - Trainer socks - black\\",\\"1, 1\\",\\"ZO0485704857, ZO0662006620\\",\\"0, 0\\",\\"24.984, 9.992\\",\\"24.984, 9.992\\",\\"0, 0\\",\\"ZO0485704857, ZO0662006620\\",\\"34.969\\",\\"34.969\\",2,2,order,yasmine +1wMtOW0BH63Xcmy44WJv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Robbie,Robbie,\\"Robbie Mcdonald\\",\\"Robbie Mcdonald\\",MALE,48,Mcdonald,Mcdonald,\\"(empty)\\",Friday,4,\\"robbie@mcdonald-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"(empty)\\",\\"(empty)\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562198,\\"sold_product_562198_12308, sold_product_562198_12830\\",\\"sold_product_562198_12308, sold_product_562198_12830\\",\\"155, 155\\",\\"155, 155\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"(empty), (empty)\\",\\"(empty), (empty)\\",\\"72.875, 72.875\\",\\"155, 155\\",\\"12,308, 12,830\\",\\"Smart slip-ons - brown, Lace-ups - black\\",\\"Smart slip-ons - brown, Lace-ups - black\\",\\"1, 1\\",\\"ZO0482504825, ZO0481304813\\",\\"0, 0\\",\\"155, 155\\",\\"155, 155\\",\\"0, 0\\",\\"ZO0482504825, ZO0481304813\\",310,310,2,2,order,robbie +2QMtOW0BH63Xcmy44WJv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Betty,Betty,\\"Betty Frank\\",\\"Betty Frank\\",FEMALE,44,Frank,Frank,\\"(empty)\\",Friday,4,\\"betty@frank-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562523,\\"sold_product_562523_11110, sold_product_562523_20613\\",\\"sold_product_562523_11110, sold_product_562523_20613\\",\\"28.984, 24.984\\",\\"28.984, 24.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"15.359, 11.5\\",\\"28.984, 24.984\\",\\"11,110, 20,613\\",\\"Tracksuit top - black, Watch - silver-coloured\\",\\"Tracksuit top - black, Watch - silver-coloured\\",\\"1, 1\\",\\"ZO0178001780, ZO0078400784\\",\\"0, 0\\",\\"28.984, 24.984\\",\\"28.984, 24.984\\",\\"0, 0\\",\\"ZO0178001780, ZO0078400784\\",\\"53.969\\",\\"53.969\\",2,2,order,betty +lwMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Youssef,Youssef,\\"Youssef Valdez\\",\\"Youssef Valdez\\",MALE,31,Valdez,Valdez,\\"(empty)\\",Friday,4,\\"youssef@valdez-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Elitelligence,Elitelligence,\\"Jun 20, 2019 @ 00:00:00.000\\",561373,\\"sold_product_561373_20306, sold_product_561373_18262\\",\\"sold_product_561373_20306, sold_product_561373_18262\\",\\"11.992, 20.984\\",\\"11.992, 20.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"5.52, 10.703\\",\\"11.992, 20.984\\",\\"20,306, 18,262\\",\\"Long sleeved top - mottled dark grey, Chinos - khaki\\",\\"Long sleeved top - mottled dark grey, Chinos - khaki\\",\\"1, 1\\",\\"ZO0563905639, ZO0528805288\\",\\"0, 0\\",\\"11.992, 20.984\\",\\"11.992, 20.984\\",\\"0, 0\\",\\"ZO0563905639, ZO0528805288\\",\\"32.969\\",\\"32.969\\",2,2,order,youssef +mAMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Jason,Jason,\\"Jason Webb\\",\\"Jason Webb\\",MALE,16,Webb,Webb,\\"(empty)\\",Friday,4,\\"jason@webb-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Oceanavigations, Spritechnologies\\",\\"Oceanavigations, Spritechnologies\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561409,\\"sold_product_561409_1438, sold_product_561409_15672\\",\\"sold_product_561409_1438, sold_product_561409_15672\\",\\"60, 65\\",\\"60, 65\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Spritechnologies\\",\\"Oceanavigations, Spritechnologies\\",\\"32.375, 33.125\\",\\"60, 65\\",\\"1,438, 15,672\\",\\"Trainers - black, Waterproof jacket - black\\",\\"Trainers - black, Waterproof jacket - black\\",\\"1, 1\\",\\"ZO0254702547, ZO0626306263\\",\\"0, 0\\",\\"60, 65\\",\\"60, 65\\",\\"0, 0\\",\\"ZO0254702547, ZO0626306263\\",125,125,2,2,order,jason +mQMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Stephanie,Stephanie,\\"Stephanie Munoz\\",\\"Stephanie Munoz\\",FEMALE,6,Munoz,Munoz,\\"(empty)\\",Friday,4,\\"stephanie@munoz-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Tigress Enterprises Curvy, Low Tide Media\\",\\"Tigress Enterprises Curvy, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561858,\\"sold_product_561858_22426, sold_product_561858_12672\\",\\"sold_product_561858_22426, sold_product_561858_12672\\",\\"24.984, 33\\",\\"24.984, 33\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises Curvy, Low Tide Media\\",\\"Tigress Enterprises Curvy, Low Tide Media\\",\\"13.742, 16.813\\",\\"24.984, 33\\",\\"22,426, 12,672\\",\\"Print T-shirt - Chocolate, Ballet pumps - black\\",\\"Print T-shirt - Chocolate, Ballet pumps - black\\",\\"1, 1\\",\\"ZO0105301053, ZO0364803648\\",\\"0, 0\\",\\"24.984, 33\\",\\"24.984, 33\\",\\"0, 0\\",\\"ZO0105301053, ZO0364803648\\",\\"57.969\\",\\"57.969\\",2,2,order,stephanie +mgMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Marshall\\",\\"Fitzgerald Marshall\\",MALE,11,Marshall,Marshall,\\"(empty)\\",Friday,4,\\"fitzgerald@marshall-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561904,\\"sold_product_561904_15204, sold_product_561904_12074\\",\\"sold_product_561904_15204, sold_product_561904_12074\\",\\"42, 11.992\\",\\"42, 11.992\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"21.406, 5.641\\",\\"42, 11.992\\",\\"15,204, 12,074\\",\\"Weekend bag - black, Polo shirt - blue\\",\\"Weekend bag - black, Polo shirt - blue\\",\\"1, 1\\",\\"ZO0315303153, ZO0441904419\\",\\"0, 0\\",\\"42, 11.992\\",\\"42, 11.992\\",\\"0, 0\\",\\"ZO0315303153, ZO0441904419\\",\\"53.969\\",\\"53.969\\",2,2,order,fuzzy +9QMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty Tran\\",\\"Betty Tran\\",FEMALE,44,Tran,Tran,\\"(empty)\\",Friday,4,\\"betty@tran-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises MAMA, Tigress Enterprises Curvy\\",\\"Tigress Enterprises MAMA, Tigress Enterprises Curvy\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561381,\\"sold_product_561381_16065, sold_product_561381_20409\\",\\"sold_product_561381_16065, sold_product_561381_20409\\",\\"20.984, 33\\",\\"20.984, 33\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises MAMA, Tigress Enterprises Curvy\\",\\"Tigress Enterprises MAMA, Tigress Enterprises Curvy\\",\\"10.289, 15.844\\",\\"20.984, 33\\",\\"16,065, 20,409\\",\\"Vest - rose/black, Cardigan - black/offwhite\\",\\"Vest - rose/black, Cardigan - black/offwhite\\",\\"1, 1\\",\\"ZO0231202312, ZO0106401064\\",\\"0, 0\\",\\"20.984, 33\\",\\"20.984, 33\\",\\"0, 0\\",\\"ZO0231202312, ZO0106401064\\",\\"53.969\\",\\"53.969\\",2,2,order,betty +9gMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Abd,Abd,\\"Abd Nash\\",\\"Abd Nash\\",MALE,52,Nash,Nash,\\"(empty)\\",Friday,4,\\"abd@nash-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",Elitelligence,Elitelligence,\\"Jun 20, 2019 @ 00:00:00.000\\",561830,\\"sold_product_561830_15032, sold_product_561830_12189\\",\\"sold_product_561830_15032, sold_product_561830_12189\\",\\"28.984, 14.992\\",\\"28.984, 14.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"13.922, 7.199\\",\\"28.984, 14.992\\",\\"15,032, 12,189\\",\\"Sweatshirt - mottled grey, Tracksuit bottoms - mottled grey\\",\\"Sweatshirt - mottled grey, Tracksuit bottoms - mottled grey\\",\\"1, 1\\",\\"ZO0591105911, ZO0532805328\\",\\"0, 0\\",\\"28.984, 14.992\\",\\"28.984, 14.992\\",\\"0, 0\\",\\"ZO0591105911, ZO0532805328\\",\\"43.969\\",\\"43.969\\",2,2,order,abd +9wMtOW0BH63Xcmy44WNv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Wagdi,Wagdi,\\"Wagdi Gomez\\",\\"Wagdi Gomez\\",MALE,15,Gomez,Gomez,\\"(empty)\\",Friday,4,\\"wagdi@gomez-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561878,\\"sold_product_561878_17804, sold_product_561878_17209\\",\\"sold_product_561878_17804, sold_product_561878_17209\\",\\"12.992, 50\\",\\"12.992, 50\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"6.5, 26.484\\",\\"12.992, 50\\",\\"17,804, 17,209\\",\\"Long sleeved top - mottled dark grey, Casual lace-ups - grey\\",\\"Long sleeved top - mottled dark grey, Casual lace-ups - grey\\",\\"1, 1\\",\\"ZO0562905629, ZO0388303883\\",\\"0, 0\\",\\"12.992, 50\\",\\"12.992, 50\\",\\"0, 0\\",\\"ZO0562905629, ZO0388303883\\",\\"62.969\\",\\"62.969\\",2,2,order,wagdi +\\"-AMtOW0BH63Xcmy44WNv\\",ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Stephanie,Stephanie,\\"Stephanie Baker\\",\\"Stephanie Baker\\",FEMALE,6,Baker,Baker,\\"(empty)\\",Friday,4,\\"stephanie@baker-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",Pyramidustries,Pyramidustries,\\"Jun 20, 2019 @ 00:00:00.000\\",561916,\\"sold_product_561916_15403, sold_product_561916_11041\\",\\"sold_product_561916_15403, sold_product_561916_11041\\",\\"20.984, 13.992\\",\\"20.984, 13.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"10.703, 7.27\\",\\"20.984, 13.992\\",\\"15,403, 11,041\\",\\"Sweatshirt - dark grey multicolor, Basic T-shirt - dark grey multicolor\\",\\"Sweatshirt - dark grey multicolor, Basic T-shirt - dark grey multicolor\\",\\"1, 1\\",\\"ZO0180101801, ZO0157101571\\",\\"0, 0\\",\\"20.984, 13.992\\",\\"20.984, 13.992\\",\\"0, 0\\",\\"ZO0180101801, ZO0157101571\\",\\"34.969\\",\\"34.969\\",2,2,order,stephanie +HQMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Recip,Recip,\\"Recip Shaw\\",\\"Recip Shaw\\",MALE,10,Shaw,Shaw,\\"(empty)\\",Friday,4,\\"recip@shaw-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562324,\\"sold_product_562324_20112, sold_product_562324_12375\\",\\"sold_product_562324_20112, sold_product_562324_12375\\",\\"25.984, 20.984\\",\\"25.984, 20.984\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"12.477, 10.289\\",\\"25.984, 20.984\\",\\"20,112, 12,375\\",\\"Shirt - blue, Trainers - red\\",\\"Shirt - blue, Trainers - red\\",\\"1, 1\\",\\"ZO0413604136, ZO0509005090\\",\\"0, 0\\",\\"25.984, 20.984\\",\\"25.984, 20.984\\",\\"0, 0\\",\\"ZO0413604136, ZO0509005090\\",\\"46.969\\",\\"46.969\\",2,2,order,recip +HgMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,Sonya,Sonya,\\"Sonya Ruiz\\",\\"Sonya Ruiz\\",FEMALE,28,Ruiz,Ruiz,\\"(empty)\\",Friday,4,\\"sonya@ruiz-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Low Tide Media, Pyramidustries\\",\\"Low Tide Media, Pyramidustries\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562367,\\"sold_product_562367_19018, sold_product_562367_15868\\",\\"sold_product_562367_19018, sold_product_562367_15868\\",\\"42, 10.992\\",\\"42, 10.992\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Pyramidustries\\",\\"Low Tide Media, Pyramidustries\\",\\"19.734, 5.711\\",\\"42, 10.992\\",\\"19,018, 15,868\\",\\"High heeled sandals - red, Scarf - black/white\\",\\"High heeled sandals - red, Scarf - black/white\\",\\"1, 1\\",\\"ZO0371803718, ZO0195401954\\",\\"0, 0\\",\\"42, 10.992\\",\\"42, 10.992\\",\\"0, 0\\",\\"ZO0371803718, ZO0195401954\\",\\"52.969\\",\\"52.969\\",2,2,order,sonya +UwMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Ryan\\",\\"Wilhemina St. Ryan\\",FEMALE,17,Ryan,Ryan,\\"(empty)\\",Friday,4,\\"wilhemina st.@ryan-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Oceanavigations, Tigress Enterprises, Pyramidustries, Angeldale\\",\\"Oceanavigations, Tigress Enterprises, Pyramidustries, Angeldale\\",\\"Jun 20, 2019 @ 00:00:00.000\\",729673,\\"sold_product_729673_23755, sold_product_729673_23467, sold_product_729673_15159, sold_product_729673_5415\\",\\"sold_product_729673_23755, sold_product_729673_23467, sold_product_729673_15159, sold_product_729673_5415\\",\\"50, 60, 24.984, 65\\",\\"50, 60, 24.984, 65\\",\\"Women's Clothing, Women's Clothing, Women's Shoes, Women's Shoes\\",\\"Women's Clothing, Women's Clothing, Women's Shoes, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Oceanavigations, Tigress Enterprises, Pyramidustries, Angeldale\\",\\"Oceanavigations, Tigress Enterprises, Pyramidustries, Angeldale\\",\\"23, 31.188, 11.75, 31.844\\",\\"50, 60, 24.984, 65\\",\\"23,755, 23,467, 15,159, 5,415\\",\\"Cardigan - blue & white, Lohan - Maxi dress - silver/black, High heels - blue, Lace-ups - grey\\",\\"Cardigan - blue & white, Lohan - Maxi dress - silver/black, High heels - blue, Lace-ups - grey\\",\\"1, 1, 1, 1\\",\\"ZO0268202682, ZO0048200482, ZO0134801348, ZO0668406684\\",\\"0, 0, 0, 0\\",\\"50, 60, 24.984, 65\\",\\"50, 60, 24.984, 65\\",\\"0, 0, 0, 0\\",\\"ZO0268202682, ZO0048200482, ZO0134801348, ZO0668406684\\",200,200,4,4,order,wilhemina +rQMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Ruiz\\",\\"Rabbia Al Ruiz\\",FEMALE,5,Ruiz,Ruiz,\\"(empty)\\",Friday,4,\\"rabbia al@ruiz-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Tigress Enterprises MAMA\\",\\"Tigress Enterprises MAMA\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561953,\\"sold_product_561953_22114, sold_product_561953_19225\\",\\"sold_product_561953_22114, sold_product_561953_19225\\",\\"29.984, 22.984\\",\\"29.984, 22.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises MAMA, Tigress Enterprises MAMA\\",\\"Tigress Enterprises MAMA, Tigress Enterprises MAMA\\",\\"15.891, 11.273\\",\\"29.984, 22.984\\",\\"22,114, 19,225\\",\\"Blouse - black/white, Blouse - black\\",\\"Blouse - black/white, Blouse - black\\",\\"1, 1\\",\\"ZO0232002320, ZO0231402314\\",\\"0, 0\\",\\"29.984, 22.984\\",\\"29.984, 22.984\\",\\"0, 0\\",\\"ZO0232002320, ZO0231402314\\",\\"52.969\\",\\"52.969\\",2,2,order,rabbia +rgMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,rania,rania,\\"rania Brady\\",\\"rania Brady\\",FEMALE,24,Brady,Brady,\\"(empty)\\",Friday,4,\\"rania@brady-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561997,\\"sold_product_561997_16402, sold_product_561997_12822\\",\\"sold_product_561997_16402, sold_product_561997_12822\\",\\"33, 16.984\\",\\"33, 16.984\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"17.484, 7.82\\",\\"33, 16.984\\",\\"16,402, 12,822\\",\\"Shirt - navy blazer, Platform sandals - navy\\",\\"Shirt - navy blazer, Platform sandals - navy\\",\\"1, 1\\",\\"ZO0346203462, ZO0010700107\\",\\"0, 0\\",\\"33, 16.984\\",\\"33, 16.984\\",\\"0, 0\\",\\"ZO0346203462, ZO0010700107\\",\\"49.969\\",\\"49.969\\",2,2,order,rani +rwMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",EUR,Gwen,Gwen,\\"Gwen Butler\\",\\"Gwen Butler\\",FEMALE,26,Butler,Butler,\\"(empty)\\",Friday,4,\\"gwen@butler-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Low Tide Media, Pyramidustries\\",\\"Low Tide Media, Pyramidustries\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561534,\\"sold_product_561534_25055, sold_product_561534_15461\\",\\"sold_product_561534_25055, sold_product_561534_15461\\",\\"50, 16.984\\",\\"50, 16.984\\",\\"Women's Shoes, Women's Accessories\\",\\"Women's Shoes, Women's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Pyramidustries\\",\\"Low Tide Media, Pyramidustries\\",\\"23, 8.492\\",\\"50, 16.984\\",\\"25,055, 15,461\\",\\"Ankle boots - Dodger Blue, Across body bag - black \\",\\"Ankle boots - Dodger Blue, Across body bag - black \\",\\"1, 1\\",\\"ZO0380303803, ZO0211902119\\",\\"0, 0\\",\\"50, 16.984\\",\\"50, 16.984\\",\\"0, 0\\",\\"ZO0380303803, ZO0211902119\\",67,67,2,2,order,gwen +sQMtOW0BH63Xcmy44WRv,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Wagdi,Wagdi,\\"Wagdi Graham\\",\\"Wagdi Graham\\",MALE,15,Graham,Graham,\\"(empty)\\",Friday,4,\\"wagdi@graham-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",Elitelligence,Elitelligence,\\"Jun 20, 2019 @ 00:00:00.000\\",561632,\\"sold_product_561632_19048, sold_product_561632_15628\\",\\"sold_product_561632_19048, sold_product_561632_15628\\",\\"10.992, 20.984\\",\\"10.992, 20.984\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"5.93, 10.078\\",\\"10.992, 20.984\\",\\"19,048, 15,628\\",\\"Long sleeved top - lt grey/dk grey , Watch - brown\\",\\"Long sleeved top - lt grey/dk grey , Watch - brown\\",\\"1, 1\\",\\"ZO0546605466, ZO0600906009\\",\\"0, 0\\",\\"10.992, 20.984\\",\\"10.992, 20.984\\",\\"0, 0\\",\\"ZO0546605466, ZO0600906009\\",\\"31.984\\",\\"31.984\\",2,2,order,wagdi +DwMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Romero\\",\\"Mostafa Romero\\",MALE,9,Romero,Romero,\\"(empty)\\",Friday,4,\\"mostafa@romero-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561676,\\"sold_product_561676_1702, sold_product_561676_11429\\",\\"sold_product_561676_1702, sold_product_561676_11429\\",\\"25.984, 10.992\\",\\"25.984, 10.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Spritechnologies\\",\\"Elitelligence, Spritechnologies\\",\\"12.219, 5.391\\",\\"25.984, 10.992\\",\\"1,702, 11,429\\",\\"Trainers - black/grey, Swimming shorts - lime punch\\",\\"Trainers - black/grey, Swimming shorts - lime punch\\",\\"1, 1\\",\\"ZO0512705127, ZO0629406294\\",\\"0, 0\\",\\"25.984, 10.992\\",\\"25.984, 10.992\\",\\"0, 0\\",\\"ZO0512705127, ZO0629406294\\",\\"36.969\\",\\"36.969\\",2,2,order,mostafa +EAMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Estrada\\",\\"Abdulraheem Al Estrada\\",MALE,33,Estrada,Estrada,\\"(empty)\\",Friday,4,\\"abdulraheem al@estrada-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561218,\\"sold_product_561218_14074, sold_product_561218_12696\\",\\"sold_product_561218_14074, sold_product_561218_12696\\",\\"60, 75\\",\\"60, 75\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"27.594, 36.75\\",\\"60, 75\\",\\"14,074, 12,696\\",\\"Suit jacket - dark blue, Briefcase - brandy\\",\\"Suit jacket - dark blue, Briefcase - brandy\\",\\"1, 1\\",\\"ZO0409604096, ZO0466904669\\",\\"0, 0\\",\\"60, 75\\",\\"60, 75\\",\\"0, 0\\",\\"ZO0409604096, ZO0466904669\\",135,135,2,2,order,abdulraheem +EQMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Diane,Diane,\\"Diane Reese\\",\\"Diane Reese\\",FEMALE,22,Reese,Reese,\\"(empty)\\",Friday,4,\\"diane@reese-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",Pyramidustries,Pyramidustries,\\"Jun 20, 2019 @ 00:00:00.000\\",561256,\\"sold_product_561256_23086, sold_product_561256_16589\\",\\"sold_product_561256_23086, sold_product_561256_16589\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"12.742, 8.492\\",\\"24.984, 16.984\\",\\"23,086, 16,589\\",\\"Jersey dress - black, Long sleeved top - black\\",\\"Jersey dress - black, Long sleeved top - black\\",\\"1, 1\\",\\"ZO0151601516, ZO0162901629\\",\\"0, 0\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"0, 0\\",\\"ZO0151601516, ZO0162901629\\",\\"41.969\\",\\"41.969\\",2,2,order,diane +EgMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Jackson,Jackson,\\"Jackson Rivera\\",\\"Jackson Rivera\\",MALE,13,Rivera,Rivera,\\"(empty)\\",Friday,4,\\"jackson@rivera-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561311,\\"sold_product_561311_22466, sold_product_561311_13378\\",\\"sold_product_561311_22466, sold_product_561311_13378\\",\\"20.984, 50\\",\\"20.984, 50\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"10.703, 24.5\\",\\"20.984, 50\\",\\"22,466, 13,378\\",\\"Sweatshirt - black , Casual lace-ups - cognac\\",\\"Sweatshirt - black , Casual lace-ups - cognac\\",\\"1, 1\\",\\"ZO0458604586, ZO0391603916\\",\\"0, 0\\",\\"20.984, 50\\",\\"20.984, 50\\",\\"0, 0\\",\\"ZO0458604586, ZO0391603916\\",71,71,2,2,order,jackson +EwMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Mccarthy\\",\\"Wilhemina St. Mccarthy\\",FEMALE,17,Mccarthy,Mccarthy,\\"(empty)\\",Friday,4,\\"wilhemina st.@mccarthy-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561781,\\"sold_product_561781_5453, sold_product_561781_15437\\",\\"sold_product_561781_5453, sold_product_561781_15437\\",\\"50, 33\\",\\"50, 33\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"26.984, 18.141\\",\\"50, 33\\",\\"5,453, 15,437\\",\\"Slip-ons - Midnight Blue, Summer dress - black\\",\\"Slip-ons - Midnight Blue, Summer dress - black\\",\\"1, 1\\",\\"ZO0235402354, ZO0048700487\\",\\"0, 0\\",\\"50, 33\\",\\"50, 33\\",\\"0, 0\\",\\"ZO0235402354, ZO0048700487\\",83,83,2,2,order,wilhemina +ewMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Kamal,Kamal,\\"Kamal Garza\\",\\"Kamal Garza\\",MALE,39,Garza,Garza,\\"(empty)\\",Friday,4,\\"kamal@garza-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Microlutions, Low Tide Media\\",\\"Microlutions, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561375,\\"sold_product_561375_2773, sold_product_561375_18549\\",\\"sold_product_561375_2773, sold_product_561375_18549\\",\\"85, 24.984\\",\\"85, 24.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Low Tide Media\\",\\"Microlutions, Low Tide Media\\",\\"39.094, 11.5\\",\\"85, 24.984\\",\\"2,773, 18,549\\",\\"Winter jacket - black, Trousers - dark blue\\",\\"Winter jacket - black, Trousers - dark blue\\",\\"1, 1\\",\\"ZO0115201152, ZO0420404204\\",\\"0, 0\\",\\"85, 24.984\\",\\"85, 24.984\\",\\"0, 0\\",\\"ZO0115201152, ZO0420404204\\",110,110,2,2,order,kamal +fAMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Brigitte,Brigitte,\\"Brigitte Simpson\\",\\"Brigitte Simpson\\",FEMALE,12,Simpson,Simpson,\\"(empty)\\",Friday,4,\\"brigitte@simpson-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561876,\\"sold_product_561876_11067, sold_product_561876_20664\\",\\"sold_product_561876_11067, sold_product_561876_20664\\",\\"13.992, 28.984\\",\\"13.992, 28.984\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"7.27, 14.781\\",\\"13.992, 28.984\\",\\"11,067, 20,664\\",\\"Print T-shirt - black/turquoise, Trainers - navy/black\\",\\"Print T-shirt - black/turquoise, Trainers - navy/black\\",\\"1, 1\\",\\"ZO0170301703, ZO0027000270\\",\\"0, 0\\",\\"13.992, 28.984\\",\\"13.992, 28.984\\",\\"0, 0\\",\\"ZO0170301703, ZO0027000270\\",\\"42.969\\",\\"42.969\\",2,2,order,brigitte +fQMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty Chapman\\",\\"Betty Chapman\\",FEMALE,44,Chapman,Chapman,\\"(empty)\\",Friday,4,\\"betty@chapman-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Pyramidustries,Pyramidustries,\\"Jun 20, 2019 @ 00:00:00.000\\",561633,\\"sold_product_561633_23859, sold_product_561633_7687\\",\\"sold_product_561633_23859, sold_product_561633_7687\\",\\"16.984, 13.992\\",\\"16.984, 13.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"8.328, 6.719\\",\\"16.984, 13.992\\",\\"23,859, 7,687\\",\\"Long sleeved top - berry, Print T-shirt - black\\",\\"Long sleeved top - berry, Print T-shirt - black\\",\\"1, 1\\",\\"ZO0165001650, ZO0159001590\\",\\"0, 0\\",\\"16.984, 13.992\\",\\"16.984, 13.992\\",\\"0, 0\\",\\"ZO0165001650, ZO0159001590\\",\\"30.984\\",\\"30.984\\",2,2,order,betty +4wMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Wood\\",\\"Elyssa Wood\\",FEMALE,27,Wood,Wood,\\"(empty)\\",Friday,4,\\"elyssa@wood-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Oceanavigations, Spherecords\\",\\"Oceanavigations, Spherecords\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562323,\\"sold_product_562323_17653, sold_product_562323_25172\\",\\"sold_product_562323_17653, sold_product_562323_25172\\",\\"65, 20.984\\",\\"65, 20.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Spherecords\\",\\"Oceanavigations, Spherecords\\",\\"31.844, 11.539\\",\\"65, 20.984\\",\\"17,653, 25,172\\",\\"Classic heels - blush, Blouse - black\\",\\"Classic heels - blush, Blouse - black\\",\\"1, 1\\",\\"ZO0238502385, ZO0650406504\\",\\"0, 0\\",\\"65, 20.984\\",\\"65, 20.984\\",\\"0, 0\\",\\"ZO0238502385, ZO0650406504\\",86,86,2,2,order,elyssa +5AMtOW0BH63Xcmy44mWR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Elyssa,Elyssa,\\"Elyssa Nash\\",\\"Elyssa Nash\\",FEMALE,27,Nash,Nash,\\"(empty)\\",Friday,4,\\"elyssa@nash-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562358,\\"sold_product_562358_15777, sold_product_562358_20699\\",\\"sold_product_562358_15777, sold_product_562358_20699\\",\\"60, 18.984\\",\\"60, 18.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Tigress Enterprises\\",\\"Gnomehouse, Tigress Enterprises\\",\\"33, 9.68\\",\\"60, 18.984\\",\\"15,777, 20,699\\",\\"Summer dress - Lemon Chiffon, Watch - black\\",\\"Summer dress - Lemon Chiffon, Watch - black\\",\\"1, 1\\",\\"ZO0337303373, ZO0079600796\\",\\"0, 0\\",\\"60, 18.984\\",\\"60, 18.984\\",\\"0, 0\\",\\"ZO0337303373, ZO0079600796\\",79,79,2,2,order,elyssa +DwMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes, Men's Accessories\\",\\"Men's Clothing, Men's Shoes, Men's Accessories\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Bryan\\",\\"Sultan Al Bryan\\",MALE,19,Bryan,Bryan,\\"(empty)\\",Friday,4,\\"sultan al@bryan-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Oceanavigations, (empty), Low Tide Media\\",\\"Oceanavigations, (empty), Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",718360,\\"sold_product_718360_16955, sold_product_718360_20827, sold_product_718360_14564, sold_product_718360_21672\\",\\"sold_product_718360_16955, sold_product_718360_20827, sold_product_718360_14564, sold_product_718360_21672\\",\\"200, 165, 10.992, 16.984\\",\\"200, 165, 10.992, 16.984\\",\\"Men's Clothing, Men's Shoes, Men's Accessories, Men's Clothing\\",\\"Men's Clothing, Men's Shoes, Men's Accessories, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Oceanavigations, (empty), Low Tide Media, Low Tide Media\\",\\"Oceanavigations, (empty), Low Tide Media, Low Tide Media\\",\\"92, 85.813, 4.949, 9\\",\\"200, 165, 10.992, 16.984\\",\\"16,955, 20,827, 14,564, 21,672\\",\\"Classic coat - navy, Boots - black, Hat - light grey multicolor, Polo shirt - black multicolor\\",\\"Classic coat - navy, Boots - black, Hat - light grey multicolor, Polo shirt - black multicolor\\",\\"1, 1, 1, 1\\",\\"ZO0291402914, ZO0483804838, ZO0460304603, ZO0443904439\\",\\"0, 0, 0, 0\\",\\"200, 165, 10.992, 16.984\\",\\"200, 165, 10.992, 16.984\\",\\"0, 0, 0, 0\\",\\"ZO0291402914, ZO0483804838, ZO0460304603, ZO0443904439\\",393,393,4,4,order,sultan +JgMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",EUR,Jim,Jim,\\"Jim Rowe\\",\\"Jim Rowe\\",MALE,41,Rowe,Rowe,\\"(empty)\\",Friday,4,\\"jim@rowe-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561969,\\"sold_product_561969_1737, sold_product_561969_14073\\",\\"sold_product_561969_1737, sold_product_561969_14073\\",\\"42, 33\\",\\"42, 33\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"18.906, 17.156\\",\\"42, 33\\",\\"1,737, 14,073\\",\\"Lace-up boots - brown, Briefcase - brown \\",\\"Lace-up boots - brown, Briefcase - brown \\",\\"1, 1\\",\\"ZO0521205212, ZO0316003160\\",\\"0, 0\\",\\"42, 33\\",\\"42, 33\\",\\"0, 0\\",\\"ZO0521205212, ZO0316003160\\",75,75,2,2,order,jim +JwMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Mary,Mary,\\"Mary Garza\\",\\"Mary Garza\\",FEMALE,20,Garza,Garza,\\"(empty)\\",Friday,4,\\"mary@garza-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562011,\\"sold_product_562011_7816, sold_product_562011_13449\\",\\"sold_product_562011_7816, sold_product_562011_13449\\",\\"33, 75\\",\\"33, 75\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations\\",\\"16.5, 37.5\\",\\"33, 75\\",\\"7,816, 13,449\\",\\"Cardigan - Sky Blue, Ankle boots - black\\",\\"Cardigan - Sky Blue, Ankle boots - black\\",\\"1, 1\\",\\"ZO0068200682, ZO0245202452\\",\\"0, 0\\",\\"33, 75\\",\\"33, 75\\",\\"0, 0\\",\\"ZO0068200682, ZO0245202452\\",108,108,2,2,order,mary +oAMtOW0BH63Xcmy44maR,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories, Men's Shoes\\",\\"Men's Clothing, Men's Accessories, Men's Shoes\\",EUR,Eddie,Eddie,\\"Eddie Hodges\\",\\"Eddie Hodges\\",MALE,38,Hodges,Hodges,\\"(empty)\\",Friday,4,\\"eddie@hodges-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Microlutions, Low Tide Media, Angeldale\\",\\"Microlutions, Low Tide Media, Angeldale\\",\\"Jun 20, 2019 @ 00:00:00.000\\",719185,\\"sold_product_719185_18940, sold_product_719185_24924, sold_product_719185_20248, sold_product_719185_24003\\",\\"sold_product_719185_18940, sold_product_719185_24924, sold_product_719185_20248, sold_product_719185_24003\\",\\"14.992, 10.992, 60, 100\\",\\"14.992, 10.992, 60, 100\\",\\"Men's Clothing, Men's Clothing, Men's Accessories, Men's Shoes\\",\\"Men's Clothing, Men's Clothing, Men's Accessories, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Microlutions, Low Tide Media, Low Tide Media, Angeldale\\",\\"Microlutions, Low Tide Media, Low Tide Media, Angeldale\\",\\"7.352, 5.711, 33, 47\\",\\"14.992, 10.992, 60, 100\\",\\"18,940, 24,924, 20,248, 24,003\\",\\"Basic T-shirt - marshmallow, Print T-shirt - navy, Across body bag - black, Lace-ups - Midnight Blue\\",\\"Basic T-shirt - marshmallow, Print T-shirt - navy, Across body bag - black, Lace-ups - Midnight Blue\\",\\"1, 1, 1, 1\\",\\"ZO0118601186, ZO0438904389, ZO0468004680, ZO0684106841\\",\\"0, 0, 0, 0\\",\\"14.992, 10.992, 60, 100\\",\\"14.992, 10.992, 60, 100\\",\\"0, 0, 0, 0\\",\\"ZO0118601186, ZO0438904389, ZO0468004680, ZO0684106841\\",186,186,4,4,order,eddie +rQMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Selena,Selena,\\"Selena Evans\\",\\"Selena Evans\\",FEMALE,42,Evans,Evans,\\"(empty)\\",Friday,4,\\"selena@evans-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561669,\\"sold_product_561669_11107, sold_product_561669_19052\\",\\"sold_product_561669_11107, sold_product_561669_19052\\",\\"20.984, 14.992\\",\\"20.984, 14.992\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"11.117, 7.051\\",\\"20.984, 14.992\\",\\"11,107, 19,052\\",\\"Pyjamas - grey/pink , 2 PACK - Basic T-shirt - black/white\\",\\"Pyjamas - grey/pink , 2 PACK - Basic T-shirt - black/white\\",\\"1, 1\\",\\"ZO0100001000, ZO0642406424\\",\\"0, 0\\",\\"20.984, 14.992\\",\\"20.984, 14.992\\",\\"0, 0\\",\\"ZO0100001000, ZO0642406424\\",\\"35.969\\",\\"35.969\\",2,2,order,selena +rgMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Wood\\",\\"Wilhemina St. Wood\\",FEMALE,17,Wood,Wood,\\"(empty)\\",Friday,4,\\"wilhemina st.@wood-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Spherecords, Tigress Enterprises Curvy\\",\\"Spherecords, Tigress Enterprises Curvy\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561225,\\"sold_product_561225_16493, sold_product_561225_13770\\",\\"sold_product_561225_16493, sold_product_561225_13770\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Tigress Enterprises Curvy\\",\\"Spherecords, Tigress Enterprises Curvy\\",\\"12.492, 22.672\\",\\"24.984, 42\\",\\"16,493, 13,770\\",\\"Dressing gown - pale pink, Summer dress - peacoat\\",\\"Dressing gown - pale pink, Summer dress - peacoat\\",\\"1, 1\\",\\"ZO0660906609, ZO0102801028\\",\\"0, 0\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"0, 0\\",\\"ZO0660906609, ZO0102801028\\",67,67,2,2,order,wilhemina +rwMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Hampton\\",\\"Abigail Hampton\\",FEMALE,46,Hampton,Hampton,\\"(empty)\\",Friday,4,\\"abigail@hampton-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561284,\\"sold_product_561284_13751, sold_product_561284_24729\\",\\"sold_product_561284_13751, sold_product_561284_24729\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"11.5, 8.156\\",\\"24.984, 16.984\\",\\"13,751, 24,729\\",\\"Rucksack - black, Vest - black\\",\\"Rucksack - black, Vest - black\\",\\"1, 1\\",\\"ZO0086300863, ZO0171901719\\",\\"0, 0\\",\\"24.984, 16.984\\",\\"24.984, 16.984\\",\\"0, 0\\",\\"ZO0086300863, ZO0171901719\\",\\"41.969\\",\\"41.969\\",2,2,order,abigail +sAMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Rodriguez\\",\\"Gwen Rodriguez\\",FEMALE,26,Rodriguez,Rodriguez,\\"(empty)\\",Friday,4,\\"gwen@rodriguez-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561735,\\"sold_product_561735_15452, sold_product_561735_17692\\",\\"sold_product_561735_15452, sold_product_561735_17692\\",\\"33, 20.984\\",\\"33, 20.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"17.813, 9.656\\",\\"33, 20.984\\",\\"15,452, 17,692\\",\\"High heels - black, Long sleeved top - peacoat\\",\\"High heels - black, Long sleeved top - peacoat\\",\\"1, 1\\",\\"ZO0006300063, ZO0058400584\\",\\"0, 0\\",\\"33, 20.984\\",\\"33, 20.984\\",\\"0, 0\\",\\"ZO0006300063, ZO0058400584\\",\\"53.969\\",\\"53.969\\",2,2,order,gwen +sQMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",EUR,Abd,Abd,\\"Abd Fleming\\",\\"Abd Fleming\\",MALE,52,Fleming,Fleming,\\"(empty)\\",Friday,4,\\"abd@fleming-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561798,\\"sold_product_561798_23272, sold_product_561798_19140\\",\\"sold_product_561798_23272, sold_product_561798_19140\\",\\"100, 24.984\\",\\"100, 24.984\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"54, 13.742\\",\\"100, 24.984\\",\\"23,272, 19,140\\",\\"Lace-ups - bianco, Across body bag - black/dark brown\\",\\"Lace-ups - bianco, Across body bag - black/dark brown\\",\\"1, 1\\",\\"ZO0684006840, ZO0469104691\\",\\"0, 0\\",\\"100, 24.984\\",\\"100, 24.984\\",\\"0, 0\\",\\"ZO0684006840, ZO0469104691\\",125,125,2,2,order,abd +3QMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Morrison\\",\\"Elyssa Morrison\\",FEMALE,27,Morrison,Morrison,\\"(empty)\\",Friday,4,\\"elyssa@morrison-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Pyramidustries, Microlutions\\",\\"Pyramidustries, Microlutions\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562047,\\"sold_product_562047_19148, sold_product_562047_11032\\",\\"sold_product_562047_19148, sold_product_562047_11032\\",\\"11.992, 75\\",\\"11.992, 75\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Microlutions\\",\\"Pyramidustries, Microlutions\\",\\"6.109, 38.25\\",\\"11.992, 75\\",\\"19,148, 11,032\\",\\"Clutch - black, Parka - mottled grey\\",\\"Clutch - black, Parka - mottled grey\\",\\"1, 1\\",\\"ZO0203102031, ZO0115701157\\",\\"0, 0\\",\\"11.992, 75\\",\\"11.992, 75\\",\\"0, 0\\",\\"ZO0203102031, ZO0115701157\\",87,87,2,2,order,elyssa +3gMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Muniz,Muniz,\\"Muniz Reese\\",\\"Muniz Reese\\",MALE,37,Reese,Reese,\\"(empty)\\",Friday,4,\\"muniz@reese-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562107,\\"sold_product_562107_18292, sold_product_562107_23258\\",\\"sold_product_562107_18292, sold_product_562107_23258\\",\\"100, 20.984\\",\\"100, 20.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"52, 10.289\\",\\"100, 20.984\\",\\"18,292, 23,258\\",\\"Snowboard jacket - mottled grey, Jumper - grey/dark blue\\",\\"Snowboard jacket - mottled grey, Jumper - grey/dark blue\\",\\"1, 1\\",\\"ZO0624806248, ZO0579405794\\",\\"0, 0\\",\\"100, 20.984\\",\\"100, 20.984\\",\\"0, 0\\",\\"ZO0624806248, ZO0579405794\\",121,121,2,2,order,muniz +3wMtOW0BH63Xcmy442bU,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes\\",\\"Men's Shoes\\",EUR,Samir,Samir,\\"Samir Foster\\",\\"Samir Foster\\",MALE,34,Foster,Foster,\\"(empty)\\",Friday,4,\\"samir@foster-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562290,\\"sold_product_562290_1665, sold_product_562290_24934\\",\\"sold_product_562290_1665, sold_product_562290_24934\\",\\"65, 50\\",\\"65, 50\\",\\"Men's Shoes, Men's Shoes\\",\\"Men's Shoes, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"31.203, 22.5\\",\\"65, 50\\",\\"1,665, 24,934\\",\\"Boots - light brown, Lace-up boots - resin coffee\\",\\"Boots - light brown, Lace-up boots - resin coffee\\",\\"1, 1\\",\\"ZO0686106861, ZO0403504035\\",\\"0, 0\\",\\"65, 50\\",\\"65, 50\\",\\"0, 0\\",\\"ZO0686106861, ZO0403504035\\",115,115,2,2,order,samir +PAMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Abd,Abd,\\"Abd Harvey\\",\\"Abd Harvey\\",MALE,52,Harvey,Harvey,\\"(empty)\\",Friday,4,\\"abd@harvey-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",720967,\\"sold_product_720967_24934, sold_product_720967_12278, sold_product_720967_14535, sold_product_720967_17629\\",\\"sold_product_720967_24934, sold_product_720967_12278, sold_product_720967_14535, sold_product_720967_17629\\",\\"50, 11.992, 28.984, 24.984\\",\\"50, 11.992, 28.984, 24.984\\",\\"Men's Shoes, Men's Clothing, Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing, Men's Shoes, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Low Tide Media, Elitelligence, Elitelligence, Elitelligence\\",\\"Low Tide Media, Elitelligence, Elitelligence, Elitelligence\\",\\"22.5, 6, 13.922, 12.992\\",\\"50, 11.992, 28.984, 24.984\\",\\"24,934, 12,278, 14,535, 17,629\\",\\"Lace-up boots - resin coffee, Print T-shirt - black, Boots - brown, Tracksuit bottoms - mottled grey\\",\\"Lace-up boots - resin coffee, Print T-shirt - black, Boots - brown, Tracksuit bottoms - mottled grey\\",\\"1, 1, 1, 1\\",\\"ZO0403504035, ZO0553005530, ZO0519905199, ZO0528605286\\",\\"0, 0, 0, 0\\",\\"50, 11.992, 28.984, 24.984\\",\\"50, 11.992, 28.984, 24.984\\",\\"0, 0, 0, 0\\",\\"ZO0403504035, ZO0553005530, ZO0519905199, ZO0528605286\\",\\"115.938\\",\\"115.938\\",4,4,order,abd +bQMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Nash\\",\\"Fitzgerald Nash\\",MALE,11,Nash,Nash,\\"(empty)\\",Friday,4,\\"fitzgerald@nash-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561564,\\"sold_product_561564_6597, sold_product_561564_12482\\",\\"sold_product_561564_6597, sold_product_561564_12482\\",\\"17.984, 60\\",\\"17.984, 60\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"9.531, 30\\",\\"17.984, 60\\",\\"6,597, 12,482\\",\\"Jumper - dark grey multicolor, Across body bag - black\\",\\"Jumper - dark grey multicolor, Across body bag - black\\",\\"1, 1\\",\\"ZO0451204512, ZO0463804638\\",\\"0, 0\\",\\"17.984, 60\\",\\"17.984, 60\\",\\"0, 0\\",\\"ZO0451204512, ZO0463804638\\",78,78,2,2,order,fuzzy +cAMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Hopkins\\",\\"Elyssa Hopkins\\",FEMALE,27,Hopkins,Hopkins,\\"(empty)\\",Friday,4,\\"elyssa@hopkins-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Spherecords, Low Tide Media\\",\\"Spherecords, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561444,\\"sold_product_561444_21181, sold_product_561444_11368\\",\\"sold_product_561444_21181, sold_product_561444_11368\\",\\"21.984, 33\\",\\"21.984, 33\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Low Tide Media\\",\\"Spherecords, Low Tide Media\\",\\"10.563, 15.18\\",\\"21.984, 33\\",\\"21,181, 11,368\\",\\"Cardigan - beige, Slip-ons - beige \\",\\"Cardigan - beige, Slip-ons - beige \\",\\"1, 1\\",\\"ZO0651806518, ZO0369703697\\",\\"0, 0\\",\\"21.984, 33\\",\\"21.984, 33\\",\\"0, 0\\",\\"ZO0651806518, ZO0369703697\\",\\"54.969\\",\\"54.969\\",2,2,order,elyssa +cQMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty Brady\\",\\"Betty Brady\\",FEMALE,44,Brady,Brady,\\"(empty)\\",Friday,4,\\"betty@brady-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Pyramidustries,Pyramidustries,\\"Jun 20, 2019 @ 00:00:00.000\\",561482,\\"sold_product_561482_8985, sold_product_561482_15058\\",\\"sold_product_561482_8985, sold_product_561482_15058\\",\\"60, 33\\",\\"60, 33\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"27.594, 16.172\\",\\"60, 33\\",\\"8,985, 15,058\\",\\"Light jacket - cognac, Faux leather jacket - pink\\",\\"Light jacket - cognac, Faux leather jacket - pink\\",\\"1, 1\\",\\"ZO0184901849, ZO0174301743\\",\\"0, 0\\",\\"60, 33\\",\\"60, 33\\",\\"0, 0\\",\\"ZO0184901849, ZO0174301743\\",93,93,2,2,order,betty +jgMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Mostafa,Mostafa,\\"Mostafa Hopkins\\",\\"Mostafa Hopkins\\",MALE,9,Hopkins,Hopkins,\\"(empty)\\",Friday,4,\\"mostafa@hopkins-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Oceanavigations, Angeldale\\",\\"Oceanavigations, Angeldale\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562456,\\"sold_product_562456_11345, sold_product_562456_15411\\",\\"sold_product_562456_11345, sold_product_562456_15411\\",\\"7.988, 16.984\\",\\"7.988, 16.984\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Angeldale\\",\\"Oceanavigations, Angeldale\\",\\"3.76, 7.82\\",\\"7.988, 16.984\\",\\"11,345, 15,411\\",\\"Tie - grey, Belt - black\\",\\"Tie - grey, Belt - black\\",\\"1, 1\\",\\"ZO0276302763, ZO0701407014\\",\\"0, 0\\",\\"7.988, 16.984\\",\\"7.988, 16.984\\",\\"0, 0\\",\\"ZO0276302763, ZO0701407014\\",\\"24.984\\",\\"24.984\\",2,2,order,mostafa +jwMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Tyler\\",\\"Rabbia Al Tyler\\",FEMALE,5,Tyler,Tyler,\\"(empty)\\",Friday,4,\\"rabbia al@tyler-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Oceanavigations, Tigress Enterprises Curvy\\",\\"Oceanavigations, Tigress Enterprises Curvy\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562499,\\"sold_product_562499_5501, sold_product_562499_20439\\",\\"sold_product_562499_5501, sold_product_562499_20439\\",\\"75, 22.984\\",\\"75, 22.984\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Tigress Enterprises Curvy\\",\\"Oceanavigations, Tigress Enterprises Curvy\\",\\"40.5, 11.492\\",\\"75, 22.984\\",\\"5,501, 20,439\\",\\"Ankle boots - Midnight Blue, Blouse - black\\",\\"Ankle boots - Midnight Blue, Blouse - black\\",\\"1, 1\\",\\"ZO0244802448, ZO0105701057\\",\\"0, 0\\",\\"75, 22.984\\",\\"75, 22.984\\",\\"0, 0\\",\\"ZO0244802448, ZO0105701057\\",98,98,2,2,order,rabbia +kAMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Yuri,Yuri,\\"Yuri James\\",\\"Yuri James\\",MALE,21,James,James,\\"(empty)\\",Friday,4,\\"yuri@james-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562152,\\"sold_product_562152_17873, sold_product_562152_19670\\",\\"sold_product_562152_17873, sold_product_562152_19670\\",\\"10.992, 37\\",\\"10.992, 37\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"5.602, 19.594\\",\\"10.992, 37\\",\\"17,873, 19,670\\",\\"Sports shirt - Seashell, Tracksuit top - black\\",\\"Sports shirt - Seashell, Tracksuit top - black\\",\\"1, 1\\",\\"ZO0616606166, ZO0589705897\\",\\"0, 0\\",\\"10.992, 37\\",\\"10.992, 37\\",\\"0, 0\\",\\"ZO0616606166, ZO0589705897\\",\\"47.969\\",\\"47.969\\",2,2,order,yuri +kQMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Gibbs\\",\\"Wilhemina St. Gibbs\\",FEMALE,17,Gibbs,Gibbs,\\"(empty)\\",Friday,4,\\"wilhemina st.@gibbs-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562192,\\"sold_product_562192_18762, sold_product_562192_21085\\",\\"sold_product_562192_18762, sold_product_562192_21085\\",\\"16.984, 16.984\\",\\"16.984, 16.984\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"8.656, 7.988\\",\\"16.984, 16.984\\",\\"18,762, 21,085\\",\\"Watch - nude, Vest - black\\",\\"Watch - nude, Vest - black\\",\\"1, 1\\",\\"ZO0079700797, ZO0168201682\\",\\"0, 0\\",\\"16.984, 16.984\\",\\"16.984, 16.984\\",\\"0, 0\\",\\"ZO0079700797, ZO0168201682\\",\\"33.969\\",\\"33.969\\",2,2,order,wilhemina +lAMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Jim,Jim,\\"Jim Graves\\",\\"Jim Graves\\",MALE,41,Graves,Graves,\\"(empty)\\",Friday,4,\\"jim@graves-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Elitelligence,Elitelligence,\\"Jun 20, 2019 @ 00:00:00.000\\",562528,\\"sold_product_562528_11997, sold_product_562528_14014\\",\\"sold_product_562528_11997, sold_product_562528_14014\\",\\"16.984, 42\\",\\"16.984, 42\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"9.172, 20.156\\",\\"16.984, 42\\",\\"11,997, 14,014\\",\\"College - Polo shirt - dark red, Weekend bag - dark brown\\",\\"College - Polo shirt - dark red, Weekend bag - dark brown\\",\\"1, 1\\",\\"ZO0522905229, ZO0608606086\\",\\"0, 0\\",\\"16.984, 42\\",\\"16.984, 42\\",\\"0, 0\\",\\"ZO0522905229, ZO0608606086\\",\\"58.969\\",\\"58.969\\",2,2,order,jim +mgMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Tariq,Tariq,\\"Tariq Lewis\\",\\"Tariq Lewis\\",MALE,25,Lewis,Lewis,\\"(empty)\\",Friday,4,\\"tariq@lewis-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Oceanavigations, Low Tide Media, Elitelligence\\",\\"Oceanavigations, Low Tide Media, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",715286,\\"sold_product_715286_19758, sold_product_715286_12040, sold_product_715286_3096, sold_product_715286_13247\\",\\"sold_product_715286_19758, sold_product_715286_12040, sold_product_715286_3096, sold_product_715286_13247\\",\\"50, 24.984, 24.984, 11.992\\",\\"50, 24.984, 24.984, 11.992\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Oceanavigations, Oceanavigations, Low Tide Media, Elitelligence\\",\\"Oceanavigations, Oceanavigations, Low Tide Media, Elitelligence\\",\\"25, 12.492, 11.25, 5.641\\",\\"50, 24.984, 24.984, 11.992\\",\\"19,758, 12,040, 3,096, 13,247\\",\\"Sweatshirt - grey multicolor, Shirt - navy, Jumper - dark blue, Pyjama bottoms - light grey multicolor\\",\\"Sweatshirt - grey multicolor, Shirt - navy, Jumper - dark blue, Pyjama bottoms - light grey multicolor\\",\\"1, 1, 1, 1\\",\\"ZO0299802998, ZO0278702787, ZO0448104481, ZO0611906119\\",\\"0, 0, 0, 0\\",\\"50, 24.984, 24.984, 11.992\\",\\"50, 24.984, 24.984, 11.992\\",\\"0, 0, 0, 0\\",\\"ZO0299802998, ZO0278702787, ZO0448104481, ZO0611906119\\",\\"111.938\\",\\"111.938\\",4,4,order,tariq +vQMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Mckenzie\\",\\"Jackson Mckenzie\\",MALE,13,Mckenzie,Mckenzie,\\"(empty)\\",Friday,4,\\"jackson@mckenzie-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561210,\\"sold_product_561210_11019, sold_product_561210_7024\\",\\"sold_product_561210_11019, sold_product_561210_7024\\",\\"33, 16.984\\",\\"33, 16.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"16.813, 9\\",\\"33, 16.984\\",\\"11,019, 7,024\\",\\"Sandals - black, 3 PACK - Basic T-shirt - white/black/grey\\",\\"Sandals - black, 3 PACK - Basic T-shirt - white/black/grey\\",\\"1, 1\\",\\"ZO0407404074, ZO0473704737\\",\\"0, 0\\",\\"33, 16.984\\",\\"33, 16.984\\",\\"0, 0\\",\\"ZO0407404074, ZO0473704737\\",\\"49.969\\",\\"49.969\\",2,2,order,jackson +zwMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",EUR,Jim,Jim,\\"Jim Jensen\\",\\"Jim Jensen\\",MALE,41,Jensen,Jensen,\\"(empty)\\",Friday,4,\\"jim@jensen-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562337,\\"sold_product_562337_18692, sold_product_562337_15189\\",\\"sold_product_562337_18692, sold_product_562337_15189\\",\\"24.984, 65\\",\\"24.984, 65\\",\\"Men's Shoes, Men's Accessories\\",\\"Men's Shoes, Men's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"12.992, 35.75\\",\\"24.984, 65\\",\\"18,692, 15,189\\",\\"High-top trainers - green, Crossover Strap Bag\\",\\"High-top trainers - green, Crossover Strap Bag\\",\\"1, 1\\",\\"ZO0513005130, ZO0463704637\\",\\"0, 0\\",\\"24.984, 65\\",\\"24.984, 65\\",\\"0, 0\\",\\"ZO0513005130, ZO0463704637\\",90,90,2,2,order,jim +5gMtOW0BH63Xcmy442fU,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Lamb\\",\\"Sultan Al Lamb\\",MALE,19,Lamb,Lamb,\\"(empty)\\",Friday,4,\\"sultan al@lamb-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"(empty), Elitelligence, Microlutions, Spritechnologies\\",\\"(empty), Elitelligence, Microlutions, Spritechnologies\\",\\"Jun 20, 2019 @ 00:00:00.000\\",713242,\\"sold_product_713242_12836, sold_product_713242_20514, sold_product_713242_19994, sold_product_713242_11377\\",\\"sold_product_713242_12836, sold_product_713242_20514, sold_product_713242_19994, sold_product_713242_11377\\",\\"165, 24.984, 6.988, 10.992\\",\\"165, 24.984, 6.988, 10.992\\",\\"Men's Shoes, Men's Clothing, Men's Clothing, Men's Clothing\\",\\"Men's Shoes, Men's Clothing, Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"(empty), Elitelligence, Microlutions, Spritechnologies\\",\\"(empty), Elitelligence, Microlutions, Spritechnologies\\",\\"80.875, 11.5, 3.631, 5.711\\",\\"165, 24.984, 6.988, 10.992\\",\\"12,836, 20,514, 19,994, 11,377\\",\\"Lace-ups - brown, Jumper - black, STAY TRUE 2 PACK - Socks - white/grey/black, Swimming shorts - dark red\\",\\"Lace-ups - brown, Jumper - black, STAY TRUE 2 PACK - Socks - white/grey/black, Swimming shorts - dark red\\",\\"1, 1, 1, 1\\",\\"ZO0482004820, ZO0577105771, ZO0130201302, ZO0629006290\\",\\"0, 0, 0, 0\\",\\"165, 24.984, 6.988, 10.992\\",\\"165, 24.984, 6.988, 10.992\\",\\"0, 0, 0, 0\\",\\"ZO0482004820, ZO0577105771, ZO0130201302, ZO0629006290\\",208,208,4,4,order,sultan +JQMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Boris,Boris,\\"Boris Palmer\\",\\"Boris Palmer\\",MALE,36,Palmer,Palmer,\\"(empty)\\",Friday,4,\\"boris@palmer-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Microlutions, Oceanavigations\\",\\"Microlutions, Oceanavigations\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561657,\\"sold_product_561657_13024, sold_product_561657_23055\\",\\"sold_product_561657_13024, sold_product_561657_23055\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Oceanavigations\\",\\"Microlutions, Oceanavigations\\",\\"12, 21.828\\",\\"24.984, 42\\",\\"13,024, 23,055\\",\\"Tracksuit bottoms - red, Waistcoat - black\\",\\"Tracksuit bottoms - red, Waistcoat - black\\",\\"1, 1\\",\\"ZO0111701117, ZO0288002880\\",\\"0, 0\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"0, 0\\",\\"ZO0111701117, ZO0288002880\\",67,67,2,2,order,boris +JgMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Mccarthy\\",\\"Elyssa Mccarthy\\",FEMALE,27,Mccarthy,Mccarthy,\\"(empty)\\",Friday,4,\\"elyssa@mccarthy-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561254,\\"sold_product_561254_12768, sold_product_561254_20992\\",\\"sold_product_561254_12768, sold_product_561254_20992\\",\\"10.992, 28.984\\",\\"10.992, 28.984\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"5.5, 14.211\\",\\"10.992, 28.984\\",\\"12,768, 20,992\\",\\"Snood - nude, Ankle boots - black\\",\\"Snood - nude, Ankle boots - black\\",\\"1, 1\\",\\"ZO0081400814, ZO0022500225\\",\\"0, 0\\",\\"10.992, 28.984\\",\\"10.992, 28.984\\",\\"0, 0\\",\\"ZO0081400814, ZO0022500225\\",\\"39.969\\",\\"39.969\\",2,2,order,elyssa +JwMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Sonya,Sonya,\\"Sonya Jimenez\\",\\"Sonya Jimenez\\",FEMALE,28,Jimenez,Jimenez,\\"(empty)\\",Friday,4,\\"sonya@jimenez-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Pyramidustries, Angeldale\\",\\"Pyramidustries, Angeldale\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561808,\\"sold_product_561808_17597, sold_product_561808_23716\\",\\"sold_product_561808_17597, sold_product_561808_23716\\",\\"13.992, 60\\",\\"13.992, 60\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Angeldale\\",\\"Pyramidustries, Angeldale\\",\\"7.27, 29.406\\",\\"13.992, 60\\",\\"17,597, 23,716\\",\\"Print T-shirt - rose, Espadrilles - gold\\",\\"Print T-shirt - rose, Espadrilles - gold\\",\\"1, 1\\",\\"ZO0161401614, ZO0670406704\\",\\"0, 0\\",\\"13.992, 60\\",\\"13.992, 60\\",\\"0, 0\\",\\"ZO0161401614, ZO0670406704\\",74,74,2,2,order,sonya +SAMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Baker\\",\\"Abdulraheem Al Baker\\",MALE,33,Baker,Baker,\\"(empty)\\",Friday,4,\\"abdulraheem al@baker-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Microlutions, Spritechnologies\\",\\"Microlutions, Spritechnologies\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562394,\\"sold_product_562394_11570, sold_product_562394_15124\\",\\"sold_product_562394_11570, sold_product_562394_15124\\",\\"16.984, 10.992\\",\\"16.984, 10.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Spritechnologies\\",\\"Microlutions, Spritechnologies\\",\\"9.172, 5.5\\",\\"16.984, 10.992\\",\\"11,570, 15,124\\",\\"Print T-shirt - beige, Print T-shirt - dark denim\\",\\"Print T-shirt - beige, Print T-shirt - dark denim\\",\\"1, 1\\",\\"ZO0116701167, ZO0618106181\\",\\"0, 0\\",\\"16.984, 10.992\\",\\"16.984, 10.992\\",\\"0, 0\\",\\"ZO0116701167, ZO0618106181\\",\\"27.984\\",\\"27.984\\",2,2,order,abdulraheem +igMtOW0BH63Xcmy442jU,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Taylor\\",\\"Wilhemina St. Taylor\\",FEMALE,17,Taylor,Taylor,\\"(empty)\\",Friday,4,\\"wilhemina st.@taylor-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Angeldale, Champion Arts, Gnomehouse, Spherecords\\",\\"Angeldale, Champion Arts, Gnomehouse, Spherecords\\",\\"Jun 20, 2019 @ 00:00:00.000\\",731424,\\"sold_product_731424_18737, sold_product_731424_18573, sold_product_731424_19121, sold_product_731424_11250\\",\\"sold_product_731424_18737, sold_product_731424_18573, sold_product_731424_19121, sold_product_731424_11250\\",\\"65, 11.992, 65, 7.988\\",\\"65, 11.992, 65, 7.988\\",\\"Women's Shoes, Women's Clothing, Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing, Women's Shoes, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Angeldale, Champion Arts, Gnomehouse, Spherecords\\",\\"Angeldale, Champion Arts, Gnomehouse, Spherecords\\",\\"31.844, 5.52, 33.781, 3.68\\",\\"65, 11.992, 65, 7.988\\",\\"18,737, 18,573, 19,121, 11,250\\",\\"Lace-ups - black, Print T-shirt - light grey, Ankle boots - khaki, Top - light grey \\",\\"Lace-ups - black, Print T-shirt - light grey, Ankle boots - khaki, Top - light grey \\",\\"1, 1, 1, 1\\",\\"ZO0668706687, ZO0494004940, ZO0326003260, ZO0644206442\\",\\"0, 0, 0, 0\\",\\"65, 11.992, 65, 7.988\\",\\"65, 11.992, 65, 7.988\\",\\"0, 0, 0, 0\\",\\"ZO0668706687, ZO0494004940, ZO0326003260, ZO0644206442\\",150,150,4,4,order,wilhemina +pgMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Mary,Mary,\\"Mary Walters\\",\\"Mary Walters\\",FEMALE,20,Walters,Walters,\\"(empty)\\",Friday,4,\\"mary@walters-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Low Tide Media, Tigress Enterprises\\",\\"Low Tide Media, Tigress Enterprises\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562425,\\"sold_product_562425_22514, sold_product_562425_21356\\",\\"sold_product_562425_22514, sold_product_562425_21356\\",\\"50, 33\\",\\"50, 33\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Tigress Enterprises\\",\\"Low Tide Media, Tigress Enterprises\\",\\"26.984, 16.5\\",\\"50, 33\\",\\"22,514, 21,356\\",\\"Ankle boots - grey, Jersey dress - peacoat\\",\\"Ankle boots - grey, Jersey dress - peacoat\\",\\"1, 1\\",\\"ZO0377603776, ZO0050500505\\",\\"0, 0\\",\\"50, 33\\",\\"50, 33\\",\\"0, 0\\",\\"ZO0377603776, ZO0050500505\\",83,83,2,2,order,mary +pwMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Robert,Robert,\\"Robert Ruiz\\",\\"Robert Ruiz\\",MALE,29,Ruiz,Ruiz,\\"(empty)\\",Friday,4,\\"robert@ruiz-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562464,\\"sold_product_562464_16779, sold_product_562464_24522\\",\\"sold_product_562464_16779, sold_product_562464_24522\\",\\"20.984, 11.992\\",\\"20.984, 11.992\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"11.539, 6\\",\\"20.984, 11.992\\",\\"16,779, 24,522\\",\\"Belt - light brown, Long sleeved top - off-white\\",\\"Belt - light brown, Long sleeved top - off-white\\",\\"1, 1\\",\\"ZO0462004620, ZO0568005680\\",\\"0, 0\\",\\"20.984, 11.992\\",\\"20.984, 11.992\\",\\"0, 0\\",\\"ZO0462004620, ZO0568005680\\",\\"32.969\\",\\"32.969\\",2,2,order,robert +qAMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Selena,Selena,\\"Selena Bryant\\",\\"Selena Bryant\\",FEMALE,42,Bryant,Bryant,\\"(empty)\\",Friday,4,\\"selena@bryant-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562516,\\"sold_product_562516_23076, sold_product_562516_13345\\",\\"sold_product_562516_23076, sold_product_562516_13345\\",\\"42, 7.988\\",\\"42, 7.988\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Tigress Enterprises\\",\\"Oceanavigations, Tigress Enterprises\\",\\"21, 3.68\\",\\"42, 7.988\\",\\"23,076, 13,345\\",\\"Jeans Skinny Fit - blue, Snood - nude/lilac\\",\\"Jeans Skinny Fit - blue, Snood - nude/lilac\\",\\"1, 1\\",\\"ZO0271102711, ZO0081300813\\",\\"0, 0\\",\\"42, 7.988\\",\\"42, 7.988\\",\\"0, 0\\",\\"ZO0271102711, ZO0081300813\\",\\"49.969\\",\\"49.969\\",2,2,order,selena +qQMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Marwan,Marwan,\\"Marwan Webb\\",\\"Marwan Webb\\",MALE,51,Webb,Webb,\\"(empty)\\",Friday,4,\\"marwan@webb-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562161,\\"sold_product_562161_11902, sold_product_562161_24125\\",\\"sold_product_562161_11902, sold_product_562161_24125\\",\\"13.992, 65\\",\\"13.992, 65\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Angeldale\\",\\"Low Tide Media, Angeldale\\",\\"7.551, 31.203\\",\\"13.992, 65\\",\\"11,902, 24,125\\",\\"3 PACK - Shorts - black, Lace-up boots - black\\",\\"3 PACK - Shorts - black, Lace-up boots - black\\",\\"1, 1\\",\\"ZO0477504775, ZO0694406944\\",\\"0, 0\\",\\"13.992, 65\\",\\"13.992, 65\\",\\"0, 0\\",\\"ZO0477504775, ZO0694406944\\",79,79,2,2,order,marwan +qgMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jim,Jim,\\"Jim Dawson\\",\\"Jim Dawson\\",MALE,41,Dawson,Dawson,\\"(empty)\\",Friday,4,\\"jim@dawson-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562211,\\"sold_product_562211_17044, sold_product_562211_19937\\",\\"sold_product_562211_17044, sold_product_562211_19937\\",\\"10.992, 7.988\\",\\"10.992, 7.988\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spritechnologies, Elitelligence\\",\\"Spritechnologies, Elitelligence\\",\\"6.039, 4\\",\\"10.992, 7.988\\",\\"17,044, 19,937\\",\\"Sports shirt - bright white, Basic T-shirt - rose\\",\\"Sports shirt - bright white, Basic T-shirt - rose\\",\\"1, 1\\",\\"ZO0616806168, ZO0551805518\\",\\"0, 0\\",\\"10.992, 7.988\\",\\"10.992, 7.988\\",\\"0, 0\\",\\"ZO0616806168, ZO0551805518\\",\\"18.984\\",\\"18.984\\",2,2,order,jim +tAMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Selena,Selena,\\"Selena Graham\\",\\"Selena Graham\\",FEMALE,42,Graham,Graham,\\"(empty)\\",Friday,4,\\"selena@graham-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Pyramidustries active, Low Tide Media\\",\\"Pyramidustries active, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561831,\\"sold_product_561831_14088, sold_product_561831_20294\\",\\"sold_product_561831_14088, sold_product_561831_20294\\",\\"33, 60\\",\\"33, 60\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries active, Low Tide Media\\",\\"Pyramidustries active, Low Tide Media\\",\\"16.813, 33\\",\\"33, 60\\",\\"14,088, 20,294\\",\\"Tights - duffle bag , Lace-ups - grey\\",\\"Tights - duffle bag , Lace-ups - grey\\",\\"1, 1\\",\\"ZO0225102251, ZO0368803688\\",\\"0, 0\\",\\"33, 60\\",\\"33, 60\\",\\"0, 0\\",\\"ZO0225102251, ZO0368803688\\",93,93,2,2,order,selena +tQMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Robbie,Robbie,\\"Robbie Potter\\",\\"Robbie Potter\\",MALE,48,Potter,Potter,\\"(empty)\\",Friday,4,\\"robbie@potter-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Oceanavigations, Angeldale\\",\\"Oceanavigations, Angeldale\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561864,\\"sold_product_561864_14054, sold_product_561864_20029\\",\\"sold_product_561864_14054, sold_product_561864_20029\\",\\"75, 85\\",\\"75, 85\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Angeldale\\",\\"Oceanavigations, Angeldale\\",\\"36, 43.344\\",\\"75, 85\\",\\"14,054, 20,029\\",\\"Parka - olive, Lace-up boots - Burly Wood\\",\\"Parka - olive, Lace-up boots - Burly Wood\\",\\"1, 1\\",\\"ZO0287002870, ZO0692206922\\",\\"0, 0\\",\\"75, 85\\",\\"75, 85\\",\\"0, 0\\",\\"ZO0287002870, ZO0692206922\\",160,160,2,2,order,robbie +tgMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Abigail,Abigail,\\"Abigail Austin\\",\\"Abigail Austin\\",FEMALE,46,Austin,Austin,\\"(empty)\\",Friday,4,\\"abigail@austin-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561907,\\"sold_product_561907_17540, sold_product_561907_16988\\",\\"sold_product_561907_17540, sold_product_561907_16988\\",\\"60, 60\\",\\"60, 60\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Gnomehouse\\",\\"Tigress Enterprises, Gnomehouse\\",\\"29.406, 30.594\\",\\"60, 60\\",\\"17,540, 16,988\\",\\"Maxi dress - silver blue, Classic heels - black\\",\\"Maxi dress - silver blue, Classic heels - black\\",\\"1, 1\\",\\"ZO0042300423, ZO0321403214\\",\\"0, 0\\",\\"60, 60\\",\\"60, 60\\",\\"0, 0\\",\\"ZO0042300423, ZO0321403214\\",120,120,2,2,order,abigail +vAMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",EUR,Kamal,Kamal,\\"Kamal Boone\\",\\"Kamal Boone\\",MALE,39,Boone,Boone,\\"(empty)\\",Friday,4,\\"kamal@boone-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561245,\\"sold_product_561245_18213, sold_product_561245_17792\\",\\"sold_product_561245_18213, sold_product_561245_17792\\",\\"10.992, 34\\",\\"10.992, 34\\",\\"Men's Clothing, Men's Accessories\\",\\"Men's Clothing, Men's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"5.711, 16.313\\",\\"10.992, 34\\",\\"18,213, 17,792\\",\\"Print T-shirt - white, Briefcase - brown\\",\\"Print T-shirt - white, Briefcase - brown\\",\\"1, 1\\",\\"ZO0554305543, ZO0468204682\\",\\"0, 0\\",\\"10.992, 34\\",\\"10.992, 34\\",\\"0, 0\\",\\"ZO0554305543, ZO0468204682\\",\\"44.969\\",\\"44.969\\",2,2,order,kamal +vQMtOW0BH63Xcmy45GjD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Clarice,Clarice,\\"Clarice Rowe\\",\\"Clarice Rowe\\",FEMALE,18,Rowe,Rowe,\\"(empty)\\",Friday,4,\\"clarice@rowe-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561785,\\"sold_product_561785_15024, sold_product_561785_24186\\",\\"sold_product_561785_15024, sold_product_561785_24186\\",\\"60, 33\\",\\"60, 33\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"31.797, 17.813\\",\\"60, 33\\",\\"15,024, 24,186\\",\\"Cocktail dress / Party dress - black, Beaded Occasion Dress\\",\\"Cocktail dress / Party dress - black, Beaded Occasion Dress\\",\\"1, 1\\",\\"ZO0048600486, ZO0155201552\\",\\"0, 0\\",\\"60, 33\\",\\"60, 33\\",\\"0, 0\\",\\"ZO0048600486, ZO0155201552\\",93,93,2,2,order,clarice +YQMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Betty,Betty,\\"Betty Harmon\\",\\"Betty Harmon\\",FEMALE,44,Harmon,Harmon,\\"(empty)\\",Friday,4,\\"betty@harmon-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Pyramidustries,Pyramidustries,\\"Jun 20, 2019 @ 00:00:00.000\\",561505,\\"sold_product_561505_21534, sold_product_561505_20521\\",\\"sold_product_561505_21534, sold_product_561505_20521\\",\\"20.984, 20.984\\",\\"20.984, 20.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"9.656, 10.703\\",\\"20.984, 20.984\\",\\"21,534, 20,521\\",\\"Vest - black and silver, Hoodie - dark grey multicolor\\",\\"Vest - black and silver, Hoodie - dark grey multicolor\\",\\"1, 1\\",\\"ZO0164001640, ZO0179301793\\",\\"0, 0\\",\\"20.984, 20.984\\",\\"20.984, 20.984\\",\\"0, 0\\",\\"ZO0164001640, ZO0179301793\\",\\"41.969\\",\\"41.969\\",2,2,order,betty +agMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Thad,Thad,\\"Thad Gregory\\",\\"Thad Gregory\\",MALE,30,Gregory,Gregory,\\"(empty)\\",Friday,4,\\"thad@gregory-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562403,\\"sold_product_562403_16259, sold_product_562403_15999\\",\\"sold_product_562403_16259, sold_product_562403_15999\\",\\"42, 20.984\\",\\"42, 20.984\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"21, 11.328\\",\\"42, 20.984\\",\\"16,259, 15,999\\",\\"Weekend bag - dark brown , Shirt - charcoal\\",\\"Weekend bag - dark brown , Shirt - charcoal\\",\\"1, 1\\",\\"ZO0471504715, ZO0524405244\\",\\"0, 0\\",\\"42, 20.984\\",\\"42, 20.984\\",\\"0, 0\\",\\"ZO0471504715, ZO0524405244\\",\\"62.969\\",\\"62.969\\",2,2,order,thad +cQMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Tariq,Tariq,\\"Tariq King\\",\\"Tariq King\\",MALE,25,King,King,\\"(empty)\\",Friday,4,\\"tariq@king-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561342,\\"sold_product_561342_16000, sold_product_561342_18188\\",\\"sold_product_561342_16000, sold_product_561342_18188\\",\\"20.984, 33\\",\\"20.984, 33\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"10.289, 17.484\\",\\"20.984, 33\\",\\"16,000, 18,188\\",\\"Shirt - Medium Slate Blue, Smart lace-ups - cognac\\",\\"Shirt - Medium Slate Blue, Smart lace-ups - cognac\\",\\"1, 1\\",\\"ZO0524505245, ZO0388003880\\",\\"0, 0\\",\\"20.984, 33\\",\\"20.984, 33\\",\\"0, 0\\",\\"ZO0524505245, ZO0388003880\\",\\"53.969\\",\\"53.969\\",2,2,order,tariq +1gMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Pia,Pia,\\"Pia Turner\\",\\"Pia Turner\\",FEMALE,45,Turner,Turner,\\"(empty)\\",Friday,4,\\"pia@turner-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Tigress Enterprises\\",\\"Tigress Enterprises\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562060,\\"sold_product_562060_15481, sold_product_562060_8432\\",\\"sold_product_562060_15481, sold_product_562060_8432\\",\\"33, 22.984\\",\\"33, 22.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Tigress Enterprises\\",\\"15.18, 11.953\\",\\"33, 22.984\\",\\"15,481, 8,432\\",\\"Blazer - creme, Vest - black\\",\\"Blazer - creme, Vest - black\\",\\"1, 1\\",\\"ZO0067300673, ZO0062100621\\",\\"0, 0\\",\\"33, 22.984\\",\\"33, 22.984\\",\\"0, 0\\",\\"ZO0067300673, ZO0062100621\\",\\"55.969\\",\\"55.969\\",2,2,order,pia +1wMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Perkins\\",\\"Abigail Perkins\\",FEMALE,46,Perkins,Perkins,\\"(empty)\\",Friday,4,\\"abigail@perkins-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Low Tide Media, Pyramidustries\\",\\"Low Tide Media, Pyramidustries\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562094,\\"sold_product_562094_4898, sold_product_562094_20011\\",\\"sold_product_562094_4898, sold_product_562094_20011\\",\\"90, 33\\",\\"90, 33\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Pyramidustries\\",\\"Low Tide Media, Pyramidustries\\",\\"45, 15.844\\",\\"90, 33\\",\\"4,898, 20,011\\",\\"Boots - cognac, Jumpsuit - black\\",\\"Boots - cognac, Jumpsuit - black\\",\\"1, 1\\",\\"ZO0374003740, ZO0146401464\\",\\"0, 0\\",\\"90, 33\\",\\"90, 33\\",\\"0, 0\\",\\"ZO0374003740, ZO0146401464\\",123,123,2,2,order,abigail +2AMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Robbie,Robbie,\\"Robbie Jenkins\\",\\"Robbie Jenkins\\",MALE,48,Jenkins,Jenkins,\\"(empty)\\",Friday,4,\\"robbie@jenkins-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562236,\\"sold_product_562236_24934, sold_product_562236_14426\\",\\"sold_product_562236_24934, sold_product_562236_14426\\",\\"50, 10.992\\",\\"50, 10.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"22.5, 5.82\\",\\"50, 10.992\\",\\"24,934, 14,426\\",\\"Lace-up boots - resin coffee, Print T-shirt - grey multicolor\\",\\"Lace-up boots - resin coffee, Print T-shirt - grey multicolor\\",\\"1, 1\\",\\"ZO0403504035, ZO0438304383\\",\\"0, 0\\",\\"50, 10.992\\",\\"50, 10.992\\",\\"0, 0\\",\\"ZO0403504035, ZO0438304383\\",\\"60.969\\",\\"60.969\\",2,2,order,robbie +2QMtOW0BH63Xcmy45GnD,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Mary,Mary,\\"Mary Kim\\",\\"Mary Kim\\",FEMALE,20,Kim,Kim,\\"(empty)\\",Friday,4,\\"mary@kim-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Tigress Enterprises, Tigress Enterprises MAMA\\",\\"Tigress Enterprises, Tigress Enterprises MAMA\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562304,\\"sold_product_562304_5945, sold_product_562304_22770\\",\\"sold_product_562304_5945, sold_product_562304_22770\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises MAMA\\",\\"Tigress Enterprises, Tigress Enterprises MAMA\\",\\"11.5, 19.734\\",\\"24.984, 42\\",\\"5,945, 22,770\\",\\"Ankle boots - black, Jumper - black/grey\\",\\"Ankle boots - black, Jumper - black/grey\\",\\"1, 1\\",\\"ZO0025000250, ZO0232702327\\",\\"0, 0\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"0, 0\\",\\"ZO0025000250, ZO0232702327\\",67,67,2,2,order,mary +FwMtOW0BH63Xcmy45GrD,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Thad,Thad,\\"Thad Perkins\\",\\"Thad Perkins\\",MALE,30,Perkins,Perkins,\\"(empty)\\",Friday,4,\\"thad@perkins-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Microlutions, Angeldale\\",\\"Microlutions, Angeldale\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562390,\\"sold_product_562390_19623, sold_product_562390_12060\\",\\"sold_product_562390_19623, sold_product_562390_12060\\",\\"33, 50\\",\\"33, 50\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Angeldale\\",\\"Microlutions, Angeldale\\",\\"15.844, 25.984\\",\\"33, 50\\",\\"19,623, 12,060\\",\\"Jumper - navy blazer, Lace-ups - black/red\\",\\"Jumper - navy blazer, Lace-ups - black/red\\",\\"1, 1\\",\\"ZO0121701217, ZO0680806808\\",\\"0, 0\\",\\"33, 50\\",\\"33, 50\\",\\"0, 0\\",\\"ZO0121701217, ZO0680806808\\",83,83,2,2,order,thad +3QMtOW0BH63Xcmy45Wq4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Tariq,Tariq,\\"Tariq Foster\\",\\"Tariq Foster\\",MALE,25,Foster,Foster,\\"(empty)\\",Friday,4,\\"tariq@foster-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Microlutions, Oceanavigations, Low Tide Media\\",\\"Microlutions, Oceanavigations, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",719041,\\"sold_product_719041_17412, sold_product_719041_17871, sold_product_719041_1720, sold_product_719041_15515\\",\\"sold_product_719041_17412, sold_product_719041_17871, sold_product_719041_1720, sold_product_719041_15515\\",\\"14.992, 14.992, 50, 50\\",\\"14.992, 14.992, 50, 50\\",\\"Men's Clothing, Men's Clothing, Men's Shoes, Men's Clothing\\",\\"Men's Clothing, Men's Clothing, Men's Shoes, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Microlutions, Oceanavigations, Low Tide Media, Oceanavigations\\",\\"Microlutions, Oceanavigations, Low Tide Media, Oceanavigations\\",\\"7.5, 6.898, 24.5, 23\\",\\"14.992, 14.992, 50, 50\\",\\"17,412, 17,871, 1,720, 15,515\\",\\"Print T-shirt - black, Print T-shirt - multicolored, Lace-ups - tan, Light jacket - dark blue\\",\\"Print T-shirt - black, Print T-shirt - multicolored, Lace-ups - tan, Light jacket - dark blue\\",\\"1, 1, 1, 1\\",\\"ZO0117701177, ZO0292902929, ZO0387403874, ZO0286902869\\",\\"0, 0, 0, 0\\",\\"14.992, 14.992, 50, 50\\",\\"14.992, 14.992, 50, 50\\",\\"0, 0, 0, 0\\",\\"ZO0117701177, ZO0292902929, ZO0387403874, ZO0286902869\\",130,130,4,4,order,tariq +IAMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Wagdi,Wagdi,\\"Wagdi Lawrence\\",\\"Wagdi Lawrence\\",MALE,15,Lawrence,Lawrence,\\"(empty)\\",Friday,4,\\"wagdi@lawrence-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561604,\\"sold_product_561604_24731, sold_product_561604_19673\\",\\"sold_product_561604_24731, sold_product_561604_19673\\",\\"24.984, 7.988\\",\\"24.984, 7.988\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"13.242, 4.148\\",\\"24.984, 7.988\\",\\"24,731, 19,673\\",\\"Tracksuit bottoms - mottled grey, Basic T-shirt - black\\",\\"Tracksuit bottoms - mottled grey, Basic T-shirt - black\\",\\"1, 1\\",\\"ZO0529605296, ZO0435404354\\",\\"0, 0\\",\\"24.984, 7.988\\",\\"24.984, 7.988\\",\\"0, 0\\",\\"ZO0529605296, ZO0435404354\\",\\"32.969\\",\\"32.969\\",2,2,order,wagdi +IwMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Mary,Mary,\\"Mary Fletcher\\",\\"Mary Fletcher\\",FEMALE,20,Fletcher,Fletcher,\\"(empty)\\",Friday,4,\\"mary@fletcher-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561455,\\"sold_product_561455_12855, sold_product_561455_5588\\",\\"sold_product_561455_12855, sold_product_561455_5588\\",\\"28.984, 42\\",\\"28.984, 42\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises\\",\\"14.492, 19.313\\",\\"28.984, 42\\",\\"12,855, 5,588\\",\\"Blazer - weiu00df/rosa, Ankle boots - teak\\",\\"Blazer - weiu00df/rosa, Ankle boots - teak\\",\\"1, 1\\",\\"ZO0182001820, ZO0018500185\\",\\"0, 0\\",\\"28.984, 42\\",\\"28.984, 42\\",\\"0, 0\\",\\"ZO0182001820, ZO0018500185\\",71,71,2,2,order,mary +JAMtOW0BH63Xcmy45Wu4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Robbie,Robbie,\\"Robbie Mccarthy\\",\\"Robbie Mccarthy\\",MALE,48,Mccarthy,Mccarthy,\\"(empty)\\",Friday,4,\\"robbie@mccarthy-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561509,\\"sold_product_561509_18177, sold_product_561509_2401\\",\\"sold_product_561509_18177, sold_product_561509_2401\\",\\"10.992, 65\\",\\"10.992, 65\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"5.82, 33.781\\",\\"10.992, 65\\",\\"18,177, 2,401\\",\\"Print T-shirt - navy, Boots - dark brown\\",\\"Print T-shirt - navy, Boots - dark brown\\",\\"1, 1\\",\\"ZO0438404384, ZO0405504055\\",\\"0, 0\\",\\"10.992, 65\\",\\"10.992, 65\\",\\"0, 0\\",\\"ZO0438404384, ZO0405504055\\",76,76,2,2,order,robbie +ggMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Caldwell\\",\\"Fitzgerald Caldwell\\",MALE,11,Caldwell,Caldwell,\\"(empty)\\",Friday,4,\\"fitzgerald@caldwell-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562439,\\"sold_product_562439_18548, sold_product_562439_23459\\",\\"sold_product_562439_18548, sold_product_562439_23459\\",\\"20.984, 33\\",\\"20.984, 33\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"10.492, 18.141\\",\\"20.984, 33\\",\\"18,548, 23,459\\",\\"Shorts - multicoloured, Smart lace-ups - dark brown\\",\\"Shorts - multicoloured, Smart lace-ups - dark brown\\",\\"1, 1\\",\\"ZO0533105331, ZO0384703847\\",\\"0, 0\\",\\"20.984, 33\\",\\"20.984, 33\\",\\"0, 0\\",\\"ZO0533105331, ZO0384703847\\",\\"53.969\\",\\"53.969\\",2,2,order,fuzzy +gwMtOW0BH63Xcmy45Wy4,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Schultz\\",\\"Wilhemina St. Schultz\\",FEMALE,17,Schultz,Schultz,\\"(empty)\\",Friday,4,\\"wilhemina st.@schultz-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Pyramidustries, Gnomehouse\\",\\"Pyramidustries, Gnomehouse\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562165,\\"sold_product_562165_12949, sold_product_562165_23197\\",\\"sold_product_562165_12949, sold_product_562165_23197\\",\\"33, 60\\",\\"33, 60\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Gnomehouse\\",\\"Pyramidustries, Gnomehouse\\",\\"15.844, 28.203\\",\\"33, 60\\",\\"12,949, 23,197\\",\\"Summer jacket - dark blue, Maxi dress - eclipse\\",\\"Summer jacket - dark blue, Maxi dress - eclipse\\",\\"1, 1\\",\\"ZO0173701737, ZO0337903379\\",\\"0, 0\\",\\"33, 60\\",\\"33, 60\\",\\"0, 0\\",\\"ZO0173701737, ZO0337903379\\",93,93,2,2,order,wilhemina +2AMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Jackson,Jackson,\\"Jackson Gibbs\\",\\"Jackson Gibbs\\",MALE,13,Gibbs,Gibbs,\\"(empty)\\",Friday,4,\\"jackson@gibbs-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Oceanavigations, Elitelligence, Spritechnologies, Angeldale\\",\\"Oceanavigations, Elitelligence, Spritechnologies, Angeldale\\",\\"Jun 20, 2019 @ 00:00:00.000\\",719343,\\"sold_product_719343_24169, sold_product_719343_18391, sold_product_719343_20707, sold_product_719343_21209\\",\\"sold_product_719343_24169, sold_product_719343_18391, sold_product_719343_20707, sold_product_719343_21209\\",\\"46, 24.984, 24.984, 65\\",\\"46, 24.984, 24.984, 65\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Oceanavigations, Elitelligence, Spritechnologies, Angeldale\\",\\"Oceanavigations, Elitelligence, Spritechnologies, Angeldale\\",\\"22.078, 12.492, 12.492, 31.203\\",\\"46, 24.984, 24.984, 65\\",\\"24,169, 18,391, 20,707, 21,209\\",\\"Jumper - navy, Tracksuit top - mottled grey, Tracksuit top - black, Boots - sand\\",\\"Jumper - navy, Tracksuit top - mottled grey, Tracksuit top - black, Boots - sand\\",\\"1, 1, 1, 1\\",\\"ZO0299002990, ZO0584005840, ZO0628406284, ZO0694306943\\",\\"0, 0, 0, 0\\",\\"46, 24.984, 24.984, 65\\",\\"46, 24.984, 24.984, 65\\",\\"0, 0, 0, 0\\",\\"ZO0299002990, ZO0584005840, ZO0628406284, ZO0694306943\\",161,161,4,4,order,jackson +2wMtOW0BH63Xcmy45mxS,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Abd,Abd,\\"Abd Gilbert\\",\\"Abd Gilbert\\",MALE,52,Gilbert,Gilbert,\\"(empty)\\",Friday,4,\\"abd@gilbert-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 20, 2019 @ 00:00:00.000\\",718183,\\"sold_product_718183_23834, sold_product_718183_11105, sold_product_718183_22142, sold_product_718183_2361\\",\\"sold_product_718183_23834, sold_product_718183_11105, sold_product_718183_22142, sold_product_718183_2361\\",\\"7.988, 13.992, 24.984, 60\\",\\"7.988, 13.992, 24.984, 60\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Low Tide Media, Low Tide Media, Oceanavigations, Oceanavigations\\",\\"Low Tide Media, Low Tide Media, Oceanavigations, Oceanavigations\\",\\"4.07, 7.27, 11.5, 30\\",\\"7.988, 13.992, 24.984, 60\\",\\"23,834, 11,105, 22,142, 2,361\\",\\"3 PACK - Socks - blue/grey, 3 PACK - Shorts - black, Jeans Skinny Fit - petrol, Lace-up boots - dark brown\\",\\"3 PACK - Socks - blue/grey, 3 PACK - Shorts - black, Jeans Skinny Fit - petrol, Lace-up boots - dark brown\\",\\"1, 1, 1, 1\\",\\"ZO0481004810, ZO0476104761, ZO0284102841, ZO0256102561\\",\\"0, 0, 0, 0\\",\\"7.988, 13.992, 24.984, 60\\",\\"7.988, 13.992, 24.984, 60\\",\\"0, 0, 0, 0\\",\\"ZO0481004810, ZO0476104761, ZO0284102841, ZO0256102561\\",\\"106.938\\",\\"106.938\\",4,4,order,abd +wgMtOW0BH63Xcmy45m1S,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",EUR,Pia,Pia,\\"Pia Hayes\\",\\"Pia Hayes\\",FEMALE,45,Hayes,Hayes,\\"(empty)\\",Friday,4,\\"pia@hayes-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Pyramidustries, Angeldale\\",\\"Pyramidustries, Angeldale\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561215,\\"sold_product_561215_11054, sold_product_561215_25101\\",\\"sold_product_561215_11054, sold_product_561215_25101\\",\\"20.984, 85\\",\\"20.984, 85\\",\\"Women's Accessories, Women's Shoes\\",\\"Women's Accessories, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Angeldale\\",\\"Pyramidustries, Angeldale\\",\\"10.703, 44.188\\",\\"20.984, 85\\",\\"11,054, 25,101\\",\\"Tote bag - cognac/blue, Ankle boots - Blue Violety\\",\\"Tote bag - cognac/blue, Ankle boots - Blue Violety\\",\\"1, 1\\",\\"ZO0196401964, ZO0673906739\\",\\"0, 0\\",\\"20.984, 85\\",\\"20.984, 85\\",\\"0, 0\\",\\"ZO0196401964, ZO0673906739\\",106,106,2,2,order,pia +\\"_QMtOW0BH63Xcmy45m1S\\",ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Yasmine,Yasmine,\\"Yasmine Gibbs\\",\\"Yasmine Gibbs\\",FEMALE,43,Gibbs,Gibbs,\\"(empty)\\",Friday,4,\\"yasmine@gibbs-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",Pyramidustries,Pyramidustries,\\"Jun 20, 2019 @ 00:00:00.000\\",561377,\\"sold_product_561377_24916, sold_product_561377_22033\\",\\"sold_product_561377_24916, sold_product_561377_22033\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Pyramidustries\\",\\"Pyramidustries, Pyramidustries\\",\\"13.742, 21.406\\",\\"24.984, 42\\",\\"24,916, 22,033\\",\\"A-line skirt - blue denim, Summer jacket - bordeaux/black\\",\\"A-line skirt - blue denim, Summer jacket - bordeaux/black\\",\\"1, 1\\",\\"ZO0147901479, ZO0185401854\\",\\"0, 0\\",\\"24.984, 42\\",\\"24.984, 42\\",\\"0, 0\\",\\"ZO0147901479, ZO0185401854\\",67,67,2,2,order,yasmine +EwMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Romero\\",\\"Wilhemina St. Romero\\",FEMALE,17,Romero,Romero,\\"(empty)\\",Friday,4,\\"wilhemina st.@romero-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Pyramidustries, Tigress Enterprises, Spherecords\\",\\"Pyramidustries, Tigress Enterprises, Spherecords\\",\\"Jun 20, 2019 @ 00:00:00.000\\",726377,\\"sold_product_726377_16552, sold_product_726377_8806, sold_product_726377_14193, sold_product_726377_22412\\",\\"sold_product_726377_16552, sold_product_726377_8806, sold_product_726377_14193, sold_product_726377_22412\\",\\"14.992, 42, 20.984, 33\\",\\"14.992, 42, 20.984, 33\\",\\"Women's Clothing, Women's Clothing, Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing, Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Pyramidustries, Tigress Enterprises, Spherecords, Tigress Enterprises\\",\\"Pyramidustries, Tigress Enterprises, Spherecords, Tigress Enterprises\\",\\"6.898, 20.578, 11.117, 17.156\\",\\"14.992, 42, 20.984, 33\\",\\"16,552, 8,806, 14,193, 22,412\\",\\"Print T-shirt - black, Jumper - peacoat, Shift dress - dark blue, Jumper dress - black/grey\\",\\"Print T-shirt - black, Jumper - peacoat, Shift dress - dark blue, Jumper dress - black/grey\\",\\"1, 1, 1, 1\\",\\"ZO0167001670, ZO0070900709, ZO0636006360, ZO0051900519\\",\\"0, 0, 0, 0\\",\\"14.992, 42, 20.984, 33\\",\\"14.992, 42, 20.984, 33\\",\\"0, 0, 0, 0\\",\\"ZO0167001670, ZO0070900709, ZO0636006360, ZO0051900519\\",\\"110.938\\",\\"110.938\\",4,4,order,wilhemina +GgMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes, Women's Accessories\\",\\"Women's Clothing, Women's Shoes, Women's Accessories\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Gomez\\",\\"Rabbia Al Gomez\\",FEMALE,5,Gomez,Gomez,\\"(empty)\\",Friday,4,\\"rabbia al@gomez-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations\\",\\"Jun 20, 2019 @ 00:00:00.000\\",730333,\\"sold_product_730333_18676, sold_product_730333_12860, sold_product_730333_15759, sold_product_730333_24348\\",\\"sold_product_730333_18676, sold_product_730333_12860, sold_product_730333_15759, sold_product_730333_24348\\",\\"28.984, 50, 30.984, 50\\",\\"28.984, 50, 30.984, 50\\",\\"Women's Clothing, Women's Shoes, Women's Accessories, Women's Clothing\\",\\"Women's Clothing, Women's Shoes, Women's Accessories, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Tigress Enterprises, Oceanavigations, Tigress Enterprises, Oceanavigations\\",\\"Tigress Enterprises, Oceanavigations, Tigress Enterprises, Oceanavigations\\",\\"13.633, 23, 15.492, 26.484\\",\\"28.984, 50, 30.984, 50\\",\\"18,676, 12,860, 15,759, 24,348\\",\\"Blouse - peach whip, Wedge sandals - gold, Rucksack - black, Summer dress - dark blue\\",\\"Blouse - peach whip, Wedge sandals - gold, Rucksack - black, Summer dress - dark blue\\",\\"1, 1, 1, 1\\",\\"ZO0065000650, ZO0241802418, ZO0098400984, ZO0262102621\\",\\"0, 0, 0, 0\\",\\"28.984, 50, 30.984, 50\\",\\"28.984, 50, 30.984, 50\\",\\"0, 0, 0, 0\\",\\"ZO0065000650, ZO0241802418, ZO0098400984, ZO0262102621\\",160,160,4,4,order,rabbia +agMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,\\"Ahmed Al\\",\\"Ahmed Al\\",\\"Ahmed Al Harvey\\",\\"Ahmed Al Harvey\\",MALE,4,Harvey,Harvey,\\"(empty)\\",Friday,4,\\"ahmed al@harvey-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",Microlutions,Microlutions,\\"Jun 20, 2019 @ 00:00:00.000\\",561542,\\"sold_product_561542_6512, sold_product_561542_17698\\",\\"sold_product_561542_6512, sold_product_561542_17698\\",\\"33, 75\\",\\"33, 75\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Microlutions\\",\\"Microlutions, Microlutions\\",\\"16.5, 37.5\\",\\"33, 75\\",\\"6,512, 17,698\\",\\"Jeans Tapered Fit - black denim, Faux leather jacket - black\\",\\"Jeans Tapered Fit - black denim, Faux leather jacket - black\\",\\"1, 1\\",\\"ZO0113701137, ZO0114201142\\",\\"0, 0\\",\\"33, 75\\",\\"33, 75\\",\\"0, 0\\",\\"ZO0113701137, ZO0114201142\\",108,108,2,2,order,ahmed +awMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Jackson,Jackson,\\"Jackson Pratt\\",\\"Jackson Pratt\\",MALE,13,Pratt,Pratt,\\"(empty)\\",Friday,4,\\"jackson@pratt-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561586,\\"sold_product_561586_13927, sold_product_561586_1557\\",\\"sold_product_561586_13927, sold_product_561586_1557\\",\\"42, 60\\",\\"42, 60\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Low Tide Media\\",\\"Elitelligence, Low Tide Media\\",\\"21.406, 31.188\\",\\"42, 60\\",\\"13,927, 1,557\\",\\"Bomber Jacket - khaki, Lace-up boots - brown\\",\\"Bomber Jacket - khaki, Lace-up boots - brown\\",\\"1, 1\\",\\"ZO0540605406, ZO0401104011\\",\\"0, 0\\",\\"42, 60\\",\\"42, 60\\",\\"0, 0\\",\\"ZO0540605406, ZO0401104011\\",102,102,2,2,order,jackson +bgMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Gwen,Gwen,\\"Gwen Mcdonald\\",\\"Gwen Mcdonald\\",FEMALE,26,Mcdonald,Mcdonald,\\"(empty)\\",Friday,4,\\"gwen@mcdonald-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561442,\\"sold_product_561442_7232, sold_product_561442_10893\\",\\"sold_product_561442_7232, sold_product_561442_10893\\",\\"33, 9.992\\",\\"33, 9.992\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"15.508, 4.699\\",\\"33, 9.992\\",\\"7,232, 10,893\\",\\"Winter boots - black, 2 PACK - Leggings - black\\",\\"Winter boots - black, 2 PACK - Leggings - black\\",\\"1, 1\\",\\"ZO0030900309, ZO0212302123\\",\\"0, 0\\",\\"33, 9.992\\",\\"33, 9.992\\",\\"0, 0\\",\\"ZO0030900309, ZO0212302123\\",\\"42.969\\",\\"42.969\\",2,2,order,gwen +bwMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,\\"Ahmed Al\\",\\"Ahmed Al\\",\\"Ahmed Al Hampton\\",\\"Ahmed Al Hampton\\",MALE,4,Hampton,Hampton,\\"(empty)\\",Friday,4,\\"ahmed al@hampton-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561484,\\"sold_product_561484_24353, sold_product_561484_18666\\",\\"sold_product_561484_24353, sold_product_561484_18666\\",\\"75, 14.992\\",\\"75, 14.992\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Elitelligence\\",\\"Low Tide Media, Elitelligence\\",\\"34.5, 7.199\\",\\"75, 14.992\\",\\"24,353, 18,666\\",\\"Lace-up boots - black/brown, Long sleeved top - white\\",\\"Lace-up boots - black/brown, Long sleeved top - white\\",\\"1, 1\\",\\"ZO0400304003, ZO0559405594\\",\\"0, 0\\",\\"75, 14.992\\",\\"75, 14.992\\",\\"0, 0\\",\\"ZO0400304003, ZO0559405594\\",90,90,2,2,order,ahmed +cAMtOW0BH63Xcmy45m5S,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Clarice,Clarice,\\"Clarice Smith\\",\\"Clarice Smith\\",FEMALE,18,Smith,Smith,\\"(empty)\\",Friday,4,\\"clarice@smith-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Gnomehouse mom, Pyramidustries\\",\\"Gnomehouse mom, Pyramidustries\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561325,\\"sold_product_561325_21224, sold_product_561325_11110\\",\\"sold_product_561325_21224, sold_product_561325_11110\\",\\"28.984, 28.984\\",\\"28.984, 28.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse mom, Pyramidustries\\",\\"Gnomehouse mom, Pyramidustries\\",\\"14.781, 15.359\\",\\"28.984, 28.984\\",\\"21,224, 11,110\\",\\"Blouse - red, Tracksuit top - black\\",\\"Blouse - red, Tracksuit top - black\\",\\"1, 1\\",\\"ZO0234802348, ZO0178001780\\",\\"0, 0\\",\\"28.984, 28.984\\",\\"28.984, 28.984\\",\\"0, 0\\",\\"ZO0234802348, ZO0178001780\\",\\"57.969\\",\\"57.969\\",2,2,order,clarice +jgMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Abigail,Abigail,\\"Abigail Cross\\",\\"Abigail Cross\\",FEMALE,46,Cross,Cross,\\"(empty)\\",Friday,4,\\"abigail@cross-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Angeldale, Gnomehouse\\",\\"Angeldale, Gnomehouse\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562463,\\"sold_product_562463_16341, sold_product_562463_25127\\",\\"sold_product_562463_16341, sold_product_562463_25127\\",\\"65, 50\\",\\"65, 50\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Gnomehouse\\",\\"Angeldale, Gnomehouse\\",\\"29.906, 27.484\\",\\"65, 50\\",\\"16,341, 25,127\\",\\"Handbag - black, Maxi dress - red ochre\\",\\"Handbag - black, Maxi dress - red ochre\\",\\"1, 1\\",\\"ZO0700107001, ZO0341303413\\",\\"0, 0\\",\\"65, 50\\",\\"65, 50\\",\\"0, 0\\",\\"ZO0700107001, ZO0341303413\\",115,115,2,2,order,abigail +jwMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Selena,Selena,\\"Selena Hansen\\",\\"Selena Hansen\\",FEMALE,42,Hansen,Hansen,\\"(empty)\\",Friday,4,\\"selena@hansen-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",Spherecords,Spherecords,\\"Jun 20, 2019 @ 00:00:00.000\\",562513,\\"sold_product_562513_8078, sold_product_562513_9431\\",\\"sold_product_562513_8078, sold_product_562513_9431\\",\\"10.992, 24.984\\",\\"10.992, 24.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Spherecords\\",\\"Spherecords, Spherecords\\",\\"5.82, 12\\",\\"10.992, 24.984\\",\\"8,078, 9,431\\",\\"Long sleeved top - white, Pyjama set - grey/pink\\",\\"Long sleeved top - white, Pyjama set - grey/pink\\",\\"1, 1\\",\\"ZO0640906409, ZO0660206602\\",\\"0, 0\\",\\"10.992, 24.984\\",\\"10.992, 24.984\\",\\"0, 0\\",\\"ZO0640906409, ZO0660206602\\",\\"35.969\\",\\"35.969\\",2,2,order,selena +kAMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Abd,Abd,\\"Abd Estrada\\",\\"Abd Estrada\\",MALE,52,Estrada,Estrada,\\"(empty)\\",Friday,4,\\"abd@estrada-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562166,\\"sold_product_562166_16566, sold_product_562166_16701\\",\\"sold_product_562166_16566, sold_product_562166_16701\\",\\"75, 16.984\\",\\"75, 16.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"39, 7.988\\",\\"75, 16.984\\",\\"16,566, 16,701\\",\\"Boots - grey, 3 PACK - Basic T-shirt - white\\",\\"Boots - grey, 3 PACK - Basic T-shirt - white\\",\\"1, 1\\",\\"ZO0692406924, ZO0473504735\\",\\"0, 0\\",\\"75, 16.984\\",\\"75, 16.984\\",\\"0, 0\\",\\"ZO0692406924, ZO0473504735\\",92,92,2,2,order,abd +mgMtOW0BH63Xcmy4524Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Eddie,Eddie,\\"Eddie King\\",\\"Eddie King\\",MALE,38,King,King,\\"(empty)\\",Friday,4,\\"eddie@king-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Spherecords, Elitelligence, Oceanavigations\\",\\"Low Tide Media, Spherecords, Elitelligence, Oceanavigations\\",\\"Jun 20, 2019 @ 00:00:00.000\\",714021,\\"sold_product_714021_21164, sold_product_714021_13240, sold_product_714021_1704, sold_product_714021_15243\\",\\"sold_product_714021_21164, sold_product_714021_13240, sold_product_714021_1704, sold_product_714021_15243\\",\\"10.992, 7.988, 33, 65\\",\\"10.992, 7.988, 33, 65\\",\\"Men's Clothing, Men's Clothing, Men's Shoes, Men's Clothing\\",\\"Men's Clothing, Men's Clothing, Men's Shoes, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Low Tide Media, Spherecords, Elitelligence, Oceanavigations\\",\\"Low Tide Media, Spherecords, Elitelligence, Oceanavigations\\",\\"5.93, 3.84, 15.508, 31.203\\",\\"10.992, 7.988, 33, 65\\",\\"21,164, 13,240, 1,704, 15,243\\",\\"Long sleeved top - dark blue, 5 PACK - Socks - black, High-top trainers - black, Trousers - bordeaux multicolor\\",\\"Long sleeved top - dark blue, 5 PACK - Socks - black, High-top trainers - black, Trousers - bordeaux multicolor\\",\\"1, 1, 1, 1\\",\\"ZO0436904369, ZO0664106641, ZO0514805148, ZO0283302833\\",\\"0, 0, 0, 0\\",\\"10.992, 7.988, 33, 65\\",\\"10.992, 7.988, 33, 65\\",\\"0, 0, 0, 0\\",\\"ZO0436904369, ZO0664106641, ZO0514805148, ZO0283302833\\",\\"116.938\\",\\"116.938\\",4,4,order,eddie +FgMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Men's Shoes\\",\\"Women's Accessories, Men's Shoes\\",EUR,Frances,Frances,\\"Frances Butler\\",\\"Frances Butler\\",FEMALE,49,Butler,Butler,\\"(empty)\\",Friday,4,\\"frances@butler-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",Oceanavigations,Oceanavigations,\\"Jun 20, 2019 @ 00:00:00.000\\",562041,\\"sold_product_562041_17117, sold_product_562041_2398\\",\\"sold_product_562041_17117, sold_product_562041_2398\\",\\"110, 60\\",\\"110, 60\\",\\"Women's Accessories, Men's Shoes\\",\\"Women's Accessories, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"52.813, 29.406\\",\\"110, 60\\",\\"17,117, 2,398\\",\\"Weekend bag - cognac, Lace-ups - Midnight Blue\\",\\"Weekend bag - cognac, Lace-ups - Midnight Blue\\",\\"1, 1\\",\\"ZO0320303203, ZO0252802528\\",\\"0, 0\\",\\"110, 60\\",\\"110, 60\\",\\"0, 0\\",\\"ZO0320303203, ZO0252802528\\",170,170,2,2,order,frances +FwMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes\\",\\"Women's Shoes\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Stewart\\",\\"Rabbia Al Stewart\\",FEMALE,5,Stewart,Stewart,\\"(empty)\\",Friday,4,\\"rabbia al@stewart-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Oceanavigations, Gnomehouse\\",\\"Oceanavigations, Gnomehouse\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562116,\\"sold_product_562116_5339, sold_product_562116_17619\\",\\"sold_product_562116_5339, sold_product_562116_17619\\",\\"75, 60\\",\\"75, 60\\",\\"Women's Shoes, Women's Shoes\\",\\"Women's Shoes, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Gnomehouse\\",\\"Oceanavigations, Gnomehouse\\",\\"38.25, 29.406\\",\\"75, 60\\",\\"5,339, 17,619\\",\\"Ankle boots - black, Lace-ups - silver\\",\\"Ankle boots - black, Lace-ups - silver\\",\\"1, 1\\",\\"ZO0247002470, ZO0322703227\\",\\"0, 0\\",\\"75, 60\\",\\"75, 60\\",\\"0, 0\\",\\"ZO0247002470, ZO0322703227\\",135,135,2,2,order,rabbia +GAMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Women's Accessories\\",\\"Men's Shoes, Women's Accessories\\",EUR,Robert,Robert,\\"Robert Hart\\",\\"Robert Hart\\",MALE,29,Hart,Hart,\\"(empty)\\",Friday,4,\\"robert@hart-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Angeldale, Oceanavigations\\",\\"Angeldale, Oceanavigations\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562281,\\"sold_product_562281_17836, sold_product_562281_15582\\",\\"sold_product_562281_17836, sold_product_562281_15582\\",\\"85, 13.992\\",\\"85, 13.992\\",\\"Men's Shoes, Women's Accessories\\",\\"Men's Shoes, Women's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Oceanavigations\\",\\"Angeldale, Oceanavigations\\",\\"42.5, 7.691\\",\\"85, 13.992\\",\\"17,836, 15,582\\",\\"Casual lace-ups - black, Belt - dark brown \\",\\"Casual lace-ups - black, Belt - dark brown \\",\\"1, 1\\",\\"ZO0683106831, ZO0317803178\\",\\"0, 0\\",\\"85, 13.992\\",\\"85, 13.992\\",\\"0, 0\\",\\"ZO0683106831, ZO0317803178\\",99,99,2,2,order,robert +IwMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,George,George,\\"George King\\",\\"George King\\",MALE,32,King,King,\\"(empty)\\",Friday,4,\\"george@king-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562442,\\"sold_product_562442_24776, sold_product_562442_20891\\",\\"sold_product_562442_24776, sold_product_562442_20891\\",\\"33, 7.988\\",\\"33, 7.988\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Elitelligence\\",\\"Microlutions, Elitelligence\\",\\"15.844, 4\\",\\"33, 7.988\\",\\"24,776, 20,891\\",\\"Watch - black, Basic T-shirt - khaki\\",\\"Watch - black, Basic T-shirt - khaki\\",\\"1, 1\\",\\"ZO0126901269, ZO0563705637\\",\\"0, 0\\",\\"33, 7.988\\",\\"33, 7.988\\",\\"0, 0\\",\\"ZO0126901269, ZO0563705637\\",\\"40.969\\",\\"40.969\\",2,2,order,george +JAMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Fitzgerald,Fitzgerald,\\"Fitzgerald Brady\\",\\"Fitzgerald Brady\\",MALE,11,Brady,Brady,\\"(empty)\\",Friday,4,\\"fitzgerald@brady-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562149,\\"sold_product_562149_16955, sold_product_562149_6827\\",\\"sold_product_562149_16955, sold_product_562149_6827\\",\\"200, 33\\",\\"200, 33\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"92, 17.156\\",\\"200, 33\\",\\"16,955, 6,827\\",\\"Classic coat - navy, Denim jacket - black denim\\",\\"Classic coat - navy, Denim jacket - black denim\\",\\"1, 1\\",\\"ZO0291402914, ZO0539305393\\",\\"0, 0\\",\\"200, 33\\",\\"200, 33\\",\\"0, 0\\",\\"ZO0291402914, ZO0539305393\\",233,233,2,2,order,fuzzy +JgMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,George,George,\\"George Haynes\\",\\"George Haynes\\",MALE,32,Haynes,Haynes,\\"(empty)\\",Friday,4,\\"george@haynes-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,Elitelligence,Elitelligence,\\"Jun 20, 2019 @ 00:00:00.000\\",562553,\\"sold_product_562553_15384, sold_product_562553_11950\\",\\"sold_product_562553_15384, sold_product_562553_11950\\",\\"33, 10.992\\",\\"33, 10.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"17.156, 5.391\\",\\"33, 10.992\\",\\"15,384, 11,950\\",\\"Denim jacket - grey, Seratonin - Long sleeved top - dark blue\\",\\"Denim jacket - grey, Seratonin - Long sleeved top - dark blue\\",\\"1, 1\\",\\"ZO0525005250, ZO0547205472\\",\\"0, 0\\",\\"33, 10.992\\",\\"33, 10.992\\",\\"0, 0\\",\\"ZO0525005250, ZO0547205472\\",\\"43.969\\",\\"43.969\\",2,2,order,george +bAMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Hicham,Hicham,\\"Hicham Bradley\\",\\"Hicham Bradley\\",MALE,8,Bradley,Bradley,\\"(empty)\\",Friday,4,\\"hicham@bradley-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561677,\\"sold_product_561677_13662, sold_product_561677_20832\\",\\"sold_product_561677_13662, sold_product_561677_20832\\",\\"20.984, 28.984\\",\\"20.984, 28.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"9.656, 14.781\\",\\"20.984, 28.984\\",\\"13,662, 20,832\\",\\"Tracksuit bottoms - dark blue, Sweatshirt - black\\",\\"Tracksuit bottoms - dark blue, Sweatshirt - black\\",\\"1, 1\\",\\"ZO0525605256, ZO0126001260\\",\\"0, 0\\",\\"20.984, 28.984\\",\\"20.984, 28.984\\",\\"0, 0\\",\\"ZO0525605256, ZO0126001260\\",\\"49.969\\",\\"49.969\\",2,2,order,hicham +bQMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Abd,Abd,\\"Abd Ramsey\\",\\"Abd Ramsey\\",MALE,52,Ramsey,Ramsey,\\"(empty)\\",Friday,4,\\"abd@ramsey-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561217,\\"sold_product_561217_17853, sold_product_561217_20690\\",\\"sold_product_561217_17853, sold_product_561217_20690\\",\\"24.984, 33\\",\\"24.984, 33\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Microlutions\\",\\"Low Tide Media, Microlutions\\",\\"11.25, 18.141\\",\\"24.984, 33\\",\\"17,853, 20,690\\",\\"Shirt - white blue, Sweatshirt - black\\",\\"Shirt - white blue, Sweatshirt - black\\",\\"1, 1\\",\\"ZO0417904179, ZO0125501255\\",\\"0, 0\\",\\"24.984, 33\\",\\"24.984, 33\\",\\"0, 0\\",\\"ZO0417904179, ZO0125501255\\",\\"57.969\\",\\"57.969\\",2,2,order,abd +bgMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Tyler\\",\\"Rabbia Al Tyler\\",FEMALE,5,Tyler,Tyler,\\"(empty)\\",Friday,4,\\"rabbia al@tyler-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Champion Arts, Oceanavigations\\",\\"Champion Arts, Oceanavigations\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561251,\\"sold_product_561251_23966, sold_product_561251_18479\\",\\"sold_product_561251_23966, sold_product_561251_18479\\",\\"24.984, 65\\",\\"24.984, 65\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Champion Arts, Oceanavigations\\",\\"Champion Arts, Oceanavigations\\",\\"13.492, 29.906\\",\\"24.984, 65\\",\\"23,966, 18,479\\",\\"Sweatshirt - grey/off-white, Ankle boots - black\\",\\"Sweatshirt - grey/off-white, Ankle boots - black\\",\\"1, 1\\",\\"ZO0502905029, ZO0249102491\\",\\"0, 0\\",\\"24.984, 65\\",\\"24.984, 65\\",\\"0, 0\\",\\"ZO0502905029, ZO0249102491\\",90,90,2,2,order,rabbia +bwMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",EUR,Muniz,Muniz,\\"Muniz Pope\\",\\"Muniz Pope\\",MALE,37,Pope,Pope,\\"(empty)\\",Friday,4,\\"muniz@pope-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561291,\\"sold_product_561291_11706, sold_product_561291_1176\\",\\"sold_product_561291_11706, sold_product_561291_1176\\",\\"100, 42\\",\\"100, 42\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Low Tide Media\\",\\"Angeldale, Low Tide Media\\",\\"49, 21.828\\",\\"100, 42\\",\\"11,706, 1,176\\",\\"Weekend bag - dark brown, Trainers - black\\",\\"Weekend bag - dark brown, Trainers - black\\",\\"1, 1\\",\\"ZO0701907019, ZO0395203952\\",\\"0, 0\\",\\"100, 42\\",\\"100, 42\\",\\"0, 0\\",\\"ZO0701907019, ZO0395203952\\",142,142,2,2,order,muniz +cAMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Boris,Boris,\\"Boris Morris\\",\\"Boris Morris\\",MALE,36,Morris,Morris,\\"(empty)\\",Friday,4,\\"boris@morris-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561316,\\"sold_product_561316_18944, sold_product_561316_6709\\",\\"sold_product_561316_18944, sold_product_561316_6709\\",\\"24.984, 90\\",\\"24.984, 90\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"11.5, 45\\",\\"24.984, 90\\",\\"18,944, 6,709\\",\\"Shirt - white, Classic coat - navy\\",\\"Shirt - white, Classic coat - navy\\",\\"1, 1\\",\\"ZO0524305243, ZO0290702907\\",\\"0, 0\\",\\"24.984, 90\\",\\"24.984, 90\\",\\"0, 0\\",\\"ZO0524305243, ZO0290702907\\",115,115,2,2,order,boris +cQMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Lewis\\",\\"Wilhemina St. Lewis\\",FEMALE,17,Lewis,Lewis,\\"(empty)\\",Friday,4,\\"wilhemina st.@lewis-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Tigress Enterprises Curvy, Tigress Enterprises\\",\\"Tigress Enterprises Curvy, Tigress Enterprises\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561769,\\"sold_product_561769_18758, sold_product_561769_12114\\",\\"sold_product_561769_18758, sold_product_561769_12114\\",\\"33, 29.984\\",\\"33, 29.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises Curvy, Tigress Enterprises\\",\\"Tigress Enterprises Curvy, Tigress Enterprises\\",\\"14.852, 16.188\\",\\"33, 29.984\\",\\"18,758, 12,114\\",\\"Cardigan - sand multicolor/black, Jersey dress - black/white\\",\\"Cardigan - sand multicolor/black, Jersey dress - black/white\\",\\"1, 1\\",\\"ZO0106601066, ZO0038300383\\",\\"0, 0\\",\\"33, 29.984\\",\\"33, 29.984\\",\\"0, 0\\",\\"ZO0106601066, ZO0038300383\\",\\"62.969\\",\\"62.969\\",2,2,order,wilhemina +cgMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Clarice,Clarice,\\"Clarice Adams\\",\\"Clarice Adams\\",FEMALE,18,Adams,Adams,\\"(empty)\\",Friday,4,\\"clarice@adams-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561784,\\"sold_product_561784_19114, sold_product_561784_21141\\",\\"sold_product_561784_19114, sold_product_561784_21141\\",\\"7.988, 21.984\\",\\"7.988, 21.984\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Pyramidustries\\",\\"Spherecords, Pyramidustries\\",\\"4.309, 11.867\\",\\"7.988, 21.984\\",\\"19,114, 21,141\\",\\"Top - black/white, Xanadu - Across body bag - black\\",\\"Top - black/white, Xanadu - Across body bag - black\\",\\"1, 1\\",\\"ZO0644306443, ZO0205102051\\",\\"0, 0\\",\\"7.988, 21.984\\",\\"7.988, 21.984\\",\\"0, 0\\",\\"ZO0644306443, ZO0205102051\\",\\"29.984\\",\\"29.984\\",2,2,order,clarice +cwMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Carr\\",\\"Elyssa Carr\\",FEMALE,27,Carr,Carr,\\"(empty)\\",Friday,4,\\"elyssa@carr-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Tigress Enterprises MAMA\\",\\"Tigress Enterprises, Tigress Enterprises MAMA\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561815,\\"sold_product_561815_20116, sold_product_561815_24086\\",\\"sold_product_561815_20116, sold_product_561815_24086\\",\\"33, 21.984\\",\\"33, 21.984\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Tigress Enterprises MAMA\\",\\"Tigress Enterprises, Tigress Enterprises MAMA\\",\\"15.844, 11.43\\",\\"33, 21.984\\",\\"20,116, 24,086\\",\\"Handbag - Blue Violety, Long sleeved top - peacoat\\",\\"Handbag - Blue Violety, Long sleeved top - peacoat\\",\\"1, 1\\",\\"ZO0091100911, ZO0231102311\\",\\"0, 0\\",\\"33, 21.984\\",\\"33, 21.984\\",\\"0, 0\\",\\"ZO0091100911, ZO0231102311\\",\\"54.969\\",\\"54.969\\",2,2,order,elyssa +ngMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Mclaughlin\\",\\"Rabbia Al Mclaughlin\\",FEMALE,5,Mclaughlin,Mclaughlin,\\"(empty)\\",Friday,4,\\"rabbia al@mclaughlin-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Spherecords, Oceanavigations, Tigress Enterprises, Champion Arts\\",\\"Spherecords, Oceanavigations, Tigress Enterprises, Champion Arts\\",\\"Jun 20, 2019 @ 00:00:00.000\\",724573,\\"sold_product_724573_12483, sold_product_724573_21459, sold_product_724573_9400, sold_product_724573_16900\\",\\"sold_product_724573_12483, sold_product_724573_21459, sold_product_724573_9400, sold_product_724573_16900\\",\\"24.984, 42, 24.984, 24.984\\",\\"24.984, 42, 24.984, 24.984\\",\\"Women's Clothing, Women's Clothing, Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing, Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Spherecords, Oceanavigations, Tigress Enterprises, Champion Arts\\",\\"Spherecords, Oceanavigations, Tigress Enterprises, Champion Arts\\",\\"12.742, 21.828, 12.992, 13.742\\",\\"24.984, 42, 24.984, 24.984\\",\\"12,483, 21,459, 9,400, 16,900\\",\\"Jumper - beige multicolor, Summer dress - black, Jersey dress - navy, Jersey dress - black/white\\",\\"Jumper - beige multicolor, Summer dress - black, Jersey dress - navy, Jersey dress - black/white\\",\\"1, 1, 1, 1\\",\\"ZO0653306533, ZO0261702617, ZO0036800368, ZO0490704907\\",\\"0, 0, 0, 0\\",\\"24.984, 42, 24.984, 24.984\\",\\"24.984, 42, 24.984, 24.984\\",\\"0, 0, 0, 0\\",\\"ZO0653306533, ZO0261702617, ZO0036800368, ZO0490704907\\",\\"116.938\\",\\"116.938\\",4,4,order,rabbia +zwMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Hernandez\\",\\"Wilhemina St. Hernandez\\",FEMALE,17,Hernandez,Hernandez,\\"(empty)\\",Friday,4,\\"wilhemina st.@hernandez-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Spherecords, Low Tide Media\\",\\"Spherecords, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561937,\\"sold_product_561937_23134, sold_product_561937_14750\\",\\"sold_product_561937_23134, sold_product_561937_14750\\",\\"7.988, 50\\",\\"7.988, 50\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Low Tide Media\\",\\"Spherecords, Low Tide Media\\",\\"3.68, 26.984\\",\\"7.988, 50\\",\\"23,134, 14,750\\",\\"Basic T-shirt - dark grey multicolor, High heeled sandals - pink\\",\\"Basic T-shirt - dark grey multicolor, High heeled sandals - pink\\",\\"1, 1\\",\\"ZO0638606386, ZO0371503715\\",\\"0, 0\\",\\"7.988, 50\\",\\"7.988, 50\\",\\"0, 0\\",\\"ZO0638606386, ZO0371503715\\",\\"57.969\\",\\"57.969\\",2,2,order,wilhemina +0AMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Youssef,Youssef,\\"Youssef Bryan\\",\\"Youssef Bryan\\",MALE,31,Bryan,Bryan,\\"(empty)\\",Friday,4,\\"youssef@bryan-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Microlutions, Low Tide Media\\",\\"Microlutions, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561966,\\"sold_product_561966_23691, sold_product_561966_20112\\",\\"sold_product_561966_23691, sold_product_561966_20112\\",\\"28.984, 25.984\\",\\"28.984, 25.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Microlutions, Low Tide Media\\",\\"Microlutions, Low Tide Media\\",\\"13.922, 12.477\\",\\"28.984, 25.984\\",\\"23,691, 20,112\\",\\"Sweatshirt - black, Shirt - blue\\",\\"Sweatshirt - black, Shirt - blue\\",\\"1, 1\\",\\"ZO0124201242, ZO0413604136\\",\\"0, 0\\",\\"28.984, 25.984\\",\\"28.984, 25.984\\",\\"0, 0\\",\\"ZO0124201242, ZO0413604136\\",\\"54.969\\",\\"54.969\\",2,2,order,youssef +0QMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Stephanie,Stephanie,\\"Stephanie Cortez\\",\\"Stephanie Cortez\\",FEMALE,6,Cortez,Cortez,\\"(empty)\\",Friday,4,\\"stephanie@cortez-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Pyramidustries, Gnomehouse\\",\\"Pyramidustries, Gnomehouse\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561522,\\"sold_product_561522_15509, sold_product_561522_16044\\",\\"sold_product_561522_15509, sold_product_561522_16044\\",\\"11.992, 50\\",\\"11.992, 50\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Pyramidustries, Gnomehouse\\",\\"Pyramidustries, Gnomehouse\\",\\"6.469, 25\\",\\"11.992, 50\\",\\"15,509, 16,044\\",\\"Scarf - grey, Summer dress - navy blazer\\",\\"Scarf - grey, Summer dress - navy blazer\\",\\"1, 1\\",\\"ZO0194601946, ZO0340403404\\",\\"0, 0\\",\\"11.992, 50\\",\\"11.992, 50\\",\\"0, 0\\",\\"ZO0194601946, ZO0340403404\\",\\"61.969\\",\\"61.969\\",2,2,order,stephanie +7wMtOW0BH63Xcmy4528Z,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,Abd,Abd,\\"Abd Gregory\\",\\"Abd Gregory\\",MALE,52,Gregory,Gregory,\\"(empty)\\",Friday,4,\\"abd@gregory-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Angeldale, Oceanavigations\\",\\"Angeldale, Oceanavigations\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561330,\\"sold_product_561330_18701, sold_product_561330_11884\\",\\"sold_product_561330_18701, sold_product_561330_11884\\",\\"65, 22.984\\",\\"65, 22.984\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Angeldale, Oceanavigations\\",\\"Angeldale, Oceanavigations\\",\\"34.438, 10.578\\",\\"65, 22.984\\",\\"18,701, 11,884\\",\\"Lace-up boots - taupe, Jumper - navy\\",\\"Lace-up boots - taupe, Jumper - navy\\",\\"1, 1\\",\\"ZO0691106911, ZO0295902959\\",\\"0, 0\\",\\"65, 22.984\\",\\"65, 22.984\\",\\"0, 0\\",\\"ZO0691106911, ZO0295902959\\",88,88,2,2,order,abd +gwMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing, Women's Accessories\\",\\"Women's Shoes, Women's Clothing, Women's Accessories\\",EUR,\\"Wilhemina St.\\",\\"Wilhemina St.\\",\\"Wilhemina St. Jimenez\\",\\"Wilhemina St. Jimenez\\",FEMALE,17,Jimenez,Jimenez,\\"(empty)\\",Friday,4,\\"wilhemina st.@jimenez-family.zzz\\",\\"Monte Carlo\\",Europe,MC,\\"{ + \\"\\"coordinates\\"\\": [ + 7.4, + 43.7 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Tigress Enterprises, Spherecords\\",\\"Tigress Enterprises, Spherecords\\",\\"Jun 20, 2019 @ 00:00:00.000\\",726879,\\"sold_product_726879_7151, sold_product_726879_13075, sold_product_726879_13564, sold_product_726879_15989\\",\\"sold_product_726879_7151, sold_product_726879_13075, sold_product_726879_13564, sold_product_726879_15989\\",\\"42, 10.992, 16.984, 28.984\\",\\"42, 10.992, 16.984, 28.984\\",\\"Women's Shoes, Women's Clothing, Women's Accessories, Women's Clothing\\",\\"Women's Shoes, Women's Clothing, Women's Accessories, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Tigress Enterprises, Spherecords, Tigress Enterprises, Tigress Enterprises\\",\\"Tigress Enterprises, Spherecords, Tigress Enterprises, Tigress Enterprises\\",\\"22.25, 5.82, 9.344, 13.633\\",\\"42, 10.992, 16.984, 28.984\\",\\"7,151, 13,075, 13,564, 15,989\\",\\"Ankle boots - black, Body - black, Clutch - black, A-line skirt - blue\\",\\"Ankle boots - black, Body - black, Clutch - black, A-line skirt - blue\\",\\"1, 1, 1, 1\\",\\"ZO0020100201, ZO0659406594, ZO0087900879, ZO0032700327\\",\\"0, 0, 0, 0\\",\\"42, 10.992, 16.984, 28.984\\",\\"42, 10.992, 16.984, 28.984\\",\\"0, 0, 0, 0\\",\\"ZO0020100201, ZO0659406594, ZO0087900879, ZO0032700327\\",\\"98.938\\",\\"98.938\\",4,4,order,wilhemina +hAMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Women's Clothing\\",\\"Women's Accessories, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Abbott\\",\\"Elyssa Abbott\\",FEMALE,27,Abbott,Abbott,\\"(empty)\\",Friday,4,\\"elyssa@abbott-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Tigress Enterprises, Oceanavigations, Champion Arts\\",\\"Tigress Enterprises, Oceanavigations, Champion Arts\\",\\"Jun 20, 2019 @ 00:00:00.000\\",725944,\\"sold_product_725944_16292, sold_product_725944_18842, sold_product_725944_25188, sold_product_725944_15449\\",\\"sold_product_725944_16292, sold_product_725944_18842, sold_product_725944_25188, sold_product_725944_15449\\",\\"24.984, 16.984, 28.984, 10.992\\",\\"24.984, 16.984, 28.984, 10.992\\",\\"Women's Accessories, Women's Clothing, Women's Clothing, Women's Clothing\\",\\"Women's Accessories, Women's Clothing, Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Tigress Enterprises, Oceanavigations, Tigress Enterprises, Champion Arts\\",\\"Tigress Enterprises, Oceanavigations, Tigress Enterprises, Champion Arts\\",\\"11.25, 8.156, 15.648, 5.281\\",\\"24.984, 16.984, 28.984, 10.992\\",\\"16,292, 18,842, 25,188, 15,449\\",\\"Watch - rose gold-coloured, Print T-shirt - black, Blouse - peacoat, Print T-shirt - coral\\",\\"Watch - rose gold-coloured, Print T-shirt - black, Blouse - peacoat, Print T-shirt - coral\\",\\"1, 1, 1, 1\\",\\"ZO0079200792, ZO0263902639, ZO0065900659, ZO0492304923\\",\\"0, 0, 0, 0\\",\\"24.984, 16.984, 28.984, 10.992\\",\\"24.984, 16.984, 28.984, 10.992\\",\\"0, 0, 0, 0\\",\\"ZO0079200792, ZO0263902639, ZO0065900659, ZO0492304923\\",\\"81.938\\",\\"81.938\\",4,4,order,elyssa +jAMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Elyssa,Elyssa,\\"Elyssa Dennis\\",\\"Elyssa Dennis\\",FEMALE,27,Dennis,Dennis,\\"(empty)\\",Friday,4,\\"elyssa@dennis-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Spherecords, Oceanavigations\\",\\"Spherecords, Oceanavigations\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562572,\\"sold_product_562572_13412, sold_product_562572_19097\\",\\"sold_product_562572_13412, sold_product_562572_19097\\",\\"13.992, 60\\",\\"13.992, 60\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Oceanavigations\\",\\"Spherecords, Oceanavigations\\",\\"7.551, 29.406\\",\\"13.992, 60\\",\\"13,412, 19,097\\",\\"Blouse - off white, Ankle boots - camel\\",\\"Blouse - off white, Ankle boots - camel\\",\\"1, 1\\",\\"ZO0649706497, ZO0249202492\\",\\"0, 0\\",\\"13.992, 60\\",\\"13.992, 60\\",\\"0, 0\\",\\"ZO0649706497, ZO0249202492\\",74,74,2,2,order,elyssa +nAMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",EUR,Stephanie,Stephanie,\\"Stephanie Marshall\\",\\"Stephanie Marshall\\",FEMALE,6,Marshall,Marshall,\\"(empty)\\",Friday,4,\\"stephanie@marshall-family.zzz\\",Cannes,Europe,FR,\\"{ + \\"\\"coordinates\\"\\": [ + 7, + 43.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Alpes-Maritimes\\",\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562035,\\"sold_product_562035_9471, sold_product_562035_21453\\",\\"sold_product_562035_9471, sold_product_562035_21453\\",\\"42, 13.992\\",\\"42, 13.992\\",\\"Women's Clothing, Women's Accessories\\",\\"Women's Clothing, Women's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Gnomehouse, Pyramidustries\\",\\"Gnomehouse, Pyramidustries\\",\\"22.672, 7\\",\\"42, 13.992\\",\\"9,471, 21,453\\",\\"Summer dress - black/june bug, Handbag - black\\",\\"Summer dress - black/june bug, Handbag - black\\",\\"1, 1\\",\\"ZO0334403344, ZO0205002050\\",\\"0, 0\\",\\"42, 13.992\\",\\"42, 13.992\\",\\"0, 0\\",\\"ZO0334403344, ZO0205002050\\",\\"55.969\\",\\"55.969\\",2,2,order,stephanie +nQMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Robbie,Robbie,\\"Robbie Hodges\\",\\"Robbie Hodges\\",MALE,48,Hodges,Hodges,\\"(empty)\\",Friday,4,\\"robbie@hodges-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,Elitelligence,Elitelligence,\\"Jun 20, 2019 @ 00:00:00.000\\",562112,\\"sold_product_562112_6789, sold_product_562112_20433\\",\\"sold_product_562112_6789, sold_product_562112_20433\\",\\"20.984, 10.992\\",\\"20.984, 10.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Elitelligence\\",\\"Elitelligence, Elitelligence\\",\\"10.703, 5.82\\",\\"20.984, 10.992\\",\\"6,789, 20,433\\",\\"Chinos - blue, Long sleeved top - black/white\\",\\"Chinos - blue, Long sleeved top - black/white\\",\\"1, 1\\",\\"ZO0527405274, ZO0547005470\\",\\"0, 0\\",\\"20.984, 10.992\\",\\"20.984, 10.992\\",\\"0, 0\\",\\"ZO0527405274, ZO0547005470\\",\\"31.984\\",\\"31.984\\",2,2,order,robbie +ngMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,Clarice,Clarice,\\"Clarice Ball\\",\\"Clarice Ball\\",FEMALE,18,Ball,Ball,\\"(empty)\\",Friday,4,\\"clarice@ball-family.zzz\\",Birmingham,Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -1.9, + 52.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Birmingham,\\"Tigress Enterprises Curvy, Karmanite\\",\\"Tigress Enterprises Curvy, Karmanite\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562275,\\"sold_product_562275_19153, sold_product_562275_12720\\",\\"sold_product_562275_19153, sold_product_562275_12720\\",\\"29.984, 70\\",\\"29.984, 70\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises Curvy, Karmanite\\",\\"Tigress Enterprises Curvy, Karmanite\\",\\"14.992, 37.094\\",\\"29.984, 70\\",\\"19,153, 12,720\\",\\"Cardigan - jade, Sandals - black\\",\\"Cardigan - jade, Sandals - black\\",\\"1, 1\\",\\"ZO0106301063, ZO0703507035\\",\\"0, 0\\",\\"29.984, 70\\",\\"29.984, 70\\",\\"0, 0\\",\\"ZO0106301063, ZO0703507035\\",100,100,2,2,order,clarice +nwMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Greer\\",\\"Mostafa Greer\\",MALE,9,Greer,Greer,\\"(empty)\\",Friday,4,\\"mostafa@greer-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562287,\\"sold_product_562287_3022, sold_product_562287_23056\\",\\"sold_product_562287_3022, sold_product_562287_23056\\",\\"16.984, 60\\",\\"16.984, 60\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"9.172, 28.797\\",\\"16.984, 60\\",\\"3,022, 23,056\\",\\"3 PACK - Basic T-shirt - white, Suit jacket - grey multicolor\\",\\"3 PACK - Basic T-shirt - white, Suit jacket - grey multicolor\\",\\"1, 1\\",\\"ZO0473104731, ZO0274302743\\",\\"0, 0\\",\\"16.984, 60\\",\\"16.984, 60\\",\\"0, 0\\",\\"ZO0473104731, ZO0274302743\\",77,77,2,2,order,mostafa +rgMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Tariq,Tariq,\\"Tariq Schultz\\",\\"Tariq Schultz\\",MALE,25,Schultz,Schultz,\\"(empty)\\",Friday,4,\\"tariq@schultz-family.zzz\\",Istanbul,Asia,TR,\\"{ + \\"\\"coordinates\\"\\": [ + 29, + 41 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Istanbul,\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562404,\\"sold_product_562404_19679, sold_product_562404_22477\\",\\"sold_product_562404_19679, sold_product_562404_22477\\",\\"28.984, 22.984\\",\\"28.984, 22.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Oceanavigations\\",\\"Elitelligence, Oceanavigations\\",\\"15.648, 12.18\\",\\"28.984, 22.984\\",\\"19,679, 22,477\\",\\"Hoodie - black/dark blue/white, Jumper - khaki\\",\\"Hoodie - black/dark blue/white, Jumper - khaki\\",\\"1, 1\\",\\"ZO0584205842, ZO0299102991\\",\\"0, 0\\",\\"28.984, 22.984\\",\\"28.984, 22.984\\",\\"0, 0\\",\\"ZO0584205842, ZO0299102991\\",\\"51.969\\",\\"51.969\\",2,2,order,tariq +1QMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Men's Clothing\\",\\"Women's Accessories, Men's Clothing\\",EUR,Hicham,Hicham,\\"Hicham Abbott\\",\\"Hicham Abbott\\",MALE,8,Abbott,Abbott,\\"(empty)\\",Friday,4,\\"hicham@abbott-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562099,\\"sold_product_562099_18906, sold_product_562099_21672\\",\\"sold_product_562099_18906, sold_product_562099_21672\\",\\"13.992, 16.984\\",\\"13.992, 16.984\\",\\"Women's Accessories, Men's Clothing\\",\\"Women's Accessories, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Low Tide Media\\",\\"Oceanavigations, Low Tide Media\\",\\"6.578, 9\\",\\"13.992, 16.984\\",\\"18,906, 21,672\\",\\"Belt - black, Polo shirt - black multicolor\\",\\"Belt - black, Polo shirt - black multicolor\\",\\"1, 1\\",\\"ZO0317903179, ZO0443904439\\",\\"0, 0\\",\\"13.992, 16.984\\",\\"13.992, 16.984\\",\\"0, 0\\",\\"ZO0317903179, ZO0443904439\\",\\"30.984\\",\\"30.984\\",2,2,order,hicham +1gMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Boris,Boris,\\"Boris Morrison\\",\\"Boris Morrison\\",MALE,36,Morrison,Morrison,\\"(empty)\\",Friday,4,\\"boris@morrison-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562298,\\"sold_product_562298_22860, sold_product_562298_11728\\",\\"sold_product_562298_22860, sold_product_562298_11728\\",\\"24.984, 18.984\\",\\"24.984, 18.984\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Elitelligence\\",\\"Oceanavigations, Elitelligence\\",\\"11.5, 8.547\\",\\"24.984, 18.984\\",\\"22,860, 11,728\\",\\"Shirt - offwhite, Sweatshirt - red\\",\\"Shirt - offwhite, Sweatshirt - red\\",\\"1, 1\\",\\"ZO0280002800, ZO0583105831\\",\\"0, 0\\",\\"24.984, 18.984\\",\\"24.984, 18.984\\",\\"0, 0\\",\\"ZO0280002800, ZO0583105831\\",\\"43.969\\",\\"43.969\\",2,2,order,boris +3QMtOW0BH63Xcmy453D9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Oliver,Oliver,\\"Oliver Rios\\",\\"Oliver Rios\\",MALE,7,Rios,Rios,\\"(empty)\\",Friday,4,\\"oliver@rios-family.zzz\\",\\"-\\",Europe,GB,\\"{ + \\"\\"coordinates\\"\\": [ + -0.1, + 51.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Elitelligence, Angeldale\\",\\"Elitelligence, Angeldale\\",\\"Jun 20, 2019 @ 00:00:00.000\\",562025,\\"sold_product_562025_18322, sold_product_562025_1687\\",\\"sold_product_562025_18322, sold_product_562025_1687\\",\\"14.992, 80\\",\\"14.992, 80\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Elitelligence, Angeldale\\",\\"Elitelligence, Angeldale\\",\\"7.352, 43.188\\",\\"14.992, 80\\",\\"18,322, 1,687\\",\\"Print T-shirt - grey, Lace-ups - whisky\\",\\"Print T-shirt - grey, Lace-ups - whisky\\",\\"1, 1\\",\\"ZO0558205582, ZO0682406824\\",\\"0, 0\\",\\"14.992, 80\\",\\"14.992, 80\\",\\"0, 0\\",\\"ZO0558205582, ZO0682406824\\",95,95,2,2,order,oliver +hAMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing, Women's Shoes\\",\\"Women's Clothing, Women's Shoes\\",EUR,\\"Rabbia Al\\",\\"Rabbia Al\\",\\"Rabbia Al Palmer\\",\\"Rabbia Al Palmer\\",FEMALE,5,Palmer,Palmer,\\"(empty)\\",Friday,4,\\"rabbia al@palmer-family.zzz\\",Dubai,Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 55.3, + 25.3 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",Dubai,\\"Spherecords, Pyramidustries, Tigress Enterprises\\",\\"Spherecords, Pyramidustries, Tigress Enterprises\\",\\"Jun 20, 2019 @ 00:00:00.000\\",732071,\\"sold_product_732071_23772, sold_product_732071_22922, sold_product_732071_24589, sold_product_732071_24761\\",\\"sold_product_732071_23772, sold_product_732071_22922, sold_product_732071_24589, sold_product_732071_24761\\",\\"18.984, 33, 24.984, 20.984\\",\\"18.984, 33, 24.984, 20.984\\",\\"Women's Clothing, Women's Clothing, Women's Shoes, Women's Clothing\\",\\"Women's Clothing, Women's Clothing, Women's Shoes, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Spherecords, Pyramidustries, Tigress Enterprises, Tigress Enterprises\\",\\"Spherecords, Pyramidustries, Tigress Enterprises, Tigress Enterprises\\",\\"10.25, 15.508, 13.492, 10.289\\",\\"18.984, 33, 24.984, 20.984\\",\\"23,772, 22,922, 24,589, 24,761\\",\\"Jumper - turquoise, Jersey dress - dark red, Boots - black, Vest - black\\",\\"Jumper - turquoise, Jersey dress - dark red, Boots - black, Vest - black\\",\\"1, 1, 1, 1\\",\\"ZO0655406554, ZO0154001540, ZO0030300303, ZO0061100611\\",\\"0, 0, 0, 0\\",\\"18.984, 33, 24.984, 20.984\\",\\"18.984, 33, 24.984, 20.984\\",\\"0, 0, 0, 0\\",\\"ZO0655406554, ZO0154001540, ZO0030300303, ZO0061100611\\",\\"97.938\\",\\"97.938\\",4,4,order,rabbia +kQMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",EUR,Yahya,Yahya,\\"Yahya King\\",\\"Yahya King\\",MALE,23,King,King,\\"(empty)\\",Friday,4,\\"yahya@king-family.zzz\\",Marrakesh,Africa,MA,\\"{ + \\"\\"coordinates\\"\\": [ + -8, + 31.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Marrakech-Tensift-Al Haouz\\",\\"Low Tide Media, (empty)\\",\\"Low Tide Media, (empty)\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561383,\\"sold_product_561383_15806, sold_product_561383_12605\\",\\"sold_product_561383_15806, sold_product_561383_12605\\",\\"13.992, 155\\",\\"13.992, 155\\",\\"Men's Accessories, Men's Shoes\\",\\"Men's Accessories, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, (empty)\\",\\"Low Tide Media, (empty)\\",\\"7.27, 82.125\\",\\"13.992, 155\\",\\"15,806, 12,605\\",\\"Belt - dark brown, Lace-ups - taupe\\",\\"Belt - dark brown, Lace-ups - taupe\\",\\"1, 1\\",\\"ZO0461804618, ZO0481404814\\",\\"0, 0\\",\\"13.992, 155\\",\\"13.992, 155\\",\\"0, 0\\",\\"ZO0461804618, ZO0481404814\\",169,169,2,2,order,yahya +kgMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Sonya,Sonya,\\"Sonya Strickland\\",\\"Sonya Strickland\\",FEMALE,28,Strickland,Strickland,\\"(empty)\\",Friday,4,\\"sonya@strickland-family.zzz\\",Bogotu00e1,\\"South America\\",CO,\\"{ + \\"\\"coordinates\\"\\": [ + -74.1, + 4.6 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Bogota D.C.\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561825,\\"sold_product_561825_23332, sold_product_561825_8218\\",\\"sold_product_561825_23332, sold_product_561825_8218\\",\\"18.984, 17.984\\",\\"18.984, 17.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Tigress Enterprises, Pyramidustries\\",\\"Tigress Enterprises, Pyramidustries\\",\\"9.117, 9.531\\",\\"18.984, 17.984\\",\\"23,332, 8,218\\",\\"Vest - black/dark green, Sweatshirt - rose\\",\\"Vest - black/dark green, Sweatshirt - rose\\",\\"1, 1\\",\\"ZO0062500625, ZO0179801798\\",\\"0, 0\\",\\"18.984, 17.984\\",\\"18.984, 17.984\\",\\"0, 0\\",\\"ZO0062500625, ZO0179801798\\",\\"36.969\\",\\"36.969\\",2,2,order,sonya +kwMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Abd,Abd,\\"Abd Meyer\\",\\"Abd Meyer\\",MALE,52,Meyer,Meyer,\\"(empty)\\",Friday,4,\\"abd@meyer-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561870,\\"sold_product_561870_18909, sold_product_561870_18272\\",\\"sold_product_561870_18909, sold_product_561870_18272\\",\\"65, 12.992\\",\\"65, 12.992\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Spritechnologies\\",\\"Low Tide Media, Spritechnologies\\",\\"33.125, 6.109\\",\\"65, 12.992\\",\\"18,909, 18,272\\",\\"Cardigan - grey multicolor, Sports shirt - dark grey multicolor\\",\\"Cardigan - grey multicolor, Sports shirt - dark grey multicolor\\",\\"1, 1\\",\\"ZO0450904509, ZO0615906159\\",\\"0, 0\\",\\"65, 12.992\\",\\"65, 12.992\\",\\"0, 0\\",\\"ZO0450904509, ZO0615906159\\",78,78,2,2,order,abd +wwMtOW0BH63Xcmy453H9,ecommerce,\\"-\\",\\"-\\",\\"Women's Clothing\\",\\"Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Salazar\\",\\"Elyssa Salazar\\",FEMALE,27,Salazar,Salazar,\\"(empty)\\",Friday,4,\\"elyssa@salazar-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",Oceanavigations,Oceanavigations,\\"Jun 20, 2019 @ 00:00:00.000\\",561569,\\"sold_product_561569_22788, sold_product_561569_20475\\",\\"sold_product_561569_22788, sold_product_561569_20475\\",\\"20.984, 28.984\\",\\"20.984, 28.984\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Oceanavigations, Oceanavigations\\",\\"Oceanavigations, Oceanavigations\\",\\"9.867, 15.359\\",\\"20.984, 28.984\\",\\"22,788, 20,475\\",\\"Print T-shirt - white/black, Blouse - red\\",\\"Print T-shirt - white/black, Blouse - red\\",\\"1, 1\\",\\"ZO0264602646, ZO0265202652\\",\\"0, 0\\",\\"20.984, 28.984\\",\\"20.984, 28.984\\",\\"0, 0\\",\\"ZO0264602646, ZO0265202652\\",\\"49.969\\",\\"49.969\\",2,2,order,elyssa +hAMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Robert,Robert,\\"Robert Brock\\",\\"Robert Brock\\",MALE,29,Brock,Brock,\\"(empty)\\",Friday,4,\\"robert@brock-family.zzz\\",\\"-\\",Asia,SA,\\"{ + \\"\\"coordinates\\"\\": [ + 45, + 25 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"-\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561935,\\"sold_product_561935_20811, sold_product_561935_19107\\",\\"sold_product_561935_20811, sold_product_561935_19107\\",\\"37, 50\\",\\"37, 50\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Oceanavigations\\",\\"Low Tide Media, Oceanavigations\\",\\"17.391, 26.984\\",\\"37, 50\\",\\"20,811, 19,107\\",\\"Shirt - white/red, Suit jacket - navy\\",\\"Shirt - white/red, Suit jacket - navy\\",\\"1, 1\\",\\"ZO0417404174, ZO0275702757\\",\\"0, 0\\",\\"37, 50\\",\\"37, 50\\",\\"0, 0\\",\\"ZO0417404174, ZO0275702757\\",87,87,2,2,order,robert +hQMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",EUR,\\"Abdulraheem Al\\",\\"Abdulraheem Al\\",\\"Abdulraheem Al Graves\\",\\"Abdulraheem Al Graves\\",MALE,33,Graves,Graves,\\"(empty)\\",Friday,4,\\"abdulraheem al@graves-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Low Tide Media\\",\\"Low Tide Media\\",\\"Jun 20, 2019 @ 00:00:00.000\\",561976,\\"sold_product_561976_16395, sold_product_561976_2982\\",\\"sold_product_561976_16395, sold_product_561976_2982\\",\\"42, 33\\",\\"42, 33\\",\\"Men's Shoes, Men's Clothing\\",\\"Men's Shoes, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Low Tide Media, Low Tide Media\\",\\"Low Tide Media, Low Tide Media\\",\\"19.313, 17.484\\",\\"42, 33\\",\\"16,395, 2,982\\",\\"Lace-ups - black, Jumper - multicoloured\\",\\"Lace-ups - black, Jumper - multicoloured\\",\\"1, 1\\",\\"ZO0392703927, ZO0452004520\\",\\"0, 0\\",\\"42, 33\\",\\"42, 33\\",\\"0, 0\\",\\"ZO0392703927, ZO0452004520\\",75,75,2,2,order,abdulraheem +swMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Accessories, Men's Accessories, Men's Shoes\\",\\"Women's Accessories, Men's Accessories, Men's Shoes\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Goodman\\",\\"Sultan Al Goodman\\",MALE,19,Goodman,Goodman,\\"(empty)\\",Friday,4,\\"sultan al@goodman-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ + \\"\\"coordinates\\"\\": [ + 54.4, + 24.5 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Abu Dhabi\\",\\"Elitelligence, Oceanavigations, Angeldale\\",\\"Elitelligence, Oceanavigations, Angeldale\\",\\"Jun 20, 2019 @ 00:00:00.000\\",717426,\\"sold_product_717426_20776, sold_product_717426_13026, sold_product_717426_11738, sold_product_717426_15588\\",\\"sold_product_717426_20776, sold_product_717426_13026, sold_product_717426_11738, sold_product_717426_15588\\",\\"24.984, 100, 14.992, 20.984\\",\\"24.984, 100, 14.992, 20.984\\",\\"Women's Accessories, Men's Accessories, Men's Shoes, Women's Accessories\\",\\"Women's Accessories, Men's Accessories, Men's Shoes, Women's Accessories\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Elitelligence, Oceanavigations, Elitelligence, Angeldale\\",\\"Elitelligence, Oceanavigations, Elitelligence, Angeldale\\",\\"12, 48, 7.5, 11.539\\",\\"24.984, 100, 14.992, 20.984\\",\\"20,776, 13,026, 11,738, 15,588\\",\\"Sports bag - navy/cognac, Weekend bag - dark brown, Espadrilles - navy, Wallet - cognac\\",\\"Sports bag - navy/cognac, Weekend bag - dark brown, Espadrilles - navy, Wallet - cognac\\",\\"1, 1, 1, 1\\",\\"ZO0606006060, ZO0314703147, ZO0518005180, ZO0702907029\\",\\"0, 0, 0, 0\\",\\"24.984, 100, 14.992, 20.984\\",\\"24.984, 100, 14.992, 20.984\\",\\"0, 0, 0, 0\\",\\"ZO0606006060, ZO0314703147, ZO0518005180, ZO0702907029\\",161,161,4,4,order,sultan +ywMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing, Men's Shoes\\",\\"Men's Clothing, Men's Shoes\\",EUR,Abd,Abd,\\"Abd Jacobs\\",\\"Abd Jacobs\\",MALE,52,Jacobs,Jacobs,\\"(empty)\\",Friday,4,\\"abd@jacobs-family.zzz\\",Cairo,Africa,EG,\\"{ + \\"\\"coordinates\\"\\": [ + 31.3, + 30.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"Cairo Governorate\\",\\"Elitelligence, Microlutions\\",\\"Elitelligence, Microlutions\\",\\"Jun 20, 2019 @ 00:00:00.000\\",719082,\\"sold_product_719082_23782, sold_product_719082_12684, sold_product_719082_19741, sold_product_719082_19989\\",\\"sold_product_719082_23782, sold_product_719082_12684, sold_product_719082_19741, sold_product_719082_19989\\",\\"28.984, 14.992, 16.984, 28.984\\",\\"28.984, 14.992, 16.984, 28.984\\",\\"Men's Clothing, Men's Clothing, Men's Shoes, Men's Shoes\\",\\"Men's Clothing, Men's Clothing, Men's Shoes, Men's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Elitelligence, Microlutions, Elitelligence, Elitelligence\\",\\"Elitelligence, Microlutions, Elitelligence, Elitelligence\\",\\"15.07, 7.5, 7.988, 15.648\\",\\"28.984, 14.992, 16.984, 28.984\\",\\"23,782, 12,684, 19,741, 19,989\\",\\"Tracksuit top - black, Print T-shirt - navy blazer, Trainers - black, Trainers - grey\\",\\"Tracksuit top - black, Print T-shirt - navy blazer, Trainers - black, Trainers - grey\\",\\"1, 1, 1, 1\\",\\"ZO0591005910, ZO0116501165, ZO0507505075, ZO0514305143\\",\\"0, 0, 0, 0\\",\\"28.984, 14.992, 16.984, 28.984\\",\\"28.984, 14.992, 16.984, 28.984\\",\\"0, 0, 0, 0\\",\\"ZO0591005910, ZO0116501165, ZO0507505075, ZO0514305143\\",\\"89.938\\",\\"89.938\\",4,4,order,abd +0wMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Men's Clothing\\",\\"Men's Clothing\\",EUR,Jackson,Jackson,\\"Jackson Pope\\",\\"Jackson Pope\\",MALE,13,Pope,Pope,\\"(empty)\\",Friday,4,\\"jackson@pope-family.zzz\\",\\"Los Angeles\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -118.2, + 34.1 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",California,\\"Elitelligence, Microlutions, Oceanavigations\\",\\"Elitelligence, Microlutions, Oceanavigations\\",\\"Jun 20, 2019 @ 00:00:00.000\\",715688,\\"sold_product_715688_19518, sold_product_715688_21048, sold_product_715688_12333, sold_product_715688_21005\\",\\"sold_product_715688_19518, sold_product_715688_21048, sold_product_715688_12333, sold_product_715688_21005\\",\\"33, 14.992, 16.984, 20.984\\",\\"33, 14.992, 16.984, 20.984\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing, Men's Clothing, Men's Clothing\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Elitelligence, Microlutions, Elitelligence, Oceanavigations\\",\\"Elitelligence, Microlutions, Elitelligence, Oceanavigations\\",\\"16.813, 6.75, 7.648, 9.656\\",\\"33, 14.992, 16.984, 20.984\\",\\"19,518, 21,048, 12,333, 21,005\\",\\"Sweatshirt - mottled grey, Print T-shirt - bright white, Tracksuit top - black, Formal shirt - white\\",\\"Sweatshirt - mottled grey, Print T-shirt - bright white, Tracksuit top - black, Formal shirt - white\\",\\"1, 1, 1, 1\\",\\"ZO0585505855, ZO0121001210, ZO0583005830, ZO0279402794\\",\\"0, 0, 0, 0\\",\\"33, 14.992, 16.984, 20.984\\",\\"33, 14.992, 16.984, 20.984\\",\\"0, 0, 0, 0\\",\\"ZO0585505855, ZO0121001210, ZO0583005830, ZO0279402794\\",\\"85.938\\",\\"85.938\\",4,4,order,jackson +1QMtOW0BH63Xcmy46HLV,ecommerce,\\"-\\",\\"-\\",\\"Women's Shoes, Women's Clothing\\",\\"Women's Shoes, Women's Clothing\\",EUR,Elyssa,Elyssa,\\"Elyssa Bryan\\",\\"Elyssa Bryan\\",FEMALE,27,Bryan,Bryan,\\"(empty)\\",Friday,4,\\"elyssa@bryan-family.zzz\\",\\"New York\\",\\"North America\\",US,\\"{ + \\"\\"coordinates\\"\\": [ + -74, + 40.8 + ], + \\"\\"type\\"\\": \\"\\"Point\\"\\" +}\\",\\"New York\\",\\"Low Tide Media, Pyramidustries, Pyramidustries active\\",\\"Low Tide Media, Pyramidustries, Pyramidustries active\\",\\"Jun 20, 2019 @ 00:00:00.000\\",729671,\\"sold_product_729671_5140, sold_product_729671_12381, sold_product_729671_16267, sold_product_729671_20230\\",\\"sold_product_729671_5140, sold_product_729671_12381, sold_product_729671_16267, sold_product_729671_20230\\",\\"60, 16.984, 24.984, 24.984\\",\\"60, 16.984, 24.984, 24.984\\",\\"Women's Shoes, Women's Clothing, Women's Clothing, Women's Shoes\\",\\"Women's Shoes, Women's Clothing, Women's Clothing, Women's Shoes\\",\\"Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000, Dec 9, 2016 @ 00:00:00.000\\",\\"0, 0, 0, 0\\",\\"0, 0, 0, 0\\",\\"Low Tide Media, Pyramidustries, Pyramidustries active, Pyramidustries\\",\\"Low Tide Media, Pyramidustries, Pyramidustries active, Pyramidustries\\",\\"30, 7.648, 12.492, 12\\",\\"60, 16.984, 24.984, 24.984\\",\\"5,140, 12,381, 16,267, 20,230\\",\\"Ankle boots - onix, Sweatshirt - rose, Tights - black, Sandals - silver\\",\\"Ankle boots - onix, Sweatshirt - rose, Tights - black, Sandals - silver\\",\\"1, 1, 1, 1\\",\\"ZO0375303753, ZO0178301783, ZO0226002260, ZO0137601376\\",\\"0, 0, 0, 0\\",\\"60, 16.984, 24.984, 24.984\\",\\"60, 16.984, 24.984, 24.984\\",\\"0, 0, 0, 0\\",\\"ZO0375303753, ZO0178301783, ZO0226002260, ZO0137601376\\",\\"126.938\\",\\"126.938\\",4,4,order,elyssa +" +`; diff --git a/x-pack/test/functional/apps/discover/error_handling.ts b/x-pack/test/functional/apps/discover/error_handling.ts index 19cedc8ecb555..194a9a592c1c2 100644 --- a/x-pack/test/functional/apps/discover/error_handling.ts +++ b/x-pack/test/functional/apps/discover/error_handling.ts @@ -10,19 +10,22 @@ import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { const esArchiver = getService('esArchiver'); + const kibanaServer = getService('kibanaServer'); const toasts = getService('toasts'); const PageObjects = getPageObjects(['common', 'discover', 'timePicker']); describe('errors', function describeIndexTests() { before(async function () { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional'); - await esArchiver.load('x-pack/test/functional/es_archives/invalid_scripted_field'); + await kibanaServer.importExport.load( + 'test/functional/fixtures/kbn_archiver/invalid_scripted_field' + ); await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings(); await PageObjects.common.navigateToApp('discover'); }); after(async function () { - await esArchiver.unload('x-pack/test/functional/es_archives/invalid_scripted_field'); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); }); // this is the same test as in OSS but it catches different error message issue in different licences diff --git a/x-pack/test/functional/apps/discover/reporting.ts b/x-pack/test/functional/apps/discover/reporting.ts index 73447c3a60977..a37d3ad2db3cd 100644 --- a/x-pack/test/functional/apps/discover/reporting.ts +++ b/x-pack/test/functional/apps/discover/reporting.ts @@ -10,7 +10,7 @@ import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { const log = getService('log'); - const es = getService('es'); + const esVersion = getService('esVersion'); const esArchiver = getService('esArchiver'); const kibanaServer = getService('kibanaServer'); const browser = getService('browser'); @@ -36,7 +36,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { return res; }; - describe('Discover CSV Export', () => { + describe('Discover CSV Export', function () { before('initialize tests', async () => { log.debug('ReportingPage:initTests'); await esArchiver.load('x-pack/test/functional/es_archives/reporting/ecommerce'); @@ -47,12 +47,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { after('clean up archives', async () => { await esArchiver.unload('x-pack/test/functional/es_archives/reporting/ecommerce'); await kibanaServer.importExport.unload(ecommerceSOPath); - await es.deleteByQuery({ - index: '.reporting-*', - refresh: true, - body: { query: { match_all: {} } }, - }); - await esArchiver.emptyKibanaIndex(); }); describe('Check Available', () => { @@ -70,11 +64,33 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); }); - describe('Generate CSV: new search', () => { - beforeEach(async () => { - await kibanaServer.importExport.load(ecommerceSOPath); - await PageObjects.common.navigateToApp('discover'); + const describeIfEs7 = esVersion.matchRange('<8') ? describe : describe.skip; + const describeIfEs8 = esVersion.matchRange('>=8') ? describe : describe.skip; + + const newSearchBeforeEach = async () => { + await kibanaServer.importExport.load(ecommerceSOPath); + await PageObjects.common.navigateToApp('discover'); + await PageObjects.discover.selectIndexPattern('ecommerce'); + }; + + describeIfEs8('Generate: CSV: new search (8.x)', () => { + beforeEach(newSearchBeforeEach); + + it('generates a report from a new search with data: default', async () => { + await PageObjects.discover.clickNewSearchButton(); + await PageObjects.reporting.setTimepickerInEcommerceDataRange(); + + const res = await getReport(); + expect(res.status).to.equal(200); + expect(res.get('content-type')).to.equal('text/csv; charset=utf-8'); + + const csvFile = res.text; + expectSnapshot(csvFile).toMatch(); }); + }); + + describeIfEs7('Generate CSV: new search (7.17)', () => { + beforeEach(newSearchBeforeEach); it('generates a report from a new search with data: default', async () => { await PageObjects.discover.clickNewSearchButton(); @@ -102,7 +118,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const fromTime = 'Apr 27, 2019 @ 23:56:51.374'; const toTime = 'Aug 23, 2019 @ 16:18:51.821'; await PageObjects.timePicker.setAbsoluteRange(fromTime, toTime); - await PageObjects.discover.selectIndexPattern('ecommerce'); await PageObjects.discover.clickNewSearchButton(); await retry.try(async () => { expect(await PageObjects.discover.getHitCount()).to.equal('4,675'); diff --git a/x-pack/test/functional/apps/discover/value_suggestions_non_timebased.ts b/x-pack/test/functional/apps/discover/value_suggestions_non_timebased.ts index b95cbea20cf82..8d95d85a88e1e 100644 --- a/x-pack/test/functional/apps/discover/value_suggestions_non_timebased.ts +++ b/x-pack/test/functional/apps/discover/value_suggestions_non_timebased.ts @@ -9,6 +9,7 @@ import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { const esArchiver = getService('esArchiver'); + const kibanaServer = getService('kibanaServer'); const queryBar = getService('queryBar'); const PageObjects = getPageObjects(['common', 'settings', 'context', 'header']); @@ -17,12 +18,23 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await esArchiver.loadIfNeeded( 'test/functional/fixtures/es_archiver/index_pattern_without_timefield' ); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); + await kibanaServer.importExport.load( + 'test/functional/fixtures/kbn_archiver/index_pattern_without_timefield' + ); + await kibanaServer.uiSettings.replace({ defaultIndex: 'without-timefield' }); + await kibanaServer.uiSettings.update({ + 'doc_table:legacy': true, + }); }); after(async () => { await esArchiver.unload( 'test/functional/fixtures/es_archiver/index_pattern_without_timefield' ); + await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); + await kibanaServer.uiSettings.unset('defaultIndex'); + await kibanaServer.uiSettings.unset('doc_table:legacy'); }); it('shows all autosuggest options for a filter in discover context app', async () => { diff --git a/x-pack/test/functional/apps/index_lifecycle_management/home_page.ts b/x-pack/test/functional/apps/index_lifecycle_management/home_page.ts index b8ca3384e2df4..305ff8724fb7b 100644 --- a/x-pack/test/functional/apps/index_lifecycle_management/home_page.ts +++ b/x-pack/test/functional/apps/index_lifecycle_management/home_page.ts @@ -9,31 +9,38 @@ import expect from '@kbn/expect'; import { FtrProviderContext } from '../../ftr_provider_context'; const policyName = 'testPolicy1'; -const repoName = 'test'; +const repoName = 'found-snapshots'; // this repo already exists on cloud export default ({ getPageObjects, getService }: FtrProviderContext) => { const pageObjects = getPageObjects(['common', 'indexLifecycleManagement']); const log = getService('log'); const retry = getService('retry'); const esClient = getService('es'); + const deployment = getService('deployment'); describe('Home page', function () { before(async () => { - await esClient.snapshot.createRepository({ - repository: repoName, - body: { - type: 'fs', - settings: { - // use one of the values defined in path.repo in test/functional/config.js - location: '/tmp/', + const isCloud = await deployment.isCloud(); + if (!isCloud) { + await esClient.snapshot.createRepository({ + repository: repoName, + body: { + type: 'fs', + settings: { + // use one of the values defined in path.repo in test/functional/config.js + location: '/tmp/', + }, }, - }, - verify: false, - }); + verify: false, + }); + } await pageObjects.common.navigateToApp('indexLifecycleManagement'); }); after(async () => { - await esClient.snapshot.deleteRepository({ repository: repoName }); + const isCloud = await deployment.isCloud(); + if (!isCloud) { + await esClient.snapshot.deleteRepository({ repository: repoName }); + } await esClient.ilm.deleteLifecycle({ policy: policyName }); }); diff --git a/x-pack/test/functional/apps/index_management/feature_controls/index_management_security.ts b/x-pack/test/functional/apps/index_management/feature_controls/index_management_security.ts index 4c41abc745d8e..09329b0cbe2b4 100644 --- a/x-pack/test/functional/apps/index_management/feature_controls/index_management_security.ts +++ b/x-pack/test/functional/apps/index_management/feature_controls/index_management_security.ts @@ -15,7 +15,9 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { const appsMenu = getService('appsMenu'); const managementMenu = getService('managementMenu'); - describe('security', () => { + describe('security', function () { + this.onlyEsVersion('<=7'); + before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/empty_kibana'); await PageObjects.common.navigateToApp('home'); diff --git a/x-pack/test/functional/apps/index_management/home_page.ts b/x-pack/test/functional/apps/index_management/home_page.ts index 3b0e220f35231..1f69e4d2ffdc3 100644 --- a/x-pack/test/functional/apps/index_management/home_page.ts +++ b/x-pack/test/functional/apps/index_management/home_page.ts @@ -17,6 +17,8 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const security = getService('security'); describe('Home page', function () { + this.onlyEsVersion('<=7'); + before(async () => { await security.testUser.setRoles(['index_management_user']); await pageObjects.common.navigateToApp('indexManagement'); diff --git a/x-pack/test/functional/apps/ingest_pipelines/ingest_pipelines.ts b/x-pack/test/functional/apps/ingest_pipelines/ingest_pipelines.ts index 3737d61f76b20..8aff4faaab94f 100644 --- a/x-pack/test/functional/apps/ingest_pipelines/ingest_pipelines.ts +++ b/x-pack/test/functional/apps/ingest_pipelines/ingest_pipelines.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ - +import { IngestDeletePipelineRequest } from '@elastic/elasticsearch/api/types'; import expect from '@kbn/expect'; import { FtrProviderContext } from '../../ftr_provider_context'; @@ -12,6 +12,7 @@ const PIPELINE = { name: 'test_pipeline', description: 'My pipeline description.', version: 1, + emptyState: true, }; export default ({ getPageObjects, getService }: FtrProviderContext) => { @@ -19,19 +20,29 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const log = getService('log'); const es = getService('es'); const security = getService('security'); + const retry = getService('retry'); describe('Ingest Pipelines', function () { this.tags('smoke'); + this.onlyEsVersion('<=7'); + before(async () => { await security.testUser.setRoles(['ingest_pipelines_user']); + // Delete all existing pipelines + await es.ingest.deletePipeline({ id: '*' } as IngestDeletePipelineRequest); await pageObjects.common.navigateToApp('ingestPipelines'); }); it('Loads the app', async () => { log.debug('Checking for section heading to say Ingest Pipelines.'); - - const headingText = await pageObjects.ingestPipelines.sectionHeadingText(); - expect(headingText).to.be('Ingest Pipelines'); + await retry.waitForWithTimeout('empty section heading to be visible', 15000, async () => { + return ( + (await await pageObjects.ingestPipelines.emptyStateHeaderText()) === + 'Start by creating a pipeline' + ); + }); + // const headingText = await pageObjects.ingestPipelines.sectionHeadingText(); + // expect(headingText).to.be('Ingest Pipelines'); }); it('Creates a pipeline', async () => { diff --git a/x-pack/test/functional/apps/lens/add_to_dashboard.ts b/x-pack/test/functional/apps/lens/add_to_dashboard.ts index 01338b6ee03d3..e7118b9ead5e6 100644 --- a/x-pack/test/functional/apps/lens/add_to_dashboard.ts +++ b/x-pack/test/functional/apps/lens/add_to_dashboard.ts @@ -59,6 +59,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await listingTable.searchForItemWithName('Artistpreviouslyknownaslens'); await PageObjects.lens.clickVisualizeListItemTitle('Artistpreviouslyknownaslens'); await PageObjects.lens.goToTimeRange(); + await PageObjects.lens.waitForVisualization(); await PageObjects.lens.assertMetric('Maximum of bytes', '19,986'); }; diff --git a/x-pack/test/functional/apps/lens/rollup.ts b/x-pack/test/functional/apps/lens/rollup.ts index 34620a734cfd7..dfdba9229abe7 100644 --- a/x-pack/test/functional/apps/lens/rollup.ts +++ b/x-pack/test/functional/apps/lens/rollup.ts @@ -14,7 +14,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const listingTable = getService('listingTable'); const esArchiver = getService('esArchiver'); - describe('lens rollup tests', () => { + // Failing: See https://github.com/elastic/kibana/issues/121842 + describe.skip('lens rollup tests', () => { before(async () => { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/rollup/data'); await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/lens/rollup/config'); diff --git a/x-pack/test/functional/apps/lens/runtime_fields.ts b/x-pack/test/functional/apps/lens/runtime_fields.ts index 2ea0a05aece26..1353bcaea2c84 100644 --- a/x-pack/test/functional/apps/lens/runtime_fields.ts +++ b/x-pack/test/functional/apps/lens/runtime_fields.ts @@ -20,14 +20,17 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.visualize.clickVisType('lens'); await PageObjects.lens.goToTimeRange(); await PageObjects.lens.switchToVisualization('lnsDatatable'); - await PageObjects.lens.clickAddField(); - await fieldEditor.setName('runtimefield'); - await fieldEditor.enableValue(); - await fieldEditor.typeScript("emit('abc')"); - await fieldEditor.save(); - await PageObjects.lens.searchField('runtime'); - await PageObjects.lens.waitForField('runtimefield'); - await PageObjects.lens.dragFieldToWorkspace('runtimefield'); + await retry.try(async () => { + await PageObjects.lens.clickAddField(); + await fieldEditor.setName('runtimefield'); + await fieldEditor.enableValue(); + await fieldEditor.typeScript("emit('abc')"); + await fieldEditor.save(); + await PageObjects.header.waitUntilLoadingHasFinished(); + await PageObjects.lens.searchField('runtime'); + await PageObjects.lens.waitForField('runtimefield'); + await PageObjects.lens.dragFieldToWorkspace('runtimefield'); + }); await PageObjects.lens.waitForVisualization(); expect(await PageObjects.lens.getDatatableHeaderText(0)).to.equal( 'Top values of runtimefield' diff --git a/x-pack/test/functional/apps/maps/documents_source/docvalue_fields.js b/x-pack/test/functional/apps/maps/documents_source/docvalue_fields.js index 9dde84b57cbdd..bfae333e76e7d 100644 --- a/x-pack/test/functional/apps/maps/documents_source/docvalue_fields.js +++ b/x-pack/test/functional/apps/maps/documents_source/docvalue_fields.js @@ -24,7 +24,9 @@ export default function ({ getPageObjects, getService }) { await PageObjects.maps.loadSavedMap('document example'); const { rawResponse: response } = await PageObjects.maps.getResponse(); const firstHit = response.hits.hits[0]; - expect(firstHit).to.only.have.keys(['_id', '_index', '_type', '_score', 'fields']); + // _type might be present when run tests against v7, but not v8 + delete firstHit._type; + expect(firstHit).to.only.have.keys(['_id', '_index', '_score', 'fields']); expect(firstHit.fields).to.only.have.keys(['@timestamp', 'geo.coordinates']); }); @@ -32,7 +34,9 @@ export default function ({ getPageObjects, getService }) { await PageObjects.maps.loadSavedMap('document example with data driven styles'); const { rawResponse: response } = await PageObjects.maps.getResponse(); const firstHit = response.hits.hits[0]; - expect(firstHit).to.only.have.keys(['_id', '_index', '_type', '_score', 'fields']); + // _type might be present when run tests against v7, but not v8 + delete firstHit._type; + expect(firstHit).to.only.have.keys(['_id', '_index', '_score', 'fields']); expect(firstHit.fields).to.only.have.keys([ '@timestamp', 'bytes', @@ -48,7 +52,9 @@ export default function ({ getPageObjects, getService }) { return hit._id === 'AU_x3_g4GFA8no6QjkSR'; }); expect(targetHit).not.to.be(undefined); - expect(targetHit).to.only.have.keys(['_id', '_index', '_type', '_score', 'fields']); + // _type might be present when run tests against v7, but not v8 + delete targetHit._type; + expect(targetHit).to.only.have.keys(['_id', '_index', '_score', 'fields']); expect(targetHit.fields).to.only.have.keys(['@timestamp', 'bytes', 'geo.coordinates']); expect(targetHit.fields['@timestamp']).to.be.an('array'); expect(targetHit.fields['@timestamp'][0]).to.eql('1442709321445'); diff --git a/x-pack/test/functional/apps/maps/documents_source/top_hits.js b/x-pack/test/functional/apps/maps/documents_source/top_hits.js index fa93d657aa3dd..840b118cd85ed 100644 --- a/x-pack/test/functional/apps/maps/documents_source/top_hits.js +++ b/x-pack/test/functional/apps/maps/documents_source/top_hits.js @@ -14,6 +14,7 @@ export default function ({ getPageObjects, getService }) { const inspector = getService('inspector'); const find = getService('find'); const security = getService('security'); + const retry = getService('retry'); describe('geo top hits', () => { describe('split on string field', () => { @@ -42,13 +43,22 @@ export default function ({ getPageObjects, getService }) { describe('configuration', () => { before(async () => { await PageObjects.maps.openLayerPanel('logstash'); - // Can not use testSubjects because data-test-subj is placed range input and number input - const sizeInput = await find.byCssSelector( - `input[data-test-subj="layerPanelTopHitsSize"][type='number']` - ); - await sizeInput.click(); - await sizeInput.clearValue(); - await sizeInput.type('3'); + + await retry.try(async () => { + // Can not use testSubjects because data-test-subj is placed range input and number input + const sizeInput = await find.byCssSelector( + `input[data-test-subj="layerPanelTopHitsSize"][type='number']` + ); + await sizeInput.click(); + await sizeInput.clearValue(); + await sizeInput.type('3'); + + const sizeValue = await sizeInput.getAttribute('value'); + if (sizeValue !== '3') { + throw new Error('layerPanelTopHitsSize not set to 3'); + } + }); + await PageObjects.maps.waitForLayersToLoad(); }); diff --git a/x-pack/test/functional/apps/maps/mvt_super_fine.js b/x-pack/test/functional/apps/maps/mvt_super_fine.js index dcd2923cb9335..fd60e0a489ed6 100644 --- a/x-pack/test/functional/apps/maps/mvt_super_fine.js +++ b/x-pack/test/functional/apps/maps/mvt_super_fine.js @@ -34,7 +34,7 @@ export default function ({ getPageObjects, getService }) { //Source should be correct expect( mapboxStyle.sources[MB_VECTOR_SOURCE_ID].tiles[0].startsWith( - `/api/maps/mvt/getGridTile/{z}/{x}/{y}.pbf?geometryFieldName=geo.coordinates&index=logstash-*&requestBody=(_source:(excludes:!()),aggs:(gridSplit:(aggs:(gridCentroid:(geo_centroid:(field:geo.coordinates)),max_of_bytes:(max:(field:bytes))),geotile_grid:(bounds:!n,field:geo.coordinates,precision:!n,shard_size:65535,size:65535))),fields:!((field:'@timestamp',format:date_time),(field:'relatedContent.article:modified_time',format:date_time),(field:'relatedContent.article:published_time',format:date_time),(field:utc_time,format:date_time)),query:(bool:(filter:!((range:('@timestamp':(format:strict_date_optional_time,gte:'2015-09-20T00:00:00.000Z',lte:'2015-09-20T01:00:00.000Z')))),must:!(),must_not:!(),should:!())),runtime_mappings:(),script_fields:(hour_of_day:(script:(lang:painless,source:'doc[!'@timestamp!'].value.getHour()'))),size:0,stored_fields:!('*'))&requestType=grid&geoFieldType=geo_point` + `/api/maps/mvt/getGridTile/{z}/{x}/{y}.pbf?geometryFieldName=geo.coordinates&index=logstash-*&requestBody=(aggs:(gridSplit:(aggs:(gridCentroid:(geo_centroid:(field:geo.coordinates)),max_of_bytes:(max:(field:bytes))),geotile_grid:(bounds:!n,field:geo.coordinates,precision:!n,shard_size:65535,size:65535))),query:(bool:(filter:!((range:('@timestamp':(format:strict_date_optional_time,gte:'2015-09-20T00:00:00.000Z',lte:'2015-09-20T01:00:00.000Z')))),must:!(),must_not:!(),should:!())),runtime_mappings:(),script_fields:(hour_of_day:(script:(lang:painless,source:'doc[!'@timestamp!'].value.getHour()'))),size:0,stored_fields:!('*'))&requestType=grid&geoFieldType=geo_point` ) ).to.equal(true); diff --git a/x-pack/test/functional/apps/ml/anomaly_detection/advanced_job.ts b/x-pack/test/functional/apps/ml/anomaly_detection/advanced_job.ts index e6bff43383de6..1fc4c87619f18 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection/advanced_job.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection/advanced_job.ts @@ -232,6 +232,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_ecommerce'); }); for (const testData of testDataList) { @@ -432,7 +433,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.testExecution.logTestStep( 'job creation displays the created job in the job list' ); - await ml.jobTable.refreshJobList(); await ml.jobTable.filterWithSearchString(testData.jobId, 1); await ml.testExecution.logTestStep( @@ -648,7 +648,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.testExecution.logTestStep( 'job cloning displays the created job in the job list' ); - await ml.jobTable.refreshJobList(); await ml.jobTable.filterWithSearchString(testData.jobIdClone, 1); await ml.testExecution.logTestStep( diff --git a/x-pack/test/functional/apps/ml/anomaly_detection/aggregated_scripted_job.ts b/x-pack/test/functional/apps/ml/anomaly_detection/aggregated_scripted_job.ts index eba418bf04acb..25261e4d05ca1 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection/aggregated_scripted_job.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection/aggregated_scripted_job.ts @@ -376,6 +376,8 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); + await ml.testResources.deleteIndexPatternByTitle('ft_ecommerce'); }); for (const testData of supportedTestSuites) { describe(testData.suiteTitle, function () { @@ -394,7 +396,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.testExecution.logTestStep( 'check that the single metric viewer button is enabled' ); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(testData.jobConfig.job_id, 1); await ml.jobTable.assertJobActionSingleMetricViewerButtonEnabled( @@ -440,7 +441,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.testExecution.logTestStep( 'check that the single metric viewer button is disabled' ); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(testData.jobConfig.job_id, 1); await ml.jobTable.assertJobActionSingleMetricViewerButtonEnabled( diff --git a/x-pack/test/functional/apps/ml/anomaly_detection/annotations.ts b/x-pack/test/functional/apps/ml/anomaly_detection/annotations.ts index f0d0b898aefc1..f7cae920106de 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection/annotations.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection/annotations.ts @@ -47,6 +47,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); }); describe('creating', function () { @@ -57,7 +58,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToMl(); await ml.navigation.navigateToJobManagement(); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobId, 1); await ml.jobTable.clickOpenJobInSingleMetricViewerButton(jobId); @@ -89,7 +89,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.testExecution.logTestStep('should display created annotation in job list'); await ml.navigation.navigateToJobManagement(); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobId, 1); await ml.jobTable.openAnnotationsTab(jobId); await ml.jobAnnotations.assertAnnotationExists({ @@ -124,7 +123,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToMl(); await ml.navigation.navigateToJobManagement(); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobId, 1); await ml.jobTable.openAnnotationsTab(jobId); await ml.jobAnnotations.assertAnnotationContentById( @@ -178,7 +176,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.testExecution.logTestStep('should display edited annotation in job list'); await ml.navigation.navigateToJobManagement(); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobId, 1); await ml.jobTable.openAnnotationsTab(jobId); await ml.jobAnnotations.assertAnnotationContentById(annotationId, expectedEditedAnnotation); @@ -199,7 +196,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToMl(); await ml.navigation.navigateToJobManagement(); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobId, 1); await ml.jobTable.openAnnotationsTab(jobId); @@ -220,7 +216,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToMl(); await ml.navigation.navigateToJobManagement(); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobId, 1); await ml.jobTable.clickOpenJobInSingleMetricViewerButton(jobId); @@ -256,7 +251,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.testExecution.logTestStep('does not show the deleted annotation in job list'); await ml.navigation.navigateToJobManagement(); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobId, 1); await ml.jobTable.openAnnotationsTab(jobId); await ml.jobAnnotations.assertAnnotationsRowMissing(annotationId); diff --git a/x-pack/test/functional/apps/ml/anomaly_detection/anomaly_explorer.ts b/x-pack/test/functional/apps/ml/anomaly_detection/anomaly_explorer.ts index 4373da71512e4..915ec4e3b3abf 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection/anomaly_explorer.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection/anomaly_explorer.ts @@ -76,6 +76,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.testResources.deleteMLTestDashboard(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); }); for (const testData of testDataList) { @@ -101,7 +102,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToJobManagement(); await ml.testExecution.logTestStep('open job in anomaly explorer'); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(testData.jobConfig.job_id, 1); await ml.jobTable.clickOpenJobInAnomalyExplorerButton(testData.jobConfig.job_id); diff --git a/x-pack/test/functional/apps/ml/anomaly_detection/categorization_job.ts b/x-pack/test/functional/apps/ml/anomaly_detection/categorization_job.ts index 15f082dda4337..f8360804d7e83 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection/categorization_job.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection/categorization_job.ts @@ -21,7 +21,7 @@ export default function ({ getService }: FtrProviderContext) { const detectorTypeIdentifier = 'Rare'; const categorizationFieldIdentifier = 'field1'; const categorizationExampleCount = 5; - const bucketSpan = '15m'; + const bucketSpan = '1d'; const memoryLimit = '15mb'; function getExpectedRow(expectedJobId: string, expectedJobGroups: string[]) { @@ -29,32 +29,32 @@ export default function ({ getService }: FtrProviderContext) { id: expectedJobId, description: jobDescription, jobGroups: [...new Set(expectedJobGroups)].sort(), - recordCount: '1,501', + recordCount: '1,000', memoryStatus: 'ok', jobState: 'closed', datafeedState: 'stopped', - latestTimestamp: '2019-11-21 06:01:13', + latestTimestamp: '2019-11-21 00:01:13', }; } function getExpectedCounts(expectedJobId: string) { return { job_id: expectedJobId, - processed_record_count: '1,501', - processed_field_count: '1,501', - input_bytes: '335.4 KB', - input_field_count: '1,501', + processed_record_count: '1,000', + processed_field_count: '1,000', + input_bytes: '148.8 KB', + input_field_count: '1,000', invalid_date_count: '0', missing_field_count: '0', out_of_order_timestamp_count: '0', - empty_bucket_count: '21,428', + empty_bucket_count: '23', sparse_bucket_count: '0', - bucket_count: '22,059', + bucket_count: '230', earliest_record_timestamp: '2019-04-05 11:25:35', - latest_record_timestamp: '2019-11-21 06:01:13', - input_record_count: '1,501', - latest_bucket_timestamp: '2019-11-21 06:00:00', - latest_empty_bucket_timestamp: '2019-11-21 05:45:00', + latest_record_timestamp: '2019-11-21 00:01:13', + input_record_count: '1,000', + latest_bucket_timestamp: '2019-11-21 00:00:00', + latest_empty_bucket_timestamp: '2019-11-17 00:00:00', }; } @@ -68,7 +68,7 @@ export default function ({ getService }: FtrProviderContext) { total_partition_field_count: '2', bucket_allocation_failures_count: '0', memory_status: 'ok', - timestamp: '2019-11-21 05:45:00', + timestamp: '2019-11-20 00:00:00', }; } @@ -77,8 +77,8 @@ export default function ({ getService }: FtrProviderContext) { describe('categorization', function () { this.tags(['mlqa']); before(async () => { - await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/categorization'); - await ml.testResources.createIndexPatternIfNeeded('ft_categorization', '@timestamp'); + await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/categorization_small'); + await ml.testResources.createIndexPatternIfNeeded('ft_categorization_small', '@timestamp'); await ml.testResources.setKibanaTimeZoneToUTC(); await ml.api.createCalendar(calendarId); @@ -87,6 +87,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_categorization_small'); }); it('job creation loads the categorization wizard for the source data', async () => { @@ -99,7 +100,7 @@ export default function ({ getService }: FtrProviderContext) { await ml.jobManagement.navigateToNewJobSourceSelection(); await ml.testExecution.logTestStep('job creation loads the job type selection page'); - await ml.jobSourceSelection.selectSourceForAnomalyDetectionJob('ft_categorization'); + await ml.jobSourceSelection.selectSourceForAnomalyDetectionJob('ft_categorization_small'); await ml.testExecution.logTestStep('job creation loads the categorization job wizard page'); await ml.jobTypeSelection.selectCategorizationJob(); @@ -112,7 +113,7 @@ export default function ({ getService }: FtrProviderContext) { await ml.testExecution.logTestStep('job creation sets the time range'); await ml.jobWizardCommon.clickUseFullDataButton( 'Apr 5, 2019 @ 11:25:35.770', - 'Nov 21, 2019 @ 06:01:13.914' + 'Nov 21, 2019 @ 00:01:13.923' ); await ml.testExecution.logTestStep('job creation displays the event rate chart'); @@ -201,7 +202,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToMl(); await ml.navigation.navigateToJobManagement(); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobId, 1); await ml.testExecution.logTestStep( @@ -234,7 +234,7 @@ export default function ({ getService }: FtrProviderContext) { await ml.testExecution.logTestStep('job cloning sets the time range'); await ml.jobWizardCommon.clickUseFullDataButton( 'Apr 5, 2019 @ 11:25:35.770', - 'Nov 21, 2019 @ 06:01:13.914' + 'Nov 21, 2019 @ 00:01:13.923' ); await ml.testExecution.logTestStep('job cloning displays the event rate chart'); @@ -317,7 +317,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToMl(); await ml.navigation.navigateToJobManagement(); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobIdClone, 1); await ml.testExecution.logTestStep( @@ -349,7 +348,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.testExecution.logTestStep( 'job deletion does not display the deleted job in the job list any more' ); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobIdClone, 0); await ml.testExecution.logTestStep( diff --git a/x-pack/test/functional/apps/ml/anomaly_detection/custom_urls.ts b/x-pack/test/functional/apps/ml/anomaly_detection/custom_urls.ts index 0dcb767309608..9b27afdcf878a 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection/custom_urls.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection/custom_urls.ts @@ -7,31 +7,12 @@ import { FtrProviderContext } from '../../../ftr_provider_context'; import { Job, Datafeed } from '../../../../../plugins/ml/common/types/anomaly_detection_jobs'; -import { - TimeRangeType, - TIME_RANGE_TYPE, -} from '../../../../../plugins/ml/public/application/jobs/components/custom_url_editor/constants'; - -interface DiscoverUrlConfig { - label: string; - indexPattern: string; - queryEntityFieldNames: string[]; - timeRange: TimeRangeType; - timeRangeInterval?: string; -} - -interface DashboardUrlConfig { - label: string; - dashboardName: string; - queryEntityFieldNames: string[]; - timeRange: TimeRangeType; - timeRangeInterval?: string; -} - -interface OtherUrlConfig { - label: string; - url: string; -} +import { TIME_RANGE_TYPE } from '../../../../../plugins/ml/public/application/jobs/components/custom_url_editor/constants'; +import type { + DiscoverUrlConfig, + DashboardUrlConfig, + OtherUrlConfig, +} from '../../../services/ml/job_table'; // @ts-expect-error doesn't implement the full interface const JOB_CONFIG: Job = { @@ -96,6 +77,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.testResources.deleteMLTestDashboard(); await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); }); it('opens the custom URLs tab in the edit job flyout', async () => { diff --git a/x-pack/test/functional/apps/ml/anomaly_detection/date_nanos_job.ts b/x-pack/test/functional/apps/ml/anomaly_detection/date_nanos_job.ts index d351e8f7057e4..0401d13780403 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection/date_nanos_job.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection/date_nanos_job.ts @@ -57,7 +57,7 @@ export default function ({ getService }: FtrProviderContext) { jobSource: 'ft_event_rate_gen_trend_nanos', jobId: `event_rate_nanos_count_1_${Date.now()}`, jobDescription: - 'Create advanced job based on the event rate dataset with a date_nanos time field, 30m bucketspan and count', + 'Create advanced job based on the event rate dataset with a date_nanos time field, 1d bucketspan and count', jobGroups: ['automated', 'event-rate', 'date-nanos'], pickFieldsConfig: { detectors: [ @@ -69,7 +69,7 @@ export default function ({ getService }: FtrProviderContext) { ], summaryCountField: 'count', influencers: [], - bucketSpan: '30m', + bucketSpan: '1d', memoryLimit: '10mb', } as PickFieldsConfig, datafeedConfig: {} as DatafeedConfig, @@ -94,7 +94,7 @@ export default function ({ getService }: FtrProviderContext) { out_of_order_timestamp_count: '0', empty_bucket_count: '0', sparse_bucket_count: '0', - bucket_count: '17,520', + bucket_count: '365', earliest_record_timestamp: '2015-01-01 00:10:00', latest_record_timestamp: '2016-01-01 00:00:00', input_record_count: '105,120', @@ -108,7 +108,7 @@ export default function ({ getService }: FtrProviderContext) { total_partition_field_count: '2', bucket_allocation_failures_count: '0', memory_status: 'ok', - timestamp: '2015-12-31 23:30:00', + timestamp: '2015-12-31 00:00:00', }, }, }, @@ -128,6 +128,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_event_rate_gen_trend_nanos'); }); for (const testData of testDataList) { @@ -312,7 +313,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.testExecution.logTestStep( 'job creation displays the created job in the job list' ); - await ml.jobTable.refreshJobList(); await ml.jobTable.filterWithSearchString(testData.jobId, 1); await ml.testExecution.logTestStep( diff --git a/x-pack/test/functional/apps/ml/anomaly_detection/forecasts.ts b/x-pack/test/functional/apps/ml/anomaly_detection/forecasts.ts index f65653e2c03c5..4f97f9f48dcdb 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection/forecasts.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection/forecasts.ts @@ -54,6 +54,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); }); it('opens a job from job list link', async () => { @@ -62,7 +63,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToJobManagement(); await ml.testExecution.logTestStep('open job in single metric viewer'); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(JOB_CONFIG.job_id, 1); await ml.jobTable.clickOpenJobInSingleMetricViewerButton(JOB_CONFIG.job_id); diff --git a/x-pack/test/functional/apps/ml/anomaly_detection/multi_metric_job.ts b/x-pack/test/functional/apps/ml/anomaly_detection/multi_metric_job.ts index 0c1b1620eb413..4786f51bdc414 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection/multi_metric_job.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection/multi_metric_job.ts @@ -84,6 +84,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); }); it('job creation loads the multi metric wizard for the source data', async () => { @@ -204,7 +205,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToMl(); await ml.navigation.navigateToJobManagement(); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobId, 1); await ml.testExecution.logTestStep( @@ -337,7 +337,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToMl(); await ml.navigation.navigateToJobManagement(); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobIdClone, 1); await ml.testExecution.logTestStep( diff --git a/x-pack/test/functional/apps/ml/anomaly_detection/population_job.ts b/x-pack/test/functional/apps/ml/anomaly_detection/population_job.ts index 9f86c9d508f80..f522f5ebefd9a 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection/population_job.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection/population_job.ts @@ -98,6 +98,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_ecommerce'); }); it('job creation loads the population wizard for the source data', async () => { @@ -230,7 +231,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToMl(); await ml.navigation.navigateToJobManagement(); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobId, 1); await ml.testExecution.logTestStep( @@ -374,7 +374,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToMl(); await ml.navigation.navigateToJobManagement(); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobIdClone, 1); await ml.testExecution.logTestStep( diff --git a/x-pack/test/functional/apps/ml/anomaly_detection/saved_search_job.ts b/x-pack/test/functional/apps/ml/anomaly_detection/saved_search_job.ts index fb10414d2d9ef..f314052035ff1 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection/saved_search_job.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection/saved_search_job.ts @@ -282,6 +282,8 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteSavedSearches(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); }); for (const testData of testDataList) { @@ -409,7 +411,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToMl(); await ml.navigation.navigateToJobManagement(); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(testData.jobId, 1); await ml.testExecution.logTestStep( diff --git a/x-pack/test/functional/apps/ml/anomaly_detection/single_metric_job.ts b/x-pack/test/functional/apps/ml/anomaly_detection/single_metric_job.ts index 97b340c081958..8464abdf511ed 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection/single_metric_job.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection/single_metric_job.ts @@ -83,6 +83,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); }); it('job creation loads the single metric wizard for the source data', async () => { @@ -183,7 +184,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToMl(); await ml.navigation.navigateToJobManagement(); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobId, 1); await ml.testExecution.logTestStep( @@ -300,7 +300,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToMl(); await ml.navigation.navigateToJobManagement(); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobIdClone, 1); await ml.testExecution.logTestStep( @@ -332,7 +331,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.testExecution.logTestStep( 'job deletion does not display the deleted job in the job list any more' ); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobIdClone, 0); await ml.testExecution.logTestStep( diff --git a/x-pack/test/functional/apps/ml/anomaly_detection/single_metric_job_without_datafeed_start.ts b/x-pack/test/functional/apps/ml/anomaly_detection/single_metric_job_without_datafeed_start.ts index 889c1b6c59931..8d08fb84a8f55 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection/single_metric_job_without_datafeed_start.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection/single_metric_job_without_datafeed_start.ts @@ -68,6 +68,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); }); it('job creation loads the single metric wizard for the source data', async () => { @@ -134,7 +135,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.jobWizardCommon.assertCreateJobButtonExists(); await ml.jobWizardCommon.createJobWithoutDatafeedStart(); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobId, 1); await ml.testExecution.logTestStep( diff --git a/x-pack/test/functional/apps/ml/anomaly_detection/single_metric_viewer.ts b/x-pack/test/functional/apps/ml/anomaly_detection/single_metric_viewer.ts index 1cf499d2625d8..0a04201eeef81 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection/single_metric_viewer.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection/single_metric_viewer.ts @@ -55,6 +55,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); }); it('opens a job from job list link', async () => { @@ -63,7 +64,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToJobManagement(); await ml.testExecution.logTestStep('open job in single metric viewer'); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(JOB_CONFIG.job_id, 1); await ml.jobTable.clickOpenJobInSingleMetricViewerButton(JOB_CONFIG.job_id); @@ -142,6 +142,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_ecommerce'); }); it('opens a job from job list link', async () => { @@ -150,7 +151,6 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToJobManagement(); await ml.testExecution.logTestStep('open job in single metric viewer'); - await ml.jobTable.waitForJobsToLoad(); await ml.jobTable.filterWithSearchString(jobConfig.job_id, 1); await ml.jobTable.clickOpenJobInSingleMetricViewerButton(jobConfig.job_id); diff --git a/x-pack/test/functional/apps/ml/data_frame_analytics/classification_creation.ts b/x-pack/test/functional/apps/ml/data_frame_analytics/classification_creation.ts index c00eb1c9e5cba..d4d31ebd1d886 100644 --- a/x-pack/test/functional/apps/ml/data_frame_analytics/classification_creation.ts +++ b/x-pack/test/functional/apps/ml/data_frame_analytics/classification_creation.ts @@ -24,6 +24,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_bank_marketing'); }); const jobId = `bm_1_${Date.now()}`; diff --git a/x-pack/test/functional/apps/ml/data_frame_analytics/cloning.ts b/x-pack/test/functional/apps/ml/data_frame_analytics/cloning.ts index 84409498fc3f0..84c98ff319869 100644 --- a/x-pack/test/functional/apps/ml/data_frame_analytics/cloning.ts +++ b/x-pack/test/functional/apps/ml/data_frame_analytics/cloning.ts @@ -159,6 +159,7 @@ export default function ({ getService }: FtrProviderContext) { await ml.api.deleteIndices(testData.job.dest!.index as string); await ml.testResources.deleteIndexPatternByTitle(testData.job.dest!.index as string); await ml.testResources.deleteIndexPatternByTitle(cloneDestIndex); + await ml.testResources.deleteIndexPatternByTitle(testData.indexPattern.name); }); it('opens the existing job in the data frame analytics job wizard', async () => { diff --git a/x-pack/test/functional/apps/ml/data_frame_analytics/feature_importance.ts b/x-pack/test/functional/apps/ml/data_frame_analytics/feature_importance.ts index 725030605840c..8bc6f6e7c52eb 100644 --- a/x-pack/test/functional/apps/ml/data_frame_analytics/feature_importance.ts +++ b/x-pack/test/functional/apps/ml/data_frame_analytics/feature_importance.ts @@ -14,7 +14,8 @@ export default function ({ getService }: FtrProviderContext) { const esArchiver = getService('esArchiver'); const ml = getService('ml'); - describe('total feature importance panel and decision path popover', function () { + // Failing: See https://github.com/elastic/kibana/issues/115415 + describe.skip('total feature importance panel and decision path popover', function () { const testDataList: Array<{ suiteTitle: string; archive: string; @@ -183,6 +184,9 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + for (const testData of testDataList) { + await ml.testResources.deleteIndexPatternByTitle(testData.indexPattern.name); + } }); for (const testData of testDataList) { diff --git a/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation.ts b/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation.ts index 14edb19cd9adb..f056adf6f5cd5 100644 --- a/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation.ts +++ b/x-pack/test/functional/apps/ml/data_frame_analytics/outlier_detection_creation.ts @@ -24,6 +24,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_ihp_outlier'); }); const jobId = `ihp_1_${Date.now()}`; diff --git a/x-pack/test/functional/apps/ml/data_frame_analytics/regression_creation.ts b/x-pack/test/functional/apps/ml/data_frame_analytics/regression_creation.ts index 6b7b7f2f87fd0..07226efd4534e 100644 --- a/x-pack/test/functional/apps/ml/data_frame_analytics/regression_creation.ts +++ b/x-pack/test/functional/apps/ml/data_frame_analytics/regression_creation.ts @@ -24,6 +24,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_egs_regression'); }); const jobId = `egs_1_${Date.now()}`; diff --git a/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer.ts b/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer.ts index 031074876f39c..351802fa9f4ce 100644 --- a/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer.ts +++ b/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer.ts @@ -511,6 +511,12 @@ export default function ({ getService }: FtrProviderContext) { await ml.securityUI.loginAsMlPowerUser(); }); + after(async () => { + await ml.testResources.deleteSavedSearches(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); + await ml.testResources.deleteIndexPatternByTitle('ft_module_sample_logs'); + }); + describe('with farequote', function () { // Run tests on full farequote index. it(`${farequoteIndexPatternTestData.suiteTitle} loads the data visualizer selector page`, async () => { diff --git a/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer_actions_panel.ts b/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer_actions_panel.ts index 54d7b6ac294d1..b3f0e9e175d7a 100644 --- a/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer_actions_panel.ts +++ b/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer_actions_panel.ts @@ -40,6 +40,11 @@ export default function ({ getService }: FtrProviderContext) { await ml.securityUI.loginAsMlPowerUser(); }); + after(async () => { + await ml.testResources.deleteSavedSearches(); + await ml.testResources.deleteIndexPatternByTitle(indexPatternName); + }); + describe('create advanced job action', function () { it('loads the source data in the data visualizer', async () => { await ml.testExecution.logTestStep('loads the data visualizer selector page'); diff --git a/x-pack/test/functional/apps/ml/embeddables/anomaly_charts_dashboard_embeddables.ts b/x-pack/test/functional/apps/ml/embeddables/anomaly_charts_dashboard_embeddables.ts index 66a32a888b77a..89b733c21498f 100644 --- a/x-pack/test/functional/apps/ml/embeddables/anomaly_charts_dashboard_embeddables.ts +++ b/x-pack/test/functional/apps/ml/embeddables/anomaly_charts_dashboard_embeddables.ts @@ -45,6 +45,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); }); for (const testData of testDataList) { @@ -57,6 +58,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.common.navigateToApp('dashboard'); }); + after(async () => { + await ml.testResources.deleteDashboardByTitle(testData.dashboardTitle); + }); + it('can open job selection flyout', async () => { await PageObjects.dashboard.clickNewDashboard(); await ml.dashboardEmbeddables.assertDashboardIsEmpty(); diff --git a/x-pack/test/functional/apps/ml/embeddables/anomaly_embeddables_migration.ts b/x-pack/test/functional/apps/ml/embeddables/anomaly_embeddables_migration.ts index a7fcfa1b83475..ed38ff7021a92 100644 --- a/x-pack/test/functional/apps/ml/embeddables/anomaly_embeddables_migration.ts +++ b/x-pack/test/functional/apps/ml/embeddables/anomaly_embeddables_migration.ts @@ -85,6 +85,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); }); for (const testData of testDataList) { diff --git a/x-pack/test/functional/apps/ml/index.ts b/x-pack/test/functional/apps/ml/index.ts index 57ad4f854472b..48e4ab82b01cc 100644 --- a/x-pack/test/functional/apps/ml/index.ts +++ b/x-pack/test/functional/apps/ml/index.ts @@ -12,88 +12,45 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) { const ml = getService('ml'); describe('machine learning', function () { - describe('', function () { - before(async () => { - await ml.securityCommon.createMlRoles(); - await ml.securityCommon.createMlUsers(); - }); + before(async () => { + await ml.securityCommon.createMlRoles(); + await ml.securityCommon.createMlUsers(); + }); - after(async () => { - // NOTE: Logout needs to happen before anything else to avoid flaky behavior - await ml.securityUI.logout(); + after(async () => { + // NOTE: Logout needs to happen before anything else to avoid flaky behavior + await ml.securityUI.logout(); - await ml.securityCommon.cleanMlUsers(); - await ml.securityCommon.cleanMlRoles(); - await ml.testResources.deleteSavedSearches(); - await ml.testResources.deleteDashboards(); - await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); - await ml.testResources.deleteIndexPatternByTitle('ft_ecommerce'); - await ml.testResources.deleteIndexPatternByTitle('ft_categorization'); - await ml.testResources.deleteIndexPatternByTitle('ft_event_rate_gen_trend_nanos'); - await ml.testResources.deleteIndexPatternByTitle('ft_bank_marketing'); - await ml.testResources.deleteIndexPatternByTitle('ft_ihp_outlier'); - await ml.testResources.deleteIndexPatternByTitle('ft_egs_regression'); - await ml.testResources.deleteIndexPatternByTitle('ft_module_sample_ecommerce'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/farequote'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/ecommerce'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/categorization'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/event_rate_nanos'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/bm_classification'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/ihp_outlier'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/egs_regression'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/module_sample_ecommerce'); - await ml.testResources.resetKibanaTimeZone(); - }); + await ml.securityCommon.cleanMlUsers(); + await ml.securityCommon.cleanMlRoles(); - describe('', function () { - this.tags('ciGroup15'); - loadTestFile(require.resolve('./permissions')); - loadTestFile(require.resolve('./pages')); - loadTestFile(require.resolve('./data_visualizer')); - loadTestFile(require.resolve('./data_frame_analytics')); - }); + await esArchiver.unload('x-pack/test/functional/es_archives/ml/farequote'); + await esArchiver.unload('x-pack/test/functional/es_archives/ml/ecommerce'); + await esArchiver.unload('x-pack/test/functional/es_archives/ml/categorization_small'); + await esArchiver.unload('x-pack/test/functional/es_archives/ml/event_rate_nanos'); + await esArchiver.unload('x-pack/test/functional/es_archives/ml/bm_classification'); + await esArchiver.unload('x-pack/test/functional/es_archives/ml/ihp_outlier'); + await esArchiver.unload('x-pack/test/functional/es_archives/ml/egs_regression'); + await esArchiver.unload('x-pack/test/functional/es_archives/ml/module_sample_ecommerce'); - describe('', function () { - this.tags('ciGroup26'); - loadTestFile(require.resolve('./anomaly_detection')); - }); + await ml.testResources.resetKibanaTimeZone(); }); describe('', function () { - this.tags('ciGroup8'); - - before(async () => { - await ml.securityCommon.createMlRoles(); - await ml.securityCommon.createMlUsers(); - }); - - after(async () => { - // NOTE: Logout needs to happen before anything else to avoid flaky behavior - await ml.securityUI.logout(); + this.tags('ciGroup15'); + loadTestFile(require.resolve('./permissions')); + loadTestFile(require.resolve('./pages')); + loadTestFile(require.resolve('./data_visualizer')); + loadTestFile(require.resolve('./data_frame_analytics')); + }); - await ml.securityCommon.cleanMlUsers(); - await ml.securityCommon.cleanMlRoles(); - await ml.testResources.deleteSavedSearches(); - await ml.testResources.deleteDashboards(); - await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); - await ml.testResources.deleteIndexPatternByTitle('ft_ecommerce'); - await ml.testResources.deleteIndexPatternByTitle('ft_categorization'); - await ml.testResources.deleteIndexPatternByTitle('ft_event_rate_gen_trend_nanos'); - await ml.testResources.deleteIndexPatternByTitle('ft_bank_marketing'); - await ml.testResources.deleteIndexPatternByTitle('ft_ihp_outlier'); - await ml.testResources.deleteIndexPatternByTitle('ft_egs_regression'); - await ml.testResources.deleteIndexPatternByTitle('ft_module_sample_ecommerce'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/farequote'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/ecommerce'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/categorization'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/event_rate_nanos'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/bm_classification'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/ihp_outlier'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/egs_regression'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/module_sample_ecommerce'); - await ml.testResources.resetKibanaTimeZone(); - }); + describe('', function () { + this.tags('ciGroup26'); + loadTestFile(require.resolve('./anomaly_detection')); + }); + describe('', function () { + this.tags('ciGroup8'); loadTestFile(require.resolve('./feature_controls')); loadTestFile(require.resolve('./settings')); loadTestFile(require.resolve('./embeddables')); diff --git a/x-pack/test/functional/apps/ml/permissions/full_ml_access.ts b/x-pack/test/functional/apps/ml/permissions/full_ml_access.ts index 4900f682f9df3..f56e2bfa23207 100644 --- a/x-pack/test/functional/apps/ml/permissions/full_ml_access.ts +++ b/x-pack/test/functional/apps/ml/permissions/full_ml_access.ts @@ -144,10 +144,13 @@ export default function ({ getService }: FtrProviderContext) { }); after(async () => { - await ml.api.cleanMlIndices(); await ml.api.deleteIndices(`user-${dfaJobId}`); await ml.api.deleteCalendar(calendarId); await ml.api.deleteFilter(filterId); + await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); + await ml.testResources.deleteIndexPatternByTitle('ft_ihp_outlier'); + await ml.testResources.deleteIndexPatternByTitle(ecIndexPattern); }); for (const testUser of testUsers) { diff --git a/x-pack/test/functional/apps/ml/permissions/read_ml_access.ts b/x-pack/test/functional/apps/ml/permissions/read_ml_access.ts index fc8dbddffc461..ce8ff590c4831 100644 --- a/x-pack/test/functional/apps/ml/permissions/read_ml_access.ts +++ b/x-pack/test/functional/apps/ml/permissions/read_ml_access.ts @@ -145,10 +145,13 @@ export default function ({ getService }: FtrProviderContext) { }); after(async () => { - await ml.api.cleanMlIndices(); await ml.api.deleteIndices(`user-${dfaJobId}`); await ml.api.deleteCalendar(calendarId); await ml.api.deleteFilter(filterId); + await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); + await ml.testResources.deleteIndexPatternByTitle('ft_ihp_outlier'); + await ml.testResources.deleteIndexPatternByTitle(ecIndexPattern); }); for (const testUser of testUsers) { diff --git a/x-pack/test/functional/apps/ml/settings/calendar_creation.ts b/x-pack/test/functional/apps/ml/settings/calendar_creation.ts index 5cee16c10e215..f0f5cd71cafe7 100644 --- a/x-pack/test/functional/apps/ml/settings/calendar_creation.ts +++ b/x-pack/test/functional/apps/ml/settings/calendar_creation.ts @@ -30,6 +30,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); }); afterEach(async () => { diff --git a/x-pack/test/functional/apps/ml/settings/calendar_edit.ts b/x-pack/test/functional/apps/ml/settings/calendar_edit.ts index 8bbddc74a5c44..70c3e50ec309b 100644 --- a/x-pack/test/functional/apps/ml/settings/calendar_edit.ts +++ b/x-pack/test/functional/apps/ml/settings/calendar_edit.ts @@ -43,6 +43,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); }); afterEach(async () => { diff --git a/x-pack/test/functional/apps/ml/stack_management_jobs/export_jobs.ts b/x-pack/test/functional/apps/ml/stack_management_jobs/export_jobs.ts index d7a563e8c355f..a31b9faa169f9 100644 --- a/x-pack/test/functional/apps/ml/stack_management_jobs/export_jobs.ts +++ b/x-pack/test/functional/apps/ml/stack_management_jobs/export_jobs.ts @@ -293,6 +293,10 @@ export default function ({ getService }: FtrProviderContext) { 'anomaly_detection_jobs', 'data_frame_analytics_jobs', ]); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); + await ml.testResources.deleteIndexPatternByTitle('ft_bank_marketing'); + await ml.testResources.deleteIndexPatternByTitle('ft_ihp_outlier'); + await ml.testResources.deleteIndexPatternByTitle('ft_egs_regression'); }); it('opens export flyout and exports anomaly detector jobs', async () => { diff --git a/x-pack/test/functional/apps/ml/stack_management_jobs/import_jobs.ts b/x-pack/test/functional/apps/ml/stack_management_jobs/import_jobs.ts index 6211885af0a2a..6091764b69f4f 100644 --- a/x-pack/test/functional/apps/ml/stack_management_jobs/import_jobs.ts +++ b/x-pack/test/functional/apps/ml/stack_management_jobs/import_jobs.ts @@ -32,7 +32,8 @@ export default function ({ getService }: FtrProviderContext) { }, ]; - describe('import jobs', function () { + // Failing: See https://github.com/elastic/kibana/issues/124747 + describe.skip('import jobs', function () { this.tags(['mlqa']); before(async () => { await ml.api.cleanMlIndices(); @@ -49,6 +50,8 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); + await ml.testResources.deleteIndexPatternByTitle('ft_bank_marketing'); }); for (const testData of testDataListPositive) { @@ -73,9 +76,8 @@ export default function ({ getService }: FtrProviderContext) { it('ensures jobs have been imported', async () => { if (testData.expected.jobType === 'anomaly-detector') { await ml.navigation.navigateToStackManagementJobsListPageAnomalyDetectionTab(); - await ml.jobTable.refreshJobList(); for (const id of testData.expected.jobIds) { - await ml.jobTable.filterWithSearchString(id); + await ml.jobTable.filterWithSearchString(id, 1); } for (const id of testData.expected.skippedJobIds) { await ml.jobTable.filterWithSearchString(id, 0); diff --git a/x-pack/test/functional/apps/ml/stack_management_jobs/manage_spaces.ts b/x-pack/test/functional/apps/ml/stack_management_jobs/manage_spaces.ts index 9953bc4832b57..6cf704e966d38 100644 --- a/x-pack/test/functional/apps/ml/stack_management_jobs/manage_spaces.ts +++ b/x-pack/test/functional/apps/ml/stack_management_jobs/manage_spaces.ts @@ -132,6 +132,8 @@ export default function ({ getService }: FtrProviderContext) { } await ml.testResources.cleanMLSavedObjects(); await ml.api.cleanMlIndices(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); + await ml.testResources.deleteIndexPatternByTitle('ft_ihp_outlier'); }); for (const testData of testDataList) { @@ -172,7 +174,7 @@ export default function ({ getService }: FtrProviderContext) { await ml.navigation.navigateToStackManagementJobsListPage(); // AD - await ml.jobTable.filterWithSearchString(testData.adJobId); + await ml.jobTable.filterWithSearchString(testData.adJobId, 1); await ml.stackManagementJobs.assertADJobRowSpaces(testData.adJobId, [ testData.initialSpace, ]); @@ -216,7 +218,7 @@ export default function ({ getService }: FtrProviderContext) { // AD await ml.navigation.navigateToStackManagementJobsListPageAnomalyDetectionTab(); - await ml.jobTable.filterWithSearchString(testData.adJobId); + await ml.jobTable.filterWithSearchString(testData.adJobId, 1); await ml.stackManagementJobs.assertADJobRowSpaces(testData.adJobId, expectedJobRowSpaces); // DFA diff --git a/x-pack/test/functional/apps/ml/stack_management_jobs/synchronize.ts b/x-pack/test/functional/apps/ml/stack_management_jobs/synchronize.ts index 8dd519b0ad121..8462d4fa183b1 100644 --- a/x-pack/test/functional/apps/ml/stack_management_jobs/synchronize.ts +++ b/x-pack/test/functional/apps/ml/stack_management_jobs/synchronize.ts @@ -39,6 +39,7 @@ export default function ({ getService }: FtrProviderContext) { await ml.api.deleteDataFrameAnalyticsJobES(dfaJobId); } await ml.testResources.cleanMLSavedObjects(); + await ml.testResources.deleteIndexPatternByTitle('ft_farequote'); }); it('should have nothing to sync initially', async () => { diff --git a/x-pack/test/functional/apps/monitoring/elasticsearch/nodes.js b/x-pack/test/functional/apps/monitoring/elasticsearch/nodes.js index ba212b981de69..be384cbd9ba5a 100644 --- a/x-pack/test/functional/apps/monitoring/elasticsearch/nodes.js +++ b/x-pack/test/functional/apps/monitoring/elasticsearch/nodes.js @@ -12,6 +12,7 @@ export default function ({ getService, getPageObjects }) { const overview = getService('monitoringClusterOverview'); const nodesList = getService('monitoringElasticsearchNodes'); const esClusterSummaryStatus = getService('monitoringElasticsearchSummaryStatus'); + const retry = getService('retry'); describe('Elasticsearch nodes listing', function () { // FF issue: https://github.com/elastic/kibana/issues/35551 @@ -59,59 +60,63 @@ export default function ({ getService, getPageObjects }) { this.tags(['skipCloud']); it('should have a nodes table with correct rows with default sorting', async () => { - const rows = await nodesList.getRows(); - expect(rows.length).to.be(3); - - const nodesAll = await nodesList.getNodesAll(); - const tableData = [ - { - name: 'whatever-01', - status: 'Status: Online', - cpu: '0%', - cpuText: 'Trending\nup\nMax value\n3%\nMin value\n0%\nApplies to current time period', - load: '3.28', - loadText: - 'Trending\nup\nMax value\n3.71\nMin value\n2.19\nApplies to current time period', - memory: '39%', - memoryText: - 'Trending\ndown\nMax value\n52%\nMin value\n25%\nApplies to current time period', - disk: '173.9 GB', - diskText: - 'Trending\ndown\nMax value\n173.9 GB\nMin value\n173.9 GB\nApplies to current time period', - shards: '38', - }, - { - name: 'whatever-02', - status: 'Status: Online', - cpu: '2%', - cpuText: - 'Trending\ndown\nMax value\n3%\nMin value\n0%\nApplies to current time period', - load: '3.28', - loadText: - 'Trending\nup\nMax value\n3.73\nMin value\n2.29\nApplies to current time period', - memory: '25%', - memoryText: - 'Trending\ndown\nMax value\n49%\nMin value\n25%\nApplies to current time period', - disk: '173.9 GB', - diskText: - 'Trending\ndown\nMax value\n173.9 GB\nMin value\n173.9 GB\nApplies to current time period', - shards: '38', - }, - { name: 'whatever-03', status: 'Status: Offline' }, - ]; - nodesAll.forEach((obj, node) => { - // eslint-disable-line no-unused-vars - expect(nodesAll[node].name).to.be(tableData[node].name); - expect(nodesAll[node].status).to.be(tableData[node].status); - expect(nodesAll[node].cpu).to.be(tableData[node].cpu); - expect(nodesAll[node].cpuText).to.be(tableData[node].cpuText); - expect(nodesAll[node].load).to.be(tableData[node].load); - expect(nodesAll[node].loadText).to.be(tableData[node].loadText); - expect(nodesAll[node].memory).to.be(tableData[node].memory); - expect(nodesAll[node].memoryText).to.be(tableData[node].memoryText); - expect(nodesAll[node].disk).to.be(tableData[node].disk); - expect(nodesAll[node].diskText).to.be(tableData[node].diskText); - expect(nodesAll[node].shards).to.be(tableData[node].shards); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const rows = await nodesList.getRows(); + expect(rows.length).to.be(3); + + const nodesAll = await nodesList.getNodesAll(); + const tableData = [ + { + name: 'whatever-01', + status: 'Status: Online', + cpu: '0%', + cpuText: + 'Trending\nup\nMax value\n3%\nMin value\n0%\nApplies to current time period', + load: '3.28', + loadText: + 'Trending\nup\nMax value\n3.71\nMin value\n2.19\nApplies to current time period', + memory: '39%', + memoryText: + 'Trending\ndown\nMax value\n52%\nMin value\n25%\nApplies to current time period', + disk: '173.9 GB', + diskText: + 'Trending\ndown\nMax value\n173.9 GB\nMin value\n173.9 GB\nApplies to current time period', + shards: '38', + }, + { + name: 'whatever-02', + status: 'Status: Online', + cpu: '2%', + cpuText: + 'Trending\ndown\nMax value\n3%\nMin value\n0%\nApplies to current time period', + load: '3.28', + loadText: + 'Trending\nup\nMax value\n3.73\nMin value\n2.29\nApplies to current time period', + memory: '25%', + memoryText: + 'Trending\ndown\nMax value\n49%\nMin value\n25%\nApplies to current time period', + disk: '173.9 GB', + diskText: + 'Trending\ndown\nMax value\n173.9 GB\nMin value\n173.9 GB\nApplies to current time period', + shards: '38', + }, + { name: 'whatever-03', status: 'Status: Offline' }, + ]; + nodesAll.forEach((obj, node) => { + // eslint-disable-line no-unused-vars + expect(nodesAll[node].name).to.be(tableData[node].name); + expect(nodesAll[node].status).to.be(tableData[node].status); + expect(nodesAll[node].cpu).to.be(tableData[node].cpu); + expect(nodesAll[node].cpuText).to.be(tableData[node].cpuText); + expect(nodesAll[node].load).to.be(tableData[node].load); + expect(nodesAll[node].loadText).to.be(tableData[node].loadText); + expect(nodesAll[node].memory).to.be(tableData[node].memory); + expect(nodesAll[node].memoryText).to.be(tableData[node].memoryText); + expect(nodesAll[node].disk).to.be(tableData[node].disk); + expect(nodesAll[node].diskText).to.be(tableData[node].diskText); + expect(nodesAll[node].shards).to.be(tableData[node].shards); + }); }); }); @@ -119,23 +124,27 @@ export default function ({ getService, getPageObjects }) { await nodesList.clickCpuCol(); await nodesList.clickCpuCol(); - const nodesAll = await nodesList.getNodesAll(); - const tableData = [ - { - cpu: '2%', - cpuText: - 'Trending\ndown\nMax value\n3%\nMin value\n0%\nApplies to current time period', - }, - { - cpu: '0%', - cpuText: 'Trending\nup\nMax value\n3%\nMin value\n0%\nApplies to current time period', - }, - { cpu: undefined, cpuText: undefined }, - ]; - nodesAll.forEach((obj, node) => { - // eslint-disable-line no-unused-vars - expect(nodesAll[node].cpu).to.be(tableData[node].cpu); - expect(nodesAll[node].cpuText).to.be(tableData[node].cpuText); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const nodesAll = await nodesList.getNodesAll(); + const tableData = [ + { + cpu: '2%', + cpuText: + 'Trending\ndown\nMax value\n3%\nMin value\n0%\nApplies to current time period', + }, + { + cpu: '0%', + cpuText: + 'Trending\nup\nMax value\n3%\nMin value\n0%\nApplies to current time period', + }, + { cpu: undefined, cpuText: undefined }, + ]; + nodesAll.forEach((obj, node) => { + // eslint-disable-line no-unused-vars + expect(nodesAll[node].cpu).to.be(tableData[node].cpu); + expect(nodesAll[node].cpuText).to.be(tableData[node].cpuText); + }); }); }); @@ -143,24 +152,27 @@ export default function ({ getService, getPageObjects }) { await nodesList.clickLoadCol(); await nodesList.clickLoadCol(); - const nodesAll = await nodesList.getNodesAll(); - const tableData = [ - { - load: '3.28', - loadText: - 'Trending\nup\nMax value\n3.71\nMin value\n2.19\nApplies to current time period', - }, - { - load: '3.28', - loadText: - 'Trending\nup\nMax value\n3.73\nMin value\n2.29\nApplies to current time period', - }, - { load: undefined }, - ]; - nodesAll.forEach((obj, node) => { - // eslint-disable-line no-unused-vars - expect(nodesAll[node].load).to.be(tableData[node].load); - expect(nodesAll[node].loadText).to.be(tableData[node].loadText); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const nodesAll = await nodesList.getNodesAll(); + const tableData = [ + { + load: '3.28', + loadText: + 'Trending\nup\nMax value\n3.71\nMin value\n2.19\nApplies to current time period', + }, + { + load: '3.28', + loadText: + 'Trending\nup\nMax value\n3.73\nMin value\n2.29\nApplies to current time period', + }, + { load: undefined }, + ]; + nodesAll.forEach((obj, node) => { + // eslint-disable-line no-unused-vars + expect(nodesAll[node].load).to.be(tableData[node].load); + expect(nodesAll[node].loadText).to.be(tableData[node].loadText); + }); }); }); }); @@ -169,15 +181,18 @@ export default function ({ getService, getPageObjects }) { await nodesList.clickNameCol(); await nodesList.clickNameCol(); - const nodesAll = await nodesList.getNodesAll(); - const tableData = [ - { name: 'whatever-01' }, - { name: 'whatever-02' }, - { name: 'whatever-03' }, - ]; - nodesAll.forEach((obj, node) => { - // eslint-disable-line no-unused-vars - expect(nodesAll[node].name).to.be(tableData[node].name); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const nodesAll = await nodesList.getNodesAll(); + const tableData = [ + { name: 'whatever-01' }, + { name: 'whatever-02' }, + { name: 'whatever-03' }, + ]; + nodesAll.forEach((obj, node) => { + // eslint-disable-line no-unused-vars + expect(nodesAll[node].name).to.be(tableData[node].name); + }); }); }); @@ -185,15 +200,18 @@ export default function ({ getService, getPageObjects }) { await nodesList.clickStatusCol(); await nodesList.clickStatusCol(); - const nodesAll = await nodesList.getNodesAll(); - const tableData = [ - { status: 'Status: Online' }, - { status: 'Status: Online' }, - { status: 'Status: Offline' }, - ]; - nodesAll.forEach((obj, node) => { - // eslint-disable-line no-unused-vars - expect(nodesAll[node].status).to.be(tableData[node].status); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const nodesAll = await nodesList.getNodesAll(); + const tableData = [ + { status: 'Status: Online' }, + { status: 'Status: Online' }, + { status: 'Status: Offline' }, + ]; + nodesAll.forEach((obj, node) => { + // eslint-disable-line no-unused-vars + expect(nodesAll[node].status).to.be(tableData[node].status); + }); }); }); @@ -201,24 +219,27 @@ export default function ({ getService, getPageObjects }) { await nodesList.clickMemoryCol(); await nodesList.clickMemoryCol(); - const nodesAll = await nodesList.getNodesAll(); - const tableData = [ - { - memory: '39%', - memoryText: - 'Trending\ndown\nMax value\n52%\nMin value\n25%\nApplies to current time period', - }, - { - memory: '25%', - memoryText: - 'Trending\ndown\nMax value\n49%\nMin value\n25%\nApplies to current time period', - }, - { memory: undefined, memoryText: undefined }, - ]; - nodesAll.forEach((obj, node) => { - // eslint-disable-line no-unused-vars - expect(nodesAll[node].memory).to.be(tableData[node].memory); - expect(nodesAll[node].memoryText).to.be(tableData[node].memoryText); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const nodesAll = await nodesList.getNodesAll(); + const tableData = [ + { + memory: '39%', + memoryText: + 'Trending\ndown\nMax value\n52%\nMin value\n25%\nApplies to current time period', + }, + { + memory: '25%', + memoryText: + 'Trending\ndown\nMax value\n49%\nMin value\n25%\nApplies to current time period', + }, + { memory: undefined, memoryText: undefined }, + ]; + nodesAll.forEach((obj, node) => { + // eslint-disable-line no-unused-vars + expect(nodesAll[node].memory).to.be(tableData[node].memory); + expect(nodesAll[node].memoryText).to.be(tableData[node].memoryText); + }); }); }); @@ -226,24 +247,27 @@ export default function ({ getService, getPageObjects }) { await nodesList.clickDiskCol(); await nodesList.clickDiskCol(); - const nodesAll = await nodesList.getNodesAll(); - const tableData = [ - { - disk: '173.9 GB', - diskText: - 'Trending\ndown\nMax value\n173.9 GB\nMin value\n173.9 GB\nApplies to current time period', - }, - { - disk: '173.9 GB', - diskText: - 'Trending\ndown\nMax value\n173.9 GB\nMin value\n173.9 GB\nApplies to current time period', - }, - { disk: undefined }, - ]; - nodesAll.forEach((obj, node) => { - // eslint-disable-line no-unused-vars - expect(nodesAll[node].disk).to.be(tableData[node].disk); - expect(nodesAll[node].diskText).to.be(tableData[node].diskText); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const nodesAll = await nodesList.getNodesAll(); + const tableData = [ + { + disk: '173.9 GB', + diskText: + 'Trending\ndown\nMax value\n173.9 GB\nMin value\n173.9 GB\nApplies to current time period', + }, + { + disk: '173.9 GB', + diskText: + 'Trending\ndown\nMax value\n173.9 GB\nMin value\n173.9 GB\nApplies to current time period', + }, + { disk: undefined }, + ]; + nodesAll.forEach((obj, node) => { + // eslint-disable-line no-unused-vars + expect(nodesAll[node].disk).to.be(tableData[node].disk); + expect(nodesAll[node].diskText).to.be(tableData[node].diskText); + }); }); }); @@ -251,17 +275,19 @@ export default function ({ getService, getPageObjects }) { await nodesList.clickShardsCol(); await nodesList.clickShardsCol(); - const nodesAll = await nodesList.getNodesAll(); - const tableData = [{ shards: '38' }, { shards: '38' }, { shards: undefined }]; - nodesAll.forEach((obj, node) => { - // eslint-disable-line no-unused-vars - expect(nodesAll[node].shards).to.be(tableData[node].shards); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const nodesAll = await nodesList.getNodesAll(); + const tableData = [{ shards: '38' }, { shards: '38' }, { shards: undefined }]; + nodesAll.forEach((obj, node) => { + // eslint-disable-line no-unused-vars + expect(nodesAll[node].shards).to.be(tableData[node].shards); + }); }); }); }); - // FLAKY: https://github.com/elastic/kibana/issues/100438 - describe.skip('with only online nodes', () => { + describe('with only online nodes', () => { const { setup, tearDown } = getLifecycleMethods(getService, getPageObjects); before(async () => { @@ -273,6 +299,8 @@ export default function ({ getService, getPageObjects }) { } ); + await overview.closeAlertsModal(); + // go to nodes listing await overview.clickEsNodes(); expect(await nodesList.isOnListing()).to.be(true); @@ -297,14 +325,24 @@ export default function ({ getService, getPageObjects }) { it('should filter for specific indices', async () => { await nodesList.setFilter('01'); - const rows = await nodesList.getRows(); - expect(rows.length).to.be(1); + + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const rows = await nodesList.getRows(); + expect(rows.length).to.be(1); + }); + await nodesList.clearFilter(); }); it('should filter for non-existent index', async () => { await nodesList.setFilter('foobar'); - await nodesList.assertNoData(); + + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + await nodesList.assertNoData(); + }); + await nodesList.clearFilter(); }); }); diff --git a/x-pack/test/functional/apps/monitoring/elasticsearch/nodes_mb.js b/x-pack/test/functional/apps/monitoring/elasticsearch/nodes_mb.js index 320b392740586..466123e4875fe 100644 --- a/x-pack/test/functional/apps/monitoring/elasticsearch/nodes_mb.js +++ b/x-pack/test/functional/apps/monitoring/elasticsearch/nodes_mb.js @@ -12,13 +12,13 @@ export default function ({ getService, getPageObjects }) { const overview = getService('monitoringClusterOverview'); const nodesList = getService('monitoringElasticsearchNodes'); const esClusterSummaryStatus = getService('monitoringElasticsearchSummaryStatus'); + const retry = getService('retry'); describe('Elasticsearch nodes listing mb', function () { // FF issue: https://github.com/elastic/kibana/issues/35551 this.tags(['skipFirefox']); - // FLAKY: https://github.com/elastic/kibana/issues/116065 - describe.skip('with offline node', () => { + describe('with offline node', () => { const { setup, tearDown } = getLifecycleMethods(getService, getPageObjects); before(async () => { @@ -59,58 +59,62 @@ export default function ({ getService, getPageObjects }) { this.tags(['skipCloud']); it('should have a nodes table with correct rows with default sorting', async () => { - const rows = await nodesList.getRows(); - expect(rows.length).to.be(3); - - const nodesAll = await nodesList.getNodesAll(); - const tableData = [ - { - name: 'whatever-01', - status: 'Status: Online', - cpu: '0%', - cpuText: 'Trending\nup\nMax value\n3%\nMin value\n0%\nApplies to current time period', - load: '3.28', - loadText: - 'Trending\nup\nMax value\n3.71\nMin value\n2.19\nApplies to current time period', - memory: '39%', - memoryText: - 'Trending\ndown\nMax value\n52%\nMin value\n25%\nApplies to current time period', - disk: '173.9 GB', - diskText: - 'Trending\ndown\nMax value\n173.9 GB\nMin value\n173.9 GB\nApplies to current time period', - shards: '38', - }, - { - name: 'whatever-02', - status: 'Status: Online', - cpu: '2%', - cpuText: - 'Trending\ndown\nMax value\n3%\nMin value\n0%\nApplies to current time period', - load: '3.28', - loadText: - 'Trending\nup\nMax value\n3.73\nMin value\n2.29\nApplies to current time period', - memory: '25%', - memoryText: - 'Trending\ndown\nMax value\n49%\nMin value\n25%\nApplies to current time period', - disk: '173.9 GB', - diskText: - 'Trending\ndown\nMax value\n173.9 GB\nMin value\n173.9 GB\nApplies to current time period', - shards: '38', - }, - { name: 'whatever-03', status: 'Status: Offline' }, - ]; - nodesAll.forEach((obj, node) => { - expect(nodesAll[node].name).to.be(tableData[node].name); - expect(nodesAll[node].status).to.be(tableData[node].status); - expect(nodesAll[node].cpu).to.be(tableData[node].cpu); - expect(nodesAll[node].cpuText).to.be(tableData[node].cpuText); - expect(nodesAll[node].load).to.be(tableData[node].load); - expect(nodesAll[node].loadText).to.be(tableData[node].loadText); - expect(nodesAll[node].memory).to.be(tableData[node].memory); - expect(nodesAll[node].memoryText).to.be(tableData[node].memoryText); - expect(nodesAll[node].disk).to.be(tableData[node].disk); - expect(nodesAll[node].diskText).to.be(tableData[node].diskText); - expect(nodesAll[node].shards).to.be(tableData[node].shards); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const rows = await nodesList.getRows(); + expect(rows.length).to.be(3); + + const nodesAll = await nodesList.getNodesAll(); + const tableData = [ + { + name: 'whatever-01', + status: 'Status: Online', + cpu: '0%', + cpuText: + 'Trending\nup\nMax value\n3%\nMin value\n0%\nApplies to current time period', + load: '3.28', + loadText: + 'Trending\nup\nMax value\n3.71\nMin value\n2.19\nApplies to current time period', + memory: '39%', + memoryText: + 'Trending\ndown\nMax value\n52%\nMin value\n25%\nApplies to current time period', + disk: '173.9 GB', + diskText: + 'Trending\ndown\nMax value\n173.9 GB\nMin value\n173.9 GB\nApplies to current time period', + shards: '38', + }, + { + name: 'whatever-02', + status: 'Status: Online', + cpu: '2%', + cpuText: + 'Trending\ndown\nMax value\n3%\nMin value\n0%\nApplies to current time period', + load: '3.28', + loadText: + 'Trending\nup\nMax value\n3.73\nMin value\n2.29\nApplies to current time period', + memory: '25%', + memoryText: + 'Trending\ndown\nMax value\n49%\nMin value\n25%\nApplies to current time period', + disk: '173.9 GB', + diskText: + 'Trending\ndown\nMax value\n173.9 GB\nMin value\n173.9 GB\nApplies to current time period', + shards: '38', + }, + { name: 'whatever-03', status: 'Status: Offline' }, + ]; + nodesAll.forEach((obj, node) => { + expect(nodesAll[node].name).to.be(tableData[node].name); + expect(nodesAll[node].status).to.be(tableData[node].status); + expect(nodesAll[node].cpu).to.be(tableData[node].cpu); + expect(nodesAll[node].cpuText).to.be(tableData[node].cpuText); + expect(nodesAll[node].load).to.be(tableData[node].load); + expect(nodesAll[node].loadText).to.be(tableData[node].loadText); + expect(nodesAll[node].memory).to.be(tableData[node].memory); + expect(nodesAll[node].memoryText).to.be(tableData[node].memoryText); + expect(nodesAll[node].disk).to.be(tableData[node].disk); + expect(nodesAll[node].diskText).to.be(tableData[node].diskText); + expect(nodesAll[node].shards).to.be(tableData[node].shards); + }); }); }); @@ -118,22 +122,26 @@ export default function ({ getService, getPageObjects }) { await nodesList.clickCpuCol(); await nodesList.clickCpuCol(); - const nodesAll = await nodesList.getNodesAll(); - const tableData = [ - { - cpu: '2%', - cpuText: - 'Trending\ndown\nMax value\n3%\nMin value\n0%\nApplies to current time period', - }, - { - cpu: '0%', - cpuText: 'Trending\nup\nMax value\n3%\nMin value\n0%\nApplies to current time period', - }, - { cpu: undefined, cpuText: undefined }, - ]; - nodesAll.forEach((obj, node) => { - expect(nodesAll[node].cpu).to.be(tableData[node].cpu); - expect(nodesAll[node].cpuText).to.be(tableData[node].cpuText); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const nodesAll = await nodesList.getNodesAll(); + const tableData = [ + { + cpu: '2%', + cpuText: + 'Trending\ndown\nMax value\n3%\nMin value\n0%\nApplies to current time period', + }, + { + cpu: '0%', + cpuText: + 'Trending\nup\nMax value\n3%\nMin value\n0%\nApplies to current time period', + }, + { cpu: undefined, cpuText: undefined }, + ]; + nodesAll.forEach((obj, node) => { + expect(nodesAll[node].cpu).to.be(tableData[node].cpu); + expect(nodesAll[node].cpuText).to.be(tableData[node].cpuText); + }); }); }); @@ -141,23 +149,26 @@ export default function ({ getService, getPageObjects }) { await nodesList.clickLoadCol(); await nodesList.clickLoadCol(); - const nodesAll = await nodesList.getNodesAll(); - const tableData = [ - { - load: '3.28', - loadText: - 'Trending\nup\nMax value\n3.71\nMin value\n2.19\nApplies to current time period', - }, - { - load: '3.28', - loadText: - 'Trending\nup\nMax value\n3.73\nMin value\n2.29\nApplies to current time period', - }, - { load: undefined }, - ]; - nodesAll.forEach((obj, node) => { - expect(nodesAll[node].load).to.be(tableData[node].load); - expect(nodesAll[node].loadText).to.be(tableData[node].loadText); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const nodesAll = await nodesList.getNodesAll(); + const tableData = [ + { + load: '3.28', + loadText: + 'Trending\nup\nMax value\n3.71\nMin value\n2.19\nApplies to current time period', + }, + { + load: '3.28', + loadText: + 'Trending\nup\nMax value\n3.73\nMin value\n2.29\nApplies to current time period', + }, + { load: undefined }, + ]; + nodesAll.forEach((obj, node) => { + expect(nodesAll[node].load).to.be(tableData[node].load); + expect(nodesAll[node].loadText).to.be(tableData[node].loadText); + }); }); }); }); @@ -166,14 +177,17 @@ export default function ({ getService, getPageObjects }) { await nodesList.clickNameCol(); await nodesList.clickNameCol(); - const nodesAll = await nodesList.getNodesAll(); - const tableData = [ - { name: 'whatever-01' }, - { name: 'whatever-02' }, - { name: 'whatever-03' }, - ]; - nodesAll.forEach((obj, node) => { - expect(nodesAll[node].name).to.be(tableData[node].name); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const nodesAll = await nodesList.getNodesAll(); + const tableData = [ + { name: 'whatever-01' }, + { name: 'whatever-02' }, + { name: 'whatever-03' }, + ]; + nodesAll.forEach((obj, node) => { + expect(nodesAll[node].name).to.be(tableData[node].name); + }); }); }); @@ -181,14 +195,17 @@ export default function ({ getService, getPageObjects }) { await nodesList.clickStatusCol(); await nodesList.clickStatusCol(); - const nodesAll = await nodesList.getNodesAll(); - const tableData = [ - { status: 'Status: Online' }, - { status: 'Status: Online' }, - { status: 'Status: Offline' }, - ]; - nodesAll.forEach((obj, node) => { - expect(nodesAll[node].status).to.be(tableData[node].status); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const nodesAll = await nodesList.getNodesAll(); + const tableData = [ + { status: 'Status: Online' }, + { status: 'Status: Online' }, + { status: 'Status: Offline' }, + ]; + nodesAll.forEach((obj, node) => { + expect(nodesAll[node].status).to.be(tableData[node].status); + }); }); }); @@ -196,23 +213,26 @@ export default function ({ getService, getPageObjects }) { await nodesList.clickMemoryCol(); await nodesList.clickMemoryCol(); - const nodesAll = await nodesList.getNodesAll(); - const tableData = [ - { - memory: '39%', - memoryText: - 'Trending\ndown\nMax value\n52%\nMin value\n25%\nApplies to current time period', - }, - { - memory: '25%', - memoryText: - 'Trending\ndown\nMax value\n49%\nMin value\n25%\nApplies to current time period', - }, - { memory: undefined, memoryText: undefined }, - ]; - nodesAll.forEach((obj, node) => { - expect(nodesAll[node].memory).to.be(tableData[node].memory); - expect(nodesAll[node].memoryText).to.be(tableData[node].memoryText); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const nodesAll = await nodesList.getNodesAll(); + const tableData = [ + { + memory: '39%', + memoryText: + 'Trending\ndown\nMax value\n52%\nMin value\n25%\nApplies to current time period', + }, + { + memory: '25%', + memoryText: + 'Trending\ndown\nMax value\n49%\nMin value\n25%\nApplies to current time period', + }, + { memory: undefined, memoryText: undefined }, + ]; + nodesAll.forEach((obj, node) => { + expect(nodesAll[node].memory).to.be(tableData[node].memory); + expect(nodesAll[node].memoryText).to.be(tableData[node].memoryText); + }); }); }); @@ -220,23 +240,26 @@ export default function ({ getService, getPageObjects }) { await nodesList.clickDiskCol(); await nodesList.clickDiskCol(); - const nodesAll = await nodesList.getNodesAll(); - const tableData = [ - { - disk: '173.9 GB', - diskText: - 'Trending\ndown\nMax value\n173.9 GB\nMin value\n173.9 GB\nApplies to current time period', - }, - { - disk: '173.9 GB', - diskText: - 'Trending\ndown\nMax value\n173.9 GB\nMin value\n173.9 GB\nApplies to current time period', - }, - { disk: undefined }, - ]; - nodesAll.forEach((obj, node) => { - expect(nodesAll[node].disk).to.be(tableData[node].disk); - expect(nodesAll[node].diskText).to.be(tableData[node].diskText); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const nodesAll = await nodesList.getNodesAll(); + const tableData = [ + { + disk: '173.9 GB', + diskText: + 'Trending\ndown\nMax value\n173.9 GB\nMin value\n173.9 GB\nApplies to current time period', + }, + { + disk: '173.9 GB', + diskText: + 'Trending\ndown\nMax value\n173.9 GB\nMin value\n173.9 GB\nApplies to current time period', + }, + { disk: undefined }, + ]; + nodesAll.forEach((obj, node) => { + expect(nodesAll[node].disk).to.be(tableData[node].disk); + expect(nodesAll[node].diskText).to.be(tableData[node].diskText); + }); }); }); @@ -244,10 +267,13 @@ export default function ({ getService, getPageObjects }) { await nodesList.clickShardsCol(); await nodesList.clickShardsCol(); - const nodesAll = await nodesList.getNodesAll(); - const tableData = [{ shards: '38' }, { shards: '38' }, { shards: undefined }]; - nodesAll.forEach((obj, node) => { - expect(nodesAll[node].shards).to.be(tableData[node].shards); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const nodesAll = await nodesList.getNodesAll(); + const tableData = [{ shards: '38' }, { shards: '38' }, { shards: undefined }]; + nodesAll.forEach((obj, node) => { + expect(nodesAll[node].shards).to.be(tableData[node].shards); + }); }); }); }); @@ -290,14 +316,24 @@ export default function ({ getService, getPageObjects }) { it('should filter for specific indices', async () => { await nodesList.setFilter('01'); - const rows = await nodesList.getRows(); - expect(rows.length).to.be(1); + + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const rows = await nodesList.getRows(); + expect(rows.length).to.be(1); + }); + await nodesList.clearFilter(); }); it('should filter for non-existent index', async () => { await nodesList.setFilter('foobar'); - await nodesList.assertNoData(); + + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + await nodesList.assertNoData(); + }); + await nodesList.clearFilter(); }); }); diff --git a/x-pack/test/functional/apps/monitoring/logstash/node_detail.js b/x-pack/test/functional/apps/monitoring/logstash/node_detail.js index 2e75422f3028f..074d41dcfc295 100644 --- a/x-pack/test/functional/apps/monitoring/logstash/node_detail.js +++ b/x-pack/test/functional/apps/monitoring/logstash/node_detail.js @@ -67,19 +67,15 @@ export default function ({ getService, getPageObjects }) { await pipelinesList.clickIdCol(); - const pipelinesAll = await pipelinesList.getPipelinesAll(); - - const tableData = [ - { id: 'nginx_logs', eventsEmittedRate: '62.5 e/s', nodeCount: '1' }, - { id: 'test_interpolation', eventsEmittedRate: '0 e/s', nodeCount: '1' }, - { id: 'tweets_about_labradoodles', eventsEmittedRate: '1.2 e/s', nodeCount: '1' }, - ]; - - // check the all data in the table - pipelinesAll.forEach((obj, index) => { - expect(pipelinesAll[index].id).to.be(tableData[index].id); - expect(pipelinesAll[index].eventsEmittedRate).to.be(tableData[index].eventsEmittedRate); - expect(pipelinesAll[index].nodeCount).to.be(tableData[index].nodeCount); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const pipelinesAll = await pipelinesList.getPipelinesAll(); + + expect(pipelinesAll).to.eql([ + { id: 'nginx_logs', eventsEmittedRate: '62.5 e/s', nodeCount: '1' }, + { id: 'test_interpolation', eventsEmittedRate: '0 e/s', nodeCount: '1' }, + { id: 'tweets_about_labradoodles', eventsEmittedRate: '1.2 e/s', nodeCount: '1' }, + ]); }); }); @@ -89,19 +85,15 @@ export default function ({ getService, getPageObjects }) { const rows = await pipelinesList.getRows(); expect(rows.length).to.be(3); - const pipelinesAll = await pipelinesList.getPipelinesAll(); - - const tableData = [ - { id: 'test_interpolation', eventsEmittedRate: '0 e/s', nodeCount: '1' }, - { id: 'tweets_about_labradoodles', eventsEmittedRate: '1.2 e/s', nodeCount: '1' }, - { id: 'nginx_logs', eventsEmittedRate: '62.5 e/s', nodeCount: '1' }, - ]; + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const pipelinesAll = await pipelinesList.getPipelinesAll(); - // check the all data in the table - pipelinesAll.forEach((obj, index) => { - expect(pipelinesAll[index].id).to.be(tableData[index].id); - expect(pipelinesAll[index].eventsEmittedRate).to.be(tableData[index].eventsEmittedRate); - expect(pipelinesAll[index].nodeCount).to.be(tableData[index].nodeCount); + expect(pipelinesAll).to.eql([ + { id: 'test_interpolation', eventsEmittedRate: '0 e/s', nodeCount: '1' }, + { id: 'tweets_about_labradoodles', eventsEmittedRate: '1.2 e/s', nodeCount: '1' }, + { id: 'nginx_logs', eventsEmittedRate: '62.5 e/s', nodeCount: '1' }, + ]); }); }); diff --git a/x-pack/test/functional/apps/monitoring/logstash/node_detail_mb.js b/x-pack/test/functional/apps/monitoring/logstash/node_detail_mb.js index aba95b42c3043..5dd3c42807411 100644 --- a/x-pack/test/functional/apps/monitoring/logstash/node_detail_mb.js +++ b/x-pack/test/functional/apps/monitoring/logstash/node_detail_mb.js @@ -67,19 +67,15 @@ export default function ({ getService, getPageObjects }) { await pipelinesList.clickIdCol(); - const pipelinesAll = await pipelinesList.getPipelinesAll(); - - const tableData = [ - { id: 'nginx_logs', eventsEmittedRate: '62.5 e/s', nodeCount: '1' }, - { id: 'test_interpolation', eventsEmittedRate: '0 e/s', nodeCount: '1' }, - { id: 'tweets_about_labradoodles', eventsEmittedRate: '1.2 e/s', nodeCount: '1' }, - ]; - - // check the all data in the table - pipelinesAll.forEach((obj, index) => { - expect(pipelinesAll[index].id).to.be(tableData[index].id); - expect(pipelinesAll[index].eventsEmittedRate).to.be(tableData[index].eventsEmittedRate); - expect(pipelinesAll[index].nodeCount).to.be(tableData[index].nodeCount); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const pipelinesAll = await pipelinesList.getPipelinesAll(); + + expect(pipelinesAll).to.eql([ + { id: 'nginx_logs', eventsEmittedRate: '62.5 e/s', nodeCount: '1' }, + { id: 'test_interpolation', eventsEmittedRate: '0 e/s', nodeCount: '1' }, + { id: 'tweets_about_labradoodles', eventsEmittedRate: '1.2 e/s', nodeCount: '1' }, + ]); }); }); @@ -89,19 +85,15 @@ export default function ({ getService, getPageObjects }) { const rows = await pipelinesList.getRows(); expect(rows.length).to.be(3); - const pipelinesAll = await pipelinesList.getPipelinesAll(); - - const tableData = [ - { id: 'test_interpolation', eventsEmittedRate: '0 e/s', nodeCount: '1' }, - { id: 'tweets_about_labradoodles', eventsEmittedRate: '1.2 e/s', nodeCount: '1' }, - { id: 'nginx_logs', eventsEmittedRate: '62.5 e/s', nodeCount: '1' }, - ]; + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const pipelinesAll = await pipelinesList.getPipelinesAll(); - // check the all data in the table - pipelinesAll.forEach((obj, index) => { - expect(pipelinesAll[index].id).to.be(tableData[index].id); - expect(pipelinesAll[index].eventsEmittedRate).to.be(tableData[index].eventsEmittedRate); - expect(pipelinesAll[index].nodeCount).to.be(tableData[index].nodeCount); + expect(pipelinesAll).to.eql([ + { id: 'test_interpolation', eventsEmittedRate: '0 e/s', nodeCount: '1' }, + { id: 'tweets_about_labradoodles', eventsEmittedRate: '1.2 e/s', nodeCount: '1' }, + { id: 'nginx_logs', eventsEmittedRate: '62.5 e/s', nodeCount: '1' }, + ]); }); }); diff --git a/x-pack/test/functional/apps/monitoring/logstash/nodes.js b/x-pack/test/functional/apps/monitoring/logstash/nodes.js index 75e3c7bac7c01..8d64870cae64e 100644 --- a/x-pack/test/functional/apps/monitoring/logstash/nodes.js +++ b/x-pack/test/functional/apps/monitoring/logstash/nodes.js @@ -12,6 +12,7 @@ export default function ({ getService, getPageObjects }) { const clusterOverview = getService('monitoringClusterOverview'); const nodes = getService('monitoringLogstashNodes'); const logstashSummaryStatus = getService('monitoringLogstashSummaryStatus'); + const retry = getService('retry'); describe('Logstash nodes', () => { const { setup, tearDown } = getLifecycleMethods(getService, getPageObjects); @@ -41,8 +42,11 @@ export default function ({ getService, getPageObjects }) { }); }); it('should have a nodes table with the correct number of rows', async () => { - const rows = await nodes.getRows(); - expect(rows.length).to.be(2); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const rows = await nodes.getRows(); + expect(rows.length).to.be(2); + }); }); it('should have a nodes table with the correct data', async () => { const nodesAll = await nodes.getNodesAll(); @@ -96,8 +100,13 @@ export default function ({ getService, getPageObjects }) { it('should filter for specific nodes', async () => { await nodes.setFilter('sha'); - const rows = await nodes.getRows(); - expect(rows.length).to.be(2); + + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const rows = await nodes.getRows(); + expect(rows.length).to.be(2); + }); + await nodes.clearFilter(); }); }); diff --git a/x-pack/test/functional/apps/monitoring/logstash/nodes_mb.js b/x-pack/test/functional/apps/monitoring/logstash/nodes_mb.js index 1f55d3a0c72dd..fbf148763167f 100644 --- a/x-pack/test/functional/apps/monitoring/logstash/nodes_mb.js +++ b/x-pack/test/functional/apps/monitoring/logstash/nodes_mb.js @@ -12,6 +12,7 @@ export default function ({ getService, getPageObjects }) { const clusterOverview = getService('monitoringClusterOverview'); const nodes = getService('monitoringLogstashNodes'); const logstashSummaryStatus = getService('monitoringLogstashSummaryStatus'); + const retry = getService('retry'); describe('Logstash nodes mb', () => { const { setup, tearDown } = getLifecycleMethods(getService, getPageObjects); @@ -41,8 +42,10 @@ export default function ({ getService, getPageObjects }) { }); }); it('should have a nodes table with the correct number of rows', async () => { - const rows = await nodes.getRows(); - expect(rows.length).to.be(2); + await retry.try(async () => { + const rows = await nodes.getRows(); + expect(rows.length).to.be(2); + }); }); it('should have a nodes table with the correct data', async () => { const nodesAll = await nodes.getNodesAll(); @@ -96,8 +99,12 @@ export default function ({ getService, getPageObjects }) { it('should filter for specific nodes', async () => { await nodes.setFilter('sha'); - const rows = await nodes.getRows(); - expect(rows.length).to.be(2); + + await retry.try(async () => { + const rows = await nodes.getRows(); + expect(rows.length).to.be(2); + }); + await nodes.clearFilter(); }); }); diff --git a/x-pack/test/functional/apps/monitoring/logstash/pipelines.js b/x-pack/test/functional/apps/monitoring/logstash/pipelines.js index 2b58f028bd0d9..a810a12b98378 100644 --- a/x-pack/test/functional/apps/monitoring/logstash/pipelines.js +++ b/x-pack/test/functional/apps/monitoring/logstash/pipelines.js @@ -15,8 +15,7 @@ export default function ({ getService, getPageObjects }) { const pipelinesList = getService('monitoringLogstashPipelines'); const lsClusterSummaryStatus = getService('monitoringLogstashSummaryStatus'); - // FLAKY: https://github.com/elastic/kibana/issues/116070 - describe.skip('Logstash pipelines', () => { + describe('Logstash pipelines', () => { const { setup, tearDown } = getLifecycleMethods(getService, getPageObjects); before(async () => { @@ -51,45 +50,36 @@ export default function ({ getService, getPageObjects }) { await pipelinesList.clickIdCol(); - const pipelinesAll = await pipelinesList.getPipelinesAll(); - - const tableData = [ - { id: 'main', eventsEmittedRate: '162.5 e/s', nodeCount: '1' }, - { id: 'nginx_logs', eventsEmittedRate: '62.5 e/s', nodeCount: '1' }, - { id: 'test_interpolation', eventsEmittedRate: '0 e/s', nodeCount: '1' }, - { id: 'tweets_about_labradoodles', eventsEmittedRate: '1.2 e/s', nodeCount: '1' }, - ]; - - // check the all data in the table - pipelinesAll.forEach((obj, index) => { - // eslint-disable-line no-unused-vars - expect(pipelinesAll[index].id).to.be(tableData[index].id); - expect(pipelinesAll[index].eventsEmittedRate).to.be(tableData[index].eventsEmittedRate); - expect(pipelinesAll[index].nodeCount).to.be(tableData[index].nodeCount); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const pipelinesAll = await pipelinesList.getPipelinesAll(); + + expect(pipelinesAll).to.eql([ + { id: 'main', eventsEmittedRate: '162.5 e/s', nodeCount: '1' }, + { id: 'nginx_logs', eventsEmittedRate: '62.5 e/s', nodeCount: '1' }, + { id: 'test_interpolation', eventsEmittedRate: '0 e/s', nodeCount: '1' }, + { id: 'tweets_about_labradoodles', eventsEmittedRate: '1.2 e/s', nodeCount: '1' }, + ]); }); }); it('should have Pipelines Table showing correct rows after sorting by Events Emitted Rate Asc', async () => { await pipelinesList.clickEventsEmittedRateCol(); - const rows = await pipelinesList.getRows(); - expect(rows.length).to.be(4); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const rows = await pipelinesList.getRows(); + + expect(rows.length).to.be(4); + + const pipelinesAll = await pipelinesList.getPipelinesAll(); - const pipelinesAll = await pipelinesList.getPipelinesAll(); - - const tableData = [ - { id: 'test_interpolation', eventsEmittedRate: '0 e/s', nodeCount: '1' }, - { id: 'tweets_about_labradoodles', eventsEmittedRate: '1.2 e/s', nodeCount: '1' }, - { id: 'nginx_logs', eventsEmittedRate: '62.5 e/s', nodeCount: '1' }, - { id: 'main', eventsEmittedRate: '162.5 e/s', nodeCount: '1' }, - ]; - - // check the all data in the table - pipelinesAll.forEach((obj, index) => { - // eslint-disable-line no-unused-vars - expect(pipelinesAll[index].id).to.be(tableData[index].id); - expect(pipelinesAll[index].eventsEmittedRate).to.be(tableData[index].eventsEmittedRate); - expect(pipelinesAll[index].nodeCount).to.be(tableData[index].nodeCount); + expect(pipelinesAll).to.eql([ + { id: 'test_interpolation', eventsEmittedRate: '0 e/s', nodeCount: '1' }, + { id: 'tweets_about_labradoodles', eventsEmittedRate: '1.2 e/s', nodeCount: '1' }, + { id: 'nginx_logs', eventsEmittedRate: '62.5 e/s', nodeCount: '1' }, + { id: 'main', eventsEmittedRate: '162.5 e/s', nodeCount: '1' }, + ]); }); }); diff --git a/x-pack/test/functional/apps/monitoring/logstash/pipelines_mb.js b/x-pack/test/functional/apps/monitoring/logstash/pipelines_mb.js index 89afac834414b..f992e16f67262 100644 --- a/x-pack/test/functional/apps/monitoring/logstash/pipelines_mb.js +++ b/x-pack/test/functional/apps/monitoring/logstash/pipelines_mb.js @@ -50,43 +50,35 @@ export default function ({ getService, getPageObjects }) { await pipelinesList.clickIdCol(); - const pipelinesAll = await pipelinesList.getPipelinesAll(); - - const tableData = [ - { id: 'main', eventsEmittedRate: '162.5 e/s', nodeCount: '1' }, - { id: 'nginx_logs', eventsEmittedRate: '62.5 e/s', nodeCount: '1' }, - { id: 'test_interpolation', eventsEmittedRate: '0 e/s', nodeCount: '1' }, - { id: 'tweets_about_labradoodles', eventsEmittedRate: '1.2 e/s', nodeCount: '1' }, - ]; - - // check the all data in the table - pipelinesAll.forEach((obj, index) => { - expect(pipelinesAll[index].id).to.be(tableData[index].id); - expect(pipelinesAll[index].eventsEmittedRate).to.be(tableData[index].eventsEmittedRate); - expect(pipelinesAll[index].nodeCount).to.be(tableData[index].nodeCount); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const pipelinesAll = await pipelinesList.getPipelinesAll(); + + expect(pipelinesAll).to.eql([ + { id: 'main', eventsEmittedRate: '162.5 e/s', nodeCount: '1' }, + { id: 'nginx_logs', eventsEmittedRate: '62.5 e/s', nodeCount: '1' }, + { id: 'test_interpolation', eventsEmittedRate: '0 e/s', nodeCount: '1' }, + { id: 'tweets_about_labradoodles', eventsEmittedRate: '1.2 e/s', nodeCount: '1' }, + ]); }); }); it('should have Pipelines Table showing correct rows after sorting by Events Emitted Rate Asc', async () => { await pipelinesList.clickEventsEmittedRateCol(); - const rows = await pipelinesList.getRows(); - expect(rows.length).to.be(4); - - const pipelinesAll = await pipelinesList.getPipelinesAll(); + // retry in case the table hasn't had time to re-render + await retry.try(async () => { + const rows = await pipelinesList.getRows(); + expect(rows.length).to.be(4); - const tableData = [ - { id: 'test_interpolation', eventsEmittedRate: '0 e/s', nodeCount: '1' }, - { id: 'tweets_about_labradoodles', eventsEmittedRate: '1.2 e/s', nodeCount: '1' }, - { id: 'nginx_logs', eventsEmittedRate: '62.5 e/s', nodeCount: '1' }, - { id: 'main', eventsEmittedRate: '162.5 e/s', nodeCount: '1' }, - ]; + const pipelinesAll = await pipelinesList.getPipelinesAll(); - // check the all data in the table - pipelinesAll.forEach((obj, index) => { - expect(pipelinesAll[index].id).to.be(tableData[index].id); - expect(pipelinesAll[index].eventsEmittedRate).to.be(tableData[index].eventsEmittedRate); - expect(pipelinesAll[index].nodeCount).to.be(tableData[index].nodeCount); + expect(pipelinesAll).to.eql([ + { id: 'test_interpolation', eventsEmittedRate: '0 e/s', nodeCount: '1' }, + { id: 'tweets_about_labradoodles', eventsEmittedRate: '1.2 e/s', nodeCount: '1' }, + { id: 'nginx_logs', eventsEmittedRate: '62.5 e/s', nodeCount: '1' }, + { id: 'main', eventsEmittedRate: '162.5 e/s', nodeCount: '1' }, + ]); }); }); diff --git a/x-pack/test/functional/apps/security/doc_level_security_roles.ts b/x-pack/test/functional/apps/security/doc_level_security_roles.ts index 94241c64f947d..8b6a7baf8447b 100644 --- a/x-pack/test/functional/apps/security/doc_level_security_roles.ts +++ b/x-pack/test/functional/apps/security/doc_level_security_roles.ts @@ -15,6 +15,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const retry = getService('retry'); const log = getService('log'); const screenshot = getService('screenshots'); + const security = getService('security'); const PageObjects = getPageObjects(['security', 'common', 'header', 'discover', 'settings']); const kibanaServer = getService('kibanaServer'); @@ -80,9 +81,12 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const rowData = await PageObjects.discover.getDocTableIndex(1); expect(rowData).to.contain('EAST'); }); + after('logout', async () => { // NOTE: Logout needs to happen before anything else to avoid flaky behavior await PageObjects.security.forceLogout(); + await security.user.delete('userEast'); + await security.role.delete('myroleEast'); }); }); } diff --git a/x-pack/test/functional/apps/security/users.ts b/x-pack/test/functional/apps/security/users.ts index 2f7f2e0aaabde..d7201eae98bdb 100644 --- a/x-pack/test/functional/apps/security/users.ts +++ b/x-pack/test/functional/apps/security/users.ts @@ -44,7 +44,9 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { // In Cloud default users are defined in file realm, such users aren't exposed through the Users API. if (isCloudEnvironment()) { - expect(Object.keys(users)).to.eql(['test_user']); + expect(users).to.not.have.property('elastic'); + expect(users).to.not.have.property('kibana_system'); + expect(users).to.not.have.property('kibana'); } else { expect(users.elastic.roles).to.eql(['superuser']); expect(users.elastic.reserved).to.be(true); @@ -119,9 +121,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { expect(roles.kibana_user.reserved).to.be(true); expect(roles.kibana_user.deprecated).to.be(true); - expect(roles.kibana_dashboard_only_user.reserved).to.be(true); - expect(roles.kibana_dashboard_only_user.deprecated).to.be(true); - expect(roles.kibana_system.reserved).to.be(true); expect(roles.kibana_system.deprecated).to.be(false); @@ -204,7 +203,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); }); - describe('Deactivate/Activate user', () => { + // FLAKY: https://github.com/elastic/kibana/issues/118728 + describe.skip('Deactivate/Activate user', () => { it('deactivates user when confirming', async () => { await PageObjects.security.deactivatesUser(optionalUser); const users = keyBy(await PageObjects.security.getElasticsearchUsers(), 'username'); diff --git a/x-pack/test/functional/apps/snapshot_restore/home_page.ts b/x-pack/test/functional/apps/snapshot_restore/home_page.ts index b72656a96980f..7e8962b3acc82 100644 --- a/x-pack/test/functional/apps/snapshot_restore/home_page.ts +++ b/x-pack/test/functional/apps/snapshot_restore/home_page.ts @@ -12,9 +12,11 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const pageObjects = getPageObjects(['common', 'snapshotRestore']); const log = getService('log'); const es = getService('es'); + const security = getService('security'); describe('Home page', function () { before(async () => { + await security.testUser.setRoles(['snapshot_restore_user'], false); await pageObjects.common.navigateToApp('snapshotRestore'); }); @@ -46,9 +48,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { it('cleanup repository', async () => { await pageObjects.snapshotRestore.viewRepositoryDetails('my-repository'); - await pageObjects.common.sleep(25000); const cleanupResponse = await pageObjects.snapshotRestore.performRepositoryCleanup(); - await pageObjects.common.sleep(25000); expect(cleanupResponse).to.contain('results'); expect(cleanupResponse).to.contain('deleted_bytes'); expect(cleanupResponse).to.contain('deleted_blobs'); @@ -57,6 +57,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { await es.snapshot.deleteRepository({ repository: 'my-repository', }); + await security.testUser.restoreDefaults(); }); }); }); diff --git a/x-pack/test/functional/apps/spaces/enter_space.ts b/x-pack/test/functional/apps/spaces/enter_space.ts index 6a93da999ee2e..bac4c5a031107 100644 --- a/x-pack/test/functional/apps/spaces/enter_space.ts +++ b/x-pack/test/functional/apps/spaces/enter_space.ts @@ -14,7 +14,8 @@ export default function enterSpaceFunctonalTests({ const esArchiver = getService('esArchiver'); const PageObjects = getPageObjects(['security', 'spaceSelector']); - describe('Enter Space', function () { + // FLAKY: https://github.com/elastic/kibana/issues/99879 + describe.skip('Enter Space', function () { // FLAKY: https://github.com/elastic/kibana/issues/100570 // These tests fail very intermittently in Firefox. Skip Firefox testing until resolved. // this.tags('includeFirefox'); diff --git a/x-pack/test/functional/apps/transform/cloning.ts b/x-pack/test/functional/apps/transform/cloning.ts index a6a46888edda8..b499296422fb8 100644 --- a/x-pack/test/functional/apps/transform/cloning.ts +++ b/x-pack/test/functional/apps/transform/cloning.ts @@ -35,6 +35,7 @@ function getTransformConfig(): TransformPivotConfig { description: 'ecommerce batch transform with avg(products.base_price) grouped by terms(category)', frequency: '3s', + retention_policy: { time: { field: 'order_date', max_age: '1d' } }, settings: { max_page_search_size: 250, }, @@ -72,6 +73,7 @@ function getTransformConfigWithRuntimeMappings(): TransformPivotConfig { }, description: 'ecommerce batch transform grouped by terms(rt_gender_lower)', frequency: '3s', + retention_policy: { time: { field: 'order_date', max_age: '3d' } }, settings: { max_page_search_size: 250, }, @@ -120,6 +122,7 @@ export default function ({ getService }: FtrProviderContext) { await transform.api.deleteIndices(transformConfigWithRuntimeMapping.dest.index); await transform.api.deleteIndices(transformConfigWithLatest.dest.index); await transform.api.cleanTransformIndices(); + await transform.testResources.deleteIndexPatternByTitle('ft_ecommerce'); }); const testDataList: TestData[] = [ @@ -156,6 +159,9 @@ export default function ({ getService }: FtrProviderContext) { `Women's Clothing`, ], }, + retentionPolicySwitchEnabled: true, + retentionPolicyField: 'order_date', + retentionPolicyMaxAge: '1d', }, }, { @@ -185,6 +191,9 @@ export default function ({ getService }: FtrProviderContext) { column: 0, values: [`female`, `male`], }, + retentionPolicySwitchEnabled: true, + retentionPolicyField: 'order_date', + retentionPolicyMaxAge: '3d', }, }, { @@ -209,6 +218,7 @@ export default function ({ getService }: FtrProviderContext) { 'July 12th 2019, 23:45:36', ], }, + retentionPolicySwitchEnabled: false, }, }, ]; @@ -302,6 +312,7 @@ export default function ({ getService }: FtrProviderContext) { testData.expected.transformPreview.values ); + // assert details step form await transform.testExecution.logTestStep('should load the details step'); await transform.wizard.advanceToDetailsStep(); @@ -332,6 +343,24 @@ export default function ({ getService }: FtrProviderContext) { await transform.wizard.assertContinuousModeSwitchExists(); await transform.wizard.assertContinuousModeSwitchCheckState(false); + await transform.testExecution.logTestStep( + 'should display the retention policy settings with pre-filled configuration' + ); + await transform.wizard.assertRetentionPolicySwitchExists(); + await transform.wizard.assertRetentionPolicySwitchCheckState( + testData.expected.retentionPolicySwitchEnabled + ); + if (testData.expected.retentionPolicySwitchEnabled) { + await transform.wizard.assertRetentionPolicyFieldSelectExists(); + await transform.wizard.assertRetentionPolicyFieldSelectValue( + testData.expected.retentionPolicyField + ); + await transform.wizard.assertRetentionPolicyMaxAgeInputExists(); + await transform.wizard.assertRetentionsPolicyMaxAgeValue( + testData.expected.retentionPolicyMaxAge + ); + } + await transform.testExecution.logTestStep( 'should display the advanced settings and show pre-filled configuration' ); diff --git a/x-pack/test/functional/apps/transform/creation_index_pattern.ts b/x-pack/test/functional/apps/transform/creation_index_pattern.ts index a6b3e8e41be99..f9b4d7c97100d 100644 --- a/x-pack/test/functional/apps/transform/creation_index_pattern.ts +++ b/x-pack/test/functional/apps/transform/creation_index_pattern.ts @@ -32,6 +32,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await transform.api.cleanTransformIndices(); + await transform.testResources.deleteIndexPatternByTitle('ft_ecommerce'); }); const testDataList: Array = [ @@ -357,6 +358,7 @@ export default function ({ getService }: FtrProviderContext) { get destinationIndex(): string { return `user-${this.transformId}`; }, + destinationDataViewTimeField: 'order_date', discoverAdjustSuperDatePicker: true, expected: { latestPreview: { @@ -532,6 +534,12 @@ export default function ({ getService }: FtrProviderContext) { await transform.wizard.assertCreateIndexPatternSwitchExists(); await transform.wizard.assertCreateIndexPatternSwitchCheckState(true); + if (testData.destinationDataViewTimeField) { + await transform.testExecution.logTestStep('sets the data view time field'); + await transform.wizard.assertDataViewTimeFieldInputExists(); + await transform.wizard.setDataViewTimeField(testData.destinationDataViewTimeField); + } + await transform.testExecution.logTestStep('displays the continuous mode switch'); await transform.wizard.assertContinuousModeSwitchExists(); await transform.wizard.assertContinuousModeSwitchCheckState(false); diff --git a/x-pack/test/functional/apps/transform/creation_runtime_mappings.ts b/x-pack/test/functional/apps/transform/creation_runtime_mappings.ts index a0b3c636a2f1a..47200eafd7fdf 100644 --- a/x-pack/test/functional/apps/transform/creation_runtime_mappings.ts +++ b/x-pack/test/functional/apps/transform/creation_runtime_mappings.ts @@ -45,6 +45,7 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await transform.api.cleanTransformIndices(); + await transform.testResources.deleteIndexPatternByTitle('ft_farequote'); }); const histogramCharts: HistogramCharts = [ diff --git a/x-pack/test/functional/apps/transform/creation_saved_search.ts b/x-pack/test/functional/apps/transform/creation_saved_search.ts index b79bef82267d7..7d3429c139626 100644 --- a/x-pack/test/functional/apps/transform/creation_saved_search.ts +++ b/x-pack/test/functional/apps/transform/creation_saved_search.ts @@ -32,6 +32,8 @@ export default function ({ getService }: FtrProviderContext) { after(async () => { await transform.api.cleanTransformIndices(); + await transform.testResources.deleteSavedSearches(); + await transform.testResources.deleteIndexPatternByTitle('ft_farequote'); }); const testDataList: Array = [ diff --git a/x-pack/test/functional/apps/transform/deleting.ts b/x-pack/test/functional/apps/transform/deleting.ts index c86171cdb1d6f..47a36bb326243 100644 --- a/x-pack/test/functional/apps/transform/deleting.ts +++ b/x-pack/test/functional/apps/transform/deleting.ts @@ -81,6 +81,7 @@ export default function ({ getService }: FtrProviderContext) { await transform.api.deleteIndices(testData.originalConfig.dest.index); } await transform.api.cleanTransformIndices(); + await transform.testResources.deleteIndexPatternByTitle('ft_ecommerce'); }); for (const testData of testDataList) { diff --git a/x-pack/test/functional/apps/transform/editing.ts b/x-pack/test/functional/apps/transform/editing.ts index 993c239a04304..154c91ef6c149 100644 --- a/x-pack/test/functional/apps/transform/editing.ts +++ b/x-pack/test/functional/apps/transform/editing.ts @@ -5,33 +5,17 @@ * 2.0. */ -import { TransformPivotConfig } from '../../../../plugins/transform/common/types/transform'; import { TRANSFORM_STATE } from '../../../../plugins/transform/common/constants'; import { FtrProviderContext } from '../../ftr_provider_context'; -import { getLatestTransformConfig } from './index'; - -function getTransformConfig(): TransformPivotConfig { - const date = Date.now(); - return { - id: `ec_editing_${date}`, - source: { index: ['ft_ecommerce'] }, - pivot: { - group_by: { category: { terms: { field: 'category.keyword' } } }, - aggregations: { 'products.base_price.avg': { avg: { field: 'products.base_price' } } }, - }, - description: - 'ecommerce batch transform with avg(products.base_price) grouped by terms(category)', - dest: { index: `user-ec_2_${date}` }, - }; -} +import { getLatestTransformConfig, getPivotTransformConfig } from './index'; export default function ({ getService }: FtrProviderContext) { const esArchiver = getService('esArchiver'); const transform = getService('transform'); describe('editing', function () { - const transformConfigWithPivot = getTransformConfig(); + const transformConfigWithPivot = getPivotTransformConfig('editing'); const transformConfigWithLatest = getLatestTransformConfig('editing'); before(async () => { @@ -57,6 +41,7 @@ export default function ({ getService }: FtrProviderContext) { await transform.testResources.deleteIndexPatternByTitle(transformConfigWithLatest.dest.index); await transform.api.deleteIndices(transformConfigWithLatest.dest.index); await transform.api.cleanTransformIndices(); + await transform.testResources.deleteIndexPatternByTitle('ft_ecommerce'); }); const testDataList = [ @@ -66,8 +51,14 @@ export default function ({ getService }: FtrProviderContext) { transformDescription: 'updated description', transformDocsPerSecond: '1000', transformFrequency: '10m', + transformRetentionPolicyField: 'order_date', + transformRetentionPolicyMaxAge: '1d', expected: { messageText: 'updated transform.', + retentionPolicy: { + field: '', + maxAge: '', + }, row: { status: TRANSFORM_STATE.STOPPED, type: 'pivot', @@ -82,8 +73,14 @@ export default function ({ getService }: FtrProviderContext) { transformDescription: 'updated description', transformDocsPerSecond: '1000', transformFrequency: '10m', + transformRetentionPolicyField: 'order_date', + transformRetentionPolicyMaxAge: '1d', expected: { messageText: 'updated transform.', + retentionPolicy: { + field: '', + maxAge: '', + }, row: { status: TRANSFORM_STATE.STOPPED, type: 'latest', @@ -151,10 +148,38 @@ export default function ({ getService }: FtrProviderContext) { 'Frequency', testData.transformFrequency ); + + await transform.testExecution.logTestStep('should update the transform retention policy'); + await transform.editFlyout.openTransformEditAccordionRetentionPolicySettings(); + + await transform.editFlyout.assertTransformEditFlyoutRetentionPolicyFieldSelectEnabled( + true + ); + await transform.editFlyout.assertTransformEditFlyoutRetentionPolicyFieldSelectValue( + testData.expected.retentionPolicy.field + ); + await transform.editFlyout.setTransformEditFlyoutRetentionPolicyFieldSelectValue( + testData.transformRetentionPolicyField + ); + + await transform.editFlyout.assertTransformEditFlyoutInputEnabled( + 'RetentionPolicyMaxAge', + true + ); + await transform.editFlyout.assertTransformEditFlyoutInputValue( + 'RetentionPolicyMaxAge', + testData.expected.retentionPolicy.maxAge + ); + await transform.editFlyout.setTransformEditFlyoutInputValue( + 'RetentionPolicyMaxAge', + testData.transformRetentionPolicyMaxAge + ); }); it('updates the transform and displays it correctly in the job list', async () => { await transform.testExecution.logTestStep('should update the transform'); + await transform.editFlyout.assertUpdateTransformButtonExists(); + await transform.editFlyout.assertUpdateTransformButtonEnabled(true); await transform.editFlyout.updateTransform(); await transform.testExecution.logTestStep('should display the transforms table'); diff --git a/x-pack/test/functional/apps/transform/index.ts b/x-pack/test/functional/apps/transform/index.ts index 4a9aafb072852..eb1cb2e8c35da 100644 --- a/x-pack/test/functional/apps/transform/index.ts +++ b/x-pack/test/functional/apps/transform/index.ts @@ -30,11 +30,6 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) { await transform.securityCommon.cleanTransformUsers(); await transform.securityCommon.cleanTransformRoles(); - await transform.testResources.deleteSavedSearches(); - - await transform.testResources.deleteIndexPatternByTitle('ft_farequote'); - await transform.testResources.deleteIndexPatternByTitle('ft_ecommerce'); - await esArchiver.unload('x-pack/test/functional/es_archives/ml/farequote'); await esArchiver.unload('x-pack/test/functional/es_archives/ml/ecommerce'); @@ -69,6 +64,7 @@ export interface BaseTransformTestData { transformDescription: string; expected: any; destinationIndex: string; + destinationDataViewTimeField?: string; discoverAdjustSuperDatePicker: boolean; } diff --git a/x-pack/test/functional/apps/transform/permissions/full_transform_access.ts b/x-pack/test/functional/apps/transform/permissions/full_transform_access.ts index 423b179e35627..b121953368a98 100644 --- a/x-pack/test/functional/apps/transform/permissions/full_transform_access.ts +++ b/x-pack/test/functional/apps/transform/permissions/full_transform_access.ts @@ -68,6 +68,7 @@ export default function ({ getService }: FtrProviderContext) { ); await transform.api.deleteIndices(transformConfigWithPivot.dest.index); await transform.api.cleanTransformIndices(); + await transform.testResources.deleteIndexPatternByTitle('ft_ecommerce'); }); it('should display elements in the Transform list page correctly', async () => { @@ -159,7 +160,7 @@ export default function ({ getService }: FtrProviderContext) { 'should have the retention policy inputs enabled' ); await transform.editFlyout.openTransformEditAccordionRetentionPolicySettings(); - await transform.editFlyout.assertTransformEditFlyoutRetentionPolicySelectEnabled(true); + await transform.editFlyout.assertTransformEditFlyoutRetentionPolicyFieldSelectEnabled(true); await transform.editFlyout.assertTransformEditFlyoutInputEnabled( 'RetentionPolicyMaxAge', true diff --git a/x-pack/test/functional/apps/transform/permissions/read_transform_access.ts b/x-pack/test/functional/apps/transform/permissions/read_transform_access.ts index ed9b9cb1dec90..de70c411cfe2e 100644 --- a/x-pack/test/functional/apps/transform/permissions/read_transform_access.ts +++ b/x-pack/test/functional/apps/transform/permissions/read_transform_access.ts @@ -68,6 +68,7 @@ export default function ({ getService }: FtrProviderContext) { ); await transform.api.deleteIndices(transformConfigWithPivot.dest.index); await transform.api.cleanTransformIndices(); + await transform.testResources.deleteIndexPatternByTitle('ft_ecommerce'); }); it('should display elements in the Transform list page correctly', async () => { diff --git a/x-pack/test/functional/apps/transform/starting.ts b/x-pack/test/functional/apps/transform/starting.ts index a4459e26a49be..e83d90a985a0c 100644 --- a/x-pack/test/functional/apps/transform/starting.ts +++ b/x-pack/test/functional/apps/transform/starting.ts @@ -56,6 +56,7 @@ export default function ({ getService }: FtrProviderContext) { } await transform.api.cleanTransformIndices(); + await transform.testResources.deleteIndexPatternByTitle('ft_ecommerce'); }); for (const testData of testDataList) { diff --git a/x-pack/test/functional/apps/upgrade_assistant/feature_controls/upgrade_assistant_security.ts b/x-pack/test/functional/apps/upgrade_assistant/feature_controls/upgrade_assistant_security.ts index bd5e321a1bd22..55abb7a3f8025 100644 --- a/x-pack/test/functional/apps/upgrade_assistant/feature_controls/upgrade_assistant_security.ts +++ b/x-pack/test/functional/apps/upgrade_assistant/feature_controls/upgrade_assistant_security.ts @@ -56,11 +56,11 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { describe('[SkipCloud] global dashboard read with global_upgrade_assistant_role', function () { this.tags('skipCloud'); - it('should render the "Stack" section with Upgrde Assistant', async function () { + it('should render the "Stack" section with Upgrade Assistant', async function () { await PageObjects.common.navigateToApp('management'); const sections = await managementMenu.getSections(); - expect(sections).to.have.length(3); - expect(sections[2]).to.eql({ + expect(sections).to.have.length(5); + expect(sections[4]).to.eql({ sectionId: 'stack', sectionLinks: ['license_management', 'upgrade_assistant'], }); diff --git a/x-pack/test/functional/apps/upgrade_assistant/index.ts b/x-pack/test/functional/apps/upgrade_assistant/index.ts index d1ab46463e930..825b5a177c201 100644 --- a/x-pack/test/functional/apps/upgrade_assistant/index.ts +++ b/x-pack/test/functional/apps/upgrade_assistant/index.ts @@ -10,6 +10,7 @@ import { FtrProviderContext } from '../../ftr_provider_context'; export default function upgradeCheckup({ loadTestFile }: FtrProviderContext) { describe('Upgrade Assistant', function upgradeAssistantTestSuite() { this.tags('ciGroup4'); + this.onlyEsVersion('<=7'); loadTestFile(require.resolve('./feature_controls')); loadTestFile(require.resolve('./deprecation_pages')); diff --git a/x-pack/test/functional/apps/upgrade_assistant/overview_page.ts b/x-pack/test/functional/apps/upgrade_assistant/overview_page.ts index a26811cfd0b85..71c32dc4283b8 100644 --- a/x-pack/test/functional/apps/upgrade_assistant/overview_page.ts +++ b/x-pack/test/functional/apps/upgrade_assistant/overview_page.ts @@ -18,6 +18,7 @@ export default function upgradeAssistantOverviewPageFunctionalTests({ describe('Overview Page', function () { this.tags('skipFirefox'); + this.onlyEsVersion('<=7'); before(async () => { await security.testUser.setRoles(['superuser']); diff --git a/x-pack/test/functional/apps/uptime/index.ts b/x-pack/test/functional/apps/uptime/index.ts index 294ea9b393878..997ac87a80e8c 100644 --- a/x-pack/test/functional/apps/uptime/index.ts +++ b/x-pack/test/functional/apps/uptime/index.ts @@ -62,10 +62,6 @@ export default ({ loadTestFile, getService }: FtrProviderContext) => { loadTestFile(require.resolve('./synthetics_integration')); }); - describe('with generated data but no data reset', () => { - loadTestFile(require.resolve('./ping_redirects')); - }); - describe('with real-world data', () => { before(async () => { await esArchiver.unload(ARCHIVE); @@ -76,7 +72,6 @@ export default ({ loadTestFile, getService }: FtrProviderContext) => { after(async () => await esArchiver.unload(ARCHIVE)); loadTestFile(require.resolve('./overview')); - loadTestFile(require.resolve('./monitor')); loadTestFile(require.resolve('./ml_anomaly')); loadTestFile(require.resolve('./feature_controls')); }); diff --git a/x-pack/test/functional/apps/uptime/monitor.ts b/x-pack/test/functional/apps/uptime/monitor.ts deleted file mode 100644 index de88bd12a00fb..0000000000000 --- a/x-pack/test/functional/apps/uptime/monitor.ts +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { FtrProviderContext } from '../../ftr_provider_context'; - -export default ({ getPageObjects, getService }: FtrProviderContext) => { - const esArchiver = getService('esArchiver'); - const uptimeService = getService('uptime'); - const { uptime } = getPageObjects(['uptime']); - const archive = 'x-pack/test/functional/es_archives/uptime/full_heartbeat'; - - describe('monitor page', function () { - this.tags(['skipFirefox']); - const dateStart = 'Sep 10, 2019 @ 12:40:08.078'; - const dateEnd = 'Sep 11, 2019 @ 19:40:08.078'; - const monitorId = '0000-intermittent'; - - before(async () => { - await esArchiver.loadIfNeeded(archive); - await uptimeService.navigation.goToUptime(); - }); - - after(async () => { - await esArchiver.unload(archive); - }); - - describe('navigation to monitor page', () => { - before(async () => { - await uptime.loadDataAndGoToMonitorPage(dateStart, dateEnd, monitorId); - }); - - it('should select the ping list location filter', async () => { - await uptimeService.common.selectFilterItem('Location', 'mpls'); - }); - - it('should set the status filter', async () => { - await uptimeService.common.setStatusFilterUp(); - }); - - it('displays ping data as expected', async () => { - await uptime.checkPingListInteractions([ - 'XZtoHm0B0I9WX_CznN-6', - '7ZtoHm0B0I9WX_CzJ96M', - 'pptnHm0B0I9WX_Czst5X', - 'I5tnHm0B0I9WX_CzPd46', - 'y5tmHm0B0I9WX_Czx93x', - 'XZtmHm0B0I9WX_CzUt3H', - '-JtlHm0B0I9WX_Cz3dyX', - 'k5tlHm0B0I9WX_CzaNxm', - 'NZtkHm0B0I9WX_Cz89w9', - 'zJtkHm0B0I9WX_CzftsN', - ]); - }); - }); - }); -}; diff --git a/x-pack/test/functional/apps/uptime/ping_redirects.ts b/x-pack/test/functional/apps/uptime/ping_redirects.ts deleted file mode 100644 index 06352d37ada28..0000000000000 --- a/x-pack/test/functional/apps/uptime/ping_redirects.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { makeChecksWithStatus } from '../../../api_integration/apis/uptime/rest/helper/make_checks'; -import { FtrProviderContext } from '../../ftr_provider_context'; - -const delay = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); - -export default ({ getPageObjects, getService }: FtrProviderContext) => { - const { uptime: uptimePage, header } = getPageObjects(['uptime', 'header']); - const uptime = getService('uptime'); - const esArchiver = getService('esArchiver'); - - const archive = 'x-pack/test/functional/es_archives/uptime/blank'; - - const monitor = () => uptime.monitor; - - // FLAKY: https://github.com/elastic/kibana/issues/118476 - describe.skip('Ping redirects', () => { - const start = '~ 15 minutes ago'; - const end = 'now'; - - const MONITOR_ID = 'redirect-testing-id'; - - before(async () => { - await esArchiver.loadIfNeeded(archive); - }); - - after('unload', async () => { - await esArchiver.unload(archive); - }); - - beforeEach(async () => { - await makeChecksWithStatus( - getService('es'), - MONITOR_ID, - 5, - 2, - 10000, - { - http: { - rtt: { total: { us: 157784 } }, - response: { - status_code: 200, - redirects: ['http://localhost:3000/first', 'https://www.washingtonpost.com/'], - body: { - bytes: 642102, - hash: '597a8cfb33ff8e09bff16283306553c3895282aaf5386e1843d466d44979e28a', - }, - }, - }, - }, - 'up' - ); - await delay(1000); - }); - - it('loads and goes to details page', async () => { - await uptime.navigation.goToUptime(); - await uptimePage.loadDataAndGoToMonitorPage(start, end, MONITOR_ID); - }); - - it('display redirect info in detail panel', async () => { - await header.waitUntilLoadingHasFinished(); - await monitor().hasRedirectInfo(); - }); - - it('displays redirects in ping list expand row', async () => { - await monitor().hasRedirectInfoInPingList(); - }); - }); -}; diff --git a/x-pack/test/functional/config.js b/x-pack/test/functional/config.js index 27a59ff1ff972..031307345b22c 100644 --- a/x-pack/test/functional/config.js +++ b/x-pack/test/functional/config.js @@ -85,7 +85,6 @@ export default async function ({ readConfigFile }) { '--server.uuid=5b2de169-2785-441b-ae8c-186a1936b17d', '--xpack.maps.showMapsInspectorAdapter=true', '--xpack.maps.preserveDrawingBuffer=true', - '--usageCollection.maximumWaitTimeForAllCollectorsInS=1', '--xpack.security.encryptionKey="wuGNaIhoMpk5sO4UBxgr3NyW1sFcLgIf"', // server restarts should not invalidate active sessions '--xpack.encryptedSavedObjects.encryptionKey="DkdXazszSCYexXqz4YktBGHCRkV6hyNK"', '--xpack.discoverEnhanced.actions.exploreDataInContextMenu.enabled=true', @@ -452,9 +451,7 @@ export default async function ({ readConfigFile }) { }, kibana: [ { - feature: { - discover: ['read'], - }, + base: ['all'], spaces: ['*'], }, ], @@ -542,6 +539,25 @@ export default async function ({ readConfigFile }) { }, ], }, + // https://www.elastic.co/guide/en/elasticsearch/reference/master/snapshots-register-repository.html#snapshot-repo-prereqs + snapshot_restore_user: { + elasticsearch: { + cluster: [ + 'monitor', + 'manage_slm', + 'cluster:admin/snapshot', + 'cluster:admin/repository', + ], + }, + kibana: [ + { + feature: { + advancedSettings: ['read'], + }, + spaces: ['*'], + }, + ], + }, ingest_pipelines_user: { elasticsearch: { @@ -574,6 +590,27 @@ export default async function ({ readConfigFile }) { cluster: ['manage'], }, }, + + global_alerts_logs_all_else_read: { + kibana: [ + { + feature: { + apm: ['read'], + logs: ['all'], + infrastructure: ['read'], + }, + spaces: ['*'], + }, + ], + elasticsearch: { + indices: [ + { + names: ['*'], + privileges: ['all'], + }, + ], + }, + }, }, defaultRoles: ['superuser'], }, diff --git a/x-pack/test/functional/es_archives/auditbeat/default/data.json.gz b/x-pack/test/functional/es_archives/auditbeat/default/data.json.gz index 09fa5966826b9..ddece113a7e3e 100644 Binary files a/x-pack/test/functional/es_archives/auditbeat/default/data.json.gz and b/x-pack/test/functional/es_archives/auditbeat/default/data.json.gz differ diff --git a/x-pack/test/functional/es_archives/auditbeat/default/mappings.json b/x-pack/test/functional/es_archives/auditbeat/default/mappings.json index 5206ad2abc5a2..c9cc52f6e53f0 100644 --- a/x-pack/test/functional/es_archives/auditbeat/default/mappings.json +++ b/x-pack/test/functional/es_archives/auditbeat/default/mappings.json @@ -354,1547 +354,1545 @@ } }, "mappings": { - "doc": { - "_meta": { - "version": "7.0.0-alpha1" - }, - "dynamic_templates": [ - { - "fields": { - "path_match": "fields.*", - "match_mapping_type": "string", - "mapping": { - "type": "keyword" - } + "_meta": { + "version": "7.0.0-alpha1" + }, + "dynamic_templates": [ + { + "fields": { + "path_match": "fields.*", + "match_mapping_type": "string", + "mapping": { + "type": "keyword" } - }, - { - "docker.container.labels": { - "path_match": "docker.container.labels.*", - "match_mapping_type": "string", - "mapping": { - "type": "keyword" - } + } + }, + { + "docker.container.labels": { + "path_match": "docker.container.labels.*", + "match_mapping_type": "string", + "mapping": { + "type": "keyword" } - }, - { - "strings_as_keyword": { - "match_mapping_type": "string", - "mapping": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + { + "strings_as_keyword": { + "match_mapping_type": "string", + "mapping": { + "ignore_above": 1024, + "type": "keyword" } } - ], - "date_detection": false, - "properties": { - "@timestamp": { - "type": "date" - }, - "auditd": { - "properties": { - "data": { - "properties": { - "a0": { - "type": "keyword", - "ignore_above": 1024 - }, - "a1": { - "type": "keyword", - "ignore_above": 1024 - }, - "a2": { - "type": "keyword", - "ignore_above": 1024 - }, - "a3": { - "type": "keyword", - "ignore_above": 1024 - }, - "a[0-3]": { - "type": "keyword", - "ignore_above": 1024 - }, - "acct": { - "type": "keyword", - "ignore_above": 1024 - }, - "acl": { - "type": "keyword", - "ignore_above": 1024 - }, - "action": { - "type": "keyword", - "ignore_above": 1024 - }, - "added": { - "type": "keyword", - "ignore_above": 1024 - }, - "addr": { - "type": "keyword", - "ignore_above": 1024 - }, - "apparmor": { - "type": "keyword", - "ignore_above": 1024 - }, - "arch": { - "type": "keyword", - "ignore_above": 1024 - }, - "argc": { - "type": "keyword", - "ignore_above": 1024 - }, - "audit_backlog_limit": { - "type": "keyword", - "ignore_above": 1024 - }, - "audit_backlog_wait_time": { - "type": "keyword", - "ignore_above": 1024 - }, - "audit_enabled": { - "type": "keyword", - "ignore_above": 1024 - }, - "audit_failure": { - "type": "keyword", - "ignore_above": 1024 - }, - "banners": { - "type": "keyword", - "ignore_above": 1024 - }, - "bool": { - "type": "keyword", - "ignore_above": 1024 - }, - "bus": { - "type": "keyword", - "ignore_above": 1024 - }, - "cap_fe": { - "type": "keyword", - "ignore_above": 1024 - }, - "cap_fi": { - "type": "keyword", - "ignore_above": 1024 - }, - "cap_fp": { - "type": "keyword", - "ignore_above": 1024 - }, - "cap_fver": { - "type": "keyword", - "ignore_above": 1024 - }, - "cap_pe": { - "type": "keyword", - "ignore_above": 1024 - }, - "cap_pi": { - "type": "keyword", - "ignore_above": 1024 - }, - "cap_pp": { - "type": "keyword", - "ignore_above": 1024 - }, - "capability": { - "type": "keyword", - "ignore_above": 1024 - }, - "cgroup": { - "type": "keyword", - "ignore_above": 1024 - }, - "changed": { - "type": "keyword", - "ignore_above": 1024 - }, - "cipher": { - "type": "keyword", - "ignore_above": 1024 - }, - "class": { - "type": "keyword", - "ignore_above": 1024 - }, - "cmd": { - "type": "keyword", - "ignore_above": 1024 - }, - "code": { - "type": "keyword", - "ignore_above": 1024 - }, - "compat": { - "type": "keyword", - "ignore_above": 1024 - }, - "daddr": { - "type": "keyword", - "ignore_above": 1024 - }, - "data": { - "type": "keyword", - "ignore_above": 1024 - }, - "default-context": { - "type": "keyword", - "ignore_above": 1024 - }, - "device": { - "type": "keyword", - "ignore_above": 1024 - }, - "dir": { - "type": "keyword", - "ignore_above": 1024 - }, - "direction": { - "type": "keyword", - "ignore_above": 1024 - }, - "dmac": { - "type": "keyword", - "ignore_above": 1024 - }, - "dport": { - "type": "keyword", - "ignore_above": 1024 - }, - "enforcing": { - "type": "keyword", - "ignore_above": 1024 - }, - "entries": { - "type": "keyword", - "ignore_above": 1024 - }, - "exit": { - "type": "keyword", - "ignore_above": 1024 - }, - "fam": { - "type": "keyword", - "ignore_above": 1024 - }, - "family": { - "type": "keyword", - "ignore_above": 1024 - }, - "fd": { - "type": "keyword", - "ignore_above": 1024 - }, - "fe": { - "type": "keyword", - "ignore_above": 1024 - }, - "feature": { - "type": "keyword", - "ignore_above": 1024 - }, - "fi": { - "type": "keyword", - "ignore_above": 1024 - }, - "file": { - "type": "keyword", - "ignore_above": 1024 - }, - "flags": { - "type": "keyword", - "ignore_above": 1024 - }, - "format": { - "type": "keyword", - "ignore_above": 1024 - }, - "fp": { - "type": "keyword", - "ignore_above": 1024 - }, - "fver": { - "type": "keyword", - "ignore_above": 1024 - }, - "grantors": { - "type": "keyword", - "ignore_above": 1024 - }, - "grp": { - "type": "keyword", - "ignore_above": 1024 - }, - "hook": { - "type": "keyword", - "ignore_above": 1024 - }, - "hostname": { - "type": "keyword", - "ignore_above": 1024 - }, - "icmp_type": { - "type": "keyword", - "ignore_above": 1024 - }, - "id": { - "type": "keyword", - "ignore_above": 1024 - }, - "igid": { - "type": "keyword", - "ignore_above": 1024 - }, - "img-ctx": { - "type": "keyword", - "ignore_above": 1024 - }, - "inif": { - "type": "keyword", - "ignore_above": 1024 - }, - "ino": { - "type": "keyword", - "ignore_above": 1024 - }, - "inode_gid": { - "type": "keyword", - "ignore_above": 1024 - }, - "inode_uid": { - "type": "keyword", - "ignore_above": 1024 - }, - "invalid_context": { - "type": "keyword", - "ignore_above": 1024 - }, - "ioctlcmd": { - "type": "keyword", - "ignore_above": 1024 - }, - "ip": { - "type": "keyword", - "ignore_above": 1024 - }, - "ipid": { - "type": "keyword", - "ignore_above": 1024 - }, - "ipx-net": { - "type": "keyword", - "ignore_above": 1024 - }, - "items": { - "type": "keyword", - "ignore_above": 1024 - }, - "iuid": { - "type": "keyword", - "ignore_above": 1024 - }, - "kernel": { - "type": "keyword", - "ignore_above": 1024 - }, - "kind": { - "type": "keyword", - "ignore_above": 1024 - }, - "ksize": { - "type": "keyword", - "ignore_above": 1024 - }, - "laddr": { - "type": "keyword", - "ignore_above": 1024 - }, - "len": { - "type": "keyword", - "ignore_above": 1024 - }, - "list": { - "type": "keyword", - "ignore_above": 1024 - }, - "lport": { - "type": "keyword", - "ignore_above": 1024 - }, - "mac": { - "type": "keyword", - "ignore_above": 1024 - }, - "macproto": { - "type": "keyword", - "ignore_above": 1024 - }, - "maj": { - "type": "keyword", - "ignore_above": 1024 - }, - "major": { - "type": "keyword", - "ignore_above": 1024 - }, - "minor": { - "type": "keyword", - "ignore_above": 1024 - }, - "model": { - "type": "keyword", - "ignore_above": 1024 - }, - "msg": { - "type": "keyword", - "ignore_above": 1024 - }, - "nargs": { - "type": "keyword", - "ignore_above": 1024 - }, - "net": { - "type": "keyword", - "ignore_above": 1024 - }, - "new": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-chardev": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-disk": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-enabled": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-fs": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-level": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-log_passwd": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-mem": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-net": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-range": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-rng": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-role": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-seuser": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-vcpu": { - "type": "keyword", - "ignore_above": 1024 - }, - "new_gid": { - "type": "keyword", - "ignore_above": 1024 - }, - "new_lock": { - "type": "keyword", - "ignore_above": 1024 - }, - "new_pe": { - "type": "keyword", - "ignore_above": 1024 - }, - "new_pi": { - "type": "keyword", - "ignore_above": 1024 - }, - "new_pp": { - "type": "keyword", - "ignore_above": 1024 - }, - "nlnk-fam": { - "type": "keyword", - "ignore_above": 1024 - }, - "nlnk-grp": { - "type": "keyword", - "ignore_above": 1024 - }, - "nlnk-pid": { - "type": "keyword", - "ignore_above": 1024 - }, - "oauid": { - "type": "keyword", - "ignore_above": 1024 - }, - "obj": { - "type": "keyword", - "ignore_above": 1024 - }, - "obj_gid": { - "type": "keyword", - "ignore_above": 1024 - }, - "obj_uid": { - "type": "keyword", - "ignore_above": 1024 - }, - "ocomm": { - "type": "keyword", - "ignore_above": 1024 - }, - "oflag": { - "type": "keyword", - "ignore_above": 1024 - }, - "old": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-auid": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-chardev": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-disk": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-enabled": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-fs": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-level": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-log_passwd": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-mem": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-net": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-range": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-rng": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-role": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-ses": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-seuser": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-vcpu": { - "type": "keyword", - "ignore_above": 1024 - }, - "old_enforcing": { - "type": "keyword", - "ignore_above": 1024 - }, - "old_lock": { - "type": "keyword", - "ignore_above": 1024 - }, - "old_pe": { - "type": "keyword", - "ignore_above": 1024 - }, - "old_pi": { - "type": "keyword", - "ignore_above": 1024 - }, - "old_pp": { - "type": "keyword", - "ignore_above": 1024 - }, - "old_prom": { - "type": "keyword", - "ignore_above": 1024 - }, - "old_val": { - "type": "keyword", - "ignore_above": 1024 - }, - "op": { - "type": "keyword", - "ignore_above": 1024 - }, - "opid": { - "type": "keyword", - "ignore_above": 1024 - }, - "oses": { - "type": "keyword", - "ignore_above": 1024 - }, - "outif": { - "type": "keyword", - "ignore_above": 1024 - }, - "parent": { - "type": "keyword", - "ignore_above": 1024 - }, - "per": { - "type": "keyword", - "ignore_above": 1024 - }, - "perm": { - "type": "keyword", - "ignore_above": 1024 - }, - "perm_mask": { - "type": "keyword", - "ignore_above": 1024 - }, - "permissive": { - "type": "keyword", - "ignore_above": 1024 - }, - "pfs": { - "type": "keyword", - "ignore_above": 1024 - }, - "printer": { - "type": "keyword", - "ignore_above": 1024 - }, - "prom": { - "type": "keyword", - "ignore_above": 1024 - }, - "proto": { - "type": "keyword", - "ignore_above": 1024 - }, - "qbytes": { - "type": "keyword", - "ignore_above": 1024 - }, - "range": { - "type": "keyword", - "ignore_above": 1024 - }, - "reason": { - "type": "keyword", - "ignore_above": 1024 - }, - "removed": { - "type": "keyword", - "ignore_above": 1024 - }, - "res": { - "type": "keyword", - "ignore_above": 1024 - }, - "resrc": { - "type": "keyword", - "ignore_above": 1024 - }, - "rport": { - "type": "keyword", - "ignore_above": 1024 - }, - "sauid": { - "type": "keyword", - "ignore_above": 1024 - }, - "scontext": { - "type": "keyword", - "ignore_above": 1024 - }, - "selected-context": { - "type": "keyword", - "ignore_above": 1024 - }, - "seperm": { - "type": "keyword", - "ignore_above": 1024 - }, - "seperms": { - "type": "keyword", - "ignore_above": 1024 - }, - "seqno": { - "type": "keyword", - "ignore_above": 1024 - }, - "seresult": { - "type": "keyword", - "ignore_above": 1024 - }, - "ses": { - "type": "keyword", - "ignore_above": 1024 - }, - "seuser": { - "type": "keyword", - "ignore_above": 1024 - }, - "sig": { - "type": "keyword", - "ignore_above": 1024 - }, - "sigev_signo": { - "type": "keyword", - "ignore_above": 1024 - }, - "smac": { - "type": "keyword", - "ignore_above": 1024 - }, - "socket": { - "properties": { - "addr": { - "type": "keyword", - "ignore_above": 1024 - }, - "family": { - "type": "keyword", - "ignore_above": 1024 - }, - "path": { - "type": "keyword", - "ignore_above": 1024 - }, - "port": { - "type": "keyword", - "ignore_above": 1024 - }, - "saddr": { - "type": "keyword", - "ignore_above": 1024 - } + } + ], + "date_detection": false, + "properties": { + "@timestamp": { + "type": "date" + }, + "auditd": { + "properties": { + "data": { + "properties": { + "a0": { + "type": "keyword", + "ignore_above": 1024 + }, + "a1": { + "type": "keyword", + "ignore_above": 1024 + }, + "a2": { + "type": "keyword", + "ignore_above": 1024 + }, + "a3": { + "type": "keyword", + "ignore_above": 1024 + }, + "a[0-3]": { + "type": "keyword", + "ignore_above": 1024 + }, + "acct": { + "type": "keyword", + "ignore_above": 1024 + }, + "acl": { + "type": "keyword", + "ignore_above": 1024 + }, + "action": { + "type": "keyword", + "ignore_above": 1024 + }, + "added": { + "type": "keyword", + "ignore_above": 1024 + }, + "addr": { + "type": "keyword", + "ignore_above": 1024 + }, + "apparmor": { + "type": "keyword", + "ignore_above": 1024 + }, + "arch": { + "type": "keyword", + "ignore_above": 1024 + }, + "argc": { + "type": "keyword", + "ignore_above": 1024 + }, + "audit_backlog_limit": { + "type": "keyword", + "ignore_above": 1024 + }, + "audit_backlog_wait_time": { + "type": "keyword", + "ignore_above": 1024 + }, + "audit_enabled": { + "type": "keyword", + "ignore_above": 1024 + }, + "audit_failure": { + "type": "keyword", + "ignore_above": 1024 + }, + "banners": { + "type": "keyword", + "ignore_above": 1024 + }, + "bool": { + "type": "keyword", + "ignore_above": 1024 + }, + "bus": { + "type": "keyword", + "ignore_above": 1024 + }, + "cap_fe": { + "type": "keyword", + "ignore_above": 1024 + }, + "cap_fi": { + "type": "keyword", + "ignore_above": 1024 + }, + "cap_fp": { + "type": "keyword", + "ignore_above": 1024 + }, + "cap_fver": { + "type": "keyword", + "ignore_above": 1024 + }, + "cap_pe": { + "type": "keyword", + "ignore_above": 1024 + }, + "cap_pi": { + "type": "keyword", + "ignore_above": 1024 + }, + "cap_pp": { + "type": "keyword", + "ignore_above": 1024 + }, + "capability": { + "type": "keyword", + "ignore_above": 1024 + }, + "cgroup": { + "type": "keyword", + "ignore_above": 1024 + }, + "changed": { + "type": "keyword", + "ignore_above": 1024 + }, + "cipher": { + "type": "keyword", + "ignore_above": 1024 + }, + "class": { + "type": "keyword", + "ignore_above": 1024 + }, + "cmd": { + "type": "keyword", + "ignore_above": 1024 + }, + "code": { + "type": "keyword", + "ignore_above": 1024 + }, + "compat": { + "type": "keyword", + "ignore_above": 1024 + }, + "daddr": { + "type": "keyword", + "ignore_above": 1024 + }, + "data": { + "type": "keyword", + "ignore_above": 1024 + }, + "default-context": { + "type": "keyword", + "ignore_above": 1024 + }, + "device": { + "type": "keyword", + "ignore_above": 1024 + }, + "dir": { + "type": "keyword", + "ignore_above": 1024 + }, + "direction": { + "type": "keyword", + "ignore_above": 1024 + }, + "dmac": { + "type": "keyword", + "ignore_above": 1024 + }, + "dport": { + "type": "keyword", + "ignore_above": 1024 + }, + "enforcing": { + "type": "keyword", + "ignore_above": 1024 + }, + "entries": { + "type": "keyword", + "ignore_above": 1024 + }, + "exit": { + "type": "keyword", + "ignore_above": 1024 + }, + "fam": { + "type": "keyword", + "ignore_above": 1024 + }, + "family": { + "type": "keyword", + "ignore_above": 1024 + }, + "fd": { + "type": "keyword", + "ignore_above": 1024 + }, + "fe": { + "type": "keyword", + "ignore_above": 1024 + }, + "feature": { + "type": "keyword", + "ignore_above": 1024 + }, + "fi": { + "type": "keyword", + "ignore_above": 1024 + }, + "file": { + "type": "keyword", + "ignore_above": 1024 + }, + "flags": { + "type": "keyword", + "ignore_above": 1024 + }, + "format": { + "type": "keyword", + "ignore_above": 1024 + }, + "fp": { + "type": "keyword", + "ignore_above": 1024 + }, + "fver": { + "type": "keyword", + "ignore_above": 1024 + }, + "grantors": { + "type": "keyword", + "ignore_above": 1024 + }, + "grp": { + "type": "keyword", + "ignore_above": 1024 + }, + "hook": { + "type": "keyword", + "ignore_above": 1024 + }, + "hostname": { + "type": "keyword", + "ignore_above": 1024 + }, + "icmp_type": { + "type": "keyword", + "ignore_above": 1024 + }, + "id": { + "type": "keyword", + "ignore_above": 1024 + }, + "igid": { + "type": "keyword", + "ignore_above": 1024 + }, + "img-ctx": { + "type": "keyword", + "ignore_above": 1024 + }, + "inif": { + "type": "keyword", + "ignore_above": 1024 + }, + "ino": { + "type": "keyword", + "ignore_above": 1024 + }, + "inode_gid": { + "type": "keyword", + "ignore_above": 1024 + }, + "inode_uid": { + "type": "keyword", + "ignore_above": 1024 + }, + "invalid_context": { + "type": "keyword", + "ignore_above": 1024 + }, + "ioctlcmd": { + "type": "keyword", + "ignore_above": 1024 + }, + "ip": { + "type": "keyword", + "ignore_above": 1024 + }, + "ipid": { + "type": "keyword", + "ignore_above": 1024 + }, + "ipx-net": { + "type": "keyword", + "ignore_above": 1024 + }, + "items": { + "type": "keyword", + "ignore_above": 1024 + }, + "iuid": { + "type": "keyword", + "ignore_above": 1024 + }, + "kernel": { + "type": "keyword", + "ignore_above": 1024 + }, + "kind": { + "type": "keyword", + "ignore_above": 1024 + }, + "ksize": { + "type": "keyword", + "ignore_above": 1024 + }, + "laddr": { + "type": "keyword", + "ignore_above": 1024 + }, + "len": { + "type": "keyword", + "ignore_above": 1024 + }, + "list": { + "type": "keyword", + "ignore_above": 1024 + }, + "lport": { + "type": "keyword", + "ignore_above": 1024 + }, + "mac": { + "type": "keyword", + "ignore_above": 1024 + }, + "macproto": { + "type": "keyword", + "ignore_above": 1024 + }, + "maj": { + "type": "keyword", + "ignore_above": 1024 + }, + "major": { + "type": "keyword", + "ignore_above": 1024 + }, + "minor": { + "type": "keyword", + "ignore_above": 1024 + }, + "model": { + "type": "keyword", + "ignore_above": 1024 + }, + "msg": { + "type": "keyword", + "ignore_above": 1024 + }, + "nargs": { + "type": "keyword", + "ignore_above": 1024 + }, + "net": { + "type": "keyword", + "ignore_above": 1024 + }, + "new": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-chardev": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-disk": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-enabled": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-fs": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-level": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-log_passwd": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-mem": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-net": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-range": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-rng": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-role": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-seuser": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-vcpu": { + "type": "keyword", + "ignore_above": 1024 + }, + "new_gid": { + "type": "keyword", + "ignore_above": 1024 + }, + "new_lock": { + "type": "keyword", + "ignore_above": 1024 + }, + "new_pe": { + "type": "keyword", + "ignore_above": 1024 + }, + "new_pi": { + "type": "keyword", + "ignore_above": 1024 + }, + "new_pp": { + "type": "keyword", + "ignore_above": 1024 + }, + "nlnk-fam": { + "type": "keyword", + "ignore_above": 1024 + }, + "nlnk-grp": { + "type": "keyword", + "ignore_above": 1024 + }, + "nlnk-pid": { + "type": "keyword", + "ignore_above": 1024 + }, + "oauid": { + "type": "keyword", + "ignore_above": 1024 + }, + "obj": { + "type": "keyword", + "ignore_above": 1024 + }, + "obj_gid": { + "type": "keyword", + "ignore_above": 1024 + }, + "obj_uid": { + "type": "keyword", + "ignore_above": 1024 + }, + "ocomm": { + "type": "keyword", + "ignore_above": 1024 + }, + "oflag": { + "type": "keyword", + "ignore_above": 1024 + }, + "old": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-auid": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-chardev": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-disk": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-enabled": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-fs": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-level": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-log_passwd": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-mem": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-net": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-range": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-rng": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-role": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-ses": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-seuser": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-vcpu": { + "type": "keyword", + "ignore_above": 1024 + }, + "old_enforcing": { + "type": "keyword", + "ignore_above": 1024 + }, + "old_lock": { + "type": "keyword", + "ignore_above": 1024 + }, + "old_pe": { + "type": "keyword", + "ignore_above": 1024 + }, + "old_pi": { + "type": "keyword", + "ignore_above": 1024 + }, + "old_pp": { + "type": "keyword", + "ignore_above": 1024 + }, + "old_prom": { + "type": "keyword", + "ignore_above": 1024 + }, + "old_val": { + "type": "keyword", + "ignore_above": 1024 + }, + "op": { + "type": "keyword", + "ignore_above": 1024 + }, + "opid": { + "type": "keyword", + "ignore_above": 1024 + }, + "oses": { + "type": "keyword", + "ignore_above": 1024 + }, + "outif": { + "type": "keyword", + "ignore_above": 1024 + }, + "parent": { + "type": "keyword", + "ignore_above": 1024 + }, + "per": { + "type": "keyword", + "ignore_above": 1024 + }, + "perm": { + "type": "keyword", + "ignore_above": 1024 + }, + "perm_mask": { + "type": "keyword", + "ignore_above": 1024 + }, + "permissive": { + "type": "keyword", + "ignore_above": 1024 + }, + "pfs": { + "type": "keyword", + "ignore_above": 1024 + }, + "printer": { + "type": "keyword", + "ignore_above": 1024 + }, + "prom": { + "type": "keyword", + "ignore_above": 1024 + }, + "proto": { + "type": "keyword", + "ignore_above": 1024 + }, + "qbytes": { + "type": "keyword", + "ignore_above": 1024 + }, + "range": { + "type": "keyword", + "ignore_above": 1024 + }, + "reason": { + "type": "keyword", + "ignore_above": 1024 + }, + "removed": { + "type": "keyword", + "ignore_above": 1024 + }, + "res": { + "type": "keyword", + "ignore_above": 1024 + }, + "resrc": { + "type": "keyword", + "ignore_above": 1024 + }, + "rport": { + "type": "keyword", + "ignore_above": 1024 + }, + "sauid": { + "type": "keyword", + "ignore_above": 1024 + }, + "scontext": { + "type": "keyword", + "ignore_above": 1024 + }, + "selected-context": { + "type": "keyword", + "ignore_above": 1024 + }, + "seperm": { + "type": "keyword", + "ignore_above": 1024 + }, + "seperms": { + "type": "keyword", + "ignore_above": 1024 + }, + "seqno": { + "type": "keyword", + "ignore_above": 1024 + }, + "seresult": { + "type": "keyword", + "ignore_above": 1024 + }, + "ses": { + "type": "keyword", + "ignore_above": 1024 + }, + "seuser": { + "type": "keyword", + "ignore_above": 1024 + }, + "sig": { + "type": "keyword", + "ignore_above": 1024 + }, + "sigev_signo": { + "type": "keyword", + "ignore_above": 1024 + }, + "smac": { + "type": "keyword", + "ignore_above": 1024 + }, + "socket": { + "properties": { + "addr": { + "type": "keyword", + "ignore_above": 1024 + }, + "family": { + "type": "keyword", + "ignore_above": 1024 + }, + "path": { + "type": "keyword", + "ignore_above": 1024 + }, + "port": { + "type": "keyword", + "ignore_above": 1024 + }, + "saddr": { + "type": "keyword", + "ignore_above": 1024 } - }, - "spid": { - "type": "keyword", - "ignore_above": 1024 - }, - "sport": { - "type": "keyword", - "ignore_above": 1024 - }, - "state": { - "type": "keyword", - "ignore_above": 1024 - }, - "subj": { - "type": "keyword", - "ignore_above": 1024 - }, - "success": { - "type": "keyword", - "ignore_above": 1024 - }, - "syscall": { - "type": "keyword", - "ignore_above": 1024 - }, - "table": { - "type": "keyword", - "ignore_above": 1024 - }, - "tclass": { - "type": "keyword", - "ignore_above": 1024 - }, - "tcontext": { - "type": "keyword", - "ignore_above": 1024 - }, - "terminal": { - "type": "keyword", - "ignore_above": 1024 - }, - "tty": { - "type": "keyword", - "ignore_above": 1024 - }, - "unit": { - "type": "keyword", - "ignore_above": 1024 - }, - "uri": { - "type": "keyword", - "ignore_above": 1024 - }, - "uuid": { - "type": "keyword", - "ignore_above": 1024 - }, - "val": { - "type": "keyword", - "ignore_above": 1024 - }, - "ver": { - "type": "keyword", - "ignore_above": 1024 - }, - "virt": { - "type": "keyword", - "ignore_above": 1024 - }, - "vm": { - "type": "keyword", - "ignore_above": 1024 - }, - "vm-ctx": { - "type": "keyword", - "ignore_above": 1024 - }, - "vm-pid": { - "type": "keyword", - "ignore_above": 1024 - }, - "watch": { - "type": "keyword", - "ignore_above": 1024 } + }, + "spid": { + "type": "keyword", + "ignore_above": 1024 + }, + "sport": { + "type": "keyword", + "ignore_above": 1024 + }, + "state": { + "type": "keyword", + "ignore_above": 1024 + }, + "subj": { + "type": "keyword", + "ignore_above": 1024 + }, + "success": { + "type": "keyword", + "ignore_above": 1024 + }, + "syscall": { + "type": "keyword", + "ignore_above": 1024 + }, + "table": { + "type": "keyword", + "ignore_above": 1024 + }, + "tclass": { + "type": "keyword", + "ignore_above": 1024 + }, + "tcontext": { + "type": "keyword", + "ignore_above": 1024 + }, + "terminal": { + "type": "keyword", + "ignore_above": 1024 + }, + "tty": { + "type": "keyword", + "ignore_above": 1024 + }, + "unit": { + "type": "keyword", + "ignore_above": 1024 + }, + "uri": { + "type": "keyword", + "ignore_above": 1024 + }, + "uuid": { + "type": "keyword", + "ignore_above": 1024 + }, + "val": { + "type": "keyword", + "ignore_above": 1024 + }, + "ver": { + "type": "keyword", + "ignore_above": 1024 + }, + "virt": { + "type": "keyword", + "ignore_above": 1024 + }, + "vm": { + "type": "keyword", + "ignore_above": 1024 + }, + "vm-ctx": { + "type": "keyword", + "ignore_above": 1024 + }, + "vm-pid": { + "type": "keyword", + "ignore_above": 1024 + }, + "watch": { + "type": "keyword", + "ignore_above": 1024 } - }, - "messages": { - "type": "text", - "norms": false - }, - "paths": { - "properties": { - "dev": { - "type": "keyword", - "ignore_above": 1024 - }, - "inode": { - "type": "keyword", - "ignore_above": 1024 - }, - "item": { - "type": "keyword", - "ignore_above": 1024 - }, - "mode": { - "type": "keyword", - "ignore_above": 1024 - }, - "name": { - "type": "keyword", - "ignore_above": 1024 - }, - "nametype": { - "type": "keyword", - "ignore_above": 1024 - }, - "obj_domain": { - "type": "keyword", - "ignore_above": 1024 - }, - "obj_level": { - "type": "keyword", - "ignore_above": 1024 - }, - "obj_role": { - "type": "keyword", - "ignore_above": 1024 - }, - "obj_user": { - "type": "keyword", - "ignore_above": 1024 - }, - "objtype": { - "type": "keyword", - "ignore_above": 1024 - }, - "ogid": { - "type": "keyword", - "ignore_above": 1024 - }, - "ouid": { - "type": "keyword", - "ignore_above": 1024 - }, - "rdev": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "messages": { + "type": "text", + "norms": false + }, + "paths": { + "properties": { + "dev": { + "type": "keyword", + "ignore_above": 1024 + }, + "inode": { + "type": "keyword", + "ignore_above": 1024 + }, + "item": { + "type": "keyword", + "ignore_above": 1024 + }, + "mode": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "ignore_above": 1024 + }, + "nametype": { + "type": "keyword", + "ignore_above": 1024 + }, + "obj_domain": { + "type": "keyword", + "ignore_above": 1024 + }, + "obj_level": { + "type": "keyword", + "ignore_above": 1024 + }, + "obj_role": { + "type": "keyword", + "ignore_above": 1024 + }, + "obj_user": { + "type": "keyword", + "ignore_above": 1024 + }, + "objtype": { + "type": "keyword", + "ignore_above": 1024 + }, + "ogid": { + "type": "keyword", + "ignore_above": 1024 + }, + "ouid": { + "type": "keyword", + "ignore_above": 1024 + }, + "rdev": { + "type": "keyword", + "ignore_above": 1024 } - }, - "result": { - "type": "keyword", - "ignore_above": 1024 - }, - "sequence": { - "type": "long" - }, - "session": { - "type": "keyword", - "ignore_above": 1024 - }, - "summary": { - "properties": { - "actor": { - "properties": { - "primary": { - "type": "keyword", - "ignore_above": 1024 - }, - "secondary": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "result": { + "type": "keyword", + "ignore_above": 1024 + }, + "sequence": { + "type": "long" + }, + "session": { + "type": "keyword", + "ignore_above": 1024 + }, + "summary": { + "properties": { + "actor": { + "properties": { + "primary": { + "type": "keyword", + "ignore_above": 1024 + }, + "secondary": { + "type": "keyword", + "ignore_above": 1024 } - }, - "how": { - "type": "keyword", - "ignore_above": 1024 - }, - "object": { - "properties": { - "primary": { - "type": "keyword", - "ignore_above": 1024 - }, - "secondary": { - "type": "keyword", - "ignore_above": 1024 - }, - "type": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "how": { + "type": "keyword", + "ignore_above": 1024 + }, + "object": { + "properties": { + "primary": { + "type": "keyword", + "ignore_above": 1024 + }, + "secondary": { + "type": "keyword", + "ignore_above": 1024 + }, + "type": { + "type": "keyword", + "ignore_above": 1024 } } } - }, - "warnings": { - "type": "keyword", - "ignore_above": 1024 } + }, + "warnings": { + "type": "keyword", + "ignore_above": 1024 } - }, - "beat": { - "properties": { - "hostname": { - "type": "keyword", - "ignore_above": 1024 - }, - "name": { - "type": "keyword", - "ignore_above": 1024 - }, - "timezone": { - "type": "keyword", - "ignore_above": 1024 - }, - "version": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "beat": { + "properties": { + "hostname": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "ignore_above": 1024 + }, + "timezone": { + "type": "keyword", + "ignore_above": 1024 + }, + "version": { + "type": "keyword", + "ignore_above": 1024 } - }, - "destination": { - "properties": { - "hostname": { - "type": "keyword", - "ignore_above": 1024 - }, - "ip": { - "type": "ip" - }, - "path": { - "type": "keyword", - "ignore_above": 1024 - }, - "port": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "destination": { + "properties": { + "hostname": { + "type": "keyword", + "ignore_above": 1024 + }, + "ip": { + "type": "ip" + }, + "path": { + "type": "keyword", + "ignore_above": 1024 + }, + "port": { + "type": "keyword", + "ignore_above": 1024 } - }, - "docker": { - "properties": { - "container": { - "properties": { - "id": { - "type": "keyword", - "ignore_above": 1024 - }, - "image": { - "type": "keyword", - "ignore_above": 1024 - }, - "labels": { - "type": "object" - }, - "name": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "docker": { + "properties": { + "container": { + "properties": { + "id": { + "type": "keyword", + "ignore_above": 1024 + }, + "image": { + "type": "keyword", + "ignore_above": 1024 + }, + "labels": { + "type": "object" + }, + "name": { + "type": "keyword", + "ignore_above": 1024 } } } - }, - "error": { - "properties": { - "code": { - "type": "long" - }, - "message": { - "type": "text", - "norms": false - }, - "type": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "error": { + "properties": { + "code": { + "type": "long" + }, + "message": { + "type": "text", + "norms": false + }, + "type": { + "type": "keyword", + "ignore_above": 1024 } - }, - "event": { - "properties": { - "action": { - "type": "keyword", - "ignore_above": 1024 - }, - "category": { - "type": "keyword", - "ignore_above": 1024 - }, - "module": { - "type": "keyword", - "ignore_above": 1024 - }, - "type": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "event": { + "properties": { + "action": { + "type": "keyword", + "ignore_above": 1024 + }, + "category": { + "type": "keyword", + "ignore_above": 1024 + }, + "module": { + "type": "keyword", + "ignore_above": 1024 + }, + "type": { + "type": "keyword", + "ignore_above": 1024 } - }, - "fields": { - "type": "object" - }, - "file": { - "properties": { - "ctime": { - "type": "date" - }, - "device": { - "type": "keyword", - "ignore_above": 1024 - }, - "gid": { - "type": "keyword", - "ignore_above": 1024 - }, - "group": { - "type": "keyword", - "ignore_above": 1024 - }, - "inode": { - "type": "keyword", - "ignore_above": 1024 - }, - "mode": { - "type": "keyword", - "ignore_above": 1024 - }, - "mtime": { - "type": "date" - }, - "origin": { - "type": "text", - "norms": false, - "fields": { - "raw": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "fields": { + "type": "object" + }, + "file": { + "properties": { + "ctime": { + "type": "date" + }, + "device": { + "type": "keyword", + "ignore_above": 1024 + }, + "gid": { + "type": "keyword", + "ignore_above": 1024 + }, + "group": { + "type": "keyword", + "ignore_above": 1024 + }, + "inode": { + "type": "keyword", + "ignore_above": 1024 + }, + "mode": { + "type": "keyword", + "ignore_above": 1024 + }, + "mtime": { + "type": "date" + }, + "origin": { + "type": "text", + "norms": false, + "fields": { + "raw": { + "type": "keyword", + "ignore_above": 1024 } - }, - "owner": { - "type": "keyword", - "ignore_above": 1024 - }, - "path": { - "type": "text", - "norms": false, - "fields": { - "raw": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "owner": { + "type": "keyword", + "ignore_above": 1024 + }, + "path": { + "type": "text", + "norms": false, + "fields": { + "raw": { + "type": "keyword", + "ignore_above": 1024 } - }, - "selinux": { - "properties": { - "domain": { - "type": "keyword", - "ignore_above": 1024 - }, - "level": { - "type": "keyword", - "ignore_above": 1024 - }, - "role": { - "type": "keyword", - "ignore_above": 1024 - }, - "user": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "selinux": { + "properties": { + "domain": { + "type": "keyword", + "ignore_above": 1024 + }, + "level": { + "type": "keyword", + "ignore_above": 1024 + }, + "role": { + "type": "keyword", + "ignore_above": 1024 + }, + "user": { + "type": "keyword", + "ignore_above": 1024 } - }, - "setgid": { - "type": "boolean" - }, - "setuid": { - "type": "boolean" - }, - "size": { - "type": "long" - }, - "target_path": { - "type": "keyword", - "ignore_above": 1024 - }, - "type": { - "type": "keyword", - "ignore_above": 1024 - }, - "uid": { - "type": "keyword", - "ignore_above": 1024 } + }, + "setgid": { + "type": "boolean" + }, + "setuid": { + "type": "boolean" + }, + "size": { + "type": "long" + }, + "target_path": { + "type": "keyword", + "ignore_above": 1024 + }, + "type": { + "type": "keyword", + "ignore_above": 1024 + }, + "uid": { + "type": "keyword", + "ignore_above": 1024 } - }, - "geoip": { - "properties": { - "city_name": { - "type": "keyword", - "ignore_above": 1024 - }, - "continent_name": { - "type": "keyword", - "ignore_above": 1024 - }, - "country_iso_code": { - "type": "keyword", - "ignore_above": 1024 - }, - "location": { - "type": "geo_point" - }, - "region_name": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "geoip": { + "properties": { + "city_name": { + "type": "keyword", + "ignore_above": 1024 + }, + "continent_name": { + "type": "keyword", + "ignore_above": 1024 + }, + "country_iso_code": { + "type": "keyword", + "ignore_above": 1024 + }, + "location": { + "type": "geo_point" + }, + "region_name": { + "type": "keyword", + "ignore_above": 1024 } - }, - "hash": { - "properties": { - "blake2b_256": { - "type": "keyword", - "ignore_above": 1024 - }, - "blake2b_384": { - "type": "keyword", - "ignore_above": 1024 - }, - "blake2b_512": { - "type": "keyword", - "ignore_above": 1024 - }, - "md5": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha1": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha224": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha256": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha384": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha3_224": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha3_256": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha3_384": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha3_512": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha512": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha512_224": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha512_256": { - "type": "keyword", - "ignore_above": 1024 - }, - "xxh64": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "hash": { + "properties": { + "blake2b_256": { + "type": "keyword", + "ignore_above": 1024 + }, + "blake2b_384": { + "type": "keyword", + "ignore_above": 1024 + }, + "blake2b_512": { + "type": "keyword", + "ignore_above": 1024 + }, + "md5": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha1": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha224": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha256": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha384": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha3_224": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha3_256": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha3_384": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha3_512": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha512": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha512_224": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha512_256": { + "type": "keyword", + "ignore_above": 1024 + }, + "xxh64": { + "type": "keyword", + "ignore_above": 1024 } - }, - "host": { - "properties": { - "architecture": { - "type": "keyword", - "ignore_above": 1024 - }, - "id": { - "type": "keyword", - "ignore_above": 1024 - }, - "ip": { - "type": "ip" - }, - "mac": { - "type": "keyword", - "ignore_above": 1024 - }, - "name": { - "type": "keyword", - "ignore_above": 1024 - }, - "os": { - "properties": { - "family": { - "type": "keyword", - "ignore_above": 1024 - }, - "platform": { - "type": "keyword", - "ignore_above": 1024 - }, - "version": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "host": { + "properties": { + "architecture": { + "type": "keyword", + "ignore_above": 1024 + }, + "id": { + "type": "keyword", + "ignore_above": 1024 + }, + "ip": { + "type": "ip" + }, + "mac": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "ignore_above": 1024 + }, + "os": { + "properties": { + "family": { + "type": "keyword", + "ignore_above": 1024 + }, + "platform": { + "type": "keyword", + "ignore_above": 1024 + }, + "version": { + "type": "keyword", + "ignore_above": 1024 } } } - }, - "kubernetes": { - "properties": { - "annotations": { - "type": "object" - }, - "container": { - "properties": { - "image": { - "type": "keyword", - "ignore_above": 1024 - }, - "name": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "kubernetes": { + "properties": { + "annotations": { + "type": "object" + }, + "container": { + "properties": { + "image": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "ignore_above": 1024 } - }, - "labels": { - "type": "object" - }, - "namespace": { - "type": "keyword", - "ignore_above": 1024 - }, - "node": { - "properties": { - "name": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "labels": { + "type": "object" + }, + "namespace": { + "type": "keyword", + "ignore_above": 1024 + }, + "node": { + "properties": { + "name": { + "type": "keyword", + "ignore_above": 1024 } - }, - "pod": { - "properties": { - "name": { - "type": "keyword", - "ignore_above": 1024 - }, - "uid": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "pod": { + "properties": { + "name": { + "type": "keyword", + "ignore_above": 1024 + }, + "uid": { + "type": "keyword", + "ignore_above": 1024 } } } - }, - "meta": { - "properties": { - "cloud": { - "properties": { - "availability_zone": { - "type": "keyword", - "ignore_above": 1024 - }, - "instance_id": { - "type": "keyword", - "ignore_above": 1024 - }, - "instance_name": { - "type": "keyword", - "ignore_above": 1024 - }, - "machine_type": { - "type": "keyword", - "ignore_above": 1024 - }, - "project_id": { - "type": "keyword", - "ignore_above": 1024 - }, - "provider": { - "type": "keyword", - "ignore_above": 1024 - }, - "region": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "meta": { + "properties": { + "cloud": { + "properties": { + "availability_zone": { + "type": "keyword", + "ignore_above": 1024 + }, + "instance_id": { + "type": "keyword", + "ignore_above": 1024 + }, + "instance_name": { + "type": "keyword", + "ignore_above": 1024 + }, + "machine_type": { + "type": "keyword", + "ignore_above": 1024 + }, + "project_id": { + "type": "keyword", + "ignore_above": 1024 + }, + "provider": { + "type": "keyword", + "ignore_above": 1024 + }, + "region": { + "type": "keyword", + "ignore_above": 1024 } } } - }, - "network": { - "properties": { - "direction": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "network": { + "properties": { + "direction": { + "type": "keyword", + "ignore_above": 1024 } - }, - "process": { - "properties": { - "args": { - "type": "keyword", - "ignore_above": 1024 - }, - "cwd": { - "type": "keyword", - "ignore_above": 1024 - }, - "exe": { - "type": "keyword", - "ignore_above": 1024 - }, - "name": { - "type": "keyword", - "ignore_above": 1024 - }, - "pid": { - "type": "keyword", - "ignore_above": 1024 - }, - "ppid": { - "type": "keyword", - "ignore_above": 1024 - }, - "title": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "process": { + "properties": { + "args": { + "type": "keyword", + "ignore_above": 1024 + }, + "cwd": { + "type": "keyword", + "ignore_above": 1024 + }, + "exe": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "ignore_above": 1024 + }, + "pid": { + "type": "keyword", + "ignore_above": 1024 + }, + "ppid": { + "type": "keyword", + "ignore_above": 1024 + }, + "title": { + "type": "keyword", + "ignore_above": 1024 } - }, - "source": { - "properties": { - "hostname": { - "type": "keyword", - "ignore_above": 1024 - }, - "ip": { - "type": "ip" - }, - "path": { - "type": "keyword", - "ignore_above": 1024 - }, - "port": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "source": { + "properties": { + "hostname": { + "type": "keyword", + "ignore_above": 1024 + }, + "ip": { + "type": "ip" + }, + "path": { + "type": "keyword", + "ignore_above": 1024 + }, + "port": { + "type": "keyword", + "ignore_above": 1024 } - }, - "tags": { - "type": "keyword", - "ignore_above": 1024 - }, - "user": { - "properties": { - "auid": { - "type": "keyword", - "ignore_above": 1024 - }, - "egid": { - "type": "keyword", - "ignore_above": 1024 - }, - "euid": { - "type": "keyword", - "ignore_above": 1024 - }, - "fsgid": { - "type": "keyword", - "ignore_above": 1024 - }, - "fsuid": { - "type": "keyword", - "ignore_above": 1024 - }, - "gid": { - "type": "keyword", - "ignore_above": 1024 - }, - "name_map": { - "properties": { - "auid": { - "type": "keyword", - "ignore_above": 1024 - }, - "egid": { - "type": "keyword", - "ignore_above": 1024 - }, - "euid": { - "type": "keyword", - "ignore_above": 1024 - }, - "fsgid": { - "type": "keyword", - "ignore_above": 1024 - }, - "fsuid": { - "type": "keyword", - "ignore_above": 1024 - }, - "gid": { - "type": "keyword", - "ignore_above": 1024 - }, - "sgid": { - "type": "keyword", - "ignore_above": 1024 - }, - "suid": { - "type": "keyword", - "ignore_above": 1024 - }, - "uid": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "tags": { + "type": "keyword", + "ignore_above": 1024 + }, + "user": { + "properties": { + "auid": { + "type": "keyword", + "ignore_above": 1024 + }, + "egid": { + "type": "keyword", + "ignore_above": 1024 + }, + "euid": { + "type": "keyword", + "ignore_above": 1024 + }, + "fsgid": { + "type": "keyword", + "ignore_above": 1024 + }, + "fsuid": { + "type": "keyword", + "ignore_above": 1024 + }, + "gid": { + "type": "keyword", + "ignore_above": 1024 + }, + "name_map": { + "properties": { + "auid": { + "type": "keyword", + "ignore_above": 1024 + }, + "egid": { + "type": "keyword", + "ignore_above": 1024 + }, + "euid": { + "type": "keyword", + "ignore_above": 1024 + }, + "fsgid": { + "type": "keyword", + "ignore_above": 1024 + }, + "fsuid": { + "type": "keyword", + "ignore_above": 1024 + }, + "gid": { + "type": "keyword", + "ignore_above": 1024 + }, + "sgid": { + "type": "keyword", + "ignore_above": 1024 + }, + "suid": { + "type": "keyword", + "ignore_above": 1024 + }, + "uid": { + "type": "keyword", + "ignore_above": 1024 } - }, - "selinux": { - "properties": { - "category": { - "type": "keyword", - "ignore_above": 1024 - }, - "domain": { - "type": "keyword", - "ignore_above": 1024 - }, - "level": { - "type": "keyword", - "ignore_above": 1024 - }, - "role": { - "type": "keyword", - "ignore_above": 1024 - }, - "user": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "selinux": { + "properties": { + "category": { + "type": "keyword", + "ignore_above": 1024 + }, + "domain": { + "type": "keyword", + "ignore_above": 1024 + }, + "level": { + "type": "keyword", + "ignore_above": 1024 + }, + "role": { + "type": "keyword", + "ignore_above": 1024 + }, + "user": { + "type": "keyword", + "ignore_above": 1024 } - }, - "sgid": { - "type": "keyword", - "ignore_above": 1024 - }, - "suid": { - "type": "keyword", - "ignore_above": 1024 - }, - "uid": { - "type": "keyword", - "ignore_above": 1024 } + }, + "sgid": { + "type": "keyword", + "ignore_above": 1024 + }, + "suid": { + "type": "keyword", + "ignore_above": 1024 + }, + "uid": { + "type": "keyword", + "ignore_above": 1024 } } } @@ -1902,4 +1900,4 @@ }, "aliases": {} } -} \ No newline at end of file +} diff --git a/x-pack/test/functional/es_archives/auditbeat/kpi_hosts/data.json b/x-pack/test/functional/es_archives/auditbeat/kpi_hosts/data.json index 470e38e62ba51..ebed2a6225974 100644 --- a/x-pack/test/functional/es_archives/auditbeat/kpi_hosts/data.json +++ b/x-pack/test/functional/es_archives/auditbeat/kpi_hosts/data.json @@ -2,7 +2,7 @@ "type": "doc", "value": { "index": "auditbeat-7.0.0-alpha1-2018.11.27", - "type": "doc", + "type": "_doc", "id": "Rs93UmcBTFzn_XoLWT6M", "source": { "@timestamp": "2018-11-27T00:00:11.544Z", @@ -67,7 +67,7 @@ "type": "doc", "value": { "index": "auditbeat-7.0.0-alpha1-2018.11.27", - "type": "doc", + "type": "_doc", "id": "6Nr4UmcBTFzn_XoL4l6d", "source": { "@timestamp": "2018-11-27T02:21:40.914Z", @@ -132,7 +132,7 @@ "type": "doc", "value": { "index": "auditbeat-7.0.0-alpha1-2018.11.27", - "type": "doc", + "type": "_doc", "id": "sdwQU2cBTFzn_XoLA1gL", "source": { "@timestamp": "2018-11-27T02:46:56.545Z", diff --git a/x-pack/test/functional/es_archives/auditbeat/kpi_hosts/mappings.json b/x-pack/test/functional/es_archives/auditbeat/kpi_hosts/mappings.json index 841e83caa6548..c9cc52f6e53f0 100644 --- a/x-pack/test/functional/es_archives/auditbeat/kpi_hosts/mappings.json +++ b/x-pack/test/functional/es_archives/auditbeat/kpi_hosts/mappings.json @@ -354,1547 +354,1545 @@ } }, "mappings": { - "doc": { - "_meta": { - "version": "7.0.0-alpha1" - }, - "dynamic_templates": [ - { - "fields": { - "path_match": "fields.*", - "match_mapping_type": "string", - "mapping": { - "type": "keyword" - } + "_meta": { + "version": "7.0.0-alpha1" + }, + "dynamic_templates": [ + { + "fields": { + "path_match": "fields.*", + "match_mapping_type": "string", + "mapping": { + "type": "keyword" } - }, - { - "docker.container.labels": { - "path_match": "docker.container.labels.*", - "match_mapping_type": "string", - "mapping": { - "type": "keyword" - } + } + }, + { + "docker.container.labels": { + "path_match": "docker.container.labels.*", + "match_mapping_type": "string", + "mapping": { + "type": "keyword" } - }, - { - "strings_as_keyword": { - "match_mapping_type": "string", - "mapping": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + { + "strings_as_keyword": { + "match_mapping_type": "string", + "mapping": { + "ignore_above": 1024, + "type": "keyword" } } - ], - "date_detection": false, - "properties": { - "@timestamp": { - "type": "date" - }, - "auditd": { - "properties": { - "data": { - "properties": { - "a0": { - "type": "keyword", - "ignore_above": 1024 - }, - "a1": { - "type": "keyword", - "ignore_above": 1024 - }, - "a2": { - "type": "keyword", - "ignore_above": 1024 - }, - "a3": { - "type": "keyword", - "ignore_above": 1024 - }, - "a[0-3]": { - "type": "keyword", - "ignore_above": 1024 - }, - "acct": { - "type": "keyword", - "ignore_above": 1024 - }, - "acl": { - "type": "keyword", - "ignore_above": 1024 - }, - "action": { - "type": "keyword", - "ignore_above": 1024 - }, - "added": { - "type": "keyword", - "ignore_above": 1024 - }, - "addr": { - "type": "keyword", - "ignore_above": 1024 - }, - "apparmor": { - "type": "keyword", - "ignore_above": 1024 - }, - "arch": { - "type": "keyword", - "ignore_above": 1024 - }, - "argc": { - "type": "keyword", - "ignore_above": 1024 - }, - "audit_backlog_limit": { - "type": "keyword", - "ignore_above": 1024 - }, - "audit_backlog_wait_time": { - "type": "keyword", - "ignore_above": 1024 - }, - "audit_enabled": { - "type": "keyword", - "ignore_above": 1024 - }, - "audit_failure": { - "type": "keyword", - "ignore_above": 1024 - }, - "banners": { - "type": "keyword", - "ignore_above": 1024 - }, - "bool": { - "type": "keyword", - "ignore_above": 1024 - }, - "bus": { - "type": "keyword", - "ignore_above": 1024 - }, - "cap_fe": { - "type": "keyword", - "ignore_above": 1024 - }, - "cap_fi": { - "type": "keyword", - "ignore_above": 1024 - }, - "cap_fp": { - "type": "keyword", - "ignore_above": 1024 - }, - "cap_fver": { - "type": "keyword", - "ignore_above": 1024 - }, - "cap_pe": { - "type": "keyword", - "ignore_above": 1024 - }, - "cap_pi": { - "type": "keyword", - "ignore_above": 1024 - }, - "cap_pp": { - "type": "keyword", - "ignore_above": 1024 - }, - "capability": { - "type": "keyword", - "ignore_above": 1024 - }, - "cgroup": { - "type": "keyword", - "ignore_above": 1024 - }, - "changed": { - "type": "keyword", - "ignore_above": 1024 - }, - "cipher": { - "type": "keyword", - "ignore_above": 1024 - }, - "class": { - "type": "keyword", - "ignore_above": 1024 - }, - "cmd": { - "type": "keyword", - "ignore_above": 1024 - }, - "code": { - "type": "keyword", - "ignore_above": 1024 - }, - "compat": { - "type": "keyword", - "ignore_above": 1024 - }, - "daddr": { - "type": "keyword", - "ignore_above": 1024 - }, - "data": { - "type": "keyword", - "ignore_above": 1024 - }, - "default-context": { - "type": "keyword", - "ignore_above": 1024 - }, - "device": { - "type": "keyword", - "ignore_above": 1024 - }, - "dir": { - "type": "keyword", - "ignore_above": 1024 - }, - "direction": { - "type": "keyword", - "ignore_above": 1024 - }, - "dmac": { - "type": "keyword", - "ignore_above": 1024 - }, - "dport": { - "type": "keyword", - "ignore_above": 1024 - }, - "enforcing": { - "type": "keyword", - "ignore_above": 1024 - }, - "entries": { - "type": "keyword", - "ignore_above": 1024 - }, - "exit": { - "type": "keyword", - "ignore_above": 1024 - }, - "fam": { - "type": "keyword", - "ignore_above": 1024 - }, - "family": { - "type": "keyword", - "ignore_above": 1024 - }, - "fd": { - "type": "keyword", - "ignore_above": 1024 - }, - "fe": { - "type": "keyword", - "ignore_above": 1024 - }, - "feature": { - "type": "keyword", - "ignore_above": 1024 - }, - "fi": { - "type": "keyword", - "ignore_above": 1024 - }, - "file": { - "type": "keyword", - "ignore_above": 1024 - }, - "flags": { - "type": "keyword", - "ignore_above": 1024 - }, - "format": { - "type": "keyword", - "ignore_above": 1024 - }, - "fp": { - "type": "keyword", - "ignore_above": 1024 - }, - "fver": { - "type": "keyword", - "ignore_above": 1024 - }, - "grantors": { - "type": "keyword", - "ignore_above": 1024 - }, - "grp": { - "type": "keyword", - "ignore_above": 1024 - }, - "hook": { - "type": "keyword", - "ignore_above": 1024 - }, - "hostname": { - "type": "keyword", - "ignore_above": 1024 - }, - "icmp_type": { - "type": "keyword", - "ignore_above": 1024 - }, - "id": { - "type": "keyword", - "ignore_above": 1024 - }, - "igid": { - "type": "keyword", - "ignore_above": 1024 - }, - "img-ctx": { - "type": "keyword", - "ignore_above": 1024 - }, - "inif": { - "type": "keyword", - "ignore_above": 1024 - }, - "ino": { - "type": "keyword", - "ignore_above": 1024 - }, - "inode_gid": { - "type": "keyword", - "ignore_above": 1024 - }, - "inode_uid": { - "type": "keyword", - "ignore_above": 1024 - }, - "invalid_context": { - "type": "keyword", - "ignore_above": 1024 - }, - "ioctlcmd": { - "type": "keyword", - "ignore_above": 1024 - }, - "ip": { - "type": "keyword", - "ignore_above": 1024 - }, - "ipid": { - "type": "keyword", - "ignore_above": 1024 - }, - "ipx-net": { - "type": "keyword", - "ignore_above": 1024 - }, - "items": { - "type": "keyword", - "ignore_above": 1024 - }, - "iuid": { - "type": "keyword", - "ignore_above": 1024 - }, - "kernel": { - "type": "keyword", - "ignore_above": 1024 - }, - "kind": { - "type": "keyword", - "ignore_above": 1024 - }, - "ksize": { - "type": "keyword", - "ignore_above": 1024 - }, - "laddr": { - "type": "keyword", - "ignore_above": 1024 - }, - "len": { - "type": "keyword", - "ignore_above": 1024 - }, - "list": { - "type": "keyword", - "ignore_above": 1024 - }, - "lport": { - "type": "keyword", - "ignore_above": 1024 - }, - "mac": { - "type": "keyword", - "ignore_above": 1024 - }, - "macproto": { - "type": "keyword", - "ignore_above": 1024 - }, - "maj": { - "type": "keyword", - "ignore_above": 1024 - }, - "major": { - "type": "keyword", - "ignore_above": 1024 - }, - "minor": { - "type": "keyword", - "ignore_above": 1024 - }, - "model": { - "type": "keyword", - "ignore_above": 1024 - }, - "msg": { - "type": "keyword", - "ignore_above": 1024 - }, - "nargs": { - "type": "keyword", - "ignore_above": 1024 - }, - "net": { - "type": "keyword", - "ignore_above": 1024 - }, - "new": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-chardev": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-disk": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-enabled": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-fs": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-level": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-log_passwd": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-mem": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-net": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-range": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-rng": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-role": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-seuser": { - "type": "keyword", - "ignore_above": 1024 - }, - "new-vcpu": { - "type": "keyword", - "ignore_above": 1024 - }, - "new_gid": { - "type": "keyword", - "ignore_above": 1024 - }, - "new_lock": { - "type": "keyword", - "ignore_above": 1024 - }, - "new_pe": { - "type": "keyword", - "ignore_above": 1024 - }, - "new_pi": { - "type": "keyword", - "ignore_above": 1024 - }, - "new_pp": { - "type": "keyword", - "ignore_above": 1024 - }, - "nlnk-fam": { - "type": "keyword", - "ignore_above": 1024 - }, - "nlnk-grp": { - "type": "keyword", - "ignore_above": 1024 - }, - "nlnk-pid": { - "type": "keyword", - "ignore_above": 1024 - }, - "oauid": { - "type": "keyword", - "ignore_above": 1024 - }, - "obj": { - "type": "keyword", - "ignore_above": 1024 - }, - "obj_gid": { - "type": "keyword", - "ignore_above": 1024 - }, - "obj_uid": { - "type": "keyword", - "ignore_above": 1024 - }, - "ocomm": { - "type": "keyword", - "ignore_above": 1024 - }, - "oflag": { - "type": "keyword", - "ignore_above": 1024 - }, - "old": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-auid": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-chardev": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-disk": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-enabled": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-fs": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-level": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-log_passwd": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-mem": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-net": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-range": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-rng": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-role": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-ses": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-seuser": { - "type": "keyword", - "ignore_above": 1024 - }, - "old-vcpu": { - "type": "keyword", - "ignore_above": 1024 - }, - "old_enforcing": { - "type": "keyword", - "ignore_above": 1024 - }, - "old_lock": { - "type": "keyword", - "ignore_above": 1024 - }, - "old_pe": { - "type": "keyword", - "ignore_above": 1024 - }, - "old_pi": { - "type": "keyword", - "ignore_above": 1024 - }, - "old_pp": { - "type": "keyword", - "ignore_above": 1024 - }, - "old_prom": { - "type": "keyword", - "ignore_above": 1024 - }, - "old_val": { - "type": "keyword", - "ignore_above": 1024 - }, - "op": { - "type": "keyword", - "ignore_above": 1024 - }, - "opid": { - "type": "keyword", - "ignore_above": 1024 - }, - "oses": { - "type": "keyword", - "ignore_above": 1024 - }, - "outif": { - "type": "keyword", - "ignore_above": 1024 - }, - "parent": { - "type": "keyword", - "ignore_above": 1024 - }, - "per": { - "type": "keyword", - "ignore_above": 1024 - }, - "perm": { - "type": "keyword", - "ignore_above": 1024 - }, - "perm_mask": { - "type": "keyword", - "ignore_above": 1024 - }, - "permissive": { - "type": "keyword", - "ignore_above": 1024 - }, - "pfs": { - "type": "keyword", - "ignore_above": 1024 - }, - "printer": { - "type": "keyword", - "ignore_above": 1024 - }, - "prom": { - "type": "keyword", - "ignore_above": 1024 - }, - "proto": { - "type": "keyword", - "ignore_above": 1024 - }, - "qbytes": { - "type": "keyword", - "ignore_above": 1024 - }, - "range": { - "type": "keyword", - "ignore_above": 1024 - }, - "reason": { - "type": "keyword", - "ignore_above": 1024 - }, - "removed": { - "type": "keyword", - "ignore_above": 1024 - }, - "res": { - "type": "keyword", - "ignore_above": 1024 - }, - "resrc": { - "type": "keyword", - "ignore_above": 1024 - }, - "rport": { - "type": "keyword", - "ignore_above": 1024 - }, - "sauid": { - "type": "keyword", - "ignore_above": 1024 - }, - "scontext": { - "type": "keyword", - "ignore_above": 1024 - }, - "selected-context": { - "type": "keyword", - "ignore_above": 1024 - }, - "seperm": { - "type": "keyword", - "ignore_above": 1024 - }, - "seperms": { - "type": "keyword", - "ignore_above": 1024 - }, - "seqno": { - "type": "keyword", - "ignore_above": 1024 - }, - "seresult": { - "type": "keyword", - "ignore_above": 1024 - }, - "ses": { - "type": "keyword", - "ignore_above": 1024 - }, - "seuser": { - "type": "keyword", - "ignore_above": 1024 - }, - "sig": { - "type": "keyword", - "ignore_above": 1024 - }, - "sigev_signo": { - "type": "keyword", - "ignore_above": 1024 - }, - "smac": { - "type": "keyword", - "ignore_above": 1024 - }, - "socket": { - "properties": { - "addr": { - "type": "keyword", - "ignore_above": 1024 - }, - "family": { - "type": "keyword", - "ignore_above": 1024 - }, - "path": { - "type": "keyword", - "ignore_above": 1024 - }, - "port": { - "type": "keyword", - "ignore_above": 1024 - }, - "saddr": { - "type": "keyword", - "ignore_above": 1024 - } + } + ], + "date_detection": false, + "properties": { + "@timestamp": { + "type": "date" + }, + "auditd": { + "properties": { + "data": { + "properties": { + "a0": { + "type": "keyword", + "ignore_above": 1024 + }, + "a1": { + "type": "keyword", + "ignore_above": 1024 + }, + "a2": { + "type": "keyword", + "ignore_above": 1024 + }, + "a3": { + "type": "keyword", + "ignore_above": 1024 + }, + "a[0-3]": { + "type": "keyword", + "ignore_above": 1024 + }, + "acct": { + "type": "keyword", + "ignore_above": 1024 + }, + "acl": { + "type": "keyword", + "ignore_above": 1024 + }, + "action": { + "type": "keyword", + "ignore_above": 1024 + }, + "added": { + "type": "keyword", + "ignore_above": 1024 + }, + "addr": { + "type": "keyword", + "ignore_above": 1024 + }, + "apparmor": { + "type": "keyword", + "ignore_above": 1024 + }, + "arch": { + "type": "keyword", + "ignore_above": 1024 + }, + "argc": { + "type": "keyword", + "ignore_above": 1024 + }, + "audit_backlog_limit": { + "type": "keyword", + "ignore_above": 1024 + }, + "audit_backlog_wait_time": { + "type": "keyword", + "ignore_above": 1024 + }, + "audit_enabled": { + "type": "keyword", + "ignore_above": 1024 + }, + "audit_failure": { + "type": "keyword", + "ignore_above": 1024 + }, + "banners": { + "type": "keyword", + "ignore_above": 1024 + }, + "bool": { + "type": "keyword", + "ignore_above": 1024 + }, + "bus": { + "type": "keyword", + "ignore_above": 1024 + }, + "cap_fe": { + "type": "keyword", + "ignore_above": 1024 + }, + "cap_fi": { + "type": "keyword", + "ignore_above": 1024 + }, + "cap_fp": { + "type": "keyword", + "ignore_above": 1024 + }, + "cap_fver": { + "type": "keyword", + "ignore_above": 1024 + }, + "cap_pe": { + "type": "keyword", + "ignore_above": 1024 + }, + "cap_pi": { + "type": "keyword", + "ignore_above": 1024 + }, + "cap_pp": { + "type": "keyword", + "ignore_above": 1024 + }, + "capability": { + "type": "keyword", + "ignore_above": 1024 + }, + "cgroup": { + "type": "keyword", + "ignore_above": 1024 + }, + "changed": { + "type": "keyword", + "ignore_above": 1024 + }, + "cipher": { + "type": "keyword", + "ignore_above": 1024 + }, + "class": { + "type": "keyword", + "ignore_above": 1024 + }, + "cmd": { + "type": "keyword", + "ignore_above": 1024 + }, + "code": { + "type": "keyword", + "ignore_above": 1024 + }, + "compat": { + "type": "keyword", + "ignore_above": 1024 + }, + "daddr": { + "type": "keyword", + "ignore_above": 1024 + }, + "data": { + "type": "keyword", + "ignore_above": 1024 + }, + "default-context": { + "type": "keyword", + "ignore_above": 1024 + }, + "device": { + "type": "keyword", + "ignore_above": 1024 + }, + "dir": { + "type": "keyword", + "ignore_above": 1024 + }, + "direction": { + "type": "keyword", + "ignore_above": 1024 + }, + "dmac": { + "type": "keyword", + "ignore_above": 1024 + }, + "dport": { + "type": "keyword", + "ignore_above": 1024 + }, + "enforcing": { + "type": "keyword", + "ignore_above": 1024 + }, + "entries": { + "type": "keyword", + "ignore_above": 1024 + }, + "exit": { + "type": "keyword", + "ignore_above": 1024 + }, + "fam": { + "type": "keyword", + "ignore_above": 1024 + }, + "family": { + "type": "keyword", + "ignore_above": 1024 + }, + "fd": { + "type": "keyword", + "ignore_above": 1024 + }, + "fe": { + "type": "keyword", + "ignore_above": 1024 + }, + "feature": { + "type": "keyword", + "ignore_above": 1024 + }, + "fi": { + "type": "keyword", + "ignore_above": 1024 + }, + "file": { + "type": "keyword", + "ignore_above": 1024 + }, + "flags": { + "type": "keyword", + "ignore_above": 1024 + }, + "format": { + "type": "keyword", + "ignore_above": 1024 + }, + "fp": { + "type": "keyword", + "ignore_above": 1024 + }, + "fver": { + "type": "keyword", + "ignore_above": 1024 + }, + "grantors": { + "type": "keyword", + "ignore_above": 1024 + }, + "grp": { + "type": "keyword", + "ignore_above": 1024 + }, + "hook": { + "type": "keyword", + "ignore_above": 1024 + }, + "hostname": { + "type": "keyword", + "ignore_above": 1024 + }, + "icmp_type": { + "type": "keyword", + "ignore_above": 1024 + }, + "id": { + "type": "keyword", + "ignore_above": 1024 + }, + "igid": { + "type": "keyword", + "ignore_above": 1024 + }, + "img-ctx": { + "type": "keyword", + "ignore_above": 1024 + }, + "inif": { + "type": "keyword", + "ignore_above": 1024 + }, + "ino": { + "type": "keyword", + "ignore_above": 1024 + }, + "inode_gid": { + "type": "keyword", + "ignore_above": 1024 + }, + "inode_uid": { + "type": "keyword", + "ignore_above": 1024 + }, + "invalid_context": { + "type": "keyword", + "ignore_above": 1024 + }, + "ioctlcmd": { + "type": "keyword", + "ignore_above": 1024 + }, + "ip": { + "type": "keyword", + "ignore_above": 1024 + }, + "ipid": { + "type": "keyword", + "ignore_above": 1024 + }, + "ipx-net": { + "type": "keyword", + "ignore_above": 1024 + }, + "items": { + "type": "keyword", + "ignore_above": 1024 + }, + "iuid": { + "type": "keyword", + "ignore_above": 1024 + }, + "kernel": { + "type": "keyword", + "ignore_above": 1024 + }, + "kind": { + "type": "keyword", + "ignore_above": 1024 + }, + "ksize": { + "type": "keyword", + "ignore_above": 1024 + }, + "laddr": { + "type": "keyword", + "ignore_above": 1024 + }, + "len": { + "type": "keyword", + "ignore_above": 1024 + }, + "list": { + "type": "keyword", + "ignore_above": 1024 + }, + "lport": { + "type": "keyword", + "ignore_above": 1024 + }, + "mac": { + "type": "keyword", + "ignore_above": 1024 + }, + "macproto": { + "type": "keyword", + "ignore_above": 1024 + }, + "maj": { + "type": "keyword", + "ignore_above": 1024 + }, + "major": { + "type": "keyword", + "ignore_above": 1024 + }, + "minor": { + "type": "keyword", + "ignore_above": 1024 + }, + "model": { + "type": "keyword", + "ignore_above": 1024 + }, + "msg": { + "type": "keyword", + "ignore_above": 1024 + }, + "nargs": { + "type": "keyword", + "ignore_above": 1024 + }, + "net": { + "type": "keyword", + "ignore_above": 1024 + }, + "new": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-chardev": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-disk": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-enabled": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-fs": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-level": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-log_passwd": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-mem": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-net": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-range": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-rng": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-role": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-seuser": { + "type": "keyword", + "ignore_above": 1024 + }, + "new-vcpu": { + "type": "keyword", + "ignore_above": 1024 + }, + "new_gid": { + "type": "keyword", + "ignore_above": 1024 + }, + "new_lock": { + "type": "keyword", + "ignore_above": 1024 + }, + "new_pe": { + "type": "keyword", + "ignore_above": 1024 + }, + "new_pi": { + "type": "keyword", + "ignore_above": 1024 + }, + "new_pp": { + "type": "keyword", + "ignore_above": 1024 + }, + "nlnk-fam": { + "type": "keyword", + "ignore_above": 1024 + }, + "nlnk-grp": { + "type": "keyword", + "ignore_above": 1024 + }, + "nlnk-pid": { + "type": "keyword", + "ignore_above": 1024 + }, + "oauid": { + "type": "keyword", + "ignore_above": 1024 + }, + "obj": { + "type": "keyword", + "ignore_above": 1024 + }, + "obj_gid": { + "type": "keyword", + "ignore_above": 1024 + }, + "obj_uid": { + "type": "keyword", + "ignore_above": 1024 + }, + "ocomm": { + "type": "keyword", + "ignore_above": 1024 + }, + "oflag": { + "type": "keyword", + "ignore_above": 1024 + }, + "old": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-auid": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-chardev": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-disk": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-enabled": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-fs": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-level": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-log_passwd": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-mem": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-net": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-range": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-rng": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-role": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-ses": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-seuser": { + "type": "keyword", + "ignore_above": 1024 + }, + "old-vcpu": { + "type": "keyword", + "ignore_above": 1024 + }, + "old_enforcing": { + "type": "keyword", + "ignore_above": 1024 + }, + "old_lock": { + "type": "keyword", + "ignore_above": 1024 + }, + "old_pe": { + "type": "keyword", + "ignore_above": 1024 + }, + "old_pi": { + "type": "keyword", + "ignore_above": 1024 + }, + "old_pp": { + "type": "keyword", + "ignore_above": 1024 + }, + "old_prom": { + "type": "keyword", + "ignore_above": 1024 + }, + "old_val": { + "type": "keyword", + "ignore_above": 1024 + }, + "op": { + "type": "keyword", + "ignore_above": 1024 + }, + "opid": { + "type": "keyword", + "ignore_above": 1024 + }, + "oses": { + "type": "keyword", + "ignore_above": 1024 + }, + "outif": { + "type": "keyword", + "ignore_above": 1024 + }, + "parent": { + "type": "keyword", + "ignore_above": 1024 + }, + "per": { + "type": "keyword", + "ignore_above": 1024 + }, + "perm": { + "type": "keyword", + "ignore_above": 1024 + }, + "perm_mask": { + "type": "keyword", + "ignore_above": 1024 + }, + "permissive": { + "type": "keyword", + "ignore_above": 1024 + }, + "pfs": { + "type": "keyword", + "ignore_above": 1024 + }, + "printer": { + "type": "keyword", + "ignore_above": 1024 + }, + "prom": { + "type": "keyword", + "ignore_above": 1024 + }, + "proto": { + "type": "keyword", + "ignore_above": 1024 + }, + "qbytes": { + "type": "keyword", + "ignore_above": 1024 + }, + "range": { + "type": "keyword", + "ignore_above": 1024 + }, + "reason": { + "type": "keyword", + "ignore_above": 1024 + }, + "removed": { + "type": "keyword", + "ignore_above": 1024 + }, + "res": { + "type": "keyword", + "ignore_above": 1024 + }, + "resrc": { + "type": "keyword", + "ignore_above": 1024 + }, + "rport": { + "type": "keyword", + "ignore_above": 1024 + }, + "sauid": { + "type": "keyword", + "ignore_above": 1024 + }, + "scontext": { + "type": "keyword", + "ignore_above": 1024 + }, + "selected-context": { + "type": "keyword", + "ignore_above": 1024 + }, + "seperm": { + "type": "keyword", + "ignore_above": 1024 + }, + "seperms": { + "type": "keyword", + "ignore_above": 1024 + }, + "seqno": { + "type": "keyword", + "ignore_above": 1024 + }, + "seresult": { + "type": "keyword", + "ignore_above": 1024 + }, + "ses": { + "type": "keyword", + "ignore_above": 1024 + }, + "seuser": { + "type": "keyword", + "ignore_above": 1024 + }, + "sig": { + "type": "keyword", + "ignore_above": 1024 + }, + "sigev_signo": { + "type": "keyword", + "ignore_above": 1024 + }, + "smac": { + "type": "keyword", + "ignore_above": 1024 + }, + "socket": { + "properties": { + "addr": { + "type": "keyword", + "ignore_above": 1024 + }, + "family": { + "type": "keyword", + "ignore_above": 1024 + }, + "path": { + "type": "keyword", + "ignore_above": 1024 + }, + "port": { + "type": "keyword", + "ignore_above": 1024 + }, + "saddr": { + "type": "keyword", + "ignore_above": 1024 } - }, - "spid": { - "type": "keyword", - "ignore_above": 1024 - }, - "sport": { - "type": "keyword", - "ignore_above": 1024 - }, - "state": { - "type": "keyword", - "ignore_above": 1024 - }, - "subj": { - "type": "keyword", - "ignore_above": 1024 - }, - "success": { - "type": "keyword", - "ignore_above": 1024 - }, - "syscall": { - "type": "keyword", - "ignore_above": 1024 - }, - "table": { - "type": "keyword", - "ignore_above": 1024 - }, - "tclass": { - "type": "keyword", - "ignore_above": 1024 - }, - "tcontext": { - "type": "keyword", - "ignore_above": 1024 - }, - "terminal": { - "type": "keyword", - "ignore_above": 1024 - }, - "tty": { - "type": "keyword", - "ignore_above": 1024 - }, - "unit": { - "type": "keyword", - "ignore_above": 1024 - }, - "uri": { - "type": "keyword", - "ignore_above": 1024 - }, - "uuid": { - "type": "keyword", - "ignore_above": 1024 - }, - "val": { - "type": "keyword", - "ignore_above": 1024 - }, - "ver": { - "type": "keyword", - "ignore_above": 1024 - }, - "virt": { - "type": "keyword", - "ignore_above": 1024 - }, - "vm": { - "type": "keyword", - "ignore_above": 1024 - }, - "vm-ctx": { - "type": "keyword", - "ignore_above": 1024 - }, - "vm-pid": { - "type": "keyword", - "ignore_above": 1024 - }, - "watch": { - "type": "keyword", - "ignore_above": 1024 } + }, + "spid": { + "type": "keyword", + "ignore_above": 1024 + }, + "sport": { + "type": "keyword", + "ignore_above": 1024 + }, + "state": { + "type": "keyword", + "ignore_above": 1024 + }, + "subj": { + "type": "keyword", + "ignore_above": 1024 + }, + "success": { + "type": "keyword", + "ignore_above": 1024 + }, + "syscall": { + "type": "keyword", + "ignore_above": 1024 + }, + "table": { + "type": "keyword", + "ignore_above": 1024 + }, + "tclass": { + "type": "keyword", + "ignore_above": 1024 + }, + "tcontext": { + "type": "keyword", + "ignore_above": 1024 + }, + "terminal": { + "type": "keyword", + "ignore_above": 1024 + }, + "tty": { + "type": "keyword", + "ignore_above": 1024 + }, + "unit": { + "type": "keyword", + "ignore_above": 1024 + }, + "uri": { + "type": "keyword", + "ignore_above": 1024 + }, + "uuid": { + "type": "keyword", + "ignore_above": 1024 + }, + "val": { + "type": "keyword", + "ignore_above": 1024 + }, + "ver": { + "type": "keyword", + "ignore_above": 1024 + }, + "virt": { + "type": "keyword", + "ignore_above": 1024 + }, + "vm": { + "type": "keyword", + "ignore_above": 1024 + }, + "vm-ctx": { + "type": "keyword", + "ignore_above": 1024 + }, + "vm-pid": { + "type": "keyword", + "ignore_above": 1024 + }, + "watch": { + "type": "keyword", + "ignore_above": 1024 } - }, - "messages": { - "type": "text", - "norms": false - }, - "paths": { - "properties": { - "dev": { - "type": "keyword", - "ignore_above": 1024 - }, - "inode": { - "type": "keyword", - "ignore_above": 1024 - }, - "item": { - "type": "keyword", - "ignore_above": 1024 - }, - "mode": { - "type": "keyword", - "ignore_above": 1024 - }, - "name": { - "type": "keyword", - "ignore_above": 1024 - }, - "nametype": { - "type": "keyword", - "ignore_above": 1024 - }, - "obj_domain": { - "type": "keyword", - "ignore_above": 1024 - }, - "obj_level": { - "type": "keyword", - "ignore_above": 1024 - }, - "obj_role": { - "type": "keyword", - "ignore_above": 1024 - }, - "obj_user": { - "type": "keyword", - "ignore_above": 1024 - }, - "objtype": { - "type": "keyword", - "ignore_above": 1024 - }, - "ogid": { - "type": "keyword", - "ignore_above": 1024 - }, - "ouid": { - "type": "keyword", - "ignore_above": 1024 - }, - "rdev": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "messages": { + "type": "text", + "norms": false + }, + "paths": { + "properties": { + "dev": { + "type": "keyword", + "ignore_above": 1024 + }, + "inode": { + "type": "keyword", + "ignore_above": 1024 + }, + "item": { + "type": "keyword", + "ignore_above": 1024 + }, + "mode": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "ignore_above": 1024 + }, + "nametype": { + "type": "keyword", + "ignore_above": 1024 + }, + "obj_domain": { + "type": "keyword", + "ignore_above": 1024 + }, + "obj_level": { + "type": "keyword", + "ignore_above": 1024 + }, + "obj_role": { + "type": "keyword", + "ignore_above": 1024 + }, + "obj_user": { + "type": "keyword", + "ignore_above": 1024 + }, + "objtype": { + "type": "keyword", + "ignore_above": 1024 + }, + "ogid": { + "type": "keyword", + "ignore_above": 1024 + }, + "ouid": { + "type": "keyword", + "ignore_above": 1024 + }, + "rdev": { + "type": "keyword", + "ignore_above": 1024 } - }, - "result": { - "type": "keyword", - "ignore_above": 1024 - }, - "sequence": { - "type": "long" - }, - "session": { - "type": "keyword", - "ignore_above": 1024 - }, - "summary": { - "properties": { - "actor": { - "properties": { - "primary": { - "type": "keyword", - "ignore_above": 1024 - }, - "secondary": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "result": { + "type": "keyword", + "ignore_above": 1024 + }, + "sequence": { + "type": "long" + }, + "session": { + "type": "keyword", + "ignore_above": 1024 + }, + "summary": { + "properties": { + "actor": { + "properties": { + "primary": { + "type": "keyword", + "ignore_above": 1024 + }, + "secondary": { + "type": "keyword", + "ignore_above": 1024 } - }, - "how": { - "type": "keyword", - "ignore_above": 1024 - }, - "object": { - "properties": { - "primary": { - "type": "keyword", - "ignore_above": 1024 - }, - "secondary": { - "type": "keyword", - "ignore_above": 1024 - }, - "type": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "how": { + "type": "keyword", + "ignore_above": 1024 + }, + "object": { + "properties": { + "primary": { + "type": "keyword", + "ignore_above": 1024 + }, + "secondary": { + "type": "keyword", + "ignore_above": 1024 + }, + "type": { + "type": "keyword", + "ignore_above": 1024 } } } - }, - "warnings": { - "type": "keyword", - "ignore_above": 1024 } + }, + "warnings": { + "type": "keyword", + "ignore_above": 1024 } - }, - "beat": { - "properties": { - "hostname": { - "type": "keyword", - "ignore_above": 1024 - }, - "name": { - "type": "keyword", - "ignore_above": 1024 - }, - "timezone": { - "type": "keyword", - "ignore_above": 1024 - }, - "version": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "beat": { + "properties": { + "hostname": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "ignore_above": 1024 + }, + "timezone": { + "type": "keyword", + "ignore_above": 1024 + }, + "version": { + "type": "keyword", + "ignore_above": 1024 } - }, - "destination": { - "properties": { - "hostname": { - "type": "keyword", - "ignore_above": 1024 - }, - "ip": { - "type": "ip" - }, - "path": { - "type": "keyword", - "ignore_above": 1024 - }, - "port": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "destination": { + "properties": { + "hostname": { + "type": "keyword", + "ignore_above": 1024 + }, + "ip": { + "type": "ip" + }, + "path": { + "type": "keyword", + "ignore_above": 1024 + }, + "port": { + "type": "keyword", + "ignore_above": 1024 } - }, - "docker": { - "properties": { - "container": { - "properties": { - "id": { - "type": "keyword", - "ignore_above": 1024 - }, - "image": { - "type": "keyword", - "ignore_above": 1024 - }, - "labels": { - "type": "object" - }, - "name": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "docker": { + "properties": { + "container": { + "properties": { + "id": { + "type": "keyword", + "ignore_above": 1024 + }, + "image": { + "type": "keyword", + "ignore_above": 1024 + }, + "labels": { + "type": "object" + }, + "name": { + "type": "keyword", + "ignore_above": 1024 } } } - }, - "error": { - "properties": { - "code": { - "type": "long" - }, - "message": { - "type": "text", - "norms": false - }, - "type": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "error": { + "properties": { + "code": { + "type": "long" + }, + "message": { + "type": "text", + "norms": false + }, + "type": { + "type": "keyword", + "ignore_above": 1024 } - }, - "event": { - "properties": { - "action": { - "type": "keyword", - "ignore_above": 1024 - }, - "category": { - "type": "keyword", - "ignore_above": 1024 - }, - "module": { - "type": "keyword", - "ignore_above": 1024 - }, - "type": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "event": { + "properties": { + "action": { + "type": "keyword", + "ignore_above": 1024 + }, + "category": { + "type": "keyword", + "ignore_above": 1024 + }, + "module": { + "type": "keyword", + "ignore_above": 1024 + }, + "type": { + "type": "keyword", + "ignore_above": 1024 } - }, - "fields": { - "type": "object" - }, - "file": { - "properties": { - "ctime": { - "type": "date" - }, - "device": { - "type": "keyword", - "ignore_above": 1024 - }, - "gid": { - "type": "keyword", - "ignore_above": 1024 - }, - "group": { - "type": "keyword", - "ignore_above": 1024 - }, - "inode": { - "type": "keyword", - "ignore_above": 1024 - }, - "mode": { - "type": "keyword", - "ignore_above": 1024 - }, - "mtime": { - "type": "date" - }, - "origin": { - "type": "text", - "norms": false, - "fields": { - "raw": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "fields": { + "type": "object" + }, + "file": { + "properties": { + "ctime": { + "type": "date" + }, + "device": { + "type": "keyword", + "ignore_above": 1024 + }, + "gid": { + "type": "keyword", + "ignore_above": 1024 + }, + "group": { + "type": "keyword", + "ignore_above": 1024 + }, + "inode": { + "type": "keyword", + "ignore_above": 1024 + }, + "mode": { + "type": "keyword", + "ignore_above": 1024 + }, + "mtime": { + "type": "date" + }, + "origin": { + "type": "text", + "norms": false, + "fields": { + "raw": { + "type": "keyword", + "ignore_above": 1024 } - }, - "owner": { - "type": "keyword", - "ignore_above": 1024 - }, - "path": { - "type": "text", - "norms": false, - "fields": { - "raw": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "owner": { + "type": "keyword", + "ignore_above": 1024 + }, + "path": { + "type": "text", + "norms": false, + "fields": { + "raw": { + "type": "keyword", + "ignore_above": 1024 } - }, - "selinux": { - "properties": { - "domain": { - "type": "keyword", - "ignore_above": 1024 - }, - "level": { - "type": "keyword", - "ignore_above": 1024 - }, - "role": { - "type": "keyword", - "ignore_above": 1024 - }, - "user": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "selinux": { + "properties": { + "domain": { + "type": "keyword", + "ignore_above": 1024 + }, + "level": { + "type": "keyword", + "ignore_above": 1024 + }, + "role": { + "type": "keyword", + "ignore_above": 1024 + }, + "user": { + "type": "keyword", + "ignore_above": 1024 } - }, - "setgid": { - "type": "boolean" - }, - "setuid": { - "type": "boolean" - }, - "size": { - "type": "long" - }, - "target_path": { - "type": "keyword", - "ignore_above": 1024 - }, - "type": { - "type": "keyword", - "ignore_above": 1024 - }, - "uid": { - "type": "keyword", - "ignore_above": 1024 } + }, + "setgid": { + "type": "boolean" + }, + "setuid": { + "type": "boolean" + }, + "size": { + "type": "long" + }, + "target_path": { + "type": "keyword", + "ignore_above": 1024 + }, + "type": { + "type": "keyword", + "ignore_above": 1024 + }, + "uid": { + "type": "keyword", + "ignore_above": 1024 } - }, - "geoip": { - "properties": { - "city_name": { - "type": "keyword", - "ignore_above": 1024 - }, - "continent_name": { - "type": "keyword", - "ignore_above": 1024 - }, - "country_iso_code": { - "type": "keyword", - "ignore_above": 1024 - }, - "location": { - "type": "geo_point" - }, - "region_name": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "geoip": { + "properties": { + "city_name": { + "type": "keyword", + "ignore_above": 1024 + }, + "continent_name": { + "type": "keyword", + "ignore_above": 1024 + }, + "country_iso_code": { + "type": "keyword", + "ignore_above": 1024 + }, + "location": { + "type": "geo_point" + }, + "region_name": { + "type": "keyword", + "ignore_above": 1024 } - }, - "hash": { - "properties": { - "blake2b_256": { - "type": "keyword", - "ignore_above": 1024 - }, - "blake2b_384": { - "type": "keyword", - "ignore_above": 1024 - }, - "blake2b_512": { - "type": "keyword", - "ignore_above": 1024 - }, - "md5": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha1": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha224": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha256": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha384": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha3_224": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha3_256": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha3_384": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha3_512": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha512": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha512_224": { - "type": "keyword", - "ignore_above": 1024 - }, - "sha512_256": { - "type": "keyword", - "ignore_above": 1024 - }, - "xxh64": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "hash": { + "properties": { + "blake2b_256": { + "type": "keyword", + "ignore_above": 1024 + }, + "blake2b_384": { + "type": "keyword", + "ignore_above": 1024 + }, + "blake2b_512": { + "type": "keyword", + "ignore_above": 1024 + }, + "md5": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha1": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha224": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha256": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha384": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha3_224": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha3_256": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha3_384": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha3_512": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha512": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha512_224": { + "type": "keyword", + "ignore_above": 1024 + }, + "sha512_256": { + "type": "keyword", + "ignore_above": 1024 + }, + "xxh64": { + "type": "keyword", + "ignore_above": 1024 } - }, - "host": { - "properties": { - "architecture": { - "type": "keyword", - "ignore_above": 1024 - }, - "id": { - "type": "keyword", - "ignore_above": 1024 - }, - "ip": { - "type": "ip" - }, - "mac": { - "type": "keyword", - "ignore_above": 1024 - }, - "name": { - "type": "keyword", - "ignore_above": 1024 - }, - "os": { - "properties": { - "family": { - "type": "keyword", - "ignore_above": 1024 - }, - "platform": { - "type": "keyword", - "ignore_above": 1024 - }, - "version": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "host": { + "properties": { + "architecture": { + "type": "keyword", + "ignore_above": 1024 + }, + "id": { + "type": "keyword", + "ignore_above": 1024 + }, + "ip": { + "type": "ip" + }, + "mac": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "ignore_above": 1024 + }, + "os": { + "properties": { + "family": { + "type": "keyword", + "ignore_above": 1024 + }, + "platform": { + "type": "keyword", + "ignore_above": 1024 + }, + "version": { + "type": "keyword", + "ignore_above": 1024 } } } - }, - "kubernetes": { - "properties": { - "annotations": { - "type": "object" - }, - "container": { - "properties": { - "image": { - "type": "keyword", - "ignore_above": 1024 - }, - "name": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "kubernetes": { + "properties": { + "annotations": { + "type": "object" + }, + "container": { + "properties": { + "image": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "ignore_above": 1024 } - }, - "labels": { - "type": "object" - }, - "namespace": { - "type": "keyword", - "ignore_above": 1024 - }, - "node": { - "properties": { - "name": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "labels": { + "type": "object" + }, + "namespace": { + "type": "keyword", + "ignore_above": 1024 + }, + "node": { + "properties": { + "name": { + "type": "keyword", + "ignore_above": 1024 } - }, - "pod": { - "properties": { - "name": { - "type": "keyword", - "ignore_above": 1024 - }, - "uid": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "pod": { + "properties": { + "name": { + "type": "keyword", + "ignore_above": 1024 + }, + "uid": { + "type": "keyword", + "ignore_above": 1024 } } } - }, - "meta": { - "properties": { - "cloud": { - "properties": { - "availability_zone": { - "type": "keyword", - "ignore_above": 1024 - }, - "instance_id": { - "type": "keyword", - "ignore_above": 1024 - }, - "instance_name": { - "type": "keyword", - "ignore_above": 1024 - }, - "machine_type": { - "type": "keyword", - "ignore_above": 1024 - }, - "project_id": { - "type": "keyword", - "ignore_above": 1024 - }, - "provider": { - "type": "keyword", - "ignore_above": 1024 - }, - "region": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "meta": { + "properties": { + "cloud": { + "properties": { + "availability_zone": { + "type": "keyword", + "ignore_above": 1024 + }, + "instance_id": { + "type": "keyword", + "ignore_above": 1024 + }, + "instance_name": { + "type": "keyword", + "ignore_above": 1024 + }, + "machine_type": { + "type": "keyword", + "ignore_above": 1024 + }, + "project_id": { + "type": "keyword", + "ignore_above": 1024 + }, + "provider": { + "type": "keyword", + "ignore_above": 1024 + }, + "region": { + "type": "keyword", + "ignore_above": 1024 } } } - }, - "network": { - "properties": { - "direction": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "network": { + "properties": { + "direction": { + "type": "keyword", + "ignore_above": 1024 } - }, - "process": { - "properties": { - "args": { - "type": "keyword", - "ignore_above": 1024 - }, - "cwd": { - "type": "keyword", - "ignore_above": 1024 - }, - "exe": { - "type": "keyword", - "ignore_above": 1024 - }, - "name": { - "type": "keyword", - "ignore_above": 1024 - }, - "pid": { - "type": "keyword", - "ignore_above": 1024 - }, - "ppid": { - "type": "keyword", - "ignore_above": 1024 - }, - "title": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "process": { + "properties": { + "args": { + "type": "keyword", + "ignore_above": 1024 + }, + "cwd": { + "type": "keyword", + "ignore_above": 1024 + }, + "exe": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "ignore_above": 1024 + }, + "pid": { + "type": "keyword", + "ignore_above": 1024 + }, + "ppid": { + "type": "keyword", + "ignore_above": 1024 + }, + "title": { + "type": "keyword", + "ignore_above": 1024 } - }, - "source": { - "properties": { - "hostname": { - "type": "keyword", - "ignore_above": 1024 - }, - "ip": { - "type": "ip" - }, - "path": { - "type": "keyword", - "ignore_above": 1024 - }, - "port": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "source": { + "properties": { + "hostname": { + "type": "keyword", + "ignore_above": 1024 + }, + "ip": { + "type": "ip" + }, + "path": { + "type": "keyword", + "ignore_above": 1024 + }, + "port": { + "type": "keyword", + "ignore_above": 1024 } - }, - "tags": { - "type": "keyword", - "ignore_above": 1024 - }, - "user": { - "properties": { - "auid": { - "type": "keyword", - "ignore_above": 1024 - }, - "egid": { - "type": "keyword", - "ignore_above": 1024 - }, - "euid": { - "type": "keyword", - "ignore_above": 1024 - }, - "fsgid": { - "type": "keyword", - "ignore_above": 1024 - }, - "fsuid": { - "type": "keyword", - "ignore_above": 1024 - }, - "gid": { - "type": "keyword", - "ignore_above": 1024 - }, - "name_map": { - "properties": { - "auid": { - "type": "keyword", - "ignore_above": 1024 - }, - "egid": { - "type": "keyword", - "ignore_above": 1024 - }, - "euid": { - "type": "keyword", - "ignore_above": 1024 - }, - "fsgid": { - "type": "keyword", - "ignore_above": 1024 - }, - "fsuid": { - "type": "keyword", - "ignore_above": 1024 - }, - "gid": { - "type": "keyword", - "ignore_above": 1024 - }, - "sgid": { - "type": "keyword", - "ignore_above": 1024 - }, - "suid": { - "type": "keyword", - "ignore_above": 1024 - }, - "uid": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "tags": { + "type": "keyword", + "ignore_above": 1024 + }, + "user": { + "properties": { + "auid": { + "type": "keyword", + "ignore_above": 1024 + }, + "egid": { + "type": "keyword", + "ignore_above": 1024 + }, + "euid": { + "type": "keyword", + "ignore_above": 1024 + }, + "fsgid": { + "type": "keyword", + "ignore_above": 1024 + }, + "fsuid": { + "type": "keyword", + "ignore_above": 1024 + }, + "gid": { + "type": "keyword", + "ignore_above": 1024 + }, + "name_map": { + "properties": { + "auid": { + "type": "keyword", + "ignore_above": 1024 + }, + "egid": { + "type": "keyword", + "ignore_above": 1024 + }, + "euid": { + "type": "keyword", + "ignore_above": 1024 + }, + "fsgid": { + "type": "keyword", + "ignore_above": 1024 + }, + "fsuid": { + "type": "keyword", + "ignore_above": 1024 + }, + "gid": { + "type": "keyword", + "ignore_above": 1024 + }, + "sgid": { + "type": "keyword", + "ignore_above": 1024 + }, + "suid": { + "type": "keyword", + "ignore_above": 1024 + }, + "uid": { + "type": "keyword", + "ignore_above": 1024 } - }, - "selinux": { - "properties": { - "category": { - "type": "keyword", - "ignore_above": 1024 - }, - "domain": { - "type": "keyword", - "ignore_above": 1024 - }, - "level": { - "type": "keyword", - "ignore_above": 1024 - }, - "role": { - "type": "keyword", - "ignore_above": 1024 - }, - "user": { - "type": "keyword", - "ignore_above": 1024 - } + } + }, + "selinux": { + "properties": { + "category": { + "type": "keyword", + "ignore_above": 1024 + }, + "domain": { + "type": "keyword", + "ignore_above": 1024 + }, + "level": { + "type": "keyword", + "ignore_above": 1024 + }, + "role": { + "type": "keyword", + "ignore_above": 1024 + }, + "user": { + "type": "keyword", + "ignore_above": 1024 } - }, - "sgid": { - "type": "keyword", - "ignore_above": 1024 - }, - "suid": { - "type": "keyword", - "ignore_above": 1024 - }, - "uid": { - "type": "keyword", - "ignore_above": 1024 } + }, + "sgid": { + "type": "keyword", + "ignore_above": 1024 + }, + "suid": { + "type": "keyword", + "ignore_above": 1024 + }, + "uid": { + "type": "keyword", + "ignore_above": 1024 } } } diff --git a/x-pack/test/functional/es_archives/dashboard/feature_controls/security/data.json b/x-pack/test/functional/es_archives/dashboard/feature_controls/security/data.json index db4f27e42ee85..b5b92c2ca7f2c 100644 --- a/x-pack/test/functional/es_archives/dashboard/feature_controls/security/data.json +++ b/x-pack/test/functional/es_archives/dashboard/feature_controls/security/data.json @@ -2,7 +2,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "index-pattern:logstash-*", "source": { "index-pattern": { @@ -23,7 +23,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "visualization:75c3e060-1e7c-11e9-8488-65449e65d0ed", "source": { "visualization": { @@ -46,7 +46,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "dashboard:i-exist", "source": { "dashboard": { @@ -71,7 +71,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "config:6.0.0", "source": { "config": { @@ -88,7 +88,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "map:0b849ed0-70f5-11e9-8625-9580c4904684", "source": { "map": { @@ -139,7 +139,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "dashboard:1c1a87f0-70f5-11e9-8625-9580c4904684", "source": { "dashboard": { @@ -174,7 +174,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "query:OKJpgs", "source": { "query": { diff --git a/x-pack/test/functional/es_archives/dashboard/feature_controls/security/mappings.json b/x-pack/test/functional/es_archives/dashboard/feature_controls/security/mappings.json index 66bcf111d2781..e35382b2fd669 100644 --- a/x-pack/test/functional/es_archives/dashboard/feature_controls/security/mappings.json +++ b/x-pack/test/functional/es_archives/dashboard/feature_controls/security/mappings.json @@ -13,464 +13,461 @@ } }, "mappings": { - "doc": { - "dynamic": "strict", - "properties": { - "apm-telemetry": { - "properties": { - "has_any_services": { - "type": "boolean" - }, - "services_per_agent": { - "properties": { - "go": { - "type": "long", - "null_value": 0 - }, - "java": { - "type": "long", - "null_value": 0 - }, - "js-base": { - "type": "long", - "null_value": 0 - }, - "nodejs": { - "type": "long", - "null_value": 0 - }, - "python": { - "type": "long", - "null_value": 0 - }, - "ruby": { - "type": "long", - "null_value": 0 - } + "dynamic": "strict", + "properties": { + "apm-telemetry": { + "properties": { + "has_any_services": { + "type": "boolean" + }, + "services_per_agent": { + "properties": { + "go": { + "type": "long", + "null_value": 0 + }, + "java": { + "type": "long", + "null_value": 0 + }, + "js-base": { + "type": "long", + "null_value": 0 + }, + "nodejs": { + "type": "long", + "null_value": 0 + }, + "python": { + "type": "long", + "null_value": 0 + }, + "ruby": { + "type": "long", + "null_value": 0 } } } - }, - "canvas-workpad": { - "dynamic": "false", - "properties": { - "@created": { - "type": "date" - }, - "@timestamp": { - "type": "date" - }, - "id": { - "type": "text", - "index": false - }, - "name": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword" - } + } + }, + "canvas-workpad": { + "dynamic": "false", + "properties": { + "@created": { + "type": "date" + }, + "@timestamp": { + "type": "date" + }, + "id": { + "type": "text", + "index": false + }, + "name": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword" } } } - }, - "config": { - "dynamic": "true", - "properties": { - "accessibility:disableAnimations": { - "type": "boolean" - }, - "buildNum": { - "type": "keyword" - }, - "dateFormat:tz": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "config": { + "dynamic": "true", + "properties": { + "accessibility:disableAnimations": { + "type": "boolean" + }, + "buildNum": { + "type": "keyword" + }, + "dateFormat:tz": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } - }, - "defaultIndex": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "defaultIndex": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } - }, - "telemetry:optIn": { - "type": "boolean" } + }, + "telemetry:optIn": { + "type": "boolean" } - }, - "dashboard": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "dashboard": { + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } + } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" + }, + "pause": { + "type": "boolean" + }, + "section": { + "type": "integer" + }, + "value": { + "type": "integer" } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "map" : { - "properties" : { - "bounds" : { - "type" : "geo_shape", - "tree" : "quadtree" - }, - "description" : { - "type" : "text" - }, - "layerListJSON" : { - "type" : "text" - }, - "mapStateJSON" : { - "type" : "text" - }, - "title" : { - "type" : "text" - }, - "uiStateJSON" : { - "type" : "text" - }, - "version" : { - "type" : "integer" - } + } + }, + "map" : { + "properties" : { + "bounds" : { + "type" : "geo_shape" + }, + "description" : { + "type" : "text" + }, + "layerListJSON" : { + "type" : "text" + }, + "mapStateJSON" : { + "type" : "text" + }, + "title" : { + "type" : "text" + }, + "uiStateJSON" : { + "type" : "text" + }, + "version" : { + "type" : "integer" } - }, - "graph-workspace": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "graph-workspace": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "numLinks": { - "type": "integer" - }, - "numVertices": { - "type": "integer" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "wsState": { - "type": "text" } + }, + "numLinks": { + "type": "integer" + }, + "numVertices": { + "type": "integer" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "wsState": { + "type": "text" } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "type": { - "type": "keyword" - }, - "typeMeta": { - "type": "keyword" - } + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "type": { + "type": "keyword" + }, + "typeMeta": { + "type": "keyword" } - }, - "kql-telemetry": { - "properties": { - "optInCount": { - "type": "long" - }, - "optOutCount": { - "type": "long" - } + } + }, + "kql-telemetry": { + "properties": { + "optInCount": { + "type": "long" + }, + "optOutCount": { + "type": "long" } - }, - "migrationVersion": { - "dynamic": "true", - "properties": { - "index-pattern": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } - } - }, - "space": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "migrationVersion": { + "dynamic": "true", + "properties": { + "index-pattern": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } } - } - }, - "migrationVersion": { - "dynamic": "true", - "properties": { - "index-pattern": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" + }, + "space": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } } } - }, - "namespace": { - "type": "keyword" - }, - "references": { - "type": "nested", - "properties": { - "name": { - "type": "keyword" - }, - "type": { - "type": "keyword" + } + }, + "migrationVersion": { + "dynamic": "true", + "properties": { + "index-pattern": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "id": { - "type": "keyword" - } + "type": "text" } - }, - "search": { - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "namespace": { + "type": "keyword" + }, + "references": { + "type": "nested", + "properties": { + "name": { + "type": "keyword" + }, + "type": { + "type": "keyword" + }, + "id": { + "type": "keyword" + } + } + }, + "search": { + "properties": { + "columns": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "sort": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } + } + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" } - }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "initials": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 2048 - } + } + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "initials": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 2048 } } } - }, - "spaceId": { - "type": "keyword" - }, - "telemetry": { - "properties": { - "enabled": { - "type": "boolean" - } + } + }, + "spaceId": { + "type": "keyword" + }, + "telemetry": { + "properties": { + "enabled": { + "type": "boolean" } - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" - }, - "url": { - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" - }, - "url": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 2048 - } + } + }, + "type": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + }, + "url": { + "properties": { + "accessCount": { + "type": "long" + }, + "accessDate": { + "type": "date" + }, + "createDate": { + "type": "date" + }, + "url": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 2048 } } } - }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" } + }, + "savedSearchId": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" } - }, - "query": { - "properties": { - "title": { - "type": "text" - }, - "description": { - "type": "text" - }, - "query": { - "properties": { - "language": { - "type": "keyword" - }, - "query": { - "type": "keyword", - "index": false - } + } + }, + "query": { + "properties": { + "title": { + "type": "text" + }, + "description": { + "type": "text" + }, + "query": { + "properties": { + "language": { + "type": "keyword" + }, + "query": { + "type": "keyword", + "index": false } - }, - "filters": { - "type": "object", - "enabled": false - }, - "timefilter": { - "type": "object", - "enabled": false } + }, + "filters": { + "type": "object", + "enabled": false + }, + "timefilter": { + "type": "object", + "enabled": false } } } diff --git a/x-pack/test/functional/es_archives/dashboard/feature_controls/spaces/data.json b/x-pack/test/functional/es_archives/dashboard/feature_controls/spaces/data.json index a43c72659b407..76a93cdba2da1 100644 --- a/x-pack/test/functional/es_archives/dashboard/feature_controls/spaces/data.json +++ b/x-pack/test/functional/es_archives/dashboard/feature_controls/spaces/data.json @@ -2,7 +2,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "index-pattern:logstash-*", "source": { "index-pattern": { @@ -23,7 +23,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "config:6.0.0", "source": { "config": { @@ -40,7 +40,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "custom_space:index-pattern:logstash-*", "source": { "namespace": "custom_space", @@ -62,7 +62,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "custom_space:visualization:75c3e060-1e7c-11e9-8488-65449e65d0ed", "source": { "namespace": "custom_space", @@ -86,7 +86,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "custom_space:dashboard:i-exist", "source": { "namespace": "custom_space", @@ -112,7 +112,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "custom_space:config:6.0.0", "source": { "namespace": "custom_space", diff --git a/x-pack/test/functional/es_archives/dashboard/feature_controls/spaces/mappings.json b/x-pack/test/functional/es_archives/dashboard/feature_controls/spaces/mappings.json index 2db09ac2c497b..0e40e86edc398 100644 --- a/x-pack/test/functional/es_archives/dashboard/feature_controls/spaces/mappings.json +++ b/x-pack/test/functional/es_archives/dashboard/feature_controls/spaces/mappings.json @@ -13,407 +13,404 @@ } }, "mappings": { - "doc": { - "dynamic": "strict", - "properties": { - "apm-telemetry": { - "properties": { - "has_any_services": { - "type": "boolean" - }, - "services_per_agent": { - "properties": { - "go": { - "type": "long", - "null_value": 0 - }, - "java": { - "type": "long", - "null_value": 0 - }, - "js-base": { - "type": "long", - "null_value": 0 - }, - "nodejs": { - "type": "long", - "null_value": 0 - }, - "python": { - "type": "long", - "null_value": 0 - }, - "ruby": { - "type": "long", - "null_value": 0 - } + "dynamic": "strict", + "properties": { + "apm-telemetry": { + "properties": { + "has_any_services": { + "type": "boolean" + }, + "services_per_agent": { + "properties": { + "go": { + "type": "long", + "null_value": 0 + }, + "java": { + "type": "long", + "null_value": 0 + }, + "js-base": { + "type": "long", + "null_value": 0 + }, + "nodejs": { + "type": "long", + "null_value": 0 + }, + "python": { + "type": "long", + "null_value": 0 + }, + "ruby": { + "type": "long", + "null_value": 0 } } } - }, - "canvas-workpad": { - "dynamic": "false", - "properties": { - "@created": { - "type": "date" - }, - "@timestamp": { - "type": "date" - }, - "id": { - "type": "text", - "index": false - }, - "name": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword" - } + } + }, + "canvas-workpad": { + "dynamic": "false", + "properties": { + "@created": { + "type": "date" + }, + "@timestamp": { + "type": "date" + }, + "id": { + "type": "text", + "index": false + }, + "name": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword" } } } - }, - "config": { - "dynamic": "true", - "properties": { - "accessibility:disableAnimations": { - "type": "boolean" - }, - "buildNum": { - "type": "keyword" - }, - "dateFormat:tz": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "config": { + "dynamic": "true", + "properties": { + "accessibility:disableAnimations": { + "type": "boolean" + }, + "buildNum": { + "type": "keyword" + }, + "dateFormat:tz": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } - }, - "defaultIndex": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "defaultIndex": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } - }, - "telemetry:optIn": { - "type": "boolean" } + }, + "telemetry:optIn": { + "type": "boolean" } - }, - "dashboard": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "dashboard": { + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } + } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" + }, + "pause": { + "type": "boolean" + }, + "section": { + "type": "integer" + }, + "value": { + "type": "integer" } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "gis-map" : { - "properties" : { - "bounds" : { - "type" : "geo_shape", - "tree" : "quadtree" - }, - "description" : { - "type" : "text" - }, - "layerListJSON" : { - "type" : "text" - }, - "mapStateJSON" : { - "type" : "text" - }, - "title" : { - "type" : "text" - }, - "uiStateJSON" : { - "type" : "text" - }, - "version" : { - "type" : "integer" - } + } + }, + "gis-map" : { + "properties" : { + "bounds" : { + "type" : "geo_shape" + }, + "description" : { + "type" : "text" + }, + "layerListJSON" : { + "type" : "text" + }, + "mapStateJSON" : { + "type" : "text" + }, + "title" : { + "type" : "text" + }, + "uiStateJSON" : { + "type" : "text" + }, + "version" : { + "type" : "integer" } - }, - "graph-workspace": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "graph-workspace": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "numLinks": { - "type": "integer" - }, - "numVertices": { - "type": "integer" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "wsState": { - "type": "text" } + }, + "numLinks": { + "type": "integer" + }, + "numVertices": { + "type": "integer" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "wsState": { + "type": "text" } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "type": { - "type": "keyword" - }, - "typeMeta": { - "type": "keyword" - } + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "type": { + "type": "keyword" + }, + "typeMeta": { + "type": "keyword" } - }, - "kql-telemetry": { - "properties": { - "optInCount": { - "type": "long" - }, - "optOutCount": { - "type": "long" - } + } + }, + "kql-telemetry": { + "properties": { + "optInCount": { + "type": "long" + }, + "optOutCount": { + "type": "long" } - }, - "migrationVersion": { - "dynamic": "true", - "properties": { - "index-pattern": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "migrationVersion": { + "dynamic": "true", + "properties": { + "index-pattern": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } - }, - "space": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "space": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } } } - }, - "namespace": { - "type": "keyword" - }, - "search": { - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "namespace": { + "type": "keyword" + }, + "search": { + "properties": { + "columns": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "sort": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } + } + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" } - }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "initials": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 2048 - } + } + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "initials": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 2048 } } } - }, - "spaceId": { - "type": "keyword" - }, - "telemetry": { - "properties": { - "enabled": { - "type": "boolean" - } + } + }, + "spaceId": { + "type": "keyword" + }, + "telemetry": { + "properties": { + "enabled": { + "type": "boolean" } - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" - }, - "url": { - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" - }, - "url": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 2048 - } + } + }, + "type": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + }, + "url": { + "properties": { + "accessCount": { + "type": "long" + }, + "accessDate": { + "type": "date" + }, + "createDate": { + "type": "date" + }, + "url": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 2048 } } } - }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" } + }, + "savedSearchId": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" } } } diff --git a/x-pack/test/functional/es_archives/endpoint/metadata/api_feature/data.json b/x-pack/test/functional/es_archives/endpoint/metadata/api_feature/data.json index 449731d9e4ab2..e463dce5e060a 100644 --- a/x-pack/test/functional/es_archives/endpoint/metadata/api_feature/data.json +++ b/x-pack/test/functional/es_archives/endpoint/metadata/api_feature/data.json @@ -4,7 +4,7 @@ "id": "3KVN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1634656952181, + "@timestamp": 1642522686057, "agent": { "id": "963b081e-60d1-482c-befd-a5815fa8290f", "version": "6.6.1", @@ -26,7 +26,7 @@ } }, "event": { - "created": 1634656952181, + "created": 1642522686057, "id": "32f5fda2-48e4-4fae-b89e-a18038294d14", "kind": "metric", "category": [ @@ -74,7 +74,7 @@ "id": "3aVN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1634656952181, + "@timestamp": 1642522686057, "agent": { "id": "b3412d6f-b022-4448-8fee-21cc936ea86b", "version": "6.0.0", @@ -96,7 +96,7 @@ } }, "event": { - "created": 1634656952181, + "created": 1642522686057, "id": "32f5fda2-48e4-4fae-b89e-a18038294d15", "kind": "metric", "category": [ @@ -143,7 +143,7 @@ "id": "3qVN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1634656952181, + "@timestamp": 1642522686057, "agent": { "id": "3838df35-a095-4af4-8fce-0b6d78793f2e", "version": "6.8.0", @@ -165,7 +165,7 @@ } }, "event": { - "created": 1634656952181, + "created": 1642522686057, "id": "32f5fda2-48e4-4fae-b89e-a18038294d16", "kind": "metric", "category": [ @@ -210,7 +210,7 @@ "id": "36VN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1634656952181, + "@timestamp": 1642522686057, "agent": { "id": "963b081e-60d1-482c-befd-a5815fa8290f", "version": "6.6.1", @@ -232,7 +232,7 @@ } }, "event": { - "created": 1634656952181, + "created": 1642522686057, "id": "32f5fda2-48e4-4fae-b89e-a18038294d18", "kind": "metric", "category": [ @@ -280,7 +280,7 @@ "id": "4KVN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1634656952181, + "@timestamp": 1642522686057, "agent": { "id": "b3412d6f-b022-4448-8fee-21cc936ea86b", "version": "6.0.0", @@ -302,7 +302,7 @@ } }, "event": { - "created": 1634656952181, + "created": 1642522686057, "id": "32f5fda2-48e4-4fae-b89e-a18038294d19", "kind": "metric", "category": [ @@ -348,7 +348,7 @@ "id": "4aVN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1634656952181, + "@timestamp": 1642522686057, "agent": { "id": "3838df35-a095-4af4-8fce-0b6d78793f2e", "version": "6.8.0", @@ -370,7 +370,7 @@ } }, "event": { - "created": 1634656952181, + "created": 1642522686057, "id": "32f5fda2-48e4-4fae-b89e-a18038294d39", "kind": "metric", "category": [ @@ -416,7 +416,7 @@ "id": "4qVN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1634656952181, + "@timestamp": 1642522686057, "agent": { "id": "963b081e-60d1-482c-befd-a5815fa8290f", "version": "6.6.1", @@ -438,7 +438,7 @@ } }, "event": { - "created": 1634656952181, + "created": 1642522686057, "id": "32f5fda2-48e4-4fae-b89e-a18038294d31", "kind": "metric", "category": [ @@ -485,7 +485,7 @@ "id": "46VN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1634656952181, + "@timestamp": 1642522686057, "agent": { "id": "b3412d6f-b022-4448-8fee-21cc936ea86b", "version": "6.0.0", @@ -507,7 +507,7 @@ } }, "event": { - "created": 1634656952181, + "created": 1642522686057, "id": "32f5fda2-48e4-4fae-b89e-a18038294d23", "kind": "metric", "category": [ @@ -553,7 +553,7 @@ "id": "5KVN2G8BYQH1gtPUuYk7", "index": "metrics-endpoint.metadata-default", "source": { - "@timestamp": 1634656952181, + "@timestamp": 1642522686057, "agent": { "id": "3838df35-a095-4af4-8fce-0b6d78793f2e", "version": "6.8.0", @@ -575,7 +575,7 @@ } }, "event": { - "created": 1634656952181, + "created": 1642522686057, "id": "32f5fda2-48e4-4fae-b89e-a18038294d35", "kind": "metric", "category": [ diff --git a/x-pack/test/functional/es_archives/infra/6.6.0/docker/mappings.json b/x-pack/test/functional/es_archives/infra/6.6.0/docker/mappings.json index 338c0b5973c69..1933abe30146e 100644 --- a/x-pack/test/functional/es_archives/infra/6.6.0/docker/mappings.json +++ b/x-pack/test/functional/es_archives/infra/6.6.0/docker/mappings.json @@ -5,806 +5,804 @@ }, "index": "metricbeat-6.6.0-2019.01.15", "mappings": { - "_doc": { - "_meta": { - "version": "6.6.0" + "_meta": { + "version": "6.6.0" + }, + "date_detection": false, + "dynamic_templates": [ + { + "system.process.env": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "system.process.env.*" + } }, - "date_detection": false, - "dynamic_templates": [ - { - "system.process.env": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "system.process.env.*" - } - }, - { - "system.process.cgroup.cpuacct.percpu": { - "mapping": { - "type": "long" - }, - "match_mapping_type": "long", - "path_match": "system.process.cgroup.cpuacct.percpu.*" - } - }, - { - "docker.cpu.core.*.pct": { - "mapping": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "path_match": "docker.cpu.core.*.pct" - } - }, - { - "docker.cpu.core.*.ticks": { - "mapping": { - "type": "long" - }, - "match_mapping_type": "long", - "path_match": "docker.cpu.core.*.ticks" - } - }, - { - "docker.image.labels": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "docker.image.labels.*" - } - }, - { - "vsphere.virtualmachine.custom_fields": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "vsphere.virtualmachine.custom_fields.*" - } - }, - { - "kubernetes.apiserver.request.latency.bucket": { - "mapping": { - "type": "long" - }, - "match_mapping_type": "long", - "path_match": "kubernetes.apiserver.request.latency.bucket.*" - } - }, - { - "traefik.health.response.status_code": { - "mapping": { - "type": "long" - }, - "match_mapping_type": "long", - "path_match": "traefik.health.response.status_code.*" - } - }, - { - "fields": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "fields.*" - } - }, - { - "docker.container.labels": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "docker.container.labels.*" - } - }, - { - "strings_as_keyword": { - "mapping": { - "ignore_above": 1024, - "type": "keyword" - }, - "match_mapping_type": "string" - } + { + "system.process.cgroup.cpuacct.percpu": { + "mapping": { + "type": "long" + }, + "match_mapping_type": "long", + "path_match": "system.process.cgroup.cpuacct.percpu.*" } - ], - "properties": { - "@timestamp": { - "type": "date" - }, - "aerospike": { - "properties": { - "namespace": { - "properties": { - "client": { - "properties": { - "delete": { - "properties": { - "error": { - "type": "long" - }, - "not_found": { - "type": "long" - }, - "success": { - "type": "long" - }, - "timeout": { - "type": "long" - } - } - }, - "read": { - "properties": { - "error": { - "type": "long" - }, - "not_found": { - "type": "long" - }, - "success": { - "type": "long" - }, - "timeout": { - "type": "long" - } - } - }, - "write": { - "properties": { - "error": { - "type": "long" - }, - "success": { - "type": "long" - }, - "timeout": { - "type": "long" - } - } - } - } - }, - "device": { - "properties": { - "available": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "free": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } - } - } - } - }, - "hwm_breached": { - "type": "boolean" - }, - "memory": { - "properties": { - "free": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "used": { - "properties": { - "data": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "index": { - "properties": { - "bytes": { - "type": "long" - } + }, + { + "docker.cpu.core.*.pct": { + "mapping": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "path_match": "docker.cpu.core.*.pct" + } + }, + { + "docker.cpu.core.*.ticks": { + "mapping": { + "type": "long" + }, + "match_mapping_type": "long", + "path_match": "docker.cpu.core.*.ticks" + } + }, + { + "docker.image.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "docker.image.labels.*" + } + }, + { + "vsphere.virtualmachine.custom_fields": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "vsphere.virtualmachine.custom_fields.*" + } + }, + { + "kubernetes.apiserver.request.latency.bucket": { + "mapping": { + "type": "long" + }, + "match_mapping_type": "long", + "path_match": "kubernetes.apiserver.request.latency.bucket.*" + } + }, + { + "traefik.health.response.status_code": { + "mapping": { + "type": "long" + }, + "match_mapping_type": "long", + "path_match": "traefik.health.response.status_code.*" + } + }, + { + "fields": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "fields.*" + } + }, + { + "docker.container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "docker.container.labels.*" + } + }, + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "aerospike": { + "properties": { + "namespace": { + "properties": { + "client": { + "properties": { + "delete": { + "properties": { + "error": { + "type": "long" + }, + "not_found": { + "type": "long" + }, + "success": { + "type": "long" + }, + "timeout": { + "type": "long" + } + } + }, + "read": { + "properties": { + "error": { + "type": "long" + }, + "not_found": { + "type": "long" + }, + "success": { + "type": "long" + }, + "timeout": { + "type": "long" + } + } + }, + "write": { + "properties": { + "error": { + "type": "long" + }, + "success": { + "type": "long" + }, + "timeout": { + "type": "long" + } + } + } + } + }, + "device": { + "properties": { + "available": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "free": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "hwm_breached": { + "type": "boolean" + }, + "memory": { + "properties": { + "free": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "used": { + "properties": { + "data": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "index": { + "properties": { + "bytes": { + "type": "long" } - }, - "sindex": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "sindex": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "node": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "objects": { - "properties": { - "master": { - "type": "long" - }, - "total": { - "type": "long" - } + } + }, + "objects": { + "properties": { + "master": { + "type": "long" + }, + "total": { + "type": "long" } - }, - "stop_writes": { - "type": "boolean" } + }, + "stop_writes": { + "type": "boolean" } } } - }, - "apache": { - "properties": { - "status": { - "properties": { - "bytes_per_request": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "bytes_per_sec": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "connections": { - "properties": { - "async": { - "properties": { - "closing": { - "type": "long" - }, - "keep_alive": { - "type": "long" - }, - "writing": { - "type": "long" - } - } - }, - "total": { - "type": "long" - } - } - }, - "cpu": { - "properties": { - "children_system": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "children_user": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "load": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "system": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "user": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "load": { - "properties": { - "1": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "15": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "5": { - "scaling_factor": 100, - "type": "scaled_float" - } - } - }, - "requests_per_sec": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "scoreboard": { - "properties": { - "closing_connection": { - "type": "long" - }, - "dns_lookup": { - "type": "long" - }, - "gracefully_finishing": { - "type": "long" - }, - "idle_cleanup": { - "type": "long" - }, - "keepalive": { - "type": "long" - }, - "logging": { - "type": "long" - }, - "open_slot": { - "type": "long" - }, - "reading_request": { - "type": "long" - }, - "sending_reply": { - "type": "long" - }, - "starting_up": { - "type": "long" - }, - "total": { - "type": "long" - }, - "waiting_for_connection": { - "type": "long" - } - } - }, - "total_accesses": { - "type": "long" - }, - "total_kbytes": { - "type": "long" - }, - "uptime": { - "properties": { - "server_uptime": { - "type": "long" - }, - "uptime": { - "type": "long" - } - } - }, - "workers": { - "properties": { - "busy": { - "type": "long" - }, - "idle": { - "type": "long" - } + } + }, + "apache": { + "properties": { + "status": { + "properties": { + "bytes_per_request": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "bytes_per_sec": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "connections": { + "properties": { + "async": { + "properties": { + "closing": { + "type": "long" + }, + "keep_alive": { + "type": "long" + }, + "writing": { + "type": "long" + } + } + }, + "total": { + "type": "long" + } + } + }, + "cpu": { + "properties": { + "children_system": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "children_user": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "load": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "system": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "user": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "load": { + "properties": { + "1": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "15": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "5": { + "scaling_factor": 100, + "type": "scaled_float" + } + } + }, + "requests_per_sec": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "scoreboard": { + "properties": { + "closing_connection": { + "type": "long" + }, + "dns_lookup": { + "type": "long" + }, + "gracefully_finishing": { + "type": "long" + }, + "idle_cleanup": { + "type": "long" + }, + "keepalive": { + "type": "long" + }, + "logging": { + "type": "long" + }, + "open_slot": { + "type": "long" + }, + "reading_request": { + "type": "long" + }, + "sending_reply": { + "type": "long" + }, + "starting_up": { + "type": "long" + }, + "total": { + "type": "long" + }, + "waiting_for_connection": { + "type": "long" + } + } + }, + "total_accesses": { + "type": "long" + }, + "total_kbytes": { + "type": "long" + }, + "uptime": { + "properties": { + "server_uptime": { + "type": "long" + }, + "uptime": { + "type": "long" + } + } + }, + "workers": { + "properties": { + "busy": { + "type": "long" + }, + "idle": { + "type": "long" } } } } } - }, - "beat": { - "properties": { - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "timezone": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "beat": { + "properties": { + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "ceph": { - "properties": { - "cluster_disk": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } - } - } - } - }, - "cluster_health": { - "properties": { - "overall_status": { - "ignore_above": 1024, - "type": "keyword" - }, - "timechecks": { - "properties": { - "epoch": { - "type": "long" - }, - "round": { - "properties": { - "status": { - "ignore_above": 1024, - "type": "keyword" - }, - "value": { - "type": "long" - } - } - } - } - } - } - }, - "cluster_status": { - "properties": { - "degraded": { - "properties": { - "objects": { - "type": "long" - }, - "ratio": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "total": { - "type": "long" - } - } - }, - "misplace": { - "properties": { - "objects": { - "type": "long" - }, - "ratio": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "total": { - "type": "long" - } - } - }, - "osd": { - "properties": { - "epoch": { - "type": "long" - }, - "full": { - "type": "boolean" - }, - "nearfull": { - "type": "boolean" - }, - "num_in_osds": { - "type": "long" - }, - "num_osds": { - "type": "long" - }, - "num_remapped_pgs": { - "type": "long" - }, - "num_up_osds": { - "type": "long" - } - } - }, - "pg": { - "properties": { - "avail_bytes": { - "type": "long" - }, - "data_bytes": { - "type": "long" - }, - "total_bytes": { - "type": "long" - }, - "used_bytes": { - "type": "long" - } - } - }, - "pg_state": { - "properties": { - "count": { - "type": "long" - }, - "state_name": { - "type": "long" - }, - "version": { - "type": "long" - } - } - }, - "traffic": { - "properties": { - "read_bytes": { - "type": "long" - }, - "read_op_per_sec": { - "type": "long" - }, - "write_bytes": { - "type": "long" - }, - "write_op_per_sec": { - "type": "long" - } - } - }, - "version": { - "type": "long" - } - } - }, - "monitor_health": { - "properties": { - "available": { - "properties": { - "kb": { - "type": "long" - }, - "pct": { - "type": "long" - } - } - }, - "health": { - "ignore_above": 1024, - "type": "keyword" - }, - "last_updated": { - "type": "date" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "store_stats": { - "properties": { - "last_updated": { - "type": "long" - }, - "log": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "misc": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "sst": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } - } - } - } - }, - "total": { - "properties": { - "kb": { - "type": "long" - } - } - }, - "used": { - "properties": { - "kb": { - "type": "long" - } - } - } - } - }, - "osd_df": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "device_class": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "type": "long" - }, - "name": { - "norms": false, - "type": "text" - }, - "pg_num": { - "type": "long" - }, - "total": { - "properties": { - "byte": { - "type": "long" - } - } - }, - "used": { - "properties": { - "byte": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - } - } - }, - "osd_tree": { - "properties": { - "children": { - "norms": false, - "type": "text" - }, - "crush_weight": { - "type": "float" - }, - "depth": { - "type": "long" - }, - "device_class": { - "ignore_above": 1024, - "type": "keyword" - }, - "exists": { - "type": "boolean" - }, - "father": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "type": "long" - }, - "name": { - "norms": false, - "type": "text" - }, - "primary_affinity": { - "type": "float" - }, - "reweight": { - "type": "long" - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "type_id": { - "type": "long" - } - } - }, - "pool_disk": { - "properties": { - "id": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "stats": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "objects": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "kb": { - "type": "long" - } + } + }, + "ceph": { + "properties": { + "cluster_disk": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "cluster_health": { + "properties": { + "overall_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "timechecks": { + "properties": { + "epoch": { + "type": "long" + }, + "round": { + "properties": { + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "value": { + "type": "long" + } + } + } + } + } + } + }, + "cluster_status": { + "properties": { + "degraded": { + "properties": { + "objects": { + "type": "long" + }, + "ratio": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "total": { + "type": "long" + } + } + }, + "misplace": { + "properties": { + "objects": { + "type": "long" + }, + "ratio": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "total": { + "type": "long" + } + } + }, + "osd": { + "properties": { + "epoch": { + "type": "long" + }, + "full": { + "type": "boolean" + }, + "nearfull": { + "type": "boolean" + }, + "num_in_osds": { + "type": "long" + }, + "num_osds": { + "type": "long" + }, + "num_remapped_pgs": { + "type": "long" + }, + "num_up_osds": { + "type": "long" + } + } + }, + "pg": { + "properties": { + "avail_bytes": { + "type": "long" + }, + "data_bytes": { + "type": "long" + }, + "total_bytes": { + "type": "long" + }, + "used_bytes": { + "type": "long" + } + } + }, + "pg_state": { + "properties": { + "count": { + "type": "long" + }, + "state_name": { + "type": "long" + }, + "version": { + "type": "long" + } + } + }, + "traffic": { + "properties": { + "read_bytes": { + "type": "long" + }, + "read_op_per_sec": { + "type": "long" + }, + "write_bytes": { + "type": "long" + }, + "write_op_per_sec": { + "type": "long" + } + } + }, + "version": { + "type": "long" + } + } + }, + "monitor_health": { + "properties": { + "available": { + "properties": { + "kb": { + "type": "long" + }, + "pct": { + "type": "long" + } + } + }, + "health": { + "ignore_above": 1024, + "type": "keyword" + }, + "last_updated": { + "type": "date" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "store_stats": { + "properties": { + "last_updated": { + "type": "long" + }, + "log": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "misc": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "sst": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "total": { + "properties": { + "kb": { + "type": "long" + } + } + }, + "used": { + "properties": { + "kb": { + "type": "long" + } + } + } + } + }, + "osd_df": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "device_class": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "type": "long" + }, + "name": { + "norms": false, + "type": "text" + }, + "pg_num": { + "type": "long" + }, + "total": { + "properties": { + "byte": { + "type": "long" + } + } + }, + "used": { + "properties": { + "byte": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + }, + "osd_tree": { + "properties": { + "children": { + "norms": false, + "type": "text" + }, + "crush_weight": { + "type": "float" + }, + "depth": { + "type": "long" + }, + "device_class": { + "ignore_above": 1024, + "type": "keyword" + }, + "exists": { + "type": "boolean" + }, + "father": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "type": "long" + }, + "name": { + "norms": false, + "type": "text" + }, + "primary_affinity": { + "type": "float" + }, + "reweight": { + "type": "long" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "type_id": { + "type": "long" + } + } + }, + "pool_disk": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "stats": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "objects": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "kb": { + "type": "long" } } } @@ -812,279 +810,279 @@ } } } - }, - "cloud": { - "properties": { - "availability_zone": { - "path": "meta.cloud.availability_zone", - "type": "alias" - }, - "instance": { - "properties": { - "id": { - "path": "meta.cloud.instance_id", - "type": "alias" - }, - "name": { - "path": "meta.cloud.instance_name", - "type": "alias" - } - } - }, - "machine": { - "properties": { - "type": { - "path": "meta.cloud.machine_type", - "type": "alias" - } - } - }, - "project": { - "properties": { - "id": { - "path": "meta.cloud.project_id", - "type": "alias" - } - } - }, - "provider": { - "path": "meta.cloud.provider", - "type": "alias" - }, - "region": { - "path": "meta.cloud.region", - "type": "alias" + } + }, + "cloud": { + "properties": { + "availability_zone": { + "path": "meta.cloud.availability_zone", + "type": "alias" + }, + "instance": { + "properties": { + "id": { + "path": "meta.cloud.instance_id", + "type": "alias" + }, + "name": { + "path": "meta.cloud.instance_name", + "type": "alias" + } + } + }, + "machine": { + "properties": { + "type": { + "path": "meta.cloud.machine_type", + "type": "alias" + } + } + }, + "project": { + "properties": { + "id": { + "path": "meta.cloud.project_id", + "type": "alias" + } } + }, + "provider": { + "path": "meta.cloud.provider", + "type": "alias" + }, + "region": { + "path": "meta.cloud.region", + "type": "alias" } - }, - "container": { - "properties": { - "id": { - "path": "docker.container.id", - "type": "alias" - }, - "image": { - "properties": { - "name": { - "path": "docker.container.image", - "type": "alias" - } - } - }, - "name": { - "path": "docker.container.name", - "type": "alias" + } + }, + "container": { + "properties": { + "id": { + "path": "docker.container.id", + "type": "alias" + }, + "image": { + "properties": { + "name": { + "path": "docker.container.image", + "type": "alias" + } } + }, + "name": { + "path": "docker.container.name", + "type": "alias" } - }, - "couchbase": { - "properties": { - "bucket": { - "properties": { - "data": { - "properties": { - "used": { - "properties": { - "bytes": { - "type": "long" - } - } - } - } - }, - "disk": { - "properties": { - "fetches": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } - } - } - } - }, - "item_count": { - "type": "long" - }, - "memory": { - "properties": { - "used": { - "properties": { - "bytes": { - "type": "long" - } - } - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "ops_per_sec": { - "type": "long" - }, - "quota": { - "properties": { - "ram": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "use": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - } - } - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "cluster": { - "properties": { - "hdd": { - "properties": { - "free": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "quota": { - "properties": { - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "couchbase": { + "properties": { + "bucket": { + "properties": { + "data": { + "properties": { + "used": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "disk": { + "properties": { + "fetches": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "item_count": { + "type": "long" + }, + "memory": { + "properties": { + "used": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "ops_per_sec": { + "type": "long" + }, + "quota": { + "properties": { + "ram": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "use": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "cluster": { + "properties": { + "hdd": { + "properties": { + "free": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "quota": { + "properties": { + "total": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "by_data": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "by_data": { + "properties": { + "bytes": { + "type": "long" } - }, - "value": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "value": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "max_bucket_count": { - "type": "long" - }, - "quota": { - "properties": { - "index_memory": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "max_bucket_count": { + "type": "long" + }, + "quota": { + "properties": { + "index_memory": { + "properties": { + "mb": { + "type": "long" } - }, - "memory": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "mb": { + "type": "long" } } } - }, - "ram": { - "properties": { - "quota": { - "properties": { - "total": { - "properties": { - "per_node": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "ram": { + "properties": { + "quota": { + "properties": { + "total": { + "properties": { + "per_node": { + "properties": { + "bytes": { + "type": "long" } - }, - "value": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "value": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "used": { - "properties": { - "per_node": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "per_node": { + "properties": { + "bytes": { + "type": "long" } - }, - "value": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "value": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "by_data": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "by_data": { + "properties": { + "bytes": { + "type": "long" } - }, - "value": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "value": { + "properties": { + "bytes": { + "type": "long" } } } @@ -1092,996 +1090,996 @@ } } } - }, - "node": { - "properties": { - "cmd_get": { - "type": "long" - }, - "couch": { - "properties": { - "docs": { - "properties": { - "data_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "node": { + "properties": { + "cmd_get": { + "type": "long" + }, + "couch": { + "properties": { + "docs": { + "properties": { + "data_size": { + "properties": { + "bytes": { + "type": "long" } - }, - "disk_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "disk_size": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "spatial": { - "properties": { - "data_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "spatial": { + "properties": { + "data_size": { + "properties": { + "bytes": { + "type": "long" } - }, - "disk_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "disk_size": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "views": { - "properties": { - "data_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "views": { + "properties": { + "data_size": { + "properties": { + "bytes": { + "type": "long" } - }, - "disk_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "disk_size": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "cpu_utilization_rate": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "cpu_utilization_rate": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "current_items": { - "properties": { - "total": { - "type": "long" - }, - "value": { - "type": "long" - } + } + }, + "current_items": { + "properties": { + "total": { + "type": "long" + }, + "value": { + "type": "long" } - }, - "ep_bg_fetched": { - "type": "long" - }, - "get_hits": { - "type": "long" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "mcd_memory": { - "properties": { - "allocated": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "ep_bg_fetched": { + "type": "long" + }, + "get_hits": { + "type": "long" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "mcd_memory": { + "properties": { + "allocated": { + "properties": { + "bytes": { + "type": "long" } - }, - "reserved": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "reserved": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "memory": { - "properties": { - "free": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "free": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "ops": { - "type": "long" - }, - "swap": { - "properties": { - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "ops": { + "type": "long" + }, + "swap": { + "properties": { + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "uptime": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "uptime": { + "properties": { + "sec": { + "type": "long" } - }, - "vb_replica_curr_items": { - "type": "long" } + }, + "vb_replica_curr_items": { + "type": "long" } } } - }, - "docker": { - "properties": { - "container": { - "properties": { - "command": { - "ignore_above": 1024, - "type": "keyword" - }, - "created": { - "type": "date" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "image": { - "ignore_above": 1024, - "type": "keyword" - }, - "ip_addresses": { - "ignore_above": 1024, - "type": "keyword" - }, - "labels": { - "properties": { - "co": { - "properties": { - "elastic": { - "properties": { - "logs/fileset": { - "properties": { - "stderr": { - "type": "keyword" - }, - "stdout": { - "type": "keyword" - } + } + }, + "docker": { + "properties": { + "container": { + "properties": { + "command": { + "ignore_above": 1024, + "type": "keyword" + }, + "created": { + "type": "date" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip_addresses": { + "ignore_above": 1024, + "type": "keyword" + }, + "labels": { + "properties": { + "co": { + "properties": { + "elastic": { + "properties": { + "logs/fileset": { + "properties": { + "stderr": { + "type": "keyword" + }, + "stdout": { + "type": "keyword" } - }, - "logs/module": { - "type": "keyword" } - } - } - } - }, - "co_elastic_logs/fileset_stderr": { - "type": "keyword" - }, - "co_elastic_logs/fileset_stdout": { - "type": "keyword" - }, - "co_elastic_logs/module": { - "type": "keyword" - }, - "com": { - "properties": { - "docker": { - "properties": { - "compose": { - "properties": { - "config-hash": { - "type": "keyword" - }, - "container-number": { - "type": "keyword" - }, - "oneoff": { - "type": "keyword" - }, - "project": { - "type": "keyword" - }, - "service": { - "type": "keyword" - }, - "version": { - "type": "keyword" - } + }, + "logs/module": { + "type": "keyword" + } + } + } + } + }, + "co_elastic_logs/fileset_stderr": { + "type": "keyword" + }, + "co_elastic_logs/fileset_stdout": { + "type": "keyword" + }, + "co_elastic_logs/module": { + "type": "keyword" + }, + "com": { + "properties": { + "docker": { + "properties": { + "compose": { + "properties": { + "config-hash": { + "type": "keyword" + }, + "container-number": { + "type": "keyword" + }, + "oneoff": { + "type": "keyword" + }, + "project": { + "type": "keyword" + }, + "service": { + "type": "keyword" + }, + "version": { + "type": "keyword" } } } } } - }, - "com_docker_compose_config-hash": { - "type": "keyword" - }, - "com_docker_compose_container-number": { - "type": "keyword" - }, - "com_docker_compose_oneoff": { - "type": "keyword" - }, - "com_docker_compose_project": { - "type": "keyword" - }, - "com_docker_compose_service": { - "type": "keyword" - }, - "com_docker_compose_version": { - "type": "keyword" - }, - "description": { - "type": "keyword" - }, - "license": { - "type": "keyword" - }, - "maintainer": { - "type": "keyword" - }, - "org": { - "properties": { - "label-schema": { - "properties": { - "build-date": { - "type": "keyword" - }, - "license": { - "type": "keyword" - }, - "name": { - "type": "keyword" - }, - "schema-version": { - "type": "keyword" - }, - "url": { - "type": "keyword" - }, - "vcs-url": { - "type": "keyword" - }, - "vendor": { - "type": "keyword" - }, - "version": { - "type": "keyword" - } - } - } - } - }, - "org_label-schema_build-date": { - "type": "keyword" - }, - "org_label-schema_license": { - "type": "keyword" - }, - "org_label-schema_name": { - "type": "keyword" - }, - "org_label-schema_schema-version": { - "type": "keyword" - }, - "org_label-schema_url": { - "type": "keyword" - }, - "org_label-schema_vcs-ref": { - "type": "keyword" - }, - "org_label-schema_vcs-url": { - "type": "keyword" - }, - "org_label-schema_vendor": { - "type": "keyword" - }, - "org_label-schema_version": { - "type": "keyword" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "size": { - "properties": { - "root_fs": { - "type": "long" - }, - "rw": { - "type": "long" - } - } - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "cpu": { - "properties": { - "core": { - "properties": { - "*": { - "properties": { - "pct": { - "type": "object" - }, - "ticks": { - "type": "object" - } - } - }, - "0": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "1": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "2": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "3": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - } - } - }, - "kernel": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "system": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "total": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "user": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - } - } - }, - "diskio": { - "properties": { - "read": { - "properties": { - "bytes": { - "type": "long" - }, - "ops": { - "type": "long" - }, - "rate": { - "type": "long" - } - } - }, - "reads": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "summary": { - "properties": { - "bytes": { - "type": "long" - }, - "ops": { - "type": "long" - }, - "rate": { - "type": "long" - } - } - }, - "total": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "write": { - "properties": { - "bytes": { - "type": "long" - }, - "ops": { - "type": "long" - }, - "rate": { - "type": "long" - } - } - }, - "writes": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "healthcheck": { - "properties": { - "event": { - "properties": { - "end_date": { - "type": "date" - }, - "exit_code": { - "type": "long" - }, - "output": { - "ignore_above": 1024, - "type": "keyword" - }, - "start_date": { - "type": "date" - } - } - }, - "failingstreak": { - "type": "long" - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "image": { - "properties": { - "created": { - "type": "date" - }, - "id": { - "properties": { - "current": { - "ignore_above": 1024, - "type": "keyword" - }, - "parent": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "labels": { - "type": "object" - }, - "size": { - "properties": { - "regular": { - "type": "long" - }, - "virtual": { - "type": "long" - } - } - } - } - }, - "info": { - "properties": { - "containers": { - "properties": { - "paused": { - "type": "long" - }, - "running": { - "type": "long" - }, - "stopped": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "images": { - "type": "long" - } - } - }, - "memory": { - "properties": { - "fail": { - "properties": { - "count": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "limit": { - "type": "long" - }, - "rss": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "total": { - "type": "long" - } - } - }, - "usage": { - "properties": { - "max": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "total": { - "type": "long" - } - } - } - } - }, - "network": { - "properties": { - "in": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" - } - } - }, - "inbound": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" - } - } - }, - "interface": { - "ignore_above": 1024, - "type": "keyword" - }, - "out": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" - } - } - }, - "outbound": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" } + }, + "com_docker_compose_config-hash": { + "type": "keyword" + }, + "com_docker_compose_container-number": { + "type": "keyword" + }, + "com_docker_compose_oneoff": { + "type": "keyword" + }, + "com_docker_compose_project": { + "type": "keyword" + }, + "com_docker_compose_service": { + "type": "keyword" + }, + "com_docker_compose_version": { + "type": "keyword" + }, + "description": { + "type": "keyword" + }, + "license": { + "type": "keyword" + }, + "maintainer": { + "type": "keyword" + }, + "org": { + "properties": { + "label-schema": { + "properties": { + "build-date": { + "type": "keyword" + }, + "license": { + "type": "keyword" + }, + "name": { + "type": "keyword" + }, + "schema-version": { + "type": "keyword" + }, + "url": { + "type": "keyword" + }, + "vcs-url": { + "type": "keyword" + }, + "vendor": { + "type": "keyword" + }, + "version": { + "type": "keyword" + } + } + } + } + }, + "org_label-schema_build-date": { + "type": "keyword" + }, + "org_label-schema_license": { + "type": "keyword" + }, + "org_label-schema_name": { + "type": "keyword" + }, + "org_label-schema_schema-version": { + "type": "keyword" + }, + "org_label-schema_url": { + "type": "keyword" + }, + "org_label-schema_vcs-ref": { + "type": "keyword" + }, + "org_label-schema_vcs-url": { + "type": "keyword" + }, + "org_label-schema_vendor": { + "type": "keyword" + }, + "org_label-schema_version": { + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "size": { + "properties": { + "root_fs": { + "type": "long" + }, + "rw": { + "type": "long" + } + } + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "cpu": { + "properties": { + "core": { + "properties": { + "*": { + "properties": { + "pct": { + "type": "object" + }, + "ticks": { + "type": "object" + } + } + }, + "0": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "1": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "2": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "3": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + } + } + }, + "kernel": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "system": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "total": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "user": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + } + } + }, + "diskio": { + "properties": { + "read": { + "properties": { + "bytes": { + "type": "long" + }, + "ops": { + "type": "long" + }, + "rate": { + "type": "long" + } + } + }, + "reads": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "summary": { + "properties": { + "bytes": { + "type": "long" + }, + "ops": { + "type": "long" + }, + "rate": { + "type": "long" + } + } + }, + "total": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "write": { + "properties": { + "bytes": { + "type": "long" + }, + "ops": { + "type": "long" + }, + "rate": { + "type": "long" + } + } + }, + "writes": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "healthcheck": { + "properties": { + "event": { + "properties": { + "end_date": { + "type": "date" + }, + "exit_code": { + "type": "long" + }, + "output": { + "ignore_above": 1024, + "type": "keyword" + }, + "start_date": { + "type": "date" + } + } + }, + "failingstreak": { + "type": "long" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "image": { + "properties": { + "created": { + "type": "date" + }, + "id": { + "properties": { + "current": { + "ignore_above": 1024, + "type": "keyword" + }, + "parent": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "labels": { + "type": "object" + }, + "size": { + "properties": { + "regular": { + "type": "long" + }, + "virtual": { + "type": "long" + } + } + } + } + }, + "info": { + "properties": { + "containers": { + "properties": { + "paused": { + "type": "long" + }, + "running": { + "type": "long" + }, + "stopped": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "images": { + "type": "long" + } + } + }, + "memory": { + "properties": { + "fail": { + "properties": { + "count": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "limit": { + "type": "long" + }, + "rss": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "total": { + "type": "long" + } + } + }, + "usage": { + "properties": { + "max": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "total": { + "type": "long" + } + } + } + } + }, + "network": { + "properties": { + "in": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + }, + "inbound": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + }, + "interface": { + "ignore_above": 1024, + "type": "keyword" + }, + "out": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + }, + "outbound": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" } } } } } - }, - "dropwizard": { - "type": "object" - }, - "elasticsearch": { - "properties": { - "ccr": { - "properties": { - "follower": { - "properties": { - "global_checkpoint": { - "type": "long" - }, - "index": { - "ignore_above": 1024, - "type": "keyword" - }, - "operations_written": { - "type": "long" - }, - "shard": { - "properties": { - "number": { - "type": "long" - } - } - }, - "time_since_last_read": { - "properties": { - "ms": { - "type": "long" - } - } - } - } - }, - "leader": { - "properties": { - "index": { - "ignore_above": 1024, - "type": "keyword" - }, - "max_seq_no": { - "type": "long" - } - } - } - } - }, - "cluster": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "pending_task": { - "properties": { - "insert_order": { - "type": "long" - }, - "priority": { - "type": "long" - }, - "source": { - "ignore_above": 1024, - "type": "keyword" - }, - "time_in_queue": { - "properties": { - "ms": { - "type": "long" - } - } - } - } - }, - "state": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "stats": { - "properties": { - "indices": { - "properties": { - "count": { - "type": "long" - }, - "fielddata": { - "properties": { - "memory": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "dropwizard": { + "type": "object" + }, + "elasticsearch": { + "properties": { + "ccr": { + "properties": { + "follower": { + "properties": { + "global_checkpoint": { + "type": "long" + }, + "index": { + "ignore_above": 1024, + "type": "keyword" + }, + "operations_written": { + "type": "long" + }, + "shard": { + "properties": { + "number": { + "type": "long" + } + } + }, + "time_since_last_read": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + }, + "leader": { + "properties": { + "index": { + "ignore_above": 1024, + "type": "keyword" + }, + "max_seq_no": { + "type": "long" + } + } + } + } + }, + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "pending_task": { + "properties": { + "insert_order": { + "type": "long" + }, + "priority": { + "type": "long" + }, + "source": { + "ignore_above": 1024, + "type": "keyword" + }, + "time_in_queue": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "stats": { + "properties": { + "indices": { + "properties": { + "count": { + "type": "long" + }, + "fielddata": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "shards": { - "properties": { - "count": { - "type": "long" - }, - "primaries": { - "type": "long" - } + } + }, + "shards": { + "properties": { + "count": { + "type": "long" + }, + "primaries": { + "type": "long" } } } - }, - "nodes": { - "properties": { - "count": { - "type": "long" - }, - "data": { - "type": "long" - }, - "master": { - "type": "long" - } - } - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - } - } - } - } - }, - "index": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "recovery": { - "properties": { - "id": { - "type": "long" - }, - "primary": { - "type": "boolean" - }, - "source": { - "properties": { - "host": { - "type": "ip" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "stage": { - "ignore_above": 1024, - "type": "keyword" - }, - "target": { - "properties": { - "host": { - "type": "ip" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "summary": { - "properties": { - "primaries": { - "properties": { - "docs": { - "properties": { - "count": { - "type": "long" - }, - "deleted": { - "type": "long" - } - } - }, - "segments": { - "properties": { - "count": { - "type": "long" - }, - "memory": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "nodes": { + "properties": { + "count": { + "type": "long" + }, + "data": { + "type": "long" + }, + "master": { + "type": "long" + } + } + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "index": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "recovery": { + "properties": { + "id": { + "type": "long" + }, + "primary": { + "type": "boolean" + }, + "source": { + "properties": { + "host": { + "type": "ip" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "stage": { + "ignore_above": 1024, + "type": "keyword" + }, + "target": { + "properties": { + "host": { + "type": "ip" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "summary": { + "properties": { + "primaries": { + "properties": { + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" + } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "store": { - "properties": { - "size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "total": { - "properties": { - "docs": { - "properties": { - "count": { - "type": "long" - }, - "deleted": { - "type": "long" - } + } + }, + "total": { + "properties": { + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" } - }, - "segments": { - "properties": { - "count": { - "type": "long" - }, - "memory": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "store": { - "properties": { - "size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" } } } @@ -2089,40 +2087,40 @@ } } } - }, - "total": { - "properties": { - "docs": { - "properties": { - "count": { - "type": "long" - }, - "deleted": { - "type": "long" - } + } + }, + "total": { + "properties": { + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" } - }, - "segments": { - "properties": { - "count": { - "type": "long" - }, - "memory": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "store": { - "properties": { - "size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" } } } @@ -2130,198 +2128,198 @@ } } } - }, - "ml": { - "properties": { - "job": { - "properties": { - "data_counts": { - "properties": { - "invalid_date_count": { - "type": "long" - }, - "processed_record_count": { - "type": "long" - } - } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "ml": { + "properties": { + "job": { + "properties": { + "data_counts": { + "properties": { + "invalid_date_count": { + "type": "long" + }, + "processed_record_count": { + "type": "long" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "node": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "jvm": { - "properties": { - "memory": { - "properties": { - "heap": { - "properties": { - "init": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "jvm": { + "properties": { + "memory": { + "properties": { + "heap": { + "properties": { + "init": { + "properties": { + "bytes": { + "type": "long" } - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "nonheap": { - "properties": { - "init": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "nonheap": { + "properties": { + "init": { + "properties": { + "bytes": { + "type": "long" } - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "process": { - "properties": { - "mlockall": { - "type": "boolean" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "process": { + "properties": { + "mlockall": { + "type": "boolean" } - }, - "stats": { - "properties": { - "fs": { - "properties": { - "summary": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "stats": { + "properties": { + "fs": { + "properties": { + "summary": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "free": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "free": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "indices": { - "properties": { - "docs": { - "properties": { - "count": { - "type": "long" - }, - "deleted": { - "type": "long" - } + } + }, + "indices": { + "properties": { + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" } - }, - "segments": { - "properties": { - "count": { - "type": "long" - }, - "memory": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "store": { - "properties": { - "size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "jvm": { - "properties": { - "gc": { - "properties": { - "collectors": { - "properties": { - "old": { - "properties": { - "collection": { - "properties": { - "count": { - "type": "long" - }, - "ms": { - "type": "long" - } + } + }, + "jvm": { + "properties": { + "gc": { + "properties": { + "collectors": { + "properties": { + "old": { + "properties": { + "collection": { + "properties": { + "count": { + "type": "long" + }, + "ms": { + "type": "long" } } } - }, - "young": { - "properties": { - "collection": { - "properties": { - "count": { - "type": "long" - }, - "ms": { - "type": "long" - } + } + }, + "young": { + "properties": { + "collection": { + "properties": { + "count": { + "type": "long" + }, + "ms": { + "type": "long" } } } @@ -2329,103 +2327,103 @@ } } } - }, - "mem": { - "properties": { - "pools": { - "properties": { - "old": { - "properties": { - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "mem": { + "properties": { + "pools": { + "properties": { + "old": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak_max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak_max": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "survivor": { - "properties": { - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "survivor": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak_max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak_max": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "young": { - "properties": { - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "young": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak_max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak_max": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } @@ -2437,296 +2435,296 @@ } } } - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "pending_tasks": { - "properties": { - "insert_order": { - "type": "long" - }, - "priority": { - "ignore_above": 1024, - "type": "keyword" - }, - "source": { - "ignore_above": 1024, - "type": "keyword" - }, - "time_in_queue": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "pending_tasks": { + "properties": { + "insert_order": { + "type": "long" + }, + "priority": { + "ignore_above": 1024, + "type": "keyword" + }, + "source": { + "ignore_above": 1024, + "type": "keyword" + }, + "time_in_queue": { + "properties": { + "ms": { + "type": "long" } } } - }, - "shard": { - "properties": { - "number": { - "type": "long" - }, - "primary": { - "type": "boolean" - }, - "relocating_node": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "shard": { + "properties": { + "number": { + "type": "long" + }, + "primary": { + "type": "boolean" + }, + "relocating_node": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "state": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "envoyproxy": { - "properties": { - "server": { - "properties": { - "cluster_manager": { - "properties": { - "active_clusters": { - "type": "long" - }, - "cluster_added": { - "type": "long" - }, - "cluster_modified": { - "type": "long" - }, - "cluster_removed": { - "type": "long" - }, - "warming_clusters": { - "type": "long" - } - } - }, - "filesystem": { - "properties": { - "flushed_by_timer": { - "type": "long" - }, - "reopen_failed": { - "type": "long" - }, - "write_buffered": { - "type": "long" - }, - "write_completed": { - "type": "long" - }, - "write_total_buffered": { - "type": "long" - } - } - }, - "http2": { - "properties": { - "header_overflow": { - "type": "long" - }, - "headers_cb_no_stream": { - "type": "long" - }, - "rx_messaging_error": { - "type": "long" - }, - "rx_reset": { - "type": "long" - }, - "too_many_header_frames": { - "type": "long" - }, - "trailers": { - "type": "long" - }, - "tx_reset": { - "type": "long" - } - } - }, - "listener_manager": { - "properties": { - "listener_added": { - "type": "long" - }, - "listener_create_failure": { - "type": "long" - }, - "listener_create_success": { - "type": "long" - }, - "listener_modified": { - "type": "long" - }, - "listener_removed": { - "type": "long" - }, - "total_listeners_active": { - "type": "long" - }, - "total_listeners_draining": { - "type": "long" - }, - "total_listeners_warming": { - "type": "long" - } - } - }, - "runtime": { - "properties": { - "admin_overrides_active": { - "type": "long" - }, - "load_error": { - "type": "long" - }, - "load_success": { - "type": "long" - }, - "num_keys": { - "type": "long" - }, - "override_dir_exists": { - "type": "long" - }, - "override_dir_not_exists": { - "type": "long" - } - } - }, - "server": { - "properties": { - "days_until_first_cert_expiring": { - "type": "long" - }, - "hot_restart_epoch": { - "type": "long" - }, - "live": { - "type": "long" - }, - "memory_allocated": { - "type": "long" - }, - "memory_heap_size": { - "type": "long" - }, - "parent_connections": { - "type": "long" - }, - "total_connections": { - "type": "long" - }, - "uptime": { - "type": "long" - }, - "version": { - "type": "long" - }, - "watchdog_mega_miss": { - "type": "long" - }, - "watchdog_miss": { - "type": "long" - } - } - }, - "stats": { - "properties": { - "overflow": { - "type": "long" - } + } + }, + "envoyproxy": { + "properties": { + "server": { + "properties": { + "cluster_manager": { + "properties": { + "active_clusters": { + "type": "long" + }, + "cluster_added": { + "type": "long" + }, + "cluster_modified": { + "type": "long" + }, + "cluster_removed": { + "type": "long" + }, + "warming_clusters": { + "type": "long" + } + } + }, + "filesystem": { + "properties": { + "flushed_by_timer": { + "type": "long" + }, + "reopen_failed": { + "type": "long" + }, + "write_buffered": { + "type": "long" + }, + "write_completed": { + "type": "long" + }, + "write_total_buffered": { + "type": "long" + } + } + }, + "http2": { + "properties": { + "header_overflow": { + "type": "long" + }, + "headers_cb_no_stream": { + "type": "long" + }, + "rx_messaging_error": { + "type": "long" + }, + "rx_reset": { + "type": "long" + }, + "too_many_header_frames": { + "type": "long" + }, + "trailers": { + "type": "long" + }, + "tx_reset": { + "type": "long" + } + } + }, + "listener_manager": { + "properties": { + "listener_added": { + "type": "long" + }, + "listener_create_failure": { + "type": "long" + }, + "listener_create_success": { + "type": "long" + }, + "listener_modified": { + "type": "long" + }, + "listener_removed": { + "type": "long" + }, + "total_listeners_active": { + "type": "long" + }, + "total_listeners_draining": { + "type": "long" + }, + "total_listeners_warming": { + "type": "long" + } + } + }, + "runtime": { + "properties": { + "admin_overrides_active": { + "type": "long" + }, + "load_error": { + "type": "long" + }, + "load_success": { + "type": "long" + }, + "num_keys": { + "type": "long" + }, + "override_dir_exists": { + "type": "long" + }, + "override_dir_not_exists": { + "type": "long" + } + } + }, + "server": { + "properties": { + "days_until_first_cert_expiring": { + "type": "long" + }, + "hot_restart_epoch": { + "type": "long" + }, + "live": { + "type": "long" + }, + "memory_allocated": { + "type": "long" + }, + "memory_heap_size": { + "type": "long" + }, + "parent_connections": { + "type": "long" + }, + "total_connections": { + "type": "long" + }, + "uptime": { + "type": "long" + }, + "version": { + "type": "long" + }, + "watchdog_mega_miss": { + "type": "long" + }, + "watchdog_miss": { + "type": "long" + } + } + }, + "stats": { + "properties": { + "overflow": { + "type": "long" } } } } } - }, - "error": { - "properties": { - "code": { - "type": "long" - }, - "message": { - "norms": false, - "type": "text" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "error": { + "properties": { + "code": { + "type": "long" + }, + "message": { + "norms": false, + "type": "text" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "etcd": { - "properties": { - "leader": { - "properties": { - "followers": { - "properties": { - "counts": { - "properties": { - "followers": { - "properties": { - "counts": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } + } + }, + "etcd": { + "properties": { + "leader": { + "properties": { + "followers": { + "properties": { + "counts": { + "properties": { + "followers": { + "properties": { + "counts": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" } } } } } - }, - "latency": { - "properties": { - "follower": { - "properties": { - "latency": { - "properties": { - "standardDeviation": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "latency": { + "properties": { + "follower": { + "properties": { + "latency": { + "properties": { + "standardDeviation": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "followers": { - "properties": { - "latency": { - "properties": { - "average": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "current": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "maximum": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "minimum": { - "type": "long" - } + } + }, + "followers": { + "properties": { + "latency": { + "properties": { + "average": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "current": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "maximum": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "minimum": { + "type": "long" } } } @@ -2734,1165 +2732,1165 @@ } } } - }, - "leader": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "self": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "leaderinfo": { - "properties": { - "leader": { - "ignore_above": 1024, - "type": "keyword" - }, - "starttime": { - "ignore_above": 1024, - "type": "keyword" - }, - "uptime": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "recv": { - "properties": { - "appendrequest": { - "properties": { - "count": { - "type": "long" - } - } - }, - "bandwidthrate": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "pkgrate": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "send": { - "properties": { - "appendrequest": { - "properties": { - "count": { - "type": "long" - } - } - }, - "bandwidthrate": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "pkgrate": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "starttime": { - "ignore_above": 1024, - "type": "keyword" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "store": { - "properties": { - "compareanddelete": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "compareandswap": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "create": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "delete": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "expire": { - "properties": { - "count": { - "type": "long" - } - } - }, - "gets": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "sets": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "update": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "watchers": { - "type": "long" } + }, + "leader": { + "ignore_above": 1024, + "type": "keyword" } } - } - }, - "event": { - "properties": { - "dataset": { - "ignore_above": 1024, - "type": "keyword" - }, - "duration": { - "type": "long" - }, - "module": { - "path": "metricset.module", - "type": "alias" - }, - "timezone": { - "path": "beat.timezone", - "type": "alias" + }, + "self": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "leaderinfo": { + "properties": { + "leader": { + "ignore_above": 1024, + "type": "keyword" + }, + "starttime": { + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "recv": { + "properties": { + "appendrequest": { + "properties": { + "count": { + "type": "long" + } + } + }, + "bandwidthrate": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "pkgrate": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "send": { + "properties": { + "appendrequest": { + "properties": { + "count": { + "type": "long" + } + } + }, + "bandwidthrate": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "pkgrate": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "starttime": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "store": { + "properties": { + "compareanddelete": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } + } + }, + "compareandswap": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } + } + }, + "create": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } + } + }, + "delete": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } + } + }, + "expire": { + "properties": { + "count": { + "type": "long" + } + } + }, + "gets": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } + } + }, + "sets": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } + } + }, + "update": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } + } + }, + "watchers": { + "type": "long" + } } } - }, - "fields": { - "type": "object" - }, - "golang": { - "properties": { - "expvar": { - "properties": { - "cmdline": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "heap": { - "properties": { - "allocations": { - "properties": { - "active": { - "type": "long" - }, - "allocated": { - "type": "long" - }, - "frees": { - "type": "long" - }, - "idle": { - "type": "long" - }, - "mallocs": { - "type": "long" - }, - "objects": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "cmdline": { - "ignore_above": 1024, - "type": "keyword" - }, - "gc": { - "properties": { - "cpu_fraction": { - "type": "float" - }, - "next_gc_limit": { - "type": "long" - }, - "pause": { - "properties": { - "avg": { - "properties": { - "ns": { - "type": "long" - } - } - }, - "count": { - "type": "long" - }, - "max": { - "properties": { - "ns": { - "type": "long" - } - } - }, - "sum": { - "properties": { - "ns": { - "type": "long" - } - } - } - } - }, - "total_count": { - "type": "long" - }, - "total_pause": { - "properties": { - "ns": { - "type": "long" - } - } - } - } - }, - "system": { - "properties": { - "obtained": { - "type": "long" - }, - "released": { - "type": "long" - }, - "stack": { - "type": "long" - }, - "total": { - "type": "long" - } + } + }, + "event": { + "properties": { + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "module": { + "path": "metricset.module", + "type": "alias" + }, + "timezone": { + "path": "beat.timezone", + "type": "alias" + } + } + }, + "fields": { + "type": "object" + }, + "golang": { + "properties": { + "expvar": { + "properties": { + "cmdline": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "heap": { + "properties": { + "allocations": { + "properties": { + "active": { + "type": "long" + }, + "allocated": { + "type": "long" + }, + "frees": { + "type": "long" + }, + "idle": { + "type": "long" + }, + "mallocs": { + "type": "long" + }, + "objects": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "cmdline": { + "ignore_above": 1024, + "type": "keyword" + }, + "gc": { + "properties": { + "cpu_fraction": { + "type": "float" + }, + "next_gc_limit": { + "type": "long" + }, + "pause": { + "properties": { + "avg": { + "properties": { + "ns": { + "type": "long" + } + } + }, + "count": { + "type": "long" + }, + "max": { + "properties": { + "ns": { + "type": "long" + } + } + }, + "sum": { + "properties": { + "ns": { + "type": "long" + } + } + } + } + }, + "total_count": { + "type": "long" + }, + "total_pause": { + "properties": { + "ns": { + "type": "long" + } + } + } + } + }, + "system": { + "properties": { + "obtained": { + "type": "long" + }, + "released": { + "type": "long" + }, + "stack": { + "type": "long" + }, + "total": { + "type": "long" } } } } } - }, - "graphite": { - "properties": { - "server": { - "properties": { - "example": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "graphite": { + "properties": { + "server": { + "properties": { + "example": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "haproxy": { - "properties": { - "info": { - "properties": { - "compress": { - "properties": { - "bps": { - "properties": { - "in": { - "type": "long" - }, - "out": { - "type": "long" - }, - "rate_limit": { - "type": "long" - } - } - } - } - }, - "connection": { - "properties": { - "current": { - "type": "long" - }, - "hard_max": { - "type": "long" - }, - "max": { - "type": "long" - }, - "rate": { - "properties": { - "limit": { - "type": "long" - }, - "max": { - "type": "long" - }, - "value": { - "type": "long" - } - } - }, - "ssl": { - "properties": { - "current": { - "type": "long" - }, - "max": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "total": { - "type": "long" - } - } - }, - "idle": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "memory": { - "properties": { - "max": { - "properties": { - "bytes": { - "type": "long" - } - } - } - } - }, - "pid": { - "type": "long" - }, - "pipes": { - "properties": { - "free": { - "type": "long" - }, - "max": { - "type": "long" - }, - "used": { - "type": "long" - } - } - }, - "process_num": { - "type": "long" - }, - "processes": { - "type": "long" - }, - "requests": { - "properties": { - "max": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "run_queue": { - "type": "long" - }, - "session": { - "properties": { - "rate": { - "properties": { - "limit": { - "type": "long" - }, - "max": { - "type": "long" - }, - "value": { - "type": "long" - } - } - } - } - }, - "sockets": { - "properties": { - "max": { - "type": "long" - } - } - }, - "ssl": { - "properties": { - "backend": { - "properties": { - "key_rate": { - "properties": { - "max": { - "type": "long" - }, - "value": { - "type": "long" - } - } - } - } - }, - "cache_misses": { - "type": "long" - }, - "cached_lookups": { - "type": "long" - }, - "frontend": { - "properties": { - "key_rate": { - "properties": { - "max": { - "type": "long" - }, - "value": { - "type": "long" - } - } - }, - "session_reuse": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - } - } - }, - "rate": { - "properties": { - "limit": { - "type": "long" - }, - "max": { - "type": "long" - }, - "value": { - "type": "long" - } - } - } - } - }, - "tasks": { - "type": "long" - }, - "ulimit_n": { - "type": "long" - }, - "uptime": { - "properties": { - "sec": { - "type": "long" - } - } - }, - "zlib_mem_usage": { - "properties": { - "max": { - "type": "long" - }, - "value": { - "type": "long" - } - } + } + }, + "haproxy": { + "properties": { + "info": { + "properties": { + "compress": { + "properties": { + "bps": { + "properties": { + "in": { + "type": "long" + }, + "out": { + "type": "long" + }, + "rate_limit": { + "type": "long" + } + } + } + } + }, + "connection": { + "properties": { + "current": { + "type": "long" + }, + "hard_max": { + "type": "long" + }, + "max": { + "type": "long" + }, + "rate": { + "properties": { + "limit": { + "type": "long" + }, + "max": { + "type": "long" + }, + "value": { + "type": "long" + } + } + }, + "ssl": { + "properties": { + "current": { + "type": "long" + }, + "max": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "total": { + "type": "long" + } + } + }, + "idle": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "memory": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "pid": { + "type": "long" + }, + "pipes": { + "properties": { + "free": { + "type": "long" + }, + "max": { + "type": "long" + }, + "used": { + "type": "long" + } + } + }, + "process_num": { + "type": "long" + }, + "processes": { + "type": "long" + }, + "requests": { + "properties": { + "max": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "run_queue": { + "type": "long" + }, + "session": { + "properties": { + "rate": { + "properties": { + "limit": { + "type": "long" + }, + "max": { + "type": "long" + }, + "value": { + "type": "long" + } + } + } + } + }, + "sockets": { + "properties": { + "max": { + "type": "long" + } + } + }, + "ssl": { + "properties": { + "backend": { + "properties": { + "key_rate": { + "properties": { + "max": { + "type": "long" + }, + "value": { + "type": "long" + } + } + } + } + }, + "cache_misses": { + "type": "long" + }, + "cached_lookups": { + "type": "long" + }, + "frontend": { + "properties": { + "key_rate": { + "properties": { + "max": { + "type": "long" + }, + "value": { + "type": "long" + } + } + }, + "session_reuse": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + }, + "rate": { + "properties": { + "limit": { + "type": "long" + }, + "max": { + "type": "long" + }, + "value": { + "type": "long" + } + } + } + } + }, + "tasks": { + "type": "long" + }, + "ulimit_n": { + "type": "long" + }, + "uptime": { + "properties": { + "sec": { + "type": "long" + } + } + }, + "zlib_mem_usage": { + "properties": { + "max": { + "type": "long" + }, + "value": { + "type": "long" + } } } - }, - "stat": { - "properties": { - "check": { - "properties": { - "agent": { - "properties": { - "last": { - "type": "long" - } - } - }, - "code": { - "type": "long" - }, - "down": { - "type": "long" - }, - "duration": { - "type": "long" - }, - "failed": { - "type": "long" - }, - "health": { - "properties": { - "fail": { - "type": "long" - }, - "last": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "client": { - "properties": { - "aborted": { - "type": "long" - } - } - }, - "component_type": { - "type": "long" - }, - "compressor": { - "properties": { - "bypassed": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "in": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "out": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "response": { - "properties": { - "bytes": { - "type": "long" - } - } - } - } - }, - "connection": { - "properties": { - "retried": { - "type": "long" - }, - "time": { - "properties": { - "avg": { - "type": "long" - } - } - }, - "total": { - "type": "long" - } - } - }, - "downtime": { - "type": "long" - }, - "in": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "last_change": { - "type": "long" - }, - "out": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "process_id": { - "type": "long" - }, - "proxy": { - "properties": { - "id": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "queue": { - "properties": { - "limit": { - "type": "long" - }, - "time": { - "properties": { - "avg": { - "type": "long" - } - } - } - } - }, - "request": { - "properties": { - "connection": { - "properties": { - "errors": { - "type": "long" - } - } - }, - "denied": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "queued": { - "properties": { - "current": { - "type": "long" - }, - "max": { - "type": "long" - } - } - }, - "rate": { - "properties": { - "max": { - "type": "long" - }, - "value": { - "type": "long" - } - } - }, - "redispatched": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "response": { - "properties": { - "denied": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "http": { - "properties": { - "1xx": { - "type": "long" - }, - "2xx": { - "type": "long" - }, - "3xx": { - "type": "long" - }, - "4xx": { - "type": "long" - }, - "5xx": { - "type": "long" - }, - "other": { - "type": "long" - } - } - }, - "time": { - "properties": { - "avg": { - "type": "long" - } - } - } - } - }, - "selected": { - "properties": { - "total": { - "type": "long" - } - } - }, - "server": { - "properties": { - "aborted": { - "type": "long" - }, - "active": { - "type": "long" - }, - "backup": { - "type": "long" - }, - "id": { - "type": "long" - } - } - }, - "service_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "session": { - "properties": { - "current": { - "type": "long" - }, - "limit": { - "type": "long" - }, - "max": { - "type": "long" - }, - "rate": { - "properties": { - "limit": { - "type": "long" - }, - "max": { - "type": "long" - }, - "value": { - "type": "long" - } - } - } - } - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - }, - "throttle": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "tracked": { - "properties": { - "id": { - "type": "long" - } - } - }, - "weight": { - "type": "long" - } + } + }, + "stat": { + "properties": { + "check": { + "properties": { + "agent": { + "properties": { + "last": { + "type": "long" + } + } + }, + "code": { + "type": "long" + }, + "down": { + "type": "long" + }, + "duration": { + "type": "long" + }, + "failed": { + "type": "long" + }, + "health": { + "properties": { + "fail": { + "type": "long" + }, + "last": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "client": { + "properties": { + "aborted": { + "type": "long" + } + } + }, + "component_type": { + "type": "long" + }, + "compressor": { + "properties": { + "bypassed": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "in": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "out": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "response": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "connection": { + "properties": { + "retried": { + "type": "long" + }, + "time": { + "properties": { + "avg": { + "type": "long" + } + } + }, + "total": { + "type": "long" + } + } + }, + "downtime": { + "type": "long" + }, + "in": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "last_change": { + "type": "long" + }, + "out": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "process_id": { + "type": "long" + }, + "proxy": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "queue": { + "properties": { + "limit": { + "type": "long" + }, + "time": { + "properties": { + "avg": { + "type": "long" + } + } + } + } + }, + "request": { + "properties": { + "connection": { + "properties": { + "errors": { + "type": "long" + } + } + }, + "denied": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "queued": { + "properties": { + "current": { + "type": "long" + }, + "max": { + "type": "long" + } + } + }, + "rate": { + "properties": { + "max": { + "type": "long" + }, + "value": { + "type": "long" + } + } + }, + "redispatched": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "response": { + "properties": { + "denied": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "http": { + "properties": { + "1xx": { + "type": "long" + }, + "2xx": { + "type": "long" + }, + "3xx": { + "type": "long" + }, + "4xx": { + "type": "long" + }, + "5xx": { + "type": "long" + }, + "other": { + "type": "long" + } + } + }, + "time": { + "properties": { + "avg": { + "type": "long" + } + } + } + } + }, + "selected": { + "properties": { + "total": { + "type": "long" + } + } + }, + "server": { + "properties": { + "aborted": { + "type": "long" + }, + "active": { + "type": "long" + }, + "backup": { + "type": "long" + }, + "id": { + "type": "long" + } + } + }, + "service_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "session": { + "properties": { + "current": { + "type": "long" + }, + "limit": { + "type": "long" + }, + "max": { + "type": "long" + }, + "rate": { + "properties": { + "limit": { + "type": "long" + }, + "max": { + "type": "long" + }, + "value": { + "type": "long" + } + } + } + } + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "throttle": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "tracked": { + "properties": { + "id": { + "type": "long" + } + } + }, + "weight": { + "type": "long" } } } - }, - "host": { - "properties": { - "architecture": { - "ignore_above": 1024, - "type": "keyword" - }, - "hostname": { - "path": "beat.hostname", - "type": "alias" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "properties": { - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "platform": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "host": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "path": "beat.hostname", + "type": "alias" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "http": { - "properties": { - "json": { - "type": "object" - }, - "request": { - "properties": { - "body": { - "ignore_above": 1024, - "type": "keyword" - }, - "headers": { - "type": "object" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "response": { - "properties": { - "body": { - "ignore_above": 1024, - "type": "keyword" - }, - "code": { - "ignore_above": 1024, - "type": "keyword" - }, - "headers": { - "type": "object" - }, - "phrase": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "server": { - "type": "object" + } + }, + "http": { + "properties": { + "json": { + "type": "object" + }, + "request": { + "properties": { + "body": { + "ignore_above": 1024, + "type": "keyword" + }, + "headers": { + "type": "object" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "response": { + "properties": { + "body": { + "ignore_above": 1024, + "type": "keyword" + }, + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "headers": { + "type": "object" + }, + "phrase": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "server": { + "type": "object" } - }, - "jolokia": { - "type": "object" - }, - "kafka": { - "properties": { - "broker": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "type": "long" - } - } - }, - "consumergroup": { - "properties": { - "broker": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "type": "long" - } - } - }, - "client": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "member_id": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "error": { - "properties": { - "code": { - "type": "long" - } - } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "meta": { - "norms": false, - "type": "text" - }, - "offset": { - "type": "long" - }, - "partition": { - "type": "long" - }, - "topic": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "partition": { - "properties": { - "broker": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "type": "long" - } - } - }, - "id": { - "type": "long" - }, - "offset": { - "properties": { - "newest": { - "type": "long" - }, - "oldest": { - "type": "long" - } - } - }, - "partition": { - "properties": { - "error": { - "properties": { - "code": { - "type": "long" - } - } - }, - "id": { - "type": "long" - }, - "insync_replica": { - "type": "boolean" - }, - "is_leader": { - "type": "boolean" - }, - "leader": { - "type": "long" - }, - "replica": { - "type": "long" - } - } - }, - "topic": { - "properties": { - "error": { - "properties": { - "code": { - "type": "long" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "topic_broker_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "topic_id": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "topic": { - "properties": { - "error": { - "properties": { - "code": { - "type": "long" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "jolokia": { + "type": "object" + }, + "kafka": { + "properties": { + "broker": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "type": "long" + } + } + }, + "consumergroup": { + "properties": { + "broker": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "type": "long" + } + } + }, + "client": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "member_id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "code": { + "type": "long" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "meta": { + "norms": false, + "type": "text" + }, + "offset": { + "type": "long" + }, + "partition": { + "type": "long" + }, + "topic": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "partition": { + "properties": { + "broker": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "type": "long" + } + } + }, + "id": { + "type": "long" + }, + "offset": { + "properties": { + "newest": { + "type": "long" + }, + "oldest": { + "type": "long" + } + } + }, + "partition": { + "properties": { + "error": { + "properties": { + "code": { + "type": "long" + } + } + }, + "id": { + "type": "long" + }, + "insync_replica": { + "type": "boolean" + }, + "is_leader": { + "type": "boolean" + }, + "leader": { + "type": "long" + }, + "replica": { + "type": "long" + } + } + }, + "topic": { + "properties": { + "error": { + "properties": { + "code": { + "type": "long" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "topic_broker_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "topic_id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "topic": { + "properties": { + "error": { + "properties": { + "code": { + "type": "long" + } } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "kibana": { - "properties": { - "stats": { - "properties": { - "concurrent_connections": { - "type": "long" - }, - "host": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "index": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "norms": false, - "type": "text" - }, - "process": { - "properties": { - "event_loop_delay": { - "properties": { - "ms": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "memory": { - "properties": { - "heap": { - "properties": { - "size_limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "kibana": { + "properties": { + "stats": { + "properties": { + "concurrent_connections": { + "type": "long" + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "index": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "norms": false, + "type": "text" + }, + "process": { + "properties": { + "event_loop_delay": { + "properties": { + "ms": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "memory": { + "properties": { + "heap": { + "properties": { + "size_limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "uptime": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "uptime": { + "properties": { + "ms": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } @@ -3900,2023 +3898,2023 @@ } } } - }, - "request": { - "properties": { - "disconnects": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "response_time": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } - } - }, - "max": { - "properties": { - "ms": { - "type": "long" - } - } - } + } + }, + "request": { + "properties": { + "disconnects": { + "type": "long" + }, + "total": { + "type": "long" } - }, - "snapshot": { - "type": "boolean" - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - }, - "transport_address": { - "ignore_above": 1024, - "type": "keyword" - }, - "uuid": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } - } - }, - "status": { - "properties": { - "metrics": { - "properties": { - "concurrent_connections": { - "type": "long" - }, - "requests": { - "properties": { - "disconnects": { - "type": "long" - }, - "total": { - "type": "long" - } + }, + "response_time": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "status": { - "properties": { - "overall": { - "properties": { - "state": { - "ignore_above": 1024, - "type": "keyword" - } + }, + "max": { + "properties": { + "ms": { + "type": "long" } } } - }, - "uuid": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "properties": { - "number": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "snapshot": { + "type": "boolean" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "transport_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "uuid": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "status": { + "properties": { + "metrics": { + "properties": { + "concurrent_connections": { + "type": "long" + }, + "requests": { + "properties": { + "disconnects": { + "type": "long" + }, + "total": { + "type": "long" + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "properties": { + "overall": { + "properties": { + "state": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "uuid": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "properties": { + "number": { + "ignore_above": 1024, + "type": "keyword" } } } } } - }, - "kubernetes": { - "properties": { - "annotations": { - "type": "object" - }, - "apiserver": { - "properties": { - "request": { - "properties": { - "client": { - "ignore_above": 1024, - "type": "keyword" - }, - "count": { - "type": "long" - }, - "latency": { - "properties": { - "bucket": { - "type": "object" - }, - "count": { - "type": "long" - }, - "sum": { - "type": "long" - } - } - }, - "resource": { - "ignore_above": 1024, - "type": "keyword" - }, - "scope": { - "ignore_above": 1024, - "type": "keyword" - }, - "subresource": { - "ignore_above": 1024, - "type": "keyword" - }, - "verb": { - "ignore_above": 1024, - "type": "keyword" - } - } - } - } - }, - "container": { - "properties": { - "cpu": { - "properties": { - "limit": { - "properties": { - "cores": { - "type": "long" - }, - "nanocores": { - "type": "long" - } - } - }, - "request": { - "properties": { - "cores": { - "type": "long" - }, - "nanocores": { - "type": "long" - } - } - }, - "usage": { - "properties": { - "core": { - "properties": { - "ns": { - "type": "long" - } - } - }, - "limit": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "nanocores": { - "type": "long" - }, - "node": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - } + } + }, + "kubernetes": { + "properties": { + "annotations": { + "type": "object" + }, + "apiserver": { + "properties": { + "request": { + "properties": { + "client": { + "ignore_above": 1024, + "type": "keyword" + }, + "count": { + "type": "long" + }, + "latency": { + "properties": { + "bucket": { + "type": "object" + }, + "count": { + "type": "long" + }, + "sum": { + "type": "long" + } + } + }, + "resource": { + "ignore_above": 1024, + "type": "keyword" + }, + "scope": { + "ignore_above": 1024, + "type": "keyword" + }, + "subresource": { + "ignore_above": 1024, + "type": "keyword" + }, + "verb": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "container": { + "properties": { + "cpu": { + "properties": { + "limit": { + "properties": { + "cores": { + "type": "long" + }, + "nanocores": { + "type": "long" + } + } + }, + "request": { + "properties": { + "cores": { + "type": "long" + }, + "nanocores": { + "type": "long" + } + } + }, + "usage": { + "properties": { + "core": { + "properties": { + "ns": { + "type": "long" + } + } + }, + "limit": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "nanocores": { + "type": "long" + }, + "node": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "ignore_above": 1024, + "type": "keyword" + }, + "logs": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "inodes": { + "properties": { + "count": { + "type": "long" + }, + "free": { + "type": "long" + }, + "used": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "memory": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } } - } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "image": { - "ignore_above": 1024, - "type": "keyword" - }, - "logs": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "inodes": { - "properties": { - "count": { - "type": "long" - }, - "free": { - "type": "long" - }, - "used": { - "type": "long" - } - } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } - } - } - } - }, - "memory": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "majorpagefaults": { - "type": "long" - }, - "pagefaults": { - "type": "long" - }, - "request": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "rss": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "limit": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "node": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - } + }, + "limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "workingset": { - "properties": { - "bytes": { - "type": "long" - } - } - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "rootfs": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "inodes": { - "properties": { - "used": { - "type": "long" - } - } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } - } - } - } - }, - "start_time": { - "type": "date" - }, - "status": { - "properties": { - "phase": { - "ignore_above": 1024, - "type": "keyword" - }, - "ready": { - "type": "boolean" - }, - "reason": { - "ignore_above": 1024, - "type": "keyword" - }, - "restarts": { - "type": "long" - } - } - } - } - }, - "deployment": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "paused": { - "type": "boolean" - }, - "replicas": { - "properties": { - "available": { - "type": "long" - }, - "desired": { - "type": "long" - }, - "unavailable": { - "type": "long" - }, - "updated": { - "type": "long" - } - } - } - } - }, - "event": { - "properties": { - "count": { - "type": "long" - }, - "involved_object": { - "properties": { - "api_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "kind": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "resource_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "uid": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "message": { - "ignore_above": 1024, - "type": "keyword" - }, - "metadata": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "namespace": { - "ignore_above": 1024, - "type": "keyword" - }, - "resource_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "self_link": { - "ignore_above": 1024, - "type": "keyword" - }, - "timestamp": { - "properties": { - "created": { - "type": "date" - } - } - }, - "uid": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "reason": { - "ignore_above": 1024, - "type": "keyword" - }, - "timestamp": { - "properties": { - "first_occurrence": { - "type": "date" - }, - "last_occurrence": { - "type": "date" - } - } - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "labels": { - "type": "object" - }, - "namespace": { - "ignore_above": 1024, - "type": "keyword" - }, - "node": { - "properties": { - "cpu": { - "properties": { - "allocatable": { - "properties": { - "cores": { - "type": "float" - } - } - }, - "capacity": { - "properties": { - "cores": { - "type": "long" - } - } - }, - "usage": { - "properties": { - "core": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "majorpagefaults": { + "type": "long" + }, + "pagefaults": { + "type": "long" + }, + "request": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "rss": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "limit": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "nanocores": { - "type": "long" } + }, + "node": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + }, + "workingset": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "fs": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "rootfs": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" } - }, - "inodes": { - "properties": { - "count": { - "type": "long" - }, - "free": { - "type": "long" - }, - "used": { - "type": "long" - } + } + }, + "inodes": { + "properties": { + "used": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "memory": { - "properties": { - "allocatable": { - "properties": { - "bytes": { - "type": "long" + } + }, + "start_time": { + "type": "date" + }, + "status": { + "properties": { + "phase": { + "ignore_above": 1024, + "type": "keyword" + }, + "ready": { + "type": "boolean" + }, + "reason": { + "ignore_above": 1024, + "type": "keyword" + }, + "restarts": { + "type": "long" + } + } + } + } + }, + "deployment": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "paused": { + "type": "boolean" + }, + "replicas": { + "properties": { + "available": { + "type": "long" + }, + "desired": { + "type": "long" + }, + "unavailable": { + "type": "long" + }, + "updated": { + "type": "long" + } + } + } + } + }, + "event": { + "properties": { + "count": { + "type": "long" + }, + "involved_object": { + "properties": { + "api_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "kind": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "resource_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "message": { + "ignore_above": 1024, + "type": "keyword" + }, + "metadata": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "resource_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "self_link": { + "ignore_above": 1024, + "type": "keyword" + }, + "timestamp": { + "properties": { + "created": { + "type": "date" + } + } + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "reason": { + "ignore_above": 1024, + "type": "keyword" + }, + "timestamp": { + "properties": { + "first_occurrence": { + "type": "date" + }, + "last_occurrence": { + "type": "date" + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "labels": { + "type": "object" + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "cpu": { + "properties": { + "allocatable": { + "properties": { + "cores": { + "type": "float" + } + } + }, + "capacity": { + "properties": { + "cores": { + "type": "long" + } + } + }, + "usage": { + "properties": { + "core": { + "properties": { + "ns": { + "type": "long" + } } + }, + "nanocores": { + "type": "long" } - }, - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + } + } + }, + "fs": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "inodes": { + "properties": { + "count": { + "type": "long" + }, + "free": { + "type": "long" + }, + "used": { + "type": "long" } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } - }, - "majorpagefaults": { - "type": "long" - }, - "pagefaults": { - "type": "long" - }, - "rss": { - "properties": { - "bytes": { - "type": "long" - } + } + } + } + }, + "memory": { + "properties": { + "allocatable": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "workingset": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" } } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "network": { - "properties": { - "rx": { - "properties": { - "bytes": { - "type": "long" - }, - "errors": { - "type": "long" - } + }, + "majorpagefaults": { + "type": "long" + }, + "pagefaults": { + "type": "long" + }, + "rss": { + "properties": { + "bytes": { + "type": "long" } - }, - "tx": { - "properties": { - "bytes": { - "type": "long" - }, - "errors": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "workingset": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "pod": { - "properties": { - "allocatable": { - "properties": { - "total": { - "type": "long" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "network": { + "properties": { + "rx": { + "properties": { + "bytes": { + "type": "long" + }, + "errors": { + "type": "long" } - }, - "capacity": { - "properties": { - "total": { - "type": "long" - } + } + }, + "tx": { + "properties": { + "bytes": { + "type": "long" + }, + "errors": { + "type": "long" } } } - }, - "runtime": { - "properties": { - "imagefs": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } - } - } + } + }, + "pod": { + "properties": { + "allocatable": { + "properties": { + "total": { + "type": "long" } } - } - }, - "start_time": { - "type": "date" - }, - "status": { - "properties": { - "ready": { - "ignore_above": 1024, - "type": "keyword" - }, - "unschedulable": { - "type": "boolean" + }, + "capacity": { + "properties": { + "total": { + "type": "long" + } } } } - } - }, - "pod": { - "properties": { - "cpu": { - "properties": { - "usage": { - "properties": { - "limit": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "nanocores": { - "type": "long" - }, - "node": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + }, + "runtime": { + "properties": { + "imagefs": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } } - } - } - } - }, - "host_ip": { - "type": "ip" - }, - "ip": { - "type": "ip" - }, - "memory": { - "properties": { - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "limit": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" } - }, - "node": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "network": { - "properties": { - "rx": { - "properties": { - "bytes": { - "type": "long" - }, - "errors": { - "type": "long" - } - } - }, - "tx": { - "properties": { - "bytes": { - "type": "long" - }, - "errors": { - "type": "long" - } - } - } - } - }, - "start_time": { - "type": "date" - }, - "status": { - "properties": { - "phase": { - "ignore_above": 1024, - "type": "keyword" - }, - "ready": { - "ignore_above": 1024, - "type": "keyword" - }, - "scheduled": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "uid": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "replicaset": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "replicas": { - "properties": { - "available": { - "type": "long" - }, - "desired": { - "type": "long" - }, - "labeled": { - "type": "long" - }, - "observed": { - "type": "long" - }, - "ready": { - "type": "long" - } - } - } - } - }, - "statefulset": { - "properties": { - "created": { - "type": "long" - }, - "generation": { - "properties": { - "desired": { - "type": "long" - }, - "observed": { - "type": "long" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "replicas": { - "properties": { - "desired": { - "type": "long" - }, - "observed": { - "type": "long" - } - } - } - } - }, - "system": { - "properties": { - "container": { - "ignore_above": 1024, - "type": "keyword" - }, - "cpu": { - "properties": { - "usage": { - "properties": { - "core": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "start_time": { + "type": "date" + }, + "status": { + "properties": { + "ready": { + "ignore_above": 1024, + "type": "keyword" + }, + "unschedulable": { + "type": "boolean" + } + } + } + } + }, + "pod": { + "properties": { + "cpu": { + "properties": { + "usage": { + "properties": { + "limit": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "nanocores": { + "type": "long" + }, + "node": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + } + } + }, + "host_ip": { + "type": "ip" + }, + "ip": { + "type": "ip" + }, + "memory": { + "properties": { + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "limit": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "node": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "network": { + "properties": { + "rx": { + "properties": { + "bytes": { + "type": "long" + }, + "errors": { + "type": "long" + } + } + }, + "tx": { + "properties": { + "bytes": { + "type": "long" + }, + "errors": { + "type": "long" + } + } + } + } + }, + "start_time": { + "type": "date" + }, + "status": { + "properties": { + "phase": { + "ignore_above": 1024, + "type": "keyword" + }, + "ready": { + "ignore_above": 1024, + "type": "keyword" + }, + "scheduled": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "replicaset": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "replicas": { + "properties": { + "available": { + "type": "long" + }, + "desired": { + "type": "long" + }, + "labeled": { + "type": "long" + }, + "observed": { + "type": "long" + }, + "ready": { + "type": "long" + } + } + } + } + }, + "statefulset": { + "properties": { + "created": { + "type": "long" + }, + "generation": { + "properties": { + "desired": { + "type": "long" + }, + "observed": { + "type": "long" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "replicas": { + "properties": { + "desired": { + "type": "long" + }, + "observed": { + "type": "long" + } + } + } + } + }, + "system": { + "properties": { + "container": { + "ignore_above": 1024, + "type": "keyword" + }, + "cpu": { + "properties": { + "usage": { + "properties": { + "core": { + "properties": { + "ns": { + "type": "long" } - }, - "nanocores": { - "type": "long" } + }, + "nanocores": { + "type": "long" } } } - }, - "memory": { - "properties": { - "majorpagefaults": { - "type": "long" - }, - "pagefaults": { - "type": "long" - }, - "rss": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "majorpagefaults": { + "type": "long" + }, + "pagefaults": { + "type": "long" + }, + "rss": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" } - }, - "workingset": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "workingset": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "start_time": { - "type": "date" } + }, + "start_time": { + "type": "date" } - }, - "volume": { - "properties": { - "fs": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "volume": { + "properties": { + "fs": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" } - }, - "inodes": { - "properties": { - "count": { - "type": "long" - }, - "free": { - "type": "long" - }, - "used": { - "type": "long" - } + } + }, + "inodes": { + "properties": { + "count": { + "type": "long" + }, + "free": { + "type": "long" + }, + "used": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "kvm": { - "properties": { - "dommemstat": { - "properties": { - "id": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "stat": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "value": { - "type": "long" - } + } + }, + "kvm": { + "properties": { + "dommemstat": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "stat": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "value": { + "type": "long" } } } } } - }, - "logstash": { - "properties": { - "node": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "jvm": { - "properties": { - "pid": { - "type": "long" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "stats": { - "properties": { - "events": { - "properties": { - "filtered": { - "type": "long" - }, - "in": { - "type": "long" - }, - "out": { - "type": "long" - } - } - } - } - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "logstash": { + "properties": { + "node": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "jvm": { + "properties": { + "pid": { + "type": "long" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "stats": { + "properties": { + "events": { + "properties": { + "filtered": { + "type": "long" + }, + "in": { + "type": "long" + }, + "out": { + "type": "long" + } + } + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "memcached": { - "properties": { - "stats": { - "properties": { - "bytes": { - "properties": { - "current": { - "type": "long" - }, - "limit": { - "type": "long" - } - } - }, - "cmd": { - "properties": { - "get": { - "type": "long" - }, - "set": { - "type": "long" - } - } - }, - "connections": { - "properties": { - "current": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "evictions": { - "type": "long" - }, - "get": { - "properties": { - "hits": { - "type": "long" - }, - "misses": { - "type": "long" - } - } - }, - "items": { - "properties": { - "current": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "pid": { - "type": "long" - }, - "read": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "threads": { - "type": "long" - }, - "uptime": { - "properties": { - "sec": { - "type": "long" - } - } - }, - "written": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memcached": { + "properties": { + "stats": { + "properties": { + "bytes": { + "properties": { + "current": { + "type": "long" + }, + "limit": { + "type": "long" + } + } + }, + "cmd": { + "properties": { + "get": { + "type": "long" + }, + "set": { + "type": "long" + } + } + }, + "connections": { + "properties": { + "current": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "evictions": { + "type": "long" + }, + "get": { + "properties": { + "hits": { + "type": "long" + }, + "misses": { + "type": "long" + } + } + }, + "items": { + "properties": { + "current": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "pid": { + "type": "long" + }, + "read": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "threads": { + "type": "long" + }, + "uptime": { + "properties": { + "sec": { + "type": "long" + } + } + }, + "written": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "meta": { - "properties": { - "cloud": { - "properties": { - "availability_zone": { - "ignore_above": 1024, - "type": "keyword" - }, - "instance_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "instance_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "machine_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "project_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "provider": { - "ignore_above": 1024, - "type": "keyword" - }, - "region": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "meta": { + "properties": { + "cloud": { + "properties": { + "availability_zone": { + "ignore_above": 1024, + "type": "keyword" + }, + "instance_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "instance_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "machine_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "project_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "provider": { + "ignore_above": 1024, + "type": "keyword" + }, + "region": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "metricset": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "module": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "namespace": { - "ignore_above": 1024, - "type": "keyword" - }, - "rtt": { - "type": "long" - } + } + }, + "metricset": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "rtt": { + "type": "long" } - }, - "mongodb": { - "properties": { - "collstats": { - "properties": { - "collection": { - "ignore_above": 1024, - "type": "keyword" - }, - "commands": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } - } - } - } - }, - "db": { - "ignore_above": 1024, - "type": "keyword" - }, - "getmore": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } - } - } - } - }, - "insert": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } - } - } - } - }, - "lock": { - "properties": { - "read": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } - } - } - } - }, - "write": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } - } - } + } + }, + "mongodb": { + "properties": { + "collstats": { + "properties": { + "collection": { + "ignore_above": 1024, + "type": "keyword" + }, + "commands": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "queries": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "db": { + "ignore_above": 1024, + "type": "keyword" + }, + "getmore": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } - }, - "remove": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "insert": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } - }, - "total": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" + } + }, + "lock": { + "properties": { + "read": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" + } } } } - } - }, - "update": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" + }, + "write": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" + } } } } } } - } - }, - "dbstats": { - "properties": { - "avg_obj_size": { - "properties": { - "bytes": { - "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "queries": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" + } } } - }, - "collections": { - "type": "long" - }, - "data_file_version": { - "properties": { - "major": { - "type": "long" - }, - "minor": { - "type": "long" + } + }, + "remove": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" + } } } - }, - "data_size": { - "properties": { - "bytes": { - "type": "long" + } + }, + "total": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" + } } } - }, - "db": { - "ignore_above": 1024, - "type": "keyword" - }, - "extent_free_list": { - "properties": { - "num": { - "type": "long" - }, - "size": { - "properties": { - "bytes": { - "type": "long" - } - } - } - } - }, - "file_size": { - "properties": { - "bytes": { - "type": "long" + } + }, + "update": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" + } } - } - }, - "index_size": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "indexes": { - "type": "long" - }, - "ns_size_mb": { - "properties": { - "mb": { - "type": "long" - } - } - }, - "num_extents": { - "type": "long" - }, - "objects": { - "type": "long" - }, - "storage_size": { - "properties": { - "bytes": { - "type": "long" - } - } - } - } - }, - "metrics": { - "properties": { - "commands": { - "properties": { - "aggregate": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "build_info": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "coll_stats": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "connection_pool_stats": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "count": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "db_stats": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "distinct": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "find": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "get_cmd_line_opts": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "get_last_error": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "get_log": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "get_more": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "get_parameter": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "host_info": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "insert": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "is_master": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "is_self": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "last_collections": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "last_commands": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "list_databased": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "list_indexes": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "ping": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "profile": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "replset_get_rbid": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "replset_get_status": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "replset_heartbeat": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "replset_update_position": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "server_status": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "update": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "whatsmyuri": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - } - } - }, - "cursor": { - "properties": { - "open": { - "properties": { - "no_timeout": { - "type": "long" - }, - "pinned": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "timed_out": { - "type": "long" - } - } - }, - "document": { - "properties": { - "deleted": { - "type": "long" - }, - "inserted": { - "type": "long" - }, - "returned": { - "type": "long" - }, - "updated": { - "type": "long" - } - } - }, - "get_last_error": { - "properties": { - "write_timeouts": { - "type": "long" - }, - "write_wait": { - "properties": { - "count": { - "type": "long" - }, - "ms": { - "type": "long" - } - } - } - } - }, - "operation": { - "properties": { - "scan_and_order": { - "type": "long" - }, - "write_conflicts": { - "type": "long" - } - } - }, - "query_executor": { - "properties": { - "scanned_documents": { - "type": "long" - }, - "scanned_indexes": { - "type": "long" - } - } - }, - "replication": { - "properties": { - "apply": { - "properties": { - "attempts_to_become_secondary": { - "type": "long" - }, - "batches": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "ms": { - "type": "long" - } + } + } + } + } + }, + "dbstats": { + "properties": { + "avg_obj_size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "collections": { + "type": "long" + }, + "data_file_version": { + "properties": { + "major": { + "type": "long" + }, + "minor": { + "type": "long" + } + } + }, + "data_size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "db": { + "ignore_above": 1024, + "type": "keyword" + }, + "extent_free_list": { + "properties": { + "num": { + "type": "long" + }, + "size": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "file_size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "index_size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "indexes": { + "type": "long" + }, + "ns_size_mb": { + "properties": { + "mb": { + "type": "long" + } + } + }, + "num_extents": { + "type": "long" + }, + "objects": { + "type": "long" + }, + "storage_size": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "metrics": { + "properties": { + "commands": { + "properties": { + "aggregate": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "build_info": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "coll_stats": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "connection_pool_stats": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "count": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "db_stats": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "distinct": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "find": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "get_cmd_line_opts": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "get_last_error": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "get_log": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "get_more": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "get_parameter": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "host_info": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "insert": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "is_master": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "is_self": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "last_collections": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "last_commands": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "list_databased": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "list_indexes": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "ping": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "profile": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "replset_get_rbid": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "replset_get_status": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "replset_heartbeat": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "replset_update_position": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "server_status": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "update": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "whatsmyuri": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + } + } + }, + "cursor": { + "properties": { + "open": { + "properties": { + "no_timeout": { + "type": "long" + }, + "pinned": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "timed_out": { + "type": "long" + } + } + }, + "document": { + "properties": { + "deleted": { + "type": "long" + }, + "inserted": { + "type": "long" + }, + "returned": { + "type": "long" + }, + "updated": { + "type": "long" + } + } + }, + "get_last_error": { + "properties": { + "write_timeouts": { + "type": "long" + }, + "write_wait": { + "properties": { + "count": { + "type": "long" + }, + "ms": { + "type": "long" + } + } + } + } + }, + "operation": { + "properties": { + "scan_and_order": { + "type": "long" + }, + "write_conflicts": { + "type": "long" + } + } + }, + "query_executor": { + "properties": { + "scanned_documents": { + "type": "long" + }, + "scanned_indexes": { + "type": "long" + } + } + }, + "replication": { + "properties": { + "apply": { + "properties": { + "attempts_to_become_secondary": { + "type": "long" + }, + "batches": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "ms": { + "type": "long" } } } - }, - "ops": { - "type": "long" - } - } - }, - "buffer": { - "properties": { - "count": { - "type": "long" - }, - "max_size": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "size": { - "properties": { - "bytes": { - "type": "long" - } - } } - } - }, - "executor": { - "properties": { - "counters": { - "properties": { - "cancels": { - "type": "long" - }, - "event_created": { - "type": "long" - }, - "event_wait": { - "type": "long" - }, - "scheduled": { - "properties": { - "dbwork": { - "type": "long" - }, - "exclusive": { - "type": "long" - }, - "failures": { - "type": "long" - }, - "netcmd": { - "type": "long" - }, - "work": { - "type": "long" - }, - "work_at": { - "type": "long" - } + }, + "ops": { + "type": "long" + } + } + }, + "buffer": { + "properties": { + "count": { + "type": "long" + }, + "max_size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "size": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "executor": { + "properties": { + "counters": { + "properties": { + "cancels": { + "type": "long" + }, + "event_created": { + "type": "long" + }, + "event_wait": { + "type": "long" + }, + "scheduled": { + "properties": { + "dbwork": { + "type": "long" + }, + "exclusive": { + "type": "long" + }, + "failures": { + "type": "long" + }, + "netcmd": { + "type": "long" + }, + "work": { + "type": "long" + }, + "work_at": { + "type": "long" } - }, - "waits": { - "type": "long" } - } - }, - "event_waiters": { - "type": "long" - }, - "network_interface": { - "norms": false, - "type": "text" - }, - "queues": { - "properties": { - "free": { - "type": "long" - }, - "in_progress": { - "properties": { - "dbwork": { - "type": "long" - }, - "exclusive": { - "type": "long" - }, - "network": { - "type": "long" - } + }, + "waits": { + "type": "long" + } + } + }, + "event_waiters": { + "type": "long" + }, + "network_interface": { + "norms": false, + "type": "text" + }, + "queues": { + "properties": { + "free": { + "type": "long" + }, + "in_progress": { + "properties": { + "dbwork": { + "type": "long" + }, + "exclusive": { + "type": "long" + }, + "network": { + "type": "long" } - }, - "ready": { - "type": "long" - }, - "sleepers": { - "type": "long" } - } - }, - "shutting_down": { - "type": "boolean" - }, - "unsignaled_events": { - "type": "long" - } - } - }, - "initial_sync": { - "properties": { - "completed": { - "type": "long" - }, - "failed_attempts": { - "type": "long" - }, - "failures": { - "type": "long" - } - } - }, - "network": { - "properties": { - "bytes": { - "type": "long" - }, - "getmores": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "ms": { - "type": "long" - } + }, + "ready": { + "type": "long" + }, + "sleepers": { + "type": "long" + } + } + }, + "shutting_down": { + "type": "boolean" + }, + "unsignaled_events": { + "type": "long" + } + } + }, + "initial_sync": { + "properties": { + "completed": { + "type": "long" + }, + "failed_attempts": { + "type": "long" + }, + "failures": { + "type": "long" + } + } + }, + "network": { + "properties": { + "bytes": { + "type": "long" + }, + "getmores": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "ms": { + "type": "long" } } } - }, - "ops": { - "type": "long" - }, - "reders_created": { - "type": "long" - } - } - }, - "preload": { - "properties": { - "docs": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "ops": { + "type": "long" + }, + "reders_created": { + "type": "long" + } + } + }, + "preload": { + "properties": { + "docs": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "ms": { + "type": "long" } } } - }, - "indexes": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "indexes": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "ms": { + "type": "long" } } } @@ -5924,789 +5922,789 @@ } } } - }, - "storage": { - "properties": { - "free_list": { - "properties": { - "search": { - "properties": { - "bucket_exhausted": { - "type": "long" - }, - "requests": { - "type": "long" - }, - "scanned": { - "type": "long" - } + } + }, + "storage": { + "properties": { + "free_list": { + "properties": { + "search": { + "properties": { + "bucket_exhausted": { + "type": "long" + }, + "requests": { + "type": "long" + }, + "scanned": { + "type": "long" } } } } } - }, - "ttl": { - "properties": { - "deleted_documents": { - "type": "long" - }, - "passes": { - "type": "long" - } + } + }, + "ttl": { + "properties": { + "deleted_documents": { + "type": "long" + }, + "passes": { + "type": "long" } } } - }, - "replstatus": { - "properties": { - "headroom": { - "properties": { - "max": { - "type": "long" - }, - "min": { - "type": "long" + } + }, + "replstatus": { + "properties": { + "headroom": { + "properties": { + "max": { + "type": "long" + }, + "min": { + "type": "long" + } + } + }, + "lag": { + "properties": { + "max": { + "type": "long" + }, + "min": { + "type": "long" + } + } + }, + "members": { + "properties": { + "arbiter": { + "properties": { + "count": { + "type": "long" + } } - } - }, - "lag": { - "properties": { - "max": { - "type": "long" - }, - "min": { - "type": "long" + }, + "down": { + "properties": { + "count": { + "type": "long" + } + } + }, + "primary": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "optime": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "recovering": { + "properties": { + "count": { + "type": "long" + } + } + }, + "rollback": { + "properties": { + "count": { + "type": "long" + } + } + }, + "secondary": { + "properties": { + "count": { + "type": "long" + }, + "optimes": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "startup2": { + "properties": { + "count": { + "type": "long" + } + } + }, + "unhealthy": { + "properties": { + "count": { + "type": "long" + } + } + }, + "unknown": { + "properties": { + "count": { + "type": "long" + } + } + } + } + }, + "oplog": { + "properties": { + "first": { + "properties": { + "timestamp": { + "type": "long" + } + } + }, + "last": { + "properties": { + "timestamp": { + "type": "long" + } + } + }, + "size": { + "properties": { + "allocated": { + "type": "long" + }, + "used": { + "type": "long" + } } + }, + "window": { + "type": "long" } - }, - "members": { - "properties": { - "arbiter": { - "properties": { - "count": { - "type": "long" - } - } - }, - "down": { - "properties": { - "count": { - "type": "long" - } - } - }, - "primary": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "optime": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "recovering": { - "properties": { - "count": { - "type": "long" - } - } - }, - "rollback": { - "properties": { - "count": { - "type": "long" - } - } - }, - "secondary": { - "properties": { - "count": { - "type": "long" - }, - "optimes": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "startup2": { - "properties": { - "count": { - "type": "long" - } - } - }, - "unhealthy": { - "properties": { - "count": { - "type": "long" - } - } - }, - "unknown": { - "properties": { - "count": { - "type": "long" - } - } - } - } - }, - "oplog": { - "properties": { - "first": { - "properties": { - "timestamp": { - "type": "long" - } - } - }, - "last": { - "properties": { - "timestamp": { - "type": "long" - } - } - }, - "size": { - "properties": { - "allocated": { - "type": "long" - }, - "used": { - "type": "long" - } - } - }, - "window": { - "type": "long" - } - } - }, - "optimes": { - "properties": { - "applied": { - "type": "long" - }, - "durable": { - "type": "long" - }, - "last_committed": { - "type": "long" - } - } - }, - "server_date": { - "type": "date" - }, - "set_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "status": { - "properties": { - "asserts": { - "properties": { - "msg": { - "type": "long" - }, - "regular": { - "type": "long" - }, - "rollovers": { - "type": "long" - }, - "user": { - "type": "long" - }, - "warning": { - "type": "long" - } - } - }, - "background_flushing": { - "properties": { - "average": { - "properties": { - "ms": { - "type": "long" - } - } - }, - "flushes": { - "type": "long" - }, - "last": { - "properties": { - "ms": { - "type": "long" - } - } - }, - "last_finished": { - "type": "date" - }, - "total": { - "properties": { - "ms": { - "type": "long" - } - } - } - } - }, - "connections": { - "properties": { - "available": { - "type": "long" - }, - "current": { - "type": "long" - }, - "total_created": { - "type": "long" - } - } - }, - "extra_info": { - "properties": { - "heap_usage": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "page_faults": { - "type": "long" - } - } - }, - "global_lock": { - "properties": { - "active_clients": { - "properties": { - "readers": { - "type": "long" - }, - "total": { - "type": "long" - }, - "writers": { - "type": "long" - } - } - }, - "current_queue": { - "properties": { - "readers": { - "type": "long" - }, - "total": { - "type": "long" - }, - "writers": { - "type": "long" - } - } - }, - "total_time": { - "properties": { - "us": { - "type": "long" - } - } - } - } - }, - "journaling": { - "properties": { - "commits": { - "type": "long" - }, - "commits_in_write_lock": { - "type": "long" - }, - "compression": { - "type": "long" - }, - "early_commits": { - "type": "long" - }, - "journaled": { - "properties": { - "mb": { - "type": "long" - } - } - }, - "times": { - "properties": { - "commits": { - "properties": { - "ms": { - "type": "long" - } - } - }, - "commits_in_write_lock": { - "properties": { - "ms": { - "type": "long" - } - } - }, - "dt": { - "properties": { - "ms": { - "type": "long" - } - } - }, - "prep_log_buffer": { - "properties": { - "ms": { - "type": "long" - } - } - }, - "remap_private_view": { - "properties": { - "ms": { - "type": "long" - } - } - }, - "write_to_data_files": { - "properties": { - "ms": { - "type": "long" - } - } - }, - "write_to_journal": { - "properties": { - "ms": { - "type": "long" + } + }, + "optimes": { + "properties": { + "applied": { + "type": "long" + }, + "durable": { + "type": "long" + }, + "last_committed": { + "type": "long" + } + } + }, + "server_date": { + "type": "date" + }, + "set_name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "status": { + "properties": { + "asserts": { + "properties": { + "msg": { + "type": "long" + }, + "regular": { + "type": "long" + }, + "rollovers": { + "type": "long" + }, + "user": { + "type": "long" + }, + "warning": { + "type": "long" + } + } + }, + "background_flushing": { + "properties": { + "average": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "flushes": { + "type": "long" + }, + "last": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "last_finished": { + "type": "date" + }, + "total": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + }, + "connections": { + "properties": { + "available": { + "type": "long" + }, + "current": { + "type": "long" + }, + "total_created": { + "type": "long" + } + } + }, + "extra_info": { + "properties": { + "heap_usage": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "page_faults": { + "type": "long" + } + } + }, + "global_lock": { + "properties": { + "active_clients": { + "properties": { + "readers": { + "type": "long" + }, + "total": { + "type": "long" + }, + "writers": { + "type": "long" + } + } + }, + "current_queue": { + "properties": { + "readers": { + "type": "long" + }, + "total": { + "type": "long" + }, + "writers": { + "type": "long" + } + } + }, + "total_time": { + "properties": { + "us": { + "type": "long" + } + } + } + } + }, + "journaling": { + "properties": { + "commits": { + "type": "long" + }, + "commits_in_write_lock": { + "type": "long" + }, + "compression": { + "type": "long" + }, + "early_commits": { + "type": "long" + }, + "journaled": { + "properties": { + "mb": { + "type": "long" + } + } + }, + "times": { + "properties": { + "commits": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "commits_in_write_lock": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "dt": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "prep_log_buffer": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "remap_private_view": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "write_to_data_files": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "write_to_journal": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + }, + "write_to_data_files": { + "properties": { + "mb": { + "type": "long" + } + } + } + } + }, + "local_time": { + "type": "date" + }, + "locks": { + "properties": { + "collection": { + "properties": { + "acquire": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" + } } } } - } - }, - "write_to_data_files": { - "properties": { - "mb": { - "type": "long" - } - } - } - } - }, - "local_time": { - "type": "date" - }, - "locks": { - "properties": { - "collection": { - "properties": { - "acquire": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + }, + "deadlock": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "deadlock": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "wait": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } - } - }, - "wait": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } - } - }, - "us": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + }, + "us": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } } } - }, - "database": { - "properties": { - "acquire": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "database": { + "properties": { + "acquire": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "deadlock": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "deadlock": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "wait": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "wait": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } - }, - "us": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "us": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } } } - }, - "global": { - "properties": { - "acquire": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "global": { + "properties": { + "acquire": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "deadlock": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "deadlock": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "wait": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "wait": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } - }, - "us": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "us": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } } } - }, - "meta_data": { - "properties": { - "acquire": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "meta_data": { + "properties": { + "acquire": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "deadlock": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "deadlock": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "wait": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "wait": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } - }, - "us": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "us": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } } } - }, - "oplog": { - "properties": { - "acquire": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "oplog": { + "properties": { + "acquire": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "deadlock": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "deadlock": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "wait": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "wait": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } - }, - "us": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "us": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } @@ -6714,2175 +6712,2175 @@ } } } - }, - "memory": { - "properties": { - "bits": { - "type": "long" - }, - "mapped": { - "properties": { - "mb": { - "type": "long" - } - } - }, - "mapped_with_journal": { - "properties": { - "mb": { - "type": "long" - } - } - }, - "resident": { - "properties": { - "mb": { - "type": "long" - } - } - }, - "virtual": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "bits": { + "type": "long" + }, + "mapped": { + "properties": { + "mb": { + "type": "long" } } - } - }, - "network": { - "properties": { - "in": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "out": { - "properties": { - "bytes": { - "type": "long" - } + }, + "mapped_with_journal": { + "properties": { + "mb": { + "type": "long" } - }, - "requests": { - "type": "long" } - } - }, - "ops": { - "properties": { - "counters": { - "properties": { - "command": { - "type": "long" - }, - "delete": { - "type": "long" - }, - "getmore": { - "type": "long" - }, - "insert": { - "type": "long" - }, - "query": { - "type": "long" - }, - "update": { - "type": "long" - } - } - }, - "latencies": { - "properties": { - "commands": { - "properties": { - "count": { - "type": "long" - }, - "latency": { - "type": "long" - } - } - }, - "reads": { - "properties": { - "count": { - "type": "long" - }, - "latency": { - "type": "long" - } - } - }, - "writes": { - "properties": { - "count": { - "type": "long" - }, - "latency": { - "type": "long" - } - } - } + }, + "resident": { + "properties": { + "mb": { + "type": "long" } - }, - "replicated": { - "properties": { - "command": { - "type": "long" - }, - "delete": { - "type": "long" - }, - "getmore": { - "type": "long" - }, - "insert": { - "type": "long" - }, - "query": { - "type": "long" - }, - "update": { - "type": "long" - } - } - } - } - }, - "process": { - "ignore_above": 1024, - "type": "keyword" - }, - "storage_engine": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "uptime": { - "properties": { - "ms": { - "type": "long" - } - } - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - }, - "wired_tiger": { - "properties": { - "cache": { - "properties": { - "dirty": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "maximum": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "pages": { - "properties": { - "evicted": { - "type": "long" - }, - "read": { - "type": "long" - }, - "write": { - "type": "long" - } - } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } - } - } + } + }, + "virtual": { + "properties": { + "mb": { + "type": "long" + } + } + } + } + }, + "network": { + "properties": { + "in": { + "properties": { + "bytes": { + "type": "long" } - }, - "concurrent_transactions": { - "properties": { - "read": { - "properties": { - "available": { - "type": "long" - }, - "out": { - "type": "long" - }, - "total_tickets": { - "type": "long" - } - } - }, - "write": { - "properties": { - "available": { - "type": "long" - }, - "out": { - "type": "long" - }, - "total_tickets": { - "type": "long" - } - } - } + } + }, + "out": { + "properties": { + "bytes": { + "type": "long" } - }, - "log": { - "properties": { - "flushes": { - "type": "long" - }, - "max_file_size": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "scans": { - "type": "long" - }, - "size": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "syncs": { - "type": "long" - }, - "write": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "writes": { - "type": "long" - } + } + }, + "requests": { + "type": "long" + } + } + }, + "ops": { + "properties": { + "counters": { + "properties": { + "command": { + "type": "long" + }, + "delete": { + "type": "long" + }, + "getmore": { + "type": "long" + }, + "insert": { + "type": "long" + }, + "query": { + "type": "long" + }, + "update": { + "type": "long" + } + } + }, + "latencies": { + "properties": { + "commands": { + "properties": { + "count": { + "type": "long" + }, + "latency": { + "type": "long" + } + } + }, + "reads": { + "properties": { + "count": { + "type": "long" + }, + "latency": { + "type": "long" + } + } + }, + "writes": { + "properties": { + "count": { + "type": "long" + }, + "latency": { + "type": "long" + } + } + } + } + }, + "replicated": { + "properties": { + "command": { + "type": "long" + }, + "delete": { + "type": "long" + }, + "getmore": { + "type": "long" + }, + "insert": { + "type": "long" + }, + "query": { + "type": "long" + }, + "update": { + "type": "long" + } + } + } + } + }, + "process": { + "ignore_above": 1024, + "type": "keyword" + }, + "storage_engine": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "uptime": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + }, + "wired_tiger": { + "properties": { + "cache": { + "properties": { + "dirty": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "maximum": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "pages": { + "properties": { + "evicted": { + "type": "long" + }, + "read": { + "type": "long" + }, + "write": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "concurrent_transactions": { + "properties": { + "read": { + "properties": { + "available": { + "type": "long" + }, + "out": { + "type": "long" + }, + "total_tickets": { + "type": "long" + } + } + }, + "write": { + "properties": { + "available": { + "type": "long" + }, + "out": { + "type": "long" + }, + "total_tickets": { + "type": "long" + } + } + } + } + }, + "log": { + "properties": { + "flushes": { + "type": "long" + }, + "max_file_size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "scans": { + "type": "long" + }, + "size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "syncs": { + "type": "long" + }, + "write": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "writes": { + "type": "long" } } } - }, - "write_backs_queued": { - "type": "boolean" } + }, + "write_backs_queued": { + "type": "boolean" } } } - }, - "munin": { - "type": "object" - }, - "mysql": { - "properties": { - "galera_status": { - "properties": { - "apply": { - "properties": { - "oooe": { - "type": "double" - }, - "oool": { - "type": "double" - }, - "window": { - "type": "double" - } - } - }, - "cert": { - "properties": { - "deps_distance": { - "type": "double" - }, - "index_size": { - "type": "long" - }, - "interval": { - "type": "double" - } - } - }, - "cluster": { - "properties": { - "conf_id": { - "type": "long" - }, - "size": { - "type": "long" - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "commit": { - "properties": { - "oooe": { - "type": "double" - }, - "window": { - "type": "long" - } - } - }, - "connected": { - "ignore_above": 1024, - "type": "keyword" - }, - "evs": { - "properties": { - "evict": { - "ignore_above": 1024, - "type": "keyword" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "flow_ctl": { - "properties": { - "paused": { - "type": "double" - }, - "paused_ns": { - "type": "long" - }, - "recv": { - "type": "long" - }, - "sent": { - "type": "long" - } - } - }, - "last_committed": { - "type": "long" - }, - "local": { - "properties": { - "bf_aborts": { - "type": "long" - }, - "cert_failures": { - "type": "long" - }, - "commits": { - "type": "long" - }, - "recv": { - "properties": { - "queue": { - "type": "long" - }, - "queue_avg": { - "type": "double" - }, - "queue_max": { - "type": "long" - }, - "queue_min": { - "type": "long" - } - } - }, - "replays": { - "type": "long" - }, - "send": { - "properties": { - "queue": { - "type": "long" - }, - "queue_avg": { - "type": "double" - }, - "queue_max": { - "type": "long" - }, - "queue_min": { - "type": "long" - } - } - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "ready": { - "ignore_above": 1024, - "type": "keyword" - }, - "received": { - "properties": { - "bytes": { - "type": "long" - }, - "count": { - "type": "long" - } - } - }, - "repl": { - "properties": { - "bytes": { - "type": "long" - }, - "count": { - "type": "long" - }, - "data_bytes": { - "type": "long" - }, - "keys": { - "type": "long" - }, - "keys_bytes": { - "type": "long" - }, - "other_bytes": { - "type": "long" - } - } - } - } - }, - "status": { - "properties": { - "aborted": { - "properties": { - "clients": { - "type": "long" - }, - "connects": { - "type": "long" - } - } - }, - "binlog": { - "properties": { - "cache": { - "properties": { - "disk_use": { - "type": "long" - }, - "use": { - "type": "long" - } - } - } - } - }, - "bytes": { - "properties": { - "received": { - "type": "long" - }, - "sent": { - "type": "long" - } - } - }, - "command": { - "properties": { - "delete": { - "type": "long" - }, - "insert": { - "type": "long" - }, - "select": { - "type": "long" - }, - "update": { - "type": "long" - } - } - }, - "connections": { - "type": "long" - }, - "created": { - "properties": { - "tmp": { - "properties": { - "disk_tables": { - "type": "long" - }, - "files": { - "type": "long" - }, - "tables": { - "type": "long" - } - } - } - } - }, - "delayed": { - "properties": { - "errors": { - "type": "long" - }, - "insert_threads": { - "type": "long" - }, - "writes": { - "type": "long" - } - } - }, - "flush_commands": { - "type": "long" - }, - "max_used_connections": { - "type": "long" - }, - "open": { - "properties": { - "files": { - "type": "long" - }, - "streams": { - "type": "long" - }, - "tables": { - "type": "long" - } - } - }, - "opened_tables": { - "type": "long" - }, - "threads": { - "properties": { - "cached": { - "type": "long" - }, - "connected": { - "type": "long" - }, - "created": { - "type": "long" - }, - "running": { - "type": "long" - } + } + }, + "munin": { + "type": "object" + }, + "mysql": { + "properties": { + "galera_status": { + "properties": { + "apply": { + "properties": { + "oooe": { + "type": "double" + }, + "oool": { + "type": "double" + }, + "window": { + "type": "double" + } + } + }, + "cert": { + "properties": { + "deps_distance": { + "type": "double" + }, + "index_size": { + "type": "long" + }, + "interval": { + "type": "double" + } + } + }, + "cluster": { + "properties": { + "conf_id": { + "type": "long" + }, + "size": { + "type": "long" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "commit": { + "properties": { + "oooe": { + "type": "double" + }, + "window": { + "type": "long" + } + } + }, + "connected": { + "ignore_above": 1024, + "type": "keyword" + }, + "evs": { + "properties": { + "evict": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "flow_ctl": { + "properties": { + "paused": { + "type": "double" + }, + "paused_ns": { + "type": "long" + }, + "recv": { + "type": "long" + }, + "sent": { + "type": "long" + } + } + }, + "last_committed": { + "type": "long" + }, + "local": { + "properties": { + "bf_aborts": { + "type": "long" + }, + "cert_failures": { + "type": "long" + }, + "commits": { + "type": "long" + }, + "recv": { + "properties": { + "queue": { + "type": "long" + }, + "queue_avg": { + "type": "double" + }, + "queue_max": { + "type": "long" + }, + "queue_min": { + "type": "long" + } + } + }, + "replays": { + "type": "long" + }, + "send": { + "properties": { + "queue": { + "type": "long" + }, + "queue_avg": { + "type": "double" + }, + "queue_max": { + "type": "long" + }, + "queue_min": { + "type": "long" + } + } + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ready": { + "ignore_above": 1024, + "type": "keyword" + }, + "received": { + "properties": { + "bytes": { + "type": "long" + }, + "count": { + "type": "long" + } + } + }, + "repl": { + "properties": { + "bytes": { + "type": "long" + }, + "count": { + "type": "long" + }, + "data_bytes": { + "type": "long" + }, + "keys": { + "type": "long" + }, + "keys_bytes": { + "type": "long" + }, + "other_bytes": { + "type": "long" } } } } - } - }, - "nginx": { - "properties": { - "stubstatus": { - "properties": { - "accepts": { - "type": "long" - }, - "active": { - "type": "long" - }, - "current": { - "type": "long" - }, - "dropped": { - "type": "long" - }, - "handled": { - "type": "long" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "reading": { - "type": "long" - }, - "requests": { - "type": "long" - }, - "waiting": { - "type": "long" - }, - "writing": { - "type": "long" + }, + "status": { + "properties": { + "aborted": { + "properties": { + "clients": { + "type": "long" + }, + "connects": { + "type": "long" + } + } + }, + "binlog": { + "properties": { + "cache": { + "properties": { + "disk_use": { + "type": "long" + }, + "use": { + "type": "long" + } + } + } + } + }, + "bytes": { + "properties": { + "received": { + "type": "long" + }, + "sent": { + "type": "long" + } + } + }, + "command": { + "properties": { + "delete": { + "type": "long" + }, + "insert": { + "type": "long" + }, + "select": { + "type": "long" + }, + "update": { + "type": "long" + } + } + }, + "connections": { + "type": "long" + }, + "created": { + "properties": { + "tmp": { + "properties": { + "disk_tables": { + "type": "long" + }, + "files": { + "type": "long" + }, + "tables": { + "type": "long" + } + } + } + } + }, + "delayed": { + "properties": { + "errors": { + "type": "long" + }, + "insert_threads": { + "type": "long" + }, + "writes": { + "type": "long" + } + } + }, + "flush_commands": { + "type": "long" + }, + "max_used_connections": { + "type": "long" + }, + "open": { + "properties": { + "files": { + "type": "long" + }, + "streams": { + "type": "long" + }, + "tables": { + "type": "long" + } + } + }, + "opened_tables": { + "type": "long" + }, + "threads": { + "properties": { + "cached": { + "type": "long" + }, + "connected": { + "type": "long" + }, + "created": { + "type": "long" + }, + "running": { + "type": "long" + } } } } } - }, - "php_fpm": { - "properties": { - "pool": { - "properties": { - "connections": { - "properties": { - "accepted": { - "type": "long" - }, - "listen_queue_len": { - "type": "long" - }, - "max_listen_queue": { - "type": "long" - }, - "queued": { - "type": "long" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "process_manager": { - "ignore_above": 1024, - "type": "keyword" - }, - "processes": { - "properties": { - "active": { - "type": "long" - }, - "idle": { - "type": "long" - }, - "max_active": { - "type": "long" - }, - "max_children_reached": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "slow_requests": { - "type": "long" - }, - "start_since": { - "type": "long" - }, - "start_time": { - "type": "date" - } - } - }, - "process": { - "properties": { - "content_length": { - "type": "long" - }, - "last_request_cpu": { - "type": "long" - }, - "last_request_memory": { - "type": "long" - }, - "pid": { - "type": "long" - }, - "request_duration": { - "type": "long" - }, - "request_method": { - "ignore_above": 1024, - "type": "keyword" - }, - "request_uri": { - "norms": false, - "type": "text" - }, - "requests": { - "type": "long" - }, - "script": { - "norms": false, - "type": "text" - }, - "start_since": { - "type": "long" - }, - "start_time": { - "type": "date" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "user": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "nginx": { + "properties": { + "stubstatus": { + "properties": { + "accepts": { + "type": "long" + }, + "active": { + "type": "long" + }, + "current": { + "type": "long" + }, + "dropped": { + "type": "long" + }, + "handled": { + "type": "long" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "reading": { + "type": "long" + }, + "requests": { + "type": "long" + }, + "waiting": { + "type": "long" + }, + "writing": { + "type": "long" } } } - }, - "postgresql": { - "properties": { - "activity": { - "properties": { - "application_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "backend_start": { - "type": "date" - }, - "client": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "port": { - "type": "long" - } - } - }, - "database": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "oid": { - "type": "long" - } - } - }, - "pid": { - "type": "long" - }, - "query": { - "ignore_above": 1024, - "type": "keyword" - }, - "query_start": { - "type": "date" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "state_change": { - "type": "date" - }, - "transaction_start": { - "type": "date" - }, - "user": { - "properties": { - "id": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "waiting": { - "type": "boolean" - } - } - }, - "bgwriter": { - "properties": { - "buffers": { - "properties": { - "allocated": { - "type": "long" - }, - "backend": { - "type": "long" - }, - "backend_fsync": { - "type": "long" - }, - "checkpoints": { - "type": "long" - }, - "clean": { - "type": "long" - }, - "clean_full": { - "type": "long" - } - } - }, - "checkpoints": { - "properties": { - "requested": { - "type": "long" - }, - "scheduled": { - "type": "long" - }, - "times": { - "properties": { - "sync": { - "properties": { - "ms": { - "type": "float" - } - } - }, - "write": { - "properties": { - "ms": { - "type": "float" - } - } - } - } - } + } + }, + "php_fpm": { + "properties": { + "pool": { + "properties": { + "connections": { + "properties": { + "accepted": { + "type": "long" + }, + "listen_queue_len": { + "type": "long" + }, + "max_listen_queue": { + "type": "long" + }, + "queued": { + "type": "long" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "process_manager": { + "ignore_above": 1024, + "type": "keyword" + }, + "processes": { + "properties": { + "active": { + "type": "long" + }, + "idle": { + "type": "long" + }, + "max_active": { + "type": "long" + }, + "max_children_reached": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "slow_requests": { + "type": "long" + }, + "start_since": { + "type": "long" + }, + "start_time": { + "type": "date" + } + } + }, + "process": { + "properties": { + "content_length": { + "type": "long" + }, + "last_request_cpu": { + "type": "long" + }, + "last_request_memory": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "request_duration": { + "type": "long" + }, + "request_method": { + "ignore_above": 1024, + "type": "keyword" + }, + "request_uri": { + "norms": false, + "type": "text" + }, + "requests": { + "type": "long" + }, + "script": { + "norms": false, + "type": "text" + }, + "start_since": { + "type": "long" + }, + "start_time": { + "type": "date" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "postgresql": { + "properties": { + "activity": { + "properties": { + "application_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "backend_start": { + "type": "date" + }, + "client": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + } + } + }, + "database": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "oid": { + "type": "long" + } + } + }, + "pid": { + "type": "long" + }, + "query": { + "ignore_above": 1024, + "type": "keyword" + }, + "query_start": { + "type": "date" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_change": { + "type": "date" + }, + "transaction_start": { + "type": "date" + }, + "user": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "waiting": { + "type": "boolean" + } + } + }, + "bgwriter": { + "properties": { + "buffers": { + "properties": { + "allocated": { + "type": "long" + }, + "backend": { + "type": "long" + }, + "backend_fsync": { + "type": "long" + }, + "checkpoints": { + "type": "long" + }, + "clean": { + "type": "long" + }, + "clean_full": { + "type": "long" + } + } + }, + "checkpoints": { + "properties": { + "requested": { + "type": "long" + }, + "scheduled": { + "type": "long" + }, + "times": { + "properties": { + "sync": { + "properties": { + "ms": { + "type": "float" + } + } + }, + "write": { + "properties": { + "ms": { + "type": "float" + } + } + } + } + } + } + }, + "stats_reset": { + "type": "date" + } + } + }, + "database": { + "properties": { + "blocks": { + "properties": { + "hit": { + "type": "long" + }, + "read": { + "type": "long" + }, + "time": { + "properties": { + "read": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "write": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + } + } + }, + "conflicts": { + "type": "long" + }, + "deadlocks": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "number_of_backends": { + "type": "long" + }, + "oid": { + "type": "long" + }, + "rows": { + "properties": { + "deleted": { + "type": "long" + }, + "fetched": { + "type": "long" + }, + "inserted": { + "type": "long" + }, + "returned": { + "type": "long" + }, + "updated": { + "type": "long" + } + } + }, + "stats_reset": { + "type": "date" + }, + "temporary": { + "properties": { + "bytes": { + "type": "long" + }, + "files": { + "type": "long" + } + } + }, + "transactions": { + "properties": { + "commit": { + "type": "long" + }, + "rollback": { + "type": "long" } - }, - "stats_reset": { - "type": "date" } } - }, - "database": { - "properties": { - "blocks": { - "properties": { - "hit": { - "type": "long" - }, - "read": { - "type": "long" - }, - "time": { - "properties": { - "read": { - "properties": { - "ms": { - "type": "long" - } - } - }, - "write": { - "properties": { - "ms": { - "type": "long" - } - } - } - } - } - } - }, - "conflicts": { - "type": "long" - }, - "deadlocks": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "number_of_backends": { - "type": "long" - }, - "oid": { - "type": "long" - }, - "rows": { - "properties": { - "deleted": { - "type": "long" - }, - "fetched": { - "type": "long" - }, - "inserted": { - "type": "long" - }, - "returned": { - "type": "long" - }, - "updated": { - "type": "long" - } - } - }, - "stats_reset": { - "type": "date" - }, - "temporary": { - "properties": { - "bytes": { - "type": "long" - }, - "files": { - "type": "long" - } - } - }, - "transactions": { - "properties": { - "commit": { - "type": "long" - }, - "rollback": { - "type": "long" - } - } - } - } - }, - "statement": { - "properties": { - "database": { - "properties": { - "oid": { - "type": "long" - } - } - }, - "memory": { - "properties": { - "local": { - "properties": { - "dirtied": { - "type": "long" - }, - "hit": { - "type": "long" - }, - "read": { - "type": "long" - }, - "written": { - "type": "long" - } - } - }, - "shared": { - "properties": { - "dirtied": { - "type": "long" - }, - "hit": { - "type": "long" - }, - "read": { - "type": "long" - }, - "written": { - "type": "long" - } - } - }, - "temp": { - "properties": { - "read": { - "type": "long" - }, - "written": { - "type": "long" - } - } - } - } - }, - "query": { - "properties": { - "calls": { - "type": "long" - }, - "id": { - "type": "long" - }, - "rows": { - "type": "long" - }, - "text": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "time": { - "properties": { - "max": { - "type": "long" - }, - "mean": { - "type": "long" - }, - "min": { - "type": "long" - }, - "stddev": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "user": { - "properties": { - "id": { - "type": "long" - } + } + }, + "statement": { + "properties": { + "database": { + "properties": { + "oid": { + "type": "long" + } + } + }, + "memory": { + "properties": { + "local": { + "properties": { + "dirtied": { + "type": "long" + }, + "hit": { + "type": "long" + }, + "read": { + "type": "long" + }, + "written": { + "type": "long" + } + } + }, + "shared": { + "properties": { + "dirtied": { + "type": "long" + }, + "hit": { + "type": "long" + }, + "read": { + "type": "long" + }, + "written": { + "type": "long" + } + } + }, + "temp": { + "properties": { + "read": { + "type": "long" + }, + "written": { + "type": "long" + } + } + } + } + }, + "query": { + "properties": { + "calls": { + "type": "long" + }, + "id": { + "type": "long" + }, + "rows": { + "type": "long" + }, + "text": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "time": { + "properties": { + "max": { + "type": "long" + }, + "mean": { + "type": "long" + }, + "min": { + "type": "long" + }, + "stddev": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "user": { + "properties": { + "id": { + "type": "long" } } } } } - }, - "prometheus": { - "properties": { - "stats": { - "properties": { - "notifications": { - "properties": { - "dropped": { - "type": "long" - }, - "queue_length": { - "type": "long" - } + } + }, + "prometheus": { + "properties": { + "stats": { + "properties": { + "notifications": { + "properties": { + "dropped": { + "type": "long" + }, + "queue_length": { + "type": "long" } - }, - "processes": { - "properties": { - "open_fds": { - "type": "long" - } + } + }, + "processes": { + "properties": { + "open_fds": { + "type": "long" } - }, - "storage": { - "properties": { - "chunks_to_persist": { - "type": "long" - } + } + }, + "storage": { + "properties": { + "chunks_to_persist": { + "type": "long" } } } } } - }, - "rabbitmq": { - "properties": { - "connection": { - "properties": { - "channel_max": { - "type": "long" - }, - "channels": { - "type": "long" - }, - "frame_max": { - "type": "long" - }, - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "node": { - "ignore_above": 1024, - "type": "keyword" - }, - "octet_count": { - "properties": { - "received": { - "type": "long" - }, - "sent": { - "type": "long" - } - } - }, - "packet_count": { - "properties": { - "pending": { - "type": "long" - }, - "received": { - "type": "long" - }, - "sent": { - "type": "long" - } - } - }, - "peer": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "port": { - "type": "long" - } - } - }, - "port": { - "type": "long" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "user": { - "ignore_above": 1024, - "type": "keyword" - }, - "vhost": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "exchange": { - "properties": { - "auto_delete": { - "type": "boolean" - }, - "durable": { - "type": "boolean" - }, - "internal": { - "type": "boolean" - }, - "messages": { - "properties": { - "publish_in": { - "properties": { - "count": { - "type": "long" - }, - "details": { - "properties": { - "rate": { - "type": "float" - } - } - } - } - }, - "publish_out": { - "properties": { - "count": { - "type": "long" - }, - "details": { - "properties": { - "rate": { - "type": "float" - } - } - } - } - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "user": { - "ignore_above": 1024, - "type": "keyword" - }, - "vhost": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "node": { - "properties": { - "disk": { - "properties": { - "free": { - "properties": { - "bytes": { - "type": "long" - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "rabbitmq": { + "properties": { + "connection": { + "properties": { + "channel_max": { + "type": "long" + }, + "channels": { + "type": "long" + }, + "frame_max": { + "type": "long" + }, + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "ignore_above": 1024, + "type": "keyword" + }, + "octet_count": { + "properties": { + "received": { + "type": "long" + }, + "sent": { + "type": "long" + } + } + }, + "packet_count": { + "properties": { + "pending": { + "type": "long" + }, + "received": { + "type": "long" + }, + "sent": { + "type": "long" + } + } + }, + "peer": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + } + } + }, + "port": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + }, + "vhost": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "exchange": { + "properties": { + "auto_delete": { + "type": "boolean" + }, + "durable": { + "type": "boolean" + }, + "internal": { + "type": "boolean" + }, + "messages": { + "properties": { + "publish_in": { + "properties": { + "count": { + "type": "long" + }, + "details": { + "properties": { + "rate": { + "type": "float" + } + } + } + } + }, + "publish_out": { + "properties": { + "count": { + "type": "long" + }, + "details": { + "properties": { + "rate": { + "type": "float" + } + } + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + }, + "vhost": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "node": { + "properties": { + "disk": { + "properties": { + "free": { + "properties": { + "bytes": { + "type": "long" + }, + "limit": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "fd": { - "properties": { - "total": { - "type": "long" - }, - "used": { - "type": "long" - } + } + }, + "fd": { + "properties": { + "total": { + "type": "long" + }, + "used": { + "type": "long" } - }, - "gc": { - "properties": { - "num": { - "properties": { - "count": { - "type": "long" - } + } + }, + "gc": { + "properties": { + "num": { + "properties": { + "count": { + "type": "long" } - }, - "reclaimed": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "reclaimed": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "io": { - "properties": { - "file_handle": { - "properties": { - "open_attempt": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "io": { + "properties": { + "file_handle": { + "properties": { + "open_attempt": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } - }, - "count": { - "type": "long" } + }, + "count": { + "type": "long" } } } - }, - "read": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "read": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } - }, - "bytes": { - "type": "long" - }, - "count": { - "type": "long" } + }, + "bytes": { + "type": "long" + }, + "count": { + "type": "long" } - }, - "reopen": { - "properties": { - "count": { - "type": "long" - } + } + }, + "reopen": { + "properties": { + "count": { + "type": "long" } - }, - "seek": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "seek": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } - }, - "count": { - "type": "long" } + }, + "count": { + "type": "long" } - }, - "sync": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "sync": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } - }, - "count": { - "type": "long" } + }, + "count": { + "type": "long" } - }, - "write": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "write": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } - }, - "bytes": { - "type": "long" - }, - "count": { - "type": "long" } + }, + "bytes": { + "type": "long" + }, + "count": { + "type": "long" } } } - }, - "mem": { - "properties": { - "limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "mem": { + "properties": { + "limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "mnesia": { - "properties": { - "disk": { - "properties": { - "tx": { - "properties": { - "count": { - "type": "long" - } + } + }, + "mnesia": { + "properties": { + "disk": { + "properties": { + "tx": { + "properties": { + "count": { + "type": "long" } } } - }, - "ram": { - "properties": { - "tx": { - "properties": { - "count": { - "type": "long" - } + } + }, + "ram": { + "properties": { + "tx": { + "properties": { + "count": { + "type": "long" } } } } } - }, - "msg": { - "properties": { - "store_read": { - "properties": { - "count": { - "type": "long" - } + } + }, + "msg": { + "properties": { + "store_read": { + "properties": { + "count": { + "type": "long" } - }, - "store_write": { - "properties": { - "count": { - "type": "long" - } + } + }, + "store_write": { + "properties": { + "count": { + "type": "long" } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "proc": { - "properties": { - "total": { - "type": "long" - }, - "used": { - "type": "long" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "proc": { + "properties": { + "total": { + "type": "long" + }, + "used": { + "type": "long" } - }, - "processors": { - "type": "long" - }, - "queue": { - "properties": { - "index": { - "properties": { - "journal_write": { - "properties": { - "count": { - "type": "long" - } + } + }, + "processors": { + "type": "long" + }, + "queue": { + "properties": { + "index": { + "properties": { + "journal_write": { + "properties": { + "count": { + "type": "long" } - }, - "read": { - "properties": { - "count": { - "type": "long" - } + } + }, + "read": { + "properties": { + "count": { + "type": "long" } - }, - "write": { - "properties": { - "count": { - "type": "long" - } + } + }, + "write": { + "properties": { + "count": { + "type": "long" } } } } } - }, - "run": { - "properties": { - "queue": { - "type": "long" - } + } + }, + "run": { + "properties": { + "queue": { + "type": "long" } - }, - "socket": { - "properties": { - "total": { - "type": "long" - }, - "used": { - "type": "long" - } + } + }, + "socket": { + "properties": { + "total": { + "type": "long" + }, + "used": { + "type": "long" } - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "uptime": { - "type": "long" } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "type": "long" } - }, - "queue": { - "properties": { - "arguments": { - "properties": { - "max_priority": { - "type": "long" - } + } + }, + "queue": { + "properties": { + "arguments": { + "properties": { + "max_priority": { + "type": "long" } - }, - "auto_delete": { - "type": "boolean" - }, - "consumers": { - "properties": { - "count": { - "type": "long" - }, - "utilisation": { - "properties": { - "pct": { - "type": "long" - } + } + }, + "auto_delete": { + "type": "boolean" + }, + "consumers": { + "properties": { + "count": { + "type": "long" + }, + "utilisation": { + "properties": { + "pct": { + "type": "long" } - } - } - }, - "disk": { - "properties": { - "reads": { - "properties": { - "count": { - "type": "long" - } + } + } + } + }, + "disk": { + "properties": { + "reads": { + "properties": { + "count": { + "type": "long" } - }, - "writes": { - "properties": { - "count": { - "type": "long" - } + } + }, + "writes": { + "properties": { + "count": { + "type": "long" } } } - }, - "durable": { - "type": "boolean" - }, - "exclusive": { - "type": "boolean" - }, - "memory": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "durable": { + "type": "boolean" + }, + "exclusive": { + "type": "boolean" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" } - }, - "messages": { - "properties": { - "persistent": { - "properties": { - "count": { - "type": "long" - } + } + }, + "messages": { + "properties": { + "persistent": { + "properties": { + "count": { + "type": "long" } - }, - "ready": { - "properties": { - "count": { - "type": "long" - }, - "details": { - "properties": { - "rate": { - "type": "float" - } + } + }, + "ready": { + "properties": { + "count": { + "type": "long" + }, + "details": { + "properties": { + "rate": { + "type": "float" } } } - }, - "total": { - "properties": { - "count": { - "type": "long" - }, - "details": { - "properties": { - "rate": { - "type": "float" - } + } + }, + "total": { + "properties": { + "count": { + "type": "long" + }, + "details": { + "properties": { + "rate": { + "type": "float" } } } - }, - "unacknowledged": { - "properties": { - "count": { - "type": "long" - }, - "details": { - "properties": { - "rate": { - "type": "float" - } + } + }, + "unacknowledged": { + "properties": { + "count": { + "type": "long" + }, + "details": { + "properties": { + "rate": { + "type": "float" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "node": { - "ignore_above": 1024, - "type": "keyword" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "vhost": { - "ignore_above": 1024, - "type": "keyword" } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "vhost": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "redis": { - "properties": { - "info": { - "properties": { - "clients": { - "properties": { - "biggest_input_buf": { - "type": "long" - }, - "blocked": { - "type": "long" - }, - "connected": { - "type": "long" - }, - "longest_output_list": { - "type": "long" - }, - "max_input_buffer": { - "type": "long" - }, - "max_output_buffer": { - "type": "long" - } - } - }, - "cluster": { - "properties": { - "enabled": { - "type": "boolean" - } - } - }, - "cpu": { - "properties": { - "used": { - "properties": { - "sys": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "sys_children": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "user": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "user_children": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - } - } - }, - "memory": { - "properties": { - "active_defrag": { - "properties": { - "is_running": { - "type": "boolean" - } - } - }, - "allocator": { - "ignore_above": 1024, - "type": "keyword" - }, - "allocator_stats": { - "properties": { - "active": { - "type": "long" - }, - "allocated": { - "type": "long" - }, - "fragmentation": { - "properties": { - "bytes": { - "type": "long" - }, - "ratio": { - "type": "float" - } - } - }, - "resident": { - "type": "long" - }, - "rss": { - "properties": { - "bytes": { - "type": "long" - }, - "ratio": { - "type": "float" - } - } - } - } - }, - "fragmentation": { - "properties": { - "bytes": { - "type": "long" - }, - "ratio": { - "type": "float" - } - } - }, - "max": { - "properties": { - "policy": { - "ignore_above": 1024, - "type": "keyword" - }, - "value": { - "type": "long" - } - } - }, - "used": { - "properties": { - "dataset": { - "type": "long" - }, - "lua": { - "type": "long" - }, - "peak": { - "type": "long" - }, - "rss": { - "type": "long" - }, - "value": { - "type": "long" - } - } - } - } - }, - "persistence": { - "properties": { - "aof": { - "properties": { - "bgrewrite": { - "properties": { - "last_status": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "buffer": { - "properties": { - "size": { - "type": "long" - } - } - }, - "copy_on_write": { - "properties": { - "last_size": { - "type": "long" - } - } - }, - "enabled": { - "type": "boolean" - }, - "fsync": { - "properties": { - "delayed": { - "type": "long" - }, - "pending": { - "type": "long" - } - } - }, - "rewrite": { - "properties": { - "buffer": { - "properties": { - "size": { - "type": "long" - } - } - }, - "current_time": { - "properties": { - "sec": { - "type": "long" - } - } - }, - "in_progress": { - "type": "boolean" - }, - "last_time": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "redis": { + "properties": { + "info": { + "properties": { + "clients": { + "properties": { + "biggest_input_buf": { + "type": "long" + }, + "blocked": { + "type": "long" + }, + "connected": { + "type": "long" + }, + "longest_output_list": { + "type": "long" + }, + "max_input_buffer": { + "type": "long" + }, + "max_output_buffer": { + "type": "long" + } + } + }, + "cluster": { + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "cpu": { + "properties": { + "used": { + "properties": { + "sys": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "sys_children": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "user": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "user_children": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + }, + "memory": { + "properties": { + "active_defrag": { + "properties": { + "is_running": { + "type": "boolean" + } + } + }, + "allocator": { + "ignore_above": 1024, + "type": "keyword" + }, + "allocator_stats": { + "properties": { + "active": { + "type": "long" + }, + "allocated": { + "type": "long" + }, + "fragmentation": { + "properties": { + "bytes": { + "type": "long" + }, + "ratio": { + "type": "float" + } + } + }, + "resident": { + "type": "long" + }, + "rss": { + "properties": { + "bytes": { + "type": "long" + }, + "ratio": { + "type": "float" + } + } + } + } + }, + "fragmentation": { + "properties": { + "bytes": { + "type": "long" + }, + "ratio": { + "type": "float" + } + } + }, + "max": { + "properties": { + "policy": { + "ignore_above": 1024, + "type": "keyword" + }, + "value": { + "type": "long" + } + } + }, + "used": { + "properties": { + "dataset": { + "type": "long" + }, + "lua": { + "type": "long" + }, + "peak": { + "type": "long" + }, + "rss": { + "type": "long" + }, + "value": { + "type": "long" + } + } + } + } + }, + "persistence": { + "properties": { + "aof": { + "properties": { + "bgrewrite": { + "properties": { + "last_status": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "buffer": { + "properties": { + "size": { + "type": "long" + } + } + }, + "copy_on_write": { + "properties": { + "last_size": { + "type": "long" + } + } + }, + "enabled": { + "type": "boolean" + }, + "fsync": { + "properties": { + "delayed": { + "type": "long" + }, + "pending": { + "type": "long" + } + } + }, + "rewrite": { + "properties": { + "buffer": { + "properties": { + "size": { + "type": "long" } - }, - "scheduled": { - "type": "boolean" } - } - }, - "size": { - "properties": { - "base": { - "type": "long" - }, - "current": { - "type": "long" - } - } - }, - "write": { - "properties": { - "last_status": { - "ignore_above": 1024, - "type": "keyword" - } - } - } - } - }, - "loading": { - "type": "boolean" - }, - "rdb": { - "properties": { - "bgsave": { - "properties": { - "current_time": { - "properties": { - "sec": { - "type": "long" - } - } - }, - "in_progress": { - "type": "boolean" - }, - "last_status": { - "ignore_above": 1024, - "type": "keyword" - }, - "last_time": { - "properties": { - "sec": { - "type": "long" - } + }, + "current_time": { + "properties": { + "sec": { + "type": "long" } } - } - }, - "copy_on_write": { - "properties": { - "last_size": { - "type": "long" + }, + "in_progress": { + "type": "boolean" + }, + "last_time": { + "properties": { + "sec": { + "type": "long" + } } + }, + "scheduled": { + "type": "boolean" } - }, - "last_save": { - "properties": { - "changes_since": { - "type": "long" - }, - "time": { - "type": "long" - } + } + }, + "size": { + "properties": { + "base": { + "type": "long" + }, + "current": { + "type": "long" } } - } - } - } - }, - "replication": { - "properties": { - "backlog": { - "properties": { - "active": { - "type": "long" - }, - "first_byte_offset": { - "type": "long" - }, - "histlen": { - "type": "long" - }, - "size": { - "type": "long" - } - } - }, - "connected_slaves": { - "type": "long" - }, - "master": { - "properties": { - "last_io_seconds_ago": { - "type": "long" - }, - "link_status": { - "ignore_above": 1024, - "type": "keyword" - }, - "offset": { - "type": "long" - }, - "second_offset": { - "type": "long" - }, - "sync": { - "properties": { - "in_progress": { - "type": "boolean" - }, - "last_io_seconds_ago": { - "type": "long" - }, - "left_bytes": { - "type": "long" - } + }, + "write": { + "properties": { + "last_status": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "master_offset": { - "type": "long" - }, - "role": { - "ignore_above": 1024, - "type": "keyword" - }, - "slave": { - "properties": { - "is_readonly": { - "type": "boolean" - }, - "offset": { - "type": "long" - }, - "priority": { - "type": "long" - } - } - } - } - }, - "server": { - "properties": { - "arch_bits": { - "ignore_above": 1024, - "type": "keyword" - }, - "build_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "config_file": { - "ignore_above": 1024, - "type": "keyword" - }, - "gcc_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "git_dirty": { - "ignore_above": 1024, - "type": "keyword" - }, - "git_sha1": { - "ignore_above": 1024, - "type": "keyword" - }, - "hz": { - "type": "long" - }, - "lru_clock": { - "type": "long" - }, - "mode": { - "ignore_above": 1024, - "type": "keyword" - }, - "multiplexing_api": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "ignore_above": 1024, - "type": "keyword" - }, - "process_id": { - "type": "long" - }, - "run_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "tcp_port": { - "type": "long" - }, - "uptime": { - "type": "long" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "slowlog": { - "properties": { - "count": { - "type": "long" - } - } - }, - "stats": { - "properties": { - "active_defrag": { - "properties": { - "hits": { - "type": "long" - }, - "key_hits": { - "type": "long" - }, - "key_misses": { - "type": "long" - }, - "misses": { - "type": "long" - } - } - }, - "commands_processed": { - "type": "long" - }, - "connections": { - "properties": { - "received": { - "type": "long" - }, - "rejected": { - "type": "long" - } - } - }, - "instantaneous": { - "properties": { - "input_kbps": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ops_per_sec": { - "type": "long" - }, - "output_kbps": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "keys": { - "properties": { - "evicted": { - "type": "long" - }, - "expired": { - "type": "long" - } - } - }, - "keyspace": { - "properties": { - "hits": { - "type": "long" - }, - "misses": { - "type": "long" - } - } - }, - "latest_fork_usec": { - "type": "long" - }, - "migrate_cached_sockets": { - "type": "long" - }, - "net": { - "properties": { - "input": { - "properties": { - "bytes": { - "type": "long" + } + }, + "loading": { + "type": "boolean" + }, + "rdb": { + "properties": { + "bgsave": { + "properties": { + "current_time": { + "properties": { + "sec": { + "type": "long" + } } - } - }, - "output": { - "properties": { - "bytes": { - "type": "long" + }, + "in_progress": { + "type": "boolean" + }, + "last_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "last_time": { + "properties": { + "sec": { + "type": "long" + } } } } - } - }, - "pubsub": { - "properties": { - "channels": { - "type": "long" - }, - "patterns": { - "type": "long" - } - } - }, - "slave_expires_tracked_keys": { - "type": "long" - }, - "sync": { - "properties": { - "full": { - "type": "long" - }, - "partial": { - "properties": { - "err": { - "type": "long" - }, - "ok": { - "type": "long" - } + }, + "copy_on_write": { + "properties": { + "last_size": { + "type": "long" + } + } + }, + "last_save": { + "properties": { + "changes_since": { + "type": "long" + }, + "time": { + "type": "long" + } + } + } + } + } + } + }, + "replication": { + "properties": { + "backlog": { + "properties": { + "active": { + "type": "long" + }, + "first_byte_offset": { + "type": "long" + }, + "histlen": { + "type": "long" + }, + "size": { + "type": "long" + } + } + }, + "connected_slaves": { + "type": "long" + }, + "master": { + "properties": { + "last_io_seconds_ago": { + "type": "long" + }, + "link_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "offset": { + "type": "long" + }, + "second_offset": { + "type": "long" + }, + "sync": { + "properties": { + "in_progress": { + "type": "boolean" + }, + "last_io_seconds_ago": { + "type": "long" + }, + "left_bytes": { + "type": "long" + } + } + } + } + }, + "master_offset": { + "type": "long" + }, + "role": { + "ignore_above": 1024, + "type": "keyword" + }, + "slave": { + "properties": { + "is_readonly": { + "type": "boolean" + }, + "offset": { + "type": "long" + }, + "priority": { + "type": "long" + } + } + } + } + }, + "server": { + "properties": { + "arch_bits": { + "ignore_above": 1024, + "type": "keyword" + }, + "build_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "config_file": { + "ignore_above": 1024, + "type": "keyword" + }, + "gcc_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "git_dirty": { + "ignore_above": 1024, + "type": "keyword" + }, + "git_sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "hz": { + "type": "long" + }, + "lru_clock": { + "type": "long" + }, + "mode": { + "ignore_above": 1024, + "type": "keyword" + }, + "multiplexing_api": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "ignore_above": 1024, + "type": "keyword" + }, + "process_id": { + "type": "long" + }, + "run_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "tcp_port": { + "type": "long" + }, + "uptime": { + "type": "long" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "slowlog": { + "properties": { + "count": { + "type": "long" + } + } + }, + "stats": { + "properties": { + "active_defrag": { + "properties": { + "hits": { + "type": "long" + }, + "key_hits": { + "type": "long" + }, + "key_misses": { + "type": "long" + }, + "misses": { + "type": "long" + } + } + }, + "commands_processed": { + "type": "long" + }, + "connections": { + "properties": { + "received": { + "type": "long" + }, + "rejected": { + "type": "long" + } + } + }, + "instantaneous": { + "properties": { + "input_kbps": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ops_per_sec": { + "type": "long" + }, + "output_kbps": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "keys": { + "properties": { + "evicted": { + "type": "long" + }, + "expired": { + "type": "long" + } + } + }, + "keyspace": { + "properties": { + "hits": { + "type": "long" + }, + "misses": { + "type": "long" + } + } + }, + "latest_fork_usec": { + "type": "long" + }, + "migrate_cached_sockets": { + "type": "long" + }, + "net": { + "properties": { + "input": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "output": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "pubsub": { + "properties": { + "channels": { + "type": "long" + }, + "patterns": { + "type": "long" + } + } + }, + "slave_expires_tracked_keys": { + "type": "long" + }, + "sync": { + "properties": { + "full": { + "type": "long" + }, + "partial": { + "properties": { + "err": { + "type": "long" + }, + "ok": { + "type": "long" } } } @@ -8890,1784 +8888,1784 @@ } } } - }, - "keyspace": { - "properties": { - "avg_ttl": { - "type": "long" - }, - "expires": { - "type": "long" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "keys": { - "type": "long" - } + } + }, + "keyspace": { + "properties": { + "avg_ttl": { + "type": "long" + }, + "expires": { + "type": "long" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "keys": { + "type": "long" } } } - }, - "service": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "service": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "system": { - "properties": { - "core": { - "properties": { - "id": { - "type": "long" - }, - "idle": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "iowait": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "irq": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "nice": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "softirq": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "steal": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "system": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "user": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - } - } - }, - "cpu": { - "properties": { - "cores": { - "type": "long" - }, - "idle": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "iowait": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "irq": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "nice": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "softirq": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "steal": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "system": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "total": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "user": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - } - } - }, - "diskio": { - "properties": { - "io": { - "properties": { - "time": { - "type": "long" - } - } - }, - "iostat": { - "properties": { - "await": { - "type": "float" - }, - "busy": { - "type": "float" - }, - "queue": { - "properties": { - "avg_size": { - "type": "float" - } - } - }, - "read": { - "properties": { - "await": { - "type": "float" - }, - "per_sec": { - "properties": { - "bytes": { - "type": "float" - } - } - }, - "request": { - "properties": { - "merges_per_sec": { - "type": "float" - }, - "per_sec": { - "type": "float" - } - } - } - } - }, - "request": { - "properties": { - "avg_size": { - "type": "float" - } - } - }, - "service_time": { - "type": "float" - }, - "write": { - "properties": { - "await": { - "type": "float" - }, - "per_sec": { - "properties": { - "bytes": { - "type": "float" - } - } - }, - "request": { - "properties": { - "merges_per_sec": { - "type": "float" - }, - "per_sec": { - "type": "float" - } - } - } - } - } + } + }, + "system": { + "properties": { + "core": { + "properties": { + "id": { + "type": "long" + }, + "idle": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "iowait": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "irq": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "nice": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "softirq": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "steal": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "system": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "user": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "read": { - "properties": { - "bytes": { - "type": "long" - }, - "count": { - "type": "long" - }, - "time": { - "type": "long" - } - } - }, - "serial_number": { - "ignore_above": 1024, - "type": "keyword" - }, - "write": { - "properties": { - "bytes": { - "type": "long" - }, - "count": { - "type": "long" - }, - "time": { - "type": "long" - } - } - } - } - }, - "filesystem": { - "properties": { - "available": { - "type": "long" - }, - "device_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "files": { - "type": "long" - }, - "free": { - "type": "long" - }, - "free_files": { - "type": "long" - }, - "mount_point": { - "ignore_above": 1024, - "type": "keyword" - }, - "total": { - "type": "long" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - } - } - }, - "fsstat": { - "properties": { - "count": { - "type": "long" - }, - "total_files": { - "type": "long" - }, - "total_size": { - "properties": { - "free": { - "type": "long" - }, - "total": { - "type": "long" - }, - "used": { - "type": "long" - } - } - } - } - }, - "load": { - "properties": { - "1": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "15": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "5": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "cores": { - "type": "long" - }, - "norm": { - "properties": { - "1": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "15": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "5": { - "scaling_factor": 100, - "type": "scaled_float" - } - } - } - } - }, - "memory": { - "properties": { - "actual": { - "properties": { - "free": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - } - } - }, - "free": { - "type": "long" - }, - "hugepages": { - "properties": { - "default_size": { - "type": "long" - }, - "free": { - "type": "long" - }, - "reserved": { - "type": "long" - }, - "surplus": { - "type": "long" - }, - "total": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "type": "long" - } - } - } - } - }, - "swap": { - "properties": { - "free": { - "type": "long" - }, - "total": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - } - } - }, - "total": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - } - } - }, - "network": { - "properties": { - "in": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "out": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" - } - } - } - } - }, - "process": { - "properties": { - "cgroup": { - "properties": { - "blkio": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "total": { - "properties": { - "bytes": { - "type": "long" - }, - "ios": { - "type": "long" - } - } - } - } - }, - "cpu": { - "properties": { - "cfs": { - "properties": { - "period": { - "properties": { - "us": { - "type": "long" - } + } + } + } + }, + "cpu": { + "properties": { + "cores": { + "type": "long" + }, + "idle": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "iowait": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "irq": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "nice": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "softirq": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "steal": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "system": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "total": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "user": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + } + } + }, + "diskio": { + "properties": { + "io": { + "properties": { + "time": { + "type": "long" + } + } + }, + "iostat": { + "properties": { + "await": { + "type": "float" + }, + "busy": { + "type": "float" + }, + "queue": { + "properties": { + "avg_size": { + "type": "float" + } + } + }, + "read": { + "properties": { + "await": { + "type": "float" + }, + "per_sec": { + "properties": { + "bytes": { + "type": "float" + } + } + }, + "request": { + "properties": { + "merges_per_sec": { + "type": "float" + }, + "per_sec": { + "type": "float" + } + } + } + } + }, + "request": { + "properties": { + "avg_size": { + "type": "float" + } + } + }, + "service_time": { + "type": "float" + }, + "write": { + "properties": { + "await": { + "type": "float" + }, + "per_sec": { + "properties": { + "bytes": { + "type": "float" + } + } + }, + "request": { + "properties": { + "merges_per_sec": { + "type": "float" + }, + "per_sec": { + "type": "float" + } + } + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "read": { + "properties": { + "bytes": { + "type": "long" + }, + "count": { + "type": "long" + }, + "time": { + "type": "long" + } + } + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "write": { + "properties": { + "bytes": { + "type": "long" + }, + "count": { + "type": "long" + }, + "time": { + "type": "long" + } + } + } + } + }, + "filesystem": { + "properties": { + "available": { + "type": "long" + }, + "device_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "files": { + "type": "long" + }, + "free": { + "type": "long" + }, + "free_files": { + "type": "long" + }, + "mount_point": { + "ignore_above": 1024, + "type": "keyword" + }, + "total": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + }, + "fsstat": { + "properties": { + "count": { + "type": "long" + }, + "total_files": { + "type": "long" + }, + "total_size": { + "properties": { + "free": { + "type": "long" + }, + "total": { + "type": "long" + }, + "used": { + "type": "long" + } + } + } + } + }, + "load": { + "properties": { + "1": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "15": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "5": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "cores": { + "type": "long" + }, + "norm": { + "properties": { + "1": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "15": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "5": { + "scaling_factor": 100, + "type": "scaled_float" + } + } + } + } + }, + "memory": { + "properties": { + "actual": { + "properties": { + "free": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + }, + "free": { + "type": "long" + }, + "hugepages": { + "properties": { + "default_size": { + "type": "long" + }, + "free": { + "type": "long" + }, + "reserved": { + "type": "long" + }, + "surplus": { + "type": "long" + }, + "total": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "type": "long" + } + } + } + } + }, + "swap": { + "properties": { + "free": { + "type": "long" + }, + "total": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + }, + "total": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + } + } + }, + "network": { + "properties": { + "in": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "out": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + } + } + }, + "process": { + "properties": { + "cgroup": { + "properties": { + "blkio": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "total": { + "properties": { + "bytes": { + "type": "long" + }, + "ios": { + "type": "long" + } + } + } + } + }, + "cpu": { + "properties": { + "cfs": { + "properties": { + "period": { + "properties": { + "us": { + "type": "long" } - }, - "quota": { - "properties": { - "us": { - "type": "long" - } + } + }, + "quota": { + "properties": { + "us": { + "type": "long" } - }, - "shares": { - "type": "long" } - } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "rt": { - "properties": { - "period": { - "properties": { - "us": { - "type": "long" - } + }, + "shares": { + "type": "long" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "rt": { + "properties": { + "period": { + "properties": { + "us": { + "type": "long" } - }, - "runtime": { - "properties": { - "us": { - "type": "long" - } + } + }, + "runtime": { + "properties": { + "us": { + "type": "long" } } } - }, - "stats": { - "properties": { - "periods": { - "type": "long" - }, - "throttled": { - "properties": { - "ns": { - "type": "long" - }, - "periods": { - "type": "long" - } + } + }, + "stats": { + "properties": { + "periods": { + "type": "long" + }, + "throttled": { + "properties": { + "ns": { + "type": "long" + }, + "periods": { + "type": "long" } } } } } - }, - "cpuacct": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "percpu": { - "properties": { - "1": { - "type": "long" - }, - "2": { - "type": "long" - }, - "3": { - "type": "long" - }, - "4": { - "type": "long" - } - } - }, - "stats": { - "properties": { - "system": { - "properties": { - "ns": { - "type": "long" - } - } - }, - "user": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "cpuacct": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "percpu": { + "properties": { + "1": { + "type": "long" + }, + "2": { + "type": "long" + }, + "3": { + "type": "long" + }, + "4": { + "type": "long" + } + } + }, + "stats": { + "properties": { + "system": { + "properties": { + "ns": { + "type": "long" } } - } - }, - "total": { - "properties": { - "ns": { - "type": "long" + }, + "user": { + "properties": { + "ns": { + "type": "long" + } } } } - } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "memory": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "kmem": { - "properties": { - "failures": { - "type": "long" - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } + }, + "total": { + "properties": { + "ns": { + "type": "long" + } + } + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "memory": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "kmem": { + "properties": { + "failures": { + "type": "long" + }, + "limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "kmem_tcp": { - "properties": { - "failures": { - "type": "long" - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "kmem_tcp": { + "properties": { + "failures": { + "type": "long" + }, + "limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "mem": { - "properties": { - "failures": { - "type": "long" - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "mem": { + "properties": { + "failures": { + "type": "long" + }, + "limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "memsw": { - "properties": { - "failures": { - "type": "long" - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memsw": { + "properties": { + "failures": { + "type": "long" + }, + "limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "stats": { - "properties": { - "active_anon": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "active_file": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "cache": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "hierarchical_memory_limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "stats": { + "properties": { + "active_anon": { + "properties": { + "bytes": { + "type": "long" } - }, - "hierarchical_memsw_limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "active_file": { + "properties": { + "bytes": { + "type": "long" } - }, - "inactive_anon": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "cache": { + "properties": { + "bytes": { + "type": "long" } - }, - "inactive_file": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "hierarchical_memory_limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "major_page_faults": { - "type": "long" - }, - "mapped_file": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "hierarchical_memsw_limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "page_faults": { - "type": "long" - }, - "pages_in": { - "type": "long" - }, - "pages_out": { - "type": "long" - }, - "rss": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "inactive_anon": { + "properties": { + "bytes": { + "type": "long" } - }, - "rss_huge": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "inactive_file": { + "properties": { + "bytes": { + "type": "long" } - }, - "swap": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "major_page_faults": { + "type": "long" + }, + "mapped_file": { + "properties": { + "bytes": { + "type": "long" } - }, - "unevictable": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "page_faults": { + "type": "long" + }, + "pages_in": { + "type": "long" + }, + "pages_out": { + "type": "long" + }, + "rss": { + "properties": { + "bytes": { + "type": "long" } } - } - } - } - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "cmdline": { - "ignore_above": 2048, - "type": "keyword" - }, - "cpu": { - "properties": { - "start_time": { - "type": "date" - }, - "system": { - "properties": { - "ticks": { - "type": "long" - } - } - }, - "total": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" + }, + "rss_huge": { + "properties": { + "bytes": { + "type": "long" + } } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - }, - "value": { - "type": "long" - } - } - }, - "user": { - "properties": { - "ticks": { - "type": "long" - } - } - } - } - }, - "cwd": { - "ignore_above": 1024, - "type": "keyword" - }, - "env": { - "type": "object" - }, - "fd": { - "properties": { - "limit": { - "properties": { - "hard": { - "type": "long" - }, - "soft": { - "type": "long" - } - } - }, - "open": { - "type": "long" - } - } - }, - "memory": { - "properties": { - "rss": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "share": { - "type": "long" - }, - "size": { - "type": "long" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "pgid": { - "type": "long" - }, - "pid": { - "type": "long" - }, - "ppid": { - "type": "long" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "summary": { - "properties": { - "dead": { - "type": "long" - }, - "idle": { - "type": "long" - }, - "running": { - "type": "long" - }, - "sleeping": { - "type": "long" - }, - "stopped": { - "type": "long" - }, - "total": { - "type": "long" - }, - "unknown": { - "type": "long" - }, - "zombie": { - "type": "long" - } - } - }, - "username": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "raid": { - "properties": { - "activity_state": { - "ignore_above": 1024, - "type": "keyword" - }, - "blocks": { - "properties": { - "synced": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "disks": { - "properties": { - "active": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "socket": { - "properties": { - "direction": { - "ignore_above": 1024, - "type": "keyword" - }, - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "local": { - "properties": { - "ip": { - "type": "ip" - }, - "port": { - "type": "long" - } - } - }, - "process": { - "properties": { - "cmdline": { - "ignore_above": 1024, - "type": "keyword" - }, - "command": { - "ignore_above": 1024, - "type": "keyword" - }, - "exe": { - "ignore_above": 1024, - "type": "keyword" - }, - "pid": { - "type": "long" - } - } - }, - "remote": { - "properties": { - "etld_plus_one": { - "ignore_above": 1024, - "type": "keyword" - }, - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "host_error": { - "ignore_above": 1024, - "type": "keyword" - }, - "ip": { - "type": "ip" - }, - "port": { - "type": "long" - } - } - }, - "summary": { - "properties": { - "all": { - "properties": { - "count": { - "type": "long" - }, - "listening": { - "type": "long" - } - } - }, - "tcp": { - "properties": { - "all": { - "properties": { - "count": { - "type": "long" - }, - "listening": { - "type": "long" + }, + "swap": { + "properties": { + "bytes": { + "type": "long" + } } - } - } - } - }, - "udp": { - "properties": { - "all": { - "properties": { - "count": { - "type": "long" + }, + "unevictable": { + "properties": { + "bytes": { + "type": "long" + } } } } } } - } - }, - "user": { - "properties": { - "id": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "cmdline": { + "ignore_above": 2048, + "type": "keyword" + }, + "cpu": { + "properties": { + "start_time": { + "type": "date" + }, + "system": { + "properties": { + "ticks": { + "type": "long" + } + } + }, + "total": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + }, + "value": { + "type": "long" + } + } + }, + "user": { + "properties": { + "ticks": { + "type": "long" + } + } + } + } + }, + "cwd": { + "ignore_above": 1024, + "type": "keyword" + }, + "env": { + "type": "object" + }, + "fd": { + "properties": { + "limit": { + "properties": { + "hard": { + "type": "long" + }, + "soft": { + "type": "long" + } + } + }, + "open": { + "type": "long" + } + } + }, + "memory": { + "properties": { + "rss": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "share": { + "type": "long" + }, + "size": { + "type": "long" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "pgid": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "ppid": { + "type": "long" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "summary": { + "properties": { + "dead": { + "type": "long" + }, + "idle": { + "type": "long" + }, + "running": { + "type": "long" + }, + "sleeping": { + "type": "long" + }, + "stopped": { + "type": "long" + }, + "total": { + "type": "long" + }, + "unknown": { + "type": "long" + }, + "zombie": { + "type": "long" + } + } + }, + "username": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "raid": { + "properties": { + "activity_state": { + "ignore_above": 1024, + "type": "keyword" + }, + "blocks": { + "properties": { + "synced": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "disks": { + "properties": { + "active": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "socket": { + "properties": { + "direction": { + "ignore_above": 1024, + "type": "keyword" + }, + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "local": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "process": { + "properties": { + "cmdline": { + "ignore_above": 1024, + "type": "keyword" + }, + "command": { + "ignore_above": 1024, + "type": "keyword" + }, + "exe": { + "ignore_above": 1024, + "type": "keyword" + }, + "pid": { + "type": "long" + } + } + }, + "remote": { + "properties": { + "etld_plus_one": { + "ignore_above": 1024, + "type": "keyword" + }, + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "host_error": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "summary": { + "properties": { + "all": { + "properties": { + "count": { + "type": "long" + }, + "listening": { + "type": "long" + } + } + }, + "tcp": { + "properties": { + "all": { + "properties": { + "count": { + "type": "long" + }, + "listening": { + "type": "long" + } + } + } + } + }, + "udp": { + "properties": { + "all": { + "properties": { + "count": { + "type": "long" + } + } + } + } + } + } + }, + "user": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "uptime": { - "properties": { - "duration": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "uptime": { + "properties": { + "duration": { + "properties": { + "ms": { + "type": "long" } } } } } - }, - "tags": { - "ignore_above": 1024, - "type": "keyword" - }, - "traefik": { - "properties": { - "health": { - "properties": { - "response": { - "properties": { - "avg_time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "tags": { + "ignore_above": 1024, + "type": "keyword" + }, + "traefik": { + "properties": { + "health": { + "properties": { + "response": { + "properties": { + "avg_time": { + "properties": { + "us": { + "type": "long" } - }, - "count": { - "type": "long" - }, - "status_code": { - "type": "object" } + }, + "count": { + "type": "long" + }, + "status_code": { + "type": "object" } - }, - "uptime": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "uptime": { + "properties": { + "sec": { + "type": "long" + } + } + } + } + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uwsgi": { + "properties": { + "status": { + "properties": { + "core": { + "properties": { + "id": { + "type": "long" + }, + "read_errors": { + "type": "long" + }, + "requests": { + "properties": { + "offloaded": { + "type": "long" + }, + "routed": { + "type": "long" + }, + "static": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "worker_pid": { + "type": "long" + }, + "write_errors": { + "type": "long" + } + } + }, + "total": { + "properties": { + "exceptions": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "read_errors": { + "type": "long" + }, + "requests": { + "type": "long" + }, + "write_errors": { + "type": "long" + } + } + }, + "worker": { + "properties": { + "accepting": { + "type": "long" + }, + "avg_rt": { + "type": "long" + }, + "delta_requests": { + "type": "long" + }, + "exceptions": { + "type": "long" + }, + "harakiri_count": { + "type": "long" + }, + "id": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "requests": { + "type": "long" + }, + "respawn_count": { + "type": "long" + }, + "rss": { + "ignore_above": 1024, + "type": "keyword" + }, + "running_time": { + "type": "long" + }, + "signal_queue": { + "type": "long" + }, + "signals": { + "type": "long" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "tx": { + "type": "long" + }, + "vsz": { + "type": "long" } } } } } - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "uwsgi": { - "properties": { - "status": { - "properties": { - "core": { - "properties": { - "id": { - "type": "long" - }, - "read_errors": { - "type": "long" - }, - "requests": { - "properties": { - "offloaded": { - "type": "long" - }, - "routed": { - "type": "long" - }, - "static": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "worker_pid": { - "type": "long" - }, - "write_errors": { - "type": "long" - } - } - }, - "total": { - "properties": { - "exceptions": { - "type": "long" - }, - "pid": { - "type": "long" - }, - "read_errors": { - "type": "long" - }, - "requests": { - "type": "long" - }, - "write_errors": { - "type": "long" - } - } - }, - "worker": { - "properties": { - "accepting": { - "type": "long" - }, - "avg_rt": { - "type": "long" - }, - "delta_requests": { - "type": "long" - }, - "exceptions": { - "type": "long" - }, - "harakiri_count": { - "type": "long" - }, - "id": { - "type": "long" - }, - "pid": { - "type": "long" - }, - "requests": { - "type": "long" - }, - "respawn_count": { - "type": "long" - }, - "rss": { - "ignore_above": 1024, - "type": "keyword" - }, - "running_time": { - "type": "long" - }, - "signal_queue": { - "type": "long" - }, - "signals": { - "type": "long" - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - }, - "tx": { - "type": "long" - }, - "vsz": { - "type": "long" + } + }, + "vsphere": { + "properties": { + "datastore": { + "properties": { + "capacity": { + "properties": { + "free": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "type": "long" + } + } + } + } + }, + "fstype": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "cpu": { + "properties": { + "free": { + "properties": { + "mhz": { + "type": "long" + } + } + }, + "total": { + "properties": { + "mhz": { + "type": "long" + } + } + }, + "used": { + "properties": { + "mhz": { + "type": "long" + } } } } - } - } - } - }, - "vsphere": { - "properties": { - "datastore": { - "properties": { - "capacity": { - "properties": { - "free": { - "properties": { - "bytes": { - "type": "long" - } + }, + "memory": { + "properties": { + "free": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } - } - }, - "fstype": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "host": { - "properties": { - "cpu": { - "properties": { - "free": { - "properties": { - "mhz": { - "type": "long" - } - } - }, - "total": { - "properties": { - "mhz": { - "type": "long" - } - } - }, - "used": { - "properties": { - "mhz": { - "type": "long" - } - } - } - } - }, - "memory": { - "properties": { - "free": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } - } - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "network_names": { - "ignore_above": 1024, - "type": "keyword" + } } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "network_names": { + "ignore_above": 1024, + "type": "keyword" } - }, - "virtualmachine": { - "properties": { - "cpu": { - "properties": { - "used": { - "properties": { - "mhz": { - "type": "long" - } + } + }, + "virtualmachine": { + "properties": { + "cpu": { + "properties": { + "used": { + "properties": { + "mhz": { + "type": "long" } } } - }, - "custom_fields": { - "type": "object" - }, - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "memory": { - "properties": { - "free": { - "properties": { - "guest": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "custom_fields": { + "type": "object" + }, + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "memory": { + "properties": { + "free": { + "properties": { + "guest": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "total": { - "properties": { - "guest": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "guest": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "used": { - "properties": { - "guest": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "guest": { + "properties": { + "bytes": { + "type": "long" } - }, - "host": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "host": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "network_names": { - "ignore_above": 1024, - "type": "keyword" } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "network_names": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "windows": { - "properties": { - "service": { - "properties": { - "display_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "exit_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "pid": { - "type": "long" - }, - "start_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "uptime": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "windows": { + "properties": { + "service": { + "properties": { + "display_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "exit_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "pid": { + "type": "long" + }, + "start_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "properties": { + "ms": { + "type": "long" } } } } } - }, - "zookeeper": { - "properties": { - "mntr": { - "properties": { - "approximate_data_size": { - "type": "long" - }, - "ephemerals_count": { - "type": "long" - }, - "followers": { - "type": "long" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "latency": { - "properties": { - "avg": { - "type": "long" - }, - "max": { - "type": "long" - }, - "min": { - "type": "long" - } - } - }, - "max_file_descriptor_count": { - "type": "long" - }, - "num_alive_connections": { - "type": "long" - }, - "open_file_descriptor_count": { - "type": "long" - }, - "outstanding_requests": { - "type": "long" - }, - "packets": { - "properties": { - "received": { - "type": "long" - }, - "sent": { - "type": "long" - } - } - }, - "pending_syncs": { - "type": "long" - }, - "server_state": { - "ignore_above": 1024, - "type": "keyword" - }, - "synced_followers": { - "type": "long" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - }, - "watch_count": { - "type": "long" - }, - "znode_count": { - "type": "long" - } + } + }, + "zookeeper": { + "properties": { + "mntr": { + "properties": { + "approximate_data_size": { + "type": "long" + }, + "ephemerals_count": { + "type": "long" + }, + "followers": { + "type": "long" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "latency": { + "properties": { + "avg": { + "type": "long" + }, + "max": { + "type": "long" + }, + "min": { + "type": "long" + } + } + }, + "max_file_descriptor_count": { + "type": "long" + }, + "num_alive_connections": { + "type": "long" + }, + "open_file_descriptor_count": { + "type": "long" + }, + "outstanding_requests": { + "type": "long" + }, + "packets": { + "properties": { + "received": { + "type": "long" + }, + "sent": { + "type": "long" + } + } + }, + "pending_syncs": { + "type": "long" + }, + "server_state": { + "ignore_above": 1024, + "type": "keyword" + }, + "synced_followers": { + "type": "long" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + }, + "watch_count": { + "type": "long" + }, + "znode_count": { + "type": "long" } } } @@ -10697,4635 +10695,4633 @@ }, "index": "filebeat-6.6.0-2019.01.15", "mappings": { - "_doc": { - "_meta": { - "version": "6.6.0" + "_meta": { + "version": "6.6.0" + }, + "date_detection": false, + "dynamic_templates": [ + { + "fields": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "fields.*" + } }, - "date_detection": false, - "dynamic_templates": [ - { - "fields": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "fields.*" - } - }, - { - "docker.container.labels": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "docker.container.labels.*" - } - }, - { - "kibana.log.meta": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "kibana.log.meta.*" - } - }, - { - "strings_as_keyword": { - "mapping": { - "ignore_above": 1024, - "type": "keyword" - }, - "match_mapping_type": "string" - } + { + "docker.container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "docker.container.labels.*" } - ], - "properties": { - "@timestamp": { - "type": "date" - }, - "apache2": { - "properties": { - "access": { - "properties": { - "agent": { - "norms": false, - "type": "text" - }, - "body_sent": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "geoip": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "http_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - }, - "referrer": { - "ignore_above": 1024, - "type": "keyword" - }, - "remote_ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "response_code": { - "type": "long" - }, - "url": { - "ignore_above": 1024, - "type": "keyword" - }, - "user_agent": { - "properties": { - "device": { - "ignore_above": 1024, - "type": "keyword" - }, - "major": { - "type": "long" - }, - "minor": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "original": { - "index": false, - "norms": false, - "type": "text" - }, - "os": { - "ignore_above": 1024, - "type": "keyword" - }, - "os_major": { - "type": "long" - }, - "os_minor": { - "type": "long" - }, - "os_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "patch": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "user_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "error": { - "properties": { - "client": { - "ignore_above": 1024, - "type": "keyword" - }, - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "module": { - "ignore_above": 1024, - "type": "keyword" - }, - "pid": { - "type": "long" - }, - "tid": { - "type": "long" - } + }, + { + "kibana.log.meta": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "kibana.log.meta.*" + } + }, + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "apache2": { + "properties": { + "access": { + "properties": { + "agent": { + "norms": false, + "type": "text" + }, + "body_sent": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "geoip": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "http_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "referrer": { + "ignore_above": 1024, + "type": "keyword" + }, + "remote_ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "response_code": { + "type": "long" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + }, + "user_agent": { + "properties": { + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "major": { + "type": "long" + }, + "minor": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "index": false, + "norms": false, + "type": "text" + }, + "os": { + "ignore_above": 1024, + "type": "keyword" + }, + "os_major": { + "type": "long" + }, + "os_minor": { + "type": "long" + }, + "os_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "patch": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "user_name": { + "ignore_above": 1024, + "type": "keyword" } } - } - }, - "auditd": { - "properties": { - "log": { - "properties": { - "a0": { - "ignore_above": 1024, - "type": "keyword" - }, - "acct": { - "ignore_above": 1024, - "type": "keyword" - }, - "geoip": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "item": { - "ignore_above": 1024, - "type": "keyword" - }, - "items": { - "ignore_above": 1024, - "type": "keyword" - }, - "new_auid": { - "ignore_above": 1024, - "type": "keyword" - }, - "new_ses": { - "ignore_above": 1024, - "type": "keyword" - }, - "old_auid": { - "ignore_above": 1024, - "type": "keyword" - }, - "old_ses": { - "ignore_above": 1024, - "type": "keyword" - }, - "pid": { - "ignore_above": 1024, - "type": "keyword" - }, - "ppid": { - "ignore_above": 1024, - "type": "keyword" - }, - "record_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "res": { - "ignore_above": 1024, - "type": "keyword" - }, - "sequence": { - "type": "long" - } + }, + "error": { + "properties": { + "client": { + "ignore_above": 1024, + "type": "keyword" + }, + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "pid": { + "type": "long" + }, + "tid": { + "type": "long" } } } - }, - "beat": { - "properties": { - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "timezone": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "auditd": { + "properties": { + "log": { + "properties": { + "a0": { + "ignore_above": 1024, + "type": "keyword" + }, + "acct": { + "ignore_above": 1024, + "type": "keyword" + }, + "geoip": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "item": { + "ignore_above": 1024, + "type": "keyword" + }, + "items": { + "ignore_above": 1024, + "type": "keyword" + }, + "new_auid": { + "ignore_above": 1024, + "type": "keyword" + }, + "new_ses": { + "ignore_above": 1024, + "type": "keyword" + }, + "old_auid": { + "ignore_above": 1024, + "type": "keyword" + }, + "old_ses": { + "ignore_above": 1024, + "type": "keyword" + }, + "pid": { + "ignore_above": 1024, + "type": "keyword" + }, + "ppid": { + "ignore_above": 1024, + "type": "keyword" + }, + "record_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "res": { + "ignore_above": 1024, + "type": "keyword" + }, + "sequence": { + "type": "long" + } } } - }, - "cloud": { - "properties": { - "availability_zone": { - "path": "meta.cloud.availability_zone", - "type": "alias" - }, - "instance": { - "properties": { - "id": { - "path": "meta.cloud.instance_id", - "type": "alias" - }, - "name": { - "path": "meta.cloud.instance_name", - "type": "alias" - } - } - }, - "machine": { - "properties": { - "type": { - "path": "meta.cloud.machine_type", - "type": "alias" - } - } - }, - "project": { - "properties": { - "id": { - "path": "meta.cloud.project_id", - "type": "alias" - } - } - }, - "provider": { - "path": "meta.cloud.provider", - "type": "alias" - }, - "region": { - "path": "meta.cloud.region", - "type": "alias" + } + }, + "beat": { + "properties": { + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "cloud": { + "properties": { + "availability_zone": { + "path": "meta.cloud.availability_zone", + "type": "alias" + }, + "instance": { + "properties": { + "id": { + "path": "meta.cloud.instance_id", + "type": "alias" + }, + "name": { + "path": "meta.cloud.instance_name", + "type": "alias" + } + } + }, + "machine": { + "properties": { + "type": { + "path": "meta.cloud.machine_type", + "type": "alias" + } + } + }, + "project": { + "properties": { + "id": { + "path": "meta.cloud.project_id", + "type": "alias" + } } + }, + "provider": { + "path": "meta.cloud.provider", + "type": "alias" + }, + "region": { + "path": "meta.cloud.region", + "type": "alias" } - }, - "container": { - "properties": { - "id": { - "path": "docker.container.id", - "type": "alias" - }, - "image": { - "properties": { - "name": { - "path": "docker.container.image", - "type": "alias" - } - } - }, - "name": { - "path": "docker.container.name", - "type": "alias" + } + }, + "container": { + "properties": { + "id": { + "path": "docker.container.id", + "type": "alias" + }, + "image": { + "properties": { + "name": { + "path": "docker.container.image", + "type": "alias" + } } + }, + "name": { + "path": "docker.container.name", + "type": "alias" } - }, - "destination": { - "properties": { - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "ip": { - "type": "ip" - }, - "port": { - "type": "long" + } + }, + "destination": { + "properties": { + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "ip": { + "type": "ip" + }, + "port": { + "type": "long" } - }, - "docker": { - "properties": { - "container": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "image": { - "ignore_above": 1024, - "type": "keyword" - }, - "labels": { - "properties": { - "co": { - "properties": { - "elastic": { - "properties": { - "logs/fileset": { - "properties": { - "stderr": { - "type": "keyword" - }, - "stdout": { - "type": "keyword" - } + } + }, + "docker": { + "properties": { + "container": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "ignore_above": 1024, + "type": "keyword" + }, + "labels": { + "properties": { + "co": { + "properties": { + "elastic": { + "properties": { + "logs/fileset": { + "properties": { + "stderr": { + "type": "keyword" + }, + "stdout": { + "type": "keyword" } - }, - "logs/module": { - "type": "keyword" } - } - } - } - }, - "com": { - "properties": { - "docker": { - "properties": { - "compose": { - "properties": { - "config-hash": { - "type": "keyword" - }, - "container-number": { - "type": "keyword" - }, - "oneoff": { - "type": "keyword" - }, - "project": { - "type": "keyword" - }, - "service": { - "type": "keyword" - }, - "version": { - "type": "keyword" - } + }, + "logs/module": { + "type": "keyword" + } + } + } + } + }, + "com": { + "properties": { + "docker": { + "properties": { + "compose": { + "properties": { + "config-hash": { + "type": "keyword" + }, + "container-number": { + "type": "keyword" + }, + "oneoff": { + "type": "keyword" + }, + "project": { + "type": "keyword" + }, + "service": { + "type": "keyword" + }, + "version": { + "type": "keyword" } } } } } - }, - "description": { - "type": "keyword" - }, - "license": { - "type": "keyword" - }, - "maintainer": { - "type": "keyword" - }, - "org": { - "properties": { - "label-schema": { - "properties": { - "build-date": { - "type": "keyword" - }, - "license": { - "type": "keyword" - }, - "name": { - "type": "keyword" - }, - "schema-version": { - "type": "keyword" - }, - "url": { - "type": "keyword" - }, - "vcs-ref": { - "type": "keyword" - }, - "vcs-url": { - "type": "keyword" - }, - "vendor": { - "type": "keyword" - }, - "version": { - "type": "keyword" - } - } - } - } } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + }, + "description": { + "type": "keyword" + }, + "license": { + "type": "keyword" + }, + "maintainer": { + "type": "keyword" + }, + "org": { + "properties": { + "label-schema": { + "properties": { + "build-date": { + "type": "keyword" + }, + "license": { + "type": "keyword" + }, + "name": { + "type": "keyword" + }, + "schema-version": { + "type": "keyword" + }, + "url": { + "type": "keyword" + }, + "vcs-ref": { + "type": "keyword" + }, + "vcs-url": { + "type": "keyword" + }, + "vendor": { + "type": "keyword" + }, + "version": { + "type": "keyword" + } + } + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "elasticsearch": { - "properties": { - "audit": { - "properties": { - "action": { - "ignore_above": 1024, - "type": "keyword" - }, - "event_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "layer": { - "ignore_above": 1024, - "type": "keyword" - }, - "origin_address": { - "type": "ip" - }, - "origin_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "principal": { - "ignore_above": 1024, - "type": "keyword" - }, - "request": { - "ignore_above": 1024, - "type": "keyword" - }, - "request_body": { - "norms": false, - "type": "text" - }, - "uri": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "deprecation": { - "type": "object" - }, - "gc": { - "properties": { - "heap": { - "properties": { - "size_kb": { - "type": "long" - }, - "used_kb": { - "type": "long" - } - } - }, - "jvm_runtime_sec": { - "type": "float" - }, - "old_gen": { - "properties": { - "size_kb": { - "type": "long" - }, - "used_kb": { - "type": "long" - } - } - }, - "phase": { - "properties": { - "class_unload_time_sec": { - "type": "float" - }, - "cpu_time": { - "properties": { - "real_sec": { - "type": "float" - }, - "sys_sec": { - "type": "float" - }, - "user_sec": { - "type": "float" - } - } - }, - "duration_sec": { - "type": "float" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "parallel_rescan_time_sec": { - "type": "float" - }, - "scrub_string_table_time_sec": { - "type": "float" - }, - "scrub_symbol_table_time_sec": { - "type": "float" - }, - "weak_refs_processing_time_sec": { - "type": "float" - } - } - }, - "stopping_threads_time_sec": { - "type": "float" - }, - "tags": { - "ignore_above": 1024, - "type": "keyword" - }, - "threads_total_stop_time_sec": { - "type": "float" - }, - "young_gen": { - "properties": { - "size_kb": { - "type": "long" - }, - "used_kb": { - "type": "long" - } - } - } - } - }, - "index": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "node": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "server": { - "properties": { - "component": { - "ignore_above": 1024, - "type": "keyword" - }, - "gc": { - "properties": { - "young": { - "properties": { - "one": { - "type": "long" - }, - "two": { - "type": "long" - } - } - } - } - }, - "gc_overhead": { - "type": "long" - } - } - }, - "shard": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "slowlog": { - "properties": { - "extra_source": { - "norms": false, - "type": "text" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "logger": { - "ignore_above": 1024, - "type": "keyword" - }, - "routing": { - "ignore_above": 1024, - "type": "keyword" - }, - "search_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "source_query": { - "norms": false, - "type": "text" - }, - "stats": { - "norms": false, - "type": "text" - }, - "took": { - "norms": false, - "type": "text" - }, - "took_millis": { - "ignore_above": 1024, - "type": "keyword" - }, - "total_hits": { - "ignore_above": 1024, - "type": "keyword" - }, - "total_shards": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "types": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "elasticsearch": { + "properties": { + "audit": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "event_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "layer": { + "ignore_above": 1024, + "type": "keyword" + }, + "origin_address": { + "type": "ip" + }, + "origin_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "principal": { + "ignore_above": 1024, + "type": "keyword" + }, + "request": { + "ignore_above": 1024, + "type": "keyword" + }, + "request_body": { + "norms": false, + "type": "text" + }, + "uri": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "deprecation": { + "type": "object" + }, + "gc": { + "properties": { + "heap": { + "properties": { + "size_kb": { + "type": "long" + }, + "used_kb": { + "type": "long" + } + } + }, + "jvm_runtime_sec": { + "type": "float" + }, + "old_gen": { + "properties": { + "size_kb": { + "type": "long" + }, + "used_kb": { + "type": "long" + } + } + }, + "phase": { + "properties": { + "class_unload_time_sec": { + "type": "float" + }, + "cpu_time": { + "properties": { + "real_sec": { + "type": "float" + }, + "sys_sec": { + "type": "float" + }, + "user_sec": { + "type": "float" + } + } + }, + "duration_sec": { + "type": "float" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "parallel_rescan_time_sec": { + "type": "float" + }, + "scrub_string_table_time_sec": { + "type": "float" + }, + "scrub_symbol_table_time_sec": { + "type": "float" + }, + "weak_refs_processing_time_sec": { + "type": "float" + } + } + }, + "stopping_threads_time_sec": { + "type": "float" + }, + "tags": { + "ignore_above": 1024, + "type": "keyword" + }, + "threads_total_stop_time_sec": { + "type": "float" + }, + "young_gen": { + "properties": { + "size_kb": { + "type": "long" + }, + "used_kb": { + "type": "long" + } } } } - } - }, - "error": { - "properties": { - "code": { - "type": "long" - }, - "message": { - "norms": false, - "type": "text" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" + }, + "index": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } } - } - }, - "event": { - "properties": { - "created": { - "type": "date" - }, - "dataset": { - "ignore_above": 1024, - "type": "keyword" - }, - "module": { - "path": "fileset.module", - "type": "alias" - }, - "severity": { - "type": "long" - }, - "timezone": { - "path": "beat.timezone", - "type": "alias" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" + }, + "node": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } } - } - }, - "fields": { - "type": "object" - }, - "file": { - "properties": { - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "size": { - "type": "long" + }, + "server": { + "properties": { + "component": { + "ignore_above": 1024, + "type": "keyword" + }, + "gc": { + "properties": { + "young": { + "properties": { + "one": { + "type": "long" + }, + "two": { + "type": "long" + } + } + } + } + }, + "gc_overhead": { + "type": "long" + } } - } - }, - "fileset": { - "properties": { - "module": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" + }, + "shard": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } } - } - }, - "haproxy": { - "properties": { - "backend_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "backend_queue": { - "type": "long" - }, - "bind_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes_read": { - "type": "long" - }, - "client": { - "properties": { - "ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "port": { - "type": "long" - } - } - }, - "connection_wait_time_ms": { - "type": "long" - }, - "connections": { - "properties": { - "active": { - "type": "long" - }, - "backend": { - "type": "long" - }, - "frontend": { - "type": "long" - }, - "retries": { - "type": "long" - }, - "server": { - "type": "long" - } - } - }, - "destination": { - "properties": { - "ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "port": { - "type": "long" - } - } - }, - "error_message": { - "norms": false, - "type": "text" - }, - "frontend_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "geoip": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "http": { - "properties": { - "request": { - "properties": { - "captured_cookie": { - "ignore_above": 1024, - "type": "keyword" - }, - "captured_headers": { - "norms": false, - "type": "text" - }, - "raw_request_line": { - "norms": false, - "type": "text" - }, - "time_active_ms": { - "type": "long" - }, - "time_wait_ms": { - "type": "long" - }, - "time_wait_without_data_ms": { - "type": "long" - } - } - }, - "response": { - "properties": { - "captured_cookie": { - "ignore_above": 1024, - "type": "keyword" - }, - "captured_headers": { - "norms": false, - "type": "text" - }, - "status_code": { - "type": "long" - } - } - } - } - }, - "mode": { - "norms": false, - "type": "text" - }, - "pid": { - "type": "long" - }, - "process_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "server_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "server_queue": { - "type": "long" - }, - "source": { - "norms": false, - "type": "text" - }, - "tcp": { - "properties": { - "connection_waiting_time_ms": { - "type": "long" - }, - "processing_time_ms": { - "type": "long" - } - } - }, - "termination_state": { - "ignore_above": 1024, - "type": "keyword" - }, - "time_backend_connect": { - "type": "long" - }, - "time_queue": { - "type": "long" - }, - "total_waiting_time_ms": { - "type": "long" + }, + "slowlog": { + "properties": { + "extra_source": { + "norms": false, + "type": "text" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "logger": { + "ignore_above": 1024, + "type": "keyword" + }, + "routing": { + "ignore_above": 1024, + "type": "keyword" + }, + "search_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "source_query": { + "norms": false, + "type": "text" + }, + "stats": { + "norms": false, + "type": "text" + }, + "took": { + "norms": false, + "type": "text" + }, + "took_millis": { + "ignore_above": 1024, + "type": "keyword" + }, + "total_hits": { + "ignore_above": 1024, + "type": "keyword" + }, + "total_shards": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "types": { + "ignore_above": 1024, + "type": "keyword" + } } } - }, - "host": { - "properties": { - "architecture": { - "ignore_above": 1024, - "type": "keyword" - }, - "hostname": { - "path": "beat.hostname", - "type": "alias" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "properties": { - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "platform": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "error": { + "properties": { + "code": { + "type": "long" + }, + "message": { + "norms": false, + "type": "text" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "event": { + "properties": { + "created": { + "type": "date" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "module": { + "path": "fileset.module", + "type": "alias" + }, + "severity": { + "type": "long" + }, + "timezone": { + "path": "beat.timezone", + "type": "alias" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "fields": { + "type": "object" + }, + "file": { + "properties": { + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "size": { + "type": "long" + } + } + }, + "fileset": { + "properties": { + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "haproxy": { + "properties": { + "backend_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "backend_queue": { + "type": "long" + }, + "bind_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes_read": { + "type": "long" + }, + "client": { + "properties": { + "ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + } + } + }, + "connection_wait_time_ms": { + "type": "long" + }, + "connections": { + "properties": { + "active": { + "type": "long" + }, + "backend": { + "type": "long" + }, + "frontend": { + "type": "long" + }, + "retries": { + "type": "long" + }, + "server": { + "type": "long" + } + } + }, + "destination": { + "properties": { + "ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + } + } + }, + "error_message": { + "norms": false, + "type": "text" + }, + "frontend_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "geoip": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "http": { + "properties": { + "request": { + "properties": { + "captured_cookie": { + "ignore_above": 1024, + "type": "keyword" + }, + "captured_headers": { + "norms": false, + "type": "text" + }, + "raw_request_line": { + "norms": false, + "type": "text" + }, + "time_active_ms": { + "type": "long" + }, + "time_wait_ms": { + "type": "long" + }, + "time_wait_without_data_ms": { + "type": "long" + } + } + }, + "response": { + "properties": { + "captured_cookie": { + "ignore_above": 1024, + "type": "keyword" + }, + "captured_headers": { + "norms": false, + "type": "text" + }, + "status_code": { + "type": "long" + } } } } + }, + "mode": { + "norms": false, + "type": "text" + }, + "pid": { + "type": "long" + }, + "process_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "server_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "server_queue": { + "type": "long" + }, + "source": { + "norms": false, + "type": "text" + }, + "tcp": { + "properties": { + "connection_waiting_time_ms": { + "type": "long" + }, + "processing_time_ms": { + "type": "long" + } + } + }, + "termination_state": { + "ignore_above": 1024, + "type": "keyword" + }, + "time_backend_connect": { + "type": "long" + }, + "time_queue": { + "type": "long" + }, + "total_waiting_time_ms": { + "type": "long" } - }, - "http": { - "properties": { - "request": { - "properties": { - "method": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "response": { - "properties": { - "content_length": { - "type": "long" - }, - "elapsed_time": { - "type": "long" - }, - "status_code": { - "type": "long" - } + } + }, + "host": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "path": "beat.hostname", + "type": "alias" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "icinga": { - "properties": { - "debug": { - "properties": { - "facility": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "severity": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "main": { - "properties": { - "facility": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "severity": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "startup": { - "properties": { - "facility": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "severity": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "http": { + "properties": { + "request": { + "properties": { + "method": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "response": { + "properties": { + "content_length": { + "type": "long" + }, + "elapsed_time": { + "type": "long" + }, + "status_code": { + "type": "long" } } } - }, - "iis": { - "properties": { - "access": { - "properties": { - "agent": { - "norms": false, - "type": "text" - }, - "body_received": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "body_sent": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "cookie": { - "ignore_above": 1024, - "type": "keyword" - }, - "geoip": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - }, - "port": { - "type": "long" - }, - "query_string": { - "ignore_above": 1024, - "type": "keyword" - }, - "referrer": { - "ignore_above": 1024, - "type": "keyword" - }, - "remote_ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "request_time_ms": { - "type": "long" - }, - "response_code": { - "type": "long" - }, - "server_ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "server_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "site_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "sub_status": { - "type": "long" - }, - "url": { - "ignore_above": 1024, - "type": "keyword" - }, - "user_agent": { - "properties": { - "device": { - "ignore_above": 1024, - "type": "keyword" - }, - "major": { - "type": "long" - }, - "minor": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "original": { - "index": false, - "norms": false, - "type": "text" - }, - "os": { - "ignore_above": 1024, - "type": "keyword" - }, - "os_major": { - "type": "long" - }, - "os_minor": { - "type": "long" - }, - "os_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "patch": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "user_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "win32_status": { - "type": "long" - } - } - }, - "error": { - "properties": { - "geoip": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "http_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - }, - "queue_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "reason_phrase": { - "ignore_above": 1024, - "type": "keyword" - }, - "remote_ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "remote_port": { - "type": "long" - }, - "response_code": { - "type": "long" - }, - "server_ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "server_port": { - "type": "long" - }, - "url": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "icinga": { + "properties": { + "debug": { + "properties": { + "facility": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "severity": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "main": { + "properties": { + "facility": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "severity": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "startup": { + "properties": { + "facility": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "severity": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "input": { - "properties": { - "type": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "iis": { + "properties": { + "access": { + "properties": { + "agent": { + "norms": false, + "type": "text" + }, + "body_received": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "body_sent": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "cookie": { + "ignore_above": 1024, + "type": "keyword" + }, + "geoip": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + }, + "query_string": { + "ignore_above": 1024, + "type": "keyword" + }, + "referrer": { + "ignore_above": 1024, + "type": "keyword" + }, + "remote_ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "request_time_ms": { + "type": "long" + }, + "response_code": { + "type": "long" + }, + "server_ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "server_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "site_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "sub_status": { + "type": "long" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + }, + "user_agent": { + "properties": { + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "major": { + "type": "long" + }, + "minor": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "index": false, + "norms": false, + "type": "text" + }, + "os": { + "ignore_above": 1024, + "type": "keyword" + }, + "os_major": { + "type": "long" + }, + "os_minor": { + "type": "long" + }, + "os_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "patch": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "user_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "win32_status": { + "type": "long" + } + } + }, + "error": { + "properties": { + "geoip": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "http_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "queue_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "reason_phrase": { + "ignore_above": 1024, + "type": "keyword" + }, + "remote_ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "remote_port": { + "type": "long" + }, + "response_code": { + "type": "long" + }, + "server_ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "server_port": { + "type": "long" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + } } } - }, - "kafka": { - "properties": { - "log": { - "properties": { - "class": { - "norms": false, - "type": "text" - }, - "component": { - "ignore_above": 1024, - "type": "keyword" - }, - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "timestamp": { - "ignore_above": 1024, - "type": "keyword" - }, - "trace": { - "properties": { - "class": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "norms": false, - "type": "text" - }, - "message": { - "norms": false, - "type": "text" - } + } + }, + "input": { + "properties": { + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "kafka": { + "properties": { + "log": { + "properties": { + "class": { + "norms": false, + "type": "text" + }, + "component": { + "ignore_above": 1024, + "type": "keyword" + }, + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "timestamp": { + "ignore_above": 1024, + "type": "keyword" + }, + "trace": { + "properties": { + "class": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "norms": false, + "type": "text" + }, + "message": { + "norms": false, + "type": "text" } } } } } - }, - "kibana": { - "properties": { - "log": { - "properties": { - "meta": { - "type": "object" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "tags": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "kibana": { + "properties": { + "log": { + "properties": { + "meta": { + "type": "object" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "tags": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "kubernetes": { - "properties": { - "annotations": { - "type": "object" - }, - "container": { - "properties": { - "image": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "labels": { - "type": "object" - }, - "namespace": { - "ignore_above": 1024, - "type": "keyword" - }, - "node": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "pod": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "uid": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "kubernetes": { + "properties": { + "annotations": { + "type": "object" + }, + "container": { + "properties": { + "image": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } } - } - }, - "log": { - "properties": { - "file": { - "properties": { - "path": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "flags": { - "ignore_above": 1024, - "type": "keyword" - }, - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "source": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - } + }, + "labels": { + "type": "object" + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" } } - } - }, - "logstash": { - "properties": { - "log": { - "properties": { - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "log_event": { - "type": "object" - }, - "message": { - "norms": false, - "type": "text" - }, - "module": { - "ignore_above": 1024, - "type": "keyword" - }, - "thread": { - "norms": false, - "type": "text" - } - } - }, - "slowlog": { - "properties": { - "event": { - "norms": false, - "type": "text" - }, - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "module": { - "ignore_above": 1024, - "type": "keyword" - }, - "plugin_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "plugin_params": { - "norms": false, - "type": "text" - }, - "plugin_params_object": { - "type": "object" - }, - "plugin_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "thread": { - "norms": false, - "type": "text" - }, - "took_in_millis": { - "type": "long" - }, - "took_in_nanos": { - "type": "long" - } + }, + "pod": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "message": { - "norms": false, - "type": "text" - }, - "meta": { - "properties": { - "cloud": { - "properties": { - "availability_zone": { - "ignore_above": 1024, - "type": "keyword" - }, - "instance_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "instance_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "machine_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "project_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "provider": { - "ignore_above": 1024, - "type": "keyword" - }, - "region": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "log": { + "properties": { + "file": { + "properties": { + "path": { + "ignore_above": 1024, + "type": "keyword" } } - } - }, - "mongodb": { - "properties": { - "log": { - "properties": { - "component": { - "ignore_above": 1024, - "type": "keyword" - }, - "context": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "severity": { - "ignore_above": 1024, - "type": "keyword" - } + }, + "flags": { + "ignore_above": 1024, + "type": "keyword" + }, + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "source": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "mysql": { - "properties": { - "error": { - "properties": { - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "thread_id": { - "type": "long" - }, - "timestamp": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "slowlog": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "type": "long" - }, - "ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "lock_time": { - "properties": { - "sec": { - "type": "float" - } - } - }, - "query": { - "ignore_above": 1024, - "type": "keyword" - }, - "query_time": { - "properties": { - "sec": { - "type": "float" - } - } - }, - "rows_examined": { - "type": "long" - }, - "rows_sent": { - "type": "long" - }, - "timestamp": { - "type": "long" - }, - "user": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "logstash": { + "properties": { + "log": { + "properties": { + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "log_event": { + "type": "object" + }, + "message": { + "norms": false, + "type": "text" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "thread": { + "norms": false, + "type": "text" } } - } - }, - "netflow": { - "properties": { - "absolute_error": { - "type": "double" - }, - "address_pool_high_threshold": { - "type": "long" - }, - "address_pool_low_threshold": { - "type": "long" - }, - "address_port_mapping_high_threshold": { - "type": "long" - }, - "address_port_mapping_low_threshold": { - "type": "long" - }, - "address_port_mapping_per_user_high_threshold": { - "type": "long" - }, - "anonymization_flags": { - "type": "long" - }, - "anonymization_technique": { - "type": "long" - }, - "application_category_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "application_description": { - "ignore_above": 1024, - "type": "keyword" - }, - "application_group_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "application_id": { - "type": "short" - }, - "application_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "application_sub_category_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "bgp_destination_as_number": { - "type": "long" - }, - "bgp_next_adjacent_as_number": { - "type": "long" - }, - "bgp_next_hop_ipv4_address": { - "type": "ip" - }, - "bgp_next_hop_ipv6_address": { - "type": "ip" - }, - "bgp_prev_adjacent_as_number": { - "type": "long" - }, - "bgp_source_as_number": { - "type": "long" - }, - "bgp_validity_state": { - "type": "short" - }, - "biflow_direction": { - "type": "short" - }, - "class_id": { - "type": "short" - }, - "class_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "classification_engine_id": { - "type": "short" - }, - "collection_time_milliseconds": { - "type": "date" - }, - "collector_certificate": { - "type": "short" - }, - "collector_ipv4_address": { - "type": "ip" - }, - "collector_ipv6_address": { - "type": "ip" - }, - "collector_transport_port": { - "type": "long" - }, - "common_properties_id": { - "type": "long" - }, - "confidence_level": { - "type": "double" - }, - "connection_sum_duration_seconds": { - "type": "long" - }, - "connection_transaction_id": { - "type": "long" - }, - "data_link_frame_section": { - "type": "short" - }, - "data_link_frame_size": { - "type": "long" - }, - "data_link_frame_type": { - "type": "long" - }, - "data_records_reliability": { - "type": "boolean" - }, - "delta_flow_count": { - "type": "long" - }, - "destination_ipv4_address": { - "type": "ip" - }, - "destination_ipv4_prefix": { - "type": "ip" - }, - "destination_ipv4_prefix_length": { - "type": "short" - }, - "destination_ipv6_address": { - "type": "ip" - }, - "destination_ipv6_prefix": { - "type": "ip" - }, - "destination_ipv6_prefix_length": { - "type": "short" - }, - "destination_mac_address": { - "ignore_above": 1024, - "type": "keyword" - }, - "destination_transport_port": { - "type": "long" - }, - "digest_hash_value": { - "type": "long" - }, - "distinct_count_of_destinatio_nipa_ddress": { - "type": "long" - }, - "distinct_count_of_destination_ipv4_address": { - "type": "long" - }, - "distinct_count_of_destination_ipv6_address": { - "type": "long" - }, - "distinct_count_of_sourc_eipa_ddress": { - "type": "long" - }, - "distinct_count_of_source_ipv4_address": { - "type": "long" - }, - "distinct_count_of_source_ipv6_address": { - "type": "long" - }, - "dot1q_customer_dei": { - "type": "boolean" - }, - "dot1q_customer_destination_mac_address": { - "ignore_above": 1024, - "type": "keyword" - }, - "dot1q_customer_priority": { - "type": "short" - }, - "dot1q_customer_source_mac_address": { - "ignore_above": 1024, - "type": "keyword" - }, - "dot1q_customer_vlan_id": { - "type": "long" - }, - "dot1q_dei": { - "type": "boolean" - }, - "dot1q_priority": { - "type": "short" - }, - "dot1q_service_instance_id": { - "type": "long" - }, - "dot1q_service_instance_priority": { - "type": "short" - }, - "dot1q_service_instance_tag": { - "type": "short" - }, - "dot1q_vlan_id": { - "type": "long" - }, - "dropped_layer2_octet_delta_count": { - "type": "long" - }, - "dropped_layer2_octet_total_count": { - "type": "long" - }, - "dropped_octet_delta_count": { - "type": "long" - }, - "dropped_octet_total_count": { - "type": "long" - }, - "dropped_packet_delta_count": { - "type": "long" - }, - "dropped_packet_total_count": { - "type": "long" - }, - "dst_traffic_index": { - "type": "long" - }, - "egress_broadcast_packet_total_count": { - "type": "long" - }, - "egress_interface": { - "type": "long" - }, - "egress_interface_type": { - "type": "long" - }, - "egress_physical_interface": { - "type": "long" - }, - "egress_unicast_packet_total_count": { - "type": "long" - }, - "egress_vrfid": { - "type": "long" - }, - "encrypted_technology": { - "ignore_above": 1024, - "type": "keyword" - }, - "engine_id": { - "type": "short" - }, - "engine_type": { - "type": "short" - }, - "ethernet_header_length": { - "type": "short" - }, - "ethernet_payload_length": { - "type": "long" - }, - "ethernet_total_length": { - "type": "long" - }, - "ethernet_type": { - "type": "long" - }, - "export_interface": { - "type": "long" - }, - "export_protocol_version": { - "type": "short" - }, - "export_sctp_stream_id": { - "type": "long" - }, - "export_transport_protocol": { - "type": "short" - }, - "exported_flow_record_total_count": { - "type": "long" - }, - "exported_message_total_count": { - "type": "long" - }, - "exported_octet_total_count": { - "type": "long" - }, - "exporter": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "source_id": { - "type": "long" - }, - "timestamp": { - "type": "date" - }, - "uptime_millis": { - "type": "long" - }, - "version": { - "type": "long" - } - } - }, - "exporter_certificate": { - "type": "short" - }, - "exporter_ipv4_address": { - "type": "ip" - }, - "exporter_ipv6_address": { - "type": "ip" - }, - "exporter_transport_port": { - "type": "long" - }, - "exporting_process_id": { - "type": "long" - }, - "external_address_realm": { - "type": "short" - }, - "firewall_event": { - "type": "short" - }, - "flags_and_sampler_id": { - "type": "long" - }, - "flow_active_timeout": { - "type": "long" - }, - "flow_direction": { - "type": "short" - }, - "flow_duration_microseconds": { - "type": "long" - }, - "flow_duration_milliseconds": { - "type": "long" - }, - "flow_end_delta_microseconds": { - "type": "long" - }, - "flow_end_microseconds": { - "type": "date" - }, - "flow_end_milliseconds": { - "type": "date" - }, - "flow_end_nanoseconds": { - "type": "date" - }, - "flow_end_reason": { - "type": "short" - }, - "flow_end_seconds": { - "type": "date" - }, - "flow_end_sys_up_time": { - "type": "long" - }, - "flow_id": { - "type": "long" - }, - "flow_idle_timeout": { - "type": "long" - }, - "flow_key_indicator": { - "type": "long" - }, - "flow_label_ipv6": { - "type": "long" - }, - "flow_sampling_time_interval": { - "type": "long" - }, - "flow_sampling_time_spacing": { - "type": "long" - }, - "flow_selected_flow_delta_count": { - "type": "long" - }, - "flow_selected_octet_delta_count": { - "type": "long" - }, - "flow_selected_packet_delta_count": { - "type": "long" - }, - "flow_selector_algorithm": { - "type": "long" - }, - "flow_start_delta_microseconds": { - "type": "long" - }, - "flow_start_microseconds": { - "type": "date" - }, - "flow_start_milliseconds": { - "type": "date" - }, - "flow_start_nanoseconds": { - "type": "date" - }, - "flow_start_seconds": { - "type": "date" - }, - "flow_start_sys_up_time": { - "type": "long" - }, - "forwarding_status": { - "type": "short" - }, - "fragment_flags": { - "type": "short" - }, - "fragment_identification": { - "type": "long" - }, - "fragment_offset": { - "type": "long" - }, - "global_address_mapping_high_threshold": { - "type": "long" - }, - "gre_key": { - "type": "long" - }, - "hash_digest_output": { - "type": "boolean" - }, - "hash_flow_domain": { - "type": "long" - }, - "hash_initialiser_value": { - "type": "long" - }, - "hash_ipp_ayload_offset": { - "type": "long" - }, - "hash_ipp_ayload_size": { - "type": "long" - }, - "hash_output_range_max": { - "type": "long" - }, - "hash_output_range_min": { - "type": "long" - }, - "hash_selected_range_max": { - "type": "long" - }, - "hash_selected_range_min": { - "type": "long" - }, - "http_content_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_message_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_reason_phrase": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_request_host": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_request_method": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_request_target": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_status_code": { - "type": "long" - }, - "http_user_agent": { - "ignore_above": 1024, - "type": "keyword" - }, - "icmp_code_ipv4": { - "type": "short" - }, - "icmp_code_ipv6": { - "type": "short" - }, - "icmp_type_code_ipv4": { - "type": "long" - }, - "icmp_type_code_ipv6": { - "type": "long" - }, - "icmp_type_ipv4": { - "type": "short" - }, - "icmp_type_ipv6": { - "type": "short" - }, - "igmp_type": { - "type": "short" - }, - "ignored_data_record_total_count": { - "type": "long" - }, - "ignored_layer2_frame_total_count": { - "type": "long" - }, - "ignored_layer2_octet_total_count": { - "type": "long" - }, - "ignored_octet_total_count": { - "type": "long" - }, - "ignored_packet_total_count": { - "type": "long" - }, - "information_element_data_type": { - "type": "short" - }, - "information_element_description": { - "ignore_above": 1024, - "type": "keyword" - }, - "information_element_id": { - "type": "long" - }, - "information_element_index": { - "type": "long" - }, - "information_element_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "information_element_range_begin": { - "type": "long" - }, - "information_element_range_end": { - "type": "long" - }, - "information_element_semantics": { - "type": "short" - }, - "information_element_units": { - "type": "long" - }, - "ingress_broadcast_packet_total_count": { - "type": "long" - }, - "ingress_interface": { - "type": "long" - }, - "ingress_interface_type": { - "type": "long" - }, - "ingress_multicast_packet_total_count": { - "type": "long" - }, - "ingress_physical_interface": { - "type": "long" - }, - "ingress_unicast_packet_total_count": { - "type": "long" - }, - "ingress_vrfid": { - "type": "long" - }, - "initiator_octets": { - "type": "long" - }, - "initiator_packets": { - "type": "long" - }, - "interface_description": { - "ignore_above": 1024, - "type": "keyword" - }, - "interface_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "intermediate_process_id": { - "type": "long" - }, - "internal_address_realm": { - "type": "short" - }, - "ip_class_of_service": { - "type": "short" - }, - "ip_diff_serv_code_point": { - "type": "short" - }, - "ip_header_length": { - "type": "short" - }, - "ip_header_packet_section": { - "type": "short" - }, - "ip_next_hop_ipv4_address": { - "type": "ip" - }, - "ip_next_hop_ipv6_address": { - "type": "ip" - }, - "ip_payload_length": { - "type": "long" - }, - "ip_payload_packet_section": { - "type": "short" - }, - "ip_precedence": { - "type": "short" - }, - "ip_sec_spi": { - "type": "long" - }, - "ip_total_length": { - "type": "long" - }, - "ip_ttl": { - "type": "short" - }, - "ip_version": { - "type": "short" - }, - "ipv4_ihl": { - "type": "short" - }, - "ipv4_options": { - "type": "long" - }, - "ipv4_router_sc": { - "type": "ip" - }, - "ipv6_extension_headers": { - "type": "long" - }, - "is_multicast": { - "type": "short" - }, - "layer2_frame_delta_count": { - "type": "long" - }, - "layer2_frame_total_count": { - "type": "long" - }, - "layer2_octet_delta_count": { - "type": "long" - }, - "layer2_octet_delta_sum_of_squares": { - "type": "long" - }, - "layer2_octet_total_count": { - "type": "long" - }, - "layer2_octet_total_sum_of_squares": { - "type": "long" - }, - "layer2_segment_id": { - "type": "long" - }, - "layer2packet_section_data": { - "type": "short" - }, - "layer2packet_section_offset": { - "type": "long" - }, - "layer2packet_section_size": { - "type": "long" - }, - "line_card_id": { - "type": "long" - }, - "lower_cli_imit": { - "type": "double" - }, - "max_bieb_ntries": { - "type": "long" - }, - "max_entries_per_user": { - "type": "long" - }, - "max_export_seconds": { - "type": "date" - }, - "max_flow_end_microseconds": { - "type": "date" - }, - "max_flow_end_milliseconds": { - "type": "date" - }, - "max_flow_end_nanoseconds": { - "type": "date" - }, - "max_flow_end_seconds": { - "type": "date" - }, - "max_fragments_pending_reassembly": { - "type": "long" - }, - "max_session_entries": { - "type": "long" - }, - "max_subscribers": { - "type": "long" - }, - "maximum_ip_total_length": { - "type": "long" - }, - "maximum_layer2_total_length": { - "type": "long" - }, - "maximum_ttl": { - "type": "short" - }, - "message_md5_checksum": { - "type": "short" - }, - "message_scope": { - "type": "short" - }, - "metering_process_id": { - "type": "long" - }, - "metro_evc_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "metro_evc_type": { - "type": "short" - }, - "mib_capture_time_semantics": { - "type": "short" - }, - "mib_context_engine_id": { - "type": "short" - }, - "mib_context_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "mib_index_indicator": { - "type": "long" - }, - "mib_module_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "mib_object_description": { - "ignore_above": 1024, - "type": "keyword" - }, - "mib_object_identifier": { - "type": "short" - }, - "mib_object_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "mib_object_syntax": { - "ignore_above": 1024, - "type": "keyword" - }, - "mib_object_value_bits": { - "type": "short" - }, - "mib_object_value_counter": { - "type": "long" - }, - "mib_object_value_gauge": { - "type": "long" - }, - "mib_object_value_integer": { - "type": "long" - }, - "mib_object_value_octet_string": { - "type": "short" - }, - "mib_object_value_oid": { - "type": "short" - }, - "mib_object_value_time_ticks": { - "type": "long" - }, - "mib_object_value_unsigned": { - "type": "long" - }, - "mib_object_valuei_pa_ddress": { - "type": "ip" - }, - "mib_sub_identifier": { - "type": "long" - }, - "min_export_seconds": { - "type": "date" - }, - "min_flow_start_microseconds": { - "type": "date" - }, - "min_flow_start_milliseconds": { - "type": "date" - }, - "min_flow_start_nanoseconds": { - "type": "date" - }, - "min_flow_start_seconds": { - "type": "date" - }, - "minimum_ip_total_length": { - "type": "long" - }, - "minimum_layer2_total_length": { - "type": "long" - }, - "minimum_ttl": { - "type": "short" - }, - "mobile_imsi": { - "ignore_above": 1024, - "type": "keyword" - }, - "mobile_msisdn": { - "ignore_above": 1024, - "type": "keyword" - }, - "monitoring_interval_end_milli_seconds": { - "type": "date" - }, - "monitoring_interval_start_milli_seconds": { - "type": "date" - }, - "mpls_label_stack_depth": { - "type": "long" - }, - "mpls_label_stack_length": { - "type": "long" - }, - "mpls_label_stack_section": { - "type": "short" - }, - "mpls_label_stack_section10": { - "type": "short" - }, - "mpls_label_stack_section2": { - "type": "short" - }, - "mpls_label_stack_section3": { - "type": "short" - }, - "mpls_label_stack_section4": { - "type": "short" - }, - "mpls_label_stack_section5": { - "type": "short" - }, - "mpls_label_stack_section6": { - "type": "short" - }, - "mpls_label_stack_section7": { - "type": "short" - }, - "mpls_label_stack_section8": { - "type": "short" - }, - "mpls_label_stack_section9": { - "type": "short" - }, - "mpls_payload_length": { - "type": "long" - }, - "mpls_payload_packet_section": { - "type": "short" - }, - "mpls_top_label_exp": { - "type": "short" - }, - "mpls_top_label_ipv4_address": { - "type": "ip" - }, - "mpls_top_label_ipv6_address": { - "type": "ip" - }, - "mpls_top_label_prefix_length": { - "type": "short" - }, - "mpls_top_label_stack_section": { - "type": "short" - }, - "mpls_top_label_ttl": { - "type": "short" - }, - "mpls_top_label_type": { - "type": "short" - }, - "mpls_vpn_route_distinguisher": { - "type": "short" - }, - "multicast_replication_factor": { - "type": "long" - }, - "nat_event": { - "type": "short" - }, - "nat_instance_id": { - "type": "long" - }, - "nat_originating_address_realm": { - "type": "short" - }, - "nat_pool_id": { - "type": "long" - }, - "nat_pool_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "nat_quota_exceeded_event": { - "type": "long" - }, - "nat_threshold_event": { - "type": "long" - }, - "nat_type": { - "type": "short" - }, - "new_connection_delta_count": { - "type": "long" - }, - "next_header_ipv6": { - "type": "short" - }, - "not_sent_flow_total_count": { - "type": "long" - }, - "not_sent_layer2_octet_total_count": { - "type": "long" - }, - "not_sent_octet_total_count": { - "type": "long" - }, - "not_sent_packet_total_count": { - "type": "long" - }, - "observation_domain_id": { - "type": "long" - }, - "observation_domain_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "observation_point_id": { - "type": "long" - }, - "observation_point_type": { - "type": "short" - }, - "observation_time_microseconds": { - "type": "date" - }, - "observation_time_milliseconds": { - "type": "date" - }, - "observation_time_nanoseconds": { - "type": "date" - }, - "observation_time_seconds": { - "type": "date" - }, - "observed_flow_total_count": { - "type": "long" - }, - "octet_delta_count": { - "type": "long" - }, - "octet_delta_sum_of_squares": { - "type": "long" - }, - "octet_total_count": { - "type": "long" - }, - "octet_total_sum_of_squares": { - "type": "long" - }, - "opaque_octets": { - "type": "short" - }, - "original_exporter_ipv4_address": { - "type": "ip" - }, - "original_exporter_ipv6_address": { - "type": "ip" - }, - "original_flows_completed": { - "type": "long" - }, - "original_flows_initiated": { - "type": "long" - }, - "original_flows_present": { - "type": "long" - }, - "original_observation_domain_id": { - "type": "long" - }, - "p2p_technology": { - "ignore_above": 1024, - "type": "keyword" - }, - "packet_delta_count": { - "type": "long" - }, - "packet_total_count": { - "type": "long" - }, - "padding_octets": { - "type": "short" - }, - "payload_length_ipv6": { - "type": "long" - }, - "port_id": { - "type": "long" - }, - "port_range_end": { - "type": "long" - }, - "port_range_num_ports": { - "type": "long" - }, - "port_range_start": { - "type": "long" - }, - "port_range_step_size": { - "type": "long" - }, - "post_destination_mac_address": { - "ignore_above": 1024, - "type": "keyword" - }, - "post_dot1q_customer_vlan_id": { - "type": "long" - }, - "post_dot1q_vlan_id": { - "type": "long" - }, - "post_ip_class_of_service": { - "type": "short" - }, - "post_ip_diff_serv_code_point": { - "type": "short" - }, - "post_ip_precedence": { - "type": "short" - }, - "post_layer2_octet_delta_count": { - "type": "long" - }, - "post_layer2_octet_total_count": { - "type": "long" - }, - "post_mcast_layer2_octet_delta_count": { - "type": "long" - }, - "post_mcast_layer2_octet_total_count": { - "type": "long" - }, - "post_mcast_octet_delta_count": { - "type": "long" - }, - "post_mcast_octet_total_count": { - "type": "long" - }, - "post_mcast_packet_delta_count": { - "type": "long" - }, - "post_mcast_packet_total_count": { - "type": "long" - }, - "post_mpls_top_label_exp": { - "type": "short" - }, - "post_nadt_estination_ipv4_address": { - "type": "ip" - }, - "post_nadt_estination_ipv6_address": { - "type": "ip" - }, - "post_napdt_estination_transport_port": { - "type": "long" - }, - "post_napst_ource_transport_port": { - "type": "long" - }, - "post_nast_ource_ipv4_address": { - "type": "ip" - }, - "post_nast_ource_ipv6_address": { - "type": "ip" - }, - "post_octet_delta_count": { - "type": "long" - }, - "post_octet_total_count": { - "type": "long" - }, - "post_packet_delta_count": { - "type": "long" - }, - "post_packet_total_count": { - "type": "long" - }, - "post_source_mac_address": { - "ignore_above": 1024, - "type": "keyword" - }, - "post_vlan_id": { - "type": "long" - }, - "private_enterprise_number": { - "type": "long" - }, - "protocol_identifier": { - "type": "short" - }, - "pseudo_wire_control_word": { - "type": "long" - }, - "pseudo_wire_destination_ipv4_address": { - "type": "ip" - }, - "pseudo_wire_id": { - "type": "long" - }, - "pseudo_wire_type": { - "type": "long" - }, - "relative_error": { - "type": "double" - }, - "responder_octets": { - "type": "long" - }, - "responder_packets": { - "type": "long" - }, - "rfc3550_jitter_microseconds": { - "type": "long" - }, - "rfc3550_jitter_milliseconds": { - "type": "long" - }, - "rfc3550_jitter_nanoseconds": { - "type": "long" - }, - "rtp_sequence_number": { - "type": "long" - }, - "sampler_id": { - "type": "short" - }, - "sampler_mode": { - "type": "short" - }, - "sampler_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "sampler_random_interval": { - "type": "long" - }, - "sampling_algorithm": { - "type": "short" - }, - "sampling_flow_interval": { - "type": "long" - }, - "sampling_flow_spacing": { - "type": "long" - }, - "sampling_interval": { - "type": "long" - }, - "sampling_packet_interval": { - "type": "long" - }, - "sampling_packet_space": { - "type": "long" - }, - "sampling_population": { - "type": "long" - }, - "sampling_probability": { - "type": "double" - }, - "sampling_size": { - "type": "long" - }, - "sampling_time_interval": { - "type": "long" - }, - "sampling_time_space": { - "type": "long" - }, - "section_exported_octets": { - "type": "long" - }, - "section_offset": { - "type": "long" - }, - "selection_sequence_id": { - "type": "long" - }, - "selector_algorithm": { - "type": "long" - }, - "selector_id": { - "type": "long" - }, - "selector_id_total_pkts_observed": { - "type": "long" - }, - "selector_id_total_pkts_selected": { - "type": "long" - }, - "selector_itd_otal_flows_observed": { - "type": "long" - }, - "selector_itd_otal_flows_selected": { - "type": "long" - }, - "selector_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "session_scope": { - "type": "short" - }, - "source_ipv4_address": { - "type": "ip" - }, - "source_ipv4_prefix": { - "type": "ip" - }, - "source_ipv4_prefix_length": { - "type": "short" - }, - "source_ipv6_address": { - "type": "ip" - }, - "source_ipv6_prefix": { - "type": "ip" - }, - "source_ipv6_prefix_length": { - "type": "short" - }, - "source_mac_address": { - "ignore_above": 1024, - "type": "keyword" - }, - "source_transport_port": { - "type": "long" - }, - "source_transport_ports_limit": { - "type": "long" - }, - "src_traffic_index": { - "type": "long" - }, - "sta_ipv4_address": { - "type": "ip" - }, - "sta_mac_address": { - "ignore_above": 1024, - "type": "keyword" - }, - "system_init_time_milliseconds": { - "type": "date" - }, - "tcp_ack_total_count": { - "type": "long" - }, - "tcp_acknowledgement_number": { - "type": "long" - }, - "tcp_control_bits": { - "type": "long" - }, - "tcp_destination_port": { - "type": "long" - }, - "tcp_fin_total_count": { - "type": "long" - }, - "tcp_header_length": { - "type": "short" - }, - "tcp_options": { - "type": "long" - }, - "tcp_psh_total_count": { - "type": "long" - }, - "tcp_rst_total_count": { - "type": "long" - }, - "tcp_sequence_number": { - "type": "long" - }, - "tcp_source_port": { - "type": "long" - }, - "tcp_syn_total_count": { - "type": "long" - }, - "tcp_urg_total_count": { - "type": "long" - }, - "tcp_urgent_pointer": { - "type": "long" - }, - "tcp_window_scale": { - "type": "long" - }, - "tcp_window_size": { - "type": "long" - }, - "template_id": { - "type": "long" - }, - "total_length_ipv4": { - "type": "long" - }, - "transport_octet_delta_count": { - "type": "long" - }, - "transport_packet_delta_count": { - "type": "long" - }, - "tunnel_technology": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "udp_destination_port": { - "type": "long" - }, - "udp_message_length": { - "type": "long" - }, - "udp_source_port": { - "type": "long" - }, - "upper_cli_imit": { - "type": "double" - }, - "user_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "value_distribution_method": { - "type": "short" - }, - "virtual_station_interface_id": { - "type": "short" - }, - "virtual_station_interface_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "virtual_station_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "virtual_station_uuid": { - "type": "short" - }, - "vlan_id": { - "type": "long" - }, - "vpn_identifier": { - "type": "short" - }, - "vr_fname": { - "ignore_above": 1024, - "type": "keyword" - }, - "wlan_channel_id": { - "type": "short" - }, - "wlan_ssid": { - "ignore_above": 1024, - "type": "keyword" - }, - "wtp_mac_address": { - "ignore_above": 1024, - "type": "keyword" + }, + "slowlog": { + "properties": { + "event": { + "norms": false, + "type": "text" + }, + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "plugin_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "plugin_params": { + "norms": false, + "type": "text" + }, + "plugin_params_object": { + "type": "object" + }, + "plugin_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "thread": { + "norms": false, + "type": "text" + }, + "took_in_millis": { + "type": "long" + }, + "took_in_nanos": { + "type": "long" + } } } - }, - "nginx": { - "properties": { - "access": { - "properties": { - "agent": { - "norms": false, - "type": "text" - }, - "body_sent": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "geoip": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "http_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - }, - "referrer": { - "ignore_above": 1024, - "type": "keyword" - }, - "remote_ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "remote_ip_list": { - "ignore_above": 1024, - "type": "keyword" - }, - "response_code": { - "type": "long" - }, - "url": { - "ignore_above": 1024, - "type": "keyword" - }, - "user_agent": { - "properties": { - "device": { - "ignore_above": 1024, - "type": "keyword" - }, - "major": { - "type": "long" - }, - "minor": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "original": { - "index": false, - "norms": false, - "type": "text" - }, - "os": { - "ignore_above": 1024, - "type": "keyword" - }, - "os_major": { - "type": "long" - }, - "os_minor": { - "type": "long" - }, - "os_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "patch": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "user_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "error": { - "properties": { - "connection_id": { - "type": "long" - }, - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "pid": { - "type": "long" - }, - "tid": { - "type": "long" - } + } + }, + "message": { + "norms": false, + "type": "text" + }, + "meta": { + "properties": { + "cloud": { + "properties": { + "availability_zone": { + "ignore_above": 1024, + "type": "keyword" + }, + "instance_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "instance_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "machine_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "project_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "provider": { + "ignore_above": 1024, + "type": "keyword" + }, + "region": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "offset": { - "type": "long" - }, - "osquery": { - "properties": { - "result": { - "properties": { - "action": { - "ignore_above": 1024, - "type": "keyword" - }, - "calendar_time": { - "ignore_above": 1024, - "type": "keyword" - }, - "host_identifier": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "unix_time": { - "type": "long" - } + } + }, + "mongodb": { + "properties": { + "log": { + "properties": { + "component": { + "ignore_above": 1024, + "type": "keyword" + }, + "context": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "severity": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "postgresql": { - "properties": { - "log": { - "properties": { - "core_id": { - "type": "long" - }, - "database": { - "ignore_above": 1024, - "type": "keyword" - }, - "duration": { - "type": "float" - }, - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "query": { - "ignore_above": 1024, - "type": "keyword" - }, - "thread_id": { - "type": "long" - }, - "timestamp": { - "ignore_above": 1024, - "type": "keyword" - }, - "timezone": { - "ignore_above": 1024, - "type": "keyword" - }, - "user": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "mysql": { + "properties": { + "error": { + "properties": { + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "thread_id": { + "type": "long" + }, + "timestamp": { + "ignore_above": 1024, + "type": "keyword" } } - } - }, - "process": { - "properties": { - "pid": { - "type": "long" - }, - "program": { - "ignore_above": 1024, - "type": "keyword" + }, + "slowlog": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "type": "long" + }, + "ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "lock_time": { + "properties": { + "sec": { + "type": "float" + } + } + }, + "query": { + "ignore_above": 1024, + "type": "keyword" + }, + "query_time": { + "properties": { + "sec": { + "type": "float" + } + } + }, + "rows_examined": { + "type": "long" + }, + "rows_sent": { + "type": "long" + }, + "timestamp": { + "type": "long" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + } } } - }, - "prospector": { - "properties": { - "type": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "netflow": { + "properties": { + "absolute_error": { + "type": "double" + }, + "address_pool_high_threshold": { + "type": "long" + }, + "address_pool_low_threshold": { + "type": "long" + }, + "address_port_mapping_high_threshold": { + "type": "long" + }, + "address_port_mapping_low_threshold": { + "type": "long" + }, + "address_port_mapping_per_user_high_threshold": { + "type": "long" + }, + "anonymization_flags": { + "type": "long" + }, + "anonymization_technique": { + "type": "long" + }, + "application_category_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "application_description": { + "ignore_above": 1024, + "type": "keyword" + }, + "application_group_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "application_id": { + "type": "short" + }, + "application_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "application_sub_category_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "bgp_destination_as_number": { + "type": "long" + }, + "bgp_next_adjacent_as_number": { + "type": "long" + }, + "bgp_next_hop_ipv4_address": { + "type": "ip" + }, + "bgp_next_hop_ipv6_address": { + "type": "ip" + }, + "bgp_prev_adjacent_as_number": { + "type": "long" + }, + "bgp_source_as_number": { + "type": "long" + }, + "bgp_validity_state": { + "type": "short" + }, + "biflow_direction": { + "type": "short" + }, + "class_id": { + "type": "short" + }, + "class_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "classification_engine_id": { + "type": "short" + }, + "collection_time_milliseconds": { + "type": "date" + }, + "collector_certificate": { + "type": "short" + }, + "collector_ipv4_address": { + "type": "ip" + }, + "collector_ipv6_address": { + "type": "ip" + }, + "collector_transport_port": { + "type": "long" + }, + "common_properties_id": { + "type": "long" + }, + "confidence_level": { + "type": "double" + }, + "connection_sum_duration_seconds": { + "type": "long" + }, + "connection_transaction_id": { + "type": "long" + }, + "data_link_frame_section": { + "type": "short" + }, + "data_link_frame_size": { + "type": "long" + }, + "data_link_frame_type": { + "type": "long" + }, + "data_records_reliability": { + "type": "boolean" + }, + "delta_flow_count": { + "type": "long" + }, + "destination_ipv4_address": { + "type": "ip" + }, + "destination_ipv4_prefix": { + "type": "ip" + }, + "destination_ipv4_prefix_length": { + "type": "short" + }, + "destination_ipv6_address": { + "type": "ip" + }, + "destination_ipv6_prefix": { + "type": "ip" + }, + "destination_ipv6_prefix_length": { + "type": "short" + }, + "destination_mac_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "destination_transport_port": { + "type": "long" + }, + "digest_hash_value": { + "type": "long" + }, + "distinct_count_of_destinatio_nipa_ddress": { + "type": "long" + }, + "distinct_count_of_destination_ipv4_address": { + "type": "long" + }, + "distinct_count_of_destination_ipv6_address": { + "type": "long" + }, + "distinct_count_of_sourc_eipa_ddress": { + "type": "long" + }, + "distinct_count_of_source_ipv4_address": { + "type": "long" + }, + "distinct_count_of_source_ipv6_address": { + "type": "long" + }, + "dot1q_customer_dei": { + "type": "boolean" + }, + "dot1q_customer_destination_mac_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "dot1q_customer_priority": { + "type": "short" + }, + "dot1q_customer_source_mac_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "dot1q_customer_vlan_id": { + "type": "long" + }, + "dot1q_dei": { + "type": "boolean" + }, + "dot1q_priority": { + "type": "short" + }, + "dot1q_service_instance_id": { + "type": "long" + }, + "dot1q_service_instance_priority": { + "type": "short" + }, + "dot1q_service_instance_tag": { + "type": "short" + }, + "dot1q_vlan_id": { + "type": "long" + }, + "dropped_layer2_octet_delta_count": { + "type": "long" + }, + "dropped_layer2_octet_total_count": { + "type": "long" + }, + "dropped_octet_delta_count": { + "type": "long" + }, + "dropped_octet_total_count": { + "type": "long" + }, + "dropped_packet_delta_count": { + "type": "long" + }, + "dropped_packet_total_count": { + "type": "long" + }, + "dst_traffic_index": { + "type": "long" + }, + "egress_broadcast_packet_total_count": { + "type": "long" + }, + "egress_interface": { + "type": "long" + }, + "egress_interface_type": { + "type": "long" + }, + "egress_physical_interface": { + "type": "long" + }, + "egress_unicast_packet_total_count": { + "type": "long" + }, + "egress_vrfid": { + "type": "long" + }, + "encrypted_technology": { + "ignore_above": 1024, + "type": "keyword" + }, + "engine_id": { + "type": "short" + }, + "engine_type": { + "type": "short" + }, + "ethernet_header_length": { + "type": "short" + }, + "ethernet_payload_length": { + "type": "long" + }, + "ethernet_total_length": { + "type": "long" + }, + "ethernet_type": { + "type": "long" + }, + "export_interface": { + "type": "long" + }, + "export_protocol_version": { + "type": "short" + }, + "export_sctp_stream_id": { + "type": "long" + }, + "export_transport_protocol": { + "type": "short" + }, + "exported_flow_record_total_count": { + "type": "long" + }, + "exported_message_total_count": { + "type": "long" + }, + "exported_octet_total_count": { + "type": "long" + }, + "exporter": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "source_id": { + "type": "long" + }, + "timestamp": { + "type": "date" + }, + "uptime_millis": { + "type": "long" + }, + "version": { + "type": "long" + } } + }, + "exporter_certificate": { + "type": "short" + }, + "exporter_ipv4_address": { + "type": "ip" + }, + "exporter_ipv6_address": { + "type": "ip" + }, + "exporter_transport_port": { + "type": "long" + }, + "exporting_process_id": { + "type": "long" + }, + "external_address_realm": { + "type": "short" + }, + "firewall_event": { + "type": "short" + }, + "flags_and_sampler_id": { + "type": "long" + }, + "flow_active_timeout": { + "type": "long" + }, + "flow_direction": { + "type": "short" + }, + "flow_duration_microseconds": { + "type": "long" + }, + "flow_duration_milliseconds": { + "type": "long" + }, + "flow_end_delta_microseconds": { + "type": "long" + }, + "flow_end_microseconds": { + "type": "date" + }, + "flow_end_milliseconds": { + "type": "date" + }, + "flow_end_nanoseconds": { + "type": "date" + }, + "flow_end_reason": { + "type": "short" + }, + "flow_end_seconds": { + "type": "date" + }, + "flow_end_sys_up_time": { + "type": "long" + }, + "flow_id": { + "type": "long" + }, + "flow_idle_timeout": { + "type": "long" + }, + "flow_key_indicator": { + "type": "long" + }, + "flow_label_ipv6": { + "type": "long" + }, + "flow_sampling_time_interval": { + "type": "long" + }, + "flow_sampling_time_spacing": { + "type": "long" + }, + "flow_selected_flow_delta_count": { + "type": "long" + }, + "flow_selected_octet_delta_count": { + "type": "long" + }, + "flow_selected_packet_delta_count": { + "type": "long" + }, + "flow_selector_algorithm": { + "type": "long" + }, + "flow_start_delta_microseconds": { + "type": "long" + }, + "flow_start_microseconds": { + "type": "date" + }, + "flow_start_milliseconds": { + "type": "date" + }, + "flow_start_nanoseconds": { + "type": "date" + }, + "flow_start_seconds": { + "type": "date" + }, + "flow_start_sys_up_time": { + "type": "long" + }, + "forwarding_status": { + "type": "short" + }, + "fragment_flags": { + "type": "short" + }, + "fragment_identification": { + "type": "long" + }, + "fragment_offset": { + "type": "long" + }, + "global_address_mapping_high_threshold": { + "type": "long" + }, + "gre_key": { + "type": "long" + }, + "hash_digest_output": { + "type": "boolean" + }, + "hash_flow_domain": { + "type": "long" + }, + "hash_initialiser_value": { + "type": "long" + }, + "hash_ipp_ayload_offset": { + "type": "long" + }, + "hash_ipp_ayload_size": { + "type": "long" + }, + "hash_output_range_max": { + "type": "long" + }, + "hash_output_range_min": { + "type": "long" + }, + "hash_selected_range_max": { + "type": "long" + }, + "hash_selected_range_min": { + "type": "long" + }, + "http_content_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_message_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_reason_phrase": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_request_host": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_request_method": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_request_target": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_status_code": { + "type": "long" + }, + "http_user_agent": { + "ignore_above": 1024, + "type": "keyword" + }, + "icmp_code_ipv4": { + "type": "short" + }, + "icmp_code_ipv6": { + "type": "short" + }, + "icmp_type_code_ipv4": { + "type": "long" + }, + "icmp_type_code_ipv6": { + "type": "long" + }, + "icmp_type_ipv4": { + "type": "short" + }, + "icmp_type_ipv6": { + "type": "short" + }, + "igmp_type": { + "type": "short" + }, + "ignored_data_record_total_count": { + "type": "long" + }, + "ignored_layer2_frame_total_count": { + "type": "long" + }, + "ignored_layer2_octet_total_count": { + "type": "long" + }, + "ignored_octet_total_count": { + "type": "long" + }, + "ignored_packet_total_count": { + "type": "long" + }, + "information_element_data_type": { + "type": "short" + }, + "information_element_description": { + "ignore_above": 1024, + "type": "keyword" + }, + "information_element_id": { + "type": "long" + }, + "information_element_index": { + "type": "long" + }, + "information_element_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "information_element_range_begin": { + "type": "long" + }, + "information_element_range_end": { + "type": "long" + }, + "information_element_semantics": { + "type": "short" + }, + "information_element_units": { + "type": "long" + }, + "ingress_broadcast_packet_total_count": { + "type": "long" + }, + "ingress_interface": { + "type": "long" + }, + "ingress_interface_type": { + "type": "long" + }, + "ingress_multicast_packet_total_count": { + "type": "long" + }, + "ingress_physical_interface": { + "type": "long" + }, + "ingress_unicast_packet_total_count": { + "type": "long" + }, + "ingress_vrfid": { + "type": "long" + }, + "initiator_octets": { + "type": "long" + }, + "initiator_packets": { + "type": "long" + }, + "interface_description": { + "ignore_above": 1024, + "type": "keyword" + }, + "interface_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "intermediate_process_id": { + "type": "long" + }, + "internal_address_realm": { + "type": "short" + }, + "ip_class_of_service": { + "type": "short" + }, + "ip_diff_serv_code_point": { + "type": "short" + }, + "ip_header_length": { + "type": "short" + }, + "ip_header_packet_section": { + "type": "short" + }, + "ip_next_hop_ipv4_address": { + "type": "ip" + }, + "ip_next_hop_ipv6_address": { + "type": "ip" + }, + "ip_payload_length": { + "type": "long" + }, + "ip_payload_packet_section": { + "type": "short" + }, + "ip_precedence": { + "type": "short" + }, + "ip_sec_spi": { + "type": "long" + }, + "ip_total_length": { + "type": "long" + }, + "ip_ttl": { + "type": "short" + }, + "ip_version": { + "type": "short" + }, + "ipv4_ihl": { + "type": "short" + }, + "ipv4_options": { + "type": "long" + }, + "ipv4_router_sc": { + "type": "ip" + }, + "ipv6_extension_headers": { + "type": "long" + }, + "is_multicast": { + "type": "short" + }, + "layer2_frame_delta_count": { + "type": "long" + }, + "layer2_frame_total_count": { + "type": "long" + }, + "layer2_octet_delta_count": { + "type": "long" + }, + "layer2_octet_delta_sum_of_squares": { + "type": "long" + }, + "layer2_octet_total_count": { + "type": "long" + }, + "layer2_octet_total_sum_of_squares": { + "type": "long" + }, + "layer2_segment_id": { + "type": "long" + }, + "layer2packet_section_data": { + "type": "short" + }, + "layer2packet_section_offset": { + "type": "long" + }, + "layer2packet_section_size": { + "type": "long" + }, + "line_card_id": { + "type": "long" + }, + "lower_cli_imit": { + "type": "double" + }, + "max_bieb_ntries": { + "type": "long" + }, + "max_entries_per_user": { + "type": "long" + }, + "max_export_seconds": { + "type": "date" + }, + "max_flow_end_microseconds": { + "type": "date" + }, + "max_flow_end_milliseconds": { + "type": "date" + }, + "max_flow_end_nanoseconds": { + "type": "date" + }, + "max_flow_end_seconds": { + "type": "date" + }, + "max_fragments_pending_reassembly": { + "type": "long" + }, + "max_session_entries": { + "type": "long" + }, + "max_subscribers": { + "type": "long" + }, + "maximum_ip_total_length": { + "type": "long" + }, + "maximum_layer2_total_length": { + "type": "long" + }, + "maximum_ttl": { + "type": "short" + }, + "message_md5_checksum": { + "type": "short" + }, + "message_scope": { + "type": "short" + }, + "metering_process_id": { + "type": "long" + }, + "metro_evc_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "metro_evc_type": { + "type": "short" + }, + "mib_capture_time_semantics": { + "type": "short" + }, + "mib_context_engine_id": { + "type": "short" + }, + "mib_context_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "mib_index_indicator": { + "type": "long" + }, + "mib_module_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "mib_object_description": { + "ignore_above": 1024, + "type": "keyword" + }, + "mib_object_identifier": { + "type": "short" + }, + "mib_object_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "mib_object_syntax": { + "ignore_above": 1024, + "type": "keyword" + }, + "mib_object_value_bits": { + "type": "short" + }, + "mib_object_value_counter": { + "type": "long" + }, + "mib_object_value_gauge": { + "type": "long" + }, + "mib_object_value_integer": { + "type": "long" + }, + "mib_object_value_octet_string": { + "type": "short" + }, + "mib_object_value_oid": { + "type": "short" + }, + "mib_object_value_time_ticks": { + "type": "long" + }, + "mib_object_value_unsigned": { + "type": "long" + }, + "mib_object_valuei_pa_ddress": { + "type": "ip" + }, + "mib_sub_identifier": { + "type": "long" + }, + "min_export_seconds": { + "type": "date" + }, + "min_flow_start_microseconds": { + "type": "date" + }, + "min_flow_start_milliseconds": { + "type": "date" + }, + "min_flow_start_nanoseconds": { + "type": "date" + }, + "min_flow_start_seconds": { + "type": "date" + }, + "minimum_ip_total_length": { + "type": "long" + }, + "minimum_layer2_total_length": { + "type": "long" + }, + "minimum_ttl": { + "type": "short" + }, + "mobile_imsi": { + "ignore_above": 1024, + "type": "keyword" + }, + "mobile_msisdn": { + "ignore_above": 1024, + "type": "keyword" + }, + "monitoring_interval_end_milli_seconds": { + "type": "date" + }, + "monitoring_interval_start_milli_seconds": { + "type": "date" + }, + "mpls_label_stack_depth": { + "type": "long" + }, + "mpls_label_stack_length": { + "type": "long" + }, + "mpls_label_stack_section": { + "type": "short" + }, + "mpls_label_stack_section10": { + "type": "short" + }, + "mpls_label_stack_section2": { + "type": "short" + }, + "mpls_label_stack_section3": { + "type": "short" + }, + "mpls_label_stack_section4": { + "type": "short" + }, + "mpls_label_stack_section5": { + "type": "short" + }, + "mpls_label_stack_section6": { + "type": "short" + }, + "mpls_label_stack_section7": { + "type": "short" + }, + "mpls_label_stack_section8": { + "type": "short" + }, + "mpls_label_stack_section9": { + "type": "short" + }, + "mpls_payload_length": { + "type": "long" + }, + "mpls_payload_packet_section": { + "type": "short" + }, + "mpls_top_label_exp": { + "type": "short" + }, + "mpls_top_label_ipv4_address": { + "type": "ip" + }, + "mpls_top_label_ipv6_address": { + "type": "ip" + }, + "mpls_top_label_prefix_length": { + "type": "short" + }, + "mpls_top_label_stack_section": { + "type": "short" + }, + "mpls_top_label_ttl": { + "type": "short" + }, + "mpls_top_label_type": { + "type": "short" + }, + "mpls_vpn_route_distinguisher": { + "type": "short" + }, + "multicast_replication_factor": { + "type": "long" + }, + "nat_event": { + "type": "short" + }, + "nat_instance_id": { + "type": "long" + }, + "nat_originating_address_realm": { + "type": "short" + }, + "nat_pool_id": { + "type": "long" + }, + "nat_pool_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat_quota_exceeded_event": { + "type": "long" + }, + "nat_threshold_event": { + "type": "long" + }, + "nat_type": { + "type": "short" + }, + "new_connection_delta_count": { + "type": "long" + }, + "next_header_ipv6": { + "type": "short" + }, + "not_sent_flow_total_count": { + "type": "long" + }, + "not_sent_layer2_octet_total_count": { + "type": "long" + }, + "not_sent_octet_total_count": { + "type": "long" + }, + "not_sent_packet_total_count": { + "type": "long" + }, + "observation_domain_id": { + "type": "long" + }, + "observation_domain_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "observation_point_id": { + "type": "long" + }, + "observation_point_type": { + "type": "short" + }, + "observation_time_microseconds": { + "type": "date" + }, + "observation_time_milliseconds": { + "type": "date" + }, + "observation_time_nanoseconds": { + "type": "date" + }, + "observation_time_seconds": { + "type": "date" + }, + "observed_flow_total_count": { + "type": "long" + }, + "octet_delta_count": { + "type": "long" + }, + "octet_delta_sum_of_squares": { + "type": "long" + }, + "octet_total_count": { + "type": "long" + }, + "octet_total_sum_of_squares": { + "type": "long" + }, + "opaque_octets": { + "type": "short" + }, + "original_exporter_ipv4_address": { + "type": "ip" + }, + "original_exporter_ipv6_address": { + "type": "ip" + }, + "original_flows_completed": { + "type": "long" + }, + "original_flows_initiated": { + "type": "long" + }, + "original_flows_present": { + "type": "long" + }, + "original_observation_domain_id": { + "type": "long" + }, + "p2p_technology": { + "ignore_above": 1024, + "type": "keyword" + }, + "packet_delta_count": { + "type": "long" + }, + "packet_total_count": { + "type": "long" + }, + "padding_octets": { + "type": "short" + }, + "payload_length_ipv6": { + "type": "long" + }, + "port_id": { + "type": "long" + }, + "port_range_end": { + "type": "long" + }, + "port_range_num_ports": { + "type": "long" + }, + "port_range_start": { + "type": "long" + }, + "port_range_step_size": { + "type": "long" + }, + "post_destination_mac_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "post_dot1q_customer_vlan_id": { + "type": "long" + }, + "post_dot1q_vlan_id": { + "type": "long" + }, + "post_ip_class_of_service": { + "type": "short" + }, + "post_ip_diff_serv_code_point": { + "type": "short" + }, + "post_ip_precedence": { + "type": "short" + }, + "post_layer2_octet_delta_count": { + "type": "long" + }, + "post_layer2_octet_total_count": { + "type": "long" + }, + "post_mcast_layer2_octet_delta_count": { + "type": "long" + }, + "post_mcast_layer2_octet_total_count": { + "type": "long" + }, + "post_mcast_octet_delta_count": { + "type": "long" + }, + "post_mcast_octet_total_count": { + "type": "long" + }, + "post_mcast_packet_delta_count": { + "type": "long" + }, + "post_mcast_packet_total_count": { + "type": "long" + }, + "post_mpls_top_label_exp": { + "type": "short" + }, + "post_nadt_estination_ipv4_address": { + "type": "ip" + }, + "post_nadt_estination_ipv6_address": { + "type": "ip" + }, + "post_napdt_estination_transport_port": { + "type": "long" + }, + "post_napst_ource_transport_port": { + "type": "long" + }, + "post_nast_ource_ipv4_address": { + "type": "ip" + }, + "post_nast_ource_ipv6_address": { + "type": "ip" + }, + "post_octet_delta_count": { + "type": "long" + }, + "post_octet_total_count": { + "type": "long" + }, + "post_packet_delta_count": { + "type": "long" + }, + "post_packet_total_count": { + "type": "long" + }, + "post_source_mac_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "post_vlan_id": { + "type": "long" + }, + "private_enterprise_number": { + "type": "long" + }, + "protocol_identifier": { + "type": "short" + }, + "pseudo_wire_control_word": { + "type": "long" + }, + "pseudo_wire_destination_ipv4_address": { + "type": "ip" + }, + "pseudo_wire_id": { + "type": "long" + }, + "pseudo_wire_type": { + "type": "long" + }, + "relative_error": { + "type": "double" + }, + "responder_octets": { + "type": "long" + }, + "responder_packets": { + "type": "long" + }, + "rfc3550_jitter_microseconds": { + "type": "long" + }, + "rfc3550_jitter_milliseconds": { + "type": "long" + }, + "rfc3550_jitter_nanoseconds": { + "type": "long" + }, + "rtp_sequence_number": { + "type": "long" + }, + "sampler_id": { + "type": "short" + }, + "sampler_mode": { + "type": "short" + }, + "sampler_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "sampler_random_interval": { + "type": "long" + }, + "sampling_algorithm": { + "type": "short" + }, + "sampling_flow_interval": { + "type": "long" + }, + "sampling_flow_spacing": { + "type": "long" + }, + "sampling_interval": { + "type": "long" + }, + "sampling_packet_interval": { + "type": "long" + }, + "sampling_packet_space": { + "type": "long" + }, + "sampling_population": { + "type": "long" + }, + "sampling_probability": { + "type": "double" + }, + "sampling_size": { + "type": "long" + }, + "sampling_time_interval": { + "type": "long" + }, + "sampling_time_space": { + "type": "long" + }, + "section_exported_octets": { + "type": "long" + }, + "section_offset": { + "type": "long" + }, + "selection_sequence_id": { + "type": "long" + }, + "selector_algorithm": { + "type": "long" + }, + "selector_id": { + "type": "long" + }, + "selector_id_total_pkts_observed": { + "type": "long" + }, + "selector_id_total_pkts_selected": { + "type": "long" + }, + "selector_itd_otal_flows_observed": { + "type": "long" + }, + "selector_itd_otal_flows_selected": { + "type": "long" + }, + "selector_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "session_scope": { + "type": "short" + }, + "source_ipv4_address": { + "type": "ip" + }, + "source_ipv4_prefix": { + "type": "ip" + }, + "source_ipv4_prefix_length": { + "type": "short" + }, + "source_ipv6_address": { + "type": "ip" + }, + "source_ipv6_prefix": { + "type": "ip" + }, + "source_ipv6_prefix_length": { + "type": "short" + }, + "source_mac_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "source_transport_port": { + "type": "long" + }, + "source_transport_ports_limit": { + "type": "long" + }, + "src_traffic_index": { + "type": "long" + }, + "sta_ipv4_address": { + "type": "ip" + }, + "sta_mac_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "system_init_time_milliseconds": { + "type": "date" + }, + "tcp_ack_total_count": { + "type": "long" + }, + "tcp_acknowledgement_number": { + "type": "long" + }, + "tcp_control_bits": { + "type": "long" + }, + "tcp_destination_port": { + "type": "long" + }, + "tcp_fin_total_count": { + "type": "long" + }, + "tcp_header_length": { + "type": "short" + }, + "tcp_options": { + "type": "long" + }, + "tcp_psh_total_count": { + "type": "long" + }, + "tcp_rst_total_count": { + "type": "long" + }, + "tcp_sequence_number": { + "type": "long" + }, + "tcp_source_port": { + "type": "long" + }, + "tcp_syn_total_count": { + "type": "long" + }, + "tcp_urg_total_count": { + "type": "long" + }, + "tcp_urgent_pointer": { + "type": "long" + }, + "tcp_window_scale": { + "type": "long" + }, + "tcp_window_size": { + "type": "long" + }, + "template_id": { + "type": "long" + }, + "total_length_ipv4": { + "type": "long" + }, + "transport_octet_delta_count": { + "type": "long" + }, + "transport_packet_delta_count": { + "type": "long" + }, + "tunnel_technology": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "udp_destination_port": { + "type": "long" + }, + "udp_message_length": { + "type": "long" + }, + "udp_source_port": { + "type": "long" + }, + "upper_cli_imit": { + "type": "double" + }, + "user_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "value_distribution_method": { + "type": "short" + }, + "virtual_station_interface_id": { + "type": "short" + }, + "virtual_station_interface_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "virtual_station_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "virtual_station_uuid": { + "type": "short" + }, + "vlan_id": { + "type": "long" + }, + "vpn_identifier": { + "type": "short" + }, + "vr_fname": { + "ignore_above": 1024, + "type": "keyword" + }, + "wlan_channel_id": { + "type": "short" + }, + "wlan_ssid": { + "ignore_above": 1024, + "type": "keyword" + }, + "wtp_mac_address": { + "ignore_above": 1024, + "type": "keyword" } - }, - "read_timestamp": { - "ignore_above": 1024, - "type": "keyword" - }, - "redis": { - "properties": { - "log": { - "properties": { - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "pid": { - "type": "long" - }, - "role": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "slowlog": { - "properties": { - "args": { - "ignore_above": 1024, - "type": "keyword" - }, - "cmd": { - "ignore_above": 1024, - "type": "keyword" - }, - "duration": { - "properties": { - "us": { - "type": "long" - } - } - }, - "id": { - "type": "long" - }, - "key": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "nginx": { + "properties": { + "access": { + "properties": { + "agent": { + "norms": false, + "type": "text" + }, + "body_sent": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "geoip": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "http_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "referrer": { + "ignore_above": 1024, + "type": "keyword" + }, + "remote_ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "remote_ip_list": { + "ignore_above": 1024, + "type": "keyword" + }, + "response_code": { + "type": "long" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + }, + "user_agent": { + "properties": { + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "major": { + "type": "long" + }, + "minor": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "index": false, + "norms": false, + "type": "text" + }, + "os": { + "ignore_above": 1024, + "type": "keyword" + }, + "os_major": { + "type": "long" + }, + "os_minor": { + "type": "long" + }, + "os_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "patch": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "user_name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "connection_id": { + "type": "long" + }, + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "pid": { + "type": "long" + }, + "tid": { + "type": "long" } } } - }, - "service": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "offset": { + "type": "long" + }, + "osquery": { + "properties": { + "result": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "calendar_time": { + "ignore_above": 1024, + "type": "keyword" + }, + "host_identifier": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "unix_time": { + "type": "long" + } } } - }, - "source": { - "ignore_above": 1024, - "type": "keyword" - }, - "source_ecs": { - "properties": { - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "ip": { - "type": "ip" - }, - "port": { - "type": "long" + } + }, + "postgresql": { + "properties": { + "log": { + "properties": { + "core_id": { + "type": "long" + }, + "database": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "float" + }, + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "query": { + "ignore_above": 1024, + "type": "keyword" + }, + "thread_id": { + "type": "long" + }, + "timestamp": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + } } } - }, - "stream": { - "ignore_above": 1024, - "type": "keyword" - }, - "suricata": { - "properties": { - "eve": { - "properties": { - "alert": { - "properties": { - "action": { - "ignore_above": 1024, - "type": "keyword" - }, - "category": { - "ignore_above": 1024, - "type": "keyword" - }, - "gid": { - "type": "long" - }, - "rev": { - "type": "long" - }, - "severity": { - "type": "long" - }, - "signature": { - "ignore_above": 1024, - "type": "keyword" - }, - "signature_id": { - "type": "long" - } - } - }, - "app_proto": { - "ignore_above": 1024, - "type": "keyword" - }, - "app_proto_expected": { - "ignore_above": 1024, - "type": "keyword" - }, - "app_proto_orig": { - "ignore_above": 1024, - "type": "keyword" - }, - "app_proto_tc": { - "ignore_above": 1024, - "type": "keyword" - }, - "app_proto_ts": { - "ignore_above": 1024, - "type": "keyword" - }, - "dest_ip": { - "type": "ip" - }, - "dest_port": { - "type": "long" - }, - "dns": { - "properties": { - "id": { - "type": "long" - }, - "rcode": { - "ignore_above": 1024, - "type": "keyword" - }, - "rdata": { - "ignore_above": 1024, - "type": "keyword" - }, - "rrname": { - "ignore_above": 1024, - "type": "keyword" - }, - "rrtype": { - "ignore_above": 1024, - "type": "keyword" - }, - "ttl": { - "type": "long" - }, - "tx_id": { - "type": "long" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "email": { - "properties": { - "status": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "event_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "fileinfo": { - "properties": { - "filename": { - "ignore_above": 1024, - "type": "keyword" - }, - "gaps": { - "type": "boolean" - }, - "md5": { - "ignore_above": 1024, - "type": "keyword" - }, - "sha1": { - "ignore_above": 1024, - "type": "keyword" - }, - "sha256": { - "ignore_above": 1024, - "type": "keyword" - }, - "size": { - "type": "long" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "stored": { - "type": "boolean" - }, - "tx_id": { - "type": "long" - } - } - }, - "flags": { - "type": "object" - }, - "flow": { - "properties": { - "age": { - "type": "long" - }, - "alerted": { - "type": "boolean" - }, - "bytes_toclient": { - "type": "long" - }, - "bytes_toserver": { - "type": "long" - }, - "end": { - "type": "date" - }, - "pkts_toclient": { - "type": "long" - }, - "pkts_toserver": { - "type": "long" - }, - "reason": { - "ignore_above": 1024, - "type": "keyword" - }, - "start": { - "type": "date" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "flow_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "http": { - "properties": { - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_content_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_method": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_refer": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_user_agent": { - "ignore_above": 1024, - "type": "keyword" - }, - "length": { - "type": "long" - }, - "protocol": { - "ignore_above": 1024, - "type": "keyword" - }, - "redirect": { - "ignore_above": 1024, - "type": "keyword" - }, - "status": { - "type": "long" - }, - "url": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "icmp_code": { - "type": "long" - }, - "icmp_type": { - "type": "long" - }, - "in_iface": { - "ignore_above": 1024, - "type": "keyword" - }, - "pcap_cnt": { - "type": "long" - }, - "proto": { - "ignore_above": 1024, - "type": "keyword" - }, - "smtp": { - "properties": { - "helo": { - "ignore_above": 1024, - "type": "keyword" - }, - "mail_from": { - "ignore_above": 1024, - "type": "keyword" - }, - "rcpt_to": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "src_ip": { - "type": "ip" - }, - "src_port": { - "type": "long" - }, - "ssh": { - "properties": { - "client": { - "properties": { - "proto_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "software_version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "server": { - "properties": { - "proto_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "software_version": { - "ignore_above": 1024, - "type": "keyword" - } - } - } - } - }, - "stats": { - "properties": { - "app_layer": { - "properties": { - "flow": { - "properties": { - "dcerpc_tcp": { - "type": "long" - }, - "dcerpc_udp": { - "type": "long" - }, - "dns_tcp": { - "type": "long" - }, - "dns_udp": { - "type": "long" - }, - "failed_tcp": { - "type": "long" - }, - "failed_udp": { - "type": "long" - }, - "ftp": { - "type": "long" - }, - "http": { - "type": "long" - }, - "imap": { - "type": "long" - }, - "msn": { - "type": "long" - }, - "smb": { - "type": "long" - }, - "smtp": { - "type": "long" - }, - "ssh": { - "type": "long" - }, - "tls": { - "type": "long" - } - } - }, - "tx": { - "properties": { - "dcerpc_tcp": { - "type": "long" - }, - "dcerpc_udp": { - "type": "long" - }, - "dns_tcp": { - "type": "long" - }, - "dns_udp": { - "type": "long" - }, - "ftp": { - "type": "long" - }, - "http": { - "type": "long" - }, - "smb": { - "type": "long" - }, - "smtp": { - "type": "long" - }, - "ssh": { - "type": "long" - }, - "tls": { - "type": "long" - } - } - } - } - }, - "capture": { - "properties": { - "kernel_drops": { - "type": "long" - }, - "kernel_ifdrops": { - "type": "long" - }, - "kernel_packets": { - "type": "long" - } - } - }, - "decoder": { - "properties": { - "avg_pkt_size": { - "type": "long" - }, - "bytes": { - "type": "long" - }, - "dce": { - "properties": { - "pkt_too_small": { - "type": "long" - } - } - }, - "erspan": { - "type": "long" - }, - "ethernet": { - "type": "long" - }, - "gre": { - "type": "long" - }, - "icmpv4": { - "type": "long" - }, - "icmpv6": { - "type": "long" - }, - "ieee8021ah": { - "type": "long" - }, - "invalid": { - "type": "long" - }, - "ipraw": { - "properties": { - "invalid_ip_version": { - "type": "long" - } - } - }, - "ipv4": { - "type": "long" - }, - "ipv4_in_ipv6": { - "type": "long" - }, - "ipv6": { - "type": "long" - }, - "ipv6_in_ipv6": { - "type": "long" - }, - "ltnull": { - "properties": { - "pkt_too_small": { - "type": "long" - }, - "unsupported_type": { - "type": "long" - } - } - }, - "max_pkt_size": { - "type": "long" - }, - "mpls": { - "type": "long" - }, - "null": { - "type": "long" - }, - "pkts": { - "type": "long" - }, - "ppp": { - "type": "long" - }, - "pppoe": { - "type": "long" - }, - "raw": { - "type": "long" - }, - "sctp": { - "type": "long" - }, - "sll": { - "type": "long" - }, - "tcp": { - "type": "long" - }, - "teredo": { - "type": "long" - }, - "udp": { - "type": "long" - }, - "vlan": { - "type": "long" - }, - "vlan_qinq": { - "type": "long" - } - } - }, - "defrag": { - "properties": { - "ipv4": { - "properties": { - "fragments": { - "type": "long" - }, - "reassembled": { - "type": "long" - }, - "timeouts": { - "type": "long" - } - } - }, - "ipv6": { - "properties": { - "fragments": { - "type": "long" - }, - "reassembled": { - "type": "long" - }, - "timeouts": { - "type": "long" - } - } - }, - "max_frag_hits": { - "type": "long" - } - } - }, - "detect": { - "properties": { - "alert": { - "type": "long" - } - } - }, - "dns": { - "properties": { - "memcap_global": { - "type": "long" - }, - "memcap_state": { - "type": "long" - }, - "memuse": { - "type": "long" - } - } - }, - "file_store": { - "properties": { - "open_files": { - "type": "long" - } - } - }, - "flow": { - "properties": { - "emerg_mode_entered": { - "type": "long" - }, - "emerg_mode_over": { - "type": "long" - }, - "icmpv4": { - "type": "long" - }, - "icmpv6": { - "type": "long" - }, - "memcap": { - "type": "long" - }, - "memuse": { - "type": "long" - }, - "spare": { - "type": "long" - }, - "tcp": { - "type": "long" - }, - "tcp_reuse": { - "type": "long" - }, - "udp": { - "type": "long" - } - } - }, - "flow_mgr": { - "properties": { - "bypassed_pruned": { - "type": "long" - }, - "closed_pruned": { - "type": "long" - }, - "est_pruned": { - "type": "long" - }, - "flows_checked": { - "type": "long" - }, - "flows_notimeout": { - "type": "long" - }, - "flows_removed": { - "type": "long" - }, - "flows_timeout": { - "type": "long" - }, - "flows_timeout_inuse": { - "type": "long" - }, - "new_pruned": { - "type": "long" - }, - "rows_busy": { - "type": "long" - }, - "rows_checked": { - "type": "long" - }, - "rows_empty": { - "type": "long" - }, - "rows_maxlen": { - "type": "long" - }, - "rows_skipped": { - "type": "long" - } - } - }, - "http": { - "properties": { - "memcap": { - "type": "long" - }, - "memuse": { - "type": "long" - } - } - }, - "tcp": { - "properties": { - "insert_data_normal_fail": { - "type": "long" - }, - "insert_data_overlap_fail": { - "type": "long" - }, - "insert_list_fail": { - "type": "long" - }, - "invalid_checksum": { - "type": "long" - }, - "memuse": { - "type": "long" - }, - "no_flow": { - "type": "long" - }, - "overlap": { - "type": "long" - }, - "overlap_diff_data": { - "type": "long" - }, - "pseudo": { - "type": "long" - }, - "pseudo_failed": { - "type": "long" - }, - "reassembly_gap": { - "type": "long" - }, - "reassembly_memuse": { - "type": "long" - }, - "rst": { - "type": "long" - }, - "segment_memcap_drop": { - "type": "long" - }, - "sessions": { - "type": "long" - }, - "ssn_memcap_drop": { - "type": "long" - }, - "stream_depth_reached": { - "type": "long" - }, - "syn": { - "type": "long" - }, - "synack": { - "type": "long" - } - } - }, - "uptime": { - "type": "long" - } - } - }, - "tcp": { - "properties": { - "ack": { - "type": "boolean" - }, - "fin": { - "type": "boolean" - }, - "psh": { - "type": "boolean" - }, - "rst": { - "type": "boolean" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "syn": { - "type": "boolean" - }, - "tcp_flags": { - "ignore_above": 1024, - "type": "keyword" - }, - "tcp_flags_tc": { - "ignore_above": 1024, - "type": "keyword" - }, - "tcp_flags_ts": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "timestamp": { - "type": "date" - }, - "tls": { - "properties": { - "fingerprint": { - "ignore_above": 1024, - "type": "keyword" - }, - "issuerdn": { - "ignore_above": 1024, - "type": "keyword" - }, - "notafter": { - "type": "date" - }, - "notbefore": { - "type": "date" - }, - "serial": { - "ignore_above": 1024, - "type": "keyword" - }, - "session_resumed": { - "type": "boolean" - }, - "sni": { - "ignore_above": 1024, - "type": "keyword" - }, - "subject": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "tx_id": { - "type": "long" - } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + }, + "program": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "prospector": { + "properties": { + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "read_timestamp": { + "ignore_above": 1024, + "type": "keyword" + }, + "redis": { + "properties": { + "log": { + "properties": { + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "pid": { + "type": "long" + }, + "role": { + "ignore_above": 1024, + "type": "keyword" } } + }, + "slowlog": { + "properties": { + "args": { + "ignore_above": 1024, + "type": "keyword" + }, + "cmd": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "properties": { + "us": { + "type": "long" + } + } + }, + "id": { + "type": "long" + }, + "key": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "service": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "syslog": { - "properties": { - "facility": { - "type": "long" - }, - "facility_label": { - "ignore_above": 1024, - "type": "keyword" - }, - "priority": { - "type": "long" - }, - "severity_label": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "source": { + "ignore_above": 1024, + "type": "keyword" + }, + "source_ecs": { + "properties": { + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "ip": { + "type": "ip" + }, + "port": { + "type": "long" } - }, - "system": { - "properties": { - "auth": { - "properties": { - "groupadd": { - "properties": { - "gid": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "pid": { - "type": "long" - }, - "program": { - "ignore_above": 1024, - "type": "keyword" - }, - "ssh": { - "properties": { - "dropped_ip": { - "type": "ip" - }, - "event": { - "ignore_above": 1024, - "type": "keyword" - }, - "geoip": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "ip": { - "type": "ip" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - }, - "port": { - "type": "long" - }, - "signature": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "sudo": { - "properties": { - "command": { - "ignore_above": 1024, - "type": "keyword" - }, - "error": { - "ignore_above": 1024, - "type": "keyword" - }, - "pwd": { - "ignore_above": 1024, - "type": "keyword" - }, - "tty": { - "ignore_above": 1024, - "type": "keyword" - }, - "user": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "timestamp": { - "ignore_above": 1024, - "type": "keyword" - }, - "user": { - "ignore_above": 1024, - "type": "keyword" - }, - "useradd": { - "properties": { - "gid": { - "type": "long" - }, - "home": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "shell": { - "ignore_above": 1024, - "type": "keyword" - }, - "uid": { - "type": "long" - } - } - } - } - }, - "syslog": { - "properties": { - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "pid": { - "ignore_above": 1024, - "type": "keyword" - }, - "program": { - "ignore_above": 1024, - "type": "keyword" - }, - "timestamp": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "stream": { + "ignore_above": 1024, + "type": "keyword" + }, + "suricata": { + "properties": { + "eve": { + "properties": { + "alert": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "category": { + "ignore_above": 1024, + "type": "keyword" + }, + "gid": { + "type": "long" + }, + "rev": { + "type": "long" + }, + "severity": { + "type": "long" + }, + "signature": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_id": { + "type": "long" + } + } + }, + "app_proto": { + "ignore_above": 1024, + "type": "keyword" + }, + "app_proto_expected": { + "ignore_above": 1024, + "type": "keyword" + }, + "app_proto_orig": { + "ignore_above": 1024, + "type": "keyword" + }, + "app_proto_tc": { + "ignore_above": 1024, + "type": "keyword" + }, + "app_proto_ts": { + "ignore_above": 1024, + "type": "keyword" + }, + "dest_ip": { + "type": "ip" + }, + "dest_port": { + "type": "long" + }, + "dns": { + "properties": { + "id": { + "type": "long" + }, + "rcode": { + "ignore_above": 1024, + "type": "keyword" + }, + "rdata": { + "ignore_above": 1024, + "type": "keyword" + }, + "rrname": { + "ignore_above": 1024, + "type": "keyword" + }, + "rrtype": { + "ignore_above": 1024, + "type": "keyword" + }, + "ttl": { + "type": "long" + }, + "tx_id": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "email": { + "properties": { + "status": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "event_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "fileinfo": { + "properties": { + "filename": { + "ignore_above": 1024, + "type": "keyword" + }, + "gaps": { + "type": "boolean" + }, + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "size": { + "type": "long" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "stored": { + "type": "boolean" + }, + "tx_id": { + "type": "long" + } + } + }, + "flags": { + "type": "object" + }, + "flow": { + "properties": { + "age": { + "type": "long" + }, + "alerted": { + "type": "boolean" + }, + "bytes_toclient": { + "type": "long" + }, + "bytes_toserver": { + "type": "long" + }, + "end": { + "type": "date" + }, + "pkts_toclient": { + "type": "long" + }, + "pkts_toserver": { + "type": "long" + }, + "reason": { + "ignore_above": 1024, + "type": "keyword" + }, + "start": { + "type": "date" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "flow_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "http": { + "properties": { + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_content_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_method": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_refer": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_user_agent": { + "ignore_above": 1024, + "type": "keyword" + }, + "length": { + "type": "long" + }, + "protocol": { + "ignore_above": 1024, + "type": "keyword" + }, + "redirect": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "type": "long" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "icmp_code": { + "type": "long" + }, + "icmp_type": { + "type": "long" + }, + "in_iface": { + "ignore_above": 1024, + "type": "keyword" + }, + "pcap_cnt": { + "type": "long" + }, + "proto": { + "ignore_above": 1024, + "type": "keyword" + }, + "smtp": { + "properties": { + "helo": { + "ignore_above": 1024, + "type": "keyword" + }, + "mail_from": { + "ignore_above": 1024, + "type": "keyword" + }, + "rcpt_to": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "src_ip": { + "type": "ip" + }, + "src_port": { + "type": "long" + }, + "ssh": { + "properties": { + "client": { + "properties": { + "proto_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "software_version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "server": { + "properties": { + "proto_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "software_version": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "stats": { + "properties": { + "app_layer": { + "properties": { + "flow": { + "properties": { + "dcerpc_tcp": { + "type": "long" + }, + "dcerpc_udp": { + "type": "long" + }, + "dns_tcp": { + "type": "long" + }, + "dns_udp": { + "type": "long" + }, + "failed_tcp": { + "type": "long" + }, + "failed_udp": { + "type": "long" + }, + "ftp": { + "type": "long" + }, + "http": { + "type": "long" + }, + "imap": { + "type": "long" + }, + "msn": { + "type": "long" + }, + "smb": { + "type": "long" + }, + "smtp": { + "type": "long" + }, + "ssh": { + "type": "long" + }, + "tls": { + "type": "long" + } + } + }, + "tx": { + "properties": { + "dcerpc_tcp": { + "type": "long" + }, + "dcerpc_udp": { + "type": "long" + }, + "dns_tcp": { + "type": "long" + }, + "dns_udp": { + "type": "long" + }, + "ftp": { + "type": "long" + }, + "http": { + "type": "long" + }, + "smb": { + "type": "long" + }, + "smtp": { + "type": "long" + }, + "ssh": { + "type": "long" + }, + "tls": { + "type": "long" + } + } + } + } + }, + "capture": { + "properties": { + "kernel_drops": { + "type": "long" + }, + "kernel_ifdrops": { + "type": "long" + }, + "kernel_packets": { + "type": "long" + } + } + }, + "decoder": { + "properties": { + "avg_pkt_size": { + "type": "long" + }, + "bytes": { + "type": "long" + }, + "dce": { + "properties": { + "pkt_too_small": { + "type": "long" + } + } + }, + "erspan": { + "type": "long" + }, + "ethernet": { + "type": "long" + }, + "gre": { + "type": "long" + }, + "icmpv4": { + "type": "long" + }, + "icmpv6": { + "type": "long" + }, + "ieee8021ah": { + "type": "long" + }, + "invalid": { + "type": "long" + }, + "ipraw": { + "properties": { + "invalid_ip_version": { + "type": "long" + } + } + }, + "ipv4": { + "type": "long" + }, + "ipv4_in_ipv6": { + "type": "long" + }, + "ipv6": { + "type": "long" + }, + "ipv6_in_ipv6": { + "type": "long" + }, + "ltnull": { + "properties": { + "pkt_too_small": { + "type": "long" + }, + "unsupported_type": { + "type": "long" + } + } + }, + "max_pkt_size": { + "type": "long" + }, + "mpls": { + "type": "long" + }, + "null": { + "type": "long" + }, + "pkts": { + "type": "long" + }, + "ppp": { + "type": "long" + }, + "pppoe": { + "type": "long" + }, + "raw": { + "type": "long" + }, + "sctp": { + "type": "long" + }, + "sll": { + "type": "long" + }, + "tcp": { + "type": "long" + }, + "teredo": { + "type": "long" + }, + "udp": { + "type": "long" + }, + "vlan": { + "type": "long" + }, + "vlan_qinq": { + "type": "long" + } + } + }, + "defrag": { + "properties": { + "ipv4": { + "properties": { + "fragments": { + "type": "long" + }, + "reassembled": { + "type": "long" + }, + "timeouts": { + "type": "long" + } + } + }, + "ipv6": { + "properties": { + "fragments": { + "type": "long" + }, + "reassembled": { + "type": "long" + }, + "timeouts": { + "type": "long" + } + } + }, + "max_frag_hits": { + "type": "long" + } + } + }, + "detect": { + "properties": { + "alert": { + "type": "long" + } + } + }, + "dns": { + "properties": { + "memcap_global": { + "type": "long" + }, + "memcap_state": { + "type": "long" + }, + "memuse": { + "type": "long" + } + } + }, + "file_store": { + "properties": { + "open_files": { + "type": "long" + } + } + }, + "flow": { + "properties": { + "emerg_mode_entered": { + "type": "long" + }, + "emerg_mode_over": { + "type": "long" + }, + "icmpv4": { + "type": "long" + }, + "icmpv6": { + "type": "long" + }, + "memcap": { + "type": "long" + }, + "memuse": { + "type": "long" + }, + "spare": { + "type": "long" + }, + "tcp": { + "type": "long" + }, + "tcp_reuse": { + "type": "long" + }, + "udp": { + "type": "long" + } + } + }, + "flow_mgr": { + "properties": { + "bypassed_pruned": { + "type": "long" + }, + "closed_pruned": { + "type": "long" + }, + "est_pruned": { + "type": "long" + }, + "flows_checked": { + "type": "long" + }, + "flows_notimeout": { + "type": "long" + }, + "flows_removed": { + "type": "long" + }, + "flows_timeout": { + "type": "long" + }, + "flows_timeout_inuse": { + "type": "long" + }, + "new_pruned": { + "type": "long" + }, + "rows_busy": { + "type": "long" + }, + "rows_checked": { + "type": "long" + }, + "rows_empty": { + "type": "long" + }, + "rows_maxlen": { + "type": "long" + }, + "rows_skipped": { + "type": "long" + } + } + }, + "http": { + "properties": { + "memcap": { + "type": "long" + }, + "memuse": { + "type": "long" + } + } + }, + "tcp": { + "properties": { + "insert_data_normal_fail": { + "type": "long" + }, + "insert_data_overlap_fail": { + "type": "long" + }, + "insert_list_fail": { + "type": "long" + }, + "invalid_checksum": { + "type": "long" + }, + "memuse": { + "type": "long" + }, + "no_flow": { + "type": "long" + }, + "overlap": { + "type": "long" + }, + "overlap_diff_data": { + "type": "long" + }, + "pseudo": { + "type": "long" + }, + "pseudo_failed": { + "type": "long" + }, + "reassembly_gap": { + "type": "long" + }, + "reassembly_memuse": { + "type": "long" + }, + "rst": { + "type": "long" + }, + "segment_memcap_drop": { + "type": "long" + }, + "sessions": { + "type": "long" + }, + "ssn_memcap_drop": { + "type": "long" + }, + "stream_depth_reached": { + "type": "long" + }, + "syn": { + "type": "long" + }, + "synack": { + "type": "long" + } + } + }, + "uptime": { + "type": "long" + } + } + }, + "tcp": { + "properties": { + "ack": { + "type": "boolean" + }, + "fin": { + "type": "boolean" + }, + "psh": { + "type": "boolean" + }, + "rst": { + "type": "boolean" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "syn": { + "type": "boolean" + }, + "tcp_flags": { + "ignore_above": 1024, + "type": "keyword" + }, + "tcp_flags_tc": { + "ignore_above": 1024, + "type": "keyword" + }, + "tcp_flags_ts": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "type": "date" + }, + "tls": { + "properties": { + "fingerprint": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuerdn": { + "ignore_above": 1024, + "type": "keyword" + }, + "notafter": { + "type": "date" + }, + "notbefore": { + "type": "date" + }, + "serial": { + "ignore_above": 1024, + "type": "keyword" + }, + "session_resumed": { + "type": "boolean" + }, + "sni": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "tx_id": { + "type": "long" } } } - }, - "tags": { - "ignore_above": 1024, - "type": "keyword" - }, - "traefik": { - "properties": { - "access": { - "properties": { - "agent": { - "norms": false, - "type": "text" - }, - "backend_url": { - "norms": false, - "type": "text" - }, - "body_sent": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "duration": { - "type": "long" - }, - "frontend_name": { - "norms": false, - "type": "text" - }, - "geoip": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "http_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - }, - "referrer": { - "ignore_above": 1024, - "type": "keyword" - }, - "remote_ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "request_count": { - "type": "long" - }, - "response_code": { - "type": "long" - }, - "url": { - "ignore_above": 1024, - "type": "keyword" - }, - "user_agent": { - "properties": { - "build": { - "ignore_above": 1024, - "type": "keyword" - }, - "device": { - "ignore_above": 1024, - "type": "keyword" - }, - "major": { - "type": "long" - }, - "minor": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "original": { - "index": false, - "norms": false, - "type": "text" - }, - "os": { - "ignore_above": 1024, - "type": "keyword" - }, - "os_major": { - "type": "long" - }, - "os_minor": { - "type": "long" - }, - "os_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "patch": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "user_identifier": { - "ignore_above": 1024, - "type": "keyword" - }, - "user_name": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "syslog": { + "properties": { + "facility": { + "type": "long" + }, + "facility_label": { + "ignore_above": 1024, + "type": "keyword" + }, + "priority": { + "type": "long" + }, + "severity_label": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "system": { + "properties": { + "auth": { + "properties": { + "groupadd": { + "properties": { + "gid": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "pid": { + "type": "long" + }, + "program": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssh": { + "properties": { + "dropped_ip": { + "type": "ip" + }, + "event": { + "ignore_above": 1024, + "type": "keyword" + }, + "geoip": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + }, + "signature": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "sudo": { + "properties": { + "command": { + "ignore_above": 1024, + "type": "keyword" + }, + "error": { + "ignore_above": 1024, + "type": "keyword" + }, + "pwd": { + "ignore_above": 1024, + "type": "keyword" + }, + "tty": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + }, + "useradd": { + "properties": { + "gid": { + "type": "long" + }, + "home": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "shell": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "type": "long" + } } } } + }, + "syslog": { + "properties": { + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "pid": { + "ignore_above": 1024, + "type": "keyword" + }, + "program": { + "ignore_above": 1024, + "type": "keyword" + }, + "timestamp": { + "ignore_above": 1024, + "type": "keyword" + } + } } - }, - "url": { - "properties": { - "hostname": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "tags": { + "ignore_above": 1024, + "type": "keyword" + }, + "traefik": { + "properties": { + "access": { + "properties": { + "agent": { + "norms": false, + "type": "text" + }, + "backend_url": { + "norms": false, + "type": "text" + }, + "body_sent": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "duration": { + "type": "long" + }, + "frontend_name": { + "norms": false, + "type": "text" + }, + "geoip": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "http_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "referrer": { + "ignore_above": 1024, + "type": "keyword" + }, + "remote_ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "request_count": { + "type": "long" + }, + "response_code": { + "type": "long" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + }, + "user_agent": { + "properties": { + "build": { + "ignore_above": 1024, + "type": "keyword" + }, + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "major": { + "type": "long" + }, + "minor": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "index": false, + "norms": false, + "type": "text" + }, + "os": { + "ignore_above": 1024, + "type": "keyword" + }, + "os_major": { + "type": "long" + }, + "os_minor": { + "type": "long" + }, + "os_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "patch": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "user_identifier": { + "ignore_above": 1024, + "type": "keyword" + }, + "user_name": { + "ignore_above": 1024, + "type": "keyword" + } } } - }, - "user_agent": { - "properties": { - "device": { - "ignore_above": 1024, - "type": "keyword" - }, - "major": { - "type": "long" - }, - "minor": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "original": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "properties": { - "full_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "major": { - "type": "long" - }, - "minor": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "patch": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "url": { + "properties": { + "hostname": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "user_agent": { + "properties": { + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "major": { + "type": "long" + }, + "minor": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "full_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "major": { + "type": "long" + }, + "minor": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "patch": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } } } @@ -15344,4 +15340,4 @@ } } } -} \ No newline at end of file +} diff --git a/x-pack/test/functional/es_archives/infra/7.0.0/hosts/mappings.json b/x-pack/test/functional/es_archives/infra/7.0.0/hosts/mappings.json index 1ccdf45c5f023..62aaf7aa1e05a 100644 --- a/x-pack/test/functional/es_archives/infra/7.0.0/hosts/mappings.json +++ b/x-pack/test/functional/es_archives/infra/7.0.0/hosts/mappings.json @@ -5,5511 +5,5509 @@ }, "index": "filebeat-7.0.0-2019.01.15", "mappings": { - "_doc": { - "_meta": { - "version": "7.0.0" + "_meta": { + "version": "7.0.0" + }, + "date_detection": false, + "dynamic_templates": [ + { + "container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "container.labels.*" + } }, - "date_detection": false, - "dynamic_templates": [ - { - "container.labels": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "container.labels.*" - } - }, - { - "fields": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "fields.*" - } - }, - { - "docker.container.labels": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "docker.container.labels.*" - } - }, - { - "kibana.log.meta": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "kibana.log.meta.*" - } - }, - { - "strings_as_keyword": { - "mapping": { - "ignore_above": 1024, - "type": "keyword" - }, - "match_mapping_type": "string" - } + { + "fields": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "fields.*" } - ], - "properties": { - "@timestamp": { - "type": "date" - }, - "agent": { - "properties": { - "ephemeral_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + }, + { + "docker.container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "docker.container.labels.*" + } + }, + { + "kibana.log.meta": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "kibana.log.meta.*" + } + }, + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "agent": { + "properties": { + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "apache": { - "properties": { - "access": { - "properties": { - "body_sent": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "remote_ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "ssl": { - "properties": { - "cipher": { - "ignore_above": 1024, - "type": "keyword" - }, - "protocol": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "apache": { + "properties": { + "access": { + "properties": { + "body_sent": { + "properties": { + "bytes": { + "type": "long" } } - } - }, - "error": { - "properties": { - "module": { - "ignore_above": 1024, - "type": "keyword" + }, + "remote_ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssl": { + "properties": { + "cipher": { + "ignore_above": 1024, + "type": "keyword" + }, + "protocol": { + "ignore_above": 1024, + "type": "keyword" + } } } } + }, + "error": { + "properties": { + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } } - }, - "apache2": { - "properties": { - "access": { - "properties": { - "agent": { - "path": "user_agent.original", - "type": "alias" - }, - "body_sent": { - "properties": { - "bytes": { - "path": "apache.access.body_sent.bytes", - "type": "alias" - } - } - }, - "geoip": { - "properties": { - "city_name": { - "path": "source.geo.city_name", - "type": "alias" - }, - "continent_name": { - "path": "source.geo.continent_name", - "type": "alias" - }, - "country_iso_code": { - "path": "source.geo.country_iso_code", - "type": "alias" - }, - "location": { - "path": "source.geo.location", - "type": "alias" - }, - "region_iso_code": { - "path": "source.geo.region_iso_code", - "type": "alias" - }, - "region_name": { - "path": "source.geo.region_name", - "type": "alias" - } - } - }, - "http_version": { - "path": "http.version", - "type": "alias" - }, - "method": { - "path": "http.request.method", - "type": "alias" - }, - "referrer": { - "path": "http.request.referrer", - "type": "alias" - }, - "remote_ip": { - "path": "apache.access.remote_ip", - "type": "alias" - }, - "response_code": { - "path": "http.response.status_code", - "type": "alias" - }, - "ssl": { - "properties": { - "cipher": { - "path": "apache.access.ssl.cipher", - "type": "alias" - }, - "protocol": { - "path": "apache.access.ssl.protocol", - "type": "alias" - } - } - }, - "url": { - "path": "url.original", - "type": "alias" - }, - "user_agent": { - "properties": { - "device": { - "path": "user_agent.device", - "type": "alias" - }, - "major": { - "path": "user_agent.major", - "type": "alias" - }, - "minor": { - "path": "user_agent.minor", - "type": "alias" - }, - "name": { - "path": "user_agent.name", - "type": "alias" - }, - "original": { - "path": "user_agent.original", - "type": "alias" - }, - "os": { - "path": "user_agent.os.full_name", - "type": "alias" - }, - "os_major": { - "path": "user_agent.os.major", - "type": "alias" - }, - "os_minor": { - "path": "user_agent.os.minor", - "type": "alias" - }, - "os_name": { - "path": "user_agent.os.name", - "type": "alias" - }, - "patch": { - "path": "user_agent.patch", - "type": "alias" - } - } - }, - "user_name": { - "path": "user.name", - "type": "alias" + } + }, + "apache2": { + "properties": { + "access": { + "properties": { + "agent": { + "path": "user_agent.original", + "type": "alias" + }, + "body_sent": { + "properties": { + "bytes": { + "path": "apache.access.body_sent.bytes", + "type": "alias" + } } - } - }, - "error": { - "properties": { - "level": { - "path": "log.level", - "type": "alias" - }, - "message": { - "path": "message", - "type": "alias" - }, - "module": { - "path": "apache.error.module", - "type": "alias" - }, - "pid": { - "path": "process.pid", - "type": "alias" - }, - "tid": { - "path": "process.thread.id", - "type": "alias" + }, + "geoip": { + "properties": { + "city_name": { + "path": "source.geo.city_name", + "type": "alias" + }, + "continent_name": { + "path": "source.geo.continent_name", + "type": "alias" + }, + "country_iso_code": { + "path": "source.geo.country_iso_code", + "type": "alias" + }, + "location": { + "path": "source.geo.location", + "type": "alias" + }, + "region_iso_code": { + "path": "source.geo.region_iso_code", + "type": "alias" + }, + "region_name": { + "path": "source.geo.region_name", + "type": "alias" + } + } + }, + "http_version": { + "path": "http.version", + "type": "alias" + }, + "method": { + "path": "http.request.method", + "type": "alias" + }, + "referrer": { + "path": "http.request.referrer", + "type": "alias" + }, + "remote_ip": { + "path": "apache.access.remote_ip", + "type": "alias" + }, + "response_code": { + "path": "http.response.status_code", + "type": "alias" + }, + "ssl": { + "properties": { + "cipher": { + "path": "apache.access.ssl.cipher", + "type": "alias" + }, + "protocol": { + "path": "apache.access.ssl.protocol", + "type": "alias" + } + } + }, + "url": { + "path": "url.original", + "type": "alias" + }, + "user_agent": { + "properties": { + "device": { + "path": "user_agent.device", + "type": "alias" + }, + "major": { + "path": "user_agent.major", + "type": "alias" + }, + "minor": { + "path": "user_agent.minor", + "type": "alias" + }, + "name": { + "path": "user_agent.name", + "type": "alias" + }, + "original": { + "path": "user_agent.original", + "type": "alias" + }, + "os": { + "path": "user_agent.os.full_name", + "type": "alias" + }, + "os_major": { + "path": "user_agent.os.major", + "type": "alias" + }, + "os_minor": { + "path": "user_agent.os.minor", + "type": "alias" + }, + "os_name": { + "path": "user_agent.os.name", + "type": "alias" + }, + "patch": { + "path": "user_agent.patch", + "type": "alias" + } } + }, + "user_name": { + "path": "user.name", + "type": "alias" + } + } + }, + "error": { + "properties": { + "level": { + "path": "log.level", + "type": "alias" + }, + "message": { + "path": "message", + "type": "alias" + }, + "module": { + "path": "apache.error.module", + "type": "alias" + }, + "pid": { + "path": "process.pid", + "type": "alias" + }, + "tid": { + "path": "process.thread.id", + "type": "alias" } } } - }, - "auditd": { - "properties": { - "log": { - "properties": { - "a0": { - "ignore_above": 1024, - "type": "keyword" - }, - "acct": { - "ignore_above": 1024, - "type": "keyword" - }, - "geoip": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "item": { - "ignore_above": 1024, - "type": "keyword" - }, - "items": { - "ignore_above": 1024, - "type": "keyword" - }, - "new_auid": { - "ignore_above": 1024, - "type": "keyword" - }, - "new_ses": { - "ignore_above": 1024, - "type": "keyword" - }, - "old_auid": { - "ignore_above": 1024, - "type": "keyword" - }, - "old_ses": { - "ignore_above": 1024, - "type": "keyword" - }, - "pid": { - "ignore_above": 1024, - "type": "keyword" - }, - "ppid": { - "ignore_above": 1024, - "type": "keyword" - }, - "record_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "res": { - "ignore_above": 1024, - "type": "keyword" - }, - "sequence": { - "type": "long" + } + }, + "auditd": { + "properties": { + "log": { + "properties": { + "a0": { + "ignore_above": 1024, + "type": "keyword" + }, + "acct": { + "ignore_above": 1024, + "type": "keyword" + }, + "geoip": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "item": { + "ignore_above": 1024, + "type": "keyword" + }, + "items": { + "ignore_above": 1024, + "type": "keyword" + }, + "new_auid": { + "ignore_above": 1024, + "type": "keyword" + }, + "new_ses": { + "ignore_above": 1024, + "type": "keyword" + }, + "old_auid": { + "ignore_above": 1024, + "type": "keyword" + }, + "old_ses": { + "ignore_above": 1024, + "type": "keyword" + }, + "pid": { + "ignore_above": 1024, + "type": "keyword" + }, + "ppid": { + "ignore_above": 1024, + "type": "keyword" + }, + "record_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "res": { + "ignore_above": 1024, + "type": "keyword" + }, + "sequence": { + "type": "long" } } } - }, - "beat": { - "properties": { - "hostname": { - "path": "agent.hostname", - "type": "alias" - }, - "name": { - "path": "agent.type", - "type": "alias" - }, - "timezone": { - "path": "event.timezone", - "type": "alias" - } + } + }, + "beat": { + "properties": { + "hostname": { + "path": "agent.hostname", + "type": "alias" + }, + "name": { + "path": "agent.type", + "type": "alias" + }, + "timezone": { + "path": "event.timezone", + "type": "alias" } - }, - "certificate": { - "properties": { - "common_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "sha256": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "certificate": { + "properties": { + "common_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" } - }, - "client": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes": { - "type": "long" - }, - "domain": { - "ignore_above": 1024, - "type": "keyword" - }, - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "client": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "packets": { - "type": "long" - }, - "port": { - "type": "long" } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" } - }, - "cloud": { - "properties": { - "account": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "cloud": { + "properties": { + "account": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" } - }, - "availability_zone": { - "ignore_above": 1024, - "type": "keyword" - }, - "instance": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "availability_zone": { + "ignore_above": 1024, + "type": "keyword" + }, + "instance": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "machine": { - "properties": { - "type": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "machine": { + "properties": { + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "project": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "project": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" } - }, - "provider": { - "ignore_above": 1024, - "type": "keyword" - }, - "region": { - "ignore_above": 1024, - "type": "keyword" } + }, + "provider": { + "ignore_above": 1024, + "type": "keyword" + }, + "region": { + "ignore_above": 1024, + "type": "keyword" } - }, - "container": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "image": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "tag": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "container": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "tag": { + "ignore_above": 1024, + "type": "keyword" } - }, - "labels": { - "type": "object" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "runtime": { - "ignore_above": 1024, - "type": "keyword" } + }, + "labels": { + "type": "object" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "runtime": { + "ignore_above": 1024, + "type": "keyword" } - }, - "destination": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes": { - "type": "long" - }, - "domain": { - "ignore_above": 1024, - "type": "keyword" - }, - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "destination": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "packets": { - "type": "long" - }, - "port": { - "type": "long" } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" } - }, - "docker": { - "properties": { - "container": { - "properties": { - "id": { - "path": "container.id", - "type": "alias" - }, - "image": { - "path": "container.image.name", - "type": "alias" - }, - "labels": { - "type": "object" - }, - "name": { - "path": "container.name", - "type": "alias" - } + } + }, + "docker": { + "properties": { + "container": { + "properties": { + "id": { + "path": "container.id", + "type": "alias" + }, + "image": { + "path": "container.image.name", + "type": "alias" + }, + "labels": { + "type": "object" + }, + "name": { + "path": "container.name", + "type": "alias" } } } - }, - "ecs": { - "properties": { - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "elasticsearch": { - "properties": { - "audit": { - "properties": { - "action": { - "ignore_above": 1024, - "type": "keyword" - }, - "event_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "layer": { - "ignore_above": 1024, - "type": "keyword" - }, - "origin_address": { - "type": "ip" - }, - "origin_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "principal": { - "ignore_above": 1024, - "type": "keyword" - }, - "request": { - "ignore_above": 1024, - "type": "keyword" - }, - "request_body": { - "norms": false, - "type": "text" - }, - "uri": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "elasticsearch": { + "properties": { + "audit": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "event_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "layer": { + "ignore_above": 1024, + "type": "keyword" + }, + "origin_address": { + "type": "ip" + }, + "origin_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "principal": { + "ignore_above": 1024, + "type": "keyword" + }, + "request": { + "ignore_above": 1024, + "type": "keyword" + }, + "request_body": { + "norms": false, + "type": "text" + }, + "uri": { + "ignore_above": 1024, + "type": "keyword" } - }, - "deprecation": { - "type": "object" - }, - "gc": { - "properties": { - "heap": { - "properties": { - "size_kb": { - "type": "long" - }, - "used_kb": { - "type": "long" - } - } - }, - "jvm_runtime_sec": { - "type": "float" - }, - "old_gen": { - "properties": { - "size_kb": { - "type": "long" - }, - "used_kb": { - "type": "long" - } - } - }, - "phase": { - "properties": { - "class_unload_time_sec": { - "type": "float" - }, - "cpu_time": { - "properties": { - "real_sec": { - "type": "float" - }, - "sys_sec": { - "type": "float" - }, - "user_sec": { - "type": "float" - } - } - }, - "duration_sec": { - "type": "float" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "parallel_rescan_time_sec": { - "type": "float" - }, - "scrub_string_table_time_sec": { - "type": "float" - }, - "scrub_symbol_table_time_sec": { - "type": "float" - }, - "weak_refs_processing_time_sec": { - "type": "float" - } - } - }, - "stopping_threads_time_sec": { - "type": "float" - }, - "tags": { - "ignore_above": 1024, - "type": "keyword" - }, - "threads_total_stop_time_sec": { - "type": "float" - }, - "young_gen": { - "properties": { - "size_kb": { - "type": "long" - }, - "used_kb": { - "type": "long" - } + } + }, + "deprecation": { + "type": "object" + }, + "gc": { + "properties": { + "heap": { + "properties": { + "size_kb": { + "type": "long" + }, + "used_kb": { + "type": "long" } } - } - }, - "index": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" + }, + "jvm_runtime_sec": { + "type": "float" + }, + "old_gen": { + "properties": { + "size_kb": { + "type": "long" + }, + "used_kb": { + "type": "long" + } } - } - }, - "node": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" + }, + "phase": { + "properties": { + "class_unload_time_sec": { + "type": "float" + }, + "cpu_time": { + "properties": { + "real_sec": { + "type": "float" + }, + "sys_sec": { + "type": "float" + }, + "user_sec": { + "type": "float" + } + } + }, + "duration_sec": { + "type": "float" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "parallel_rescan_time_sec": { + "type": "float" + }, + "scrub_string_table_time_sec": { + "type": "float" + }, + "scrub_symbol_table_time_sec": { + "type": "float" + }, + "weak_refs_processing_time_sec": { + "type": "float" + } + } + }, + "stopping_threads_time_sec": { + "type": "float" + }, + "tags": { + "ignore_above": 1024, + "type": "keyword" + }, + "threads_total_stop_time_sec": { + "type": "float" + }, + "young_gen": { + "properties": { + "size_kb": { + "type": "long" + }, + "used_kb": { + "type": "long" + } } } - }, - "server": { - "properties": { - "component": { - "ignore_above": 1024, - "type": "keyword" - }, - "gc": { - "properties": { - "collection_duration": { - "properties": { - "ms": { - "type": "float" - } - } - }, - "observation_duration": { - "properties": { - "ms": { - "type": "float" - } - } - }, - "overhead_seq": { - "type": "long" - }, - "young": { - "properties": { - "one": { - "type": "long" - }, - "two": { - "type": "long" - } + } + }, + "index": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "node": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "server": { + "properties": { + "component": { + "ignore_above": 1024, + "type": "keyword" + }, + "gc": { + "properties": { + "collection_duration": { + "properties": { + "ms": { + "type": "float" + } + } + }, + "observation_duration": { + "properties": { + "ms": { + "type": "float" + } + } + }, + "overhead_seq": { + "type": "long" + }, + "young": { + "properties": { + "one": { + "type": "long" + }, + "two": { + "type": "long" } } } } } - }, - "shard": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "shard": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" } - }, - "slowlog": { - "properties": { - "extra_source": { - "norms": false, - "type": "text" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "logger": { - "ignore_above": 1024, - "type": "keyword" - }, - "routing": { - "ignore_above": 1024, - "type": "keyword" - }, - "search_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "source_query": { - "norms": false, - "type": "text" - }, - "stats": { - "norms": false, - "type": "text" - }, - "took": { - "norms": false, - "type": "text" - }, - "took_millis": { - "ignore_above": 1024, - "type": "keyword" - }, - "total_hits": { - "ignore_above": 1024, - "type": "keyword" - }, - "total_shards": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "types": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "slowlog": { + "properties": { + "extra_source": { + "norms": false, + "type": "text" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "logger": { + "ignore_above": 1024, + "type": "keyword" + }, + "routing": { + "ignore_above": 1024, + "type": "keyword" + }, + "search_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "source_query": { + "norms": false, + "type": "text" + }, + "stats": { + "norms": false, + "type": "text" + }, + "took": { + "norms": false, + "type": "text" + }, + "took_millis": { + "ignore_above": 1024, + "type": "keyword" + }, + "total_hits": { + "ignore_above": 1024, + "type": "keyword" + }, + "total_shards": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "types": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "error": { - "properties": { - "code": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "error": { + "properties": { + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "event": { - "properties": { - "action": { - "ignore_above": 1024, - "type": "keyword" - }, - "category": { - "ignore_above": 1024, - "type": "keyword" - }, - "created": { - "type": "date" - }, - "dataset": { - "ignore_above": 1024, - "type": "keyword" - }, - "duration": { - "type": "long" - }, - "end": { - "type": "date" - }, - "hash": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "kind": { - "ignore_above": 1024, - "type": "keyword" - }, - "module": { - "ignore_above": 1024, - "type": "keyword" - }, - "original": { - "doc_values": false, - "ignore_above": 1024, - "index": false, - "type": "keyword" - }, - "outcome": { - "ignore_above": 1024, - "type": "keyword" - }, - "risk_score": { - "type": "float" - }, - "risk_score_norm": { - "type": "float" - }, - "severity": { - "type": "long" - }, - "start": { - "type": "date" - }, - "timezone": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "event": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "category": { + "ignore_above": 1024, + "type": "keyword" + }, + "created": { + "type": "date" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "end": { + "type": "date" + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "kind": { + "ignore_above": 1024, + "type": "keyword" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "doc_values": false, + "ignore_above": 1024, + "index": false, + "type": "keyword" + }, + "outcome": { + "ignore_above": 1024, + "type": "keyword" + }, + "risk_score": { + "type": "float" + }, + "risk_score_norm": { + "type": "float" + }, + "severity": { + "type": "long" + }, + "start": { + "type": "date" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "fields": { - "type": "object" - }, - "file": { - "properties": { - "ctime": { - "type": "date" - }, - "device": { - "ignore_above": 1024, - "type": "keyword" - }, - "extension": { - "ignore_above": 1024, - "type": "keyword" - }, - "gid": { - "ignore_above": 1024, - "type": "keyword" - }, - "group": { - "ignore_above": 1024, - "type": "keyword" - }, - "inode": { - "ignore_above": 1024, - "type": "keyword" - }, - "mode": { - "ignore_above": 1024, - "type": "keyword" - }, - "mtime": { - "type": "date" - }, - "owner": { - "ignore_above": 1024, - "type": "keyword" - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "size": { - "type": "long" - }, - "target_path": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "uid": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "fields": { + "type": "object" + }, + "file": { + "properties": { + "ctime": { + "type": "date" + }, + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "extension": { + "ignore_above": 1024, + "type": "keyword" + }, + "gid": { + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "ignore_above": 1024, + "type": "keyword" + }, + "inode": { + "ignore_above": 1024, + "type": "keyword" + }, + "mode": { + "ignore_above": 1024, + "type": "keyword" + }, + "mtime": { + "type": "date" + }, + "owner": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "size": { + "type": "long" + }, + "target_path": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" } - }, - "fileset": { - "properties": { - "module": { - "path": "event.module", - "type": "alias" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "fileset": { + "properties": { + "module": { + "path": "event.module", + "type": "alias" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "group": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "group": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "haproxy": { - "properties": { - "backend_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "backend_queue": { - "type": "long" - }, - "bind_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes_read": { - "type": "long" - }, - "client": { - "properties": { - "ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "port": { - "path": "source.port", - "type": "alias" - } + } + }, + "haproxy": { + "properties": { + "backend_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "backend_queue": { + "type": "long" + }, + "bind_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes_read": { + "type": "long" + }, + "client": { + "properties": { + "ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "path": "source.port", + "type": "alias" } - }, - "connection_wait_time_ms": { - "type": "long" - }, - "connections": { - "properties": { - "active": { - "type": "long" - }, - "backend": { - "type": "long" - }, - "frontend": { - "type": "long" - }, - "retries": { - "type": "long" - }, - "server": { - "type": "long" - } + } + }, + "connection_wait_time_ms": { + "type": "long" + }, + "connections": { + "properties": { + "active": { + "type": "long" + }, + "backend": { + "type": "long" + }, + "frontend": { + "type": "long" + }, + "retries": { + "type": "long" + }, + "server": { + "type": "long" } - }, - "destination": { - "properties": { - "ip": { - "path": "destination.ip", - "type": "alias" - }, - "port": { - "path": "destination.port", - "type": "alias" - } + } + }, + "destination": { + "properties": { + "ip": { + "path": "destination.ip", + "type": "alias" + }, + "port": { + "path": "destination.port", + "type": "alias" } - }, - "error_message": { - "norms": false, - "type": "text" - }, - "frontend_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "geoip": { - "properties": { - "city_name": { - "path": "source.geo.city_name", - "type": "alias" - }, - "continent_name": { - "path": "source.geo.continent_name", - "type": "alias" - }, - "country_iso_code": { - "path": "source.geo.country_iso_code", - "type": "alias" - }, - "location": { - "path": "source.geo.location", - "type": "alias" - }, - "region_iso_code": { - "path": "source.geo.region_iso_code", - "type": "alias" - }, - "region_name": { - "path": "source.geo.region_name", - "type": "alias" - } + } + }, + "error_message": { + "norms": false, + "type": "text" + }, + "frontend_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "geoip": { + "properties": { + "city_name": { + "path": "source.geo.city_name", + "type": "alias" + }, + "continent_name": { + "path": "source.geo.continent_name", + "type": "alias" + }, + "country_iso_code": { + "path": "source.geo.country_iso_code", + "type": "alias" + }, + "location": { + "path": "source.geo.location", + "type": "alias" + }, + "region_iso_code": { + "path": "source.geo.region_iso_code", + "type": "alias" + }, + "region_name": { + "path": "source.geo.region_name", + "type": "alias" } - }, - "http": { - "properties": { - "request": { - "properties": { - "captured_cookie": { - "ignore_above": 1024, - "type": "keyword" - }, - "captured_headers": { - "norms": false, - "type": "text" - }, - "raw_request_line": { - "norms": false, - "type": "text" - }, - "time_active_ms": { - "type": "long" - }, - "time_wait_ms": { - "type": "long" - }, - "time_wait_without_data_ms": { - "type": "long" - } - } - }, - "response": { - "properties": { - "captured_cookie": { - "ignore_above": 1024, - "type": "keyword" - }, - "captured_headers": { - "norms": false, - "type": "text" - }, - "status_code": { - "type": "long" - } + } + }, + "http": { + "properties": { + "request": { + "properties": { + "captured_cookie": { + "ignore_above": 1024, + "type": "keyword" + }, + "captured_headers": { + "norms": false, + "type": "text" + }, + "raw_request_line": { + "norms": false, + "type": "text" + }, + "time_active_ms": { + "type": "long" + }, + "time_wait_ms": { + "type": "long" + }, + "time_wait_without_data_ms": { + "type": "long" } } - } - }, - "mode": { - "norms": false, - "type": "text" - }, - "pid": { - "path": "process.pid", - "type": "alias" - }, - "process_name": { - "path": "process.name", - "type": "alias" - }, - "server_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "server_queue": { - "type": "long" - }, - "source": { - "norms": false, - "type": "text" - }, - "tcp": { - "properties": { - "connection_waiting_time_ms": { - "type": "long" - }, - "processing_time_ms": { - "type": "long" + }, + "response": { + "properties": { + "captured_cookie": { + "ignore_above": 1024, + "type": "keyword" + }, + "captured_headers": { + "norms": false, + "type": "text" + }, + "status_code": { + "type": "long" + } } } - }, - "termination_state": { - "ignore_above": 1024, - "type": "keyword" - }, - "time_backend_connect": { - "type": "long" - }, - "time_queue": { - "type": "long" - }, - "total_waiting_time_ms": { - "type": "long" } - } - }, - "hash": { - "properties": { - "sha256": { - "ignore_above": 1024, - "type": "keyword" + }, + "mode": { + "norms": false, + "type": "text" + }, + "pid": { + "path": "process.pid", + "type": "alias" + }, + "process_name": { + "path": "process.name", + "type": "alias" + }, + "server_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "server_queue": { + "type": "long" + }, + "source": { + "norms": false, + "type": "text" + }, + "tcp": { + "properties": { + "connection_waiting_time_ms": { + "type": "long" + }, + "processing_time_ms": { + "type": "long" + } } + }, + "termination_state": { + "ignore_above": 1024, + "type": "keyword" + }, + "time_backend_connect": { + "type": "long" + }, + "time_queue": { + "type": "long" + }, + "total_waiting_time_ms": { + "type": "long" } - }, - "host": { - "properties": { - "architecture": { - "ignore_above": 1024, - "type": "keyword" - }, - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "hash": { + "properties": { + "sha256": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "properties": { - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "ignore_above": 1024, - "type": "keyword" - }, - "kernel": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "platform": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "type": { - "ignore_above": 1024, - "type": "keyword" } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "http": { - "properties": { - "request": { - "properties": { - "body": { - "properties": { - "bytes": { - "type": "long" - }, - "content": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "bytes": { - "type": "long" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - }, - "referrer": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "http": { + "properties": { + "request": { + "properties": { + "body": { + "properties": { + "bytes": { + "type": "long" + }, + "content": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "bytes": { + "type": "long" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "referrer": { + "ignore_above": 1024, + "type": "keyword" } - }, - "response": { - "properties": { - "body": { - "properties": { - "bytes": { - "type": "long" - }, - "content": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "bytes": { - "type": "long" - }, - "content_length": { - "type": "long" - }, - "elapsed_time": { - "type": "long" - }, - "status_code": { - "type": "long" + } + }, + "response": { + "properties": { + "body": { + "properties": { + "bytes": { + "type": "long" + }, + "content": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "bytes": { + "type": "long" + }, + "content_length": { + "type": "long" + }, + "elapsed_time": { + "type": "long" + }, + "status_code": { + "type": "long" } - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "icinga": { - "properties": { - "debug": { - "properties": { - "facility": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "path": "message", - "type": "alias" - }, - "severity": { - "path": "log.level", - "type": "alias" - } + } + }, + "icinga": { + "properties": { + "debug": { + "properties": { + "facility": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "path": "message", + "type": "alias" + }, + "severity": { + "path": "log.level", + "type": "alias" } - }, - "main": { - "properties": { - "facility": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "path": "message", - "type": "alias" - }, - "severity": { - "path": "log.level", - "type": "alias" - } + } + }, + "main": { + "properties": { + "facility": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "path": "message", + "type": "alias" + }, + "severity": { + "path": "log.level", + "type": "alias" } - }, - "startup": { - "properties": { - "facility": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "path": "message", - "type": "alias" - }, - "severity": { - "path": "log.level", - "type": "alias" - } + } + }, + "startup": { + "properties": { + "facility": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "path": "message", + "type": "alias" + }, + "severity": { + "path": "log.level", + "type": "alias" } } } - }, - "iis": { - "properties": { - "access": { - "properties": { - "body_received": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "body_sent": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "cookie": { - "ignore_above": 1024, - "type": "keyword" - }, - "geoip": { - "properties": { - "city_name": { - "path": "source.geo.city_name", - "type": "alias" - }, - "continent_name": { - "path": "source.geo.continent_name", - "type": "alias" - }, - "country_iso_code": { - "path": "source.geo.country_iso_code", - "type": "alias" - }, - "location": { - "path": "source.geo.location", - "type": "alias" - }, - "region_iso_code": { - "path": "source.geo.region_iso_code", - "type": "alias" - }, - "region_name": { - "path": "source.geo.region_name", - "type": "alias" - } - } - }, - "hostname": { - "path": "host.hostname", - "type": "alias" - }, - "http_version": { - "path": "http.version", - "type": "alias" - }, - "method": { - "path": "http.request.method", - "type": "alias" - }, - "port": { - "path": "destination.port", - "type": "alias" - }, - "query_string": { - "path": "url.query", - "type": "alias" - }, - "referrer": { - "path": "http.request.referrer", - "type": "alias" - }, - "remote_ip": { - "path": "source.address", - "type": "alias" - }, - "request_time_ms": { - "type": "long" - }, - "response_code": { - "path": "http.response.status_code", - "type": "alias" - }, - "server_ip": { - "path": "destination.address", - "type": "alias" - }, - "server_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "site_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "sub_status": { - "type": "long" - }, - "url": { - "path": "url.path", - "type": "alias" - }, - "user_agent": { - "properties": { - "device": { - "path": "user_agent.device", - "type": "alias" - }, - "major": { - "path": "user_agent.major", - "type": "alias" - }, - "minor": { - "path": "user_agent.minor", - "type": "alias" - }, - "name": { - "path": "user_agent.name", - "type": "alias" - }, - "original": { - "path": "user_agent.original", - "type": "alias" - }, - "os": { - "path": "user_agent.os.full_name", - "type": "alias" - }, - "os_major": { - "path": "user_agent.os.major", - "type": "alias" - }, - "os_minor": { - "path": "user_agent.os.minor", - "type": "alias" - }, - "os_name": { - "path": "user_agent.os.name", - "type": "alias" - }, - "patch": { - "path": "user_agent.patch", - "type": "alias" - } - } - }, - "user_name": { - "path": "user.name", - "type": "alias" - }, - "win32_status": { - "type": "long" + } + }, + "iis": { + "properties": { + "access": { + "properties": { + "body_received": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "body_sent": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "cookie": { + "ignore_above": 1024, + "type": "keyword" + }, + "geoip": { + "properties": { + "city_name": { + "path": "source.geo.city_name", + "type": "alias" + }, + "continent_name": { + "path": "source.geo.continent_name", + "type": "alias" + }, + "country_iso_code": { + "path": "source.geo.country_iso_code", + "type": "alias" + }, + "location": { + "path": "source.geo.location", + "type": "alias" + }, + "region_iso_code": { + "path": "source.geo.region_iso_code", + "type": "alias" + }, + "region_name": { + "path": "source.geo.region_name", + "type": "alias" + } + } + }, + "hostname": { + "path": "host.hostname", + "type": "alias" + }, + "http_version": { + "path": "http.version", + "type": "alias" + }, + "method": { + "path": "http.request.method", + "type": "alias" + }, + "port": { + "path": "destination.port", + "type": "alias" + }, + "query_string": { + "path": "url.query", + "type": "alias" + }, + "referrer": { + "path": "http.request.referrer", + "type": "alias" + }, + "remote_ip": { + "path": "source.address", + "type": "alias" + }, + "request_time_ms": { + "type": "long" + }, + "response_code": { + "path": "http.response.status_code", + "type": "alias" + }, + "server_ip": { + "path": "destination.address", + "type": "alias" + }, + "server_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "site_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "sub_status": { + "type": "long" + }, + "url": { + "path": "url.path", + "type": "alias" + }, + "user_agent": { + "properties": { + "device": { + "path": "user_agent.device", + "type": "alias" + }, + "major": { + "path": "user_agent.major", + "type": "alias" + }, + "minor": { + "path": "user_agent.minor", + "type": "alias" + }, + "name": { + "path": "user_agent.name", + "type": "alias" + }, + "original": { + "path": "user_agent.original", + "type": "alias" + }, + "os": { + "path": "user_agent.os.full_name", + "type": "alias" + }, + "os_major": { + "path": "user_agent.os.major", + "type": "alias" + }, + "os_minor": { + "path": "user_agent.os.minor", + "type": "alias" + }, + "os_name": { + "path": "user_agent.os.name", + "type": "alias" + }, + "patch": { + "path": "user_agent.patch", + "type": "alias" + } } + }, + "user_name": { + "path": "user.name", + "type": "alias" + }, + "win32_status": { + "type": "long" } - }, - "error": { - "properties": { - "geoip": { - "properties": { - "city_name": { - "path": "source.geo.city_name", - "type": "alias" - }, - "continent_name": { - "path": "source.geo.continent_name", - "type": "alias" - }, - "country_iso_code": { - "path": "source.geo.country_iso_code", - "type": "alias" - }, - "location": { - "path": "source.geo.location", - "type": "alias" - }, - "region_iso_code": { - "path": "source.geo.region_iso_code", - "type": "alias" - }, - "region_name": { - "path": "source.geo.region_name", - "type": "alias" - } - } - }, - "http_version": { - "path": "http.version", - "type": "alias" - }, - "method": { - "path": "http.request.method", - "type": "alias" - }, - "queue_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "reason_phrase": { - "ignore_above": 1024, - "type": "keyword" - }, - "remote_ip": { - "path": "source.address", - "type": "alias" - }, - "remote_port": { - "path": "source.port", - "type": "alias" - }, - "response_code": { - "path": "http.response.status_code", - "type": "alias" - }, - "server_ip": { - "path": "destination.address", - "type": "alias" - }, - "server_port": { - "path": "destination.port", - "type": "alias" - }, - "url": { - "path": "url.original", - "type": "alias" + } + }, + "error": { + "properties": { + "geoip": { + "properties": { + "city_name": { + "path": "source.geo.city_name", + "type": "alias" + }, + "continent_name": { + "path": "source.geo.continent_name", + "type": "alias" + }, + "country_iso_code": { + "path": "source.geo.country_iso_code", + "type": "alias" + }, + "location": { + "path": "source.geo.location", + "type": "alias" + }, + "region_iso_code": { + "path": "source.geo.region_iso_code", + "type": "alias" + }, + "region_name": { + "path": "source.geo.region_name", + "type": "alias" + } } + }, + "http_version": { + "path": "http.version", + "type": "alias" + }, + "method": { + "path": "http.request.method", + "type": "alias" + }, + "queue_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "reason_phrase": { + "ignore_above": 1024, + "type": "keyword" + }, + "remote_ip": { + "path": "source.address", + "type": "alias" + }, + "remote_port": { + "path": "source.port", + "type": "alias" + }, + "response_code": { + "path": "http.response.status_code", + "type": "alias" + }, + "server_ip": { + "path": "destination.address", + "type": "alias" + }, + "server_port": { + "path": "destination.port", + "type": "alias" + }, + "url": { + "path": "url.original", + "type": "alias" } } } - }, - "input": { - "properties": { - "type": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "input": { + "properties": { + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "kafka": { - "properties": { - "log": { - "properties": { - "class": { - "norms": false, - "type": "text" - }, - "component": { - "ignore_above": 1024, - "type": "keyword" - }, - "level": { - "path": "log.level", - "type": "alias" - }, - "message": { - "path": "message", - "type": "alias" - }, - "trace": { - "properties": { - "class": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "norms": false, - "type": "text" - }, - "message": { - "norms": false, - "type": "text" - } + } + }, + "kafka": { + "properties": { + "log": { + "properties": { + "class": { + "norms": false, + "type": "text" + }, + "component": { + "ignore_above": 1024, + "type": "keyword" + }, + "level": { + "path": "log.level", + "type": "alias" + }, + "message": { + "path": "message", + "type": "alias" + }, + "trace": { + "properties": { + "class": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "norms": false, + "type": "text" + }, + "message": { + "norms": false, + "type": "text" } } } } } - }, - "kibana": { - "properties": { - "log": { - "properties": { - "kibana": { - "properties": { - "log": { - "properties": { - "meta": { - "properties": { - "method": { - "path": "http.request.method", - "type": "alias" - }, - "req": { - "properties": { - "headers": { - "properties": { - "referer": { - "path": "http.request.referrer", - "type": "alias" - }, - "user-agent": { - "path": "user_agent.original", - "type": "alias" - } + } + }, + "kibana": { + "properties": { + "log": { + "properties": { + "kibana": { + "properties": { + "log": { + "properties": { + "meta": { + "properties": { + "method": { + "path": "http.request.method", + "type": "alias" + }, + "req": { + "properties": { + "headers": { + "properties": { + "referer": { + "path": "http.request.referrer", + "type": "alias" + }, + "user-agent": { + "path": "user_agent.original", + "type": "alias" } - }, - "referer": { - "path": "http.request.referrer", - "type": "alias" - }, - "remoteAddress": { - "path": "source.address", - "type": "alias" - }, - "url": { - "path": "url.original", - "type": "alias" } + }, + "referer": { + "path": "http.request.referrer", + "type": "alias" + }, + "remoteAddress": { + "path": "source.address", + "type": "alias" + }, + "url": { + "path": "url.original", + "type": "alias" } - }, - "statusCode": { - "path": "http.response.status_code", - "type": "alias" } + }, + "statusCode": { + "path": "http.response.status_code", + "type": "alias" } } } } } - }, - "meta": { - "type": "object" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "tags": { - "ignore_above": 1024, - "type": "keyword" } + }, + "meta": { + "type": "object" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "tags": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "kubernetes": { - "properties": { - "annotations": { - "type": "object" - }, - "container": { - "properties": { - "image": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "kubernetes": { + "properties": { + "annotations": { + "type": "object" + }, + "container": { + "properties": { + "image": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "labels": { - "type": "object" - }, - "namespace": { - "ignore_above": 1024, - "type": "keyword" - }, - "node": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "labels": { + "type": "object" + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "pod": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "uid": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "pod": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "labels": { - "type": "object" - }, - "log": { - "properties": { - "file": { - "properties": { - "path": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "labels": { + "type": "object" + }, + "log": { + "properties": { + "file": { + "properties": { + "path": { + "ignore_above": 1024, + "type": "keyword" } - }, - "flags": { - "ignore_above": 1024, - "type": "keyword" - }, - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "offset": { - "type": "long" - }, - "original": { - "doc_values": false, - "ignore_above": 1024, - "index": false, - "type": "keyword" - }, - "source": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "flags": { + "ignore_above": 1024, + "type": "keyword" + }, + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "offset": { + "type": "long" + }, + "original": { + "doc_values": false, + "ignore_above": 1024, + "index": false, + "type": "keyword" + }, + "source": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "logstash": { - "properties": { - "log": { - "properties": { - "level": { - "path": "log.level", - "type": "alias" - }, - "log_event": { - "type": "object" - }, - "message": { - "path": "message", - "type": "alias" - }, - "module": { - "ignore_above": 1024, - "type": "keyword" - }, - "thread": { - "norms": false, - "type": "text" - } + } + }, + "logstash": { + "properties": { + "log": { + "properties": { + "level": { + "path": "log.level", + "type": "alias" + }, + "log_event": { + "type": "object" + }, + "message": { + "path": "message", + "type": "alias" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "thread": { + "norms": false, + "type": "text" } - }, - "slowlog": { - "properties": { - "event": { - "norms": false, - "type": "text" - }, - "level": { - "path": "log.level", - "type": "alias" - }, - "message": { - "norms": false, - "type": "text" - }, - "module": { - "ignore_above": 1024, - "type": "keyword" - }, - "plugin_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "plugin_params": { - "norms": false, - "type": "text" - }, - "plugin_params_object": { - "type": "object" - }, - "plugin_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "thread": { - "norms": false, - "type": "text" - }, - "took_in_millis": { - "type": "long" - }, - "took_in_nanos": { - "path": "event.duration", - "type": "alias" - } + } + }, + "slowlog": { + "properties": { + "event": { + "norms": false, + "type": "text" + }, + "level": { + "path": "log.level", + "type": "alias" + }, + "message": { + "norms": false, + "type": "text" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "plugin_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "plugin_params": { + "norms": false, + "type": "text" + }, + "plugin_params_object": { + "type": "object" + }, + "plugin_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "thread": { + "norms": false, + "type": "text" + }, + "took_in_millis": { + "type": "long" + }, + "took_in_nanos": { + "path": "event.duration", + "type": "alias" } } } - }, - "message": { - "norms": false, - "type": "text" - }, - "meta": { - "properties": { - "cloud": { - "properties": { - "availability_zone": { - "path": "cloud.availability_zone", - "type": "alias" - }, - "instance_id": { - "path": "cloud.instance.id", - "type": "alias" - }, - "instance_name": { - "path": "cloud.instance.name", - "type": "alias" - }, - "machine_type": { - "path": "cloud.machine.type", - "type": "alias" - }, - "project_id": { - "path": "cloud.project.id", - "type": "alias" - }, - "provider": { - "path": "cloud.provider", - "type": "alias" - }, - "region": { - "path": "cloud.region", - "type": "alias" - } + } + }, + "message": { + "norms": false, + "type": "text" + }, + "meta": { + "properties": { + "cloud": { + "properties": { + "availability_zone": { + "path": "cloud.availability_zone", + "type": "alias" + }, + "instance_id": { + "path": "cloud.instance.id", + "type": "alias" + }, + "instance_name": { + "path": "cloud.instance.name", + "type": "alias" + }, + "machine_type": { + "path": "cloud.machine.type", + "type": "alias" + }, + "project_id": { + "path": "cloud.project.id", + "type": "alias" + }, + "provider": { + "path": "cloud.provider", + "type": "alias" + }, + "region": { + "path": "cloud.region", + "type": "alias" } } } - }, - "mongodb": { - "properties": { - "log": { - "properties": { - "component": { - "ignore_above": 1024, - "type": "keyword" - }, - "context": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "path": "message", - "type": "alias" - }, - "severity": { - "path": "log.level", - "type": "alias" - } + } + }, + "mongodb": { + "properties": { + "log": { + "properties": { + "component": { + "ignore_above": 1024, + "type": "keyword" + }, + "context": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "path": "message", + "type": "alias" + }, + "severity": { + "path": "log.level", + "type": "alias" } } } - }, - "mysql": { - "properties": { - "error": { - "properties": { - "level": { - "path": "log.level", - "type": "alias" - }, - "message": { - "path": "message", - "type": "alias" - }, - "thread_id": { - "path": "process.thread.id", - "type": "alias" - }, - "timestamp": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "mysql": { + "properties": { + "error": { + "properties": { + "level": { + "path": "log.level", + "type": "alias" + }, + "message": { + "path": "message", + "type": "alias" + }, + "thread_id": { + "path": "process.thread.id", + "type": "alias" + }, + "timestamp": { + "ignore_above": 1024, + "type": "keyword" } - }, - "slowlog": { - "properties": { - "host": { - "path": "source.domain", - "type": "alias" - }, - "id": { - "type": "long" - }, - "ip": { - "path": "source.ip", - "type": "alias" - }, - "lock_time": { - "properties": { - "sec": { - "type": "float" - } - } - }, - "query": { - "ignore_above": 1024, - "type": "keyword" - }, - "query_time": { - "properties": { - "sec": { - "type": "float" - } - } - }, - "rows_examined": { - "type": "long" - }, - "rows_sent": { - "type": "long" - }, - "timestamp": { - "type": "long" - }, - "user": { - "path": "user.name", - "type": "alias" + } + }, + "slowlog": { + "properties": { + "host": { + "path": "source.domain", + "type": "alias" + }, + "id": { + "type": "long" + }, + "ip": { + "path": "source.ip", + "type": "alias" + }, + "lock_time": { + "properties": { + "sec": { + "type": "float" + } } + }, + "query": { + "ignore_above": 1024, + "type": "keyword" + }, + "query_time": { + "properties": { + "sec": { + "type": "float" + } + } + }, + "rows_examined": { + "type": "long" + }, + "rows_sent": { + "type": "long" + }, + "timestamp": { + "type": "long" + }, + "user": { + "path": "user.name", + "type": "alias" } } } - }, - "netflow": { - "properties": { - "absolute_error": { - "type": "double" - }, - "address_pool_high_threshold": { - "type": "long" - }, - "address_pool_low_threshold": { - "type": "long" - }, - "address_port_mapping_high_threshold": { - "type": "long" - }, - "address_port_mapping_low_threshold": { - "type": "long" - }, - "address_port_mapping_per_user_high_threshold": { - "type": "long" - }, - "anonymization_flags": { - "type": "long" - }, - "anonymization_technique": { - "type": "long" - }, - "application_category_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "application_description": { - "ignore_above": 1024, - "type": "keyword" - }, - "application_group_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "application_id": { - "type": "short" - }, - "application_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "application_sub_category_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "bgp_destination_as_number": { - "type": "long" - }, - "bgp_next_adjacent_as_number": { - "type": "long" - }, - "bgp_next_hop_ipv4_address": { - "type": "ip" - }, - "bgp_next_hop_ipv6_address": { - "type": "ip" - }, - "bgp_prev_adjacent_as_number": { - "type": "long" - }, - "bgp_source_as_number": { - "type": "long" - }, - "bgp_validity_state": { - "type": "short" - }, - "biflow_direction": { - "type": "short" - }, - "class_id": { - "type": "short" - }, - "class_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "classification_engine_id": { - "type": "short" - }, - "collection_time_milliseconds": { - "type": "date" - }, - "collector_certificate": { - "type": "short" - }, - "collector_ipv4_address": { - "type": "ip" - }, - "collector_ipv6_address": { - "type": "ip" - }, - "collector_transport_port": { - "type": "long" - }, - "common_properties_id": { - "type": "long" - }, - "confidence_level": { - "type": "double" - }, - "connection_sum_duration_seconds": { - "type": "long" - }, - "connection_transaction_id": { - "type": "long" - }, - "data_link_frame_section": { - "type": "short" - }, - "data_link_frame_size": { - "type": "long" - }, - "data_link_frame_type": { - "type": "long" - }, - "data_records_reliability": { - "type": "boolean" - }, - "delta_flow_count": { - "type": "long" - }, - "destination_ipv4_address": { - "type": "ip" - }, - "destination_ipv4_prefix": { - "type": "ip" - }, - "destination_ipv4_prefix_length": { - "type": "short" - }, - "destination_ipv6_address": { - "type": "ip" - }, - "destination_ipv6_prefix": { - "type": "ip" - }, - "destination_ipv6_prefix_length": { - "type": "short" - }, - "destination_mac_address": { - "ignore_above": 1024, - "type": "keyword" - }, - "destination_transport_port": { - "type": "long" - }, - "digest_hash_value": { - "type": "long" - }, - "distinct_count_of_destinatio_nipa_ddress": { - "type": "long" - }, - "distinct_count_of_destination_ipv4_address": { - "type": "long" - }, - "distinct_count_of_destination_ipv6_address": { - "type": "long" - }, - "distinct_count_of_sourc_eipa_ddress": { - "type": "long" - }, - "distinct_count_of_source_ipv4_address": { - "type": "long" - }, - "distinct_count_of_source_ipv6_address": { - "type": "long" - }, - "dot1q_customer_dei": { - "type": "boolean" - }, - "dot1q_customer_destination_mac_address": { - "ignore_above": 1024, - "type": "keyword" - }, - "dot1q_customer_priority": { - "type": "short" - }, - "dot1q_customer_source_mac_address": { - "ignore_above": 1024, - "type": "keyword" - }, - "dot1q_customer_vlan_id": { - "type": "long" - }, - "dot1q_dei": { - "type": "boolean" - }, - "dot1q_priority": { - "type": "short" - }, - "dot1q_service_instance_id": { - "type": "long" - }, - "dot1q_service_instance_priority": { - "type": "short" - }, - "dot1q_service_instance_tag": { - "type": "short" - }, - "dot1q_vlan_id": { - "type": "long" - }, - "dropped_layer2_octet_delta_count": { - "type": "long" - }, - "dropped_layer2_octet_total_count": { - "type": "long" - }, - "dropped_octet_delta_count": { - "type": "long" - }, - "dropped_octet_total_count": { - "type": "long" - }, - "dropped_packet_delta_count": { - "type": "long" - }, - "dropped_packet_total_count": { - "type": "long" - }, - "dst_traffic_index": { - "type": "long" - }, - "egress_broadcast_packet_total_count": { - "type": "long" - }, - "egress_interface": { - "type": "long" - }, - "egress_interface_type": { - "type": "long" - }, - "egress_physical_interface": { - "type": "long" - }, - "egress_unicast_packet_total_count": { - "type": "long" - }, - "egress_vrfid": { - "type": "long" - }, - "encrypted_technology": { - "ignore_above": 1024, - "type": "keyword" - }, - "engine_id": { - "type": "short" - }, - "engine_type": { - "type": "short" - }, - "ethernet_header_length": { - "type": "short" - }, - "ethernet_payload_length": { - "type": "long" - }, - "ethernet_total_length": { - "type": "long" - }, - "ethernet_type": { - "type": "long" - }, - "export_interface": { - "type": "long" - }, - "export_protocol_version": { - "type": "short" - }, - "export_sctp_stream_id": { - "type": "long" - }, - "export_transport_protocol": { - "type": "short" - }, - "exported_flow_record_total_count": { - "type": "long" - }, - "exported_message_total_count": { - "type": "long" - }, - "exported_octet_total_count": { - "type": "long" - }, - "exporter": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "source_id": { - "type": "long" - }, - "timestamp": { - "type": "date" - }, - "uptime_millis": { - "type": "long" - }, - "version": { - "type": "long" - } + } + }, + "netflow": { + "properties": { + "absolute_error": { + "type": "double" + }, + "address_pool_high_threshold": { + "type": "long" + }, + "address_pool_low_threshold": { + "type": "long" + }, + "address_port_mapping_high_threshold": { + "type": "long" + }, + "address_port_mapping_low_threshold": { + "type": "long" + }, + "address_port_mapping_per_user_high_threshold": { + "type": "long" + }, + "anonymization_flags": { + "type": "long" + }, + "anonymization_technique": { + "type": "long" + }, + "application_category_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "application_description": { + "ignore_above": 1024, + "type": "keyword" + }, + "application_group_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "application_id": { + "type": "short" + }, + "application_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "application_sub_category_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "bgp_destination_as_number": { + "type": "long" + }, + "bgp_next_adjacent_as_number": { + "type": "long" + }, + "bgp_next_hop_ipv4_address": { + "type": "ip" + }, + "bgp_next_hop_ipv6_address": { + "type": "ip" + }, + "bgp_prev_adjacent_as_number": { + "type": "long" + }, + "bgp_source_as_number": { + "type": "long" + }, + "bgp_validity_state": { + "type": "short" + }, + "biflow_direction": { + "type": "short" + }, + "class_id": { + "type": "short" + }, + "class_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "classification_engine_id": { + "type": "short" + }, + "collection_time_milliseconds": { + "type": "date" + }, + "collector_certificate": { + "type": "short" + }, + "collector_ipv4_address": { + "type": "ip" + }, + "collector_ipv6_address": { + "type": "ip" + }, + "collector_transport_port": { + "type": "long" + }, + "common_properties_id": { + "type": "long" + }, + "confidence_level": { + "type": "double" + }, + "connection_sum_duration_seconds": { + "type": "long" + }, + "connection_transaction_id": { + "type": "long" + }, + "data_link_frame_section": { + "type": "short" + }, + "data_link_frame_size": { + "type": "long" + }, + "data_link_frame_type": { + "type": "long" + }, + "data_records_reliability": { + "type": "boolean" + }, + "delta_flow_count": { + "type": "long" + }, + "destination_ipv4_address": { + "type": "ip" + }, + "destination_ipv4_prefix": { + "type": "ip" + }, + "destination_ipv4_prefix_length": { + "type": "short" + }, + "destination_ipv6_address": { + "type": "ip" + }, + "destination_ipv6_prefix": { + "type": "ip" + }, + "destination_ipv6_prefix_length": { + "type": "short" + }, + "destination_mac_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "destination_transport_port": { + "type": "long" + }, + "digest_hash_value": { + "type": "long" + }, + "distinct_count_of_destinatio_nipa_ddress": { + "type": "long" + }, + "distinct_count_of_destination_ipv4_address": { + "type": "long" + }, + "distinct_count_of_destination_ipv6_address": { + "type": "long" + }, + "distinct_count_of_sourc_eipa_ddress": { + "type": "long" + }, + "distinct_count_of_source_ipv4_address": { + "type": "long" + }, + "distinct_count_of_source_ipv6_address": { + "type": "long" + }, + "dot1q_customer_dei": { + "type": "boolean" + }, + "dot1q_customer_destination_mac_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "dot1q_customer_priority": { + "type": "short" + }, + "dot1q_customer_source_mac_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "dot1q_customer_vlan_id": { + "type": "long" + }, + "dot1q_dei": { + "type": "boolean" + }, + "dot1q_priority": { + "type": "short" + }, + "dot1q_service_instance_id": { + "type": "long" + }, + "dot1q_service_instance_priority": { + "type": "short" + }, + "dot1q_service_instance_tag": { + "type": "short" + }, + "dot1q_vlan_id": { + "type": "long" + }, + "dropped_layer2_octet_delta_count": { + "type": "long" + }, + "dropped_layer2_octet_total_count": { + "type": "long" + }, + "dropped_octet_delta_count": { + "type": "long" + }, + "dropped_octet_total_count": { + "type": "long" + }, + "dropped_packet_delta_count": { + "type": "long" + }, + "dropped_packet_total_count": { + "type": "long" + }, + "dst_traffic_index": { + "type": "long" + }, + "egress_broadcast_packet_total_count": { + "type": "long" + }, + "egress_interface": { + "type": "long" + }, + "egress_interface_type": { + "type": "long" + }, + "egress_physical_interface": { + "type": "long" + }, + "egress_unicast_packet_total_count": { + "type": "long" + }, + "egress_vrfid": { + "type": "long" + }, + "encrypted_technology": { + "ignore_above": 1024, + "type": "keyword" + }, + "engine_id": { + "type": "short" + }, + "engine_type": { + "type": "short" + }, + "ethernet_header_length": { + "type": "short" + }, + "ethernet_payload_length": { + "type": "long" + }, + "ethernet_total_length": { + "type": "long" + }, + "ethernet_type": { + "type": "long" + }, + "export_interface": { + "type": "long" + }, + "export_protocol_version": { + "type": "short" + }, + "export_sctp_stream_id": { + "type": "long" + }, + "export_transport_protocol": { + "type": "short" + }, + "exported_flow_record_total_count": { + "type": "long" + }, + "exported_message_total_count": { + "type": "long" + }, + "exported_octet_total_count": { + "type": "long" + }, + "exporter": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "source_id": { + "type": "long" + }, + "timestamp": { + "type": "date" + }, + "uptime_millis": { + "type": "long" + }, + "version": { + "type": "long" } - }, - "exporter_certificate": { - "type": "short" - }, - "exporter_ipv4_address": { - "type": "ip" - }, - "exporter_ipv6_address": { - "type": "ip" - }, - "exporter_transport_port": { - "type": "long" - }, - "exporting_process_id": { - "type": "long" - }, - "external_address_realm": { - "type": "short" - }, - "firewall_event": { - "type": "short" - }, - "flags_and_sampler_id": { - "type": "long" - }, - "flow_active_timeout": { - "type": "long" - }, - "flow_direction": { - "type": "short" - }, - "flow_duration_microseconds": { - "type": "long" - }, - "flow_duration_milliseconds": { - "type": "long" - }, - "flow_end_delta_microseconds": { - "type": "long" - }, - "flow_end_microseconds": { - "type": "date" - }, - "flow_end_milliseconds": { - "type": "date" - }, - "flow_end_nanoseconds": { - "type": "date" - }, - "flow_end_reason": { - "type": "short" - }, - "flow_end_seconds": { - "type": "date" - }, - "flow_end_sys_up_time": { - "type": "long" - }, - "flow_id": { - "type": "long" - }, - "flow_idle_timeout": { - "type": "long" - }, - "flow_key_indicator": { - "type": "long" - }, - "flow_label_ipv6": { - "type": "long" - }, - "flow_sampling_time_interval": { - "type": "long" - }, - "flow_sampling_time_spacing": { - "type": "long" - }, - "flow_selected_flow_delta_count": { - "type": "long" - }, - "flow_selected_octet_delta_count": { - "type": "long" - }, - "flow_selected_packet_delta_count": { - "type": "long" - }, - "flow_selector_algorithm": { - "type": "long" - }, - "flow_start_delta_microseconds": { - "type": "long" - }, - "flow_start_microseconds": { - "type": "date" - }, - "flow_start_milliseconds": { - "type": "date" - }, - "flow_start_nanoseconds": { - "type": "date" - }, - "flow_start_seconds": { - "type": "date" - }, - "flow_start_sys_up_time": { - "type": "long" - }, - "forwarding_status": { - "type": "short" - }, - "fragment_flags": { - "type": "short" - }, - "fragment_identification": { - "type": "long" - }, - "fragment_offset": { - "type": "long" - }, - "global_address_mapping_high_threshold": { - "type": "long" - }, - "gre_key": { - "type": "long" - }, - "hash_digest_output": { - "type": "boolean" - }, - "hash_flow_domain": { - "type": "long" - }, - "hash_initialiser_value": { - "type": "long" - }, - "hash_ipp_ayload_offset": { - "type": "long" - }, - "hash_ipp_ayload_size": { - "type": "long" - }, - "hash_output_range_max": { - "type": "long" - }, - "hash_output_range_min": { - "type": "long" - }, - "hash_selected_range_max": { - "type": "long" - }, - "hash_selected_range_min": { - "type": "long" - }, - "http_content_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_message_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_reason_phrase": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_request_host": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_request_method": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_request_target": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_status_code": { - "type": "long" - }, - "http_user_agent": { - "ignore_above": 1024, - "type": "keyword" - }, - "icmp_code_ipv4": { - "type": "short" - }, - "icmp_code_ipv6": { - "type": "short" - }, - "icmp_type_code_ipv4": { - "type": "long" - }, - "icmp_type_code_ipv6": { - "type": "long" - }, - "icmp_type_ipv4": { - "type": "short" - }, - "icmp_type_ipv6": { - "type": "short" - }, - "igmp_type": { - "type": "short" - }, - "ignored_data_record_total_count": { - "type": "long" - }, - "ignored_layer2_frame_total_count": { - "type": "long" - }, - "ignored_layer2_octet_total_count": { - "type": "long" - }, - "ignored_octet_total_count": { - "type": "long" - }, - "ignored_packet_total_count": { - "type": "long" - }, - "information_element_data_type": { - "type": "short" - }, - "information_element_description": { - "ignore_above": 1024, - "type": "keyword" - }, - "information_element_id": { - "type": "long" - }, - "information_element_index": { - "type": "long" - }, - "information_element_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "information_element_range_begin": { - "type": "long" - }, - "information_element_range_end": { - "type": "long" - }, - "information_element_semantics": { - "type": "short" - }, - "information_element_units": { - "type": "long" - }, - "ingress_broadcast_packet_total_count": { - "type": "long" - }, - "ingress_interface": { - "type": "long" - }, - "ingress_interface_type": { - "type": "long" - }, - "ingress_multicast_packet_total_count": { - "type": "long" - }, - "ingress_physical_interface": { - "type": "long" - }, - "ingress_unicast_packet_total_count": { - "type": "long" - }, - "ingress_vrfid": { - "type": "long" - }, - "initiator_octets": { - "type": "long" - }, - "initiator_packets": { - "type": "long" - }, - "interface_description": { - "ignore_above": 1024, - "type": "keyword" - }, - "interface_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "intermediate_process_id": { - "type": "long" - }, - "internal_address_realm": { - "type": "short" - }, - "ip_class_of_service": { - "type": "short" - }, - "ip_diff_serv_code_point": { - "type": "short" - }, - "ip_header_length": { - "type": "short" - }, - "ip_header_packet_section": { - "type": "short" - }, - "ip_next_hop_ipv4_address": { - "type": "ip" - }, - "ip_next_hop_ipv6_address": { - "type": "ip" - }, - "ip_payload_length": { - "type": "long" - }, - "ip_payload_packet_section": { - "type": "short" - }, - "ip_precedence": { - "type": "short" - }, - "ip_sec_spi": { - "type": "long" - }, - "ip_total_length": { - "type": "long" - }, - "ip_ttl": { - "type": "short" - }, - "ip_version": { - "type": "short" - }, - "ipv4_ihl": { - "type": "short" - }, - "ipv4_options": { - "type": "long" - }, - "ipv4_router_sc": { - "type": "ip" - }, - "ipv6_extension_headers": { - "type": "long" - }, - "is_multicast": { - "type": "short" - }, - "layer2_frame_delta_count": { - "type": "long" - }, - "layer2_frame_total_count": { - "type": "long" - }, - "layer2_octet_delta_count": { - "type": "long" - }, - "layer2_octet_delta_sum_of_squares": { - "type": "long" - }, - "layer2_octet_total_count": { - "type": "long" - }, - "layer2_octet_total_sum_of_squares": { - "type": "long" - }, - "layer2_segment_id": { - "type": "long" - }, - "layer2packet_section_data": { - "type": "short" - }, - "layer2packet_section_offset": { - "type": "long" - }, - "layer2packet_section_size": { - "type": "long" - }, - "line_card_id": { - "type": "long" - }, - "lower_cli_imit": { - "type": "double" - }, - "max_bieb_ntries": { - "type": "long" - }, - "max_entries_per_user": { - "type": "long" - }, - "max_export_seconds": { - "type": "date" - }, - "max_flow_end_microseconds": { - "type": "date" - }, - "max_flow_end_milliseconds": { - "type": "date" - }, - "max_flow_end_nanoseconds": { - "type": "date" - }, - "max_flow_end_seconds": { - "type": "date" - }, - "max_fragments_pending_reassembly": { - "type": "long" - }, - "max_session_entries": { - "type": "long" - }, - "max_subscribers": { - "type": "long" - }, - "maximum_ip_total_length": { - "type": "long" - }, - "maximum_layer2_total_length": { - "type": "long" - }, - "maximum_ttl": { - "type": "short" - }, - "message_md5_checksum": { - "type": "short" - }, - "message_scope": { - "type": "short" - }, - "metering_process_id": { - "type": "long" - }, - "metro_evc_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "metro_evc_type": { - "type": "short" - }, - "mib_capture_time_semantics": { - "type": "short" - }, - "mib_context_engine_id": { - "type": "short" - }, - "mib_context_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "mib_index_indicator": { - "type": "long" - }, - "mib_module_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "mib_object_description": { - "ignore_above": 1024, - "type": "keyword" - }, - "mib_object_identifier": { - "type": "short" - }, - "mib_object_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "mib_object_syntax": { - "ignore_above": 1024, - "type": "keyword" - }, - "mib_object_value_bits": { - "type": "short" - }, - "mib_object_value_counter": { - "type": "long" - }, - "mib_object_value_gauge": { - "type": "long" - }, - "mib_object_value_integer": { - "type": "long" - }, - "mib_object_value_octet_string": { - "type": "short" - }, - "mib_object_value_oid": { - "type": "short" - }, - "mib_object_value_time_ticks": { - "type": "long" - }, - "mib_object_value_unsigned": { - "type": "long" - }, - "mib_object_valuei_pa_ddress": { - "type": "ip" - }, - "mib_sub_identifier": { - "type": "long" - }, - "min_export_seconds": { - "type": "date" - }, - "min_flow_start_microseconds": { - "type": "date" - }, - "min_flow_start_milliseconds": { - "type": "date" - }, - "min_flow_start_nanoseconds": { - "type": "date" - }, - "min_flow_start_seconds": { - "type": "date" - }, - "minimum_ip_total_length": { - "type": "long" - }, - "minimum_layer2_total_length": { - "type": "long" - }, - "minimum_ttl": { - "type": "short" - }, - "mobile_imsi": { - "ignore_above": 1024, - "type": "keyword" - }, - "mobile_msisdn": { - "ignore_above": 1024, - "type": "keyword" - }, - "monitoring_interval_end_milli_seconds": { - "type": "date" - }, - "monitoring_interval_start_milli_seconds": { - "type": "date" - }, - "mpls_label_stack_depth": { - "type": "long" - }, - "mpls_label_stack_length": { - "type": "long" - }, - "mpls_label_stack_section": { - "type": "short" - }, - "mpls_label_stack_section10": { - "type": "short" - }, - "mpls_label_stack_section2": { - "type": "short" - }, - "mpls_label_stack_section3": { - "type": "short" - }, - "mpls_label_stack_section4": { - "type": "short" - }, - "mpls_label_stack_section5": { - "type": "short" - }, - "mpls_label_stack_section6": { - "type": "short" - }, - "mpls_label_stack_section7": { - "type": "short" - }, - "mpls_label_stack_section8": { - "type": "short" - }, - "mpls_label_stack_section9": { - "type": "short" - }, - "mpls_payload_length": { - "type": "long" - }, - "mpls_payload_packet_section": { - "type": "short" - }, - "mpls_top_label_exp": { - "type": "short" - }, - "mpls_top_label_ipv4_address": { - "type": "ip" - }, - "mpls_top_label_ipv6_address": { - "type": "ip" - }, - "mpls_top_label_prefix_length": { - "type": "short" - }, - "mpls_top_label_stack_section": { - "type": "short" - }, - "mpls_top_label_ttl": { - "type": "short" - }, - "mpls_top_label_type": { - "type": "short" - }, - "mpls_vpn_route_distinguisher": { - "type": "short" - }, - "multicast_replication_factor": { - "type": "long" - }, - "nat_event": { - "type": "short" - }, - "nat_instance_id": { - "type": "long" - }, - "nat_originating_address_realm": { - "type": "short" - }, - "nat_pool_id": { - "type": "long" - }, - "nat_pool_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "nat_quota_exceeded_event": { - "type": "long" - }, - "nat_threshold_event": { - "type": "long" - }, - "nat_type": { - "type": "short" - }, - "new_connection_delta_count": { - "type": "long" - }, - "next_header_ipv6": { - "type": "short" - }, - "not_sent_flow_total_count": { - "type": "long" - }, - "not_sent_layer2_octet_total_count": { - "type": "long" - }, - "not_sent_octet_total_count": { - "type": "long" - }, - "not_sent_packet_total_count": { - "type": "long" - }, - "observation_domain_id": { - "type": "long" - }, - "observation_domain_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "observation_point_id": { - "type": "long" - }, - "observation_point_type": { - "type": "short" - }, - "observation_time_microseconds": { - "type": "date" - }, - "observation_time_milliseconds": { - "type": "date" - }, - "observation_time_nanoseconds": { - "type": "date" - }, - "observation_time_seconds": { - "type": "date" - }, - "observed_flow_total_count": { - "type": "long" - }, - "octet_delta_count": { - "type": "long" - }, - "octet_delta_sum_of_squares": { - "type": "long" - }, - "octet_total_count": { - "type": "long" - }, - "octet_total_sum_of_squares": { - "type": "long" - }, - "opaque_octets": { - "type": "short" - }, - "original_exporter_ipv4_address": { - "type": "ip" - }, - "original_exporter_ipv6_address": { - "type": "ip" - }, - "original_flows_completed": { - "type": "long" - }, - "original_flows_initiated": { - "type": "long" - }, - "original_flows_present": { - "type": "long" - }, - "original_observation_domain_id": { - "type": "long" - }, - "p2p_technology": { - "ignore_above": 1024, - "type": "keyword" - }, - "packet_delta_count": { - "type": "long" - }, - "packet_total_count": { - "type": "long" - }, - "padding_octets": { - "type": "short" - }, - "payload_length_ipv6": { - "type": "long" - }, - "port_id": { - "type": "long" - }, - "port_range_end": { - "type": "long" - }, - "port_range_num_ports": { - "type": "long" - }, - "port_range_start": { - "type": "long" - }, - "port_range_step_size": { - "type": "long" - }, - "post_destination_mac_address": { - "ignore_above": 1024, - "type": "keyword" - }, - "post_dot1q_customer_vlan_id": { - "type": "long" - }, - "post_dot1q_vlan_id": { - "type": "long" - }, - "post_ip_class_of_service": { - "type": "short" - }, - "post_ip_diff_serv_code_point": { - "type": "short" - }, - "post_ip_precedence": { - "type": "short" - }, - "post_layer2_octet_delta_count": { - "type": "long" - }, - "post_layer2_octet_total_count": { - "type": "long" - }, - "post_mcast_layer2_octet_delta_count": { - "type": "long" - }, - "post_mcast_layer2_octet_total_count": { - "type": "long" - }, - "post_mcast_octet_delta_count": { - "type": "long" - }, - "post_mcast_octet_total_count": { - "type": "long" - }, - "post_mcast_packet_delta_count": { - "type": "long" - }, - "post_mcast_packet_total_count": { - "type": "long" - }, - "post_mpls_top_label_exp": { - "type": "short" - }, - "post_nadt_estination_ipv4_address": { - "type": "ip" - }, - "post_nadt_estination_ipv6_address": { - "type": "ip" - }, - "post_napdt_estination_transport_port": { - "type": "long" - }, - "post_napst_ource_transport_port": { - "type": "long" - }, - "post_nast_ource_ipv4_address": { - "type": "ip" - }, - "post_nast_ource_ipv6_address": { - "type": "ip" - }, - "post_octet_delta_count": { - "type": "long" - }, - "post_octet_total_count": { - "type": "long" - }, - "post_packet_delta_count": { - "type": "long" - }, - "post_packet_total_count": { - "type": "long" - }, - "post_source_mac_address": { - "ignore_above": 1024, - "type": "keyword" - }, - "post_vlan_id": { - "type": "long" - }, - "private_enterprise_number": { - "type": "long" - }, - "protocol_identifier": { - "type": "short" - }, - "pseudo_wire_control_word": { - "type": "long" - }, - "pseudo_wire_destination_ipv4_address": { - "type": "ip" - }, - "pseudo_wire_id": { - "type": "long" - }, - "pseudo_wire_type": { - "type": "long" - }, - "relative_error": { - "type": "double" - }, - "responder_octets": { - "type": "long" - }, - "responder_packets": { - "type": "long" - }, - "rfc3550_jitter_microseconds": { - "type": "long" - }, - "rfc3550_jitter_milliseconds": { - "type": "long" - }, - "rfc3550_jitter_nanoseconds": { - "type": "long" - }, - "rtp_sequence_number": { - "type": "long" - }, - "sampler_id": { - "type": "short" - }, - "sampler_mode": { - "type": "short" - }, - "sampler_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "sampler_random_interval": { - "type": "long" - }, - "sampling_algorithm": { - "type": "short" - }, - "sampling_flow_interval": { - "type": "long" - }, - "sampling_flow_spacing": { - "type": "long" - }, - "sampling_interval": { - "type": "long" - }, - "sampling_packet_interval": { - "type": "long" - }, - "sampling_packet_space": { - "type": "long" - }, - "sampling_population": { - "type": "long" - }, - "sampling_probability": { - "type": "double" - }, - "sampling_size": { - "type": "long" - }, - "sampling_time_interval": { - "type": "long" - }, - "sampling_time_space": { - "type": "long" - }, - "section_exported_octets": { - "type": "long" - }, - "section_offset": { - "type": "long" - }, - "selection_sequence_id": { - "type": "long" - }, - "selector_algorithm": { - "type": "long" - }, - "selector_id": { - "type": "long" - }, - "selector_id_total_pkts_observed": { - "type": "long" - }, - "selector_id_total_pkts_selected": { - "type": "long" - }, - "selector_itd_otal_flows_observed": { - "type": "long" - }, - "selector_itd_otal_flows_selected": { - "type": "long" - }, - "selector_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "session_scope": { - "type": "short" - }, - "source_ipv4_address": { - "type": "ip" - }, - "source_ipv4_prefix": { - "type": "ip" - }, - "source_ipv4_prefix_length": { - "type": "short" - }, - "source_ipv6_address": { - "type": "ip" - }, - "source_ipv6_prefix": { - "type": "ip" - }, - "source_ipv6_prefix_length": { - "type": "short" - }, - "source_mac_address": { - "ignore_above": 1024, - "type": "keyword" - }, - "source_transport_port": { - "type": "long" - }, - "source_transport_ports_limit": { - "type": "long" - }, - "src_traffic_index": { - "type": "long" - }, - "sta_ipv4_address": { - "type": "ip" - }, - "sta_mac_address": { - "ignore_above": 1024, - "type": "keyword" - }, - "system_init_time_milliseconds": { - "type": "date" - }, - "tcp_ack_total_count": { - "type": "long" - }, - "tcp_acknowledgement_number": { - "type": "long" - }, - "tcp_control_bits": { - "type": "long" - }, - "tcp_destination_port": { - "type": "long" - }, - "tcp_fin_total_count": { - "type": "long" - }, - "tcp_header_length": { - "type": "short" - }, - "tcp_options": { - "type": "long" - }, - "tcp_psh_total_count": { - "type": "long" - }, - "tcp_rst_total_count": { - "type": "long" - }, - "tcp_sequence_number": { - "type": "long" - }, - "tcp_source_port": { - "type": "long" - }, - "tcp_syn_total_count": { - "type": "long" - }, - "tcp_urg_total_count": { - "type": "long" - }, - "tcp_urgent_pointer": { - "type": "long" - }, - "tcp_window_scale": { - "type": "long" - }, - "tcp_window_size": { - "type": "long" - }, - "template_id": { - "type": "long" - }, - "total_length_ipv4": { - "type": "long" - }, - "transport_octet_delta_count": { - "type": "long" - }, - "transport_packet_delta_count": { - "type": "long" - }, - "tunnel_technology": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "udp_destination_port": { - "type": "long" - }, - "udp_message_length": { - "type": "long" - }, - "udp_source_port": { - "type": "long" - }, - "upper_cli_imit": { - "type": "double" - }, - "user_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "value_distribution_method": { - "type": "short" - }, - "virtual_station_interface_id": { - "type": "short" - }, - "virtual_station_interface_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "virtual_station_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "virtual_station_uuid": { - "type": "short" - }, - "vlan_id": { - "type": "long" - }, - "vpn_identifier": { - "type": "short" - }, - "vr_fname": { - "ignore_above": 1024, - "type": "keyword" - }, - "wlan_channel_id": { - "type": "short" - }, - "wlan_ssid": { - "ignore_above": 1024, - "type": "keyword" - }, - "wtp_mac_address": { - "ignore_above": 1024, - "type": "keyword" } + }, + "exporter_certificate": { + "type": "short" + }, + "exporter_ipv4_address": { + "type": "ip" + }, + "exporter_ipv6_address": { + "type": "ip" + }, + "exporter_transport_port": { + "type": "long" + }, + "exporting_process_id": { + "type": "long" + }, + "external_address_realm": { + "type": "short" + }, + "firewall_event": { + "type": "short" + }, + "flags_and_sampler_id": { + "type": "long" + }, + "flow_active_timeout": { + "type": "long" + }, + "flow_direction": { + "type": "short" + }, + "flow_duration_microseconds": { + "type": "long" + }, + "flow_duration_milliseconds": { + "type": "long" + }, + "flow_end_delta_microseconds": { + "type": "long" + }, + "flow_end_microseconds": { + "type": "date" + }, + "flow_end_milliseconds": { + "type": "date" + }, + "flow_end_nanoseconds": { + "type": "date" + }, + "flow_end_reason": { + "type": "short" + }, + "flow_end_seconds": { + "type": "date" + }, + "flow_end_sys_up_time": { + "type": "long" + }, + "flow_id": { + "type": "long" + }, + "flow_idle_timeout": { + "type": "long" + }, + "flow_key_indicator": { + "type": "long" + }, + "flow_label_ipv6": { + "type": "long" + }, + "flow_sampling_time_interval": { + "type": "long" + }, + "flow_sampling_time_spacing": { + "type": "long" + }, + "flow_selected_flow_delta_count": { + "type": "long" + }, + "flow_selected_octet_delta_count": { + "type": "long" + }, + "flow_selected_packet_delta_count": { + "type": "long" + }, + "flow_selector_algorithm": { + "type": "long" + }, + "flow_start_delta_microseconds": { + "type": "long" + }, + "flow_start_microseconds": { + "type": "date" + }, + "flow_start_milliseconds": { + "type": "date" + }, + "flow_start_nanoseconds": { + "type": "date" + }, + "flow_start_seconds": { + "type": "date" + }, + "flow_start_sys_up_time": { + "type": "long" + }, + "forwarding_status": { + "type": "short" + }, + "fragment_flags": { + "type": "short" + }, + "fragment_identification": { + "type": "long" + }, + "fragment_offset": { + "type": "long" + }, + "global_address_mapping_high_threshold": { + "type": "long" + }, + "gre_key": { + "type": "long" + }, + "hash_digest_output": { + "type": "boolean" + }, + "hash_flow_domain": { + "type": "long" + }, + "hash_initialiser_value": { + "type": "long" + }, + "hash_ipp_ayload_offset": { + "type": "long" + }, + "hash_ipp_ayload_size": { + "type": "long" + }, + "hash_output_range_max": { + "type": "long" + }, + "hash_output_range_min": { + "type": "long" + }, + "hash_selected_range_max": { + "type": "long" + }, + "hash_selected_range_min": { + "type": "long" + }, + "http_content_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_message_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_reason_phrase": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_request_host": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_request_method": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_request_target": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_status_code": { + "type": "long" + }, + "http_user_agent": { + "ignore_above": 1024, + "type": "keyword" + }, + "icmp_code_ipv4": { + "type": "short" + }, + "icmp_code_ipv6": { + "type": "short" + }, + "icmp_type_code_ipv4": { + "type": "long" + }, + "icmp_type_code_ipv6": { + "type": "long" + }, + "icmp_type_ipv4": { + "type": "short" + }, + "icmp_type_ipv6": { + "type": "short" + }, + "igmp_type": { + "type": "short" + }, + "ignored_data_record_total_count": { + "type": "long" + }, + "ignored_layer2_frame_total_count": { + "type": "long" + }, + "ignored_layer2_octet_total_count": { + "type": "long" + }, + "ignored_octet_total_count": { + "type": "long" + }, + "ignored_packet_total_count": { + "type": "long" + }, + "information_element_data_type": { + "type": "short" + }, + "information_element_description": { + "ignore_above": 1024, + "type": "keyword" + }, + "information_element_id": { + "type": "long" + }, + "information_element_index": { + "type": "long" + }, + "information_element_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "information_element_range_begin": { + "type": "long" + }, + "information_element_range_end": { + "type": "long" + }, + "information_element_semantics": { + "type": "short" + }, + "information_element_units": { + "type": "long" + }, + "ingress_broadcast_packet_total_count": { + "type": "long" + }, + "ingress_interface": { + "type": "long" + }, + "ingress_interface_type": { + "type": "long" + }, + "ingress_multicast_packet_total_count": { + "type": "long" + }, + "ingress_physical_interface": { + "type": "long" + }, + "ingress_unicast_packet_total_count": { + "type": "long" + }, + "ingress_vrfid": { + "type": "long" + }, + "initiator_octets": { + "type": "long" + }, + "initiator_packets": { + "type": "long" + }, + "interface_description": { + "ignore_above": 1024, + "type": "keyword" + }, + "interface_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "intermediate_process_id": { + "type": "long" + }, + "internal_address_realm": { + "type": "short" + }, + "ip_class_of_service": { + "type": "short" + }, + "ip_diff_serv_code_point": { + "type": "short" + }, + "ip_header_length": { + "type": "short" + }, + "ip_header_packet_section": { + "type": "short" + }, + "ip_next_hop_ipv4_address": { + "type": "ip" + }, + "ip_next_hop_ipv6_address": { + "type": "ip" + }, + "ip_payload_length": { + "type": "long" + }, + "ip_payload_packet_section": { + "type": "short" + }, + "ip_precedence": { + "type": "short" + }, + "ip_sec_spi": { + "type": "long" + }, + "ip_total_length": { + "type": "long" + }, + "ip_ttl": { + "type": "short" + }, + "ip_version": { + "type": "short" + }, + "ipv4_ihl": { + "type": "short" + }, + "ipv4_options": { + "type": "long" + }, + "ipv4_router_sc": { + "type": "ip" + }, + "ipv6_extension_headers": { + "type": "long" + }, + "is_multicast": { + "type": "short" + }, + "layer2_frame_delta_count": { + "type": "long" + }, + "layer2_frame_total_count": { + "type": "long" + }, + "layer2_octet_delta_count": { + "type": "long" + }, + "layer2_octet_delta_sum_of_squares": { + "type": "long" + }, + "layer2_octet_total_count": { + "type": "long" + }, + "layer2_octet_total_sum_of_squares": { + "type": "long" + }, + "layer2_segment_id": { + "type": "long" + }, + "layer2packet_section_data": { + "type": "short" + }, + "layer2packet_section_offset": { + "type": "long" + }, + "layer2packet_section_size": { + "type": "long" + }, + "line_card_id": { + "type": "long" + }, + "lower_cli_imit": { + "type": "double" + }, + "max_bieb_ntries": { + "type": "long" + }, + "max_entries_per_user": { + "type": "long" + }, + "max_export_seconds": { + "type": "date" + }, + "max_flow_end_microseconds": { + "type": "date" + }, + "max_flow_end_milliseconds": { + "type": "date" + }, + "max_flow_end_nanoseconds": { + "type": "date" + }, + "max_flow_end_seconds": { + "type": "date" + }, + "max_fragments_pending_reassembly": { + "type": "long" + }, + "max_session_entries": { + "type": "long" + }, + "max_subscribers": { + "type": "long" + }, + "maximum_ip_total_length": { + "type": "long" + }, + "maximum_layer2_total_length": { + "type": "long" + }, + "maximum_ttl": { + "type": "short" + }, + "message_md5_checksum": { + "type": "short" + }, + "message_scope": { + "type": "short" + }, + "metering_process_id": { + "type": "long" + }, + "metro_evc_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "metro_evc_type": { + "type": "short" + }, + "mib_capture_time_semantics": { + "type": "short" + }, + "mib_context_engine_id": { + "type": "short" + }, + "mib_context_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "mib_index_indicator": { + "type": "long" + }, + "mib_module_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "mib_object_description": { + "ignore_above": 1024, + "type": "keyword" + }, + "mib_object_identifier": { + "type": "short" + }, + "mib_object_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "mib_object_syntax": { + "ignore_above": 1024, + "type": "keyword" + }, + "mib_object_value_bits": { + "type": "short" + }, + "mib_object_value_counter": { + "type": "long" + }, + "mib_object_value_gauge": { + "type": "long" + }, + "mib_object_value_integer": { + "type": "long" + }, + "mib_object_value_octet_string": { + "type": "short" + }, + "mib_object_value_oid": { + "type": "short" + }, + "mib_object_value_time_ticks": { + "type": "long" + }, + "mib_object_value_unsigned": { + "type": "long" + }, + "mib_object_valuei_pa_ddress": { + "type": "ip" + }, + "mib_sub_identifier": { + "type": "long" + }, + "min_export_seconds": { + "type": "date" + }, + "min_flow_start_microseconds": { + "type": "date" + }, + "min_flow_start_milliseconds": { + "type": "date" + }, + "min_flow_start_nanoseconds": { + "type": "date" + }, + "min_flow_start_seconds": { + "type": "date" + }, + "minimum_ip_total_length": { + "type": "long" + }, + "minimum_layer2_total_length": { + "type": "long" + }, + "minimum_ttl": { + "type": "short" + }, + "mobile_imsi": { + "ignore_above": 1024, + "type": "keyword" + }, + "mobile_msisdn": { + "ignore_above": 1024, + "type": "keyword" + }, + "monitoring_interval_end_milli_seconds": { + "type": "date" + }, + "monitoring_interval_start_milli_seconds": { + "type": "date" + }, + "mpls_label_stack_depth": { + "type": "long" + }, + "mpls_label_stack_length": { + "type": "long" + }, + "mpls_label_stack_section": { + "type": "short" + }, + "mpls_label_stack_section10": { + "type": "short" + }, + "mpls_label_stack_section2": { + "type": "short" + }, + "mpls_label_stack_section3": { + "type": "short" + }, + "mpls_label_stack_section4": { + "type": "short" + }, + "mpls_label_stack_section5": { + "type": "short" + }, + "mpls_label_stack_section6": { + "type": "short" + }, + "mpls_label_stack_section7": { + "type": "short" + }, + "mpls_label_stack_section8": { + "type": "short" + }, + "mpls_label_stack_section9": { + "type": "short" + }, + "mpls_payload_length": { + "type": "long" + }, + "mpls_payload_packet_section": { + "type": "short" + }, + "mpls_top_label_exp": { + "type": "short" + }, + "mpls_top_label_ipv4_address": { + "type": "ip" + }, + "mpls_top_label_ipv6_address": { + "type": "ip" + }, + "mpls_top_label_prefix_length": { + "type": "short" + }, + "mpls_top_label_stack_section": { + "type": "short" + }, + "mpls_top_label_ttl": { + "type": "short" + }, + "mpls_top_label_type": { + "type": "short" + }, + "mpls_vpn_route_distinguisher": { + "type": "short" + }, + "multicast_replication_factor": { + "type": "long" + }, + "nat_event": { + "type": "short" + }, + "nat_instance_id": { + "type": "long" + }, + "nat_originating_address_realm": { + "type": "short" + }, + "nat_pool_id": { + "type": "long" + }, + "nat_pool_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "nat_quota_exceeded_event": { + "type": "long" + }, + "nat_threshold_event": { + "type": "long" + }, + "nat_type": { + "type": "short" + }, + "new_connection_delta_count": { + "type": "long" + }, + "next_header_ipv6": { + "type": "short" + }, + "not_sent_flow_total_count": { + "type": "long" + }, + "not_sent_layer2_octet_total_count": { + "type": "long" + }, + "not_sent_octet_total_count": { + "type": "long" + }, + "not_sent_packet_total_count": { + "type": "long" + }, + "observation_domain_id": { + "type": "long" + }, + "observation_domain_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "observation_point_id": { + "type": "long" + }, + "observation_point_type": { + "type": "short" + }, + "observation_time_microseconds": { + "type": "date" + }, + "observation_time_milliseconds": { + "type": "date" + }, + "observation_time_nanoseconds": { + "type": "date" + }, + "observation_time_seconds": { + "type": "date" + }, + "observed_flow_total_count": { + "type": "long" + }, + "octet_delta_count": { + "type": "long" + }, + "octet_delta_sum_of_squares": { + "type": "long" + }, + "octet_total_count": { + "type": "long" + }, + "octet_total_sum_of_squares": { + "type": "long" + }, + "opaque_octets": { + "type": "short" + }, + "original_exporter_ipv4_address": { + "type": "ip" + }, + "original_exporter_ipv6_address": { + "type": "ip" + }, + "original_flows_completed": { + "type": "long" + }, + "original_flows_initiated": { + "type": "long" + }, + "original_flows_present": { + "type": "long" + }, + "original_observation_domain_id": { + "type": "long" + }, + "p2p_technology": { + "ignore_above": 1024, + "type": "keyword" + }, + "packet_delta_count": { + "type": "long" + }, + "packet_total_count": { + "type": "long" + }, + "padding_octets": { + "type": "short" + }, + "payload_length_ipv6": { + "type": "long" + }, + "port_id": { + "type": "long" + }, + "port_range_end": { + "type": "long" + }, + "port_range_num_ports": { + "type": "long" + }, + "port_range_start": { + "type": "long" + }, + "port_range_step_size": { + "type": "long" + }, + "post_destination_mac_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "post_dot1q_customer_vlan_id": { + "type": "long" + }, + "post_dot1q_vlan_id": { + "type": "long" + }, + "post_ip_class_of_service": { + "type": "short" + }, + "post_ip_diff_serv_code_point": { + "type": "short" + }, + "post_ip_precedence": { + "type": "short" + }, + "post_layer2_octet_delta_count": { + "type": "long" + }, + "post_layer2_octet_total_count": { + "type": "long" + }, + "post_mcast_layer2_octet_delta_count": { + "type": "long" + }, + "post_mcast_layer2_octet_total_count": { + "type": "long" + }, + "post_mcast_octet_delta_count": { + "type": "long" + }, + "post_mcast_octet_total_count": { + "type": "long" + }, + "post_mcast_packet_delta_count": { + "type": "long" + }, + "post_mcast_packet_total_count": { + "type": "long" + }, + "post_mpls_top_label_exp": { + "type": "short" + }, + "post_nadt_estination_ipv4_address": { + "type": "ip" + }, + "post_nadt_estination_ipv6_address": { + "type": "ip" + }, + "post_napdt_estination_transport_port": { + "type": "long" + }, + "post_napst_ource_transport_port": { + "type": "long" + }, + "post_nast_ource_ipv4_address": { + "type": "ip" + }, + "post_nast_ource_ipv6_address": { + "type": "ip" + }, + "post_octet_delta_count": { + "type": "long" + }, + "post_octet_total_count": { + "type": "long" + }, + "post_packet_delta_count": { + "type": "long" + }, + "post_packet_total_count": { + "type": "long" + }, + "post_source_mac_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "post_vlan_id": { + "type": "long" + }, + "private_enterprise_number": { + "type": "long" + }, + "protocol_identifier": { + "type": "short" + }, + "pseudo_wire_control_word": { + "type": "long" + }, + "pseudo_wire_destination_ipv4_address": { + "type": "ip" + }, + "pseudo_wire_id": { + "type": "long" + }, + "pseudo_wire_type": { + "type": "long" + }, + "relative_error": { + "type": "double" + }, + "responder_octets": { + "type": "long" + }, + "responder_packets": { + "type": "long" + }, + "rfc3550_jitter_microseconds": { + "type": "long" + }, + "rfc3550_jitter_milliseconds": { + "type": "long" + }, + "rfc3550_jitter_nanoseconds": { + "type": "long" + }, + "rtp_sequence_number": { + "type": "long" + }, + "sampler_id": { + "type": "short" + }, + "sampler_mode": { + "type": "short" + }, + "sampler_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "sampler_random_interval": { + "type": "long" + }, + "sampling_algorithm": { + "type": "short" + }, + "sampling_flow_interval": { + "type": "long" + }, + "sampling_flow_spacing": { + "type": "long" + }, + "sampling_interval": { + "type": "long" + }, + "sampling_packet_interval": { + "type": "long" + }, + "sampling_packet_space": { + "type": "long" + }, + "sampling_population": { + "type": "long" + }, + "sampling_probability": { + "type": "double" + }, + "sampling_size": { + "type": "long" + }, + "sampling_time_interval": { + "type": "long" + }, + "sampling_time_space": { + "type": "long" + }, + "section_exported_octets": { + "type": "long" + }, + "section_offset": { + "type": "long" + }, + "selection_sequence_id": { + "type": "long" + }, + "selector_algorithm": { + "type": "long" + }, + "selector_id": { + "type": "long" + }, + "selector_id_total_pkts_observed": { + "type": "long" + }, + "selector_id_total_pkts_selected": { + "type": "long" + }, + "selector_itd_otal_flows_observed": { + "type": "long" + }, + "selector_itd_otal_flows_selected": { + "type": "long" + }, + "selector_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "session_scope": { + "type": "short" + }, + "source_ipv4_address": { + "type": "ip" + }, + "source_ipv4_prefix": { + "type": "ip" + }, + "source_ipv4_prefix_length": { + "type": "short" + }, + "source_ipv6_address": { + "type": "ip" + }, + "source_ipv6_prefix": { + "type": "ip" + }, + "source_ipv6_prefix_length": { + "type": "short" + }, + "source_mac_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "source_transport_port": { + "type": "long" + }, + "source_transport_ports_limit": { + "type": "long" + }, + "src_traffic_index": { + "type": "long" + }, + "sta_ipv4_address": { + "type": "ip" + }, + "sta_mac_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "system_init_time_milliseconds": { + "type": "date" + }, + "tcp_ack_total_count": { + "type": "long" + }, + "tcp_acknowledgement_number": { + "type": "long" + }, + "tcp_control_bits": { + "type": "long" + }, + "tcp_destination_port": { + "type": "long" + }, + "tcp_fin_total_count": { + "type": "long" + }, + "tcp_header_length": { + "type": "short" + }, + "tcp_options": { + "type": "long" + }, + "tcp_psh_total_count": { + "type": "long" + }, + "tcp_rst_total_count": { + "type": "long" + }, + "tcp_sequence_number": { + "type": "long" + }, + "tcp_source_port": { + "type": "long" + }, + "tcp_syn_total_count": { + "type": "long" + }, + "tcp_urg_total_count": { + "type": "long" + }, + "tcp_urgent_pointer": { + "type": "long" + }, + "tcp_window_scale": { + "type": "long" + }, + "tcp_window_size": { + "type": "long" + }, + "template_id": { + "type": "long" + }, + "total_length_ipv4": { + "type": "long" + }, + "transport_octet_delta_count": { + "type": "long" + }, + "transport_packet_delta_count": { + "type": "long" + }, + "tunnel_technology": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "udp_destination_port": { + "type": "long" + }, + "udp_message_length": { + "type": "long" + }, + "udp_source_port": { + "type": "long" + }, + "upper_cli_imit": { + "type": "double" + }, + "user_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "value_distribution_method": { + "type": "short" + }, + "virtual_station_interface_id": { + "type": "short" + }, + "virtual_station_interface_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "virtual_station_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "virtual_station_uuid": { + "type": "short" + }, + "vlan_id": { + "type": "long" + }, + "vpn_identifier": { + "type": "short" + }, + "vr_fname": { + "ignore_above": 1024, + "type": "keyword" + }, + "wlan_channel_id": { + "type": "short" + }, + "wlan_ssid": { + "ignore_above": 1024, + "type": "keyword" + }, + "wtp_mac_address": { + "ignore_above": 1024, + "type": "keyword" } - }, - "network": { - "properties": { - "application": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes": { - "type": "long" - }, - "community_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "direction": { - "ignore_above": 1024, - "type": "keyword" - }, - "forwarded_ip": { - "type": "ip" - }, - "iana_number": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "packets": { - "type": "long" - }, - "protocol": { - "ignore_above": 1024, - "type": "keyword" - }, - "transport": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "network": { + "properties": { + "application": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "community_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "direction": { + "ignore_above": 1024, + "type": "keyword" + }, + "forwarded_ip": { + "type": "ip" + }, + "iana_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "protocol": { + "ignore_above": 1024, + "type": "keyword" + }, + "transport": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "nginx": { - "properties": { - "access": { - "properties": { - "agent": { - "path": "user_agent.original", - "type": "alias" - }, - "body_sent": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "geoip": { - "properties": { - "city_name": { - "path": "source.geo.city_name", - "type": "alias" - }, - "continent_name": { - "path": "source.geo.continent_name", - "type": "alias" - }, - "country_iso_code": { - "path": "source.geo.country_iso_code", - "type": "alias" - }, - "location": { - "path": "source.geo.location", - "type": "alias" - }, - "region_iso_code": { - "path": "source.geo.region_iso_code", - "type": "alias" - }, - "region_name": { - "path": "source.geo.region_name", - "type": "alias" - } - } - }, - "http_version": { - "path": "http.version", - "type": "alias" - }, - "method": { - "path": "http.request.method", - "type": "alias" - }, - "referrer": { - "path": "http.request.referrer", - "type": "alias" - }, - "remote_ip": { - "path": "source.ip", - "type": "alias" - }, - "remote_ip_list": { - "path": "network.forwarded_ip", - "type": "alias" - }, - "response_code": { - "path": "http.response.status_code", - "type": "alias" - }, - "url": { - "path": "url.original", - "type": "alias" - }, - "user_agent": { - "properties": { - "device": { - "path": "user_agent.device", - "type": "alias" - }, - "major": { - "path": "user_agent.major", - "type": "alias" - }, - "minor": { - "path": "user_agent.minor", - "type": "alias" - }, - "name": { - "path": "user_agent.name", - "type": "alias" - }, - "original": { - "path": "user_agent.original", - "type": "alias" - }, - "os": { - "path": "user_agent.os.full_name", - "type": "alias" - }, - "os_major": { - "path": "user_agent.os.major", - "type": "alias" - }, - "os_minor": { - "path": "user_agent.os.minor", - "type": "alias" - }, - "os_name": { - "path": "user_agent.os.name", - "type": "alias" - }, - "patch": { - "path": "user_agent.patch", - "type": "alias" - } - } - }, - "user_name": { - "path": "user.name", - "type": "alias" + } + }, + "nginx": { + "properties": { + "access": { + "properties": { + "agent": { + "path": "user_agent.original", + "type": "alias" + }, + "body_sent": { + "properties": { + "bytes": { + "type": "long" + } } - } - }, - "error": { - "properties": { - "connection_id": { - "type": "long" - }, - "level": { - "path": "log.level", - "type": "alias" - }, - "message": { - "path": "message", - "type": "alias" - }, - "pid": { - "path": "process.pid", - "type": "alias" - }, - "tid": { - "path": "process.thread.id", - "type": "alias" + }, + "geoip": { + "properties": { + "city_name": { + "path": "source.geo.city_name", + "type": "alias" + }, + "continent_name": { + "path": "source.geo.continent_name", + "type": "alias" + }, + "country_iso_code": { + "path": "source.geo.country_iso_code", + "type": "alias" + }, + "location": { + "path": "source.geo.location", + "type": "alias" + }, + "region_iso_code": { + "path": "source.geo.region_iso_code", + "type": "alias" + }, + "region_name": { + "path": "source.geo.region_name", + "type": "alias" + } + } + }, + "http_version": { + "path": "http.version", + "type": "alias" + }, + "method": { + "path": "http.request.method", + "type": "alias" + }, + "referrer": { + "path": "http.request.referrer", + "type": "alias" + }, + "remote_ip": { + "path": "source.ip", + "type": "alias" + }, + "remote_ip_list": { + "path": "network.forwarded_ip", + "type": "alias" + }, + "response_code": { + "path": "http.response.status_code", + "type": "alias" + }, + "url": { + "path": "url.original", + "type": "alias" + }, + "user_agent": { + "properties": { + "device": { + "path": "user_agent.device", + "type": "alias" + }, + "major": { + "path": "user_agent.major", + "type": "alias" + }, + "minor": { + "path": "user_agent.minor", + "type": "alias" + }, + "name": { + "path": "user_agent.name", + "type": "alias" + }, + "original": { + "path": "user_agent.original", + "type": "alias" + }, + "os": { + "path": "user_agent.os.full_name", + "type": "alias" + }, + "os_major": { + "path": "user_agent.os.major", + "type": "alias" + }, + "os_minor": { + "path": "user_agent.os.minor", + "type": "alias" + }, + "os_name": { + "path": "user_agent.os.name", + "type": "alias" + }, + "patch": { + "path": "user_agent.patch", + "type": "alias" + } } + }, + "user_name": { + "path": "user.name", + "type": "alias" + } + } + }, + "error": { + "properties": { + "connection_id": { + "type": "long" + }, + "level": { + "path": "log.level", + "type": "alias" + }, + "message": { + "path": "message", + "type": "alias" + }, + "pid": { + "path": "process.pid", + "type": "alias" + }, + "tid": { + "path": "process.thread.id", + "type": "alias" } } } - }, - "observer": { - "properties": { - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "observer": { + "properties": { + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "properties": { - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "ignore_above": 1024, - "type": "keyword" - }, - "kernel": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "platform": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "serial_number": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "vendor": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "vendor": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "organization": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "organization": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "os": { - "properties": { - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "ignore_above": 1024, - "type": "keyword" - }, - "kernel": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "platform": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "osquery": { - "properties": { - "result": { - "properties": { - "action": { - "ignore_above": 1024, - "type": "keyword" - }, - "calendar_time": { - "ignore_above": 1024, - "type": "keyword" - }, - "host_identifier": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "unix_time": { - "type": "long" - } + } + }, + "osquery": { + "properties": { + "result": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "calendar_time": { + "ignore_above": 1024, + "type": "keyword" + }, + "host_identifier": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "unix_time": { + "type": "long" } } } - }, - "postgresql": { - "properties": { - "log": { - "properties": { - "core_id": { - "type": "long" - }, - "database": { - "ignore_above": 1024, - "type": "keyword" - }, - "duration": { - "type": "float" - }, - "level": { - "path": "log.level", - "type": "alias" - }, - "message": { - "path": "message", - "type": "alias" - }, - "query": { - "ignore_above": 1024, - "type": "keyword" - }, - "thread_id": { - "path": "process.pid", - "type": "alias" - }, - "timestamp": { - "ignore_above": 1024, - "type": "keyword" - }, - "timezone": { - "path": "event.timezone", - "type": "alias" - }, - "user": { - "path": "user.name", - "type": "alias" - } + } + }, + "postgresql": { + "properties": { + "log": { + "properties": { + "core_id": { + "type": "long" + }, + "database": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "float" + }, + "level": { + "path": "log.level", + "type": "alias" + }, + "message": { + "path": "message", + "type": "alias" + }, + "query": { + "ignore_above": 1024, + "type": "keyword" + }, + "thread_id": { + "path": "process.pid", + "type": "alias" + }, + "timestamp": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "path": "event.timezone", + "type": "alias" + }, + "user": { + "path": "user.name", + "type": "alias" } } } - }, - "process": { - "properties": { - "args": { - "ignore_above": 1024, - "type": "keyword" - }, - "exe": { - "path": "process.executable", - "type": "alias" - }, - "executable": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "pid": { - "type": "long" - }, - "ppid": { - "type": "long" - }, - "program": { - "ignore_above": 1024, - "type": "keyword" - }, - "start": { - "type": "date" - }, - "thread": { - "properties": { - "id": { - "type": "long" - } + } + }, + "process": { + "properties": { + "args": { + "ignore_above": 1024, + "type": "keyword" + }, + "exe": { + "path": "process.executable", + "type": "alias" + }, + "executable": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "pid": { + "type": "long" + }, + "ppid": { + "type": "long" + }, + "program": { + "ignore_above": 1024, + "type": "keyword" + }, + "start": { + "type": "date" + }, + "thread": { + "properties": { + "id": { + "type": "long" } - }, - "title": { - "ignore_above": 1024, - "type": "keyword" - }, - "working_directory": { - "ignore_above": 1024, - "type": "keyword" } + }, + "title": { + "ignore_above": 1024, + "type": "keyword" + }, + "working_directory": { + "ignore_above": 1024, + "type": "keyword" } - }, - "read_timestamp": { - "ignore_above": 1024, - "type": "keyword" - }, - "redis": { - "properties": { - "log": { - "properties": { - "level": { - "path": "log.level", - "type": "alias" - }, - "message": { - "path": "message", - "type": "alias" - }, - "pid": { - "path": "process.pid", - "type": "alias" - }, - "role": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "read_timestamp": { + "ignore_above": 1024, + "type": "keyword" + }, + "redis": { + "properties": { + "log": { + "properties": { + "level": { + "path": "log.level", + "type": "alias" + }, + "message": { + "path": "message", + "type": "alias" + }, + "pid": { + "path": "process.pid", + "type": "alias" + }, + "role": { + "ignore_above": 1024, + "type": "keyword" } - }, - "slowlog": { - "properties": { - "args": { - "ignore_above": 1024, - "type": "keyword" - }, - "cmd": { - "ignore_above": 1024, - "type": "keyword" - }, - "duration": { - "properties": { - "us": { - "type": "long" - } - } - }, - "id": { - "type": "long" - }, - "key": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "slowlog": { + "properties": { + "args": { + "ignore_above": 1024, + "type": "keyword" + }, + "cmd": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "properties": { + "us": { + "type": "long" + } } + }, + "id": { + "type": "long" + }, + "key": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "related": { - "properties": { - "ip": { - "type": "ip" - } + } + }, + "related": { + "properties": { + "ip": { + "type": "ip" } - }, - "santa": { - "properties": { - "action": { - "ignore_above": 1024, - "type": "keyword" - }, - "decision": { - "ignore_above": 1024, - "type": "keyword" - }, - "disk": { - "properties": { - "bsdname": { - "ignore_above": 1024, - "type": "keyword" - }, - "bus": { - "ignore_above": 1024, - "type": "keyword" - }, - "fs": { - "ignore_above": 1024, - "type": "keyword" - }, - "model": { - "ignore_above": 1024, - "type": "keyword" - }, - "mount": { - "ignore_above": 1024, - "type": "keyword" - }, - "serial": { - "ignore_above": 1024, - "type": "keyword" - }, - "volume": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "santa": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "decision": { + "ignore_above": 1024, + "type": "keyword" + }, + "disk": { + "properties": { + "bsdname": { + "ignore_above": 1024, + "type": "keyword" + }, + "bus": { + "ignore_above": 1024, + "type": "keyword" + }, + "fs": { + "ignore_above": 1024, + "type": "keyword" + }, + "model": { + "ignore_above": 1024, + "type": "keyword" + }, + "mount": { + "ignore_above": 1024, + "type": "keyword" + }, + "serial": { + "ignore_above": 1024, + "type": "keyword" + }, + "volume": { + "ignore_above": 1024, + "type": "keyword" } - }, - "mode": { - "ignore_above": 1024, - "type": "keyword" - }, - "reason": { - "ignore_above": 1024, - "type": "keyword" } + }, + "mode": { + "ignore_above": 1024, + "type": "keyword" + }, + "reason": { + "ignore_above": 1024, + "type": "keyword" } - }, - "server": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes": { - "type": "long" - }, - "domain": { - "ignore_above": 1024, - "type": "keyword" - }, - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "server": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "packets": { - "type": "long" - }, - "port": { - "type": "long" } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" } - }, - "service": { - "properties": { - "ephemeral_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "service": { + "properties": { + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "source": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes": { - "type": "long" - }, - "domain": { - "ignore_above": 1024, - "type": "keyword" - }, - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "source": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "packets": { - "type": "long" - }, - "port": { - "type": "long" } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" } - }, - "stream": { - "ignore_above": 1024, - "type": "keyword" - }, - "suricata": { - "properties": { - "eve": { - "properties": { - "alert": { - "properties": { - "action": { - "ignore_above": 1024, - "type": "keyword" - }, - "category": { - "ignore_above": 1024, - "type": "keyword" - }, - "gid": { - "type": "long" - }, - "rev": { - "type": "long" - }, - "severity": { - "type": "long" - }, - "signature": { - "ignore_above": 1024, - "type": "keyword" - }, - "signature_id": { - "type": "long" - } - } - }, - "app_proto": { - "ignore_above": 1024, - "type": "keyword" - }, - "app_proto_expected": { - "ignore_above": 1024, - "type": "keyword" - }, - "app_proto_orig": { - "ignore_above": 1024, - "type": "keyword" - }, - "app_proto_tc": { - "ignore_above": 1024, - "type": "keyword" - }, - "app_proto_ts": { - "ignore_above": 1024, - "type": "keyword" - }, - "dest_ip": { - "type": "ip" - }, - "dest_port": { - "type": "long" - }, - "dns": { - "properties": { - "id": { - "type": "long" - }, - "rcode": { - "ignore_above": 1024, - "type": "keyword" - }, - "rdata": { - "ignore_above": 1024, - "type": "keyword" - }, - "rrname": { - "ignore_above": 1024, - "type": "keyword" - }, - "rrtype": { - "ignore_above": 1024, - "type": "keyword" - }, - "ttl": { - "type": "long" - }, - "tx_id": { - "type": "long" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "email": { - "properties": { - "status": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "event_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "fileinfo": { - "properties": { - "filename": { - "ignore_above": 1024, - "type": "keyword" - }, - "gaps": { - "type": "boolean" - }, - "md5": { - "ignore_above": 1024, - "type": "keyword" - }, - "sha1": { - "ignore_above": 1024, - "type": "keyword" - }, - "sha256": { - "ignore_above": 1024, - "type": "keyword" - }, - "size": { - "type": "long" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "stored": { - "type": "boolean" - }, - "tx_id": { - "type": "long" - } - } - }, - "flags": { - "type": "object" - }, - "flow": { - "properties": { - "age": { - "type": "long" - }, - "alerted": { - "type": "boolean" - }, - "bytes_toclient": { - "type": "long" - }, - "bytes_toserver": { - "type": "long" - }, - "end": { - "type": "date" - }, - "pkts_toclient": { - "type": "long" - }, - "pkts_toserver": { - "type": "long" - }, - "reason": { - "ignore_above": 1024, - "type": "keyword" - }, - "start": { - "type": "date" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "flow_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "http": { - "properties": { - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_content_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_method": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_refer": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_user_agent": { - "ignore_above": 1024, - "type": "keyword" - }, - "length": { - "type": "long" - }, - "protocol": { - "ignore_above": 1024, - "type": "keyword" - }, - "redirect": { - "ignore_above": 1024, - "type": "keyword" - }, - "status": { - "type": "long" - }, - "url": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "icmp_code": { - "type": "long" - }, - "icmp_type": { - "type": "long" - }, - "in_iface": { - "ignore_above": 1024, - "type": "keyword" - }, - "pcap_cnt": { - "type": "long" - }, - "proto": { - "ignore_above": 1024, - "type": "keyword" - }, - "smtp": { - "properties": { - "helo": { - "ignore_above": 1024, - "type": "keyword" - }, - "mail_from": { - "ignore_above": 1024, - "type": "keyword" - }, - "rcpt_to": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "src_ip": { - "type": "ip" - }, - "src_port": { - "type": "long" - }, - "ssh": { - "properties": { - "client": { - "properties": { - "proto_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "software_version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "server": { - "properties": { - "proto_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "software_version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "stream": { + "ignore_above": 1024, + "type": "keyword" + }, + "suricata": { + "properties": { + "eve": { + "properties": { + "alert": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "category": { + "ignore_above": 1024, + "type": "keyword" + }, + "gid": { + "type": "long" + }, + "rev": { + "type": "long" + }, + "severity": { + "type": "long" + }, + "signature": { + "ignore_above": 1024, + "type": "keyword" + }, + "signature_id": { + "type": "long" + } + } + }, + "app_proto": { + "ignore_above": 1024, + "type": "keyword" + }, + "app_proto_expected": { + "ignore_above": 1024, + "type": "keyword" + }, + "app_proto_orig": { + "ignore_above": 1024, + "type": "keyword" + }, + "app_proto_tc": { + "ignore_above": 1024, + "type": "keyword" + }, + "app_proto_ts": { + "ignore_above": 1024, + "type": "keyword" + }, + "dest_ip": { + "type": "ip" + }, + "dest_port": { + "type": "long" + }, + "dns": { + "properties": { + "id": { + "type": "long" + }, + "rcode": { + "ignore_above": 1024, + "type": "keyword" + }, + "rdata": { + "ignore_above": 1024, + "type": "keyword" + }, + "rrname": { + "ignore_above": 1024, + "type": "keyword" + }, + "rrtype": { + "ignore_above": 1024, + "type": "keyword" + }, + "ttl": { + "type": "long" + }, + "tx_id": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "email": { + "properties": { + "status": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "event_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "fileinfo": { + "properties": { + "filename": { + "ignore_above": 1024, + "type": "keyword" + }, + "gaps": { + "type": "boolean" + }, + "md5": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "sha256": { + "ignore_above": 1024, + "type": "keyword" + }, + "size": { + "type": "long" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "stored": { + "type": "boolean" + }, + "tx_id": { + "type": "long" + } + } + }, + "flags": { + "type": "object" + }, + "flow": { + "properties": { + "age": { + "type": "long" + }, + "alerted": { + "type": "boolean" + }, + "bytes_toclient": { + "type": "long" + }, + "bytes_toserver": { + "type": "long" + }, + "end": { + "type": "date" + }, + "pkts_toclient": { + "type": "long" + }, + "pkts_toserver": { + "type": "long" + }, + "reason": { + "ignore_above": 1024, + "type": "keyword" + }, + "start": { + "type": "date" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "flow_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "http": { + "properties": { + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_content_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_method": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_refer": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_user_agent": { + "ignore_above": 1024, + "type": "keyword" + }, + "length": { + "type": "long" + }, + "protocol": { + "ignore_above": 1024, + "type": "keyword" + }, + "redirect": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "type": "long" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "icmp_code": { + "type": "long" + }, + "icmp_type": { + "type": "long" + }, + "in_iface": { + "ignore_above": 1024, + "type": "keyword" + }, + "pcap_cnt": { + "type": "long" + }, + "proto": { + "ignore_above": 1024, + "type": "keyword" + }, + "smtp": { + "properties": { + "helo": { + "ignore_above": 1024, + "type": "keyword" + }, + "mail_from": { + "ignore_above": 1024, + "type": "keyword" + }, + "rcpt_to": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "src_ip": { + "type": "ip" + }, + "src_port": { + "type": "long" + }, + "ssh": { + "properties": { + "client": { + "properties": { + "proto_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "software_version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "server": { + "properties": { + "proto_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "software_version": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "stats": { - "properties": { - "app_layer": { - "properties": { - "flow": { - "properties": { - "dcerpc_tcp": { - "type": "long" - }, - "dcerpc_udp": { - "type": "long" - }, - "dns_tcp": { - "type": "long" - }, - "dns_udp": { - "type": "long" - }, - "failed_tcp": { - "type": "long" - }, - "failed_udp": { - "type": "long" - }, - "ftp": { - "type": "long" - }, - "http": { - "type": "long" - }, - "imap": { - "type": "long" - }, - "msn": { - "type": "long" - }, - "smb": { - "type": "long" - }, - "smtp": { - "type": "long" - }, - "ssh": { - "type": "long" - }, - "tls": { - "type": "long" - } - } - }, - "tx": { - "properties": { - "dcerpc_tcp": { - "type": "long" - }, - "dcerpc_udp": { - "type": "long" - }, - "dns_tcp": { - "type": "long" - }, - "dns_udp": { - "type": "long" - }, - "ftp": { - "type": "long" - }, - "http": { - "type": "long" - }, - "smb": { - "type": "long" - }, - "smtp": { - "type": "long" - }, - "ssh": { - "type": "long" - }, - "tls": { - "type": "long" - } + } + }, + "stats": { + "properties": { + "app_layer": { + "properties": { + "flow": { + "properties": { + "dcerpc_tcp": { + "type": "long" + }, + "dcerpc_udp": { + "type": "long" + }, + "dns_tcp": { + "type": "long" + }, + "dns_udp": { + "type": "long" + }, + "failed_tcp": { + "type": "long" + }, + "failed_udp": { + "type": "long" + }, + "ftp": { + "type": "long" + }, + "http": { + "type": "long" + }, + "imap": { + "type": "long" + }, + "msn": { + "type": "long" + }, + "smb": { + "type": "long" + }, + "smtp": { + "type": "long" + }, + "ssh": { + "type": "long" + }, + "tls": { + "type": "long" } } - } - }, - "capture": { - "properties": { - "kernel_drops": { - "type": "long" - }, - "kernel_ifdrops": { - "type": "long" - }, - "kernel_packets": { - "type": "long" - } - } - }, - "decoder": { - "properties": { - "avg_pkt_size": { - "type": "long" - }, - "bytes": { - "type": "long" - }, - "dce": { - "properties": { - "pkt_too_small": { - "type": "long" - } - } - }, - "erspan": { - "type": "long" - }, - "ethernet": { - "type": "long" - }, - "gre": { - "type": "long" - }, - "icmpv4": { - "type": "long" - }, - "icmpv6": { - "type": "long" - }, - "ieee8021ah": { - "type": "long" - }, - "invalid": { - "type": "long" - }, - "ipraw": { - "properties": { - "invalid_ip_version": { - "type": "long" - } + }, + "tx": { + "properties": { + "dcerpc_tcp": { + "type": "long" + }, + "dcerpc_udp": { + "type": "long" + }, + "dns_tcp": { + "type": "long" + }, + "dns_udp": { + "type": "long" + }, + "ftp": { + "type": "long" + }, + "http": { + "type": "long" + }, + "smb": { + "type": "long" + }, + "smtp": { + "type": "long" + }, + "ssh": { + "type": "long" + }, + "tls": { + "type": "long" } - }, - "ipv4": { - "type": "long" - }, - "ipv4_in_ipv6": { - "type": "long" - }, - "ipv6": { - "type": "long" - }, - "ipv6_in_ipv6": { - "type": "long" - }, - "ltnull": { - "properties": { - "pkt_too_small": { - "type": "long" - }, - "unsupported_type": { - "type": "long" - } - } - }, - "max_pkt_size": { - "type": "long" - }, - "mpls": { - "type": "long" - }, - "null": { - "type": "long" - }, - "pkts": { - "type": "long" - }, - "ppp": { - "type": "long" - }, - "pppoe": { - "type": "long" - }, - "raw": { - "type": "long" - }, - "sctp": { - "type": "long" - }, - "sll": { - "type": "long" - }, - "tcp": { - "type": "long" - }, - "teredo": { - "type": "long" - }, - "udp": { - "type": "long" - }, - "vlan": { - "type": "long" - }, - "vlan_qinq": { - "type": "long" } } - }, - "defrag": { - "properties": { - "ipv4": { - "properties": { - "fragments": { - "type": "long" - }, - "reassembled": { - "type": "long" - }, - "timeouts": { - "type": "long" - } - } - }, - "ipv6": { - "properties": { - "fragments": { - "type": "long" - }, - "reassembled": { - "type": "long" - }, - "timeouts": { - "type": "long" - } + } + }, + "capture": { + "properties": { + "kernel_drops": { + "type": "long" + }, + "kernel_ifdrops": { + "type": "long" + }, + "kernel_packets": { + "type": "long" + } + } + }, + "decoder": { + "properties": { + "avg_pkt_size": { + "type": "long" + }, + "bytes": { + "type": "long" + }, + "dce": { + "properties": { + "pkt_too_small": { + "type": "long" } - }, - "max_frag_hits": { - "type": "long" - } - } - }, - "detect": { - "properties": { - "alert": { - "type": "long" - } - } - }, - "dns": { - "properties": { - "memcap_global": { - "type": "long" - }, - "memcap_state": { - "type": "long" - }, - "memuse": { - "type": "long" - } - } - }, - "file_store": { - "properties": { - "open_files": { - "type": "long" } - } - }, - "flow": { - "properties": { - "emerg_mode_entered": { - "type": "long" - }, - "emerg_mode_over": { - "type": "long" - }, - "icmpv4": { - "type": "long" - }, - "icmpv6": { - "type": "long" - }, - "memcap": { - "type": "long" - }, - "memuse": { - "type": "long" - }, - "spare": { - "type": "long" - }, - "tcp": { - "type": "long" - }, - "tcp_reuse": { - "type": "long" - }, - "udp": { - "type": "long" + }, + "erspan": { + "type": "long" + }, + "ethernet": { + "type": "long" + }, + "gre": { + "type": "long" + }, + "icmpv4": { + "type": "long" + }, + "icmpv6": { + "type": "long" + }, + "ieee8021ah": { + "type": "long" + }, + "invalid": { + "type": "long" + }, + "ipraw": { + "properties": { + "invalid_ip_version": { + "type": "long" + } } - } - }, - "flow_mgr": { - "properties": { - "bypassed_pruned": { - "type": "long" - }, - "closed_pruned": { - "type": "long" - }, - "est_pruned": { - "type": "long" - }, - "flows_checked": { - "type": "long" - }, - "flows_notimeout": { - "type": "long" - }, - "flows_removed": { - "type": "long" - }, - "flows_timeout": { - "type": "long" - }, - "flows_timeout_inuse": { - "type": "long" - }, - "new_pruned": { - "type": "long" - }, - "rows_busy": { - "type": "long" - }, - "rows_checked": { - "type": "long" - }, - "rows_empty": { - "type": "long" - }, - "rows_maxlen": { - "type": "long" - }, - "rows_skipped": { - "type": "long" + }, + "ipv4": { + "type": "long" + }, + "ipv4_in_ipv6": { + "type": "long" + }, + "ipv6": { + "type": "long" + }, + "ipv6_in_ipv6": { + "type": "long" + }, + "ltnull": { + "properties": { + "pkt_too_small": { + "type": "long" + }, + "unsupported_type": { + "type": "long" + } } - } - }, - "http": { - "properties": { - "memcap": { - "type": "long" - }, - "memuse": { - "type": "long" + }, + "max_pkt_size": { + "type": "long" + }, + "mpls": { + "type": "long" + }, + "null": { + "type": "long" + }, + "pkts": { + "type": "long" + }, + "ppp": { + "type": "long" + }, + "pppoe": { + "type": "long" + }, + "raw": { + "type": "long" + }, + "sctp": { + "type": "long" + }, + "sll": { + "type": "long" + }, + "tcp": { + "type": "long" + }, + "teredo": { + "type": "long" + }, + "udp": { + "type": "long" + }, + "vlan": { + "type": "long" + }, + "vlan_qinq": { + "type": "long" + } + } + }, + "defrag": { + "properties": { + "ipv4": { + "properties": { + "fragments": { + "type": "long" + }, + "reassembled": { + "type": "long" + }, + "timeouts": { + "type": "long" + } } - } - }, - "tcp": { - "properties": { - "insert_data_normal_fail": { - "type": "long" - }, - "insert_data_overlap_fail": { - "type": "long" - }, - "insert_list_fail": { - "type": "long" - }, - "invalid_checksum": { - "type": "long" - }, - "memuse": { - "type": "long" - }, - "no_flow": { - "type": "long" - }, - "overlap": { - "type": "long" - }, - "overlap_diff_data": { - "type": "long" - }, - "pseudo": { - "type": "long" - }, - "pseudo_failed": { - "type": "long" - }, - "reassembly_gap": { - "type": "long" - }, - "reassembly_memuse": { - "type": "long" - }, - "rst": { - "type": "long" - }, - "segment_memcap_drop": { - "type": "long" - }, - "sessions": { - "type": "long" - }, - "ssn_memcap_drop": { - "type": "long" - }, - "stream_depth_reached": { - "type": "long" - }, - "syn": { - "type": "long" - }, - "synack": { - "type": "long" + }, + "ipv6": { + "properties": { + "fragments": { + "type": "long" + }, + "reassembled": { + "type": "long" + }, + "timeouts": { + "type": "long" + } } - } - }, - "uptime": { - "type": "long" - } - } - }, - "tcp": { - "properties": { - "ack": { - "type": "boolean" - }, - "fin": { - "type": "boolean" - }, - "psh": { - "type": "boolean" - }, - "rst": { - "type": "boolean" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "syn": { - "type": "boolean" - }, - "tcp_flags": { - "ignore_above": 1024, - "type": "keyword" - }, - "tcp_flags_tc": { - "ignore_above": 1024, - "type": "keyword" - }, - "tcp_flags_ts": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "timestamp": { - "type": "date" - }, - "tls": { - "properties": { - "fingerprint": { - "ignore_above": 1024, - "type": "keyword" - }, - "issuerdn": { - "ignore_above": 1024, - "type": "keyword" - }, - "notafter": { - "type": "date" - }, - "notbefore": { - "type": "date" - }, - "serial": { - "ignore_above": 1024, - "type": "keyword" - }, - "session_resumed": { - "type": "boolean" - }, - "sni": { - "ignore_above": 1024, - "type": "keyword" - }, - "subject": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "tx_id": { - "type": "long" + }, + "max_frag_hits": { + "type": "long" + } + } + }, + "detect": { + "properties": { + "alert": { + "type": "long" + } + } + }, + "dns": { + "properties": { + "memcap_global": { + "type": "long" + }, + "memcap_state": { + "type": "long" + }, + "memuse": { + "type": "long" + } + } + }, + "file_store": { + "properties": { + "open_files": { + "type": "long" + } + } + }, + "flow": { + "properties": { + "emerg_mode_entered": { + "type": "long" + }, + "emerg_mode_over": { + "type": "long" + }, + "icmpv4": { + "type": "long" + }, + "icmpv6": { + "type": "long" + }, + "memcap": { + "type": "long" + }, + "memuse": { + "type": "long" + }, + "spare": { + "type": "long" + }, + "tcp": { + "type": "long" + }, + "tcp_reuse": { + "type": "long" + }, + "udp": { + "type": "long" + } + } + }, + "flow_mgr": { + "properties": { + "bypassed_pruned": { + "type": "long" + }, + "closed_pruned": { + "type": "long" + }, + "est_pruned": { + "type": "long" + }, + "flows_checked": { + "type": "long" + }, + "flows_notimeout": { + "type": "long" + }, + "flows_removed": { + "type": "long" + }, + "flows_timeout": { + "type": "long" + }, + "flows_timeout_inuse": { + "type": "long" + }, + "new_pruned": { + "type": "long" + }, + "rows_busy": { + "type": "long" + }, + "rows_checked": { + "type": "long" + }, + "rows_empty": { + "type": "long" + }, + "rows_maxlen": { + "type": "long" + }, + "rows_skipped": { + "type": "long" + } + } + }, + "http": { + "properties": { + "memcap": { + "type": "long" + }, + "memuse": { + "type": "long" + } + } + }, + "tcp": { + "properties": { + "insert_data_normal_fail": { + "type": "long" + }, + "insert_data_overlap_fail": { + "type": "long" + }, + "insert_list_fail": { + "type": "long" + }, + "invalid_checksum": { + "type": "long" + }, + "memuse": { + "type": "long" + }, + "no_flow": { + "type": "long" + }, + "overlap": { + "type": "long" + }, + "overlap_diff_data": { + "type": "long" + }, + "pseudo": { + "type": "long" + }, + "pseudo_failed": { + "type": "long" + }, + "reassembly_gap": { + "type": "long" + }, + "reassembly_memuse": { + "type": "long" + }, + "rst": { + "type": "long" + }, + "segment_memcap_drop": { + "type": "long" + }, + "sessions": { + "type": "long" + }, + "ssn_memcap_drop": { + "type": "long" + }, + "stream_depth_reached": { + "type": "long" + }, + "syn": { + "type": "long" + }, + "synack": { + "type": "long" + } + } + }, + "uptime": { + "type": "long" + } + } + }, + "tcp": { + "properties": { + "ack": { + "type": "boolean" + }, + "fin": { + "type": "boolean" + }, + "psh": { + "type": "boolean" + }, + "rst": { + "type": "boolean" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "syn": { + "type": "boolean" + }, + "tcp_flags": { + "ignore_above": 1024, + "type": "keyword" + }, + "tcp_flags_tc": { + "ignore_above": 1024, + "type": "keyword" + }, + "tcp_flags_ts": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "timestamp": { + "type": "date" + }, + "tls": { + "properties": { + "fingerprint": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuerdn": { + "ignore_above": 1024, + "type": "keyword" + }, + "notafter": { + "type": "date" + }, + "notbefore": { + "type": "date" + }, + "serial": { + "ignore_above": 1024, + "type": "keyword" + }, + "session_resumed": { + "type": "boolean" + }, + "sni": { + "ignore_above": 1024, + "type": "keyword" + }, + "subject": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "tx_id": { + "type": "long" } } } - }, - "syslog": { - "properties": { - "facility": { - "type": "long" - }, - "facility_label": { - "ignore_above": 1024, - "type": "keyword" - }, - "priority": { - "type": "long" - }, - "severity_label": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "syslog": { + "properties": { + "facility": { + "type": "long" + }, + "facility_label": { + "ignore_above": 1024, + "type": "keyword" + }, + "priority": { + "type": "long" + }, + "severity_label": { + "ignore_above": 1024, + "type": "keyword" } - }, - "system": { - "properties": { - "auth": { - "properties": { - "groupadd": { - "properties": { - "gid": { - "path": "group.id", - "type": "alias" - }, - "name": { - "path": "group.name", - "type": "alias" - } - } - }, - "hostname": { - "path": "host.hostname", - "type": "alias" - }, - "message": { - "path": "message", - "type": "alias" - }, - "pid": { - "path": "process.pid", - "type": "alias" - }, - "program": { - "path": "process.name", - "type": "alias" - }, - "ssh": { - "properties": { - "dropped_ip": { - "type": "ip" - }, - "event": { - "path": "event.action", - "type": "alias" - }, - "geoip": { - "properties": { - "city_name": { - "path": "source.geo.city_name", - "type": "alias" - }, - "continent_name": { - "path": "source.geo.continent_name", - "type": "alias" - }, - "country_iso_code": { - "path": "source.geo.country_iso_code", - "type": "alias" - }, - "location": { - "path": "source.geo.location", - "type": "alias" - }, - "region_iso_code": { - "path": "source.geo.region_iso_code", - "type": "alias" - }, - "region_name": { - "path": "source.geo.region_name", - "type": "alias" - } - } - }, - "ip": { - "path": "source.ip", - "type": "alias" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - }, - "port": { - "path": "source.port", - "type": "alias" - }, - "signature": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "sudo": { - "properties": { - "command": { - "ignore_above": 1024, - "type": "keyword" - }, - "error": { - "ignore_above": 1024, - "type": "keyword" - }, - "pwd": { - "ignore_above": 1024, - "type": "keyword" - }, - "tty": { - "ignore_above": 1024, - "type": "keyword" - }, - "user": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "timestamp": { - "path": "@timestamp", - "type": "alias" - }, - "user": { - "path": "user.name", - "type": "alias" - }, - "useradd": { - "properties": { - "gid": { - "path": "group.id", - "type": "alias" - }, - "home": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "path": "user.name", - "type": "alias" - }, - "shell": { - "ignore_above": 1024, - "type": "keyword" - }, - "uid": { - "path": "user.id", - "type": "alias" - } + } + }, + "system": { + "properties": { + "auth": { + "properties": { + "groupadd": { + "properties": { + "gid": { + "path": "group.id", + "type": "alias" + }, + "name": { + "path": "group.name", + "type": "alias" } } - } - }, - "syslog": { - "properties": { - "hostname": { - "path": "host.hostname", - "type": "alias" - }, - "message": { - "path": "message", - "type": "alias" - }, - "pid": { - "path": "process.pid", - "type": "alias" - }, - "program": { - "path": "process.name", - "type": "alias" - }, - "timestamp": { - "path": "@timestamp", - "type": "alias" + }, + "hostname": { + "path": "host.hostname", + "type": "alias" + }, + "message": { + "path": "message", + "type": "alias" + }, + "pid": { + "path": "process.pid", + "type": "alias" + }, + "program": { + "path": "process.name", + "type": "alias" + }, + "ssh": { + "properties": { + "dropped_ip": { + "type": "ip" + }, + "event": { + "path": "event.action", + "type": "alias" + }, + "geoip": { + "properties": { + "city_name": { + "path": "source.geo.city_name", + "type": "alias" + }, + "continent_name": { + "path": "source.geo.continent_name", + "type": "alias" + }, + "country_iso_code": { + "path": "source.geo.country_iso_code", + "type": "alias" + }, + "location": { + "path": "source.geo.location", + "type": "alias" + }, + "region_iso_code": { + "path": "source.geo.region_iso_code", + "type": "alias" + }, + "region_name": { + "path": "source.geo.region_name", + "type": "alias" + } + } + }, + "ip": { + "path": "source.ip", + "type": "alias" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "path": "source.port", + "type": "alias" + }, + "signature": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "sudo": { + "properties": { + "command": { + "ignore_above": 1024, + "type": "keyword" + }, + "error": { + "ignore_above": 1024, + "type": "keyword" + }, + "pwd": { + "ignore_above": 1024, + "type": "keyword" + }, + "tty": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + }, + "user": { + "path": "user.name", + "type": "alias" + }, + "useradd": { + "properties": { + "gid": { + "path": "group.id", + "type": "alias" + }, + "home": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "path": "user.name", + "type": "alias" + }, + "shell": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "path": "user.id", + "type": "alias" + } } } } + }, + "syslog": { + "properties": { + "hostname": { + "path": "host.hostname", + "type": "alias" + }, + "message": { + "path": "message", + "type": "alias" + }, + "pid": { + "path": "process.pid", + "type": "alias" + }, + "program": { + "path": "process.name", + "type": "alias" + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } } - }, - "tags": { - "ignore_above": 1024, - "type": "keyword" - }, - "traefik": { - "properties": { - "access": { - "properties": { - "agent": { - "path": "user_agent.original", - "type": "alias" - }, - "backend_url": { - "norms": false, - "type": "text" - }, - "body_sent": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "duration": { - "type": "long" - }, - "frontend_name": { - "norms": false, - "type": "text" - }, - "geoip": { - "properties": { - "city_name": { - "path": "source.geo.city_name", - "type": "alias" - }, - "continent_name": { - "path": "source.geo.continent_name", - "type": "alias" - }, - "country_iso_code": { - "path": "source.geo.country_iso_code", - "type": "alias" - }, - "location": { - "path": "source.geo.location", - "type": "alias" - }, - "region_iso_code": { - "path": "source.geo.region_iso_code", - "type": "alias" - }, - "region_name": { - "path": "source.geo.region_name", - "type": "alias" - } - } - }, - "http_version": { - "path": "http.version", - "type": "alias" - }, - "method": { - "path": "http.request.method", - "type": "alias" - }, - "referrer": { - "path": "http.request.referrer", - "type": "alias" - }, - "remote_ip": { - "path": "source.address", - "type": "alias" - }, - "request_count": { - "type": "long" - }, - "response_code": { - "path": "http.response.status_code", - "type": "alias" - }, - "url": { - "path": "url.original", - "type": "alias" - }, - "user_agent": { - "properties": { - "device": { - "path": "user_agent.device", - "type": "alias" - }, - "major": { - "path": "user_agent.major", - "type": "alias" - }, - "minor": { - "path": "user_agent.minor", - "type": "alias" - }, - "name": { - "path": "user_agent.name", - "type": "alias" - }, - "original": { - "path": "user_agent.original", - "type": "alias" - }, - "os": { - "path": "user_agent.os.full_name", - "type": "alias" - }, - "os_major": { - "path": "user_agent.os.major", - "type": "alias" - }, - "os_minor": { - "path": "user_agent.os.minor", - "type": "alias" - }, - "os_name": { - "path": "user_agent.os.name", - "type": "alias" - }, - "patch": { - "path": "user_agent.patch", - "type": "alias" - } - } - }, - "user_identifier": { - "ignore_above": 1024, - "type": "keyword" - }, - "user_name": { - "path": "user.name", - "type": "alias" + } + }, + "tags": { + "ignore_above": 1024, + "type": "keyword" + }, + "traefik": { + "properties": { + "access": { + "properties": { + "agent": { + "path": "user_agent.original", + "type": "alias" + }, + "backend_url": { + "norms": false, + "type": "text" + }, + "body_sent": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "duration": { + "type": "long" + }, + "frontend_name": { + "norms": false, + "type": "text" + }, + "geoip": { + "properties": { + "city_name": { + "path": "source.geo.city_name", + "type": "alias" + }, + "continent_name": { + "path": "source.geo.continent_name", + "type": "alias" + }, + "country_iso_code": { + "path": "source.geo.country_iso_code", + "type": "alias" + }, + "location": { + "path": "source.geo.location", + "type": "alias" + }, + "region_iso_code": { + "path": "source.geo.region_iso_code", + "type": "alias" + }, + "region_name": { + "path": "source.geo.region_name", + "type": "alias" + } } + }, + "http_version": { + "path": "http.version", + "type": "alias" + }, + "method": { + "path": "http.request.method", + "type": "alias" + }, + "referrer": { + "path": "http.request.referrer", + "type": "alias" + }, + "remote_ip": { + "path": "source.address", + "type": "alias" + }, + "request_count": { + "type": "long" + }, + "response_code": { + "path": "http.response.status_code", + "type": "alias" + }, + "url": { + "path": "url.original", + "type": "alias" + }, + "user_agent": { + "properties": { + "device": { + "path": "user_agent.device", + "type": "alias" + }, + "major": { + "path": "user_agent.major", + "type": "alias" + }, + "minor": { + "path": "user_agent.minor", + "type": "alias" + }, + "name": { + "path": "user_agent.name", + "type": "alias" + }, + "original": { + "path": "user_agent.original", + "type": "alias" + }, + "os": { + "path": "user_agent.os.full_name", + "type": "alias" + }, + "os_major": { + "path": "user_agent.os.major", + "type": "alias" + }, + "os_minor": { + "path": "user_agent.os.minor", + "type": "alias" + }, + "os_name": { + "path": "user_agent.os.name", + "type": "alias" + }, + "patch": { + "path": "user_agent.patch", + "type": "alias" + } + } + }, + "user_identifier": { + "ignore_above": 1024, + "type": "keyword" + }, + "user_name": { + "path": "user.name", + "type": "alias" } } } - }, - "url": { - "properties": { - "domain": { - "ignore_above": 1024, - "type": "keyword" - }, - "fragment": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "ignore_above": 1024, - "type": "keyword" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "original": { - "ignore_above": 1024, - "type": "keyword" - }, - "password": { - "ignore_above": 1024, - "type": "keyword" - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "port": { - "type": "long" - }, - "query": { - "ignore_above": 1024, - "type": "keyword" - }, - "scheme": { - "ignore_above": 1024, - "type": "keyword" - }, - "username": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "url": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "fragment": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "ignore_above": 1024, + "type": "keyword" + }, + "password": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + }, + "query": { + "ignore_above": 1024, + "type": "keyword" + }, + "scheme": { + "ignore_above": 1024, + "type": "keyword" + }, + "username": { + "ignore_above": 1024, + "type": "keyword" } - }, - "user": { - "properties": { - "email": { - "ignore_above": 1024, - "type": "keyword" - }, - "full_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "group": { - "ignore_above": 1024, - "type": "keyword" - }, - "hash": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "user": { + "properties": { + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "ignore_above": 1024, + "type": "keyword" + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "user_agent": { - "properties": { - "device": { - "ignore_above": 1024, - "type": "keyword" - }, - "major": { - "ignore_above": 1024, - "type": "keyword" - }, - "minor": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "original": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "properties": { - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "ignore_above": 1024, - "type": "keyword" - }, - "full_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "kernel": { - "ignore_above": 1024, - "type": "keyword" - }, - "major": { - "type": "long" - }, - "minor": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "platform": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "user_agent": { + "properties": { + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "major": { + "ignore_above": 1024, + "type": "keyword" + }, + "minor": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "major": { + "type": "long" + }, + "minor": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "patch": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } + }, + "patch": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } } } @@ -5975,848 +5973,846 @@ }, "index": "metricbeat-7.0.0-2019.01.15", "mappings": { - "_doc": { - "_meta": { - "version": "7.0.0" + "_meta": { + "version": "7.0.0" + }, + "date_detection": false, + "dynamic_templates": [ + { + "container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "container.labels.*" + } }, - "date_detection": false, - "dynamic_templates": [ - { - "container.labels": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "container.labels.*" - } - }, - { - "fields": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "fields.*" - } - }, - { - "docker.container.labels": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "docker.container.labels.*" - } - }, - { - "docker.cpu.core.*.pct": { - "mapping": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "path_match": "docker.cpu.core.*.pct" - } - }, - { - "docker.cpu.core.*.ticks": { - "mapping": { - "type": "long" - }, - "match_mapping_type": "long", - "path_match": "docker.cpu.core.*.ticks" - } - }, - { - "docker.event.actor.attributes": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "docker.event.actor.attributes.*" - } - }, - { - "docker.image.labels": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "docker.image.labels.*" - } - }, - { - "kubernetes.apiserver.request.latency.bucket": { - "mapping": { - "type": "long" - }, - "match_mapping_type": "long", - "path_match": "kubernetes.apiserver.request.latency.bucket.*" - } - }, - { - "system.process.env": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "system.process.env.*" - } - }, - { - "system.process.cgroup.cpuacct.percpu": { - "mapping": { - "type": "long" - }, - "match_mapping_type": "long", - "path_match": "system.process.cgroup.cpuacct.percpu.*" - } - }, - { - "traefik.health.response.status_codes.*": { - "mapping": { - "type": "long" - }, - "match_mapping_type": "long", - "path_match": "traefik.health.response.status_codes.*" - } - }, - { - "vsphere.virtualmachine.custom_fields": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "vsphere.virtualmachine.custom_fields.*" - } - }, - { - "strings_as_keyword": { - "mapping": { - "ignore_above": 1024, - "type": "keyword" - }, - "match_mapping_type": "string" - } + { + "fields": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "fields.*" } - ], - "properties": { - "@timestamp": { - "type": "date" - }, - "aerospike": { - "properties": { - "namespace": { - "properties": { - "client": { - "properties": { - "delete": { - "properties": { - "error": { - "type": "long" - }, - "not_found": { - "type": "long" - }, - "success": { - "type": "long" - }, - "timeout": { - "type": "long" - } - } - }, - "read": { - "properties": { - "error": { - "type": "long" - }, - "not_found": { - "type": "long" - }, - "success": { - "type": "long" - }, - "timeout": { - "type": "long" - } - } - }, - "write": { - "properties": { - "error": { - "type": "long" - }, - "success": { - "type": "long" - }, - "timeout": { - "type": "long" - } + }, + { + "docker.container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "docker.container.labels.*" + } + }, + { + "docker.cpu.core.*.pct": { + "mapping": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "path_match": "docker.cpu.core.*.pct" + } + }, + { + "docker.cpu.core.*.ticks": { + "mapping": { + "type": "long" + }, + "match_mapping_type": "long", + "path_match": "docker.cpu.core.*.ticks" + } + }, + { + "docker.event.actor.attributes": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "docker.event.actor.attributes.*" + } + }, + { + "docker.image.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "docker.image.labels.*" + } + }, + { + "kubernetes.apiserver.request.latency.bucket": { + "mapping": { + "type": "long" + }, + "match_mapping_type": "long", + "path_match": "kubernetes.apiserver.request.latency.bucket.*" + } + }, + { + "system.process.env": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "system.process.env.*" + } + }, + { + "system.process.cgroup.cpuacct.percpu": { + "mapping": { + "type": "long" + }, + "match_mapping_type": "long", + "path_match": "system.process.cgroup.cpuacct.percpu.*" + } + }, + { + "traefik.health.response.status_codes.*": { + "mapping": { + "type": "long" + }, + "match_mapping_type": "long", + "path_match": "traefik.health.response.status_codes.*" + } + }, + { + "vsphere.virtualmachine.custom_fields": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "vsphere.virtualmachine.custom_fields.*" + } + }, + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "aerospike": { + "properties": { + "namespace": { + "properties": { + "client": { + "properties": { + "delete": { + "properties": { + "error": { + "type": "long" + }, + "not_found": { + "type": "long" + }, + "success": { + "type": "long" + }, + "timeout": { + "type": "long" + } + } + }, + "read": { + "properties": { + "error": { + "type": "long" + }, + "not_found": { + "type": "long" + }, + "success": { + "type": "long" + }, + "timeout": { + "type": "long" + } + } + }, + "write": { + "properties": { + "error": { + "type": "long" + }, + "success": { + "type": "long" + }, + "timeout": { + "type": "long" } } } - }, - "device": { - "properties": { - "available": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "device": { + "properties": { + "available": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "free": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "free": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "hwm_breached": { - "type": "boolean" - }, - "memory": { - "properties": { - "free": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "used": { - "properties": { - "data": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "hwm_breached": { + "type": "boolean" + }, + "memory": { + "properties": { + "free": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "used": { + "properties": { + "data": { + "properties": { + "bytes": { + "type": "long" } - }, - "index": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "index": { + "properties": { + "bytes": { + "type": "long" } - }, - "sindex": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "sindex": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "node": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "objects": { - "properties": { - "master": { - "type": "long" - }, - "total": { - "type": "long" - } + } + }, + "objects": { + "properties": { + "master": { + "type": "long" + }, + "total": { + "type": "long" } - }, - "stop_writes": { - "type": "boolean" } + }, + "stop_writes": { + "type": "boolean" } } } - }, - "agent": { - "properties": { - "ephemeral_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "agent": { + "properties": { + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "apache": { - "properties": { - "status": { - "properties": { - "bytes_per_request": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "bytes_per_sec": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "connections": { - "properties": { - "async": { - "properties": { - "closing": { - "type": "long" - }, - "keep_alive": { - "type": "long" - }, - "writing": { - "type": "long" - } - } - }, - "total": { - "type": "long" - } - } - }, - "cpu": { - "properties": { - "children_system": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "children_user": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "load": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "system": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "user": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "load": { - "properties": { - "1": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "15": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "5": { - "scaling_factor": 100, - "type": "scaled_float" - } - } - }, - "requests_per_sec": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "scoreboard": { - "properties": { - "closing_connection": { - "type": "long" - }, - "dns_lookup": { - "type": "long" - }, - "gracefully_finishing": { - "type": "long" - }, - "idle_cleanup": { - "type": "long" - }, - "keepalive": { - "type": "long" - }, - "logging": { - "type": "long" - }, - "open_slot": { - "type": "long" - }, - "reading_request": { - "type": "long" - }, - "sending_reply": { - "type": "long" - }, - "starting_up": { - "type": "long" - }, - "total": { - "type": "long" - }, - "waiting_for_connection": { - "type": "long" - } - } - }, - "total_accesses": { - "type": "long" - }, - "total_kbytes": { - "type": "long" - }, - "uptime": { - "properties": { - "server_uptime": { - "type": "long" - }, - "uptime": { - "type": "long" - } - } - }, - "workers": { - "properties": { - "busy": { - "type": "long" - }, - "idle": { - "type": "long" - } + } + }, + "apache": { + "properties": { + "status": { + "properties": { + "bytes_per_request": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "bytes_per_sec": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "connections": { + "properties": { + "async": { + "properties": { + "closing": { + "type": "long" + }, + "keep_alive": { + "type": "long" + }, + "writing": { + "type": "long" + } + } + }, + "total": { + "type": "long" + } + } + }, + "cpu": { + "properties": { + "children_system": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "children_user": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "load": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "system": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "user": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "load": { + "properties": { + "1": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "15": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "5": { + "scaling_factor": 100, + "type": "scaled_float" + } + } + }, + "requests_per_sec": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "scoreboard": { + "properties": { + "closing_connection": { + "type": "long" + }, + "dns_lookup": { + "type": "long" + }, + "gracefully_finishing": { + "type": "long" + }, + "idle_cleanup": { + "type": "long" + }, + "keepalive": { + "type": "long" + }, + "logging": { + "type": "long" + }, + "open_slot": { + "type": "long" + }, + "reading_request": { + "type": "long" + }, + "sending_reply": { + "type": "long" + }, + "starting_up": { + "type": "long" + }, + "total": { + "type": "long" + }, + "waiting_for_connection": { + "type": "long" + } + } + }, + "total_accesses": { + "type": "long" + }, + "total_kbytes": { + "type": "long" + }, + "uptime": { + "properties": { + "server_uptime": { + "type": "long" + }, + "uptime": { + "type": "long" + } + } + }, + "workers": { + "properties": { + "busy": { + "type": "long" + }, + "idle": { + "type": "long" } } } } } - }, - "beat": { - "properties": { - "hostname": { - "path": "agent.hostname", - "type": "alias" - }, - "name": { - "path": "agent.type", - "type": "alias" - }, - "timezone": { - "path": "event.timezone", - "type": "alias" - } + } + }, + "beat": { + "properties": { + "hostname": { + "path": "agent.hostname", + "type": "alias" + }, + "name": { + "path": "agent.type", + "type": "alias" + }, + "timezone": { + "path": "event.timezone", + "type": "alias" } - }, - "ceph": { - "properties": { - "cluster_disk": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "ceph": { + "properties": { + "cluster_disk": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "cluster_health": { - "properties": { - "overall_status": { - "ignore_above": 1024, - "type": "keyword" - }, - "timechecks": { - "properties": { - "epoch": { - "type": "long" - }, - "round": { - "properties": { - "status": { - "ignore_above": 1024, - "type": "keyword" - }, - "value": { - "type": "long" - } + } + }, + "cluster_health": { + "properties": { + "overall_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "timechecks": { + "properties": { + "epoch": { + "type": "long" + }, + "round": { + "properties": { + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "value": { + "type": "long" } } } } } - }, - "cluster_status": { - "properties": { - "degraded": { - "properties": { - "objects": { - "type": "long" - }, - "ratio": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "total": { - "type": "long" - } - } - }, - "misplace": { - "properties": { - "objects": { - "type": "long" - }, - "ratio": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "total": { - "type": "long" - } - } - }, - "osd": { - "properties": { - "epoch": { - "type": "long" - }, - "full": { - "type": "boolean" - }, - "nearfull": { - "type": "boolean" - }, - "num_in_osds": { - "type": "long" - }, - "num_osds": { - "type": "long" - }, - "num_remapped_pgs": { - "type": "long" - }, - "num_up_osds": { - "type": "long" - } - } - }, - "pg": { - "properties": { - "avail_bytes": { - "type": "long" - }, - "data_bytes": { - "type": "long" - }, - "total_bytes": { - "type": "long" - }, - "used_bytes": { - "type": "long" - } - } - }, - "pg_state": { - "properties": { - "count": { - "type": "long" - }, - "state_name": { - "type": "long" - }, - "version": { - "type": "long" - } - } - }, - "traffic": { - "properties": { - "read_bytes": { - "type": "long" - }, - "read_op_per_sec": { - "type": "long" - }, - "write_bytes": { - "type": "long" - }, - "write_op_per_sec": { - "type": "long" - } - } - }, - "version": { - "type": "long" + } + }, + "cluster_status": { + "properties": { + "degraded": { + "properties": { + "objects": { + "type": "long" + }, + "ratio": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "total": { + "type": "long" + } + } + }, + "misplace": { + "properties": { + "objects": { + "type": "long" + }, + "ratio": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "total": { + "type": "long" + } + } + }, + "osd": { + "properties": { + "epoch": { + "type": "long" + }, + "full": { + "type": "boolean" + }, + "nearfull": { + "type": "boolean" + }, + "num_in_osds": { + "type": "long" + }, + "num_osds": { + "type": "long" + }, + "num_remapped_pgs": { + "type": "long" + }, + "num_up_osds": { + "type": "long" + } + } + }, + "pg": { + "properties": { + "avail_bytes": { + "type": "long" + }, + "data_bytes": { + "type": "long" + }, + "total_bytes": { + "type": "long" + }, + "used_bytes": { + "type": "long" + } + } + }, + "pg_state": { + "properties": { + "count": { + "type": "long" + }, + "state_name": { + "type": "long" + }, + "version": { + "type": "long" + } + } + }, + "traffic": { + "properties": { + "read_bytes": { + "type": "long" + }, + "read_op_per_sec": { + "type": "long" + }, + "write_bytes": { + "type": "long" + }, + "write_op_per_sec": { + "type": "long" + } } + }, + "version": { + "type": "long" } - }, - "monitor_health": { - "properties": { - "available": { - "properties": { - "kb": { - "type": "long" - }, - "pct": { - "type": "long" - } - } - }, - "health": { - "ignore_above": 1024, - "type": "keyword" - }, - "last_updated": { - "type": "date" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "store_stats": { - "properties": { - "last_updated": { - "type": "long" - }, - "log": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "misc": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "sst": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "monitor_health": { + "properties": { + "available": { + "properties": { + "kb": { + "type": "long" + }, + "pct": { + "type": "long" + } + } + }, + "health": { + "ignore_above": 1024, + "type": "keyword" + }, + "last_updated": { + "type": "date" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "store_stats": { + "properties": { + "last_updated": { + "type": "long" + }, + "log": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "misc": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "sst": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "total": { - "properties": { - "kb": { - "type": "long" - } + } + }, + "total": { + "properties": { + "kb": { + "type": "long" } - }, - "used": { - "properties": { - "kb": { - "type": "long" - } + } + }, + "used": { + "properties": { + "kb": { + "type": "long" } } } - }, - "osd_df": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "device_class": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "type": "long" - }, - "name": { - "norms": false, - "type": "text" - }, - "pg_num": { - "type": "long" - }, - "total": { - "properties": { - "byte": { - "type": "long" - } - } - }, - "used": { - "properties": { - "byte": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "osd_df": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } } - } - }, - "osd_tree": { - "properties": { - "children": { - "norms": false, - "type": "text" - }, - "crush_weight": { - "type": "float" - }, - "depth": { - "type": "long" - }, - "device_class": { - "ignore_above": 1024, - "type": "keyword" - }, - "exists": { - "type": "boolean" - }, - "father": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "type": "long" - }, - "name": { - "norms": false, - "type": "text" - }, - "primary_affinity": { - "type": "float" - }, - "reweight": { - "type": "long" - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "type_id": { - "type": "long" + }, + "device_class": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "type": "long" + }, + "name": { + "norms": false, + "type": "text" + }, + "pg_num": { + "type": "long" + }, + "total": { + "properties": { + "byte": { + "type": "long" + } + } + }, + "used": { + "properties": { + "byte": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } } } - }, - "pool_disk": { - "properties": { - "id": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "stats": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "objects": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "kb": { - "type": "long" - } + } + }, + "osd_tree": { + "properties": { + "children": { + "norms": false, + "type": "text" + }, + "crush_weight": { + "type": "float" + }, + "depth": { + "type": "long" + }, + "device_class": { + "ignore_above": 1024, + "type": "keyword" + }, + "exists": { + "type": "boolean" + }, + "father": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "type": "long" + }, + "name": { + "norms": false, + "type": "text" + }, + "primary_affinity": { + "type": "float" + }, + "reweight": { + "type": "long" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "type_id": { + "type": "long" + } + } + }, + "pool_disk": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "stats": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "objects": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "kb": { + "type": "long" } } } @@ -6824,361 +6820,361 @@ } } } - }, - "client": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes": { - "type": "long" - }, - "domain": { - "ignore_above": 1024, - "type": "keyword" - }, - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "client": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "packets": { - "type": "long" - }, - "port": { - "type": "long" } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" } - }, - "cloud": { - "properties": { - "account": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "cloud": { + "properties": { + "account": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" } - }, - "availability_zone": { - "ignore_above": 1024, - "type": "keyword" - }, - "instance": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "availability_zone": { + "ignore_above": 1024, + "type": "keyword" + }, + "instance": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "machine": { - "properties": { - "type": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "machine": { + "properties": { + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "project": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "project": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" } - }, - "provider": { - "ignore_above": 1024, - "type": "keyword" - }, - "region": { - "ignore_above": 1024, - "type": "keyword" } + }, + "provider": { + "ignore_above": 1024, + "type": "keyword" + }, + "region": { + "ignore_above": 1024, + "type": "keyword" } - }, - "container": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "image": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "tag": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "container": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "tag": { + "ignore_above": 1024, + "type": "keyword" } - }, - "labels": { - "type": "object" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "runtime": { - "ignore_above": 1024, - "type": "keyword" } + }, + "labels": { + "type": "object" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "runtime": { + "ignore_above": 1024, + "type": "keyword" } - }, - "couchbase": { - "properties": { - "bucket": { - "properties": { - "data": { - "properties": { - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "couchbase": { + "properties": { + "bucket": { + "properties": { + "data": { + "properties": { + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "disk": { - "properties": { - "fetches": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "disk": { + "properties": { + "fetches": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "item_count": { - "type": "long" - }, - "memory": { - "properties": { - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "item_count": { + "type": "long" + }, + "memory": { + "properties": { + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "ops_per_sec": { - "type": "long" - }, - "quota": { - "properties": { - "ram": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "use": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "ops_per_sec": { + "type": "long" + }, + "quota": { + "properties": { + "ram": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "use": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "type": { - "ignore_above": 1024, - "type": "keyword" } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "cluster": { - "properties": { - "hdd": { - "properties": { - "free": { - "properties": { - "bytes": { - "type": "long" + } + }, + "cluster": { + "properties": { + "hdd": { + "properties": { + "free": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "quota": { + "properties": { + "total": { + "properties": { + "bytes": { + "type": "long" + } } } - }, - "quota": { - "properties": { - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "used": { + "properties": { + "by_data": { + "properties": { + "bytes": { + "type": "long" } } - } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "used": { - "properties": { - "by_data": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "value": { - "properties": { - "bytes": { - "type": "long" - } - } + }, + "value": { + "properties": { + "bytes": { + "type": "long" + } } } } } - }, - "max_bucket_count": { - "type": "long" - }, - "quota": { - "properties": { - "index_memory": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "max_bucket_count": { + "type": "long" + }, + "quota": { + "properties": { + "index_memory": { + "properties": { + "mb": { + "type": "long" } - }, - "memory": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "mb": { + "type": "long" } } } - }, - "ram": { - "properties": { - "quota": { - "properties": { - "total": { - "properties": { - "per_node": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "ram": { + "properties": { + "quota": { + "properties": { + "total": { + "properties": { + "per_node": { + "properties": { + "bytes": { + "type": "long" } - }, - "value": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "value": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "used": { - "properties": { - "per_node": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "per_node": { + "properties": { + "bytes": { + "type": "long" } - }, - "value": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "value": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "by_data": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "by_data": { + "properties": { + "bytes": { + "type": "long" } - }, - "value": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "value": { + "properties": { + "bytes": { + "type": "long" } } } @@ -7186,915 +7182,915 @@ } } } - }, - "node": { - "properties": { - "cmd_get": { - "type": "long" - }, - "couch": { - "properties": { - "docs": { - "properties": { - "data_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "node": { + "properties": { + "cmd_get": { + "type": "long" + }, + "couch": { + "properties": { + "docs": { + "properties": { + "data_size": { + "properties": { + "bytes": { + "type": "long" } - }, - "disk_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "disk_size": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "spatial": { - "properties": { - "data_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "spatial": { + "properties": { + "data_size": { + "properties": { + "bytes": { + "type": "long" } - }, - "disk_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "disk_size": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "views": { - "properties": { - "data_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "views": { + "properties": { + "data_size": { + "properties": { + "bytes": { + "type": "long" } - }, - "disk_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "disk_size": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "cpu_utilization_rate": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "current_items": { - "properties": { - "total": { - "type": "long" - }, - "value": { - "type": "long" - } - } - }, - "ep_bg_fetched": { - "type": "long" - }, - "get_hits": { - "type": "long" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "mcd_memory": { - "properties": { - "allocated": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "reserved": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "cpu_utilization_rate": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "current_items": { + "properties": { + "total": { + "type": "long" + }, + "value": { + "type": "long" + } + } + }, + "ep_bg_fetched": { + "type": "long" + }, + "get_hits": { + "type": "long" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "mcd_memory": { + "properties": { + "allocated": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "reserved": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "memory": { - "properties": { - "free": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "free": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "ops": { - "type": "long" - }, - "swap": { - "properties": { - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "ops": { + "type": "long" + }, + "swap": { + "properties": { + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "uptime": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "uptime": { + "properties": { + "sec": { + "type": "long" } - }, - "vb_replica_curr_items": { - "type": "long" } + }, + "vb_replica_curr_items": { + "type": "long" } } } - }, - "destination": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes": { - "type": "long" - }, - "domain": { - "ignore_above": 1024, - "type": "keyword" - }, - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "destination": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "packets": { - "type": "long" - }, - "port": { - "type": "long" } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" } - }, - "docker": { - "properties": { - "container": { - "properties": { - "command": { - "ignore_above": 1024, - "type": "keyword" - }, - "created": { - "type": "date" - }, - "id": { - "path": "container.id", - "type": "alias" - }, - "image": { - "path": "container.image.name", - "type": "alias" - }, - "ip_addresses": { - "ignore_above": 1024, - "type": "keyword" - }, - "labels": { - "type": "object" - }, - "name": { - "path": "container.name", - "type": "alias" - }, - "size": { - "properties": { - "root_fs": { - "type": "long" - }, - "rw": { - "type": "long" - } - } - }, - "status": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "docker": { + "properties": { + "container": { + "properties": { + "command": { + "ignore_above": 1024, + "type": "keyword" + }, + "created": { + "type": "date" + }, + "id": { + "path": "container.id", + "type": "alias" + }, + "image": { + "path": "container.image.name", + "type": "alias" + }, + "ip_addresses": { + "ignore_above": 1024, + "type": "keyword" + }, + "labels": { + "type": "object" + }, + "name": { + "path": "container.name", + "type": "alias" + }, + "size": { + "properties": { + "root_fs": { + "type": "long" + }, + "rw": { + "type": "long" + } } + }, + "status": { + "ignore_above": 1024, + "type": "keyword" } - }, - "cpu": { - "properties": { - "core": { - "properties": { - "*": { - "properties": { - "pct": { - "type": "object" - }, - "ticks": { - "type": "object" - } + } + }, + "cpu": { + "properties": { + "core": { + "properties": { + "*": { + "properties": { + "pct": { + "type": "object" + }, + "ticks": { + "type": "object" } } } - }, - "kernel": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } + } + }, + "kernel": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" } - }, - "system": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } + } + }, + "system": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" } - }, - "total": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "total": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "user": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } + } + }, + "user": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" } } } - }, - "diskio": { - "properties": { - "read": { - "properties": { - "bytes": { - "type": "long" - }, - "ops": { - "type": "long" - }, - "rate": { - "type": "long" - } - } - }, - "reads": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "summary": { - "properties": { - "bytes": { - "type": "long" - }, - "ops": { - "type": "long" - }, - "rate": { - "type": "long" - } - } - }, - "total": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "write": { - "properties": { - "bytes": { - "type": "long" - }, - "ops": { - "type": "long" - }, - "rate": { - "type": "long" - } - } - }, - "writes": { - "scaling_factor": 1000, - "type": "scaled_float" + } + }, + "diskio": { + "properties": { + "read": { + "properties": { + "bytes": { + "type": "long" + }, + "ops": { + "type": "long" + }, + "rate": { + "type": "long" + } + } + }, + "reads": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "summary": { + "properties": { + "bytes": { + "type": "long" + }, + "ops": { + "type": "long" + }, + "rate": { + "type": "long" + } + } + }, + "total": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "write": { + "properties": { + "bytes": { + "type": "long" + }, + "ops": { + "type": "long" + }, + "rate": { + "type": "long" + } } + }, + "writes": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "event": { - "properties": { - "action": { - "path": "event.action", - "type": "alias" - }, - "actor": { - "properties": { - "attributes": { - "type": "object" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "from": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "path": "event.id", - "type": "alias" - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - }, - "time": { - "path": "event.created", - "type": "alias" - }, - "type": { - "path": "event.kind", - "type": "alias" + } + }, + "event": { + "properties": { + "action": { + "path": "event.action", + "type": "alias" + }, + "actor": { + "properties": { + "attributes": { + "type": "object" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "from": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "path": "event.id", + "type": "alias" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "time": { + "path": "event.created", + "type": "alias" + }, + "type": { + "path": "event.kind", + "type": "alias" } - }, - "healthcheck": { - "properties": { - "event": { - "properties": { - "end_date": { - "type": "date" - }, - "exit_code": { - "type": "long" - }, - "output": { - "ignore_above": 1024, - "type": "keyword" - }, - "start_date": { - "type": "date" - } - } - }, - "failingstreak": { - "type": "long" - }, - "status": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "healthcheck": { + "properties": { + "event": { + "properties": { + "end_date": { + "type": "date" + }, + "exit_code": { + "type": "long" + }, + "output": { + "ignore_above": 1024, + "type": "keyword" + }, + "start_date": { + "type": "date" + } } + }, + "failingstreak": { + "type": "long" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" } - }, - "image": { - "properties": { - "created": { - "type": "date" - }, - "id": { - "properties": { - "current": { - "ignore_above": 1024, - "type": "keyword" - }, - "parent": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "labels": { - "type": "object" - }, - "size": { - "properties": { - "regular": { - "type": "long" - }, - "virtual": { - "type": "long" - } + } + }, + "image": { + "properties": { + "created": { + "type": "date" + }, + "id": { + "properties": { + "current": { + "ignore_above": 1024, + "type": "keyword" + }, + "parent": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "labels": { + "type": "object" + }, + "size": { + "properties": { + "regular": { + "type": "long" + }, + "virtual": { + "type": "long" } } } - }, - "info": { - "properties": { - "containers": { - "properties": { - "paused": { - "type": "long" - }, - "running": { - "type": "long" - }, - "stopped": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "images": { - "type": "long" + } + }, + "info": { + "properties": { + "containers": { + "properties": { + "paused": { + "type": "long" + }, + "running": { + "type": "long" + }, + "stopped": { + "type": "long" + }, + "total": { + "type": "long" + } } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "images": { + "type": "long" } - }, - "memory": { - "properties": { - "fail": { - "properties": { - "count": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "limit": { - "type": "long" - }, - "rss": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "total": { - "type": "long" - } - } - }, - "usage": { - "properties": { - "max": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "total": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "fail": { + "properties": { + "count": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "limit": { + "type": "long" + }, + "rss": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "total": { + "type": "long" + } + } + }, + "usage": { + "properties": { + "max": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "total": { + "type": "long" } } } - }, - "network": { - "properties": { - "in": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" - } - } - }, - "inbound": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" - } - } - }, - "interface": { - "ignore_above": 1024, - "type": "keyword" - }, - "out": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" - } - } - }, - "outbound": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" - } + } + }, + "network": { + "properties": { + "in": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + }, + "inbound": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + }, + "interface": { + "ignore_above": 1024, + "type": "keyword" + }, + "out": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + }, + "outbound": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" } } } } } - }, - "dropwizard": { - "type": "object" - }, - "ecs": { - "properties": { - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "dropwizard": { + "type": "object" + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "elasticsearch": { - "properties": { - "ccr": { - "properties": { - "follower": { - "properties": { - "global_checkpoint": { - "type": "long" - }, - "index": { - "ignore_above": 1024, - "type": "keyword" - }, - "operations_written": { - "type": "long" - }, - "shard": { - "properties": { - "number": { - "type": "long" - } - } - }, - "time_since_last_read": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "elasticsearch": { + "properties": { + "ccr": { + "properties": { + "follower": { + "properties": { + "global_checkpoint": { + "type": "long" + }, + "index": { + "ignore_above": 1024, + "type": "keyword" + }, + "operations_written": { + "type": "long" + }, + "shard": { + "properties": { + "number": { + "type": "long" + } + } + }, + "time_since_last_read": { + "properties": { + "ms": { + "type": "long" } } } - }, - "leader": { - "properties": { - "index": { - "ignore_above": 1024, - "type": "keyword" - }, - "max_seq_no": { - "type": "long" - } + } + }, + "leader": { + "properties": { + "index": { + "ignore_above": 1024, + "type": "keyword" + }, + "max_seq_no": { + "type": "long" } } } - }, - "cluster": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "pending_task": { - "properties": { - "insert_order": { - "type": "long" - }, - "priority": { - "type": "long" - }, - "source": { - "ignore_above": 1024, - "type": "keyword" - }, - "time_in_queue": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "pending_task": { + "properties": { + "insert_order": { + "type": "long" + }, + "priority": { + "type": "long" + }, + "source": { + "ignore_above": 1024, + "type": "keyword" + }, + "time_in_queue": { + "properties": { + "ms": { + "type": "long" } } } - }, - "state": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "stats": { - "properties": { - "indices": { - "properties": { - "count": { - "type": "long" - }, - "fielddata": { - "properties": { - "memory": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "stats": { + "properties": { + "indices": { + "properties": { + "count": { + "type": "long" + }, + "fielddata": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "shards": { - "properties": { - "count": { - "type": "long" - }, - "primaries": { - "type": "long" - } + } + }, + "shards": { + "properties": { + "count": { + "type": "long" + }, + "primaries": { + "type": "long" } } } - }, - "nodes": { - "properties": { - "count": { - "type": "long" - }, - "data": { - "type": "long" - }, - "master": { - "type": "long" - } + } + }, + "nodes": { + "properties": { + "count": { + "type": "long" + }, + "data": { + "type": "long" + }, + "master": { + "type": "long" } - }, - "status": { - "ignore_above": 1024, - "type": "keyword" } + }, + "status": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "index": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "recovery": { - "properties": { - "id": { - "type": "long" - }, - "primary": { - "type": "boolean" - }, - "source": { - "properties": { - "host": { - "type": "ip" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "stage": { - "ignore_above": 1024, - "type": "keyword" - }, - "target": { - "properties": { - "host": { - "type": "ip" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "summary": { - "properties": { - "primaries": { - "properties": { - "docs": { - "properties": { - "count": { - "type": "long" - }, - "deleted": { - "type": "long" - } + } + }, + "index": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "recovery": { + "properties": { + "id": { + "type": "long" + }, + "primary": { + "type": "boolean" + }, + "source": { + "properties": { + "host": { + "type": "ip" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "stage": { + "ignore_above": 1024, + "type": "keyword" + }, + "target": { + "properties": { + "host": { + "type": "ip" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "summary": { + "properties": { + "primaries": { + "properties": { + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" } - }, - "segments": { - "properties": { - "count": { - "type": "long" - }, - "memory": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "store": { - "properties": { - "size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "total": { - "properties": { - "docs": { - "properties": { - "count": { - "type": "long" - }, - "deleted": { - "type": "long" - } + } + }, + "total": { + "properties": { + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" } - }, - "segments": { - "properties": { - "count": { - "type": "long" - }, - "memory": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "store": { - "properties": { - "size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" } } } @@ -8102,40 +8098,40 @@ } } } - }, - "total": { - "properties": { - "docs": { - "properties": { - "count": { - "type": "long" - }, - "deleted": { - "type": "long" - } - } - }, - "segments": { - "properties": { - "count": { - "type": "long" - }, - "memory": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" + } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "store": { - "properties": { - "size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" } } } @@ -8143,198 +8139,198 @@ } } } - }, - "ml": { - "properties": { - "job": { - "properties": { - "data_counts": { - "properties": { - "invalid_date_count": { - "type": "long" - }, - "processed_record_count": { - "type": "long" - } - } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "ml": { + "properties": { + "job": { + "properties": { + "data_counts": { + "properties": { + "invalid_date_count": { + "type": "long" + }, + "processed_record_count": { + "type": "long" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "node": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "jvm": { - "properties": { - "memory": { - "properties": { - "heap": { - "properties": { - "init": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "jvm": { + "properties": { + "memory": { + "properties": { + "heap": { + "properties": { + "init": { + "properties": { + "bytes": { + "type": "long" } - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "nonheap": { - "properties": { - "init": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "nonheap": { + "properties": { + "init": { + "properties": { + "bytes": { + "type": "long" } - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "process": { - "properties": { - "mlockall": { - "type": "boolean" - } - } - }, - "stats": { - "properties": { - "fs": { - "properties": { - "summary": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "process": { + "properties": { + "mlockall": { + "type": "boolean" + } + } + }, + "stats": { + "properties": { + "fs": { + "properties": { + "summary": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "free": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "free": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "indices": { - "properties": { - "docs": { - "properties": { - "count": { - "type": "long" - }, - "deleted": { - "type": "long" - } + } + }, + "indices": { + "properties": { + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" } - }, - "segments": { - "properties": { - "count": { - "type": "long" - }, - "memory": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "store": { - "properties": { - "size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "jvm": { - "properties": { - "gc": { - "properties": { - "collectors": { - "properties": { - "old": { - "properties": { - "collection": { - "properties": { - "count": { - "type": "long" - }, - "ms": { - "type": "long" - } + } + }, + "jvm": { + "properties": { + "gc": { + "properties": { + "collectors": { + "properties": { + "old": { + "properties": { + "collection": { + "properties": { + "count": { + "type": "long" + }, + "ms": { + "type": "long" } } } - }, - "young": { - "properties": { - "collection": { - "properties": { - "count": { - "type": "long" - }, - "ms": { - "type": "long" - } + } + }, + "young": { + "properties": { + "collection": { + "properties": { + "count": { + "type": "long" + }, + "ms": { + "type": "long" } } } @@ -8342,103 +8338,103 @@ } } } - }, - "mem": { - "properties": { - "pools": { - "properties": { - "old": { - "properties": { - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "mem": { + "properties": { + "pools": { + "properties": { + "old": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak_max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak_max": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "survivor": { - "properties": { - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "survivor": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak_max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak_max": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "young": { - "properties": { - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "young": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak_max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak_max": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } @@ -8450,279 +8446,279 @@ } } } - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "shard": { - "properties": { - "number": { - "type": "long" - }, - "primary": { - "type": "boolean" - }, - "relocating_node": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "state": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "shard": { + "properties": { + "number": { + "type": "long" + }, + "primary": { + "type": "boolean" + }, + "relocating_node": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "state": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "envoyproxy": { - "properties": { - "server": { - "properties": { - "cluster_manager": { - "properties": { - "active_clusters": { - "type": "long" - }, - "cluster_added": { - "type": "long" - }, - "cluster_modified": { - "type": "long" - }, - "cluster_removed": { - "type": "long" - }, - "warming_clusters": { - "type": "long" - } - } - }, - "filesystem": { - "properties": { - "flushed_by_timer": { - "type": "long" - }, - "reopen_failed": { - "type": "long" - }, - "write_buffered": { - "type": "long" - }, - "write_completed": { - "type": "long" - }, - "write_total_buffered": { - "type": "long" - } - } - }, - "http2": { - "properties": { - "header_overflow": { - "type": "long" - }, - "headers_cb_no_stream": { - "type": "long" - }, - "rx_messaging_error": { - "type": "long" - }, - "rx_reset": { - "type": "long" - }, - "too_many_header_frames": { - "type": "long" - }, - "trailers": { - "type": "long" - }, - "tx_reset": { - "type": "long" - } - } - }, - "listener_manager": { - "properties": { - "listener_added": { - "type": "long" - }, - "listener_create_failure": { - "type": "long" - }, - "listener_create_success": { - "type": "long" - }, - "listener_modified": { - "type": "long" - }, - "listener_removed": { - "type": "long" - }, - "total_listeners_active": { - "type": "long" - }, - "total_listeners_draining": { - "type": "long" - }, - "total_listeners_warming": { - "type": "long" - } - } - }, - "runtime": { - "properties": { - "admin_overrides_active": { - "type": "long" - }, - "load_error": { - "type": "long" - }, - "load_success": { - "type": "long" - }, - "num_keys": { - "type": "long" - }, - "override_dir_exists": { - "type": "long" - }, - "override_dir_not_exists": { - "type": "long" - } - } - }, - "server": { - "properties": { - "days_until_first_cert_expiring": { - "type": "long" - }, - "hot_restart_epoch": { - "type": "long" - }, - "live": { - "type": "long" - }, - "memory_allocated": { - "type": "long" - }, - "memory_heap_size": { - "type": "long" - }, - "parent_connections": { - "type": "long" - }, - "total_connections": { - "type": "long" - }, - "uptime": { - "type": "long" - }, - "version": { - "type": "long" - }, - "watchdog_mega_miss": { - "type": "long" - }, - "watchdog_miss": { - "type": "long" - } - } - }, - "stats": { - "properties": { - "overflow": { - "type": "long" - } + } + }, + "envoyproxy": { + "properties": { + "server": { + "properties": { + "cluster_manager": { + "properties": { + "active_clusters": { + "type": "long" + }, + "cluster_added": { + "type": "long" + }, + "cluster_modified": { + "type": "long" + }, + "cluster_removed": { + "type": "long" + }, + "warming_clusters": { + "type": "long" + } + } + }, + "filesystem": { + "properties": { + "flushed_by_timer": { + "type": "long" + }, + "reopen_failed": { + "type": "long" + }, + "write_buffered": { + "type": "long" + }, + "write_completed": { + "type": "long" + }, + "write_total_buffered": { + "type": "long" + } + } + }, + "http2": { + "properties": { + "header_overflow": { + "type": "long" + }, + "headers_cb_no_stream": { + "type": "long" + }, + "rx_messaging_error": { + "type": "long" + }, + "rx_reset": { + "type": "long" + }, + "too_many_header_frames": { + "type": "long" + }, + "trailers": { + "type": "long" + }, + "tx_reset": { + "type": "long" + } + } + }, + "listener_manager": { + "properties": { + "listener_added": { + "type": "long" + }, + "listener_create_failure": { + "type": "long" + }, + "listener_create_success": { + "type": "long" + }, + "listener_modified": { + "type": "long" + }, + "listener_removed": { + "type": "long" + }, + "total_listeners_active": { + "type": "long" + }, + "total_listeners_draining": { + "type": "long" + }, + "total_listeners_warming": { + "type": "long" + } + } + }, + "runtime": { + "properties": { + "admin_overrides_active": { + "type": "long" + }, + "load_error": { + "type": "long" + }, + "load_success": { + "type": "long" + }, + "num_keys": { + "type": "long" + }, + "override_dir_exists": { + "type": "long" + }, + "override_dir_not_exists": { + "type": "long" + } + } + }, + "server": { + "properties": { + "days_until_first_cert_expiring": { + "type": "long" + }, + "hot_restart_epoch": { + "type": "long" + }, + "live": { + "type": "long" + }, + "memory_allocated": { + "type": "long" + }, + "memory_heap_size": { + "type": "long" + }, + "parent_connections": { + "type": "long" + }, + "total_connections": { + "type": "long" + }, + "uptime": { + "type": "long" + }, + "version": { + "type": "long" + }, + "watchdog_mega_miss": { + "type": "long" + }, + "watchdog_miss": { + "type": "long" + } + } + }, + "stats": { + "properties": { + "overflow": { + "type": "long" } } } } } - }, - "error": { - "properties": { - "code": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "error": { + "properties": { + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "etcd": { - "properties": { - "leader": { - "properties": { - "followers": { - "properties": { - "counts": { - "properties": { - "followers": { - "properties": { - "counts": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } + } + }, + "etcd": { + "properties": { + "leader": { + "properties": { + "followers": { + "properties": { + "counts": { + "properties": { + "followers": { + "properties": { + "counts": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" } } } } } - }, - "latency": { - "properties": { - "follower": { - "properties": { - "latency": { - "properties": { - "standardDeviation": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "latency": { + "properties": { + "follower": { + "properties": { + "latency": { + "properties": { + "standardDeviation": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "followers": { - "properties": { - "latency": { - "properties": { - "average": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "current": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "maximum": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "minimum": { - "type": "long" - } + } + }, + "followers": { + "properties": { + "latency": { + "properties": { + "average": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "current": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "maximum": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "minimum": { + "type": "long" } } } @@ -8730,1361 +8726,1361 @@ } } } - }, - "leader": { - "ignore_above": 1024, - "type": "keyword" } + }, + "leader": { + "ignore_above": 1024, + "type": "keyword" } - }, - "self": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "leaderinfo": { - "properties": { - "leader": { - "ignore_above": 1024, - "type": "keyword" - }, - "starttime": { - "ignore_above": 1024, - "type": "keyword" - }, - "uptime": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "recv": { - "properties": { - "appendrequest": { - "properties": { - "count": { - "type": "long" - } - } - }, - "bandwidthrate": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "pkgrate": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "send": { - "properties": { - "appendrequest": { - "properties": { - "count": { - "type": "long" - } - } - }, - "bandwidthrate": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "pkgrate": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "starttime": { - "ignore_above": 1024, - "type": "keyword" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "self": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "leaderinfo": { + "properties": { + "leader": { + "ignore_above": 1024, + "type": "keyword" + }, + "starttime": { + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "ignore_above": 1024, + "type": "keyword" + } } - } - }, - "store": { - "properties": { - "compareanddelete": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "compareandswap": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "create": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "delete": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "expire": { - "properties": { - "count": { - "type": "long" - } - } - }, - "gets": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "sets": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "update": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "watchers": { - "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "recv": { + "properties": { + "appendrequest": { + "properties": { + "count": { + "type": "long" + } + } + }, + "bandwidthrate": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "pkgrate": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "send": { + "properties": { + "appendrequest": { + "properties": { + "count": { + "type": "long" + } + } + }, + "bandwidthrate": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "pkgrate": { + "scaling_factor": 1000, + "type": "scaled_float" + } } + }, + "starttime": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" } } - } - }, - "event": { - "properties": { - "action": { - "ignore_above": 1024, - "type": "keyword" - }, - "category": { - "ignore_above": 1024, - "type": "keyword" - }, - "created": { - "type": "date" - }, - "dataset": { - "ignore_above": 1024, - "type": "keyword" - }, - "duration": { - "type": "long" - }, - "end": { - "type": "date" - }, - "hash": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "kind": { - "ignore_above": 1024, - "type": "keyword" - }, - "module": { - "ignore_above": 1024, - "type": "keyword" - }, - "original": { - "doc_values": false, - "ignore_above": 1024, - "index": false, - "type": "keyword" - }, - "outcome": { - "ignore_above": 1024, - "type": "keyword" - }, - "risk_score": { - "type": "float" - }, - "risk_score_norm": { - "type": "float" - }, - "severity": { - "type": "long" - }, - "start": { - "type": "date" - }, - "timezone": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "fields": { - "type": "object" - }, - "file": { - "properties": { - "ctime": { - "type": "date" - }, - "device": { - "ignore_above": 1024, - "type": "keyword" - }, - "extension": { - "ignore_above": 1024, - "type": "keyword" - }, - "gid": { - "ignore_above": 1024, - "type": "keyword" - }, - "group": { - "ignore_above": 1024, - "type": "keyword" - }, - "inode": { - "ignore_above": 1024, - "type": "keyword" - }, - "mode": { - "ignore_above": 1024, - "type": "keyword" - }, - "mtime": { - "type": "date" - }, - "owner": { - "ignore_above": 1024, - "type": "keyword" - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "size": { - "type": "long" - }, - "target_path": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "uid": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "golang": { - "properties": { - "expvar": { - "properties": { - "cmdline": { - "ignore_above": 1024, - "type": "keyword" + }, + "store": { + "properties": { + "compareanddelete": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } } - } - }, - "heap": { - "properties": { - "allocations": { - "properties": { - "active": { - "type": "long" - }, - "allocated": { - "type": "long" - }, - "frees": { - "type": "long" - }, - "idle": { - "type": "long" - }, - "mallocs": { - "type": "long" - }, - "objects": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "cmdline": { - "ignore_above": 1024, - "type": "keyword" - }, - "gc": { - "properties": { - "cpu_fraction": { - "type": "float" - }, - "next_gc_limit": { - "type": "long" - }, - "pause": { - "properties": { - "avg": { - "properties": { - "ns": { - "type": "long" - } - } - }, - "count": { - "type": "long" - }, - "max": { - "properties": { - "ns": { - "type": "long" - } - } - }, - "sum": { - "properties": { - "ns": { - "type": "long" - } - } - } - } - }, - "total_count": { - "type": "long" - }, - "total_pause": { - "properties": { - "ns": { - "type": "long" - } - } - } + }, + "compareandswap": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" } - }, - "system": { - "properties": { - "obtained": { - "type": "long" - }, - "released": { - "type": "long" - }, - "stack": { - "type": "long" - }, - "total": { - "type": "long" - } + } + }, + "create": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } + } + }, + "delete": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } + } + }, + "expire": { + "properties": { + "count": { + "type": "long" + } + } + }, + "gets": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } + } + }, + "sets": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } + } + }, + "update": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" } } + }, + "watchers": { + "type": "long" } } } - }, - "graphite": { - "properties": { - "server": { - "properties": { - "example": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "event": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "category": { + "ignore_above": 1024, + "type": "keyword" + }, + "created": { + "type": "date" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "end": { + "type": "date" + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "kind": { + "ignore_above": 1024, + "type": "keyword" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "doc_values": false, + "ignore_above": 1024, + "index": false, + "type": "keyword" + }, + "outcome": { + "ignore_above": 1024, + "type": "keyword" + }, + "risk_score": { + "type": "float" + }, + "risk_score_norm": { + "type": "float" + }, + "severity": { + "type": "long" + }, + "start": { + "type": "date" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "fields": { + "type": "object" + }, + "file": { + "properties": { + "ctime": { + "type": "date" + }, + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "extension": { + "ignore_above": 1024, + "type": "keyword" + }, + "gid": { + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "ignore_above": 1024, + "type": "keyword" + }, + "inode": { + "ignore_above": 1024, + "type": "keyword" + }, + "mode": { + "ignore_above": 1024, + "type": "keyword" + }, + "mtime": { + "type": "date" + }, + "owner": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "size": { + "type": "long" + }, + "target_path": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "golang": { + "properties": { + "expvar": { + "properties": { + "cmdline": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "heap": { + "properties": { + "allocations": { + "properties": { + "active": { + "type": "long" + }, + "allocated": { + "type": "long" + }, + "frees": { + "type": "long" + }, + "idle": { + "type": "long" + }, + "mallocs": { + "type": "long" + }, + "objects": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "cmdline": { + "ignore_above": 1024, + "type": "keyword" + }, + "gc": { + "properties": { + "cpu_fraction": { + "type": "float" + }, + "next_gc_limit": { + "type": "long" + }, + "pause": { + "properties": { + "avg": { + "properties": { + "ns": { + "type": "long" + } + } + }, + "count": { + "type": "long" + }, + "max": { + "properties": { + "ns": { + "type": "long" + } + } + }, + "sum": { + "properties": { + "ns": { + "type": "long" + } + } + } + } + }, + "total_count": { + "type": "long" + }, + "total_pause": { + "properties": { + "ns": { + "type": "long" + } + } + } + } + }, + "system": { + "properties": { + "obtained": { + "type": "long" + }, + "released": { + "type": "long" + }, + "stack": { + "type": "long" + }, + "total": { + "type": "long" + } } } } } - }, - "group": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "graphite": { + "properties": { + "server": { + "properties": { + "example": { + "ignore_above": 1024, + "type": "keyword" + } } } - }, - "haproxy": { - "properties": { - "info": { - "properties": { - "compress": { - "properties": { - "bps": { - "properties": { - "in": { - "type": "long" - }, - "out": { - "type": "long" - }, - "rate_limit": { - "type": "long" - } + } + }, + "group": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "haproxy": { + "properties": { + "info": { + "properties": { + "compress": { + "properties": { + "bps": { + "properties": { + "in": { + "type": "long" + }, + "out": { + "type": "long" + }, + "rate_limit": { + "type": "long" } } } - }, - "connection": { - "properties": { - "current": { - "type": "long" - }, - "hard_max": { - "type": "long" - }, - "max": { - "type": "long" - }, - "rate": { - "properties": { - "limit": { - "type": "long" - }, - "max": { - "type": "long" - }, - "value": { - "type": "long" - } - } - }, - "ssl": { - "properties": { - "current": { - "type": "long" - }, - "max": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "total": { - "type": "long" - } + } + }, + "connection": { + "properties": { + "current": { + "type": "long" + }, + "hard_max": { + "type": "long" + }, + "max": { + "type": "long" + }, + "rate": { + "properties": { + "limit": { + "type": "long" + }, + "max": { + "type": "long" + }, + "value": { + "type": "long" + } + } + }, + "ssl": { + "properties": { + "current": { + "type": "long" + }, + "max": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "total": { + "type": "long" } - }, - "idle": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "idle": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "memory": { - "properties": { - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "pid": { - "type": "long" - }, - "pipes": { - "properties": { - "free": { - "type": "long" - }, - "max": { - "type": "long" - }, - "used": { - "type": "long" - } - } - }, - "process_num": { - "type": "long" - }, - "processes": { - "type": "long" - }, - "requests": { - "properties": { - "max": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "run_queue": { - "type": "long" - }, - "session": { - "properties": { - "rate": { - "properties": { - "limit": { - "type": "long" - }, - "max": { - "type": "long" - }, - "value": { - "type": "long" - } + } + }, + "pid": { + "type": "long" + }, + "pipes": { + "properties": { + "free": { + "type": "long" + }, + "max": { + "type": "long" + }, + "used": { + "type": "long" + } + } + }, + "process_num": { + "type": "long" + }, + "processes": { + "type": "long" + }, + "requests": { + "properties": { + "max": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "run_queue": { + "type": "long" + }, + "session": { + "properties": { + "rate": { + "properties": { + "limit": { + "type": "long" + }, + "max": { + "type": "long" + }, + "value": { + "type": "long" } } } - }, - "sockets": { - "properties": { - "max": { - "type": "long" - } + } + }, + "sockets": { + "properties": { + "max": { + "type": "long" } - }, - "ssl": { - "properties": { - "backend": { - "properties": { - "key_rate": { - "properties": { - "max": { - "type": "long" - }, - "value": { - "type": "long" - } + } + }, + "ssl": { + "properties": { + "backend": { + "properties": { + "key_rate": { + "properties": { + "max": { + "type": "long" + }, + "value": { + "type": "long" } } } - }, - "cache_misses": { - "type": "long" - }, - "cached_lookups": { - "type": "long" - }, - "frontend": { - "properties": { - "key_rate": { - "properties": { - "max": { - "type": "long" - }, - "value": { - "type": "long" - } + } + }, + "cache_misses": { + "type": "long" + }, + "cached_lookups": { + "type": "long" + }, + "frontend": { + "properties": { + "key_rate": { + "properties": { + "max": { + "type": "long" + }, + "value": { + "type": "long" } - }, - "session_reuse": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "session_reuse": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "rate": { - "properties": { - "limit": { - "type": "long" - }, - "max": { - "type": "long" - }, - "value": { - "type": "long" - } + } + }, + "rate": { + "properties": { + "limit": { + "type": "long" + }, + "max": { + "type": "long" + }, + "value": { + "type": "long" } } } - }, - "tasks": { - "type": "long" - }, - "ulimit_n": { - "type": "long" - }, - "uptime": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "tasks": { + "type": "long" + }, + "ulimit_n": { + "type": "long" + }, + "uptime": { + "properties": { + "sec": { + "type": "long" } - }, - "zlib_mem_usage": { - "properties": { - "max": { - "type": "long" - }, - "value": { - "type": "long" - } + } + }, + "zlib_mem_usage": { + "properties": { + "max": { + "type": "long" + }, + "value": { + "type": "long" } } } - }, - "stat": { - "properties": { - "check": { - "properties": { - "agent": { - "properties": { - "last": { - "type": "long" - } - } - }, - "code": { - "type": "long" - }, - "down": { - "type": "long" - }, - "duration": { - "type": "long" - }, - "failed": { - "type": "long" - }, - "health": { - "properties": { - "fail": { - "type": "long" - }, - "last": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "client": { - "properties": { - "aborted": { - "type": "long" - } - } - }, - "component_type": { - "type": "long" - }, - "compressor": { - "properties": { - "bypassed": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "stat": { + "properties": { + "check": { + "properties": { + "agent": { + "properties": { + "last": { + "type": "long" + } + } + }, + "code": { + "type": "long" + }, + "down": { + "type": "long" + }, + "duration": { + "type": "long" + }, + "failed": { + "type": "long" + }, + "health": { + "properties": { + "fail": { + "type": "long" + }, + "last": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "client": { + "properties": { + "aborted": { + "type": "long" + } + } + }, + "component_type": { + "type": "long" + }, + "compressor": { + "properties": { + "bypassed": { + "properties": { + "bytes": { + "type": "long" } - }, - "in": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "in": { + "properties": { + "bytes": { + "type": "long" } - }, - "out": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "out": { + "properties": { + "bytes": { + "type": "long" } - }, - "response": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "response": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "connection": { - "properties": { - "retried": { - "type": "long" - }, - "time": { - "properties": { - "avg": { - "type": "long" - } - } - }, - "total": { - "type": "long" - } - } - }, - "downtime": { - "type": "long" - }, - "in": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "last_change": { - "type": "long" - }, - "out": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "process_id": { - "type": "long" - }, - "proxy": { - "properties": { - "id": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "queue": { - "properties": { - "limit": { - "type": "long" - }, - "time": { - "properties": { - "avg": { - "type": "long" - } + } + }, + "connection": { + "properties": { + "retried": { + "type": "long" + }, + "time": { + "properties": { + "avg": { + "type": "long" + } + } + }, + "total": { + "type": "long" + } + } + }, + "downtime": { + "type": "long" + }, + "in": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "last_change": { + "type": "long" + }, + "out": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "process_id": { + "type": "long" + }, + "proxy": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "queue": { + "properties": { + "limit": { + "type": "long" + }, + "time": { + "properties": { + "avg": { + "type": "long" } } } - }, - "request": { - "properties": { - "connection": { - "properties": { - "errors": { - "type": "long" - } - } - }, - "denied": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "queued": { - "properties": { - "current": { - "type": "long" - }, - "max": { - "type": "long" - } - } - }, - "rate": { - "properties": { - "max": { - "type": "long" - }, - "value": { - "type": "long" - } - } - }, - "redispatched": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "response": { - "properties": { - "denied": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "http": { - "properties": { - "1xx": { - "type": "long" - }, - "2xx": { - "type": "long" - }, - "3xx": { - "type": "long" - }, - "4xx": { - "type": "long" - }, - "5xx": { - "type": "long" - }, - "other": { - "type": "long" - } - } - }, - "time": { - "properties": { - "avg": { - "type": "long" - } + } + }, + "request": { + "properties": { + "connection": { + "properties": { + "errors": { + "type": "long" + } + } + }, + "denied": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "queued": { + "properties": { + "current": { + "type": "long" + }, + "max": { + "type": "long" + } + } + }, + "rate": { + "properties": { + "max": { + "type": "long" + }, + "value": { + "type": "long" + } + } + }, + "redispatched": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "response": { + "properties": { + "denied": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "http": { + "properties": { + "1xx": { + "type": "long" + }, + "2xx": { + "type": "long" + }, + "3xx": { + "type": "long" + }, + "4xx": { + "type": "long" + }, + "5xx": { + "type": "long" + }, + "other": { + "type": "long" + } + } + }, + "time": { + "properties": { + "avg": { + "type": "long" } } } - }, - "selected": { - "properties": { - "total": { - "type": "long" - } - } - }, - "server": { - "properties": { - "aborted": { - "type": "long" - }, - "active": { - "type": "long" - }, - "backup": { - "type": "long" - }, - "id": { - "type": "long" - } - } - }, - "service_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "session": { - "properties": { - "current": { - "type": "long" - }, - "limit": { - "type": "long" - }, - "max": { - "type": "long" - }, - "rate": { - "properties": { - "limit": { - "type": "long" - }, - "max": { - "type": "long" - }, - "value": { - "type": "long" - } + } + }, + "selected": { + "properties": { + "total": { + "type": "long" + } + } + }, + "server": { + "properties": { + "aborted": { + "type": "long" + }, + "active": { + "type": "long" + }, + "backup": { + "type": "long" + }, + "id": { + "type": "long" + } + } + }, + "service_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "session": { + "properties": { + "current": { + "type": "long" + }, + "limit": { + "type": "long" + }, + "max": { + "type": "long" + }, + "rate": { + "properties": { + "limit": { + "type": "long" + }, + "max": { + "type": "long" + }, + "value": { + "type": "long" } } } - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - }, - "throttle": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "throttle": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "tracked": { - "properties": { - "id": { - "type": "long" - } + } + }, + "tracked": { + "properties": { + "id": { + "type": "long" } - }, - "weight": { - "type": "long" } + }, + "weight": { + "type": "long" } } } - }, - "host": { - "properties": { - "architecture": { - "ignore_above": 1024, - "type": "keyword" - }, - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "host": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "properties": { - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "ignore_above": 1024, - "type": "keyword" - }, - "kernel": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "platform": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "type": { - "ignore_above": 1024, - "type": "keyword" } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "http": { - "properties": { - "json": { - "type": "object" - }, - "request": { - "properties": { - "body": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes": { - "type": "long" - }, - "headers": { - "type": "object" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - }, - "referrer": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "http": { + "properties": { + "json": { + "type": "object" + }, + "request": { + "properties": { + "body": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "headers": { + "type": "object" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "referrer": { + "ignore_above": 1024, + "type": "keyword" } - }, - "response": { - "properties": { - "body": { - "properties": { - "bytes": { - "type": "long" - }, - "content": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "bytes": { - "type": "long" - }, - "code": { - "ignore_above": 1024, - "type": "keyword" - }, - "headers": { - "type": "object" - }, - "phrase": { - "ignore_above": 1024, - "type": "keyword" - }, - "status_code": { - "type": "long" + } + }, + "response": { + "properties": { + "body": { + "properties": { + "bytes": { + "type": "long" + }, + "content": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "bytes": { + "type": "long" + }, + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "headers": { + "type": "object" + }, + "phrase": { + "ignore_above": 1024, + "type": "keyword" + }, + "status_code": { + "type": "long" } - }, - "server": { - "type": "object" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } + }, + "server": { + "type": "object" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "jolokia": { - "type": "object" - }, - "kafka": { - "properties": { - "broker": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "type": "long" - } + } + }, + "jolokia": { + "type": "object" + }, + "kafka": { + "properties": { + "broker": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "type": "long" } - }, - "consumergroup": { - "properties": { - "broker": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "type": "long" - } - } - }, - "client": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "member_id": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "error": { - "properties": { - "code": { - "type": "long" - } - } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "meta": { - "norms": false, - "type": "text" - }, - "offset": { - "type": "long" - }, - "partition": { - "type": "long" - }, - "topic": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "consumergroup": { + "properties": { + "broker": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "type": "long" + } + } + }, + "client": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "member_id": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "error": { + "properties": { + "code": { + "type": "long" + } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "meta": { + "norms": false, + "type": "text" + }, + "offset": { + "type": "long" + }, + "partition": { + "type": "long" + }, + "topic": { + "ignore_above": 1024, + "type": "keyword" } - }, - "partition": { - "properties": { - "broker": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "type": "long" - } - } - }, - "id": { - "type": "long" - }, - "offset": { - "properties": { - "newest": { - "type": "long" - }, - "oldest": { - "type": "long" - } - } - }, - "partition": { - "properties": { - "error": { - "properties": { - "code": { - "type": "long" - } - } - }, - "id": { - "type": "long" - }, - "insync_replica": { - "type": "boolean" - }, - "is_leader": { - "type": "boolean" - }, - "leader": { - "type": "long" - }, - "replica": { - "type": "long" - } - } - }, - "topic": { - "properties": { - "error": { - "properties": { - "code": { - "type": "long" - } + } + }, + "partition": { + "properties": { + "broker": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "type": "long" + } + } + }, + "id": { + "type": "long" + }, + "offset": { + "properties": { + "newest": { + "type": "long" + }, + "oldest": { + "type": "long" + } + } + }, + "partition": { + "properties": { + "error": { + "properties": { + "code": { + "type": "long" + } + } + }, + "id": { + "type": "long" + }, + "insync_replica": { + "type": "boolean" + }, + "is_leader": { + "type": "boolean" + }, + "leader": { + "type": "long" + }, + "replica": { + "type": "long" + } + } + }, + "topic": { + "properties": { + "error": { + "properties": { + "code": { + "type": "long" } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "topic_broker_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "topic_id": { - "ignore_above": 1024, - "type": "keyword" } + }, + "topic_broker_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "topic_id": { + "ignore_above": 1024, + "type": "keyword" } - }, - "topic": { - "properties": { - "error": { - "properties": { - "code": { - "type": "long" - } + } + }, + "topic": { + "properties": { + "error": { + "properties": { + "code": { + "type": "long" } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "kibana": { - "properties": { - "stats": { - "properties": { - "concurrent_connections": { - "type": "long" - }, - "host": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "index": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "norms": false, - "type": "text" - }, - "process": { - "properties": { - "event_loop_delay": { - "properties": { - "ms": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "memory": { - "properties": { - "heap": { - "properties": { - "size_limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "kibana": { + "properties": { + "stats": { + "properties": { + "concurrent_connections": { + "type": "long" + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "index": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "norms": false, + "type": "text" + }, + "process": { + "properties": { + "event_loop_delay": { + "properties": { + "ms": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "memory": { + "properties": { + "heap": { + "properties": { + "size_limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "uptime": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "uptime": { + "properties": { + "ms": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } @@ -10092,2033 +10088,2033 @@ } } } - }, - "request": { - "properties": { - "disconnects": { - "type": "long" - }, - "total": { - "type": "long" - } + } + }, + "request": { + "properties": { + "disconnects": { + "type": "long" + }, + "total": { + "type": "long" } - }, - "response_time": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "response_time": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } - }, - "max": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "max": { + "properties": { + "ms": { + "type": "long" } } } - }, - "snapshot": { - "type": "boolean" - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - }, - "transport_address": { - "ignore_above": 1024, - "type": "keyword" - }, - "uuid": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } + }, + "snapshot": { + "type": "boolean" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "transport_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "uuid": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "status": { - "properties": { - "metrics": { - "properties": { - "concurrent_connections": { - "type": "long" - }, - "requests": { - "properties": { - "disconnects": { - "type": "long" - }, - "total": { - "type": "long" - } + } + }, + "status": { + "properties": { + "metrics": { + "properties": { + "concurrent_connections": { + "type": "long" + }, + "requests": { + "properties": { + "disconnects": { + "type": "long" + }, + "total": { + "type": "long" } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "status": { - "properties": { - "overall": { - "properties": { - "state": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "properties": { + "overall": { + "properties": { + "state": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "uuid": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "properties": { - "number": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "uuid": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "properties": { + "number": { + "ignore_above": 1024, + "type": "keyword" } } } } } - }, - "kubernetes": { - "properties": { - "annotations": { - "type": "object" - }, - "apiserver": { - "properties": { - "request": { - "properties": { - "client": { - "ignore_above": 1024, - "type": "keyword" - }, - "count": { - "type": "long" - }, - "latency": { - "properties": { - "bucket": { - "type": "object" - }, - "count": { - "type": "long" - }, - "sum": { - "type": "long" - } - } - }, - "resource": { - "ignore_above": 1024, - "type": "keyword" - }, - "scope": { - "ignore_above": 1024, - "type": "keyword" - }, - "subresource": { - "ignore_above": 1024, - "type": "keyword" - }, - "verb": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "kubernetes": { + "properties": { + "annotations": { + "type": "object" + }, + "apiserver": { + "properties": { + "request": { + "properties": { + "client": { + "ignore_above": 1024, + "type": "keyword" + }, + "count": { + "type": "long" + }, + "latency": { + "properties": { + "bucket": { + "type": "object" + }, + "count": { + "type": "long" + }, + "sum": { + "type": "long" + } + } + }, + "resource": { + "ignore_above": 1024, + "type": "keyword" + }, + "scope": { + "ignore_above": 1024, + "type": "keyword" + }, + "subresource": { + "ignore_above": 1024, + "type": "keyword" + }, + "verb": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "container": { - "properties": { - "cpu": { - "properties": { - "limit": { - "properties": { - "cores": { - "type": "long" - }, - "nanocores": { - "type": "long" - } - } - }, - "request": { - "properties": { - "cores": { - "type": "long" - }, - "nanocores": { - "type": "long" - } - } - }, - "usage": { - "properties": { - "core": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "container": { + "properties": { + "cpu": { + "properties": { + "limit": { + "properties": { + "cores": { + "type": "long" + }, + "nanocores": { + "type": "long" + } + } + }, + "request": { + "properties": { + "cores": { + "type": "long" + }, + "nanocores": { + "type": "long" + } + } + }, + "usage": { + "properties": { + "core": { + "properties": { + "ns": { + "type": "long" } - }, - "limit": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "limit": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "nanocores": { - "type": "long" - }, - "node": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "nanocores": { + "type": "long" + }, + "node": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } } } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "image": { - "ignore_above": 1024, - "type": "keyword" - }, - "logs": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "inodes": { - "properties": { - "count": { - "type": "long" - }, - "free": { - "type": "long" - }, - "used": { - "type": "long" - } - } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "ignore_above": 1024, + "type": "keyword" + }, + "logs": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "inodes": { + "properties": { + "count": { + "type": "long" + }, + "free": { + "type": "long" + }, + "used": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "memory": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "majorpagefaults": { - "type": "long" - }, - "pagefaults": { - "type": "long" - }, - "request": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "rss": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "limit": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "memory": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "limit": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "majorpagefaults": { + "type": "long" + }, + "pagefaults": { + "type": "long" + }, + "request": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "rss": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "limit": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "node": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "node": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "workingset": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "workingset": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "rootfs": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "rootfs": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" } - }, - "inodes": { - "properties": { - "used": { - "type": "long" - } + } + }, + "inodes": { + "properties": { + "used": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "start_time": { - "type": "date" - }, - "status": { - "properties": { - "phase": { - "ignore_above": 1024, - "type": "keyword" - }, - "ready": { - "type": "boolean" - }, - "reason": { - "ignore_above": 1024, - "type": "keyword" - }, - "restarts": { - "type": "long" - } + } + }, + "start_time": { + "type": "date" + }, + "status": { + "properties": { + "phase": { + "ignore_above": 1024, + "type": "keyword" + }, + "ready": { + "type": "boolean" + }, + "reason": { + "ignore_above": 1024, + "type": "keyword" + }, + "restarts": { + "type": "long" } } } - }, - "deployment": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "paused": { - "type": "boolean" - }, - "replicas": { - "properties": { - "available": { - "type": "long" - }, - "desired": { - "type": "long" - }, - "unavailable": { - "type": "long" - }, - "updated": { - "type": "long" - } + } + }, + "deployment": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "paused": { + "type": "boolean" + }, + "replicas": { + "properties": { + "available": { + "type": "long" + }, + "desired": { + "type": "long" + }, + "unavailable": { + "type": "long" + }, + "updated": { + "type": "long" } } } - }, - "event": { - "properties": { - "count": { - "type": "long" - }, - "involved_object": { - "properties": { - "api_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "kind": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "resource_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "uid": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "message": { - "ignore_above": 1024, - "type": "keyword" - }, - "metadata": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "namespace": { - "ignore_above": 1024, - "type": "keyword" - }, - "resource_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "self_link": { - "ignore_above": 1024, - "type": "keyword" - }, - "timestamp": { - "properties": { - "created": { - "type": "date" - } - } - }, - "uid": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "event": { + "properties": { + "count": { + "type": "long" + }, + "involved_object": { + "properties": { + "api_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "kind": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "resource_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" } - }, - "reason": { - "ignore_above": 1024, - "type": "keyword" - }, - "timestamp": { - "properties": { - "first_occurrence": { - "type": "date" - }, - "last_occurrence": { - "type": "date" - } + } + }, + "message": { + "ignore_above": 1024, + "type": "keyword" + }, + "metadata": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "resource_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "self_link": { + "ignore_above": 1024, + "type": "keyword" + }, + "timestamp": { + "properties": { + "created": { + "type": "date" + } + } + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "reason": { + "ignore_above": 1024, + "type": "keyword" + }, + "timestamp": { + "properties": { + "first_occurrence": { + "type": "date" + }, + "last_occurrence": { + "type": "date" } - }, - "type": { - "ignore_above": 1024, - "type": "keyword" } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "labels": { - "type": "object" - }, - "namespace": { - "ignore_above": 1024, - "type": "keyword" - }, - "node": { - "properties": { - "cpu": { - "properties": { - "allocatable": { - "properties": { - "cores": { - "type": "float" - } - } - }, - "capacity": { - "properties": { - "cores": { - "type": "long" - } - } - }, - "usage": { - "properties": { - "core": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "labels": { + "type": "object" + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "cpu": { + "properties": { + "allocatable": { + "properties": { + "cores": { + "type": "float" + } + } + }, + "capacity": { + "properties": { + "cores": { + "type": "long" + } + } + }, + "usage": { + "properties": { + "core": { + "properties": { + "ns": { + "type": "long" } - }, - "nanocores": { - "type": "long" } + }, + "nanocores": { + "type": "long" } } } - }, - "fs": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "fs": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" } - }, - "inodes": { - "properties": { - "count": { - "type": "long" - }, - "free": { - "type": "long" - }, - "used": { - "type": "long" - } + } + }, + "inodes": { + "properties": { + "count": { + "type": "long" + }, + "free": { + "type": "long" + }, + "used": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "memory": { - "properties": { - "allocatable": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "allocatable": { + "properties": { + "bytes": { + "type": "long" } - }, - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" } - }, - "majorpagefaults": { - "type": "long" - }, - "pagefaults": { - "type": "long" - }, - "rss": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "majorpagefaults": { + "type": "long" + }, + "pagefaults": { + "type": "long" + }, + "rss": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" } - }, - "workingset": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "workingset": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "network": { - "properties": { - "rx": { - "properties": { - "bytes": { - "type": "long" - }, - "errors": { - "type": "long" - } - } - }, - "tx": { - "properties": { - "bytes": { - "type": "long" - }, - "errors": { - "type": "long" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "network": { + "properties": { + "rx": { + "properties": { + "bytes": { + "type": "long" + }, + "errors": { + "type": "long" + } + } + }, + "tx": { + "properties": { + "bytes": { + "type": "long" + }, + "errors": { + "type": "long" } } } - }, - "pod": { - "properties": { - "allocatable": { - "properties": { - "total": { - "type": "long" - } + } + }, + "pod": { + "properties": { + "allocatable": { + "properties": { + "total": { + "type": "long" } - }, - "capacity": { - "properties": { - "total": { - "type": "long" - } + } + }, + "capacity": { + "properties": { + "total": { + "type": "long" } } } - }, - "runtime": { - "properties": { - "imagefs": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "runtime": { + "properties": { + "imagefs": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "start_time": { - "type": "date" - }, - "status": { - "properties": { - "ready": { - "ignore_above": 1024, - "type": "keyword" - }, - "unschedulable": { - "type": "boolean" - } + } + }, + "start_time": { + "type": "date" + }, + "status": { + "properties": { + "ready": { + "ignore_above": 1024, + "type": "keyword" + }, + "unschedulable": { + "type": "boolean" } } } - }, - "pod": { - "properties": { - "cpu": { - "properties": { - "usage": { - "properties": { - "limit": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "pod": { + "properties": { + "cpu": { + "properties": { + "usage": { + "properties": { + "limit": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "nanocores": { - "type": "long" - }, - "node": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "nanocores": { + "type": "long" + }, + "node": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } } } - }, - "host_ip": { - "type": "ip" - }, - "ip": { - "type": "ip" - }, - "memory": { - "properties": { - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "limit": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "host_ip": { + "type": "ip" + }, + "ip": { + "type": "ip" + }, + "memory": { + "properties": { + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "limit": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "node": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "node": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "network": { - "properties": { - "rx": { - "properties": { - "bytes": { - "type": "long" - }, - "errors": { - "type": "long" - } - } - }, - "tx": { - "properties": { - "bytes": { - "type": "long" - }, - "errors": { - "type": "long" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "network": { + "properties": { + "rx": { + "properties": { + "bytes": { + "type": "long" + }, + "errors": { + "type": "long" + } + } + }, + "tx": { + "properties": { + "bytes": { + "type": "long" + }, + "errors": { + "type": "long" } } } - }, - "start_time": { - "type": "date" - }, - "status": { - "properties": { - "phase": { - "ignore_above": 1024, - "type": "keyword" - }, - "ready": { - "ignore_above": 1024, - "type": "keyword" - }, - "scheduled": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "start_time": { + "type": "date" + }, + "status": { + "properties": { + "phase": { + "ignore_above": 1024, + "type": "keyword" + }, + "ready": { + "ignore_above": 1024, + "type": "keyword" + }, + "scheduled": { + "ignore_above": 1024, + "type": "keyword" } - }, - "uid": { - "ignore_above": 1024, - "type": "keyword" } + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" } - }, - "replicaset": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "replicas": { - "properties": { - "available": { - "type": "long" - }, - "desired": { - "type": "long" - }, - "labeled": { - "type": "long" - }, - "observed": { - "type": "long" - }, - "ready": { - "type": "long" - } + } + }, + "replicaset": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "replicas": { + "properties": { + "available": { + "type": "long" + }, + "desired": { + "type": "long" + }, + "labeled": { + "type": "long" + }, + "observed": { + "type": "long" + }, + "ready": { + "type": "long" } } } - }, - "statefulset": { - "properties": { - "created": { - "type": "long" - }, - "generation": { - "properties": { - "desired": { - "type": "long" - }, - "observed": { - "type": "long" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "replicas": { - "properties": { - "desired": { - "type": "long" - }, - "observed": { - "type": "long" - } + } + }, + "statefulset": { + "properties": { + "created": { + "type": "long" + }, + "generation": { + "properties": { + "desired": { + "type": "long" + }, + "observed": { + "type": "long" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "replicas": { + "properties": { + "desired": { + "type": "long" + }, + "observed": { + "type": "long" } } } - }, - "system": { - "properties": { - "container": { - "ignore_above": 1024, - "type": "keyword" - }, - "cpu": { - "properties": { - "usage": { - "properties": { - "core": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "system": { + "properties": { + "container": { + "ignore_above": 1024, + "type": "keyword" + }, + "cpu": { + "properties": { + "usage": { + "properties": { + "core": { + "properties": { + "ns": { + "type": "long" } - }, - "nanocores": { - "type": "long" } + }, + "nanocores": { + "type": "long" } } } - }, - "memory": { - "properties": { - "majorpagefaults": { - "type": "long" - }, - "pagefaults": { - "type": "long" - }, - "rss": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "majorpagefaults": { + "type": "long" + }, + "pagefaults": { + "type": "long" + }, + "rss": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" } - }, - "workingset": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "workingset": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "start_time": { - "type": "date" } + }, + "start_time": { + "type": "date" } - }, - "volume": { - "properties": { - "fs": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "volume": { + "properties": { + "fs": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" } - }, - "inodes": { - "properties": { - "count": { - "type": "long" - }, - "free": { - "type": "long" - }, - "used": { - "type": "long" - } + } + }, + "inodes": { + "properties": { + "count": { + "type": "long" + }, + "free": { + "type": "long" + }, + "used": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "kvm": { - "properties": { - "dommemstat": { - "properties": { - "id": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "stat": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "value": { - "type": "long" - } + } + }, + "kvm": { + "properties": { + "dommemstat": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "stat": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "value": { + "type": "long" } } } } } - }, - "labels": { - "type": "object" - }, - "log": { - "properties": { - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "original": { - "doc_values": false, - "ignore_above": 1024, - "index": false, - "type": "keyword" - } + } + }, + "labels": { + "type": "object" + }, + "log": { + "properties": { + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "doc_values": false, + "ignore_above": 1024, + "index": false, + "type": "keyword" } - }, - "logstash": { - "properties": { - "node": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "jvm": { - "properties": { - "pid": { - "type": "long" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "stats": { - "properties": { - "events": { - "properties": { - "filtered": { - "type": "long" - }, - "in": { - "type": "long" - }, - "out": { - "type": "long" - } + } + }, + "logstash": { + "properties": { + "node": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "jvm": { + "properties": { + "pid": { + "type": "long" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "stats": { + "properties": { + "events": { + "properties": { + "filtered": { + "type": "long" + }, + "in": { + "type": "long" + }, + "out": { + "type": "long" } } } - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "memcached": { - "properties": { - "stats": { - "properties": { - "bytes": { - "properties": { - "current": { - "type": "long" - }, - "limit": { - "type": "long" - } - } - }, - "cmd": { - "properties": { - "get": { - "type": "long" - }, - "set": { - "type": "long" - } - } - }, - "connections": { - "properties": { - "current": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "evictions": { - "type": "long" - }, - "get": { - "properties": { - "hits": { - "type": "long" - }, - "misses": { - "type": "long" - } - } - }, - "items": { - "properties": { - "current": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "pid": { - "type": "long" - }, - "read": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "threads": { - "type": "long" - }, - "uptime": { - "properties": { - "sec": { - "type": "long" - } - } - }, - "written": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memcached": { + "properties": { + "stats": { + "properties": { + "bytes": { + "properties": { + "current": { + "type": "long" + }, + "limit": { + "type": "long" + } + } + }, + "cmd": { + "properties": { + "get": { + "type": "long" + }, + "set": { + "type": "long" + } + } + }, + "connections": { + "properties": { + "current": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "evictions": { + "type": "long" + }, + "get": { + "properties": { + "hits": { + "type": "long" + }, + "misses": { + "type": "long" + } + } + }, + "items": { + "properties": { + "current": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "pid": { + "type": "long" + }, + "read": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "threads": { + "type": "long" + }, + "uptime": { + "properties": { + "sec": { + "type": "long" + } + } + }, + "written": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "message": { - "norms": false, - "type": "text" - }, - "meta": { - "properties": { - "cloud": { - "properties": { - "availability_zone": { - "path": "cloud.availability_zone", - "type": "alias" - }, - "instance_id": { - "path": "cloud.instance.id", - "type": "alias" - }, - "instance_name": { - "path": "cloud.instance.name", - "type": "alias" - }, - "machine_type": { - "path": "cloud.machine.type", - "type": "alias" - }, - "project_id": { - "path": "cloud.project.id", - "type": "alias" - }, - "provider": { - "path": "cloud.provider", - "type": "alias" - }, - "region": { - "path": "cloud.region", - "type": "alias" - } + } + }, + "message": { + "norms": false, + "type": "text" + }, + "meta": { + "properties": { + "cloud": { + "properties": { + "availability_zone": { + "path": "cloud.availability_zone", + "type": "alias" + }, + "instance_id": { + "path": "cloud.instance.id", + "type": "alias" + }, + "instance_name": { + "path": "cloud.instance.name", + "type": "alias" + }, + "machine_type": { + "path": "cloud.machine.type", + "type": "alias" + }, + "project_id": { + "path": "cloud.project.id", + "type": "alias" + }, + "provider": { + "path": "cloud.provider", + "type": "alias" + }, + "region": { + "path": "cloud.region", + "type": "alias" } } } - }, - "metricset": { - "properties": { - "module": { - "path": "event.module", - "type": "alias" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "metricset": { + "properties": { + "module": { + "path": "event.module", + "type": "alias" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "mongodb": { - "properties": { - "collstats": { - "properties": { - "collection": { - "ignore_above": 1024, - "type": "keyword" - }, - "commands": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "mongodb": { + "properties": { + "collstats": { + "properties": { + "collection": { + "ignore_above": 1024, + "type": "keyword" + }, + "commands": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } - }, - "db": { - "ignore_above": 1024, - "type": "keyword" - }, - "getmore": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "db": { + "ignore_above": 1024, + "type": "keyword" + }, + "getmore": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } - }, - "insert": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "insert": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } - }, - "lock": { - "properties": { - "read": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "lock": { + "properties": { + "read": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } - }, - "write": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "write": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "queries": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "queries": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } - }, - "remove": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "remove": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } - }, - "total": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "total": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } - }, - "update": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "update": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } } } - }, - "dbstats": { - "properties": { - "avg_obj_size": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "collections": { - "type": "long" - }, - "data_file_version": { - "properties": { - "major": { - "type": "long" - }, - "minor": { - "type": "long" - } - } - }, - "data_size": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "db": { - "ignore_above": 1024, - "type": "keyword" - }, - "extent_free_list": { - "properties": { - "num": { - "type": "long" - }, - "size": { - "properties": { - "bytes": { - "type": "long" - } - } - } - } - }, - "file_size": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "index_size": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "indexes": { - "type": "long" - }, - "ns_size_mb": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "dbstats": { + "properties": { + "avg_obj_size": { + "properties": { + "bytes": { + "type": "long" } - }, - "num_extents": { - "type": "long" - }, - "objects": { - "type": "long" - }, - "storage_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "collections": { + "type": "long" + }, + "data_file_version": { + "properties": { + "major": { + "type": "long" + }, + "minor": { + "type": "long" } } - } - }, - "metrics": { - "properties": { - "commands": { - "properties": { - "aggregate": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "build_info": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "coll_stats": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "connection_pool_stats": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "count": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "db_stats": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "distinct": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "find": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "get_cmd_line_opts": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "get_last_error": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "get_log": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "get_more": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "get_parameter": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "host_info": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "insert": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "is_master": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "is_self": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "last_collections": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "last_commands": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "list_databased": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "list_indexes": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "ping": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "profile": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "replset_get_rbid": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "replset_get_status": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "replset_heartbeat": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "replset_update_position": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "server_status": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "update": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "whatsmyuri": { - "properties": { - "failed": { - "type": "long" - }, - "total": { - "type": "long" - } + }, + "data_size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "db": { + "ignore_above": 1024, + "type": "keyword" + }, + "extent_free_list": { + "properties": { + "num": { + "type": "long" + }, + "size": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "cursor": { - "properties": { - "open": { - "properties": { - "no_timeout": { - "type": "long" - }, - "pinned": { - "type": "long" - }, - "total": { - "type": "long" - } + } + }, + "file_size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "index_size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "indexes": { + "type": "long" + }, + "ns_size_mb": { + "properties": { + "mb": { + "type": "long" + } + } + }, + "num_extents": { + "type": "long" + }, + "objects": { + "type": "long" + }, + "storage_size": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "metrics": { + "properties": { + "commands": { + "properties": { + "aggregate": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "build_info": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "coll_stats": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "connection_pool_stats": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "count": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "db_stats": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "distinct": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "find": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "get_cmd_line_opts": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "get_last_error": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "get_log": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "get_more": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "get_parameter": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "host_info": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "insert": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "is_master": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "is_self": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "last_collections": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "last_commands": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "list_databased": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "list_indexes": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "ping": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "profile": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "replset_get_rbid": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "replset_get_status": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "replset_heartbeat": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "replset_update_position": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "server_status": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "update": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "whatsmyuri": { + "properties": { + "failed": { + "type": "long" + }, + "total": { + "type": "long" } - }, - "timed_out": { - "type": "long" - } - } - }, - "document": { - "properties": { - "deleted": { - "type": "long" - }, - "inserted": { - "type": "long" - }, - "returned": { - "type": "long" - }, - "updated": { - "type": "long" - } - } - }, - "get_last_error": { - "properties": { - "write_timeouts": { - "type": "long" - }, - "write_wait": { - "properties": { - "count": { - "type": "long" - }, - "ms": { - "type": "long" - } + } + } + } + }, + "cursor": { + "properties": { + "open": { + "properties": { + "no_timeout": { + "type": "long" + }, + "pinned": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "timed_out": { + "type": "long" + } + } + }, + "document": { + "properties": { + "deleted": { + "type": "long" + }, + "inserted": { + "type": "long" + }, + "returned": { + "type": "long" + }, + "updated": { + "type": "long" + } + } + }, + "get_last_error": { + "properties": { + "write_timeouts": { + "type": "long" + }, + "write_wait": { + "properties": { + "count": { + "type": "long" + }, + "ms": { + "type": "long" } } } - }, - "operation": { - "properties": { - "scan_and_order": { - "type": "long" - }, - "write_conflicts": { - "type": "long" - } - } - }, - "query_executor": { - "properties": { - "scanned_documents": { - "type": "long" - }, - "scanned_indexes": { - "type": "long" - } - } - }, - "replication": { - "properties": { - "apply": { - "properties": { - "attempts_to_become_secondary": { - "type": "long" - }, - "batches": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "operation": { + "properties": { + "scan_and_order": { + "type": "long" + }, + "write_conflicts": { + "type": "long" + } + } + }, + "query_executor": { + "properties": { + "scanned_documents": { + "type": "long" + }, + "scanned_indexes": { + "type": "long" + } + } + }, + "replication": { + "properties": { + "apply": { + "properties": { + "attempts_to_become_secondary": { + "type": "long" + }, + "batches": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "ms": { + "type": "long" } } } - }, - "ops": { - "type": "long" } - } - }, - "buffer": { - "properties": { - "count": { - "type": "long" - }, - "max_size": { - "properties": { - "bytes": { - "type": "long" - } + }, + "ops": { + "type": "long" + } + } + }, + "buffer": { + "properties": { + "count": { + "type": "long" + }, + "max_size": { + "properties": { + "bytes": { + "type": "long" } - }, - "size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "size": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "executor": { - "properties": { - "counters": { - "properties": { - "cancels": { - "type": "long" - }, - "event_created": { - "type": "long" - }, - "event_wait": { - "type": "long" - }, - "scheduled": { - "properties": { - "dbwork": { - "type": "long" - }, - "exclusive": { - "type": "long" - }, - "failures": { - "type": "long" - }, - "netcmd": { - "type": "long" - }, - "work": { - "type": "long" - }, - "work_at": { - "type": "long" - } + } + }, + "executor": { + "properties": { + "counters": { + "properties": { + "cancels": { + "type": "long" + }, + "event_created": { + "type": "long" + }, + "event_wait": { + "type": "long" + }, + "scheduled": { + "properties": { + "dbwork": { + "type": "long" + }, + "exclusive": { + "type": "long" + }, + "failures": { + "type": "long" + }, + "netcmd": { + "type": "long" + }, + "work": { + "type": "long" + }, + "work_at": { + "type": "long" } - }, - "waits": { - "type": "long" } + }, + "waits": { + "type": "long" } - }, - "event_waiters": { - "type": "long" - }, - "network_interface": { - "norms": false, - "type": "text" - }, - "queues": { - "properties": { - "free": { - "type": "long" - }, - "in_progress": { - "properties": { - "dbwork": { - "type": "long" - }, - "exclusive": { - "type": "long" - }, - "network": { - "type": "long" - } + } + }, + "event_waiters": { + "type": "long" + }, + "network_interface": { + "norms": false, + "type": "text" + }, + "queues": { + "properties": { + "free": { + "type": "long" + }, + "in_progress": { + "properties": { + "dbwork": { + "type": "long" + }, + "exclusive": { + "type": "long" + }, + "network": { + "type": "long" } - }, - "ready": { - "type": "long" - }, - "sleepers": { - "type": "long" } + }, + "ready": { + "type": "long" + }, + "sleepers": { + "type": "long" } - }, - "shutting_down": { - "type": "boolean" - }, - "unsignaled_events": { - "type": "long" - } - } - }, - "initial_sync": { - "properties": { - "completed": { - "type": "long" - }, - "failed_attempts": { - "type": "long" - }, - "failures": { - "type": "long" } - } - }, - "network": { - "properties": { - "bytes": { - "type": "long" - }, - "getmores": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "ms": { - "type": "long" - } + }, + "shutting_down": { + "type": "boolean" + }, + "unsignaled_events": { + "type": "long" + } + } + }, + "initial_sync": { + "properties": { + "completed": { + "type": "long" + }, + "failed_attempts": { + "type": "long" + }, + "failures": { + "type": "long" + } + } + }, + "network": { + "properties": { + "bytes": { + "type": "long" + }, + "getmores": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "ms": { + "type": "long" } } } - }, - "ops": { - "type": "long" - }, - "reders_created": { - "type": "long" } - } - }, - "preload": { - "properties": { - "docs": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "ms": { - "type": "long" - } + }, + "ops": { + "type": "long" + }, + "reders_created": { + "type": "long" + } + } + }, + "preload": { + "properties": { + "docs": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "ms": { + "type": "long" } } } - }, - "indexes": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "indexes": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "ms": { + "type": "long" } } } @@ -12126,789 +12122,789 @@ } } } - }, - "storage": { - "properties": { - "free_list": { - "properties": { - "search": { - "properties": { - "bucket_exhausted": { - "type": "long" - }, - "requests": { - "type": "long" - }, - "scanned": { - "type": "long" - } + } + }, + "storage": { + "properties": { + "free_list": { + "properties": { + "search": { + "properties": { + "bucket_exhausted": { + "type": "long" + }, + "requests": { + "type": "long" + }, + "scanned": { + "type": "long" } } } } } - }, - "ttl": { - "properties": { - "deleted_documents": { - "type": "long" - }, - "passes": { - "type": "long" - } + } + }, + "ttl": { + "properties": { + "deleted_documents": { + "type": "long" + }, + "passes": { + "type": "long" } } } - }, - "replstatus": { - "properties": { - "headroom": { - "properties": { - "max": { - "type": "long" - }, - "min": { - "type": "long" - } - } - }, - "lag": { - "properties": { - "max": { - "type": "long" - }, - "min": { - "type": "long" - } - } - }, - "members": { - "properties": { - "arbiter": { - "properties": { - "count": { - "type": "long" - } + } + }, + "replstatus": { + "properties": { + "headroom": { + "properties": { + "max": { + "type": "long" + }, + "min": { + "type": "long" + } + } + }, + "lag": { + "properties": { + "max": { + "type": "long" + }, + "min": { + "type": "long" + } + } + }, + "members": { + "properties": { + "arbiter": { + "properties": { + "count": { + "type": "long" } - }, - "down": { - "properties": { - "count": { - "type": "long" - } + } + }, + "down": { + "properties": { + "count": { + "type": "long" } - }, - "primary": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "optime": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "primary": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "optime": { + "ignore_above": 1024, + "type": "keyword" } - }, - "recovering": { - "properties": { - "count": { - "type": "long" - } + } + }, + "recovering": { + "properties": { + "count": { + "type": "long" } - }, - "rollback": { - "properties": { - "count": { - "type": "long" - } + } + }, + "rollback": { + "properties": { + "count": { + "type": "long" } - }, - "secondary": { - "properties": { - "count": { - "type": "long" - }, - "optimes": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "secondary": { + "properties": { + "count": { + "type": "long" + }, + "optimes": { + "ignore_above": 1024, + "type": "keyword" } - }, - "startup2": { - "properties": { - "count": { - "type": "long" - } + } + }, + "startup2": { + "properties": { + "count": { + "type": "long" } - }, - "unhealthy": { - "properties": { - "count": { - "type": "long" - } + } + }, + "unhealthy": { + "properties": { + "count": { + "type": "long" } - }, - "unknown": { - "properties": { - "count": { - "type": "long" - } + } + }, + "unknown": { + "properties": { + "count": { + "type": "long" } } } - }, - "oplog": { - "properties": { - "first": { - "properties": { - "timestamp": { - "type": "long" - } + } + }, + "oplog": { + "properties": { + "first": { + "properties": { + "timestamp": { + "type": "long" } - }, - "last": { - "properties": { - "timestamp": { - "type": "long" - } + } + }, + "last": { + "properties": { + "timestamp": { + "type": "long" } - }, - "size": { - "properties": { - "allocated": { - "type": "long" - }, - "used": { - "type": "long" - } + } + }, + "size": { + "properties": { + "allocated": { + "type": "long" + }, + "used": { + "type": "long" } - }, - "window": { - "type": "long" } + }, + "window": { + "type": "long" } - }, - "optimes": { - "properties": { - "applied": { - "type": "long" - }, - "durable": { - "type": "long" - }, - "last_committed": { - "type": "long" - } + } + }, + "optimes": { + "properties": { + "applied": { + "type": "long" + }, + "durable": { + "type": "long" + }, + "last_committed": { + "type": "long" } - }, - "server_date": { - "type": "date" - }, - "set_name": { - "ignore_above": 1024, - "type": "keyword" } + }, + "server_date": { + "type": "date" + }, + "set_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "status": { - "properties": { - "asserts": { - "properties": { - "msg": { - "type": "long" - }, - "regular": { - "type": "long" - }, - "rollovers": { - "type": "long" - }, - "user": { - "type": "long" - }, - "warning": { - "type": "long" - } - } - }, - "background_flushing": { - "properties": { - "average": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "status": { + "properties": { + "asserts": { + "properties": { + "msg": { + "type": "long" + }, + "regular": { + "type": "long" + }, + "rollovers": { + "type": "long" + }, + "user": { + "type": "long" + }, + "warning": { + "type": "long" + } + } + }, + "background_flushing": { + "properties": { + "average": { + "properties": { + "ms": { + "type": "long" } - }, - "flushes": { - "type": "long" - }, - "last": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "flushes": { + "type": "long" + }, + "last": { + "properties": { + "ms": { + "type": "long" } - }, - "last_finished": { - "type": "date" - }, - "total": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "last_finished": { + "type": "date" + }, + "total": { + "properties": { + "ms": { + "type": "long" } } } - }, - "connections": { - "properties": { - "available": { - "type": "long" - }, - "current": { - "type": "long" - }, - "total_created": { - "type": "long" - } + } + }, + "connections": { + "properties": { + "available": { + "type": "long" + }, + "current": { + "type": "long" + }, + "total_created": { + "type": "long" } - }, - "extra_info": { - "properties": { - "heap_usage": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "page_faults": { - "type": "long" - } - } - }, - "global_lock": { - "properties": { - "active_clients": { - "properties": { - "readers": { - "type": "long" - }, - "total": { - "type": "long" - }, - "writers": { - "type": "long" - } - } - }, - "current_queue": { - "properties": { - "readers": { - "type": "long" - }, - "total": { - "type": "long" - }, - "writers": { - "type": "long" - } - } - }, - "total_time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "extra_info": { + "properties": { + "heap_usage": { + "properties": { + "bytes": { + "type": "long" } } + }, + "page_faults": { + "type": "long" } - }, - "journaling": { - "properties": { - "commits": { - "type": "long" - }, - "commits_in_write_lock": { - "type": "long" - }, - "compression": { - "type": "long" - }, - "early_commits": { - "type": "long" - }, - "journaled": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "global_lock": { + "properties": { + "active_clients": { + "properties": { + "readers": { + "type": "long" + }, + "total": { + "type": "long" + }, + "writers": { + "type": "long" + } + } + }, + "current_queue": { + "properties": { + "readers": { + "type": "long" + }, + "total": { + "type": "long" + }, + "writers": { + "type": "long" + } + } + }, + "total_time": { + "properties": { + "us": { + "type": "long" } - }, - "times": { - "properties": { - "commits": { - "properties": { - "ms": { - "type": "long" - } + } + } + } + }, + "journaling": { + "properties": { + "commits": { + "type": "long" + }, + "commits_in_write_lock": { + "type": "long" + }, + "compression": { + "type": "long" + }, + "early_commits": { + "type": "long" + }, + "journaled": { + "properties": { + "mb": { + "type": "long" + } + } + }, + "times": { + "properties": { + "commits": { + "properties": { + "ms": { + "type": "long" } - }, - "commits_in_write_lock": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "commits_in_write_lock": { + "properties": { + "ms": { + "type": "long" } - }, - "dt": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "dt": { + "properties": { + "ms": { + "type": "long" } - }, - "prep_log_buffer": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "prep_log_buffer": { + "properties": { + "ms": { + "type": "long" } - }, - "remap_private_view": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "remap_private_view": { + "properties": { + "ms": { + "type": "long" } - }, - "write_to_data_files": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "write_to_data_files": { + "properties": { + "ms": { + "type": "long" } - }, - "write_to_journal": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "write_to_journal": { + "properties": { + "ms": { + "type": "long" } } } - }, - "write_to_data_files": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "write_to_data_files": { + "properties": { + "mb": { + "type": "long" } } } - }, - "local_time": { - "type": "date" - }, - "locks": { - "properties": { - "collection": { - "properties": { - "acquire": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "local_time": { + "type": "date" + }, + "locks": { + "properties": { + "collection": { + "properties": { + "acquire": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "deadlock": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "deadlock": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "wait": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "wait": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } - }, - "us": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "us": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } } } - }, - "database": { - "properties": { - "acquire": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "database": { + "properties": { + "acquire": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "deadlock": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "deadlock": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "wait": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "wait": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } - }, - "us": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "us": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } } } - }, - "global": { - "properties": { - "acquire": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "global": { + "properties": { + "acquire": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "deadlock": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "deadlock": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "wait": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "wait": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } - }, - "us": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "us": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } } } - }, - "meta_data": { - "properties": { - "acquire": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "meta_data": { + "properties": { + "acquire": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "deadlock": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "deadlock": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "wait": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "wait": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } - }, - "us": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "us": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } } } - }, - "oplog": { - "properties": { - "acquire": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "oplog": { + "properties": { + "acquire": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "deadlock": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "deadlock": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } - }, - "wait": { - "properties": { - "count": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "wait": { + "properties": { + "count": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } - }, - "us": { - "properties": { - "R": { - "type": "long" - }, - "W": { - "type": "long" - }, - "r": { - "type": "long" - }, - "w": { - "type": "long" - } + } + }, + "us": { + "properties": { + "R": { + "type": "long" + }, + "W": { + "type": "long" + }, + "r": { + "type": "long" + }, + "w": { + "type": "long" } } } @@ -12916,2648 +12912,2648 @@ } } } - }, - "memory": { - "properties": { - "bits": { - "type": "long" - }, - "mapped": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "bits": { + "type": "long" + }, + "mapped": { + "properties": { + "mb": { + "type": "long" } - }, - "mapped_with_journal": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "mapped_with_journal": { + "properties": { + "mb": { + "type": "long" } - }, - "resident": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "resident": { + "properties": { + "mb": { + "type": "long" } - }, - "virtual": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "virtual": { + "properties": { + "mb": { + "type": "long" } } } - }, - "network": { - "properties": { - "in": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "out": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "network": { + "properties": { + "in": { + "properties": { + "bytes": { + "type": "long" } - }, - "requests": { - "type": "long" - } - } - }, - "ops": { - "properties": { - "counters": { - "properties": { - "command": { - "type": "long" - }, - "delete": { - "type": "long" - }, - "getmore": { - "type": "long" - }, - "insert": { - "type": "long" - }, - "query": { - "type": "long" - }, - "update": { - "type": "long" - } + } + }, + "out": { + "properties": { + "bytes": { + "type": "long" } - }, - "latencies": { - "properties": { - "commands": { - "properties": { - "count": { - "type": "long" - }, - "latency": { - "type": "long" - } + } + }, + "requests": { + "type": "long" + } + } + }, + "ops": { + "properties": { + "counters": { + "properties": { + "command": { + "type": "long" + }, + "delete": { + "type": "long" + }, + "getmore": { + "type": "long" + }, + "insert": { + "type": "long" + }, + "query": { + "type": "long" + }, + "update": { + "type": "long" + } + } + }, + "latencies": { + "properties": { + "commands": { + "properties": { + "count": { + "type": "long" + }, + "latency": { + "type": "long" } - }, - "reads": { - "properties": { - "count": { - "type": "long" - }, - "latency": { - "type": "long" - } + } + }, + "reads": { + "properties": { + "count": { + "type": "long" + }, + "latency": { + "type": "long" } - }, - "writes": { - "properties": { - "count": { - "type": "long" - }, - "latency": { - "type": "long" - } + } + }, + "writes": { + "properties": { + "count": { + "type": "long" + }, + "latency": { + "type": "long" } } } - }, - "replicated": { - "properties": { - "command": { - "type": "long" - }, - "delete": { - "type": "long" - }, - "getmore": { - "type": "long" - }, - "insert": { - "type": "long" - }, - "query": { - "type": "long" - }, - "update": { - "type": "long" - } + } + }, + "replicated": { + "properties": { + "command": { + "type": "long" + }, + "delete": { + "type": "long" + }, + "getmore": { + "type": "long" + }, + "insert": { + "type": "long" + }, + "query": { + "type": "long" + }, + "update": { + "type": "long" } } } - }, - "process": { - "ignore_above": 1024, - "type": "keyword" - }, - "storage_engine": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "uptime": { - "properties": { - "ms": { - "type": "long" - } - } - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - }, - "wired_tiger": { - "properties": { - "cache": { - "properties": { - "dirty": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "process": { + "ignore_above": 1024, + "type": "keyword" + }, + "storage_engine": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "uptime": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + }, + "wired_tiger": { + "properties": { + "cache": { + "properties": { + "dirty": { + "properties": { + "bytes": { + "type": "long" } - }, - "maximum": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "maximum": { + "properties": { + "bytes": { + "type": "long" } - }, - "pages": { - "properties": { - "evicted": { - "type": "long" - }, - "read": { - "type": "long" - }, - "write": { - "type": "long" - } + } + }, + "pages": { + "properties": { + "evicted": { + "type": "long" + }, + "read": { + "type": "long" + }, + "write": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "concurrent_transactions": { - "properties": { - "read": { - "properties": { - "available": { - "type": "long" - }, - "out": { - "type": "long" - }, - "total_tickets": { - "type": "long" - } + } + }, + "concurrent_transactions": { + "properties": { + "read": { + "properties": { + "available": { + "type": "long" + }, + "out": { + "type": "long" + }, + "total_tickets": { + "type": "long" } - }, - "write": { - "properties": { - "available": { - "type": "long" - }, - "out": { - "type": "long" - }, - "total_tickets": { - "type": "long" - } + } + }, + "write": { + "properties": { + "available": { + "type": "long" + }, + "out": { + "type": "long" + }, + "total_tickets": { + "type": "long" } } } - }, - "log": { - "properties": { - "flushes": { - "type": "long" - }, - "max_file_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "log": { + "properties": { + "flushes": { + "type": "long" + }, + "max_file_size": { + "properties": { + "bytes": { + "type": "long" } - }, - "scans": { - "type": "long" - }, - "size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "scans": { + "type": "long" + }, + "size": { + "properties": { + "bytes": { + "type": "long" } - }, - "syncs": { - "type": "long" - }, - "write": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "syncs": { + "type": "long" + }, + "write": { + "properties": { + "bytes": { + "type": "long" } - }, - "writes": { - "type": "long" } + }, + "writes": { + "type": "long" } } } - }, - "write_backs_queued": { - "type": "boolean" } + }, + "write_backs_queued": { + "type": "boolean" } } } - }, - "mssql": { - "properties": { - "db": { - "properties": { - "database": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "log_space_usage": { - "properties": { - "since_last_backup": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "mssql": { + "properties": { + "db": { + "properties": { + "database": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "log_space_usage": { + "properties": { + "since_last_backup": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "type": "float" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "type": "float" } } } } } - }, - "performance": { - "properties": { - "active_temp_tables": { - "type": "long" - }, - "batch_requests": { - "properties": { - "sec": { - "type": "long" - } - } - }, - "buffer": { - "properties": { - "cache_hit": { - "properties": { - "pct": { - "type": "double" - } + } + }, + "performance": { + "properties": { + "active_temp_tables": { + "type": "long" + }, + "batch_requests": { + "properties": { + "sec": { + "type": "long" + } + } + }, + "buffer": { + "properties": { + "cache_hit": { + "properties": { + "pct": { + "type": "double" } - }, - "checkpoint_pages": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "checkpoint_pages": { + "properties": { + "sec": { + "type": "long" } - }, - "database_pages": { - "type": "long" - }, - "page_life_expectancy": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "database_pages": { + "type": "long" + }, + "page_life_expectancy": { + "properties": { + "sec": { + "type": "long" } - }, - "target_pages": { - "type": "long" } + }, + "target_pages": { + "type": "long" } - }, - "compilations": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "compilations": { + "properties": { + "sec": { + "type": "long" } - }, - "connections_reset": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "connections_reset": { + "properties": { + "sec": { + "type": "long" } - }, - "lock_waits": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "lock_waits": { + "properties": { + "sec": { + "type": "long" } - }, - "logins": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "logins": { + "properties": { + "sec": { + "type": "long" } - }, - "logouts": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "logouts": { + "properties": { + "sec": { + "type": "long" } - }, - "page_splits": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "page_splits": { + "properties": { + "sec": { + "type": "long" } - }, - "recompilations": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "recompilations": { + "properties": { + "sec": { + "type": "long" } - }, - "transactions": { - "type": "long" - }, - "user_connections": { - "type": "long" } + }, + "transactions": { + "type": "long" + }, + "user_connections": { + "type": "long" } } } - }, - "munin": { - "type": "object" - }, - "mysql": { - "properties": { - "galera_status": { - "properties": { - "apply": { - "properties": { - "oooe": { - "type": "double" - }, - "oool": { - "type": "double" - }, - "window": { - "type": "double" - } - } - }, - "cert": { - "properties": { - "deps_distance": { - "type": "double" - }, - "index_size": { - "type": "long" - }, - "interval": { - "type": "double" - } - } - }, - "cluster": { - "properties": { - "conf_id": { - "type": "long" - }, - "size": { - "type": "long" - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "commit": { - "properties": { - "oooe": { - "type": "double" - }, - "window": { - "type": "long" - } - } - }, - "connected": { - "ignore_above": 1024, - "type": "keyword" - }, - "evs": { - "properties": { - "evict": { - "ignore_above": 1024, - "type": "keyword" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "flow_ctl": { - "properties": { - "paused": { - "type": "double" - }, - "paused_ns": { - "type": "long" - }, - "recv": { - "type": "long" - }, - "sent": { - "type": "long" - } - } - }, - "last_committed": { - "type": "long" - }, - "local": { - "properties": { - "bf_aborts": { - "type": "long" - }, - "cert_failures": { - "type": "long" - }, - "commits": { - "type": "long" - }, - "recv": { - "properties": { - "queue": { - "type": "long" - }, - "queue_avg": { - "type": "double" - }, - "queue_max": { - "type": "long" - }, - "queue_min": { - "type": "long" - } - } - }, - "replays": { - "type": "long" - }, - "send": { - "properties": { - "queue": { - "type": "long" - }, - "queue_avg": { - "type": "double" - }, - "queue_max": { - "type": "long" - }, - "queue_min": { - "type": "long" - } - } - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "ready": { - "ignore_above": 1024, - "type": "keyword" - }, - "received": { - "properties": { - "bytes": { - "type": "long" - }, - "count": { - "type": "long" - } - } - }, - "repl": { - "properties": { - "bytes": { - "type": "long" - }, - "count": { - "type": "long" - }, - "data_bytes": { - "type": "long" - }, - "keys": { - "type": "long" - }, - "keys_bytes": { - "type": "long" - }, - "other_bytes": { - "type": "long" - } + } + }, + "munin": { + "type": "object" + }, + "mysql": { + "properties": { + "galera_status": { + "properties": { + "apply": { + "properties": { + "oooe": { + "type": "double" + }, + "oool": { + "type": "double" + }, + "window": { + "type": "double" + } + } + }, + "cert": { + "properties": { + "deps_distance": { + "type": "double" + }, + "index_size": { + "type": "long" + }, + "interval": { + "type": "double" + } + } + }, + "cluster": { + "properties": { + "conf_id": { + "type": "long" + }, + "size": { + "type": "long" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "commit": { + "properties": { + "oooe": { + "type": "double" + }, + "window": { + "type": "long" + } + } + }, + "connected": { + "ignore_above": 1024, + "type": "keyword" + }, + "evs": { + "properties": { + "evict": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "flow_ctl": { + "properties": { + "paused": { + "type": "double" + }, + "paused_ns": { + "type": "long" + }, + "recv": { + "type": "long" + }, + "sent": { + "type": "long" + } + } + }, + "last_committed": { + "type": "long" + }, + "local": { + "properties": { + "bf_aborts": { + "type": "long" + }, + "cert_failures": { + "type": "long" + }, + "commits": { + "type": "long" + }, + "recv": { + "properties": { + "queue": { + "type": "long" + }, + "queue_avg": { + "type": "double" + }, + "queue_max": { + "type": "long" + }, + "queue_min": { + "type": "long" + } + } + }, + "replays": { + "type": "long" + }, + "send": { + "properties": { + "queue": { + "type": "long" + }, + "queue_avg": { + "type": "double" + }, + "queue_max": { + "type": "long" + }, + "queue_min": { + "type": "long" + } + } + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ready": { + "ignore_above": 1024, + "type": "keyword" + }, + "received": { + "properties": { + "bytes": { + "type": "long" + }, + "count": { + "type": "long" + } + } + }, + "repl": { + "properties": { + "bytes": { + "type": "long" + }, + "count": { + "type": "long" + }, + "data_bytes": { + "type": "long" + }, + "keys": { + "type": "long" + }, + "keys_bytes": { + "type": "long" + }, + "other_bytes": { + "type": "long" } } } - }, - "status": { - "properties": { - "aborted": { - "properties": { - "clients": { - "type": "long" - }, - "connects": { - "type": "long" - } - } - }, - "binlog": { - "properties": { - "cache": { - "properties": { - "disk_use": { - "type": "long" - }, - "use": { - "type": "long" - } + } + }, + "status": { + "properties": { + "aborted": { + "properties": { + "clients": { + "type": "long" + }, + "connects": { + "type": "long" + } + } + }, + "binlog": { + "properties": { + "cache": { + "properties": { + "disk_use": { + "type": "long" + }, + "use": { + "type": "long" } } } - }, - "bytes": { - "properties": { - "received": { - "type": "long" - }, - "sent": { - "type": "long" - } - } - }, - "command": { - "properties": { - "delete": { - "type": "long" - }, - "insert": { - "type": "long" - }, - "select": { - "type": "long" - }, - "update": { - "type": "long" - } - } - }, - "connections": { - "type": "long" - }, - "created": { - "properties": { - "tmp": { - "properties": { - "disk_tables": { - "type": "long" - }, - "files": { - "type": "long" - }, - "tables": { - "type": "long" - } + } + }, + "bytes": { + "properties": { + "received": { + "type": "long" + }, + "sent": { + "type": "long" + } + } + }, + "command": { + "properties": { + "delete": { + "type": "long" + }, + "insert": { + "type": "long" + }, + "select": { + "type": "long" + }, + "update": { + "type": "long" + } + } + }, + "connections": { + "type": "long" + }, + "created": { + "properties": { + "tmp": { + "properties": { + "disk_tables": { + "type": "long" + }, + "files": { + "type": "long" + }, + "tables": { + "type": "long" } } } - }, - "delayed": { - "properties": { - "errors": { - "type": "long" - }, - "insert_threads": { - "type": "long" - }, - "writes": { - "type": "long" - } - } - }, - "flush_commands": { - "type": "long" - }, - "max_used_connections": { - "type": "long" - }, - "open": { - "properties": { - "files": { - "type": "long" - }, - "streams": { - "type": "long" - }, - "tables": { - "type": "long" - } - } - }, - "opened_tables": { - "type": "long" - }, - "threads": { - "properties": { - "cached": { - "type": "long" - }, - "connected": { - "type": "long" - }, - "created": { - "type": "long" - }, - "running": { - "type": "long" - } + } + }, + "delayed": { + "properties": { + "errors": { + "type": "long" + }, + "insert_threads": { + "type": "long" + }, + "writes": { + "type": "long" + } + } + }, + "flush_commands": { + "type": "long" + }, + "max_used_connections": { + "type": "long" + }, + "open": { + "properties": { + "files": { + "type": "long" + }, + "streams": { + "type": "long" + }, + "tables": { + "type": "long" + } + } + }, + "opened_tables": { + "type": "long" + }, + "threads": { + "properties": { + "cached": { + "type": "long" + }, + "connected": { + "type": "long" + }, + "created": { + "type": "long" + }, + "running": { + "type": "long" } } } } } - }, - "nats": { - "properties": { - "stats": { - "properties": { - "cores": { - "type": "long" - }, - "cpu": { - "type": "float" - }, - "http": { - "properties": { - "req_stats": { - "properties": { - "uri": { - "properties": { - "connz": { - "type": "long" - }, - "root": { - "type": "long" - }, - "routez": { - "type": "long" - }, - "subsz": { - "type": "long" - }, - "varz": { - "type": "long" - } + } + }, + "nats": { + "properties": { + "stats": { + "properties": { + "cores": { + "type": "long" + }, + "cpu": { + "type": "float" + }, + "http": { + "properties": { + "req_stats": { + "properties": { + "uri": { + "properties": { + "connz": { + "type": "long" + }, + "root": { + "type": "long" + }, + "routez": { + "type": "long" + }, + "subsz": { + "type": "long" + }, + "varz": { + "type": "long" } } } } } - }, - "http_req_stats": { - "properties": { - "connz_uri": { - "type": "object" - }, - "root_uri": { - "type": "object" - }, - "routez_uri": { - "type": "object" - }, - "stats_uri": { - "type": "object" - }, - "subsz_uri": { - "type": "object" - } - } - }, - "in": { - "properties": { - "bytes": { - "type": "long" - }, - "messages": { - "type": "long" - } - } - }, - "mem": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "now": { - "type": "date" - }, - "out": { - "properties": { - "bytes": { - "type": "long" - }, - "messages": { - "type": "long" - } - } - }, - "remotes": { - "type": "long" - }, - "server_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "slow_consumers": { - "type": "long" - }, - "total_connections": { - "type": "long" - }, - "uptime": { - "type": "long" } + }, + "http_req_stats": { + "properties": { + "connz_uri": { + "type": "object" + }, + "root_uri": { + "type": "object" + }, + "routez_uri": { + "type": "object" + }, + "stats_uri": { + "type": "object" + }, + "subsz_uri": { + "type": "object" + } + } + }, + "in": { + "properties": { + "bytes": { + "type": "long" + }, + "messages": { + "type": "long" + } + } + }, + "mem": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "now": { + "type": "date" + }, + "out": { + "properties": { + "bytes": { + "type": "long" + }, + "messages": { + "type": "long" + } + } + }, + "remotes": { + "type": "long" + }, + "server_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "slow_consumers": { + "type": "long" + }, + "total_connections": { + "type": "long" + }, + "uptime": { + "type": "long" } } } - }, - "network": { - "properties": { - "application": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes": { - "type": "long" - }, - "community_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "direction": { - "ignore_above": 1024, - "type": "keyword" - }, - "forwarded_ip": { - "type": "ip" - }, - "iana_number": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "packets": { - "type": "long" - }, - "protocol": { - "ignore_above": 1024, - "type": "keyword" - }, - "transport": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "network": { + "properties": { + "application": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "community_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "direction": { + "ignore_above": 1024, + "type": "keyword" + }, + "forwarded_ip": { + "type": "ip" + }, + "iana_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "protocol": { + "ignore_above": 1024, + "type": "keyword" + }, + "transport": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "nginx": { - "properties": { - "stubstatus": { - "properties": { - "accepts": { - "type": "long" - }, - "active": { - "type": "long" - }, - "current": { - "type": "long" - }, - "dropped": { - "type": "long" - }, - "handled": { - "type": "long" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "reading": { - "type": "long" - }, - "requests": { - "type": "long" - }, - "waiting": { - "type": "long" - }, - "writing": { - "type": "long" - } + } + }, + "nginx": { + "properties": { + "stubstatus": { + "properties": { + "accepts": { + "type": "long" + }, + "active": { + "type": "long" + }, + "current": { + "type": "long" + }, + "dropped": { + "type": "long" + }, + "handled": { + "type": "long" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "reading": { + "type": "long" + }, + "requests": { + "type": "long" + }, + "waiting": { + "type": "long" + }, + "writing": { + "type": "long" } } } - }, - "observer": { - "properties": { - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "observer": { + "properties": { + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "properties": { - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "ignore_above": 1024, - "type": "keyword" - }, - "kernel": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "platform": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "serial_number": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "vendor": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "vendor": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "organization": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "organization": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "os": { - "properties": { - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "ignore_above": 1024, - "type": "keyword" - }, - "kernel": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "platform": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "php_fpm": { - "properties": { - "pool": { - "properties": { - "connections": { - "properties": { - "accepted": { - "type": "long" - }, - "listen_queue_len": { - "type": "long" - }, - "max_listen_queue": { - "type": "long" - }, - "queued": { - "type": "long" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "process_manager": { - "ignore_above": 1024, - "type": "keyword" - }, - "processes": { - "properties": { - "active": { - "type": "long" - }, - "idle": { - "type": "long" - }, - "max_active": { - "type": "long" - }, - "max_children_reached": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "slow_requests": { - "type": "long" - }, - "start_since": { - "type": "long" - }, - "start_time": { - "type": "date" + } + }, + "php_fpm": { + "properties": { + "pool": { + "properties": { + "connections": { + "properties": { + "accepted": { + "type": "long" + }, + "listen_queue_len": { + "type": "long" + }, + "max_listen_queue": { + "type": "long" + }, + "queued": { + "type": "long" + } } - } - }, - "process": { - "properties": { - "content_length": { - "type": "long" - }, - "last_request_cpu": { - "type": "long" - }, - "last_request_memory": { - "type": "long" - }, - "pid": { - "type": "long" - }, - "request_duration": { - "type": "long" - }, - "request_method": { - "ignore_above": 1024, - "type": "keyword" - }, - "request_uri": { - "norms": false, - "type": "text" - }, - "requests": { - "type": "long" - }, - "script": { - "norms": false, - "type": "text" - }, - "start_since": { - "type": "long" - }, - "start_time": { - "type": "date" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "user": { - "ignore_above": 1024, - "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "process_manager": { + "ignore_above": 1024, + "type": "keyword" + }, + "processes": { + "properties": { + "active": { + "type": "long" + }, + "idle": { + "type": "long" + }, + "max_active": { + "type": "long" + }, + "max_children_reached": { + "type": "long" + }, + "total": { + "type": "long" + } } + }, + "slow_requests": { + "type": "long" + }, + "start_since": { + "type": "long" + }, + "start_time": { + "type": "date" + } + } + }, + "process": { + "properties": { + "content_length": { + "type": "long" + }, + "last_request_cpu": { + "type": "long" + }, + "last_request_memory": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "request_duration": { + "type": "long" + }, + "request_method": { + "ignore_above": 1024, + "type": "keyword" + }, + "request_uri": { + "norms": false, + "type": "text" + }, + "requests": { + "type": "long" + }, + "script": { + "norms": false, + "type": "text" + }, + "start_since": { + "type": "long" + }, + "start_time": { + "type": "date" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "postgresql": { - "properties": { - "activity": { - "properties": { - "application_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "backend_start": { - "type": "date" - }, - "client": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "port": { - "type": "long" - } - } - }, - "database": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "oid": { - "type": "long" - } - } - }, - "pid": { - "type": "long" - }, - "query": { - "ignore_above": 1024, - "type": "keyword" - }, - "query_start": { - "type": "date" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "state_change": { - "type": "date" - }, - "transaction_start": { - "type": "date" - }, - "user": { - "properties": { - "id": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "waiting": { - "type": "boolean" + } + }, + "postgresql": { + "properties": { + "activity": { + "properties": { + "application_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "backend_start": { + "type": "date" + }, + "client": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + } + } + }, + "database": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "oid": { + "type": "long" + } } + }, + "pid": { + "type": "long" + }, + "query": { + "ignore_above": 1024, + "type": "keyword" + }, + "query_start": { + "type": "date" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_change": { + "type": "date" + }, + "transaction_start": { + "type": "date" + }, + "user": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "waiting": { + "type": "boolean" } - }, - "bgwriter": { - "properties": { - "buffers": { - "properties": { - "allocated": { - "type": "long" - }, - "backend": { - "type": "long" - }, - "backend_fsync": { - "type": "long" - }, - "checkpoints": { - "type": "long" - }, - "clean": { - "type": "long" - }, - "clean_full": { - "type": "long" - } - } - }, - "checkpoints": { - "properties": { - "requested": { - "type": "long" - }, - "scheduled": { - "type": "long" - }, - "times": { - "properties": { - "sync": { - "properties": { - "ms": { - "type": "float" - } + } + }, + "bgwriter": { + "properties": { + "buffers": { + "properties": { + "allocated": { + "type": "long" + }, + "backend": { + "type": "long" + }, + "backend_fsync": { + "type": "long" + }, + "checkpoints": { + "type": "long" + }, + "clean": { + "type": "long" + }, + "clean_full": { + "type": "long" + } + } + }, + "checkpoints": { + "properties": { + "requested": { + "type": "long" + }, + "scheduled": { + "type": "long" + }, + "times": { + "properties": { + "sync": { + "properties": { + "ms": { + "type": "float" } - }, - "write": { - "properties": { - "ms": { - "type": "float" - } + } + }, + "write": { + "properties": { + "ms": { + "type": "float" } } } } } - }, - "stats_reset": { - "type": "date" } + }, + "stats_reset": { + "type": "date" } - }, - "database": { - "properties": { - "blocks": { - "properties": { - "hit": { - "type": "long" - }, - "read": { - "type": "long" - }, - "time": { - "properties": { - "read": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "database": { + "properties": { + "blocks": { + "properties": { + "hit": { + "type": "long" + }, + "read": { + "type": "long" + }, + "time": { + "properties": { + "read": { + "properties": { + "ms": { + "type": "long" } - }, - "write": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "write": { + "properties": { + "ms": { + "type": "long" } } } } } - }, - "conflicts": { - "type": "long" - }, - "deadlocks": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "number_of_backends": { - "type": "long" - }, - "oid": { - "type": "long" - }, - "rows": { - "properties": { - "deleted": { - "type": "long" - }, - "fetched": { - "type": "long" - }, - "inserted": { - "type": "long" - }, - "returned": { - "type": "long" - }, - "updated": { - "type": "long" - } - } - }, - "stats_reset": { - "type": "date" - }, - "temporary": { - "properties": { - "bytes": { - "type": "long" - }, - "files": { - "type": "long" - } - } - }, - "transactions": { - "properties": { - "commit": { - "type": "long" - }, - "rollback": { - "type": "long" - } + } + }, + "conflicts": { + "type": "long" + }, + "deadlocks": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "number_of_backends": { + "type": "long" + }, + "oid": { + "type": "long" + }, + "rows": { + "properties": { + "deleted": { + "type": "long" + }, + "fetched": { + "type": "long" + }, + "inserted": { + "type": "long" + }, + "returned": { + "type": "long" + }, + "updated": { + "type": "long" + } + } + }, + "stats_reset": { + "type": "date" + }, + "temporary": { + "properties": { + "bytes": { + "type": "long" + }, + "files": { + "type": "long" + } + } + }, + "transactions": { + "properties": { + "commit": { + "type": "long" + }, + "rollback": { + "type": "long" } } } - }, - "statement": { - "properties": { - "database": { - "properties": { - "oid": { - "type": "long" - } - } - }, - "memory": { - "properties": { - "local": { - "properties": { - "dirtied": { - "type": "long" - }, - "hit": { - "type": "long" - }, - "read": { - "type": "long" - }, - "written": { - "type": "long" - } - } - }, - "shared": { - "properties": { - "dirtied": { - "type": "long" - }, - "hit": { - "type": "long" - }, - "read": { - "type": "long" - }, - "written": { - "type": "long" - } - } - }, - "temp": { - "properties": { - "read": { - "type": "long" - }, - "written": { - "type": "long" - } + } + }, + "statement": { + "properties": { + "database": { + "properties": { + "oid": { + "type": "long" + } + } + }, + "memory": { + "properties": { + "local": { + "properties": { + "dirtied": { + "type": "long" + }, + "hit": { + "type": "long" + }, + "read": { + "type": "long" + }, + "written": { + "type": "long" + } + } + }, + "shared": { + "properties": { + "dirtied": { + "type": "long" + }, + "hit": { + "type": "long" + }, + "read": { + "type": "long" + }, + "written": { + "type": "long" + } + } + }, + "temp": { + "properties": { + "read": { + "type": "long" + }, + "written": { + "type": "long" } } } - }, - "query": { - "properties": { - "calls": { - "type": "long" - }, - "id": { - "type": "long" - }, - "rows": { - "type": "long" - }, - "text": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "time": { - "properties": { - "max": { - "type": "long" - }, - "mean": { - "type": "long" - }, - "min": { - "type": "long" - }, - "stddev": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "user": { - "properties": { - "id": { - "type": "long" - } + } + }, + "query": { + "properties": { + "calls": { + "type": "long" + }, + "id": { + "type": "long" + }, + "rows": { + "type": "long" + }, + "text": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "time": { + "properties": { + "max": { + "type": "long" + }, + "mean": { + "type": "long" + }, + "min": { + "type": "long" + }, + "stddev": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "user": { + "properties": { + "id": { + "type": "long" } } } } } - }, - "process": { - "properties": { - "args": { - "ignore_above": 1024, - "type": "keyword" - }, - "exe": { - "path": "process.executable", - "type": "alias" - }, - "executable": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "pid": { - "type": "long" - }, - "ppid": { - "type": "long" - }, - "start": { - "type": "date" - }, - "thread": { - "properties": { - "id": { - "type": "long" - } + } + }, + "process": { + "properties": { + "args": { + "ignore_above": 1024, + "type": "keyword" + }, + "exe": { + "path": "process.executable", + "type": "alias" + }, + "executable": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "pid": { + "type": "long" + }, + "ppid": { + "type": "long" + }, + "start": { + "type": "date" + }, + "thread": { + "properties": { + "id": { + "type": "long" } - }, - "title": { - "ignore_above": 1024, - "type": "keyword" - }, - "working_directory": { - "ignore_above": 1024, - "type": "keyword" } + }, + "title": { + "ignore_above": 1024, + "type": "keyword" + }, + "working_directory": { + "ignore_above": 1024, + "type": "keyword" } - }, - "prometheus": { - "properties": { - "stats": { - "properties": { - "notifications": { - "properties": { - "dropped": { - "type": "long" - }, - "queue_length": { - "type": "long" - } + } + }, + "prometheus": { + "properties": { + "stats": { + "properties": { + "notifications": { + "properties": { + "dropped": { + "type": "long" + }, + "queue_length": { + "type": "long" } - }, - "processes": { - "properties": { - "open_fds": { - "type": "long" - } + } + }, + "processes": { + "properties": { + "open_fds": { + "type": "long" } - }, - "storage": { - "properties": { - "chunks_to_persist": { - "type": "long" - } + } + }, + "storage": { + "properties": { + "chunks_to_persist": { + "type": "long" } } } } } - }, - "rabbitmq": { - "properties": { - "connection": { - "properties": { - "channel_max": { - "type": "long" - }, - "channels": { - "type": "long" - }, - "frame_max": { - "type": "long" - }, - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "node": { - "ignore_above": 1024, - "type": "keyword" - }, - "octet_count": { - "properties": { - "received": { - "type": "long" - }, - "sent": { - "type": "long" - } - } - }, - "packet_count": { - "properties": { - "pending": { - "type": "long" - }, - "received": { - "type": "long" - }, - "sent": { - "type": "long" - } - } - }, - "peer": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "port": { - "type": "long" - } - } - }, - "port": { - "type": "long" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "user": { - "ignore_above": 1024, - "type": "keyword" - }, - "vhost": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "rabbitmq": { + "properties": { + "connection": { + "properties": { + "channel_max": { + "type": "long" + }, + "channels": { + "type": "long" + }, + "frame_max": { + "type": "long" + }, + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "ignore_above": 1024, + "type": "keyword" + }, + "octet_count": { + "properties": { + "received": { + "type": "long" + }, + "sent": { + "type": "long" + } + } + }, + "packet_count": { + "properties": { + "pending": { + "type": "long" + }, + "received": { + "type": "long" + }, + "sent": { + "type": "long" + } + } + }, + "peer": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + } } + }, + "port": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + }, + "vhost": { + "ignore_above": 1024, + "type": "keyword" } - }, - "exchange": { - "properties": { - "auto_delete": { - "type": "boolean" - }, - "durable": { - "type": "boolean" - }, - "internal": { - "type": "boolean" - }, - "messages": { - "properties": { - "publish_in": { - "properties": { - "count": { - "type": "long" - }, - "details": { - "properties": { - "rate": { - "type": "float" - } + } + }, + "exchange": { + "properties": { + "auto_delete": { + "type": "boolean" + }, + "durable": { + "type": "boolean" + }, + "internal": { + "type": "boolean" + }, + "messages": { + "properties": { + "publish_in": { + "properties": { + "count": { + "type": "long" + }, + "details": { + "properties": { + "rate": { + "type": "float" } } } - }, - "publish_out": { - "properties": { - "count": { - "type": "long" - }, - "details": { - "properties": { - "rate": { - "type": "float" - } + } + }, + "publish_out": { + "properties": { + "count": { + "type": "long" + }, + "details": { + "properties": { + "rate": { + "type": "float" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "user": { - "ignore_above": 1024, - "type": "keyword" - }, - "vhost": { - "ignore_above": 1024, - "type": "keyword" } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + }, + "vhost": { + "ignore_above": 1024, + "type": "keyword" } - }, - "node": { - "properties": { - "disk": { - "properties": { - "free": { - "properties": { - "bytes": { - "type": "long" - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "node": { + "properties": { + "disk": { + "properties": { + "free": { + "properties": { + "bytes": { + "type": "long" + }, + "limit": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "fd": { - "properties": { - "total": { - "type": "long" - }, - "used": { - "type": "long" - } + } + }, + "fd": { + "properties": { + "total": { + "type": "long" + }, + "used": { + "type": "long" } - }, - "gc": { - "properties": { - "num": { - "properties": { - "count": { - "type": "long" - } + } + }, + "gc": { + "properties": { + "num": { + "properties": { + "count": { + "type": "long" } - }, - "reclaimed": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "reclaimed": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "io": { - "properties": { - "file_handle": { - "properties": { - "open_attempt": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "io": { + "properties": { + "file_handle": { + "properties": { + "open_attempt": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } - }, - "count": { - "type": "long" } + }, + "count": { + "type": "long" } } } - }, - "read": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "read": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } - }, - "bytes": { - "type": "long" - }, - "count": { - "type": "long" } + }, + "bytes": { + "type": "long" + }, + "count": { + "type": "long" } - }, - "reopen": { - "properties": { - "count": { - "type": "long" - } + } + }, + "reopen": { + "properties": { + "count": { + "type": "long" } - }, - "seek": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "seek": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } - }, - "count": { - "type": "long" } + }, + "count": { + "type": "long" } - }, - "sync": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "sync": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } - }, - "count": { - "type": "long" } + }, + "count": { + "type": "long" } - }, - "write": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "write": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } - }, - "bytes": { - "type": "long" - }, - "count": { - "type": "long" } + }, + "bytes": { + "type": "long" + }, + "count": { + "type": "long" } } } - }, - "mem": { - "properties": { - "limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "mem": { + "properties": { + "limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "mnesia": { - "properties": { - "disk": { - "properties": { - "tx": { - "properties": { - "count": { - "type": "long" - } + } + }, + "mnesia": { + "properties": { + "disk": { + "properties": { + "tx": { + "properties": { + "count": { + "type": "long" } } } - }, - "ram": { - "properties": { - "tx": { - "properties": { - "count": { - "type": "long" - } + } + }, + "ram": { + "properties": { + "tx": { + "properties": { + "count": { + "type": "long" } } } } } - }, - "msg": { - "properties": { - "store_read": { - "properties": { - "count": { - "type": "long" - } + } + }, + "msg": { + "properties": { + "store_read": { + "properties": { + "count": { + "type": "long" } - }, - "store_write": { - "properties": { - "count": { - "type": "long" - } + } + }, + "store_write": { + "properties": { + "count": { + "type": "long" } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "proc": { - "properties": { - "total": { - "type": "long" - }, - "used": { - "type": "long" - } - } - }, - "processors": { - "type": "long" - }, - "queue": { - "properties": { - "index": { - "properties": { - "journal_write": { - "properties": { - "count": { - "type": "long" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "proc": { + "properties": { + "total": { + "type": "long" + }, + "used": { + "type": "long" + } + } + }, + "processors": { + "type": "long" + }, + "queue": { + "properties": { + "index": { + "properties": { + "journal_write": { + "properties": { + "count": { + "type": "long" } - }, - "read": { - "properties": { - "count": { - "type": "long" - } + } + }, + "read": { + "properties": { + "count": { + "type": "long" } - }, - "write": { - "properties": { - "count": { - "type": "long" - } + } + }, + "write": { + "properties": { + "count": { + "type": "long" } } } } } - }, - "run": { - "properties": { - "queue": { - "type": "long" - } + } + }, + "run": { + "properties": { + "queue": { + "type": "long" } - }, - "socket": { - "properties": { - "total": { - "type": "long" - }, - "used": { - "type": "long" - } + } + }, + "socket": { + "properties": { + "total": { + "type": "long" + }, + "used": { + "type": "long" } - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "uptime": { - "type": "long" } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "type": "long" } - }, - "queue": { - "properties": { - "arguments": { - "properties": { - "max_priority": { - "type": "long" - } - } - }, - "auto_delete": { - "type": "boolean" - }, - "consumers": { - "properties": { - "count": { - "type": "long" - }, - "utilisation": { - "properties": { - "pct": { - "type": "long" - } + } + }, + "queue": { + "properties": { + "arguments": { + "properties": { + "max_priority": { + "type": "long" + } + } + }, + "auto_delete": { + "type": "boolean" + }, + "consumers": { + "properties": { + "count": { + "type": "long" + }, + "utilisation": { + "properties": { + "pct": { + "type": "long" } } } - }, - "disk": { - "properties": { - "reads": { - "properties": { - "count": { - "type": "long" - } + } + }, + "disk": { + "properties": { + "reads": { + "properties": { + "count": { + "type": "long" } - }, - "writes": { - "properties": { - "count": { - "type": "long" - } + } + }, + "writes": { + "properties": { + "count": { + "type": "long" } } } - }, - "durable": { - "type": "boolean" - }, - "exclusive": { - "type": "boolean" - }, - "memory": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "durable": { + "type": "boolean" + }, + "exclusive": { + "type": "boolean" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" } - }, - "messages": { - "properties": { - "persistent": { - "properties": { - "count": { - "type": "long" - } - } - }, - "ready": { - "properties": { - "count": { - "type": "long" - }, - "details": { - "properties": { - "rate": { - "type": "float" - } + } + }, + "messages": { + "properties": { + "persistent": { + "properties": { + "count": { + "type": "long" + } + } + }, + "ready": { + "properties": { + "count": { + "type": "long" + }, + "details": { + "properties": { + "rate": { + "type": "float" } } } - }, - "total": { - "properties": { - "count": { - "type": "long" - }, - "details": { - "properties": { - "rate": { - "type": "float" - } + } + }, + "total": { + "properties": { + "count": { + "type": "long" + }, + "details": { + "properties": { + "rate": { + "type": "float" } } } - }, - "unacknowledged": { - "properties": { - "count": { - "type": "long" - }, - "details": { - "properties": { - "rate": { - "type": "float" - } + } + }, + "unacknowledged": { + "properties": { + "count": { + "type": "long" + }, + "details": { + "properties": { + "rate": { + "type": "float" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "node": { - "ignore_above": 1024, - "type": "keyword" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "vhost": { - "ignore_above": 1024, - "type": "keyword" } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "vhost": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "redis": { - "properties": { - "info": { - "properties": { - "clients": { - "properties": { - "biggest_input_buf": { - "type": "long" - }, - "blocked": { - "type": "long" - }, - "connected": { - "type": "long" - }, - "longest_output_list": { - "type": "long" - }, - "max_input_buffer": { - "type": "long" - }, - "max_output_buffer": { - "type": "long" - } - } - }, - "cluster": { - "properties": { - "enabled": { - "type": "boolean" - } - } - }, - "cpu": { - "properties": { - "used": { - "properties": { - "sys": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "sys_children": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "user": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "user_children": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "redis": { + "properties": { + "info": { + "properties": { + "clients": { + "properties": { + "biggest_input_buf": { + "type": "long" + }, + "blocked": { + "type": "long" + }, + "connected": { + "type": "long" + }, + "longest_output_list": { + "type": "long" + }, + "max_input_buffer": { + "type": "long" + }, + "max_output_buffer": { + "type": "long" + } + } + }, + "cluster": { + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "cpu": { + "properties": { + "used": { + "properties": { + "sys": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "sys_children": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "user": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "user_children": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "memory": { - "properties": { - "active_defrag": { - "properties": { - "is_running": { - "type": "boolean" - } - } - }, - "allocator": { - "ignore_above": 1024, - "type": "keyword" - }, - "allocator_stats": { - "properties": { - "active": { - "type": "long" - }, - "allocated": { - "type": "long" - }, - "fragmentation": { - "properties": { - "bytes": { - "type": "long" - }, - "ratio": { - "type": "float" - } - } - }, - "resident": { - "type": "long" - }, - "rss": { - "properties": { - "bytes": { - "type": "long" - }, - "ratio": { - "type": "float" - } + } + }, + "memory": { + "properties": { + "active_defrag": { + "properties": { + "is_running": { + "type": "boolean" + } + } + }, + "allocator": { + "ignore_above": 1024, + "type": "keyword" + }, + "allocator_stats": { + "properties": { + "active": { + "type": "long" + }, + "allocated": { + "type": "long" + }, + "fragmentation": { + "properties": { + "bytes": { + "type": "long" + }, + "ratio": { + "type": "float" } } - } - }, - "fragmentation": { - "properties": { - "bytes": { - "type": "long" - }, - "ratio": { - "type": "float" - } - } - }, - "max": { - "properties": { - "policy": { - "ignore_above": 1024, - "type": "keyword" - }, - "value": { - "type": "long" + }, + "resident": { + "type": "long" + }, + "rss": { + "properties": { + "bytes": { + "type": "long" + }, + "ratio": { + "type": "float" + } } } - }, - "used": { - "properties": { - "dataset": { - "type": "long" - }, - "lua": { - "type": "long" - }, - "peak": { - "type": "long" - }, - "rss": { - "type": "long" - }, - "value": { - "type": "long" - } + } + }, + "fragmentation": { + "properties": { + "bytes": { + "type": "long" + }, + "ratio": { + "type": "float" + } + } + }, + "max": { + "properties": { + "policy": { + "ignore_above": 1024, + "type": "keyword" + }, + "value": { + "type": "long" + } + } + }, + "used": { + "properties": { + "dataset": { + "type": "long" + }, + "lua": { + "type": "long" + }, + "peak": { + "type": "long" + }, + "rss": { + "type": "long" + }, + "value": { + "type": "long" } } } - }, - "persistence": { - "properties": { - "aof": { - "properties": { - "bgrewrite": { - "properties": { - "last_status": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "persistence": { + "properties": { + "aof": { + "properties": { + "bgrewrite": { + "properties": { + "last_status": { + "ignore_above": 1024, + "type": "keyword" } - }, - "buffer": { - "properties": { - "size": { - "type": "long" - } + } + }, + "buffer": { + "properties": { + "size": { + "type": "long" } - }, - "copy_on_write": { - "properties": { - "last_size": { - "type": "long" - } + } + }, + "copy_on_write": { + "properties": { + "last_size": { + "type": "long" } - }, - "enabled": { - "type": "boolean" - }, - "fsync": { - "properties": { - "delayed": { - "type": "long" - }, - "pending": { - "type": "long" - } + } + }, + "enabled": { + "type": "boolean" + }, + "fsync": { + "properties": { + "delayed": { + "type": "long" + }, + "pending": { + "type": "long" } - }, - "rewrite": { - "properties": { - "buffer": { - "properties": { - "size": { - "type": "long" - } + } + }, + "rewrite": { + "properties": { + "buffer": { + "properties": { + "size": { + "type": "long" } - }, - "current_time": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "current_time": { + "properties": { + "sec": { + "type": "long" } - }, - "in_progress": { - "type": "boolean" - }, - "last_time": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "in_progress": { + "type": "boolean" + }, + "last_time": { + "properties": { + "sec": { + "type": "long" } - }, - "scheduled": { - "type": "boolean" } + }, + "scheduled": { + "type": "boolean" } - }, - "size": { - "properties": { - "base": { - "type": "long" - }, - "current": { - "type": "long" - } + } + }, + "size": { + "properties": { + "base": { + "type": "long" + }, + "current": { + "type": "long" } - }, - "write": { - "properties": { - "last_status": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "write": { + "properties": { + "last_status": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "loading": { - "type": "boolean" - }, - "rdb": { - "properties": { - "bgsave": { - "properties": { - "current_time": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "loading": { + "type": "boolean" + }, + "rdb": { + "properties": { + "bgsave": { + "properties": { + "current_time": { + "properties": { + "sec": { + "type": "long" } - }, - "in_progress": { - "type": "boolean" - }, - "last_status": { - "ignore_above": 1024, - "type": "keyword" - }, - "last_time": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "in_progress": { + "type": "boolean" + }, + "last_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "last_time": { + "properties": { + "sec": { + "type": "long" } } } - }, - "copy_on_write": { - "properties": { - "last_size": { - "type": "long" - } + } + }, + "copy_on_write": { + "properties": { + "last_size": { + "type": "long" } - }, - "last_save": { - "properties": { - "changes_since": { - "type": "long" - }, - "time": { - "type": "long" - } + } + }, + "last_save": { + "properties": { + "changes_since": { + "type": "long" + }, + "time": { + "type": "long" } } } } } - }, - "replication": { - "properties": { - "backlog": { - "properties": { - "active": { - "type": "long" - }, - "first_byte_offset": { - "type": "long" - }, - "histlen": { - "type": "long" - }, - "size": { - "type": "long" - } - } - }, - "connected_slaves": { - "type": "long" - }, - "master": { - "properties": { - "last_io_seconds_ago": { - "type": "long" - }, - "link_status": { - "ignore_above": 1024, - "type": "keyword" - }, - "offset": { - "type": "long" - }, - "second_offset": { - "type": "long" - }, - "sync": { - "properties": { - "in_progress": { - "type": "boolean" - }, - "last_io_seconds_ago": { - "type": "long" - }, - "left_bytes": { - "type": "long" - } + } + }, + "replication": { + "properties": { + "backlog": { + "properties": { + "active": { + "type": "long" + }, + "first_byte_offset": { + "type": "long" + }, + "histlen": { + "type": "long" + }, + "size": { + "type": "long" + } + } + }, + "connected_slaves": { + "type": "long" + }, + "master": { + "properties": { + "last_io_seconds_ago": { + "type": "long" + }, + "link_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "offset": { + "type": "long" + }, + "second_offset": { + "type": "long" + }, + "sync": { + "properties": { + "in_progress": { + "type": "boolean" + }, + "last_io_seconds_ago": { + "type": "long" + }, + "left_bytes": { + "type": "long" } } } - }, - "master_offset": { - "type": "long" - }, - "role": { - "ignore_above": 1024, - "type": "keyword" - }, - "slave": { - "properties": { - "is_readonly": { - "type": "boolean" - }, - "offset": { - "type": "long" - }, - "priority": { - "type": "long" - } + } + }, + "master_offset": { + "type": "long" + }, + "role": { + "ignore_above": 1024, + "type": "keyword" + }, + "slave": { + "properties": { + "is_readonly": { + "type": "boolean" + }, + "offset": { + "type": "long" + }, + "priority": { + "type": "long" } } } - }, - "server": { - "properties": { - "arch_bits": { - "ignore_above": 1024, - "type": "keyword" - }, - "build_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "config_file": { - "ignore_above": 1024, - "type": "keyword" - }, - "gcc_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "git_dirty": { - "ignore_above": 1024, - "type": "keyword" - }, - "git_sha1": { - "ignore_above": 1024, - "type": "keyword" - }, - "hz": { - "type": "long" - }, - "lru_clock": { - "type": "long" - }, - "mode": { - "ignore_above": 1024, - "type": "keyword" - }, - "multiplexing_api": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "ignore_above": 1024, - "type": "keyword" - }, - "process_id": { - "type": "long" - }, - "run_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "tcp_port": { - "type": "long" - }, - "uptime": { - "type": "long" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "slowlog": { - "properties": { - "count": { - "type": "long" - } - } - }, - "stats": { - "properties": { - "active_defrag": { - "properties": { - "hits": { - "type": "long" - }, - "key_hits": { - "type": "long" - }, - "key_misses": { - "type": "long" - }, - "misses": { - "type": "long" - } - } - }, - "commands_processed": { - "type": "long" - }, - "connections": { - "properties": { - "received": { - "type": "long" - }, - "rejected": { - "type": "long" - } - } - }, - "instantaneous": { - "properties": { - "input_kbps": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ops_per_sec": { - "type": "long" - }, - "output_kbps": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "keys": { - "properties": { - "evicted": { - "type": "long" - }, - "expired": { - "type": "long" - } - } - }, - "keyspace": { - "properties": { - "hits": { - "type": "long" - }, - "misses": { - "type": "long" - } - } - }, - "latest_fork_usec": { - "type": "long" - }, - "migrate_cached_sockets": { - "type": "long" - }, - "net": { - "properties": { - "input": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "output": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "server": { + "properties": { + "arch_bits": { + "ignore_above": 1024, + "type": "keyword" + }, + "build_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "config_file": { + "ignore_above": 1024, + "type": "keyword" + }, + "gcc_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "git_dirty": { + "ignore_above": 1024, + "type": "keyword" + }, + "git_sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "hz": { + "type": "long" + }, + "lru_clock": { + "type": "long" + }, + "mode": { + "ignore_above": 1024, + "type": "keyword" + }, + "multiplexing_api": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "ignore_above": 1024, + "type": "keyword" + }, + "process_id": { + "type": "long" + }, + "run_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "tcp_port": { + "type": "long" + }, + "uptime": { + "type": "long" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "slowlog": { + "properties": { + "count": { + "type": "long" + } + } + }, + "stats": { + "properties": { + "active_defrag": { + "properties": { + "hits": { + "type": "long" + }, + "key_hits": { + "type": "long" + }, + "key_misses": { + "type": "long" + }, + "misses": { + "type": "long" + } + } + }, + "commands_processed": { + "type": "long" + }, + "connections": { + "properties": { + "received": { + "type": "long" + }, + "rejected": { + "type": "long" + } + } + }, + "instantaneous": { + "properties": { + "input_kbps": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ops_per_sec": { + "type": "long" + }, + "output_kbps": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "keys": { + "properties": { + "evicted": { + "type": "long" + }, + "expired": { + "type": "long" + } + } + }, + "keyspace": { + "properties": { + "hits": { + "type": "long" + }, + "misses": { + "type": "long" + } + } + }, + "latest_fork_usec": { + "type": "long" + }, + "migrate_cached_sockets": { + "type": "long" + }, + "net": { + "properties": { + "input": { + "properties": { + "bytes": { + "type": "long" } } - } - }, - "pubsub": { - "properties": { - "channels": { - "type": "long" - }, - "patterns": { - "type": "long" + }, + "output": { + "properties": { + "bytes": { + "type": "long" + } } } - }, - "slave_expires_tracked_keys": { - "type": "long" - }, - "sync": { - "properties": { - "full": { - "type": "long" - }, - "partial": { - "properties": { - "err": { - "type": "long" - }, - "ok": { - "type": "long" - } + } + }, + "pubsub": { + "properties": { + "channels": { + "type": "long" + }, + "patterns": { + "type": "long" + } + } + }, + "slave_expires_tracked_keys": { + "type": "long" + }, + "sync": { + "properties": { + "full": { + "type": "long" + }, + "partial": { + "properties": { + "err": { + "type": "long" + }, + "ok": { + "type": "long" } } } @@ -15565,2108 +15561,2108 @@ } } } - }, - "key": { - "properties": { - "expire": { - "properties": { - "ttl": { - "type": "long" - } - } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "length": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "key": { + "properties": { + "expire": { + "properties": { + "ttl": { + "type": "long" + } } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "length": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "keyspace": { - "properties": { - "avg_ttl": { - "type": "long" - }, - "expires": { - "type": "long" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "keys": { - "type": "long" - } + } + }, + "keyspace": { + "properties": { + "avg_ttl": { + "type": "long" + }, + "expires": { + "type": "long" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "keys": { + "type": "long" + } + } + } + } + }, + "related": { + "properties": { + "ip": { + "type": "ip" + } + } + }, + "server": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" } - }, - "related": { - "properties": { - "ip": { - "type": "ip" - } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "server": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes": { - "type": "long" - }, - "domain": { - "ignore_above": 1024, - "type": "keyword" - }, - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "source": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "packets": { - "type": "long" - }, - "port": { - "type": "long" - } - } - }, - "service": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "ephemeral_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" } - }, - "source": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes": { - "type": "long" - }, - "domain": { - "ignore_above": 1024, - "type": "keyword" - }, - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "system": { + "properties": { + "core": { + "properties": { + "id": { + "type": "long" + }, + "idle": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "iowait": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "irq": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "nice": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "softirq": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "steal": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "system": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "user": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } } } - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "packets": { - "type": "long" - }, - "port": { - "type": "long" } - } - }, - "system": { - "properties": { - "core": { - "properties": { - "id": { - "type": "long" - }, - "idle": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "iowait": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "irq": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "nice": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "softirq": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "steal": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "system": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "user": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } + }, + "cpu": { + "properties": { + "cores": { + "type": "long" + }, + "idle": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" } } - } - }, - "cpu": { - "properties": { - "cores": { - "type": "long" - }, - "idle": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "iowait": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "irq": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "nice": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "softirq": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "steal": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "system": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "total": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + }, + "iowait": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" } - }, - "user": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "irq": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "nice": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "softirq": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "steal": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "system": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "total": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "user": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" } } } - }, - "diskio": { - "properties": { - "io": { - "properties": { - "time": { - "type": "long" - } - } - }, - "iostat": { - "properties": { - "await": { - "type": "float" - }, - "busy": { - "type": "float" - }, - "queue": { - "properties": { - "avg_size": { - "type": "float" - } - } - }, - "read": { - "properties": { - "await": { - "type": "float" - }, - "per_sec": { - "properties": { - "bytes": { - "type": "float" - } + } + }, + "diskio": { + "properties": { + "io": { + "properties": { + "time": { + "type": "long" + } + } + }, + "iostat": { + "properties": { + "await": { + "type": "float" + }, + "busy": { + "type": "float" + }, + "queue": { + "properties": { + "avg_size": { + "type": "float" + } + } + }, + "read": { + "properties": { + "await": { + "type": "float" + }, + "per_sec": { + "properties": { + "bytes": { + "type": "float" } - }, - "request": { - "properties": { - "merges_per_sec": { - "type": "float" - }, - "per_sec": { - "type": "float" - } + } + }, + "request": { + "properties": { + "merges_per_sec": { + "type": "float" + }, + "per_sec": { + "type": "float" } } } - }, - "request": { - "properties": { - "avg_size": { - "type": "float" - } + } + }, + "request": { + "properties": { + "avg_size": { + "type": "float" } - }, - "service_time": { - "type": "float" - }, - "write": { - "properties": { - "await": { - "type": "float" - }, - "per_sec": { - "properties": { - "bytes": { - "type": "float" - } + } + }, + "service_time": { + "type": "float" + }, + "write": { + "properties": { + "await": { + "type": "float" + }, + "per_sec": { + "properties": { + "bytes": { + "type": "float" } - }, - "request": { - "properties": { - "merges_per_sec": { - "type": "float" - }, - "per_sec": { - "type": "float" - } + } + }, + "request": { + "properties": { + "merges_per_sec": { + "type": "float" + }, + "per_sec": { + "type": "float" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "read": { - "properties": { - "bytes": { - "type": "long" - }, - "count": { - "type": "long" - }, - "time": { - "type": "long" - } - } - }, - "serial_number": { - "ignore_above": 1024, - "type": "keyword" - }, - "write": { - "properties": { - "bytes": { - "type": "long" - }, - "count": { - "type": "long" - }, - "time": { - "type": "long" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "read": { + "properties": { + "bytes": { + "type": "long" + }, + "count": { + "type": "long" + }, + "time": { + "type": "long" + } + } + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "write": { + "properties": { + "bytes": { + "type": "long" + }, + "count": { + "type": "long" + }, + "time": { + "type": "long" } } } - }, - "filesystem": { - "properties": { - "available": { - "type": "long" - }, - "device_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "files": { - "type": "long" - }, - "free": { - "type": "long" - }, - "free_files": { - "type": "long" - }, - "mount_point": { - "ignore_above": 1024, - "type": "keyword" - }, - "total": { - "type": "long" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "filesystem": { + "properties": { + "available": { + "type": "long" + }, + "device_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "files": { + "type": "long" + }, + "free": { + "type": "long" + }, + "free_files": { + "type": "long" + }, + "mount_point": { + "ignore_above": 1024, + "type": "keyword" + }, + "total": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "fsstat": { - "properties": { - "count": { - "type": "long" - }, - "total_files": { - "type": "long" - }, - "total_size": { - "properties": { - "free": { - "type": "long" - }, - "total": { - "type": "long" - }, - "used": { - "type": "long" - } + } + }, + "fsstat": { + "properties": { + "count": { + "type": "long" + }, + "total_files": { + "type": "long" + }, + "total_size": { + "properties": { + "free": { + "type": "long" + }, + "total": { + "type": "long" + }, + "used": { + "type": "long" } } } - }, - "load": { - "properties": { - "1": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "15": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "5": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "cores": { - "type": "long" - }, - "norm": { - "properties": { - "1": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "15": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "5": { - "scaling_factor": 100, - "type": "scaled_float" - } + } + }, + "load": { + "properties": { + "1": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "15": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "5": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "cores": { + "type": "long" + }, + "norm": { + "properties": { + "1": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "15": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "5": { + "scaling_factor": 100, + "type": "scaled_float" } } } - }, - "memory": { - "properties": { - "actual": { - "properties": { - "free": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "memory": { + "properties": { + "actual": { + "properties": { + "free": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "free": { - "type": "long" - }, - "hugepages": { - "properties": { - "default_size": { - "type": "long" - }, - "free": { - "type": "long" - }, - "reserved": { - "type": "long" - }, - "surplus": { - "type": "long" - }, - "total": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "type": "long" - } + } + }, + "free": { + "type": "long" + }, + "hugepages": { + "properties": { + "default_size": { + "type": "long" + }, + "free": { + "type": "long" + }, + "reserved": { + "type": "long" + }, + "surplus": { + "type": "long" + }, + "total": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "type": "long" } } } - }, - "swap": { - "properties": { - "free": { - "type": "long" - }, - "total": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "swap": { + "properties": { + "free": { + "type": "long" + }, + "total": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "total": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "total": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "network": { - "properties": { - "in": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "out": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" - } + } + }, + "network": { + "properties": { + "in": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "out": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" } } } - }, - "process": { - "properties": { - "cgroup": { - "properties": { - "blkio": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "total": { - "properties": { - "bytes": { - "type": "long" - }, - "ios": { - "type": "long" - } + } + }, + "process": { + "properties": { + "cgroup": { + "properties": { + "blkio": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "total": { + "properties": { + "bytes": { + "type": "long" + }, + "ios": { + "type": "long" } } } - }, - "cpu": { - "properties": { - "cfs": { - "properties": { - "period": { - "properties": { - "us": { - "type": "long" - } + } + }, + "cpu": { + "properties": { + "cfs": { + "properties": { + "period": { + "properties": { + "us": { + "type": "long" } - }, - "quota": { - "properties": { - "us": { - "type": "long" - } + } + }, + "quota": { + "properties": { + "us": { + "type": "long" } - }, - "shares": { - "type": "long" } + }, + "shares": { + "type": "long" } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "rt": { - "properties": { - "period": { - "properties": { - "us": { - "type": "long" - } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "rt": { + "properties": { + "period": { + "properties": { + "us": { + "type": "long" } - }, - "runtime": { - "properties": { - "us": { - "type": "long" - } + } + }, + "runtime": { + "properties": { + "us": { + "type": "long" } } } - }, - "stats": { - "properties": { - "periods": { - "type": "long" - }, - "throttled": { - "properties": { - "ns": { - "type": "long" - }, - "periods": { - "type": "long" - } + } + }, + "stats": { + "properties": { + "periods": { + "type": "long" + }, + "throttled": { + "properties": { + "ns": { + "type": "long" + }, + "periods": { + "type": "long" } } } } } - }, - "cpuacct": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "percpu": { - "type": "object" - }, - "stats": { - "properties": { - "system": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "cpuacct": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "percpu": { + "type": "object" + }, + "stats": { + "properties": { + "system": { + "properties": { + "ns": { + "type": "long" } - }, - "user": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "user": { + "properties": { + "ns": { + "type": "long" } } } - }, - "total": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "total": { + "properties": { + "ns": { + "type": "long" } } } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "memory": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "kmem": { - "properties": { - "failures": { - "type": "long" - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "memory": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "kmem": { + "properties": { + "failures": { + "type": "long" + }, + "limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "kmem_tcp": { - "properties": { - "failures": { - "type": "long" - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "kmem_tcp": { + "properties": { + "failures": { + "type": "long" + }, + "limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "mem": { - "properties": { - "failures": { - "type": "long" - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "mem": { + "properties": { + "failures": { + "type": "long" + }, + "limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "memsw": { - "properties": { - "failures": { - "type": "long" - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memsw": { + "properties": { + "failures": { + "type": "long" + }, + "limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "stats": { - "properties": { - "active_anon": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "stats": { + "properties": { + "active_anon": { + "properties": { + "bytes": { + "type": "long" } - }, - "active_file": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "active_file": { + "properties": { + "bytes": { + "type": "long" } - }, - "cache": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "cache": { + "properties": { + "bytes": { + "type": "long" } - }, - "hierarchical_memory_limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "hierarchical_memory_limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "hierarchical_memsw_limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "hierarchical_memsw_limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "inactive_anon": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "inactive_anon": { + "properties": { + "bytes": { + "type": "long" } - }, - "inactive_file": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "inactive_file": { + "properties": { + "bytes": { + "type": "long" } - }, - "major_page_faults": { - "type": "long" - }, - "mapped_file": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "major_page_faults": { + "type": "long" + }, + "mapped_file": { + "properties": { + "bytes": { + "type": "long" } - }, - "page_faults": { - "type": "long" - }, - "pages_in": { - "type": "long" - }, - "pages_out": { - "type": "long" - }, - "rss": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "page_faults": { + "type": "long" + }, + "pages_in": { + "type": "long" + }, + "pages_out": { + "type": "long" + }, + "rss": { + "properties": { + "bytes": { + "type": "long" } - }, - "rss_huge": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "rss_huge": { + "properties": { + "bytes": { + "type": "long" } - }, - "swap": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "swap": { + "properties": { + "bytes": { + "type": "long" } - }, - "unevictable": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "unevictable": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "cmdline": { - "ignore_above": 2048, - "type": "keyword" - }, - "cpu": { - "properties": { - "start_time": { - "type": "date" - }, - "system": { - "properties": { - "ticks": { - "type": "long" - } - } - }, - "total": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "cmdline": { + "ignore_above": 2048, + "type": "keyword" + }, + "cpu": { + "properties": { + "start_time": { + "type": "date" + }, + "system": { + "properties": { + "ticks": { + "type": "long" + } + } + }, + "total": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - }, - "value": { - "type": "long" } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + }, + "value": { + "type": "long" } - }, - "user": { - "properties": { - "ticks": { - "type": "long" - } + } + }, + "user": { + "properties": { + "ticks": { + "type": "long" } } } - }, - "cwd": { - "ignore_above": 1024, - "type": "keyword" - }, - "env": { - "type": "object" - }, - "fd": { - "properties": { - "limit": { - "properties": { - "hard": { - "type": "long" - }, - "soft": { - "type": "long" - } - } - }, - "open": { - "type": "long" - } - } - }, - "memory": { - "properties": { - "rss": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "share": { - "type": "long" - }, - "size": { - "type": "long" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "pgid": { - "type": "long" - }, - "pid": { - "type": "long" - }, - "ppid": { - "type": "long" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "summary": { - "properties": { - "dead": { - "type": "long" - }, - "idle": { - "type": "long" - }, - "running": { - "type": "long" - }, - "sleeping": { - "type": "long" - }, - "stopped": { - "type": "long" - }, - "total": { - "type": "long" - }, - "unknown": { - "type": "long" - }, - "zombie": { - "type": "long" - } - } - }, - "username": { - "ignore_above": 1024, - "type": "keyword" } + }, + "cwd": { + "ignore_above": 1024, + "type": "keyword" + }, + "env": { + "type": "object" + }, + "fd": { + "properties": { + "limit": { + "properties": { + "hard": { + "type": "long" + }, + "soft": { + "type": "long" + } + } + }, + "open": { + "type": "long" + } + } + }, + "memory": { + "properties": { + "rss": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "share": { + "type": "long" + }, + "size": { + "type": "long" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "pgid": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "ppid": { + "type": "long" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "summary": { + "properties": { + "dead": { + "type": "long" + }, + "idle": { + "type": "long" + }, + "running": { + "type": "long" + }, + "sleeping": { + "type": "long" + }, + "stopped": { + "type": "long" + }, + "total": { + "type": "long" + }, + "unknown": { + "type": "long" + }, + "zombie": { + "type": "long" + } + } + }, + "username": { + "ignore_above": 1024, + "type": "keyword" } - }, - "raid": { - "properties": { - "activity_state": { - "ignore_above": 1024, - "type": "keyword" - }, - "blocks": { - "properties": { - "synced": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "disks": { - "properties": { - "active": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "raid": { + "properties": { + "activity_state": { + "ignore_above": 1024, + "type": "keyword" + }, + "blocks": { + "properties": { + "synced": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "disks": { + "properties": { + "active": { + "type": "long" + }, + "total": { + "type": "long" + } } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "socket": { - "properties": { - "direction": { - "ignore_above": 1024, - "type": "keyword" - }, - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "local": { - "properties": { - "ip": { - "type": "ip" - }, - "port": { - "type": "long" - } - } - }, - "process": { - "properties": { - "cmdline": { - "ignore_above": 1024, - "type": "keyword" - }, - "command": { - "ignore_above": 1024, - "type": "keyword" - }, - "exe": { - "ignore_above": 1024, - "type": "keyword" - }, - "pid": { - "type": "long" - } - } - }, - "remote": { - "properties": { - "etld_plus_one": { - "ignore_above": 1024, - "type": "keyword" - }, - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "host_error": { - "ignore_above": 1024, - "type": "keyword" - }, - "ip": { - "type": "ip" - }, - "port": { - "type": "long" - } - } - }, - "summary": { - "properties": { - "all": { - "properties": { - "count": { - "type": "long" - }, - "listening": { - "type": "long" - } - } - }, - "tcp": { - "properties": { - "all": { - "properties": { - "close_wait": { - "type": "long" - }, - "count": { - "type": "long" - }, - "established": { - "type": "long" - }, - "listening": { - "type": "long" - }, - "time_wait": { - "type": "long" - } + } + }, + "socket": { + "properties": { + "direction": { + "ignore_above": 1024, + "type": "keyword" + }, + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "local": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "process": { + "properties": { + "cmdline": { + "ignore_above": 1024, + "type": "keyword" + }, + "command": { + "ignore_above": 1024, + "type": "keyword" + }, + "exe": { + "ignore_above": 1024, + "type": "keyword" + }, + "pid": { + "type": "long" + } + } + }, + "remote": { + "properties": { + "etld_plus_one": { + "ignore_above": 1024, + "type": "keyword" + }, + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "host_error": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "summary": { + "properties": { + "all": { + "properties": { + "count": { + "type": "long" + }, + "listening": { + "type": "long" + } + } + }, + "tcp": { + "properties": { + "all": { + "properties": { + "close_wait": { + "type": "long" + }, + "count": { + "type": "long" + }, + "established": { + "type": "long" + }, + "listening": { + "type": "long" + }, + "time_wait": { + "type": "long" } } } - }, - "udp": { - "properties": { - "all": { - "properties": { - "count": { - "type": "long" - } + } + }, + "udp": { + "properties": { + "all": { + "properties": { + "count": { + "type": "long" } } } } } - }, - "user": { - "properties": { - "id": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "user": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "uptime": { - "properties": { - "duration": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "uptime": { + "properties": { + "duration": { + "properties": { + "ms": { + "type": "long" } } } } } - }, - "tags": { - "ignore_above": 1024, - "type": "keyword" - }, - "traefik": { - "properties": { - "health": { - "properties": { - "response": { - "properties": { - "avg_time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "tags": { + "ignore_above": 1024, + "type": "keyword" + }, + "traefik": { + "properties": { + "health": { + "properties": { + "response": { + "properties": { + "avg_time": { + "properties": { + "us": { + "type": "long" } - }, - "count": { - "type": "long" - }, - "status_codes": { - "properties": { - "*": { - "type": "object" - } + } + }, + "count": { + "type": "long" + }, + "status_codes": { + "properties": { + "*": { + "type": "object" } } } - }, - "uptime": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "uptime": { + "properties": { + "sec": { + "type": "long" } } } } } - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "url": { - "properties": { - "domain": { - "ignore_above": 1024, - "type": "keyword" - }, - "fragment": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "ignore_above": 1024, - "type": "keyword" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "original": { - "ignore_above": 1024, - "type": "keyword" - }, - "password": { - "ignore_above": 1024, - "type": "keyword" - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "port": { - "type": "long" - }, - "query": { - "ignore_above": 1024, - "type": "keyword" - }, - "scheme": { - "ignore_above": 1024, - "type": "keyword" - }, - "username": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "url": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "fragment": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "ignore_above": 1024, + "type": "keyword" + }, + "password": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + }, + "query": { + "ignore_above": 1024, + "type": "keyword" + }, + "scheme": { + "ignore_above": 1024, + "type": "keyword" + }, + "username": { + "ignore_above": 1024, + "type": "keyword" } - }, - "user": { - "properties": { - "email": { - "ignore_above": 1024, - "type": "keyword" - }, - "full_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "group": { - "ignore_above": 1024, - "type": "keyword" - }, - "hash": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "user": { + "properties": { + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "ignore_above": 1024, + "type": "keyword" + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "user_agent": { - "properties": { - "device": { - "ignore_above": 1024, - "type": "keyword" - }, - "major": { - "ignore_above": 1024, - "type": "keyword" - }, - "minor": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "original": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "properties": { - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "ignore_above": 1024, - "type": "keyword" - }, - "kernel": { - "ignore_above": 1024, - "type": "keyword" - }, - "major": { - "type": "long" - }, - "minor": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "platform": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "user_agent": { + "properties": { + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "major": { + "ignore_above": 1024, + "type": "keyword" + }, + "minor": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "major": { + "type": "long" + }, + "minor": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "patch": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } + }, + "patch": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "uwsgi": { - "properties": { - "status": { - "properties": { - "core": { - "properties": { - "id": { - "type": "long" - }, - "read_errors": { - "type": "long" - }, - "requests": { - "properties": { - "offloaded": { - "type": "long" - }, - "routed": { - "type": "long" - }, - "static": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "worker_pid": { - "type": "long" - }, - "write_errors": { - "type": "long" - } - } - }, - "total": { - "properties": { - "exceptions": { - "type": "long" - }, - "pid": { - "type": "long" - }, - "read_errors": { - "type": "long" - }, - "requests": { - "type": "long" - }, - "write_errors": { - "type": "long" - } - } - }, - "worker": { - "properties": { - "accepting": { - "type": "long" - }, - "avg_rt": { - "type": "long" - }, - "delta_requests": { - "type": "long" - }, - "exceptions": { - "type": "long" - }, - "harakiri_count": { - "type": "long" - }, - "id": { - "type": "long" - }, - "pid": { - "type": "long" - }, - "requests": { - "type": "long" - }, - "respawn_count": { - "type": "long" - }, - "rss": { - "ignore_above": 1024, - "type": "keyword" - }, - "running_time": { - "type": "long" - }, - "signal_queue": { - "type": "long" - }, - "signals": { - "type": "long" - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - }, - "tx": { - "type": "long" - }, - "vsz": { - "type": "long" - } + } + }, + "uwsgi": { + "properties": { + "status": { + "properties": { + "core": { + "properties": { + "id": { + "type": "long" + }, + "read_errors": { + "type": "long" + }, + "requests": { + "properties": { + "offloaded": { + "type": "long" + }, + "routed": { + "type": "long" + }, + "static": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "worker_pid": { + "type": "long" + }, + "write_errors": { + "type": "long" + } + } + }, + "total": { + "properties": { + "exceptions": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "read_errors": { + "type": "long" + }, + "requests": { + "type": "long" + }, + "write_errors": { + "type": "long" + } + } + }, + "worker": { + "properties": { + "accepting": { + "type": "long" + }, + "avg_rt": { + "type": "long" + }, + "delta_requests": { + "type": "long" + }, + "exceptions": { + "type": "long" + }, + "harakiri_count": { + "type": "long" + }, + "id": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "requests": { + "type": "long" + }, + "respawn_count": { + "type": "long" + }, + "rss": { + "ignore_above": 1024, + "type": "keyword" + }, + "running_time": { + "type": "long" + }, + "signal_queue": { + "type": "long" + }, + "signals": { + "type": "long" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "tx": { + "type": "long" + }, + "vsz": { + "type": "long" } } } } } - }, - "vsphere": { - "properties": { - "datastore": { - "properties": { - "capacity": { - "properties": { - "free": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "vsphere": { + "properties": { + "datastore": { + "properties": { + "capacity": { + "properties": { + "free": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "type": "long" } } } - }, - "fstype": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" } + }, + "fstype": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "host": { - "properties": { - "cpu": { - "properties": { - "free": { - "properties": { - "mhz": { - "type": "long" - } + } + }, + "host": { + "properties": { + "cpu": { + "properties": { + "free": { + "properties": { + "mhz": { + "type": "long" } - }, - "total": { - "properties": { - "mhz": { - "type": "long" - } + } + }, + "total": { + "properties": { + "mhz": { + "type": "long" } - }, - "used": { - "properties": { - "mhz": { - "type": "long" - } + } + }, + "used": { + "properties": { + "mhz": { + "type": "long" } } } - }, - "memory": { - "properties": { - "free": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "free": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "network_names": { - "ignore_above": 1024, - "type": "keyword" } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "network_names": { + "ignore_above": 1024, + "type": "keyword" } - }, - "virtualmachine": { - "properties": { - "cpu": { - "properties": { - "used": { - "properties": { - "mhz": { - "type": "long" - } + } + }, + "virtualmachine": { + "properties": { + "cpu": { + "properties": { + "used": { + "properties": { + "mhz": { + "type": "long" } } } - }, - "custom_fields": { - "type": "object" - }, - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "memory": { - "properties": { - "free": { - "properties": { - "guest": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "custom_fields": { + "type": "object" + }, + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "memory": { + "properties": { + "free": { + "properties": { + "guest": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "total": { - "properties": { - "guest": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "guest": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "used": { - "properties": { - "guest": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "guest": { + "properties": { + "bytes": { + "type": "long" } - }, - "host": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "host": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "network_names": { - "ignore_above": 1024, - "type": "keyword" } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "network_names": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "windows": { - "properties": { - "service": { - "properties": { - "display_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "exit_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "pid": { - "type": "long" - }, - "start_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "uptime": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "windows": { + "properties": { + "service": { + "properties": { + "display_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "exit_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "pid": { + "type": "long" + }, + "start_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "properties": { + "ms": { + "type": "long" } } } } } - }, - "zookeeper": { - "properties": { - "mntr": { - "properties": { - "approximate_data_size": { - "type": "long" - }, - "ephemerals_count": { - "type": "long" - }, - "followers": { - "type": "long" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "latency": { - "properties": { - "avg": { - "type": "long" - }, - "max": { - "type": "long" - }, - "min": { - "type": "long" - } - } - }, - "max_file_descriptor_count": { - "type": "long" - }, - "num_alive_connections": { - "type": "long" - }, - "open_file_descriptor_count": { - "type": "long" - }, - "outstanding_requests": { - "type": "long" - }, - "packets": { - "properties": { - "received": { - "type": "long" - }, - "sent": { - "type": "long" - } - } - }, - "pending_syncs": { - "type": "long" - }, - "server_state": { - "ignore_above": 1024, - "type": "keyword" - }, - "synced_followers": { - "type": "long" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - }, - "watch_count": { - "type": "long" - }, - "znode_count": { - "type": "long" + } + }, + "zookeeper": { + "properties": { + "mntr": { + "properties": { + "approximate_data_size": { + "type": "long" + }, + "ephemerals_count": { + "type": "long" + }, + "followers": { + "type": "long" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "latency": { + "properties": { + "avg": { + "type": "long" + }, + "max": { + "type": "long" + }, + "min": { + "type": "long" + } + } + }, + "max_file_descriptor_count": { + "type": "long" + }, + "num_alive_connections": { + "type": "long" + }, + "open_file_descriptor_count": { + "type": "long" + }, + "outstanding_requests": { + "type": "long" + }, + "packets": { + "properties": { + "received": { + "type": "long" + }, + "sent": { + "type": "long" + } } + }, + "pending_syncs": { + "type": "long" + }, + "server_state": { + "ignore_above": 1024, + "type": "keyword" + }, + "synced_followers": { + "type": "long" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + }, + "watch_count": { + "type": "long" + }, + "znode_count": { + "type": "long" } } } @@ -18152,4 +18148,4 @@ } } } -} \ No newline at end of file +} diff --git a/x-pack/test/functional/es_archives/infra/legacy/mappings.json b/x-pack/test/functional/es_archives/infra/legacy/mappings.json index 6fef7e0bbb1e5..7fe29193b22a5 100644 --- a/x-pack/test/functional/es_archives/infra/legacy/mappings.json +++ b/x-pack/test/functional/es_archives/infra/legacy/mappings.json @@ -5,806 +5,804 @@ }, "index": "metricbeat-7.0.0-alpha1-2018.10.17", "mappings": { - "_doc": { - "_meta": { - "version": "7.0.0-alpha1" + "_meta": { + "version": "7.0.0-alpha1" + }, + "date_detection": false, + "dynamic_templates": [ + { + "fields": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "fields.*" + } }, - "date_detection": false, - "dynamic_templates": [ - { - "fields": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "fields.*" - } - }, - { - "docker.container.labels": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "docker.container.labels.*" - } - }, - { - "docker.cpu.core.*.pct": { - "mapping": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "path_match": "docker.cpu.core.*.pct" - } - }, - { - "docker.cpu.core.*.ticks": { - "mapping": { - "type": "long" - }, - "match_mapping_type": "long", - "path_match": "docker.cpu.core.*.ticks" - } - }, - { - "docker.image.labels": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "docker.image.labels.*" - } - }, - { - "kubernetes.apiserver.request.latency.bucket": { - "mapping": { - "type": "long" - }, - "match_mapping_type": "long", - "path_match": "kubernetes.apiserver.request.latency.bucket.*" - } - }, - { - "system.process.env": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "system.process.env.*" - } - }, - { - "system.process.cgroup.cpuacct.percpu": { - "mapping": { - "type": "long" - }, - "match_mapping_type": "long", - "path_match": "system.process.cgroup.cpuacct.percpu.*" - } - }, - { - "traefik.health.response.status_code": { - "mapping": { - "type": "long" - }, - "match_mapping_type": "long", - "path_match": "traefik.health.response.status_code.*" - } - }, - { - "vsphere.virtualmachine.custom_fields": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "vsphere.virtualmachine.custom_fields.*" - } - }, - { - "strings_as_keyword": { - "mapping": { - "ignore_above": 1024, - "type": "keyword" - }, - "match_mapping_type": "string" - } + { + "docker.container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "docker.container.labels.*" } - ], - "properties": { - "@timestamp": { - "type": "date" - }, - "aerospike": { - "properties": { - "namespace": { - "properties": { - "client": { - "properties": { - "delete": { - "properties": { - "error": { - "type": "long" - }, - "not_found": { - "type": "long" - }, - "success": { - "type": "long" - }, - "timeout": { - "type": "long" - } - } - }, - "read": { - "properties": { - "error": { - "type": "long" - }, - "not_found": { - "type": "long" - }, - "success": { - "type": "long" - }, - "timeout": { - "type": "long" - } - } - }, - "write": { - "properties": { - "error": { - "type": "long" - }, - "success": { - "type": "long" - }, - "timeout": { - "type": "long" - } + }, + { + "docker.cpu.core.*.pct": { + "mapping": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "path_match": "docker.cpu.core.*.pct" + } + }, + { + "docker.cpu.core.*.ticks": { + "mapping": { + "type": "long" + }, + "match_mapping_type": "long", + "path_match": "docker.cpu.core.*.ticks" + } + }, + { + "docker.image.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "docker.image.labels.*" + } + }, + { + "kubernetes.apiserver.request.latency.bucket": { + "mapping": { + "type": "long" + }, + "match_mapping_type": "long", + "path_match": "kubernetes.apiserver.request.latency.bucket.*" + } + }, + { + "system.process.env": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "system.process.env.*" + } + }, + { + "system.process.cgroup.cpuacct.percpu": { + "mapping": { + "type": "long" + }, + "match_mapping_type": "long", + "path_match": "system.process.cgroup.cpuacct.percpu.*" + } + }, + { + "traefik.health.response.status_code": { + "mapping": { + "type": "long" + }, + "match_mapping_type": "long", + "path_match": "traefik.health.response.status_code.*" + } + }, + { + "vsphere.virtualmachine.custom_fields": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "vsphere.virtualmachine.custom_fields.*" + } + }, + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "aerospike": { + "properties": { + "namespace": { + "properties": { + "client": { + "properties": { + "delete": { + "properties": { + "error": { + "type": "long" + }, + "not_found": { + "type": "long" + }, + "success": { + "type": "long" + }, + "timeout": { + "type": "long" + } + } + }, + "read": { + "properties": { + "error": { + "type": "long" + }, + "not_found": { + "type": "long" + }, + "success": { + "type": "long" + }, + "timeout": { + "type": "long" + } + } + }, + "write": { + "properties": { + "error": { + "type": "long" + }, + "success": { + "type": "long" + }, + "timeout": { + "type": "long" } } } - }, - "device": { - "properties": { - "available": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "device": { + "properties": { + "available": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "free": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "free": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "hwm_breached": { - "type": "boolean" - }, - "memory": { - "properties": { - "free": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "used": { - "properties": { - "data": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "hwm_breached": { + "type": "boolean" + }, + "memory": { + "properties": { + "free": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "used": { + "properties": { + "data": { + "properties": { + "bytes": { + "type": "long" } - }, - "index": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "index": { + "properties": { + "bytes": { + "type": "long" } - }, - "sindex": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "sindex": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "node": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "objects": { - "properties": { - "master": { - "type": "long" - }, - "total": { - "type": "long" - } + } + }, + "objects": { + "properties": { + "master": { + "type": "long" + }, + "total": { + "type": "long" } - }, - "stop_writes": { - "type": "boolean" } + }, + "stop_writes": { + "type": "boolean" } } } - }, - "apache": { - "properties": { - "status": { - "properties": { - "bytes_per_request": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "bytes_per_sec": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "connections": { - "properties": { - "async": { - "properties": { - "closing": { - "type": "long" - }, - "keep_alive": { - "type": "long" - }, - "writing": { - "type": "long" - } - } - }, - "total": { - "type": "long" - } - } - }, - "cpu": { - "properties": { - "children_system": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "children_user": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "load": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "system": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "user": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "load": { - "properties": { - "1": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "15": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "5": { - "scaling_factor": 100, - "type": "scaled_float" - } - } - }, - "requests_per_sec": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "scoreboard": { - "properties": { - "closing_connection": { - "type": "long" - }, - "dns_lookup": { - "type": "long" - }, - "gracefully_finishing": { - "type": "long" - }, - "idle_cleanup": { - "type": "long" - }, - "keepalive": { - "type": "long" - }, - "logging": { - "type": "long" - }, - "open_slot": { - "type": "long" - }, - "reading_request": { - "type": "long" - }, - "sending_reply": { - "type": "long" - }, - "starting_up": { - "type": "long" - }, - "total": { - "type": "long" - }, - "waiting_for_connection": { - "type": "long" - } - } - }, - "total_accesses": { - "type": "long" - }, - "total_kbytes": { - "type": "long" - }, - "uptime": { - "properties": { - "server_uptime": { - "type": "long" - }, - "uptime": { - "type": "long" - } - } - }, - "workers": { - "properties": { - "busy": { - "type": "long" - }, - "idle": { - "type": "long" - } + } + }, + "apache": { + "properties": { + "status": { + "properties": { + "bytes_per_request": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "bytes_per_sec": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "connections": { + "properties": { + "async": { + "properties": { + "closing": { + "type": "long" + }, + "keep_alive": { + "type": "long" + }, + "writing": { + "type": "long" + } + } + }, + "total": { + "type": "long" + } + } + }, + "cpu": { + "properties": { + "children_system": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "children_user": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "load": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "system": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "user": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "load": { + "properties": { + "1": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "15": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "5": { + "scaling_factor": 100, + "type": "scaled_float" + } + } + }, + "requests_per_sec": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "scoreboard": { + "properties": { + "closing_connection": { + "type": "long" + }, + "dns_lookup": { + "type": "long" + }, + "gracefully_finishing": { + "type": "long" + }, + "idle_cleanup": { + "type": "long" + }, + "keepalive": { + "type": "long" + }, + "logging": { + "type": "long" + }, + "open_slot": { + "type": "long" + }, + "reading_request": { + "type": "long" + }, + "sending_reply": { + "type": "long" + }, + "starting_up": { + "type": "long" + }, + "total": { + "type": "long" + }, + "waiting_for_connection": { + "type": "long" + } + } + }, + "total_accesses": { + "type": "long" + }, + "total_kbytes": { + "type": "long" + }, + "uptime": { + "properties": { + "server_uptime": { + "type": "long" + }, + "uptime": { + "type": "long" + } + } + }, + "workers": { + "properties": { + "busy": { + "type": "long" + }, + "idle": { + "type": "long" } } } } } - }, - "beat": { - "properties": { - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "timezone": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "beat": { + "properties": { + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "ceph": { - "properties": { - "cluster_disk": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "ceph": { + "properties": { + "cluster_disk": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "cluster_health": { - "properties": { - "overall_status": { - "ignore_above": 1024, - "type": "keyword" - }, - "timechecks": { - "properties": { - "epoch": { - "type": "long" - }, - "round": { - "properties": { - "status": { - "ignore_above": 1024, - "type": "keyword" - }, - "value": { - "type": "long" - } + } + }, + "cluster_health": { + "properties": { + "overall_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "timechecks": { + "properties": { + "epoch": { + "type": "long" + }, + "round": { + "properties": { + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "value": { + "type": "long" } } } } } - }, - "cluster_status": { - "properties": { - "degraded": { - "properties": { - "objects": { - "type": "long" - }, - "ratio": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "total": { - "type": "long" - } - } - }, - "misplace": { - "properties": { - "objects": { - "type": "long" - }, - "ratio": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "total": { - "type": "long" - } - } - }, - "osd": { - "properties": { - "epoch": { - "type": "long" - }, - "full": { - "type": "boolean" - }, - "nearfull": { - "type": "boolean" - }, - "num_in_osds": { - "type": "long" - }, - "num_osds": { - "type": "long" - }, - "num_remapped_pgs": { - "type": "long" - }, - "num_up_osds": { - "type": "long" - } - } - }, - "pg": { - "properties": { - "avail_bytes": { - "type": "long" - }, - "data_bytes": { - "type": "long" - }, - "total_bytes": { - "type": "long" - }, - "used_bytes": { - "type": "long" - } - } - }, - "pg_state": { - "properties": { - "count": { - "type": "long" - }, - "state_name": { - "type": "long" - }, - "version": { - "type": "long" - } - } - }, - "traffic": { - "properties": { - "read_bytes": { - "type": "long" - }, - "read_op_per_sec": { - "type": "long" - }, - "write_bytes": { - "type": "long" - }, - "write_op_per_sec": { - "type": "long" - } - } - }, - "version": { - "type": "long" + } + }, + "cluster_status": { + "properties": { + "degraded": { + "properties": { + "objects": { + "type": "long" + }, + "ratio": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "total": { + "type": "long" + } + } + }, + "misplace": { + "properties": { + "objects": { + "type": "long" + }, + "ratio": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "total": { + "type": "long" + } + } + }, + "osd": { + "properties": { + "epoch": { + "type": "long" + }, + "full": { + "type": "boolean" + }, + "nearfull": { + "type": "boolean" + }, + "num_in_osds": { + "type": "long" + }, + "num_osds": { + "type": "long" + }, + "num_remapped_pgs": { + "type": "long" + }, + "num_up_osds": { + "type": "long" + } + } + }, + "pg": { + "properties": { + "avail_bytes": { + "type": "long" + }, + "data_bytes": { + "type": "long" + }, + "total_bytes": { + "type": "long" + }, + "used_bytes": { + "type": "long" + } + } + }, + "pg_state": { + "properties": { + "count": { + "type": "long" + }, + "state_name": { + "type": "long" + }, + "version": { + "type": "long" + } + } + }, + "traffic": { + "properties": { + "read_bytes": { + "type": "long" + }, + "read_op_per_sec": { + "type": "long" + }, + "write_bytes": { + "type": "long" + }, + "write_op_per_sec": { + "type": "long" + } } + }, + "version": { + "type": "long" } - }, - "monitor_health": { - "properties": { - "available": { - "properties": { - "kb": { - "type": "long" - }, - "pct": { - "type": "long" - } - } - }, - "health": { - "ignore_above": 1024, - "type": "keyword" - }, - "last_updated": { - "type": "date" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "store_stats": { - "properties": { - "last_updated": { - "type": "long" - }, - "log": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "misc": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "sst": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "monitor_health": { + "properties": { + "available": { + "properties": { + "kb": { + "type": "long" + }, + "pct": { + "type": "long" + } + } + }, + "health": { + "ignore_above": 1024, + "type": "keyword" + }, + "last_updated": { + "type": "date" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "store_stats": { + "properties": { + "last_updated": { + "type": "long" + }, + "log": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "misc": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "sst": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "total": { - "properties": { - "kb": { - "type": "long" - } + } + }, + "total": { + "properties": { + "kb": { + "type": "long" } - }, - "used": { - "properties": { - "kb": { - "type": "long" - } + } + }, + "used": { + "properties": { + "kb": { + "type": "long" } } } - }, - "osd_df": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "device_class": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "type": "long" - }, - "name": { - "norms": false, - "type": "text" - }, - "pg_num": { - "type": "long" - }, - "total": { - "properties": { - "byte": { - "type": "long" - } - } - }, - "used": { - "properties": { - "byte": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "osd_df": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } } - } - }, - "osd_tree": { - "properties": { - "children": { - "norms": false, - "type": "text" - }, - "crush_weight": { - "type": "float" - }, - "depth": { - "type": "long" - }, - "device_class": { - "ignore_above": 1024, - "type": "keyword" - }, - "exists": { - "type": "boolean" - }, - "father": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "type": "long" - }, - "name": { - "norms": false, - "type": "text" - }, - "primary_affinity": { - "type": "float" - }, - "reweight": { - "type": "long" - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "type_id": { - "type": "long" + }, + "device_class": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "type": "long" + }, + "name": { + "norms": false, + "type": "text" + }, + "pg_num": { + "type": "long" + }, + "total": { + "properties": { + "byte": { + "type": "long" + } + } + }, + "used": { + "properties": { + "byte": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } } } - }, - "pool_disk": { - "properties": { - "id": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "stats": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "objects": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "kb": { - "type": "long" - } + } + }, + "osd_tree": { + "properties": { + "children": { + "norms": false, + "type": "text" + }, + "crush_weight": { + "type": "float" + }, + "depth": { + "type": "long" + }, + "device_class": { + "ignore_above": 1024, + "type": "keyword" + }, + "exists": { + "type": "boolean" + }, + "father": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "type": "long" + }, + "name": { + "norms": false, + "type": "text" + }, + "primary_affinity": { + "type": "float" + }, + "reweight": { + "type": "long" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "type_id": { + "type": "long" + } + } + }, + "pool_disk": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "stats": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "objects": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "kb": { + "type": "long" } } } @@ -812,215 +810,215 @@ } } } - }, - "couchbase": { - "properties": { - "bucket": { - "properties": { - "data": { - "properties": { - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "couchbase": { + "properties": { + "bucket": { + "properties": { + "data": { + "properties": { + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "disk": { - "properties": { - "fetches": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "disk": { + "properties": { + "fetches": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "item_count": { - "type": "long" - }, - "memory": { - "properties": { - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "item_count": { + "type": "long" + }, + "memory": { + "properties": { + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "ops_per_sec": { - "type": "long" - }, - "quota": { - "properties": { - "ram": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "use": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "ops_per_sec": { + "type": "long" + }, + "quota": { + "properties": { + "ram": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "use": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "type": { - "ignore_above": 1024, - "type": "keyword" } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "cluster": { - "properties": { - "hdd": { - "properties": { - "free": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "quota": { - "properties": { - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "cluster": { + "properties": { + "hdd": { + "properties": { + "free": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "quota": { + "properties": { + "total": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "by_data": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "by_data": { + "properties": { + "bytes": { + "type": "long" } - }, - "value": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "value": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "max_bucket_count": { - "type": "long" - }, - "quota": { - "properties": { - "index_memory": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "max_bucket_count": { + "type": "long" + }, + "quota": { + "properties": { + "index_memory": { + "properties": { + "mb": { + "type": "long" } - }, - "memory": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "mb": { + "type": "long" } } } - }, - "ram": { - "properties": { - "quota": { - "properties": { - "total": { - "properties": { - "per_node": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "ram": { + "properties": { + "quota": { + "properties": { + "total": { + "properties": { + "per_node": { + "properties": { + "bytes": { + "type": "long" } - }, - "value": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "value": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "used": { - "properties": { - "per_node": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "per_node": { + "properties": { + "bytes": { + "type": "long" } - }, - "value": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "value": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "by_data": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "by_data": { + "properties": { + "bytes": { + "type": "long" } - }, - "value": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "value": { + "properties": { + "bytes": { + "type": "long" } } } @@ -1028,665 +1026,665 @@ } } } - }, - "node": { - "properties": { - "cmd_get": { - "type": "long" - }, - "couch": { - "properties": { - "docs": { - "properties": { - "data_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "node": { + "properties": { + "cmd_get": { + "type": "long" + }, + "couch": { + "properties": { + "docs": { + "properties": { + "data_size": { + "properties": { + "bytes": { + "type": "long" } - }, - "disk_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "disk_size": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "spatial": { - "properties": { - "data_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "spatial": { + "properties": { + "data_size": { + "properties": { + "bytes": { + "type": "long" } - }, - "disk_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "disk_size": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "views": { - "properties": { - "data_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "views": { + "properties": { + "data_size": { + "properties": { + "bytes": { + "type": "long" } - }, - "disk_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "disk_size": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "cpu_utilization_rate": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "current_items": { - "properties": { - "total": { - "type": "long" - }, - "value": { - "type": "long" - } - } - }, - "ep_bg_fetched": { - "type": "long" - }, - "get_hits": { - "type": "long" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "mcd_memory": { - "properties": { - "allocated": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "reserved": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "cpu_utilization_rate": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "current_items": { + "properties": { + "total": { + "type": "long" + }, + "value": { + "type": "long" + } + } + }, + "ep_bg_fetched": { + "type": "long" + }, + "get_hits": { + "type": "long" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "mcd_memory": { + "properties": { + "allocated": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "reserved": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "memory": { - "properties": { - "free": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "free": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "ops": { - "type": "long" - }, - "swap": { - "properties": { - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "ops": { + "type": "long" + }, + "swap": { + "properties": { + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "uptime": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "uptime": { + "properties": { + "sec": { + "type": "long" } - }, - "vb_replica_curr_items": { - "type": "long" } + }, + "vb_replica_curr_items": { + "type": "long" } } } - }, - "docker": { - "properties": { - "container": { - "properties": { - "command": { - "ignore_above": 1024, - "type": "keyword" - }, - "created": { - "type": "date" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "image": { - "ignore_above": 1024, - "type": "keyword" - }, - "ip_addresses": { - "ignore_above": 1024, - "type": "keyword" - }, - "labels": { - "type": "object" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "size": { - "properties": { - "root_fs": { - "type": "long" - }, - "rw": { - "type": "long" - } - } - }, - "status": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "docker": { + "properties": { + "container": { + "properties": { + "command": { + "ignore_above": 1024, + "type": "keyword" + }, + "created": { + "type": "date" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip_addresses": { + "ignore_above": 1024, + "type": "keyword" + }, + "labels": { + "type": "object" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "size": { + "properties": { + "root_fs": { + "type": "long" + }, + "rw": { + "type": "long" + } } + }, + "status": { + "ignore_above": 1024, + "type": "keyword" } - }, - "cpu": { - "properties": { - "core": { - "properties": { - "*": { - "properties": { - "pct": { - "type": "object" - }, - "ticks": { - "type": "object" - } + } + }, + "cpu": { + "properties": { + "core": { + "properties": { + "*": { + "properties": { + "pct": { + "type": "object" + }, + "ticks": { + "type": "object" } } } - }, - "kernel": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } + } + }, + "kernel": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" } - }, - "system": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } + } + }, + "system": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" } - }, - "total": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "total": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "user": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } + } + }, + "user": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" } } } - }, - "diskio": { - "properties": { - "read": { - "properties": { - "bytes": { - "type": "long" - }, - "ops": { - "type": "long" - }, - "rate": { - "type": "long" - } - } - }, - "reads": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "summary": { - "properties": { - "bytes": { - "type": "long" - }, - "ops": { - "type": "long" - }, - "rate": { - "type": "long" - } - } - }, - "total": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "write": { - "properties": { - "bytes": { - "type": "long" - }, - "ops": { - "type": "long" - }, - "rate": { - "type": "long" - } - } - }, - "writes": { - "scaling_factor": 1000, - "type": "scaled_float" + } + }, + "diskio": { + "properties": { + "read": { + "properties": { + "bytes": { + "type": "long" + }, + "ops": { + "type": "long" + }, + "rate": { + "type": "long" + } + } + }, + "reads": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "summary": { + "properties": { + "bytes": { + "type": "long" + }, + "ops": { + "type": "long" + }, + "rate": { + "type": "long" + } + } + }, + "total": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "write": { + "properties": { + "bytes": { + "type": "long" + }, + "ops": { + "type": "long" + }, + "rate": { + "type": "long" + } } + }, + "writes": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "healthcheck": { - "properties": { - "event": { - "properties": { - "end_date": { - "type": "date" - }, - "exit_code": { - "type": "long" - }, - "output": { - "ignore_above": 1024, - "type": "keyword" - }, - "start_date": { - "type": "date" - } - } - }, - "failingstreak": { - "type": "long" - }, - "status": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "healthcheck": { + "properties": { + "event": { + "properties": { + "end_date": { + "type": "date" + }, + "exit_code": { + "type": "long" + }, + "output": { + "ignore_above": 1024, + "type": "keyword" + }, + "start_date": { + "type": "date" + } } + }, + "failingstreak": { + "type": "long" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" } - }, - "image": { - "properties": { - "created": { - "type": "date" - }, - "id": { - "properties": { - "current": { - "ignore_above": 1024, - "type": "keyword" - }, - "parent": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "labels": { - "type": "object" - }, - "size": { - "properties": { - "regular": { - "type": "long" - }, - "virtual": { - "type": "long" - } + } + }, + "image": { + "properties": { + "created": { + "type": "date" + }, + "id": { + "properties": { + "current": { + "ignore_above": 1024, + "type": "keyword" + }, + "parent": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "labels": { + "type": "object" + }, + "size": { + "properties": { + "regular": { + "type": "long" + }, + "virtual": { + "type": "long" } } } - }, - "info": { - "properties": { - "containers": { - "properties": { - "paused": { - "type": "long" - }, - "running": { - "type": "long" - }, - "stopped": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "images": { - "type": "long" + } + }, + "info": { + "properties": { + "containers": { + "properties": { + "paused": { + "type": "long" + }, + "running": { + "type": "long" + }, + "stopped": { + "type": "long" + }, + "total": { + "type": "long" + } } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "images": { + "type": "long" } - }, - "memory": { - "properties": { - "fail": { - "properties": { - "count": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "limit": { - "type": "long" - }, - "rss": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "total": { - "type": "long" - } - } - }, - "usage": { - "properties": { - "max": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "total": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "fail": { + "properties": { + "count": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "limit": { + "type": "long" + }, + "rss": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "total": { + "type": "long" + } + } + }, + "usage": { + "properties": { + "max": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "total": { + "type": "long" } } } - }, - "network": { - "properties": { - "in": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" - } - } - }, - "inbound": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" - } - } - }, - "interface": { - "ignore_above": 1024, - "type": "keyword" - }, - "out": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" - } - } - }, - "outbound": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" - } + } + }, + "network": { + "properties": { + "in": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + }, + "inbound": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + }, + "interface": { + "ignore_above": 1024, + "type": "keyword" + }, + "out": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + }, + "outbound": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" } } } } } - }, - "dropwizard": { - "type": "object" - }, - "elasticsearch": { - "properties": { - "cluster": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "pending_task": { - "properties": { - "insert_order": { - "type": "long" - }, - "priority": { - "type": "long" - }, - "source": { - "ignore_above": 1024, - "type": "keyword" - }, - "time_in_queue": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "dropwizard": { + "type": "object" + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "pending_task": { + "properties": { + "insert_order": { + "type": "long" + }, + "priority": { + "type": "long" + }, + "source": { + "ignore_above": 1024, + "type": "keyword" + }, + "time_in_queue": { + "properties": { + "ms": { + "type": "long" } } } - }, - "state": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "index": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "summary": { - "properties": { - "primaries": { - "properties": { - "docs": { - "properties": { - "count": { - "type": "long" - }, - "deleted": { - "type": "long" - } + } + }, + "index": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "summary": { + "properties": { + "primaries": { + "properties": { + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" } - }, - "segments": { - "properties": { - "count": { - "type": "long" - }, - "memory": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "store": { - "properties": { - "size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "total": { - "properties": { - "docs": { - "properties": { - "count": { - "type": "long" - }, - "deleted": { - "type": "long" - } + } + }, + "total": { + "properties": { + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" } - }, - "segments": { - "properties": { - "count": { - "type": "long" - }, - "memory": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "store": { - "properties": { - "size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" } } } @@ -1694,40 +1692,40 @@ } } } - }, - "total": { - "properties": { - "docs": { - "properties": { - "count": { - "type": "long" - }, - "deleted": { - "type": "long" - } - } - }, - "segments": { - "properties": { - "count": { - "type": "long" - }, - "memory": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" + } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "store": { - "properties": { - "size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" } } } @@ -1735,168 +1733,168 @@ } } } - }, - "node": { - "properties": { - "jvm": { - "properties": { - "memory": { - "properties": { - "heap": { - "properties": { - "init": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "node": { + "properties": { + "jvm": { + "properties": { + "memory": { + "properties": { + "heap": { + "properties": { + "init": { + "properties": { + "bytes": { + "type": "long" } - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "nonheap": { - "properties": { - "init": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "nonheap": { + "properties": { + "init": { + "properties": { + "bytes": { + "type": "long" } - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "process": { - "properties": { - "mlockall": { - "type": "boolean" - } - } - }, - "stats": { - "properties": { - "fs": { - "properties": { - "summary": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "process": { + "properties": { + "mlockall": { + "type": "boolean" + } + } + }, + "stats": { + "properties": { + "fs": { + "properties": { + "summary": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "free": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "free": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "indices": { - "properties": { - "docs": { - "properties": { - "count": { - "type": "long" - }, - "deleted": { - "type": "long" - } + } + }, + "indices": { + "properties": { + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" } - }, - "segments": { - "properties": { - "count": { - "type": "long" - }, - "memory": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "store": { - "properties": { - "size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "jvm": { - "properties": { - "gc": { - "properties": { - "collectors": { - "properties": { - "old": { - "properties": { - "collection": { - "properties": { - "count": { - "type": "long" - }, - "ms": { - "type": "long" - } + } + }, + "jvm": { + "properties": { + "gc": { + "properties": { + "collectors": { + "properties": { + "old": { + "properties": { + "collection": { + "properties": { + "count": { + "type": "long" + }, + "ms": { + "type": "long" } } } - }, - "young": { - "properties": { - "collection": { - "properties": { - "count": { - "type": "long" - }, - "ms": { - "type": "long" - } + } + }, + "young": { + "properties": { + "collection": { + "properties": { + "count": { + "type": "long" + }, + "ms": { + "type": "long" } } } @@ -1904,103 +1902,103 @@ } } } - }, - "mem": { - "properties": { - "pools": { - "properties": { - "old": { - "properties": { - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "mem": { + "properties": { + "pools": { + "properties": { + "old": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak_max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak_max": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "survivor": { - "properties": { - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "survivor": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak_max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak_max": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "young": { - "properties": { - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "young": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak": { + "properties": { + "bytes": { + "type": "long" } - }, - "peak_max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "peak_max": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } @@ -2012,101 +2010,101 @@ } } } - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "shard": { - "properties": { - "number": { - "type": "long" - }, - "primary": { - "type": "boolean" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "shard": { + "properties": { + "number": { + "type": "long" + }, + "primary": { + "type": "boolean" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "error": { - "properties": { - "code": { - "type": "long" - }, - "message": { - "norms": false, - "type": "text" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "error": { + "properties": { + "code": { + "type": "long" + }, + "message": { + "norms": false, + "type": "text" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "etcd": { - "properties": { - "leader": { - "properties": { - "followers": { - "properties": { - "counts": { - "properties": { - "followers": { - "properties": { - "counts": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } + } + }, + "etcd": { + "properties": { + "leader": { + "properties": { + "followers": { + "properties": { + "counts": { + "properties": { + "followers": { + "properties": { + "counts": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" } } } } } - }, - "latency": { - "properties": { - "follower": { - "properties": { - "latency": { - "properties": { - "standardDeviation": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "latency": { + "properties": { + "follower": { + "properties": { + "latency": { + "properties": { + "standardDeviation": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "followers": { - "properties": { - "latency": { - "properties": { - "average": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "current": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "maximum": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "minimum": { - "type": "long" - } + } + }, + "followers": { + "properties": { + "latency": { + "properties": { + "average": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "current": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "maximum": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "minimum": { + "type": "long" } } } @@ -2114,4630 +2112,4630 @@ } } } - }, - "leader": { - "ignore_above": 1024, - "type": "keyword" } + }, + "leader": { + "ignore_above": 1024, + "type": "keyword" } - }, - "self": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "leaderinfo": { - "properties": { - "leader": { - "ignore_above": 1024, - "type": "keyword" - }, - "starttime": { - "ignore_above": 1024, - "type": "keyword" - }, - "uptime": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "recv": { - "properties": { - "appendrequest": { - "properties": { - "count": { - "type": "long" - } - } - }, - "bandwithrate": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "pkgrate": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "send": { - "properties": { - "appendrequest": { - "properties": { - "count": { - "type": "long" - } - } - }, - "bandwithrate": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "pkgrate": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "starttime": { - "ignore_above": 1024, - "type": "keyword" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "self": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "leaderinfo": { + "properties": { + "leader": { + "ignore_above": 1024, + "type": "keyword" + }, + "starttime": { + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "recv": { + "properties": { + "appendrequest": { + "properties": { + "count": { + "type": "long" + } + } + }, + "bandwithrate": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "pkgrate": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "send": { + "properties": { + "appendrequest": { + "properties": { + "count": { + "type": "long" + } + } + }, + "bandwithrate": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "pkgrate": { + "scaling_factor": 1000, + "type": "scaled_float" + } } + }, + "starttime": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" } - }, - "store": { - "properties": { - "compareanddelete": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "compareandswap": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "create": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "delete": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "expire": { - "properties": { - "count": { - "type": "long" - } - } - }, - "gets": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "sets": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "update": { - "properties": { - "fail": { - "type": "long" - }, - "success": { - "type": "long" - } - } - }, - "watchers": { - "type": "long" + } + }, + "store": { + "properties": { + "compareanddelete": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } + } + }, + "compareandswap": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } + } + }, + "create": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } } + }, + "delete": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } + } + }, + "expire": { + "properties": { + "count": { + "type": "long" + } + } + }, + "gets": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } + } + }, + "sets": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } + } + }, + "update": { + "properties": { + "fail": { + "type": "long" + }, + "success": { + "type": "long" + } + } + }, + "watchers": { + "type": "long" } } } - }, - "fields": { - "type": "object" - }, - "golang": { - "properties": { - "expvar": { - "properties": { - "cmdline": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "fields": { + "type": "object" + }, + "golang": { + "properties": { + "expvar": { + "properties": { + "cmdline": { + "ignore_above": 1024, + "type": "keyword" } - }, - "heap": { - "properties": { - "allocations": { - "properties": { - "active": { - "type": "long" - }, - "allocated": { - "type": "long" - }, - "frees": { - "type": "long" - }, - "idle": { - "type": "long" - }, - "mallocs": { - "type": "long" - }, - "objects": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "cmdline": { - "ignore_above": 1024, - "type": "keyword" - }, - "gc": { - "properties": { - "cpu_fraction": { - "type": "long" - }, - "next_gc_limit": { - "type": "long" - }, - "pause": { - "properties": { - "avg": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "heap": { + "properties": { + "allocations": { + "properties": { + "active": { + "type": "long" + }, + "allocated": { + "type": "long" + }, + "frees": { + "type": "long" + }, + "idle": { + "type": "long" + }, + "mallocs": { + "type": "long" + }, + "objects": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "cmdline": { + "ignore_above": 1024, + "type": "keyword" + }, + "gc": { + "properties": { + "cpu_fraction": { + "type": "long" + }, + "next_gc_limit": { + "type": "long" + }, + "pause": { + "properties": { + "avg": { + "properties": { + "ns": { + "type": "long" } - }, - "count": { - "type": "long" - }, - "max": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "count": { + "type": "long" + }, + "max": { + "properties": { + "ns": { + "type": "long" } - }, - "sum": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "sum": { + "properties": { + "ns": { + "type": "long" } } } - }, - "total_count": { - "type": "long" - }, - "total_pause": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "total_count": { + "type": "long" + }, + "total_pause": { + "properties": { + "ns": { + "type": "long" } } } - }, - "system": { - "properties": { - "obtained": { - "type": "long" - }, - "released": { - "type": "long" - }, - "stack": { - "type": "long" - }, - "total": { - "type": "long" - } + } + }, + "system": { + "properties": { + "obtained": { + "type": "long" + }, + "released": { + "type": "long" + }, + "stack": { + "type": "long" + }, + "total": { + "type": "long" } } } } } - }, - "graphite": { - "properties": { - "server": { - "properties": { - "example": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "graphite": { + "properties": { + "server": { + "properties": { + "example": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "haproxy": { - "properties": { - "info": { - "properties": { - "compress": { - "properties": { - "bps": { - "properties": { - "in": { - "type": "long" - }, - "out": { - "type": "long" - }, - "rate_limit": { - "type": "long" - } + } + }, + "haproxy": { + "properties": { + "info": { + "properties": { + "compress": { + "properties": { + "bps": { + "properties": { + "in": { + "type": "long" + }, + "out": { + "type": "long" + }, + "rate_limit": { + "type": "long" } } } - }, - "connection": { - "properties": { - "current": { - "type": "long" - }, - "hard_max": { - "type": "long" - }, - "max": { - "type": "long" - }, - "rate": { - "properties": { - "limit": { - "type": "long" - }, - "max": { - "type": "long" - }, - "value": { - "type": "long" - } - } - }, - "ssl": { - "properties": { - "current": { - "type": "long" - }, - "max": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "total": { - "type": "long" - } + } + }, + "connection": { + "properties": { + "current": { + "type": "long" + }, + "hard_max": { + "type": "long" + }, + "max": { + "type": "long" + }, + "rate": { + "properties": { + "limit": { + "type": "long" + }, + "max": { + "type": "long" + }, + "value": { + "type": "long" + } + } + }, + "ssl": { + "properties": { + "current": { + "type": "long" + }, + "max": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "total": { + "type": "long" } - }, - "idle": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "idle": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "memory": { - "properties": { - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "pid": { - "type": "long" - }, - "pipes": { - "properties": { - "free": { - "type": "long" - }, - "max": { - "type": "long" - }, - "used": { - "type": "long" - } - } - }, - "process_num": { - "type": "long" - }, - "processes": { - "type": "long" - }, - "requests": { - "properties": { - "max": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "run_queue": { - "type": "long" - }, - "session": { - "properties": { - "rate": { - "properties": { - "limit": { - "type": "long" - }, - "max": { - "type": "long" - }, - "value": { - "type": "long" - } + } + }, + "pid": { + "type": "long" + }, + "pipes": { + "properties": { + "free": { + "type": "long" + }, + "max": { + "type": "long" + }, + "used": { + "type": "long" + } + } + }, + "process_num": { + "type": "long" + }, + "processes": { + "type": "long" + }, + "requests": { + "properties": { + "max": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "run_queue": { + "type": "long" + }, + "session": { + "properties": { + "rate": { + "properties": { + "limit": { + "type": "long" + }, + "max": { + "type": "long" + }, + "value": { + "type": "long" } } } - }, - "sockets": { - "properties": { - "max": { - "type": "long" - } + } + }, + "sockets": { + "properties": { + "max": { + "type": "long" } - }, - "ssl": { - "properties": { - "backend": { - "properties": { - "key_rate": { - "properties": { - "max": { - "type": "long" - }, - "value": { - "type": "long" - } + } + }, + "ssl": { + "properties": { + "backend": { + "properties": { + "key_rate": { + "properties": { + "max": { + "type": "long" + }, + "value": { + "type": "long" } } } - }, - "cache_misses": { - "type": "long" - }, - "cached_lookups": { - "type": "long" - }, - "frontend": { - "properties": { - "key_rate": { - "properties": { - "max": { - "type": "long" - }, - "value": { - "type": "long" - } + } + }, + "cache_misses": { + "type": "long" + }, + "cached_lookups": { + "type": "long" + }, + "frontend": { + "properties": { + "key_rate": { + "properties": { + "max": { + "type": "long" + }, + "value": { + "type": "long" } - }, - "session_reuse": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "session_reuse": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "rate": { - "properties": { - "limit": { - "type": "long" - }, - "max": { - "type": "long" - }, - "value": { - "type": "long" - } + } + }, + "rate": { + "properties": { + "limit": { + "type": "long" + }, + "max": { + "type": "long" + }, + "value": { + "type": "long" } } } - }, - "tasks": { - "type": "long" - }, - "ulimit_n": { - "type": "long" - }, - "uptime": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "tasks": { + "type": "long" + }, + "ulimit_n": { + "type": "long" + }, + "uptime": { + "properties": { + "sec": { + "type": "long" } - }, - "zlib_mem_usage": { - "properties": { - "max": { - "type": "long" - }, - "value": { - "type": "long" - } + } + }, + "zlib_mem_usage": { + "properties": { + "max": { + "type": "long" + }, + "value": { + "type": "long" } } } - }, - "stat": { - "properties": { - "check": { - "properties": { - "agent": { - "properties": { - "last": { - "type": "long" - } - } - }, - "code": { - "type": "long" - }, - "down": { - "type": "long" - }, - "duration": { - "type": "long" - }, - "failed": { - "type": "long" - }, - "health": { - "properties": { - "fail": { - "type": "long" - }, - "last": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "client": { - "properties": { - "aborted": { - "type": "long" - } - } - }, - "component_type": { - "type": "long" - }, - "compressor": { - "properties": { - "bypassed": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "stat": { + "properties": { + "check": { + "properties": { + "agent": { + "properties": { + "last": { + "type": "long" + } + } + }, + "code": { + "type": "long" + }, + "down": { + "type": "long" + }, + "duration": { + "type": "long" + }, + "failed": { + "type": "long" + }, + "health": { + "properties": { + "fail": { + "type": "long" + }, + "last": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "client": { + "properties": { + "aborted": { + "type": "long" + } + } + }, + "component_type": { + "type": "long" + }, + "compressor": { + "properties": { + "bypassed": { + "properties": { + "bytes": { + "type": "long" } - }, - "in": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "in": { + "properties": { + "bytes": { + "type": "long" } - }, - "out": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "out": { + "properties": { + "bytes": { + "type": "long" } - }, - "response": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "response": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "connection": { - "properties": { - "retried": { - "type": "long" - }, - "time": { - "properties": { - "avg": { - "type": "long" - } - } - }, - "total": { - "type": "long" - } - } - }, - "downtime": { - "type": "long" - }, - "in": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "last_change": { - "type": "long" - }, - "out": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "process_id": { - "type": "long" - }, - "proxy": { - "properties": { - "id": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "queue": { - "properties": { - "limit": { - "type": "long" - }, - "time": { - "properties": { - "avg": { - "type": "long" - } + } + }, + "connection": { + "properties": { + "retried": { + "type": "long" + }, + "time": { + "properties": { + "avg": { + "type": "long" + } + } + }, + "total": { + "type": "long" + } + } + }, + "downtime": { + "type": "long" + }, + "in": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "last_change": { + "type": "long" + }, + "out": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "process_id": { + "type": "long" + }, + "proxy": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "queue": { + "properties": { + "limit": { + "type": "long" + }, + "time": { + "properties": { + "avg": { + "type": "long" } } } - }, - "request": { - "properties": { - "connection": { - "properties": { - "errors": { - "type": "long" - } - } - }, - "denied": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "queued": { - "properties": { - "current": { - "type": "long" - }, - "max": { - "type": "long" - } - } - }, - "rate": { - "properties": { - "max": { - "type": "long" - }, - "value": { - "type": "long" - } - } - }, - "redispatched": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "response": { - "properties": { - "denied": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "http": { - "properties": { - "1xx": { - "type": "long" - }, - "2xx": { - "type": "long" - }, - "3xx": { - "type": "long" - }, - "4xx": { - "type": "long" - }, - "5xx": { - "type": "long" - }, - "other": { - "type": "long" - } - } - }, - "time": { - "properties": { - "avg": { - "type": "long" - } + } + }, + "request": { + "properties": { + "connection": { + "properties": { + "errors": { + "type": "long" + } + } + }, + "denied": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "queued": { + "properties": { + "current": { + "type": "long" + }, + "max": { + "type": "long" + } + } + }, + "rate": { + "properties": { + "max": { + "type": "long" + }, + "value": { + "type": "long" + } + } + }, + "redispatched": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "response": { + "properties": { + "denied": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "http": { + "properties": { + "1xx": { + "type": "long" + }, + "2xx": { + "type": "long" + }, + "3xx": { + "type": "long" + }, + "4xx": { + "type": "long" + }, + "5xx": { + "type": "long" + }, + "other": { + "type": "long" + } + } + }, + "time": { + "properties": { + "avg": { + "type": "long" } } } - }, - "selected": { - "properties": { - "total": { - "type": "long" - } - } - }, - "server": { - "properties": { - "aborted": { - "type": "long" - }, - "active": { - "type": "long" - }, - "backup": { - "type": "long" - }, - "id": { - "type": "long" - } - } - }, - "service_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "session": { - "properties": { - "current": { - "type": "long" - }, - "limit": { - "type": "long" - }, - "max": { - "type": "long" - }, - "rate": { - "properties": { - "limit": { - "type": "long" - }, - "max": { - "type": "long" - }, - "value": { - "type": "long" - } + } + }, + "selected": { + "properties": { + "total": { + "type": "long" + } + } + }, + "server": { + "properties": { + "aborted": { + "type": "long" + }, + "active": { + "type": "long" + }, + "backup": { + "type": "long" + }, + "id": { + "type": "long" + } + } + }, + "service_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "session": { + "properties": { + "current": { + "type": "long" + }, + "limit": { + "type": "long" + }, + "max": { + "type": "long" + }, + "rate": { + "properties": { + "limit": { + "type": "long" + }, + "max": { + "type": "long" + }, + "value": { + "type": "long" } } } - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - }, - "throttle": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "throttle": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "tracked": { - "properties": { - "id": { - "type": "long" - } + } + }, + "tracked": { + "properties": { + "id": { + "type": "long" } - }, - "weight": { - "type": "long" } + }, + "weight": { + "type": "long" } } } - }, - "host": { - "properties": { - "architecture": { - "ignore_above": 1024, - "type": "keyword" - }, - "containerized": { - "type": "boolean" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "properties": { - "codename": { - "ignore_above": 1024, - "type": "keyword" - }, - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "platform": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "host": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "containerized": { + "type": "boolean" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "codename": { + "ignore_above": 1024, + "type": "keyword" + }, + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "http": { - "properties": { - "json": { - "type": "object" - }, - "request": { - "properties": { - "body": { - "ignore_above": 1024, - "type": "keyword" - }, - "header": { - "type": "object" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "http": { + "properties": { + "json": { + "type": "object" + }, + "request": { + "properties": { + "body": { + "ignore_above": 1024, + "type": "keyword" + }, + "header": { + "type": "object" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" } - }, - "response": { - "properties": { - "body": { - "ignore_above": 1024, - "type": "keyword" - }, - "code": { - "ignore_above": 1024, - "type": "keyword" - }, - "header": { - "type": "object" - }, - "phrase": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "response": { + "properties": { + "body": { + "ignore_above": 1024, + "type": "keyword" + }, + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "header": { + "type": "object" + }, + "phrase": { + "ignore_above": 1024, + "type": "keyword" } - }, - "server": { - "type": "object" } + }, + "server": { + "type": "object" } - }, - "jolokia": { - "type": "object" - }, - "kafka": { - "properties": { - "consumergroup": { - "properties": { - "broker": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "type": "long" - } - } - }, - "client": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "member_id": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "error": { - "properties": { - "code": { - "type": "long" - } - } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "meta": { - "norms": false, - "type": "text" - }, - "offset": { - "type": "long" - }, - "partition": { - "type": "long" - }, - "topic": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "jolokia": { + "type": "object" + }, + "kafka": { + "properties": { + "consumergroup": { + "properties": { + "broker": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "type": "long" + } + } + }, + "client": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "member_id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "code": { + "type": "long" + } } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "meta": { + "norms": false, + "type": "text" + }, + "offset": { + "type": "long" + }, + "partition": { + "type": "long" + }, + "topic": { + "ignore_above": 1024, + "type": "keyword" } - }, - "partition": { - "properties": { - "broker": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "type": "long" - } - } - }, - "offset": { - "properties": { - "newest": { - "type": "long" - }, - "oldest": { - "type": "long" - } - } - }, - "partition": { - "properties": { - "error": { - "properties": { - "code": { - "type": "long" - } - } - }, - "id": { - "type": "long" - }, - "insync_replica": { - "type": "boolean" - }, - "leader": { - "type": "long" - }, - "replica": { - "type": "long" - } - } - }, - "topic": { - "properties": { - "error": { - "properties": { - "code": { - "type": "long" - } + } + }, + "partition": { + "properties": { + "broker": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "type": "long" + } + } + }, + "offset": { + "properties": { + "newest": { + "type": "long" + }, + "oldest": { + "type": "long" + } + } + }, + "partition": { + "properties": { + "error": { + "properties": { + "code": { + "type": "long" + } + } + }, + "id": { + "type": "long" + }, + "insync_replica": { + "type": "boolean" + }, + "leader": { + "type": "long" + }, + "replica": { + "type": "long" + } + } + }, + "topic": { + "properties": { + "error": { + "properties": { + "code": { + "type": "long" } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } } } } } - }, - "kibana": { - "properties": { - "stats": { - "properties": { - "cluster_uuid": { - "ignore_above": 1024, - "type": "keyword" - }, - "concurrent_connections": { - "type": "long" - }, - "event_loop_delay": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "process": { - "properties": { - "mem": { - "properties": { - "external": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "kibana": { + "properties": { + "stats": { + "properties": { + "cluster_uuid": { + "ignore_above": 1024, + "type": "keyword" + }, + "concurrent_connections": { + "type": "long" + }, + "event_loop_delay": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "process": { + "properties": { + "mem": { + "properties": { + "external": { + "properties": { + "bytes": { + "type": "long" } - }, - "heap": { - "properties": { - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "heap": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "resident_set_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "resident_set_size": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "pid": { - "type": "long" - }, - "uptime": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "pid": { + "type": "long" + }, + "uptime": { + "properties": { + "ms": { + "type": "long" } } } - }, - "requests": { - "properties": { - "disconnects": { - "type": "long" - }, - "status_codes": { - "type": "object" - }, - "total": { - "type": "long" - } + } + }, + "requests": { + "properties": { + "disconnects": { + "type": "long" + }, + "status_codes": { + "type": "object" + }, + "total": { + "type": "long" } - }, - "response_times": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "response_times": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } - }, - "max": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "max": { + "properties": { + "ms": { + "type": "long" } } } - }, - "sockets": { - "properties": { - "http": { - "properties": { - "total": { - "type": "long" - } + } + }, + "sockets": { + "properties": { + "http": { + "properties": { + "total": { + "type": "long" } - }, - "https": { - "properties": { - "total": { - "type": "long" - } + } + }, + "https": { + "properties": { + "total": { + "type": "long" } } } - }, - "status": { - "properties": { - "overall": { - "properties": { - "state": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "status": { + "properties": { + "overall": { + "properties": { + "state": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "uuid": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "properties": { - "number": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "uuid": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "properties": { + "number": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "status": { - "properties": { - "metrics": { - "properties": { - "concurrent_connections": { - "type": "long" - }, - "requests": { - "properties": { - "disconnects": { - "type": "long" - }, - "total": { - "type": "long" - } + } + }, + "status": { + "properties": { + "metrics": { + "properties": { + "concurrent_connections": { + "type": "long" + }, + "requests": { + "properties": { + "disconnects": { + "type": "long" + }, + "total": { + "type": "long" } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "status": { - "properties": { - "overall": { - "properties": { - "state": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "properties": { + "overall": { + "properties": { + "state": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "uuid": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "properties": { - "number": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "uuid": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "properties": { + "number": { + "ignore_above": 1024, + "type": "keyword" } } } } } - }, - "kubernetes": { - "properties": { - "annotations": { - "type": "object" - }, - "apiserver": { - "properties": { - "request": { - "properties": { - "client": { - "ignore_above": 1024, - "type": "keyword" - }, - "count": { - "type": "long" - }, - "latency": { - "properties": { - "bucket": { - "type": "object" - }, - "count": { - "type": "long" - }, - "sum": { - "type": "long" - } - } - }, - "resource": { - "ignore_above": 1024, - "type": "keyword" - }, - "scope": { - "ignore_above": 1024, - "type": "keyword" - }, - "subresource": { - "ignore_above": 1024, - "type": "keyword" - }, - "verb": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "kubernetes": { + "properties": { + "annotations": { + "type": "object" + }, + "apiserver": { + "properties": { + "request": { + "properties": { + "client": { + "ignore_above": 1024, + "type": "keyword" + }, + "count": { + "type": "long" + }, + "latency": { + "properties": { + "bucket": { + "type": "object" + }, + "count": { + "type": "long" + }, + "sum": { + "type": "long" + } + } + }, + "resource": { + "ignore_above": 1024, + "type": "keyword" + }, + "scope": { + "ignore_above": 1024, + "type": "keyword" + }, + "subresource": { + "ignore_above": 1024, + "type": "keyword" + }, + "verb": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "container": { - "properties": { - "cpu": { - "properties": { - "limit": { - "properties": { - "cores": { - "type": "long" - }, - "nanocores": { - "type": "long" - } - } - }, - "request": { - "properties": { - "cores": { - "type": "long" - }, - "nanocores": { - "type": "long" - } - } - }, - "usage": { - "properties": { - "core": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "container": { + "properties": { + "cpu": { + "properties": { + "limit": { + "properties": { + "cores": { + "type": "long" + }, + "nanocores": { + "type": "long" + } + } + }, + "request": { + "properties": { + "cores": { + "type": "long" + }, + "nanocores": { + "type": "long" + } + } + }, + "usage": { + "properties": { + "core": { + "properties": { + "ns": { + "type": "long" } - }, - "limit": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "limit": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "nanocores": { - "type": "long" - }, - "node": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "nanocores": { + "type": "long" + }, + "node": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } } } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "image": { - "ignore_above": 1024, - "type": "keyword" - }, - "logs": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "inodes": { - "properties": { - "count": { - "type": "long" - }, - "free": { - "type": "long" - }, - "used": { - "type": "long" - } - } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "ignore_above": 1024, + "type": "keyword" + }, + "logs": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "inodes": { + "properties": { + "count": { + "type": "long" + }, + "free": { + "type": "long" + }, + "used": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "memory": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "majorpagefaults": { - "type": "long" - }, - "pagefaults": { - "type": "long" - }, - "request": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "rss": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "limit": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "memory": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "limit": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "majorpagefaults": { + "type": "long" + }, + "pagefaults": { + "type": "long" + }, + "request": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "rss": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "limit": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "node": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "node": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "workingset": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "workingset": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "rootfs": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "rootfs": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" } - }, - "inodes": { - "properties": { - "used": { - "type": "long" - } + } + }, + "inodes": { + "properties": { + "used": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "start_time": { - "type": "date" - }, - "status": { - "properties": { - "phase": { - "ignore_above": 1024, - "type": "keyword" - }, - "ready": { - "type": "boolean" - }, - "reason": { - "ignore_above": 1024, - "type": "keyword" - }, - "restarts": { - "type": "long" - } + } + }, + "start_time": { + "type": "date" + }, + "status": { + "properties": { + "phase": { + "ignore_above": 1024, + "type": "keyword" + }, + "ready": { + "type": "boolean" + }, + "reason": { + "ignore_above": 1024, + "type": "keyword" + }, + "restarts": { + "type": "long" } } } - }, - "deployment": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "paused": { - "type": "boolean" - }, - "replicas": { - "properties": { - "available": { - "type": "long" - }, - "desired": { - "type": "long" - }, - "unavailable": { - "type": "long" - }, - "updated": { - "type": "long" - } + } + }, + "deployment": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "paused": { + "type": "boolean" + }, + "replicas": { + "properties": { + "available": { + "type": "long" + }, + "desired": { + "type": "long" + }, + "unavailable": { + "type": "long" + }, + "updated": { + "type": "long" } } } - }, - "event": { - "properties": { - "count": { - "type": "long" - }, - "involved_object": { - "properties": { - "api_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "kind": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "resource_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "uid": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "message": { - "ignore_above": 1024, - "type": "keyword" - }, - "metadata": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "namespace": { - "ignore_above": 1024, - "type": "keyword" - }, - "resource_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "self_link": { - "ignore_above": 1024, - "type": "keyword" - }, - "timestamp": { - "properties": { - "created": { - "type": "date" - } - } - }, - "uid": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "event": { + "properties": { + "count": { + "type": "long" + }, + "involved_object": { + "properties": { + "api_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "kind": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "resource_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "message": { + "ignore_above": 1024, + "type": "keyword" + }, + "metadata": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "resource_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "self_link": { + "ignore_above": 1024, + "type": "keyword" + }, + "timestamp": { + "properties": { + "created": { + "type": "date" + } + } + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" } - }, - "reason": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" } + }, + "reason": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "labels": { - "type": "object" - }, - "namespace": { - "ignore_above": 1024, - "type": "keyword" - }, - "node": { - "properties": { - "cpu": { - "properties": { - "allocatable": { - "properties": { - "cores": { - "type": "float" - } - } - }, - "capacity": { - "properties": { - "cores": { - "type": "long" - } - } - }, - "usage": { - "properties": { - "core": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "labels": { + "type": "object" + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "cpu": { + "properties": { + "allocatable": { + "properties": { + "cores": { + "type": "float" + } + } + }, + "capacity": { + "properties": { + "cores": { + "type": "long" + } + } + }, + "usage": { + "properties": { + "core": { + "properties": { + "ns": { + "type": "long" } - }, - "nanocores": { - "type": "long" } + }, + "nanocores": { + "type": "long" } } } - }, - "fs": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "fs": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" } - }, - "inodes": { - "properties": { - "count": { - "type": "long" - }, - "free": { - "type": "long" - }, - "used": { - "type": "long" - } + } + }, + "inodes": { + "properties": { + "count": { + "type": "long" + }, + "free": { + "type": "long" + }, + "used": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "memory": { - "properties": { - "allocatable": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "allocatable": { + "properties": { + "bytes": { + "type": "long" } - }, - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" } - }, - "majorpagefaults": { - "type": "long" - }, - "pagefaults": { - "type": "long" - }, - "rss": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "majorpagefaults": { + "type": "long" + }, + "pagefaults": { + "type": "long" + }, + "rss": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" } - }, - "workingset": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "workingset": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "network": { - "properties": { - "rx": { - "properties": { - "bytes": { - "type": "long" - }, - "errors": { - "type": "long" - } - } - }, - "tx": { - "properties": { - "bytes": { - "type": "long" - }, - "errors": { - "type": "long" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "network": { + "properties": { + "rx": { + "properties": { + "bytes": { + "type": "long" + }, + "errors": { + "type": "long" + } + } + }, + "tx": { + "properties": { + "bytes": { + "type": "long" + }, + "errors": { + "type": "long" } } } - }, - "pod": { - "properties": { - "allocatable": { - "properties": { - "total": { - "type": "long" - } + } + }, + "pod": { + "properties": { + "allocatable": { + "properties": { + "total": { + "type": "long" } - }, - "capacity": { - "properties": { - "total": { - "type": "long" - } + } + }, + "capacity": { + "properties": { + "total": { + "type": "long" } } } - }, - "runtime": { - "properties": { - "imagefs": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "runtime": { + "properties": { + "imagefs": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "start_time": { - "type": "date" - }, - "status": { - "properties": { - "ready": { - "ignore_above": 1024, - "type": "keyword" - }, - "unschedulable": { - "type": "boolean" - } + } + }, + "start_time": { + "type": "date" + }, + "status": { + "properties": { + "ready": { + "ignore_above": 1024, + "type": "keyword" + }, + "unschedulable": { + "type": "boolean" } } } - }, - "pod": { - "properties": { - "cpu": { - "properties": { - "usage": { - "properties": { - "limit": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "pod": { + "properties": { + "cpu": { + "properties": { + "usage": { + "properties": { + "limit": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "nanocores": { - "type": "long" - }, - "node": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "nanocores": { + "type": "long" + }, + "node": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } } } - }, - "host_ip": { - "type": "ip" - }, - "ip": { - "type": "ip" - }, - "memory": { - "properties": { - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "limit": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "host_ip": { + "type": "ip" + }, + "ip": { + "type": "ip" + }, + "memory": { + "properties": { + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "limit": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "node": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "node": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "network": { - "properties": { - "rx": { - "properties": { - "bytes": { - "type": "long" - }, - "errors": { - "type": "long" - } - } - }, - "tx": { - "properties": { - "bytes": { - "type": "long" - }, - "errors": { - "type": "long" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "network": { + "properties": { + "rx": { + "properties": { + "bytes": { + "type": "long" + }, + "errors": { + "type": "long" + } + } + }, + "tx": { + "properties": { + "bytes": { + "type": "long" + }, + "errors": { + "type": "long" } } } - }, - "start_time": { - "type": "date" - }, - "status": { - "properties": { - "phase": { - "ignore_above": 1024, - "type": "keyword" - }, - "ready": { - "ignore_above": 1024, - "type": "keyword" - }, - "scheduled": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "start_time": { + "type": "date" + }, + "status": { + "properties": { + "phase": { + "ignore_above": 1024, + "type": "keyword" + }, + "ready": { + "ignore_above": 1024, + "type": "keyword" + }, + "scheduled": { + "ignore_above": 1024, + "type": "keyword" } - }, - "uid": { - "ignore_above": 1024, - "type": "keyword" } + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" } - }, - "replicaset": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "replicas": { - "properties": { - "available": { - "type": "long" - }, - "desired": { - "type": "long" - }, - "labeled": { - "type": "long" - }, - "observed": { - "type": "long" - }, - "ready": { - "type": "long" - } + } + }, + "replicaset": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "replicas": { + "properties": { + "available": { + "type": "long" + }, + "desired": { + "type": "long" + }, + "labeled": { + "type": "long" + }, + "observed": { + "type": "long" + }, + "ready": { + "type": "long" } } } - }, - "statefulset": { - "properties": { - "created": { - "type": "long" - }, - "generation": { - "properties": { - "desired": { - "type": "long" - }, - "observed": { - "type": "long" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "replicas": { - "properties": { - "desired": { - "type": "long" - }, - "observed": { - "type": "long" - } + } + }, + "statefulset": { + "properties": { + "created": { + "type": "long" + }, + "generation": { + "properties": { + "desired": { + "type": "long" + }, + "observed": { + "type": "long" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "replicas": { + "properties": { + "desired": { + "type": "long" + }, + "observed": { + "type": "long" } } } - }, - "system": { - "properties": { - "container": { - "ignore_above": 1024, - "type": "keyword" - }, - "cpu": { - "properties": { - "usage": { - "properties": { - "core": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "system": { + "properties": { + "container": { + "ignore_above": 1024, + "type": "keyword" + }, + "cpu": { + "properties": { + "usage": { + "properties": { + "core": { + "properties": { + "ns": { + "type": "long" } - }, - "nanocores": { - "type": "long" } + }, + "nanocores": { + "type": "long" } } } - }, - "memory": { - "properties": { - "majorpagefaults": { - "type": "long" - }, - "pagefaults": { - "type": "long" - }, - "rss": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "majorpagefaults": { + "type": "long" + }, + "pagefaults": { + "type": "long" + }, + "rss": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" } - }, - "workingset": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "workingset": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "start_time": { - "type": "date" } + }, + "start_time": { + "type": "date" } - }, - "volume": { - "properties": { - "fs": { - "properties": { - "available": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "volume": { + "properties": { + "fs": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" } - }, - "capacity": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "capacity": { + "properties": { + "bytes": { + "type": "long" } - }, - "inodes": { - "properties": { - "count": { - "type": "long" - }, - "free": { - "type": "long" - }, - "used": { - "type": "long" - } + } + }, + "inodes": { + "properties": { + "count": { + "type": "long" + }, + "free": { + "type": "long" + }, + "used": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "kvm": { - "properties": { - "dommemstat": { - "properties": { - "id": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "stat": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "value": { - "type": "long" - } + } + }, + "kvm": { + "properties": { + "dommemstat": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "stat": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "value": { + "type": "long" } } } } } - }, - "logstash": { - "properties": { - "node": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "jvm": { - "properties": { - "pid": { - "type": "long" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "stats": { - "properties": { - "events": { - "properties": { - "filtered": { - "type": "long" - }, - "in": { - "type": "long" - }, - "out": { - "type": "long" - } + } + }, + "logstash": { + "properties": { + "node": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "jvm": { + "properties": { + "pid": { + "type": "long" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "stats": { + "properties": { + "events": { + "properties": { + "filtered": { + "type": "long" + }, + "in": { + "type": "long" + }, + "out": { + "type": "long" } } } - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "memcached": { - "properties": { - "stats": { - "properties": { - "cmd": { - "properties": { - "get": { - "type": "long" - }, - "set": { - "type": "long" - } - } - }, - "connections": { - "properties": { - "current": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "evictions": { - "type": "long" - }, - "get": { - "properties": { - "hits": { - "type": "long" - }, - "misses": { - "type": "long" - } - } - }, - "items": { - "properties": { - "current": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "pid": { - "type": "long" - }, - "read": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "threads": { - "type": "long" - }, - "uptime": { - "properties": { - "sec": { - "type": "long" - } - } - }, - "written": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memcached": { + "properties": { + "stats": { + "properties": { + "cmd": { + "properties": { + "get": { + "type": "long" + }, + "set": { + "type": "long" + } + } + }, + "connections": { + "properties": { + "current": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "evictions": { + "type": "long" + }, + "get": { + "properties": { + "hits": { + "type": "long" + }, + "misses": { + "type": "long" + } + } + }, + "items": { + "properties": { + "current": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "pid": { + "type": "long" + }, + "read": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "threads": { + "type": "long" + }, + "uptime": { + "properties": { + "sec": { + "type": "long" + } + } + }, + "written": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "meta": { - "properties": { - "cloud": { - "properties": { - "availability_zone": { - "ignore_above": 1024, - "type": "keyword" - }, - "instance_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "instance_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "machine_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "project_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "provider": { - "ignore_above": 1024, - "type": "keyword" - }, - "region": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "meta": { + "properties": { + "cloud": { + "properties": { + "availability_zone": { + "ignore_above": 1024, + "type": "keyword" + }, + "instance_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "instance_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "machine_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "project_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "provider": { + "ignore_above": 1024, + "type": "keyword" + }, + "region": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "metricset": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "module": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "namespace": { - "ignore_above": 1024, - "type": "keyword" - }, - "rtt": { - "type": "long" - } + } + }, + "metricset": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "rtt": { + "type": "long" } - }, - "mongodb": { - "properties": { - "collstats": { - "properties": { - "collection": { - "ignore_above": 1024, - "type": "keyword" - }, - "commands": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "mongodb": { + "properties": { + "collstats": { + "properties": { + "collection": { + "ignore_above": 1024, + "type": "keyword" + }, + "commands": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } - }, - "db": { - "ignore_above": 1024, - "type": "keyword" - }, - "getmore": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "db": { + "ignore_above": 1024, + "type": "keyword" + }, + "getmore": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } - }, - "insert": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "insert": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } - }, - "lock": { - "properties": { - "read": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "lock": { + "properties": { + "read": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } - }, - "write": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "write": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "queries": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "queries": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } - }, - "remove": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "remove": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } - }, - "total": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "total": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } - }, - "update": { - "properties": { - "count": { - "type": "long" - }, - "time": { - "properties": { - "us": { - "type": "long" - } + } + }, + "update": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "us": { + "type": "long" } } } } } - }, - "dbstats": { - "properties": { - "avg_obj_size": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "collections": { - "type": "long" - }, - "data_file_version": { - "properties": { - "major": { - "type": "long" - }, - "minor": { - "type": "long" - } - } - }, - "data_size": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "db": { - "ignore_above": 1024, - "type": "keyword" - }, - "extent_free_list": { - "properties": { - "num": { - "type": "long" - }, - "size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "dbstats": { + "properties": { + "avg_obj_size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "collections": { + "type": "long" + }, + "data_file_version": { + "properties": { + "major": { + "type": "long" + }, + "minor": { + "type": "long" + } + } + }, + "data_size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "db": { + "ignore_above": 1024, + "type": "keyword" + }, + "extent_free_list": { + "properties": { + "num": { + "type": "long" + }, + "size": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "file_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "file_size": { + "properties": { + "bytes": { + "type": "long" } - }, - "index_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "index_size": { + "properties": { + "bytes": { + "type": "long" } - }, - "indexes": { - "type": "long" - }, - "ns_size_mb": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "indexes": { + "type": "long" + }, + "ns_size_mb": { + "properties": { + "mb": { + "type": "long" } - }, - "num_extents": { - "type": "long" - }, - "objects": { - "type": "long" - }, - "storage_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "num_extents": { + "type": "long" + }, + "objects": { + "type": "long" + }, + "storage_size": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "status": { - "properties": { - "asserts": { - "properties": { - "msg": { - "type": "long" - }, - "regular": { - "type": "long" - }, - "rollovers": { - "type": "long" - }, - "user": { - "type": "long" - }, - "warning": { - "type": "long" - } - } - }, - "background_flushing": { - "properties": { - "average": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "status": { + "properties": { + "asserts": { + "properties": { + "msg": { + "type": "long" + }, + "regular": { + "type": "long" + }, + "rollovers": { + "type": "long" + }, + "user": { + "type": "long" + }, + "warning": { + "type": "long" + } + } + }, + "background_flushing": { + "properties": { + "average": { + "properties": { + "ms": { + "type": "long" } - }, - "flushes": { - "type": "long" - }, - "last": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "flushes": { + "type": "long" + }, + "last": { + "properties": { + "ms": { + "type": "long" } - }, - "last_finished": { - "type": "date" - }, - "total": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "last_finished": { + "type": "date" + }, + "total": { + "properties": { + "ms": { + "type": "long" } } } - }, - "connections": { - "properties": { - "available": { - "type": "long" - }, - "current": { - "type": "long" - }, - "total_created": { - "type": "long" - } + } + }, + "connections": { + "properties": { + "available": { + "type": "long" + }, + "current": { + "type": "long" + }, + "total_created": { + "type": "long" } - }, - "extra_info": { - "properties": { - "heap_usage": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "page_faults": { - "type": "long" - } - } - }, - "journaling": { - "properties": { - "commits": { - "type": "long" - }, - "commits_in_write_lock": { - "type": "long" - }, - "compression": { - "type": "long" - }, - "early_commits": { - "type": "long" - }, - "journaled": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "extra_info": { + "properties": { + "heap_usage": { + "properties": { + "bytes": { + "type": "long" } - }, - "times": { - "properties": { - "commits": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "page_faults": { + "type": "long" + } + } + }, + "journaling": { + "properties": { + "commits": { + "type": "long" + }, + "commits_in_write_lock": { + "type": "long" + }, + "compression": { + "type": "long" + }, + "early_commits": { + "type": "long" + }, + "journaled": { + "properties": { + "mb": { + "type": "long" + } + } + }, + "times": { + "properties": { + "commits": { + "properties": { + "ms": { + "type": "long" } - }, - "commits_in_write_lock": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "commits_in_write_lock": { + "properties": { + "ms": { + "type": "long" } - }, - "dt": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "dt": { + "properties": { + "ms": { + "type": "long" } - }, - "prep_log_buffer": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "prep_log_buffer": { + "properties": { + "ms": { + "type": "long" } - }, - "remap_private_view": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "remap_private_view": { + "properties": { + "ms": { + "type": "long" } - }, - "write_to_data_files": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "write_to_data_files": { + "properties": { + "ms": { + "type": "long" } - }, - "write_to_journal": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "write_to_journal": { + "properties": { + "ms": { + "type": "long" } } } - }, - "write_to_data_files": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "write_to_data_files": { + "properties": { + "mb": { + "type": "long" } } } - }, - "local_time": { - "type": "date" - }, - "memory": { - "properties": { - "bits": { - "type": "long" - }, - "mapped": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "local_time": { + "type": "date" + }, + "memory": { + "properties": { + "bits": { + "type": "long" + }, + "mapped": { + "properties": { + "mb": { + "type": "long" } - }, - "mapped_with_journal": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "mapped_with_journal": { + "properties": { + "mb": { + "type": "long" } - }, - "resident": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "resident": { + "properties": { + "mb": { + "type": "long" } - }, - "virtual": { - "properties": { - "mb": { - "type": "long" - } + } + }, + "virtual": { + "properties": { + "mb": { + "type": "long" } } } - }, - "network": { - "properties": { - "in": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "network": { + "properties": { + "in": { + "properties": { + "bytes": { + "type": "long" } - }, - "out": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "out": { + "properties": { + "bytes": { + "type": "long" } - }, - "requests": { - "type": "long" - } - } - }, - "opcounters": { - "properties": { - "command": { - "type": "long" - }, - "delete": { - "type": "long" - }, - "getmore": { - "type": "long" - }, - "insert": { - "type": "long" - }, - "query": { - "type": "long" - }, - "update": { - "type": "long" - } - } - }, - "opcounters_replicated": { - "properties": { - "command": { - "type": "long" - }, - "delete": { - "type": "long" - }, - "getmore": { - "type": "long" - }, - "insert": { - "type": "long" - }, - "query": { - "type": "long" - }, - "update": { - "type": "long" - } - } - }, - "storage_engine": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "uptime": { - "properties": { - "ms": { - "type": "long" - } - } - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - }, - "wired_tiger": { - "properties": { - "cache": { - "properties": { - "dirty": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "requests": { + "type": "long" + } + } + }, + "opcounters": { + "properties": { + "command": { + "type": "long" + }, + "delete": { + "type": "long" + }, + "getmore": { + "type": "long" + }, + "insert": { + "type": "long" + }, + "query": { + "type": "long" + }, + "update": { + "type": "long" + } + } + }, + "opcounters_replicated": { + "properties": { + "command": { + "type": "long" + }, + "delete": { + "type": "long" + }, + "getmore": { + "type": "long" + }, + "insert": { + "type": "long" + }, + "query": { + "type": "long" + }, + "update": { + "type": "long" + } + } + }, + "storage_engine": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "uptime": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + }, + "wired_tiger": { + "properties": { + "cache": { + "properties": { + "dirty": { + "properties": { + "bytes": { + "type": "long" } - }, - "maximum": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "maximum": { + "properties": { + "bytes": { + "type": "long" } - }, - "pages": { - "properties": { - "evicted": { - "type": "long" - }, - "read": { - "type": "long" - }, - "write": { - "type": "long" - } + } + }, + "pages": { + "properties": { + "evicted": { + "type": "long" + }, + "read": { + "type": "long" + }, + "write": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "concurrent_transactions": { - "properties": { - "read": { - "properties": { - "available": { - "type": "long" - }, - "out": { - "type": "long" - }, - "total_tickets": { - "type": "long" - } + } + }, + "concurrent_transactions": { + "properties": { + "read": { + "properties": { + "available": { + "type": "long" + }, + "out": { + "type": "long" + }, + "total_tickets": { + "type": "long" } - }, - "write": { - "properties": { - "available": { - "type": "long" - }, - "out": { - "type": "long" - }, - "total_tickets": { - "type": "long" - } + } + }, + "write": { + "properties": { + "available": { + "type": "long" + }, + "out": { + "type": "long" + }, + "total_tickets": { + "type": "long" } } } - }, - "log": { - "properties": { - "flushes": { - "type": "long" - }, - "max_file_size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "log": { + "properties": { + "flushes": { + "type": "long" + }, + "max_file_size": { + "properties": { + "bytes": { + "type": "long" } - }, - "scans": { - "type": "long" - }, - "size": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "scans": { + "type": "long" + }, + "size": { + "properties": { + "bytes": { + "type": "long" } - }, - "syncs": { - "type": "long" - }, - "write": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "syncs": { + "type": "long" + }, + "write": { + "properties": { + "bytes": { + "type": "long" } - }, - "writes": { - "type": "long" } + }, + "writes": { + "type": "long" } } } - }, - "write_backs_queued": { - "type": "boolean" } + }, + "write_backs_queued": { + "type": "boolean" } } } - }, - "munin": { - "type": "object" - }, - "mysql": { - "properties": { - "galera_status": { - "properties": { - "apply": { - "properties": { - "oooe": { - "type": "double" - }, - "oool": { - "type": "double" - }, - "window": { - "type": "double" - } - } - }, - "cert": { - "properties": { - "deps_distance": { - "type": "double" - }, - "index_size": { - "type": "long" - }, - "interval": { - "type": "double" - } - } - }, - "cluster": { - "properties": { - "conf_id": { - "type": "long" - }, - "size": { - "type": "long" - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "commit": { - "properties": { - "oooe": { - "type": "double" - }, - "window": { - "type": "long" - } - } - }, - "connected": { - "ignore_above": 1024, - "type": "keyword" - }, - "evs": { - "properties": { - "evict": { - "ignore_above": 1024, - "type": "keyword" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "flow_ctl": { - "properties": { - "paused": { - "type": "double" - }, - "paused_ns": { - "type": "long" - }, - "recv": { - "type": "long" - }, - "sent": { - "type": "long" - } - } - }, - "last_committed": { - "type": "long" - }, - "local": { - "properties": { - "bf_aborts": { - "type": "long" - }, - "cert_failures": { - "type": "long" - }, - "commits": { - "type": "long" - }, - "recv": { - "properties": { - "queue": { - "type": "long" - }, - "queue_avg": { - "type": "double" - }, - "queue_max": { - "type": "long" - }, - "queue_min": { - "type": "long" - } - } - }, - "replays": { - "type": "long" - }, - "send": { - "properties": { - "queue": { - "type": "long" - }, - "queue_avg": { - "type": "double" - }, - "queue_max": { - "type": "long" - }, - "queue_min": { - "type": "long" - } - } - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "ready": { - "ignore_above": 1024, - "type": "keyword" - }, - "received": { - "properties": { - "bytes": { - "type": "long" - }, - "count": { - "type": "long" - } - } - }, - "repl": { - "properties": { - "bytes": { - "type": "long" - }, - "count": { - "type": "long" - }, - "data_bytes": { - "type": "long" - }, - "keys": { - "type": "long" - }, - "keys_bytes": { - "type": "long" - }, - "other_bytes": { - "type": "long" - } + } + }, + "munin": { + "type": "object" + }, + "mysql": { + "properties": { + "galera_status": { + "properties": { + "apply": { + "properties": { + "oooe": { + "type": "double" + }, + "oool": { + "type": "double" + }, + "window": { + "type": "double" + } + } + }, + "cert": { + "properties": { + "deps_distance": { + "type": "double" + }, + "index_size": { + "type": "long" + }, + "interval": { + "type": "double" + } + } + }, + "cluster": { + "properties": { + "conf_id": { + "type": "long" + }, + "size": { + "type": "long" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "commit": { + "properties": { + "oooe": { + "type": "double" + }, + "window": { + "type": "long" + } + } + }, + "connected": { + "ignore_above": 1024, + "type": "keyword" + }, + "evs": { + "properties": { + "evict": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "flow_ctl": { + "properties": { + "paused": { + "type": "double" + }, + "paused_ns": { + "type": "long" + }, + "recv": { + "type": "long" + }, + "sent": { + "type": "long" + } + } + }, + "last_committed": { + "type": "long" + }, + "local": { + "properties": { + "bf_aborts": { + "type": "long" + }, + "cert_failures": { + "type": "long" + }, + "commits": { + "type": "long" + }, + "recv": { + "properties": { + "queue": { + "type": "long" + }, + "queue_avg": { + "type": "double" + }, + "queue_max": { + "type": "long" + }, + "queue_min": { + "type": "long" + } + } + }, + "replays": { + "type": "long" + }, + "send": { + "properties": { + "queue": { + "type": "long" + }, + "queue_avg": { + "type": "double" + }, + "queue_max": { + "type": "long" + }, + "queue_min": { + "type": "long" + } + } + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ready": { + "ignore_above": 1024, + "type": "keyword" + }, + "received": { + "properties": { + "bytes": { + "type": "long" + }, + "count": { + "type": "long" + } + } + }, + "repl": { + "properties": { + "bytes": { + "type": "long" + }, + "count": { + "type": "long" + }, + "data_bytes": { + "type": "long" + }, + "keys": { + "type": "long" + }, + "keys_bytes": { + "type": "long" + }, + "other_bytes": { + "type": "long" } } } - }, - "status": { - "properties": { - "aborted": { - "properties": { - "clients": { - "type": "long" - }, - "connects": { - "type": "long" - } - } - }, - "binlog": { - "properties": { - "cache": { - "properties": { - "disk_use": { - "type": "long" - }, - "use": { - "type": "long" - } + } + }, + "status": { + "properties": { + "aborted": { + "properties": { + "clients": { + "type": "long" + }, + "connects": { + "type": "long" + } + } + }, + "binlog": { + "properties": { + "cache": { + "properties": { + "disk_use": { + "type": "long" + }, + "use": { + "type": "long" } } } - }, - "bytes": { - "properties": { - "received": { - "type": "long" - }, - "sent": { - "type": "long" - } - } - }, - "command": { - "properties": { - "delete": { - "type": "long" - }, - "insert": { - "type": "long" - }, - "select": { - "type": "long" - }, - "update": { - "type": "long" - } - } - }, - "connections": { - "type": "long" - }, - "created": { - "properties": { - "tmp": { - "properties": { - "disk_tables": { - "type": "long" - }, - "files": { - "type": "long" - }, - "tables": { - "type": "long" - } + } + }, + "bytes": { + "properties": { + "received": { + "type": "long" + }, + "sent": { + "type": "long" + } + } + }, + "command": { + "properties": { + "delete": { + "type": "long" + }, + "insert": { + "type": "long" + }, + "select": { + "type": "long" + }, + "update": { + "type": "long" + } + } + }, + "connections": { + "type": "long" + }, + "created": { + "properties": { + "tmp": { + "properties": { + "disk_tables": { + "type": "long" + }, + "files": { + "type": "long" + }, + "tables": { + "type": "long" } } } - }, - "delayed": { - "properties": { - "errors": { - "type": "long" - }, - "insert_threads": { - "type": "long" - }, - "writes": { - "type": "long" - } - } - }, - "flush_commands": { - "type": "long" - }, - "max_used_connections": { - "type": "long" - }, - "open": { - "properties": { - "files": { - "type": "long" - }, - "streams": { - "type": "long" - }, - "tables": { - "type": "long" - } - } - }, - "opened_tables": { - "type": "long" - }, - "threads": { - "properties": { - "cached": { - "type": "long" - }, - "connected": { - "type": "long" - }, - "created": { - "type": "long" - }, - "running": { - "type": "long" - } + } + }, + "delayed": { + "properties": { + "errors": { + "type": "long" + }, + "insert_threads": { + "type": "long" + }, + "writes": { + "type": "long" + } + } + }, + "flush_commands": { + "type": "long" + }, + "max_used_connections": { + "type": "long" + }, + "open": { + "properties": { + "files": { + "type": "long" + }, + "streams": { + "type": "long" + }, + "tables": { + "type": "long" + } + } + }, + "opened_tables": { + "type": "long" + }, + "threads": { + "properties": { + "cached": { + "type": "long" + }, + "connected": { + "type": "long" + }, + "created": { + "type": "long" + }, + "running": { + "type": "long" } } } } } - }, - "nginx": { - "properties": { - "stubstatus": { - "properties": { - "accepts": { - "type": "long" - }, - "active": { - "type": "long" - }, - "current": { - "type": "long" - }, - "dropped": { - "type": "long" - }, - "handled": { - "type": "long" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "reading": { - "type": "long" - }, - "requests": { - "type": "long" - }, - "waiting": { - "type": "long" - }, - "writing": { - "type": "long" - } + } + }, + "nginx": { + "properties": { + "stubstatus": { + "properties": { + "accepts": { + "type": "long" + }, + "active": { + "type": "long" + }, + "current": { + "type": "long" + }, + "dropped": { + "type": "long" + }, + "handled": { + "type": "long" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "reading": { + "type": "long" + }, + "requests": { + "type": "long" + }, + "waiting": { + "type": "long" + }, + "writing": { + "type": "long" } } } - }, - "php_fpm": { - "properties": { - "pool": { - "properties": { - "connections": { - "properties": { - "accepted": { - "type": "long" - }, - "listen_queue_len": { - "type": "long" - }, - "max_listen_queue": { - "type": "long" - }, - "queued": { - "type": "long" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "process_manager": { - "ignore_above": 1024, - "type": "keyword" - }, - "processes": { - "properties": { - "active": { - "type": "long" - }, - "idle": { - "type": "long" - }, - "max_active": { - "type": "long" - }, - "max_children_reached": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "slow_requests": { - "type": "long" - }, - "start_since": { - "type": "long" - }, - "start_time": { - "type": "date" + } + }, + "php_fpm": { + "properties": { + "pool": { + "properties": { + "connections": { + "properties": { + "accepted": { + "type": "long" + }, + "listen_queue_len": { + "type": "long" + }, + "max_listen_queue": { + "type": "long" + }, + "queued": { + "type": "long" + } } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "process_manager": { + "ignore_above": 1024, + "type": "keyword" + }, + "processes": { + "properties": { + "active": { + "type": "long" + }, + "idle": { + "type": "long" + }, + "max_active": { + "type": "long" + }, + "max_children_reached": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "slow_requests": { + "type": "long" + }, + "start_since": { + "type": "long" + }, + "start_time": { + "type": "date" } } } - }, - "postgresql": { - "properties": { - "activity": { - "properties": { - "application_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "backend_start": { - "type": "date" - }, - "client": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "port": { - "type": "long" - } - } - }, - "database": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "oid": { - "type": "long" - } - } - }, - "pid": { - "type": "long" - }, - "query": { - "ignore_above": 1024, - "type": "keyword" - }, - "query_start": { - "type": "date" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "state_change": { - "type": "date" - }, - "transaction_start": { - "type": "date" - }, - "user": { - "properties": { - "id": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "waiting": { - "type": "boolean" + } + }, + "postgresql": { + "properties": { + "activity": { + "properties": { + "application_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "backend_start": { + "type": "date" + }, + "client": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + } + } + }, + "database": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "oid": { + "type": "long" + } + } + }, + "pid": { + "type": "long" + }, + "query": { + "ignore_above": 1024, + "type": "keyword" + }, + "query_start": { + "type": "date" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_change": { + "type": "date" + }, + "transaction_start": { + "type": "date" + }, + "user": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "waiting": { + "type": "boolean" } - }, - "bgwriter": { - "properties": { - "buffers": { - "properties": { - "allocated": { - "type": "long" - }, - "backend": { - "type": "long" - }, - "backend_fsync": { - "type": "long" - }, - "checkpoints": { - "type": "long" - }, - "clean": { - "type": "long" - }, - "clean_full": { - "type": "long" - } - } - }, - "checkpoints": { - "properties": { - "requested": { - "type": "long" - }, - "scheduled": { - "type": "long" - }, - "times": { - "properties": { - "sync": { - "properties": { - "ms": { - "type": "float" - } + } + }, + "bgwriter": { + "properties": { + "buffers": { + "properties": { + "allocated": { + "type": "long" + }, + "backend": { + "type": "long" + }, + "backend_fsync": { + "type": "long" + }, + "checkpoints": { + "type": "long" + }, + "clean": { + "type": "long" + }, + "clean_full": { + "type": "long" + } + } + }, + "checkpoints": { + "properties": { + "requested": { + "type": "long" + }, + "scheduled": { + "type": "long" + }, + "times": { + "properties": { + "sync": { + "properties": { + "ms": { + "type": "float" } - }, - "write": { - "properties": { - "ms": { - "type": "float" - } + } + }, + "write": { + "properties": { + "ms": { + "type": "float" } } } } } - }, - "stats_reset": { - "type": "date" } + }, + "stats_reset": { + "type": "date" } - }, - "database": { - "properties": { - "blocks": { - "properties": { - "hit": { - "type": "long" - }, - "read": { - "type": "long" - }, - "time": { - "properties": { - "read": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "database": { + "properties": { + "blocks": { + "properties": { + "hit": { + "type": "long" + }, + "read": { + "type": "long" + }, + "time": { + "properties": { + "read": { + "properties": { + "ms": { + "type": "long" } - }, - "write": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "write": { + "properties": { + "ms": { + "type": "long" } } } } } - }, - "conflicts": { - "type": "long" - }, - "deadlocks": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "number_of_backends": { - "type": "long" - }, - "oid": { - "type": "long" - }, - "rows": { - "properties": { - "deleted": { - "type": "long" - }, - "fetched": { - "type": "long" - }, - "inserted": { - "type": "long" - }, - "returned": { - "type": "long" - }, - "updated": { - "type": "long" - } - } - }, - "stats_reset": { - "type": "date" - }, - "temporary": { - "properties": { - "bytes": { - "type": "long" - }, - "files": { - "type": "long" - } - } - }, - "transactions": { - "properties": { - "commit": { - "type": "long" - }, - "rollback": { - "type": "long" - } + } + }, + "conflicts": { + "type": "long" + }, + "deadlocks": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "number_of_backends": { + "type": "long" + }, + "oid": { + "type": "long" + }, + "rows": { + "properties": { + "deleted": { + "type": "long" + }, + "fetched": { + "type": "long" + }, + "inserted": { + "type": "long" + }, + "returned": { + "type": "long" + }, + "updated": { + "type": "long" + } + } + }, + "stats_reset": { + "type": "date" + }, + "temporary": { + "properties": { + "bytes": { + "type": "long" + }, + "files": { + "type": "long" + } + } + }, + "transactions": { + "properties": { + "commit": { + "type": "long" + }, + "rollback": { + "type": "long" } } } - }, - "statement": { - "properties": { - "database": { - "properties": { - "oid": { - "type": "long" - } - } - }, - "memory": { - "properties": { - "local": { - "properties": { - "dirtied": { - "type": "long" - }, - "hit": { - "type": "long" - }, - "read": { - "type": "long" - }, - "written": { - "type": "long" - } - } - }, - "shared": { - "properties": { - "dirtied": { - "type": "long" - }, - "hit": { - "type": "long" - }, - "read": { - "type": "long" - }, - "written": { - "type": "long" - } - } - }, - "temp": { - "properties": { - "read": { - "type": "long" - }, - "written": { - "type": "long" - } + } + }, + "statement": { + "properties": { + "database": { + "properties": { + "oid": { + "type": "long" + } + } + }, + "memory": { + "properties": { + "local": { + "properties": { + "dirtied": { + "type": "long" + }, + "hit": { + "type": "long" + }, + "read": { + "type": "long" + }, + "written": { + "type": "long" + } + } + }, + "shared": { + "properties": { + "dirtied": { + "type": "long" + }, + "hit": { + "type": "long" + }, + "read": { + "type": "long" + }, + "written": { + "type": "long" + } + } + }, + "temp": { + "properties": { + "read": { + "type": "long" + }, + "written": { + "type": "long" } } } - }, - "query": { - "properties": { - "calls": { - "type": "long" - }, - "id": { - "type": "long" - }, - "rows": { - "type": "long" - }, - "text": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "time": { - "properties": { - "max": { - "type": "long" - }, - "mean": { - "type": "long" - }, - "min": { - "type": "long" - }, - "stddev": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "user": { - "properties": { - "id": { - "type": "long" - } + } + }, + "query": { + "properties": { + "calls": { + "type": "long" + }, + "id": { + "type": "long" + }, + "rows": { + "type": "long" + }, + "text": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "time": { + "properties": { + "max": { + "type": "long" + }, + "mean": { + "type": "long" + }, + "min": { + "type": "long" + }, + "stddev": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "user": { + "properties": { + "id": { + "type": "long" } } } } } - }, - "prometheus": { - "properties": { - "stats": { - "properties": { - "notifications": { - "properties": { - "dropped": { - "type": "long" - }, - "queue_length": { - "type": "long" - } + } + }, + "prometheus": { + "properties": { + "stats": { + "properties": { + "notifications": { + "properties": { + "dropped": { + "type": "long" + }, + "queue_length": { + "type": "long" } - }, - "processes": { - "properties": { - "open_fds": { - "type": "long" - } + } + }, + "processes": { + "properties": { + "open_fds": { + "type": "long" } - }, - "storage": { - "properties": { - "chunks_to_persist": { - "type": "long" - } + } + }, + "storage": { + "properties": { + "chunks_to_persist": { + "type": "long" } } } } } - }, - "rabbitmq": { - "properties": { - "connection": { - "properties": { - "channel_max": { - "type": "long" - }, - "channels": { - "type": "long" - }, - "frame_max": { - "type": "long" - }, - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "node": { - "ignore_above": 1024, - "type": "keyword" - }, - "octet_count": { - "properties": { - "received": { - "type": "long" - }, - "sent": { - "type": "long" - } - } - }, - "packet_count": { - "properties": { - "pending": { - "type": "long" - }, - "received": { - "type": "long" - }, - "sent": { - "type": "long" - } - } - }, - "peer": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "port": { - "type": "long" - } - } - }, - "port": { - "type": "long" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "user": { - "ignore_above": 1024, - "type": "keyword" - }, - "vhost": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "rabbitmq": { + "properties": { + "connection": { + "properties": { + "channel_max": { + "type": "long" + }, + "channels": { + "type": "long" + }, + "frame_max": { + "type": "long" + }, + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "ignore_above": 1024, + "type": "keyword" + }, + "octet_count": { + "properties": { + "received": { + "type": "long" + }, + "sent": { + "type": "long" + } + } + }, + "packet_count": { + "properties": { + "pending": { + "type": "long" + }, + "received": { + "type": "long" + }, + "sent": { + "type": "long" + } + } + }, + "peer": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + } } + }, + "port": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + }, + "vhost": { + "ignore_above": 1024, + "type": "keyword" } - }, - "exchange": { - "properties": { - "auto_delete": { - "type": "boolean" - }, - "durable": { - "type": "boolean" - }, - "internal": { - "type": "boolean" - }, - "messages": { - "properties": { - "publish_in": { - "properties": { - "count": { - "type": "long" - }, - "details": { - "properties": { - "rate": { - "type": "float" - } + } + }, + "exchange": { + "properties": { + "auto_delete": { + "type": "boolean" + }, + "durable": { + "type": "boolean" + }, + "internal": { + "type": "boolean" + }, + "messages": { + "properties": { + "publish_in": { + "properties": { + "count": { + "type": "long" + }, + "details": { + "properties": { + "rate": { + "type": "float" } } } - }, - "publish_out": { - "properties": { - "count": { - "type": "long" - }, - "details": { - "properties": { - "rate": { - "type": "float" - } + } + }, + "publish_out": { + "properties": { + "count": { + "type": "long" + }, + "details": { + "properties": { + "rate": { + "type": "float" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "user": { - "ignore_above": 1024, - "type": "keyword" - }, - "vhost": { - "ignore_above": 1024, - "type": "keyword" } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + }, + "vhost": { + "ignore_above": 1024, + "type": "keyword" } - }, - "node": { - "properties": { - "disk": { - "properties": { - "free": { - "properties": { - "bytes": { - "type": "long" - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "node": { + "properties": { + "disk": { + "properties": { + "free": { + "properties": { + "bytes": { + "type": "long" + }, + "limit": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "fd": { - "properties": { - "total": { - "type": "long" - }, - "used": { - "type": "long" - } + } + }, + "fd": { + "properties": { + "total": { + "type": "long" + }, + "used": { + "type": "long" } - }, - "gc": { - "properties": { - "num": { - "properties": { - "count": { - "type": "long" - } + } + }, + "gc": { + "properties": { + "num": { + "properties": { + "count": { + "type": "long" } - }, - "reclaimed": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "reclaimed": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "io": { - "properties": { - "file_handle": { - "properties": { - "open_attempt": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "io": { + "properties": { + "file_handle": { + "properties": { + "open_attempt": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } - }, - "count": { - "type": "long" } + }, + "count": { + "type": "long" } } } - }, - "read": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "read": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } - }, - "bytes": { - "type": "long" - }, - "count": { - "type": "long" } + }, + "bytes": { + "type": "long" + }, + "count": { + "type": "long" } - }, - "reopen": { - "properties": { - "count": { - "type": "long" - } + } + }, + "reopen": { + "properties": { + "count": { + "type": "long" } - }, - "seek": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "seek": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } - }, - "count": { - "type": "long" } + }, + "count": { + "type": "long" } - }, - "sync": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "sync": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } - }, - "count": { - "type": "long" } + }, + "count": { + "type": "long" } - }, - "write": { - "properties": { - "avg": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "write": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" } - }, - "bytes": { - "type": "long" - }, - "count": { - "type": "long" } + }, + "bytes": { + "type": "long" + }, + "count": { + "type": "long" } } } - }, - "mem": { - "properties": { - "limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "mem": { + "properties": { + "limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "mnesia": { - "properties": { - "disk": { - "properties": { - "tx": { - "properties": { - "count": { - "type": "long" - } + } + }, + "mnesia": { + "properties": { + "disk": { + "properties": { + "tx": { + "properties": { + "count": { + "type": "long" } } } - }, - "ram": { - "properties": { - "tx": { - "properties": { - "count": { - "type": "long" - } + } + }, + "ram": { + "properties": { + "tx": { + "properties": { + "count": { + "type": "long" } } } } } - }, - "msg": { - "properties": { - "store_read": { - "properties": { - "count": { - "type": "long" - } + } + }, + "msg": { + "properties": { + "store_read": { + "properties": { + "count": { + "type": "long" } - }, - "store_write": { - "properties": { - "count": { - "type": "long" - } + } + }, + "store_write": { + "properties": { + "count": { + "type": "long" } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "proc": { - "properties": { - "total": { - "type": "long" - }, - "used": { - "type": "long" - } - } - }, - "processors": { - "type": "long" - }, - "queue": { - "properties": { - "index": { - "properties": { - "journal_write": { - "properties": { - "count": { - "type": "long" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "proc": { + "properties": { + "total": { + "type": "long" + }, + "used": { + "type": "long" + } + } + }, + "processors": { + "type": "long" + }, + "queue": { + "properties": { + "index": { + "properties": { + "journal_write": { + "properties": { + "count": { + "type": "long" } - }, - "read": { - "properties": { - "count": { - "type": "long" - } + } + }, + "read": { + "properties": { + "count": { + "type": "long" } - }, - "write": { - "properties": { - "count": { - "type": "long" - } + } + }, + "write": { + "properties": { + "count": { + "type": "long" } } } } } - }, - "run": { - "properties": { - "queue": { - "type": "long" - } + } + }, + "run": { + "properties": { + "queue": { + "type": "long" } - }, - "socket": { - "properties": { - "total": { - "type": "long" - }, - "used": { - "type": "long" - } + } + }, + "socket": { + "properties": { + "total": { + "type": "long" + }, + "used": { + "type": "long" } - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "uptime": { - "type": "long" } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "type": "long" } - }, - "queue": { - "properties": { - "arguments": { - "properties": { - "max_priority": { - "type": "long" - } - } - }, - "auto_delete": { - "type": "boolean" - }, - "consumers": { - "properties": { - "count": { - "type": "long" - }, - "utilisation": { - "properties": { - "pct": { - "type": "long" - } + } + }, + "queue": { + "properties": { + "arguments": { + "properties": { + "max_priority": { + "type": "long" + } + } + }, + "auto_delete": { + "type": "boolean" + }, + "consumers": { + "properties": { + "count": { + "type": "long" + }, + "utilisation": { + "properties": { + "pct": { + "type": "long" } } } - }, - "disk": { - "properties": { - "reads": { - "properties": { - "count": { - "type": "long" - } + } + }, + "disk": { + "properties": { + "reads": { + "properties": { + "count": { + "type": "long" } - }, - "writes": { - "properties": { - "count": { - "type": "long" - } + } + }, + "writes": { + "properties": { + "count": { + "type": "long" } } } - }, - "durable": { - "type": "boolean" - }, - "exclusive": { - "type": "boolean" - }, - "memory": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "durable": { + "type": "boolean" + }, + "exclusive": { + "type": "boolean" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" } - }, - "messages": { - "properties": { - "persistent": { - "properties": { - "count": { - "type": "long" - } - } - }, - "ready": { - "properties": { - "count": { - "type": "long" - }, - "details": { - "properties": { - "rate": { - "type": "float" - } + } + }, + "messages": { + "properties": { + "persistent": { + "properties": { + "count": { + "type": "long" + } + } + }, + "ready": { + "properties": { + "count": { + "type": "long" + }, + "details": { + "properties": { + "rate": { + "type": "float" } } } - }, - "total": { - "properties": { - "count": { - "type": "long" - }, - "details": { - "properties": { - "rate": { - "type": "float" - } + } + }, + "total": { + "properties": { + "count": { + "type": "long" + }, + "details": { + "properties": { + "rate": { + "type": "float" } } } - }, - "unacknowledged": { - "properties": { - "count": { - "type": "long" - }, - "details": { - "properties": { - "rate": { - "type": "float" - } + } + }, + "unacknowledged": { + "properties": { + "count": { + "type": "long" + }, + "details": { + "properties": { + "rate": { + "type": "float" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "node": { - "ignore_above": 1024, - "type": "keyword" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "vhost": { - "ignore_above": 1024, - "type": "keyword" } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "vhost": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "redis": { - "properties": { - "info": { - "properties": { - "clients": { - "properties": { - "biggest_input_buf": { - "type": "long" - }, - "blocked": { - "type": "long" - }, - "connected": { - "type": "long" - }, - "longest_output_list": { - "type": "long" - } - } - }, - "cluster": { - "properties": { - "enabled": { - "type": "boolean" - } - } - }, - "cpu": { - "properties": { - "used": { - "properties": { - "sys": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "sys_children": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "user": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "user_children": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "redis": { + "properties": { + "info": { + "properties": { + "clients": { + "properties": { + "biggest_input_buf": { + "type": "long" + }, + "blocked": { + "type": "long" + }, + "connected": { + "type": "long" + }, + "longest_output_list": { + "type": "long" + } + } + }, + "cluster": { + "properties": { + "enabled": { + "type": "boolean" + } + } + }, + "cpu": { + "properties": { + "used": { + "properties": { + "sys": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "sys_children": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "user": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "user_children": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "memory": { - "properties": { - "allocator": { - "ignore_above": 1024, - "type": "keyword" - }, - "max": { - "properties": { - "policy": { - "ignore_above": 1024, - "type": "keyword" - }, - "value": { - "type": "long" - } - } - }, - "used": { - "properties": { - "lua": { - "type": "long" - }, - "peak": { - "type": "long" - }, - "rss": { - "type": "long" - }, - "value": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "allocator": { + "ignore_above": 1024, + "type": "keyword" + }, + "max": { + "properties": { + "policy": { + "ignore_above": 1024, + "type": "keyword" + }, + "value": { + "type": "long" + } + } + }, + "used": { + "properties": { + "lua": { + "type": "long" + }, + "peak": { + "type": "long" + }, + "rss": { + "type": "long" + }, + "value": { + "type": "long" } } } - }, - "persistence": { - "properties": { - "aof": { - "properties": { - "bgrewrite": { - "properties": { - "last_status": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "persistence": { + "properties": { + "aof": { + "properties": { + "bgrewrite": { + "properties": { + "last_status": { + "ignore_above": 1024, + "type": "keyword" } - }, - "enabled": { - "type": "boolean" - }, - "rewrite": { - "properties": { - "current_time": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "enabled": { + "type": "boolean" + }, + "rewrite": { + "properties": { + "current_time": { + "properties": { + "sec": { + "type": "long" } - }, - "in_progress": { - "type": "boolean" - }, - "last_time": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "in_progress": { + "type": "boolean" + }, + "last_time": { + "properties": { + "sec": { + "type": "long" } - }, - "scheduled": { - "type": "boolean" } + }, + "scheduled": { + "type": "boolean" } - }, - "write": { - "properties": { - "last_status": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "write": { + "properties": { + "last_status": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "loading": { - "type": "boolean" - }, - "rdb": { - "properties": { - "bgsave": { - "properties": { - "current_time": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "loading": { + "type": "boolean" + }, + "rdb": { + "properties": { + "bgsave": { + "properties": { + "current_time": { + "properties": { + "sec": { + "type": "long" } - }, - "in_progress": { - "type": "boolean" - }, - "last_status": { - "ignore_above": 1024, - "type": "keyword" - }, - "last_time": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "in_progress": { + "type": "boolean" + }, + "last_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "last_time": { + "properties": { + "sec": { + "type": "long" } } } - }, - "last_save": { - "properties": { - "changes_since": { - "type": "long" - }, - "time": { - "type": "long" - } + } + }, + "last_save": { + "properties": { + "changes_since": { + "type": "long" + }, + "time": { + "type": "long" } } } } } - }, - "replication": { - "properties": { - "backlog": { - "properties": { - "active": { - "type": "long" - }, - "first_byte_offset": { - "type": "long" - }, - "histlen": { - "type": "long" - }, - "size": { - "type": "long" - } - } - }, - "connected_slaves": { - "type": "long" - }, - "master_offset": { - "type": "long" - }, - "role": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "server": { - "properties": { - "arch_bits": { - "ignore_above": 1024, - "type": "keyword" - }, - "build_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "config_file": { - "ignore_above": 1024, - "type": "keyword" - }, - "gcc_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "git_dirty": { - "ignore_above": 1024, - "type": "keyword" - }, - "git_sha1": { - "ignore_above": 1024, - "type": "keyword" - }, - "hz": { - "type": "long" - }, - "lru_clock": { - "type": "long" - }, - "mode": { - "ignore_above": 1024, - "type": "keyword" - }, - "multiplexing_api": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "ignore_above": 1024, - "type": "keyword" - }, - "process_id": { - "type": "long" - }, - "run_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "tcp_port": { - "type": "long" - }, - "uptime": { - "type": "long" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "stats": { - "properties": { - "commands_processed": { - "type": "long" - }, - "connections": { - "properties": { - "received": { - "type": "long" - }, - "rejected": { - "type": "long" - } - } - }, - "instantaneous": { - "properties": { - "input_kbps": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ops_per_sec": { - "type": "long" - }, - "output_kbps": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "keys": { - "properties": { - "evicted": { - "type": "long" - }, - "expired": { - "type": "long" - } - } - }, - "keyspace": { - "properties": { - "hits": { - "type": "long" - }, - "misses": { - "type": "long" - } - } - }, - "latest_fork_usec": { - "type": "long" - }, - "migrate_cached_sockets": { - "type": "long" - }, - "net": { - "properties": { - "input": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "output": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "replication": { + "properties": { + "backlog": { + "properties": { + "active": { + "type": "long" + }, + "first_byte_offset": { + "type": "long" + }, + "histlen": { + "type": "long" + }, + "size": { + "type": "long" + } + } + }, + "connected_slaves": { + "type": "long" + }, + "master_offset": { + "type": "long" + }, + "role": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "server": { + "properties": { + "arch_bits": { + "ignore_above": 1024, + "type": "keyword" + }, + "build_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "config_file": { + "ignore_above": 1024, + "type": "keyword" + }, + "gcc_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "git_dirty": { + "ignore_above": 1024, + "type": "keyword" + }, + "git_sha1": { + "ignore_above": 1024, + "type": "keyword" + }, + "hz": { + "type": "long" + }, + "lru_clock": { + "type": "long" + }, + "mode": { + "ignore_above": 1024, + "type": "keyword" + }, + "multiplexing_api": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "ignore_above": 1024, + "type": "keyword" + }, + "process_id": { + "type": "long" + }, + "run_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "tcp_port": { + "type": "long" + }, + "uptime": { + "type": "long" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "stats": { + "properties": { + "commands_processed": { + "type": "long" + }, + "connections": { + "properties": { + "received": { + "type": "long" + }, + "rejected": { + "type": "long" + } + } + }, + "instantaneous": { + "properties": { + "input_kbps": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ops_per_sec": { + "type": "long" + }, + "output_kbps": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "keys": { + "properties": { + "evicted": { + "type": "long" + }, + "expired": { + "type": "long" + } + } + }, + "keyspace": { + "properties": { + "hits": { + "type": "long" + }, + "misses": { + "type": "long" + } + } + }, + "latest_fork_usec": { + "type": "long" + }, + "migrate_cached_sockets": { + "type": "long" + }, + "net": { + "properties": { + "input": { + "properties": { + "bytes": { + "type": "long" } } - } - }, - "pubsub": { - "properties": { - "channels": { - "type": "long" - }, - "patterns": { - "type": "long" + }, + "output": { + "properties": { + "bytes": { + "type": "long" + } } } - }, - "sync": { - "properties": { - "full": { - "type": "long" - }, - "partial": { - "properties": { - "err": { - "type": "long" - }, - "ok": { - "type": "long" - } + } + }, + "pubsub": { + "properties": { + "channels": { + "type": "long" + }, + "patterns": { + "type": "long" + } + } + }, + "sync": { + "properties": { + "full": { + "type": "long" + }, + "partial": { + "properties": { + "err": { + "type": "long" + }, + "ok": { + "type": "long" } } } @@ -6745,1730 +6743,1730 @@ } } } - }, - "keyspace": { - "properties": { - "avg_ttl": { - "type": "long" - }, - "expires": { - "type": "long" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "keys": { - "type": "long" - } + } + }, + "keyspace": { + "properties": { + "avg_ttl": { + "type": "long" + }, + "expires": { + "type": "long" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "keys": { + "type": "long" } } } - }, - "service": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "service": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "system": { - "properties": { - "core": { - "properties": { - "id": { - "type": "long" - }, - "idle": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "iowait": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "irq": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "nice": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "softirq": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "steal": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "system": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "user": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } + } + }, + "system": { + "properties": { + "core": { + "properties": { + "id": { + "type": "long" + }, + "idle": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "iowait": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "irq": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "nice": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "softirq": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "steal": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "system": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "user": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" } } } - }, - "cpu": { - "properties": { - "cores": { - "type": "long" - }, - "idle": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "iowait": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "irq": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "nice": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "softirq": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "steal": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "system": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } - } - }, - "total": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "value": { - "type": "long" - } - } - }, - "user": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - } + } + }, + "cpu": { + "properties": { + "cores": { + "type": "long" + }, + "idle": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "iowait": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "irq": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "nice": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "softirq": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "steal": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "system": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + } + } + }, + "total": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "value": { + "type": "long" + } + } + }, + "user": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" } } } - }, - "diskio": { - "properties": { - "io": { - "properties": { - "time": { - "type": "long" - } - } - }, - "iostat": { - "properties": { - "await": { - "type": "float" - }, - "busy": { - "type": "float" - }, - "queue": { - "properties": { - "avg_size": { - "type": "float" - } - } - }, - "read": { - "properties": { - "per_sec": { - "properties": { - "bytes": { - "type": "float" - } + } + }, + "diskio": { + "properties": { + "io": { + "properties": { + "time": { + "type": "long" + } + } + }, + "iostat": { + "properties": { + "await": { + "type": "float" + }, + "busy": { + "type": "float" + }, + "queue": { + "properties": { + "avg_size": { + "type": "float" + } + } + }, + "read": { + "properties": { + "per_sec": { + "properties": { + "bytes": { + "type": "float" } - }, - "request": { - "properties": { - "merges_per_sec": { - "type": "float" - }, - "per_sec": { - "type": "float" - } + } + }, + "request": { + "properties": { + "merges_per_sec": { + "type": "float" + }, + "per_sec": { + "type": "float" } } } - }, - "request": { - "properties": { - "avg_size": { - "type": "float" - } + } + }, + "request": { + "properties": { + "avg_size": { + "type": "float" } - }, - "service_time": { - "type": "float" - }, - "write": { - "properties": { - "per_sec": { - "properties": { - "bytes": { - "type": "float" - } + } + }, + "service_time": { + "type": "float" + }, + "write": { + "properties": { + "per_sec": { + "properties": { + "bytes": { + "type": "float" } - }, - "request": { - "properties": { - "merges_per_sec": { - "type": "float" - }, - "per_sec": { - "type": "float" - } + } + }, + "request": { + "properties": { + "merges_per_sec": { + "type": "float" + }, + "per_sec": { + "type": "float" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "read": { - "properties": { - "bytes": { - "type": "long" - }, - "count": { - "type": "long" - }, - "time": { - "type": "long" - } - } - }, - "serial_number": { - "ignore_above": 1024, - "type": "keyword" - }, - "write": { - "properties": { - "bytes": { - "type": "long" - }, - "count": { - "type": "long" - }, - "time": { - "type": "long" - } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "read": { + "properties": { + "bytes": { + "type": "long" + }, + "count": { + "type": "long" + }, + "time": { + "type": "long" + } + } + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "write": { + "properties": { + "bytes": { + "type": "long" + }, + "count": { + "type": "long" + }, + "time": { + "type": "long" } } } - }, - "filesystem": { - "properties": { - "available": { - "type": "long" - }, - "device_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "files": { - "type": "long" - }, - "free": { - "type": "long" - }, - "free_files": { - "type": "long" - }, - "mount_point": { - "ignore_above": 1024, - "type": "keyword" - }, - "total": { - "type": "long" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "filesystem": { + "properties": { + "available": { + "type": "long" + }, + "device_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "files": { + "type": "long" + }, + "free": { + "type": "long" + }, + "free_files": { + "type": "long" + }, + "mount_point": { + "ignore_above": 1024, + "type": "keyword" + }, + "total": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "fsstat": { - "properties": { - "count": { - "type": "long" - }, - "total_files": { - "type": "long" - }, - "total_size": { - "properties": { - "free": { - "type": "long" - }, - "total": { - "type": "long" - }, - "used": { - "type": "long" - } + } + }, + "fsstat": { + "properties": { + "count": { + "type": "long" + }, + "total_files": { + "type": "long" + }, + "total_size": { + "properties": { + "free": { + "type": "long" + }, + "total": { + "type": "long" + }, + "used": { + "type": "long" } } } - }, - "load": { - "properties": { - "1": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "15": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "5": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "cores": { - "type": "long" - }, - "norm": { - "properties": { - "1": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "15": { - "scaling_factor": 100, - "type": "scaled_float" - }, - "5": { - "scaling_factor": 100, - "type": "scaled_float" - } + } + }, + "load": { + "properties": { + "1": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "15": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "5": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "cores": { + "type": "long" + }, + "norm": { + "properties": { + "1": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "15": { + "scaling_factor": 100, + "type": "scaled_float" + }, + "5": { + "scaling_factor": 100, + "type": "scaled_float" } } } - }, - "memory": { - "properties": { - "actual": { - "properties": { - "free": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "memory": { + "properties": { + "actual": { + "properties": { + "free": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "free": { - "type": "long" - }, - "hugepages": { - "properties": { - "default_size": { - "type": "long" - }, - "free": { - "type": "long" - }, - "reserved": { - "type": "long" - }, - "surplus": { - "type": "long" - }, - "total": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "type": "long" - } + } + }, + "free": { + "type": "long" + }, + "hugepages": { + "properties": { + "default_size": { + "type": "long" + }, + "free": { + "type": "long" + }, + "reserved": { + "type": "long" + }, + "surplus": { + "type": "long" + }, + "total": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "type": "long" } } } - }, - "swap": { - "properties": { - "free": { - "type": "long" - }, - "total": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "swap": { + "properties": { + "free": { + "type": "long" + }, + "total": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "total": { - "type": "long" - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "total": { + "type": "long" + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } } } - }, - "network": { - "properties": { - "in": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "out": { - "properties": { - "bytes": { - "type": "long" - }, - "dropped": { - "type": "long" - }, - "errors": { - "type": "long" - }, - "packets": { - "type": "long" - } + } + }, + "network": { + "properties": { + "in": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "out": { + "properties": { + "bytes": { + "type": "long" + }, + "dropped": { + "type": "long" + }, + "errors": { + "type": "long" + }, + "packets": { + "type": "long" } } } - }, - "process": { - "properties": { - "cgroup": { - "properties": { - "blkio": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "total": { - "properties": { - "bytes": { - "type": "long" - }, - "ios": { - "type": "long" - } + } + }, + "process": { + "properties": { + "cgroup": { + "properties": { + "blkio": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "total": { + "properties": { + "bytes": { + "type": "long" + }, + "ios": { + "type": "long" } } } - }, - "cpu": { - "properties": { - "cfs": { - "properties": { - "period": { - "properties": { - "us": { - "type": "long" - } + } + }, + "cpu": { + "properties": { + "cfs": { + "properties": { + "period": { + "properties": { + "us": { + "type": "long" } - }, - "quota": { - "properties": { - "us": { - "type": "long" - } + } + }, + "quota": { + "properties": { + "us": { + "type": "long" } - }, - "shares": { - "type": "long" } + }, + "shares": { + "type": "long" } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "rt": { - "properties": { - "period": { - "properties": { - "us": { - "type": "long" - } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "rt": { + "properties": { + "period": { + "properties": { + "us": { + "type": "long" } - }, - "runtime": { - "properties": { - "us": { - "type": "long" - } + } + }, + "runtime": { + "properties": { + "us": { + "type": "long" } } } - }, - "stats": { - "properties": { - "periods": { - "type": "long" - }, - "throttled": { - "properties": { - "ns": { - "type": "long" - }, - "periods": { - "type": "long" - } + } + }, + "stats": { + "properties": { + "periods": { + "type": "long" + }, + "throttled": { + "properties": { + "ns": { + "type": "long" + }, + "periods": { + "type": "long" } } } } } - }, - "cpuacct": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "percpu": { - "properties": { - "1": { - "type": "long" - } + } + }, + "cpuacct": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "percpu": { + "properties": { + "1": { + "type": "long" } - }, - "stats": { - "properties": { - "system": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "stats": { + "properties": { + "system": { + "properties": { + "ns": { + "type": "long" } - }, - "user": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "user": { + "properties": { + "ns": { + "type": "long" } } } - }, - "total": { - "properties": { - "ns": { - "type": "long" - } + } + }, + "total": { + "properties": { + "ns": { + "type": "long" } } } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "memory": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "kmem": { - "properties": { - "failures": { - "type": "long" - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "memory": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "kmem": { + "properties": { + "failures": { + "type": "long" + }, + "limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "kmem_tcp": { - "properties": { - "failures": { - "type": "long" - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "kmem_tcp": { + "properties": { + "failures": { + "type": "long" + }, + "limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "mem": { - "properties": { - "failures": { - "type": "long" - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "mem": { + "properties": { + "failures": { + "type": "long" + }, + "limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "memsw": { - "properties": { - "failures": { - "type": "long" - }, - "limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memsw": { + "properties": { + "failures": { + "type": "long" + }, + "limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "usage": { - "properties": { - "bytes": { - "type": "long" - }, - "max": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "usage": { + "properties": { + "bytes": { + "type": "long" + }, + "max": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "stats": { - "properties": { - "active_anon": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "stats": { + "properties": { + "active_anon": { + "properties": { + "bytes": { + "type": "long" } - }, - "active_file": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "active_file": { + "properties": { + "bytes": { + "type": "long" } - }, - "cache": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "cache": { + "properties": { + "bytes": { + "type": "long" } - }, - "hierarchical_memory_limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "hierarchical_memory_limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "hierarchical_memsw_limit": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "hierarchical_memsw_limit": { + "properties": { + "bytes": { + "type": "long" } - }, - "inactive_anon": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "inactive_anon": { + "properties": { + "bytes": { + "type": "long" } - }, - "inactive_file": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "inactive_file": { + "properties": { + "bytes": { + "type": "long" } - }, - "major_page_faults": { - "type": "long" - }, - "mapped_file": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "major_page_faults": { + "type": "long" + }, + "mapped_file": { + "properties": { + "bytes": { + "type": "long" } - }, - "page_faults": { - "type": "long" - }, - "pages_in": { - "type": "long" - }, - "pages_out": { - "type": "long" - }, - "rss": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "page_faults": { + "type": "long" + }, + "pages_in": { + "type": "long" + }, + "pages_out": { + "type": "long" + }, + "rss": { + "properties": { + "bytes": { + "type": "long" } - }, - "rss_huge": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "rss_huge": { + "properties": { + "bytes": { + "type": "long" } - }, - "swap": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "swap": { + "properties": { + "bytes": { + "type": "long" } - }, - "unevictable": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "unevictable": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "cmdline": { - "ignore_above": 1024, - "type": "keyword" - }, - "cpu": { - "properties": { - "start_time": { - "type": "date" - }, - "system": { - "properties": { - "ticks": { - "type": "long" - } - } - }, - "total": { - "properties": { - "norm": { - "properties": { - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } + } + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "cmdline": { + "ignore_above": 1024, + "type": "keyword" + }, + "cpu": { + "properties": { + "start_time": { + "type": "date" + }, + "system": { + "properties": { + "ticks": { + "type": "long" + } + } + }, + "total": { + "properties": { + "norm": { + "properties": { + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" } - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - }, - "ticks": { - "type": "long" - }, - "value": { - "type": "long" } + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + }, + "ticks": { + "type": "long" + }, + "value": { + "type": "long" } - }, - "user": { - "properties": { - "ticks": { - "type": "long" - } + } + }, + "user": { + "properties": { + "ticks": { + "type": "long" } } } - }, - "cwd": { - "ignore_above": 1024, - "type": "keyword" - }, - "env": { - "type": "object" - }, - "fd": { - "properties": { - "limit": { - "properties": { - "hard": { - "type": "long" - }, - "soft": { - "type": "long" - } - } - }, - "open": { - "type": "long" - } - } - }, - "memory": { - "properties": { - "rss": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "scaling_factor": 1000, - "type": "scaled_float" - } - } - }, - "share": { - "type": "long" - }, - "size": { - "type": "long" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "pgid": { - "type": "long" - }, - "pid": { - "type": "long" - }, - "ppid": { - "type": "long" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "summary": { - "properties": { - "idle": { - "type": "long" - }, - "running": { - "type": "long" - }, - "sleeping": { - "type": "long" - }, - "stopped": { - "type": "long" - }, - "total": { - "type": "long" - }, - "unknown": { - "type": "long" - }, - "zombie": { - "type": "long" - } - } - }, - "username": { - "ignore_above": 1024, - "type": "keyword" } + }, + "cwd": { + "ignore_above": 1024, + "type": "keyword" + }, + "env": { + "type": "object" + }, + "fd": { + "properties": { + "limit": { + "properties": { + "hard": { + "type": "long" + }, + "soft": { + "type": "long" + } + } + }, + "open": { + "type": "long" + } + } + }, + "memory": { + "properties": { + "rss": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "share": { + "type": "long" + }, + "size": { + "type": "long" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "pgid": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "ppid": { + "type": "long" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "summary": { + "properties": { + "idle": { + "type": "long" + }, + "running": { + "type": "long" + }, + "sleeping": { + "type": "long" + }, + "stopped": { + "type": "long" + }, + "total": { + "type": "long" + }, + "unknown": { + "type": "long" + }, + "zombie": { + "type": "long" + } + } + }, + "username": { + "ignore_above": 1024, + "type": "keyword" } - }, - "raid": { - "properties": { - "activity_state": { - "ignore_above": 1024, - "type": "keyword" - }, - "blocks": { - "properties": { - "synced": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "disks": { - "properties": { - "active": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "raid": { + "properties": { + "activity_state": { + "ignore_above": 1024, + "type": "keyword" + }, + "blocks": { + "properties": { + "synced": { + "type": "long" + }, + "total": { + "type": "long" + } } + }, + "disks": { + "properties": { + "active": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "socket": { - "properties": { - "direction": { - "ignore_above": 1024, - "type": "keyword" - }, - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "local": { - "properties": { - "ip": { - "type": "ip" - }, - "port": { - "type": "long" - } - } - }, - "process": { - "properties": { - "cmdline": { - "ignore_above": 1024, - "type": "keyword" - }, - "command": { - "ignore_above": 1024, - "type": "keyword" - }, - "exe": { - "ignore_above": 1024, - "type": "keyword" - }, - "pid": { - "type": "long" - } - } - }, - "remote": { - "properties": { - "etld_plus_one": { - "ignore_above": 1024, - "type": "keyword" - }, - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "host_error": { - "ignore_above": 1024, - "type": "keyword" - }, - "ip": { - "type": "ip" - }, - "port": { - "type": "long" - } - } - }, - "user": { - "properties": { - "id": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "socket": { + "properties": { + "direction": { + "ignore_above": 1024, + "type": "keyword" + }, + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "local": { + "properties": { + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "process": { + "properties": { + "cmdline": { + "ignore_above": 1024, + "type": "keyword" + }, + "command": { + "ignore_above": 1024, + "type": "keyword" + }, + "exe": { + "ignore_above": 1024, + "type": "keyword" + }, + "pid": { + "type": "long" + } + } + }, + "remote": { + "properties": { + "etld_plus_one": { + "ignore_above": 1024, + "type": "keyword" + }, + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "host_error": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "port": { + "type": "long" + } + } + }, + "user": { + "properties": { + "id": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "uptime": { - "properties": { - "duration": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "uptime": { + "properties": { + "duration": { + "properties": { + "ms": { + "type": "long" } } } } } - }, - "tags": { - "ignore_above": 1024, - "type": "keyword" - }, - "traefik": { - "properties": { - "health": { - "properties": { - "response": { - "properties": { - "avg_time": { - "properties": { - "us": { - "type": "long" - } - } - }, - "count": { - "type": "long" - }, - "status_code": { - "type": "object" - } + } + }, + "tags": { + "ignore_above": 1024, + "type": "keyword" + }, + "traefik": { + "properties": { + "health": { + "properties": { + "response": { + "properties": { + "avg_time": { + "properties": { + "us": { + "type": "long" + } + } + }, + "count": { + "type": "long" + }, + "status_code": { + "type": "object" } - }, - "uptime": { - "properties": { - "sec": { - "type": "long" - } + } + }, + "uptime": { + "properties": { + "sec": { + "type": "long" } } } } } - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "uwsgi": { - "properties": { - "status": { - "properties": { - "core": { - "properties": { - "id": { - "type": "long" - }, - "read_errors": { - "type": "long" - }, - "requests": { - "properties": { - "offloaded": { - "type": "long" - }, - "routed": { - "type": "long" - }, - "static": { - "type": "long" - }, - "total": { - "type": "long" - } - } - }, - "worker_pid": { - "type": "long" - }, - "write_errors": { - "type": "long" - } - } - }, - "total": { - "properties": { - "exceptions": { - "type": "long" - }, - "pid": { - "type": "long" - }, - "read_errors": { - "type": "long" - }, - "requests": { - "type": "long" - }, - "write_errors": { - "type": "long" - } - } - }, - "worker": { - "properties": { - "accepting": { - "type": "long" - }, - "avg_rt": { - "type": "long" - }, - "delta_requests": { - "type": "long" - }, - "exceptions": { - "type": "long" - }, - "harakiri_count": { - "type": "long" - }, - "id": { - "type": "long" - }, - "pid": { - "type": "long" - }, - "requests": { - "type": "long" - }, - "respawn_count": { - "type": "long" - }, - "rss": { - "ignore_above": 1024, - "type": "keyword" - }, - "running_time": { - "type": "long" - }, - "signal_queue": { - "type": "long" - }, - "signals": { - "type": "long" - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - }, - "tx": { - "type": "long" - }, - "vsz": { - "type": "long" - } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uwsgi": { + "properties": { + "status": { + "properties": { + "core": { + "properties": { + "id": { + "type": "long" + }, + "read_errors": { + "type": "long" + }, + "requests": { + "properties": { + "offloaded": { + "type": "long" + }, + "routed": { + "type": "long" + }, + "static": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "worker_pid": { + "type": "long" + }, + "write_errors": { + "type": "long" + } + } + }, + "total": { + "properties": { + "exceptions": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "read_errors": { + "type": "long" + }, + "requests": { + "type": "long" + }, + "write_errors": { + "type": "long" + } + } + }, + "worker": { + "properties": { + "accepting": { + "type": "long" + }, + "avg_rt": { + "type": "long" + }, + "delta_requests": { + "type": "long" + }, + "exceptions": { + "type": "long" + }, + "harakiri_count": { + "type": "long" + }, + "id": { + "type": "long" + }, + "pid": { + "type": "long" + }, + "requests": { + "type": "long" + }, + "respawn_count": { + "type": "long" + }, + "rss": { + "ignore_above": 1024, + "type": "keyword" + }, + "running_time": { + "type": "long" + }, + "signal_queue": { + "type": "long" + }, + "signals": { + "type": "long" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "tx": { + "type": "long" + }, + "vsz": { + "type": "long" } } } } } - }, - "vsphere": { - "properties": { - "datastore": { - "properties": { - "capacity": { - "properties": { - "free": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "vsphere": { + "properties": { + "datastore": { + "properties": { + "capacity": { + "properties": { + "free": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - }, - "pct": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "type": "long" } } } - }, - "fstype": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" } + }, + "fstype": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "host": { - "properties": { - "cpu": { - "properties": { - "free": { - "properties": { - "mhz": { - "type": "long" - } + } + }, + "host": { + "properties": { + "cpu": { + "properties": { + "free": { + "properties": { + "mhz": { + "type": "long" } - }, - "total": { - "properties": { - "mhz": { - "type": "long" - } + } + }, + "total": { + "properties": { + "mhz": { + "type": "long" } - }, - "used": { - "properties": { - "mhz": { - "type": "long" - } + } + }, + "used": { + "properties": { + "mhz": { + "type": "long" } } } - }, - "memory": { - "properties": { - "free": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "memory": { + "properties": { + "free": { + "properties": { + "bytes": { + "type": "long" } - }, - "total": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" } - }, - "used": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "network_names": { - "ignore_above": 1024, - "type": "keyword" } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "network_names": { + "ignore_above": 1024, + "type": "keyword" } - }, - "virtualmachine": { - "properties": { - "cpu": { - "properties": { - "used": { - "properties": { - "mhz": { - "type": "long" - } + } + }, + "virtualmachine": { + "properties": { + "cpu": { + "properties": { + "used": { + "properties": { + "mhz": { + "type": "long" } } } - }, - "custom_fields": { - "type": "object" - }, - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "memory": { - "properties": { - "free": { - "properties": { - "guest": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "custom_fields": { + "type": "object" + }, + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "memory": { + "properties": { + "free": { + "properties": { + "guest": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "total": { - "properties": { - "guest": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "total": { + "properties": { + "guest": { + "properties": { + "bytes": { + "type": "long" } } } - }, - "used": { - "properties": { - "guest": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "used": { + "properties": { + "guest": { + "properties": { + "bytes": { + "type": "long" } - }, - "host": { - "properties": { - "bytes": { - "type": "long" - } + } + }, + "host": { + "properties": { + "bytes": { + "type": "long" } } } } } - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "network_names": { - "ignore_above": 1024, - "type": "keyword" } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "network_names": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "windows": { - "properties": { - "service": { - "properties": { - "display_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "exit_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "pid": { - "type": "long" - }, - "start_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "uptime": { - "properties": { - "ms": { - "type": "long" - } + } + }, + "windows": { + "properties": { + "service": { + "properties": { + "display_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "exit_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "pid": { + "type": "long" + }, + "start_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "uptime": { + "properties": { + "ms": { + "type": "long" } } } } } - }, - "zookeeper": { - "properties": { - "mntr": { - "properties": { - "approximate_data_size": { - "type": "long" - }, - "ephemerals_count": { - "type": "long" - }, - "followers": { - "type": "long" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "latency": { - "properties": { - "avg": { - "type": "long" - }, - "max": { - "type": "long" - }, - "min": { - "type": "long" - } - } - }, - "max_file_descriptor_count": { - "type": "long" - }, - "num_alive_connections": { - "type": "long" - }, - "open_file_descriptor_count": { - "type": "long" - }, - "outstanding_requests": { - "type": "long" - }, - "packets": { - "properties": { - "received": { - "type": "long" - }, - "sent": { - "type": "long" - } - } - }, - "pending_syncs": { - "type": "long" - }, - "server_state": { - "ignore_above": 1024, - "type": "keyword" - }, - "synced_followers": { - "type": "long" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - }, - "watch_count": { - "type": "long" - }, - "znode_count": { - "type": "long" + } + }, + "zookeeper": { + "properties": { + "mntr": { + "properties": { + "approximate_data_size": { + "type": "long" + }, + "ephemerals_count": { + "type": "long" + }, + "followers": { + "type": "long" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "latency": { + "properties": { + "avg": { + "type": "long" + }, + "max": { + "type": "long" + }, + "min": { + "type": "long" + } + } + }, + "max_file_descriptor_count": { + "type": "long" + }, + "num_alive_connections": { + "type": "long" + }, + "open_file_descriptor_count": { + "type": "long" + }, + "outstanding_requests": { + "type": "long" + }, + "packets": { + "properties": { + "received": { + "type": "long" + }, + "sent": { + "type": "long" + } } + }, + "pending_syncs": { + "type": "long" + }, + "server_state": { + "ignore_above": 1024, + "type": "keyword" + }, + "synced_followers": { + "type": "long" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + }, + "watch_count": { + "type": "long" + }, + "znode_count": { + "type": "long" } } } @@ -8760,1713 +8758,1711 @@ }, "index": "filebeat-7.0.0-alpha1-2018.10.17", "mappings": { - "_doc": { - "_meta": { - "version": "7.0.0-alpha1" + "_meta": { + "version": "7.0.0-alpha1" + }, + "date_detection": false, + "dynamic_templates": [ + { + "fields": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "fields.*" + } }, - "date_detection": false, - "dynamic_templates": [ - { - "fields": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "fields.*" - } - }, - { - "docker.container.labels": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "docker.container.labels.*" - } - }, - { - "kibana.log.meta": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "kibana.log.meta.*" - } - }, - { - "strings_as_keyword": { - "mapping": { - "ignore_above": 1024, - "type": "keyword" - }, - "match_mapping_type": "string" - } + { + "docker.container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "docker.container.labels.*" + } + }, + { + "kibana.log.meta": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "kibana.log.meta.*" + } + }, + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" } - ], - "properties": { - "@timestamp": { - "type": "date" - }, - "apache2": { - "properties": { - "access": { - "properties": { - "agent": { - "norms": false, - "type": "text" - }, - "body_sent": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "geoip": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "http_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - }, - "referrer": { - "ignore_above": 1024, - "type": "keyword" - }, - "remote_ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "response_code": { - "type": "long" - }, - "url": { - "ignore_above": 1024, - "type": "keyword" - }, - "user_agent": { - "properties": { - "device": { - "ignore_above": 1024, - "type": "keyword" - }, - "major": { - "type": "long" - }, - "minor": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "ignore_above": 1024, - "type": "keyword" - }, - "os_major": { - "type": "long" - }, - "os_minor": { - "type": "long" - }, - "os_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "patch": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "user_name": { - "ignore_above": 1024, - "type": "keyword" + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "apache2": { + "properties": { + "access": { + "properties": { + "agent": { + "norms": false, + "type": "text" + }, + "body_sent": { + "properties": { + "bytes": { + "type": "long" + } } - } - }, - "error": { - "properties": { - "client": { - "ignore_above": 1024, - "type": "keyword" - }, - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "module": { - "ignore_above": 1024, - "type": "keyword" - }, - "pid": { - "type": "long" - }, - "tid": { - "type": "long" + }, + "geoip": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "http_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "referrer": { + "ignore_above": 1024, + "type": "keyword" + }, + "remote_ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "response_code": { + "type": "long" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + }, + "user_agent": { + "properties": { + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "major": { + "type": "long" + }, + "minor": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "ignore_above": 1024, + "type": "keyword" + }, + "os_major": { + "type": "long" + }, + "os_minor": { + "type": "long" + }, + "os_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "patch": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "user_name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "client": { + "ignore_above": 1024, + "type": "keyword" + }, + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "pid": { + "type": "long" + }, + "tid": { + "type": "long" } } } - }, - "auditd": { - "properties": { - "log": { - "properties": { - "a0": { - "ignore_above": 1024, - "type": "keyword" - }, - "acct": { - "ignore_above": 1024, - "type": "keyword" - }, - "geoip": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "item": { - "ignore_above": 1024, - "type": "keyword" - }, - "items": { - "ignore_above": 1024, - "type": "keyword" - }, - "new_auid": { - "ignore_above": 1024, - "type": "keyword" - }, - "new_ses": { - "ignore_above": 1024, - "type": "keyword" - }, - "old_auid": { - "ignore_above": 1024, - "type": "keyword" - }, - "old_ses": { - "ignore_above": 1024, - "type": "keyword" - }, - "pid": { - "ignore_above": 1024, - "type": "keyword" - }, - "ppid": { - "ignore_above": 1024, - "type": "keyword" - }, - "record_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "res": { - "ignore_above": 1024, - "type": "keyword" - }, - "sequence": { - "type": "long" + } + }, + "auditd": { + "properties": { + "log": { + "properties": { + "a0": { + "ignore_above": 1024, + "type": "keyword" + }, + "acct": { + "ignore_above": 1024, + "type": "keyword" + }, + "geoip": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "item": { + "ignore_above": 1024, + "type": "keyword" + }, + "items": { + "ignore_above": 1024, + "type": "keyword" + }, + "new_auid": { + "ignore_above": 1024, + "type": "keyword" + }, + "new_ses": { + "ignore_above": 1024, + "type": "keyword" + }, + "old_auid": { + "ignore_above": 1024, + "type": "keyword" + }, + "old_ses": { + "ignore_above": 1024, + "type": "keyword" + }, + "pid": { + "ignore_above": 1024, + "type": "keyword" + }, + "ppid": { + "ignore_above": 1024, + "type": "keyword" + }, + "record_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "res": { + "ignore_above": 1024, + "type": "keyword" + }, + "sequence": { + "type": "long" } } } - }, - "beat": { - "properties": { - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "timezone": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "beat": { + "properties": { + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "docker": { - "properties": { - "container": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "image": { - "ignore_above": 1024, - "type": "keyword" - }, - "labels": { - "type": "object" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "docker": { + "properties": { + "container": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "ignore_above": 1024, + "type": "keyword" + }, + "labels": { + "type": "object" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "elasticsearch": { - "properties": { - "audit": { - "properties": { - "action": { - "ignore_above": 1024, - "type": "keyword" - }, - "event_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "layer": { - "ignore_above": 1024, - "type": "keyword" - }, - "node_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "origin_address": { - "type": "ip" - }, - "origin_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "principal": { - "ignore_above": 1024, - "type": "keyword" - }, - "request": { - "ignore_above": 1024, - "type": "keyword" - }, - "request_body": { - "norms": false, - "type": "text" - }, - "uri": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "elasticsearch": { + "properties": { + "audit": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "event_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "layer": { + "ignore_above": 1024, + "type": "keyword" + }, + "node_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "origin_address": { + "type": "ip" + }, + "origin_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "principal": { + "ignore_above": 1024, + "type": "keyword" + }, + "request": { + "ignore_above": 1024, + "type": "keyword" + }, + "request_body": { + "norms": false, + "type": "text" + }, + "uri": { + "ignore_above": 1024, + "type": "keyword" } - }, - "deprecation": { - "type": "object" - }, - "gc": { - "properties": { - "relative_process_timestamp_secs": { - "type": "float" - }, - "stopping_threads_time_secs": { - "type": "float" - }, - "tags": { - "ignore_above": 1024, - "type": "keyword" - }, - "threads_total_stop_time_secs": { - "type": "float" - } + } + }, + "deprecation": { + "type": "object" + }, + "gc": { + "properties": { + "relative_process_timestamp_secs": { + "type": "float" + }, + "stopping_threads_time_secs": { + "type": "float" + }, + "tags": { + "ignore_above": 1024, + "type": "keyword" + }, + "threads_total_stop_time_secs": { + "type": "float" } - }, - "server": { - "properties": { - "component": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "server": { + "properties": { + "component": { + "ignore_above": 1024, + "type": "keyword" } - }, - "slowlog": { - "properties": { - "extra_source": { - "norms": false, - "type": "text" - }, - "index_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "logger": { - "ignore_above": 1024, - "type": "keyword" - }, - "loglevel": { - "ignore_above": 1024, - "type": "keyword" - }, - "node_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "search_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "shard_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "source_query": { - "norms": false, - "type": "text" - }, - "stats": { - "norms": false, - "type": "text" - }, - "took": { - "norms": false, - "type": "text" - }, - "took_millis": { - "ignore_above": 1024, - "type": "keyword" - }, - "total_hits": { - "ignore_above": 1024, - "type": "keyword" - }, - "total_shards": { - "ignore_above": 1024, - "type": "keyword" - }, - "types": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "slowlog": { + "properties": { + "extra_source": { + "norms": false, + "type": "text" + }, + "index_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "logger": { + "ignore_above": 1024, + "type": "keyword" + }, + "loglevel": { + "ignore_above": 1024, + "type": "keyword" + }, + "node_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "search_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "shard_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "source_query": { + "norms": false, + "type": "text" + }, + "stats": { + "norms": false, + "type": "text" + }, + "took": { + "norms": false, + "type": "text" + }, + "took_millis": { + "ignore_above": 1024, + "type": "keyword" + }, + "total_hits": { + "ignore_above": 1024, + "type": "keyword" + }, + "total_shards": { + "ignore_above": 1024, + "type": "keyword" + }, + "types": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "error": { - "properties": { - "code": { - "type": "long" - }, - "message": { - "norms": false, - "type": "text" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "error": { + "properties": { + "code": { + "type": "long" + }, + "message": { + "norms": false, + "type": "text" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "event": { - "properties": { - "created": { - "type": "date" - }, - "severity": { - "type": "long" - } + } + }, + "event": { + "properties": { + "created": { + "type": "date" + }, + "severity": { + "type": "long" } - }, - "fields": { - "type": "object" - }, - "fileset": { - "properties": { - "module": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "fields": { + "type": "object" + }, + "fileset": { + "properties": { + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "host": { - "properties": { - "architecture": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "properties": { - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "platform": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "host": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "icinga": { - "properties": { - "debug": { - "properties": { - "facility": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "severity": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "icinga": { + "properties": { + "debug": { + "properties": { + "facility": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "severity": { + "ignore_above": 1024, + "type": "keyword" } - }, - "main": { - "properties": { - "facility": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "severity": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "main": { + "properties": { + "facility": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "severity": { + "ignore_above": 1024, + "type": "keyword" } - }, - "startup": { - "properties": { - "facility": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "severity": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "startup": { + "properties": { + "facility": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "severity": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "iis": { - "properties": { - "access": { - "properties": { - "agent": { - "norms": false, - "type": "text" - }, - "body_received": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "body_sent": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "cookie": { - "ignore_above": 1024, - "type": "keyword" - }, - "geoip": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "http_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - }, - "port": { - "type": "long" - }, - "query_string": { - "ignore_above": 1024, - "type": "keyword" - }, - "referrer": { - "ignore_above": 1024, - "type": "keyword" - }, - "remote_ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "request_time_ms": { - "type": "long" - }, - "response_code": { - "type": "long" - }, - "server_ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "server_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "site_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "sub_status": { - "type": "long" - }, - "url": { - "ignore_above": 1024, - "type": "keyword" - }, - "user_agent": { - "properties": { - "device": { - "ignore_above": 1024, - "type": "keyword" - }, - "major": { - "type": "long" - }, - "minor": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "ignore_above": 1024, - "type": "keyword" - }, - "os_major": { - "type": "long" - }, - "os_minor": { - "type": "long" - }, - "os_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "patch": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "user_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "win32_status": { - "type": "long" + } + }, + "iis": { + "properties": { + "access": { + "properties": { + "agent": { + "norms": false, + "type": "text" + }, + "body_received": { + "properties": { + "bytes": { + "type": "long" + } } + }, + "body_sent": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "cookie": { + "ignore_above": 1024, + "type": "keyword" + }, + "geoip": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + }, + "query_string": { + "ignore_above": 1024, + "type": "keyword" + }, + "referrer": { + "ignore_above": 1024, + "type": "keyword" + }, + "remote_ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "request_time_ms": { + "type": "long" + }, + "response_code": { + "type": "long" + }, + "server_ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "server_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "site_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "sub_status": { + "type": "long" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + }, + "user_agent": { + "properties": { + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "major": { + "type": "long" + }, + "minor": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "ignore_above": 1024, + "type": "keyword" + }, + "os_major": { + "type": "long" + }, + "os_minor": { + "type": "long" + }, + "os_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "patch": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "user_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "win32_status": { + "type": "long" } - }, - "error": { - "properties": { - "geoip": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "http_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - }, - "queue_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "reason_phrase": { - "ignore_above": 1024, - "type": "keyword" - }, - "remote_ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "remote_port": { - "type": "long" - }, - "response_code": { - "type": "long" - }, - "server_ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "server_port": { - "type": "long" - }, - "url": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "error": { + "properties": { + "geoip": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "http_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "queue_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "reason_phrase": { + "ignore_above": 1024, + "type": "keyword" + }, + "remote_ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "remote_port": { + "type": "long" + }, + "response_code": { + "type": "long" + }, + "server_ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "server_port": { + "type": "long" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "input": { - "properties": { - "type": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "input": { + "properties": { + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "kafka": { - "properties": { - "log": { - "properties": { - "class": { - "norms": false, - "type": "text" - }, - "component": { - "ignore_above": 1024, - "type": "keyword" - }, - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "timestamp": { - "ignore_above": 1024, - "type": "keyword" - }, - "trace": { - "properties": { - "class": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "norms": false, - "type": "text" - }, - "message": { - "norms": false, - "type": "text" - } + } + }, + "kafka": { + "properties": { + "log": { + "properties": { + "class": { + "norms": false, + "type": "text" + }, + "component": { + "ignore_above": 1024, + "type": "keyword" + }, + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "timestamp": { + "ignore_above": 1024, + "type": "keyword" + }, + "trace": { + "properties": { + "class": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "norms": false, + "type": "text" + }, + "message": { + "norms": false, + "type": "text" } } } } } - }, - "kibana": { - "properties": { - "log": { - "properties": { - "meta": { - "type": "object" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "tags": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "kibana": { + "properties": { + "log": { + "properties": { + "meta": { + "type": "object" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "tags": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "kubernetes": { - "properties": { - "annotations": { - "type": "object" - }, - "container": { - "properties": { - "image": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "kubernetes": { + "properties": { + "annotations": { + "type": "object" + }, + "container": { + "properties": { + "image": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "labels": { - "type": "object" - }, - "namespace": { - "ignore_above": 1024, - "type": "keyword" - }, - "node": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "labels": { + "type": "object" + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "pod": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "uid": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "pod": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "log": { - "properties": { - "level": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "log": { + "properties": { + "level": { + "ignore_above": 1024, + "type": "keyword" } - }, - "logstash": { - "properties": { - "log": { - "properties": { - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "log_event": { - "type": "object" - }, - "message": { - "norms": false, - "type": "text" - }, - "module": { - "ignore_above": 1024, - "type": "keyword" - }, - "thread": { - "norms": false, - "type": "text" - } + } + }, + "logstash": { + "properties": { + "log": { + "properties": { + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "log_event": { + "type": "object" + }, + "message": { + "norms": false, + "type": "text" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "thread": { + "norms": false, + "type": "text" } - }, - "slowlog": { - "properties": { - "event": { - "norms": false, - "type": "text" - }, - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "module": { - "ignore_above": 1024, - "type": "keyword" - }, - "plugin_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "plugin_params": { - "norms": false, - "type": "text" - }, - "plugin_params_object": { - "type": "object" - }, - "plugin_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "thread": { - "norms": false, - "type": "text" - }, - "took_in_millis": { - "type": "long" - }, - "took_in_nanos": { - "type": "long" - } + } + }, + "slowlog": { + "properties": { + "event": { + "norms": false, + "type": "text" + }, + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "plugin_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "plugin_params": { + "norms": false, + "type": "text" + }, + "plugin_params_object": { + "type": "object" + }, + "plugin_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "thread": { + "norms": false, + "type": "text" + }, + "took_in_millis": { + "type": "long" + }, + "took_in_nanos": { + "type": "long" } } } - }, - "message": { - "norms": false, - "type": "text" - }, - "meta": { - "properties": { - "cloud": { - "properties": { - "availability_zone": { - "ignore_above": 1024, - "type": "keyword" - }, - "instance_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "instance_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "machine_type": { - "ignore_above": 1024, - "type": "keyword" - }, - "project_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "provider": { - "ignore_above": 1024, - "type": "keyword" - }, - "region": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "message": { + "norms": false, + "type": "text" + }, + "meta": { + "properties": { + "cloud": { + "properties": { + "availability_zone": { + "ignore_above": 1024, + "type": "keyword" + }, + "instance_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "instance_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "machine_type": { + "ignore_above": 1024, + "type": "keyword" + }, + "project_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "provider": { + "ignore_above": 1024, + "type": "keyword" + }, + "region": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "mongodb": { - "properties": { - "log": { - "properties": { - "component": { - "ignore_above": 1024, - "type": "keyword" - }, - "context": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "severity": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "mongodb": { + "properties": { + "log": { + "properties": { + "component": { + "ignore_above": 1024, + "type": "keyword" + }, + "context": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "severity": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "mysql": { - "properties": { - "error": { - "properties": { - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "thread_id": { - "type": "long" - }, - "timestamp": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "mysql": { + "properties": { + "error": { + "properties": { + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "thread_id": { + "type": "long" + }, + "timestamp": { + "ignore_above": 1024, + "type": "keyword" } - }, - "slowlog": { - "properties": { - "host": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "type": "long" - }, - "ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "lock_time": { - "properties": { - "sec": { - "type": "float" - } - } - }, - "query": { - "ignore_above": 1024, - "type": "keyword" - }, - "query_time": { - "properties": { - "sec": { - "type": "float" - } - } - }, - "rows_examined": { - "type": "long" - }, - "rows_sent": { - "type": "long" - }, - "timestamp": { - "type": "long" - }, - "user": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "slowlog": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "type": "long" + }, + "ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "lock_time": { + "properties": { + "sec": { + "type": "float" + } } + }, + "query": { + "ignore_above": 1024, + "type": "keyword" + }, + "query_time": { + "properties": { + "sec": { + "type": "float" + } + } + }, + "rows_examined": { + "type": "long" + }, + "rows_sent": { + "type": "long" + }, + "timestamp": { + "type": "long" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "nginx": { - "properties": { - "access": { - "properties": { - "agent": { - "norms": false, - "type": "text" - }, - "body_sent": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "geoip": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "http_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - }, - "referrer": { - "ignore_above": 1024, - "type": "keyword" - }, - "remote_ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "remote_ip_list": { - "ignore_above": 1024, - "type": "keyword" - }, - "response_code": { - "type": "long" - }, - "url": { - "ignore_above": 1024, - "type": "keyword" - }, - "user_agent": { - "properties": { - "device": { - "ignore_above": 1024, - "type": "keyword" - }, - "major": { - "type": "long" - }, - "minor": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "ignore_above": 1024, - "type": "keyword" - }, - "os_major": { - "type": "long" - }, - "os_minor": { - "type": "long" - }, - "os_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "patch": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "user_name": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "nginx": { + "properties": { + "access": { + "properties": { + "agent": { + "norms": false, + "type": "text" + }, + "body_sent": { + "properties": { + "bytes": { + "type": "long" + } } - } - }, - "error": { - "properties": { - "connection_id": { - "type": "long" - }, - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "pid": { - "type": "long" - }, - "tid": { - "type": "long" + }, + "geoip": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "http_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "referrer": { + "ignore_above": 1024, + "type": "keyword" + }, + "remote_ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "remote_ip_list": { + "ignore_above": 1024, + "type": "keyword" + }, + "response_code": { + "type": "long" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + }, + "user_agent": { + "properties": { + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "major": { + "type": "long" + }, + "minor": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "ignore_above": 1024, + "type": "keyword" + }, + "os_major": { + "type": "long" + }, + "os_minor": { + "type": "long" + }, + "os_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "patch": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "user_name": { + "ignore_above": 1024, + "type": "keyword" } } - } - }, - "offset": { - "type": "long" - }, - "osquery": { - "properties": { - "result": { - "properties": { - "action": { - "ignore_above": 1024, - "type": "keyword" - }, - "calendar_time": { - "ignore_above": 1024, - "type": "keyword" - }, - "host_identifier": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "unix_time": { - "type": "long" - } + }, + "error": { + "properties": { + "connection_id": { + "type": "long" + }, + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "pid": { + "type": "long" + }, + "tid": { + "type": "long" } } } - }, - "postgresql": { - "properties": { - "log": { - "properties": { - "database": { - "ignore_above": 1024, - "type": "keyword" - }, - "duration": { - "type": "float" - }, - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "query": { - "ignore_above": 1024, - "type": "keyword" - }, - "thread_id": { - "type": "long" - }, - "timestamp": { - "ignore_above": 1024, - "type": "keyword" - }, - "timezone": { - "ignore_above": 1024, - "type": "keyword" - }, - "user": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "offset": { + "type": "long" + }, + "osquery": { + "properties": { + "result": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "calendar_time": { + "ignore_above": 1024, + "type": "keyword" + }, + "host_identifier": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "unix_time": { + "type": "long" } } } - }, - "process": { - "properties": { - "pid": { - "type": "long" - }, - "program": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "postgresql": { + "properties": { + "log": { + "properties": { + "database": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "float" + }, + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "query": { + "ignore_above": 1024, + "type": "keyword" + }, + "thread_id": { + "type": "long" + }, + "timestamp": { + "ignore_above": 1024, + "type": "keyword" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + } } } - }, - "prospector": { - "properties": { - "type": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + }, + "program": { + "ignore_above": 1024, + "type": "keyword" } - }, - "read_timestamp": { - "ignore_above": 1024, - "type": "keyword" - }, - "redis": { - "properties": { - "log": { - "properties": { - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "pid": { - "type": "long" - }, - "role": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "prospector": { + "properties": { + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "read_timestamp": { + "ignore_above": 1024, + "type": "keyword" + }, + "redis": { + "properties": { + "log": { + "properties": { + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "pid": { + "type": "long" + }, + "role": { + "ignore_above": 1024, + "type": "keyword" } - }, - "slowlog": { - "properties": { - "args": { - "ignore_above": 1024, - "type": "keyword" - }, - "cmd": { - "ignore_above": 1024, - "type": "keyword" - }, - "duration": { - "properties": { - "us": { - "type": "long" - } - } - }, - "id": { - "type": "long" - }, - "key": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "slowlog": { + "properties": { + "args": { + "ignore_above": 1024, + "type": "keyword" + }, + "cmd": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "properties": { + "us": { + "type": "long" + } } + }, + "id": { + "type": "long" + }, + "key": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "service": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "service": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "source": { - "ignore_above": 1024, - "type": "keyword" - }, - "stream": { - "ignore_above": 1024, - "type": "keyword" - }, - "syslog": { - "properties": { - "facility": { - "type": "long" - }, - "facility_label": { - "ignore_above": 1024, - "type": "keyword" - }, - "priority": { - "type": "long" - }, - "severity_label": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "source": { + "ignore_above": 1024, + "type": "keyword" + }, + "stream": { + "ignore_above": 1024, + "type": "keyword" + }, + "syslog": { + "properties": { + "facility": { + "type": "long" + }, + "facility_label": { + "ignore_above": 1024, + "type": "keyword" + }, + "priority": { + "type": "long" + }, + "severity_label": { + "ignore_above": 1024, + "type": "keyword" } - }, - "system": { - "properties": { - "auth": { - "properties": { - "groupadd": { - "properties": { - "gid": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "pid": { - "type": "long" - }, - "program": { - "ignore_above": 1024, - "type": "keyword" - }, - "ssh": { - "properties": { - "dropped_ip": { - "type": "ip" - }, - "event": { - "ignore_above": 1024, - "type": "keyword" - }, - "geoip": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "ip": { - "type": "ip" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - }, - "port": { - "type": "long" - }, - "signature": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "sudo": { - "properties": { - "command": { - "ignore_above": 1024, - "type": "keyword" - }, - "error": { - "ignore_above": 1024, - "type": "keyword" - }, - "pwd": { - "ignore_above": 1024, - "type": "keyword" - }, - "tty": { - "ignore_above": 1024, - "type": "keyword" - }, - "user": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "timestamp": { - "ignore_above": 1024, - "type": "keyword" - }, - "user": { - "ignore_above": 1024, - "type": "keyword" - }, - "useradd": { - "properties": { - "gid": { - "type": "long" - }, - "home": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "shell": { - "ignore_above": 1024, - "type": "keyword" - }, - "uid": { - "type": "long" - } + } + }, + "system": { + "properties": { + "auth": { + "properties": { + "groupadd": { + "properties": { + "gid": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } } - } - }, - "syslog": { - "properties": { - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "pid": { - "ignore_above": 1024, - "type": "keyword" - }, - "program": { - "ignore_above": 1024, - "type": "keyword" - }, - "timestamp": { - "ignore_above": 1024, - "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "pid": { + "type": "long" + }, + "program": { + "ignore_above": 1024, + "type": "keyword" + }, + "ssh": { + "properties": { + "dropped_ip": { + "type": "ip" + }, + "event": { + "ignore_above": 1024, + "type": "keyword" + }, + "geoip": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "ip": { + "type": "ip" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + }, + "signature": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "sudo": { + "properties": { + "command": { + "ignore_above": 1024, + "type": "keyword" + }, + "error": { + "ignore_above": 1024, + "type": "keyword" + }, + "pwd": { + "ignore_above": 1024, + "type": "keyword" + }, + "tty": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "ignore_above": 1024, + "type": "keyword" + }, + "user": { + "ignore_above": 1024, + "type": "keyword" + }, + "useradd": { + "properties": { + "gid": { + "type": "long" + }, + "home": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "shell": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "type": "long" + } } } } + }, + "syslog": { + "properties": { + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "pid": { + "ignore_above": 1024, + "type": "keyword" + }, + "program": { + "ignore_above": 1024, + "type": "keyword" + }, + "timestamp": { + "ignore_above": 1024, + "type": "keyword" + } + } } - }, - "tags": { - "ignore_above": 1024, - "type": "keyword" - }, - "traefik": { - "properties": { - "access": { - "properties": { - "agent": { - "norms": false, - "type": "text" - }, - "backend_url": { - "norms": false, - "type": "text" - }, - "body_sent": { - "properties": { - "bytes": { - "type": "long" - } - } - }, - "frontend_name": { - "norms": false, - "type": "text" - }, - "geoip": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "http_version": { - "ignore_above": 1024, - "type": "keyword" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - }, - "referrer": { - "ignore_above": 1024, - "type": "keyword" - }, - "remote_ip": { - "ignore_above": 1024, - "type": "keyword" - }, - "request_count": { - "type": "long" - }, - "response_code": { - "type": "long" - }, - "url": { - "ignore_above": 1024, - "type": "keyword" - }, - "user_agent": { - "properties": { - "device": { - "ignore_above": 1024, - "type": "keyword" - }, - "major": { - "type": "long" - }, - "minor": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "ignore_above": 1024, - "type": "keyword" - }, - "os_major": { - "type": "long" - }, - "os_minor": { - "type": "long" - }, - "os_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "patch": { - "ignore_above": 1024, - "type": "keyword" - } - } - }, - "user_name": { - "ignore_above": 1024, - "type": "keyword" + } + }, + "tags": { + "ignore_above": 1024, + "type": "keyword" + }, + "traefik": { + "properties": { + "access": { + "properties": { + "agent": { + "norms": false, + "type": "text" + }, + "backend_url": { + "norms": false, + "type": "text" + }, + "body_sent": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "frontend_name": { + "norms": false, + "type": "text" + }, + "geoip": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "http_version": { + "ignore_above": 1024, + "type": "keyword" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "referrer": { + "ignore_above": 1024, + "type": "keyword" + }, + "remote_ip": { + "ignore_above": 1024, + "type": "keyword" + }, + "request_count": { + "type": "long" + }, + "response_code": { + "type": "long" + }, + "url": { + "ignore_above": 1024, + "type": "keyword" + }, + "user_agent": { + "properties": { + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "major": { + "type": "long" + }, + "minor": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "ignore_above": 1024, + "type": "keyword" + }, + "os_major": { + "type": "long" + }, + "os_minor": { + "type": "long" + }, + "os_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "patch": { + "ignore_above": 1024, + "type": "keyword" + } } + }, + "user_name": { + "ignore_above": 1024, + "type": "keyword" } } } @@ -10751,4 +10747,4 @@ } } } -} \ No newline at end of file +} diff --git a/x-pack/test/functional/es_archives/invalid_scripted_field/data.json.gz b/x-pack/test/functional/es_archives/invalid_scripted_field/data.json.gz deleted file mode 100644 index 380dd6049179a..0000000000000 Binary files a/x-pack/test/functional/es_archives/invalid_scripted_field/data.json.gz and /dev/null differ diff --git a/x-pack/test/functional/es_archives/invalid_scripted_field/mappings.json b/x-pack/test/functional/es_archives/invalid_scripted_field/mappings.json deleted file mode 100644 index 0d41e0ce86c14..0000000000000 --- a/x-pack/test/functional/es_archives/invalid_scripted_field/mappings.json +++ /dev/null @@ -1,212 +0,0 @@ -{ - "type": "index", - "value": { - "aliases": { - ".kibana": {} - }, - "index": ".kibana_1", - "mappings": { - "dynamic": "strict", - "properties": { - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" - }, - "defaultIndex": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "dashboard": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } - } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - } - } - }, - "search": { - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" - }, - "url": { - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" - }, - "url": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" - } - } - } - } - }, - "settings": { - "index": { - "number_of_replicas": "0", - "number_of_shards": "1" - } - } - } -} \ No newline at end of file diff --git a/x-pack/test/functional/es_archives/lens/basic/mappings.json b/x-pack/test/functional/es_archives/lens/basic/mappings.json index 500da7c9c5a4e..b595a4d1567d7 100644 --- a/x-pack/test/functional/es_archives/lens/basic/mappings.json +++ b/x-pack/test/functional/es_archives/lens/basic/mappings.json @@ -309,7 +309,6 @@ "gis-map": { "properties": { "bounds": { - "strategy": "recursive", "type": "geo_shape" }, "description": { diff --git a/x-pack/test/functional/es_archives/lens/reporting/mappings.json b/x-pack/test/functional/es_archives/lens/reporting/mappings.json index 69f9f063e4a63..845d29b6a706b 100644 --- a/x-pack/test/functional/es_archives/lens/reporting/mappings.json +++ b/x-pack/test/functional/es_archives/lens/reporting/mappings.json @@ -309,7 +309,6 @@ "gis-map": { "properties": { "bounds": { - "strategy": "recursive", "type": "geo_shape" }, "description": { diff --git a/x-pack/test/functional/es_archives/lens/rollup/config/mappings.json b/x-pack/test/functional/es_archives/lens/rollup/config/mappings.json index 500da7c9c5a4e..b595a4d1567d7 100644 --- a/x-pack/test/functional/es_archives/lens/rollup/config/mappings.json +++ b/x-pack/test/functional/es_archives/lens/rollup/config/mappings.json @@ -309,7 +309,6 @@ "gis-map": { "properties": { "bounds": { - "strategy": "recursive", "type": "geo_shape" }, "description": { diff --git a/x-pack/test/functional/es_archives/maps/kibana/mappings.json b/x-pack/test/functional/es_archives/maps/kibana/mappings.json index 9095702e654e5..8ec850cde818a 100644 --- a/x-pack/test/functional/es_archives/maps/kibana/mappings.json +++ b/x-pack/test/functional/es_archives/maps/kibana/mappings.json @@ -181,7 +181,6 @@ "map": { "properties": { "bounds": { - "tree": "quadtree", "type": "geo_shape" }, "description": { diff --git a/x-pack/test/functional/es_archives/reporting/bwc/6_2/data.json b/x-pack/test/functional/es_archives/reporting/bwc/6_2/data.json new file mode 100644 index 0000000000000..23b0e5b44d21e --- /dev/null +++ b/x-pack/test/functional/es_archives/reporting/bwc/6_2/data.json @@ -0,0 +1,602 @@ +{ + "type": "doc", + "value": { + "id": "jeszv38q0k3vbd9ffb00inrb", + "index": ".reporting-2018.03.11", + "source": { + "attempts": 1, + "completed_at": "2018-03-15T20:56:06.964Z", + "created_at": "2018-03-15T20:56:00.554Z", + "created_by": "elastic", + "jobtype": "csv", + "max_attempts": 3, + "output": { + "content": "\"@timestamp\",\"_score\",bytes,agent,clientip\n\"September 22nd 2015, 19:50:13.253\",,\"7,124\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.171.34.42\"\n\"September 22nd 2015, 19:43:58.175\",,\"5,453\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.34.86.215\"\n\"September 22nd 2015, 19:24:14.970\",,\"8,788\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"231.224.4.183\"\n\"September 22nd 2015, 19:21:38.312\",,\"3,875\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.191.87.129\"\n\"September 22nd 2015, 18:52:43.834\",,\"9,448\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.190.189.77\"\n\"September 22nd 2015, 18:47:07.981\",,\"2,746\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.192.52.3\"\n\"September 22nd 2015, 18:46:45.525\",,\"7,116\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.202.168.250\"\n\"September 22nd 2015, 18:29:42.029\",,\"9,722\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.57.26.210\"\n\"September 22nd 2015, 18:23:07.177\",,\"4,574\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.83.96.39\"\n\"September 22nd 2015, 18:20:48.857\",,\"8,356\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.89.73.11\"\n\"September 22nd 2015, 18:09:30.819\",,\"11,026\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.64.147.41\"\n\"September 22nd 2015, 18:01:11.244\",,\"3,867\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.141.35.68\"\n\"September 22nd 2015, 17:49:36.365\",,\"6,316\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.237.11.219\"\n\"September 22nd 2015, 17:48:33.421\",,\"6,834\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.147.43.175\"\n\"September 22nd 2015, 17:48:11.977\",,\"5,624\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"42.72.83.65\"\n\"September 22nd 2015, 17:47:34.138\",,\"8,049\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.209.80.244\"\n\"September 22nd 2015, 17:45:59.966\",,\"7,493\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.90.86.83\"\n\"September 22nd 2015, 17:44:49.105\",,\"7,118\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"44.138.70.255\"\n\"September 22nd 2015, 17:40:33.574\",,\"3,523\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"159.230.143.48\"\n\"September 22nd 2015, 17:32:58.944\",,\"8,918\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.105.100.214\"\n\"September 22nd 2015, 17:29:40.042\",,\"3,807\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"16.148.135.166\"\n\"September 22nd 2015, 17:29:37.272\",,\"6,981\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.101.221.163\"\n\"September 22nd 2015, 17:20:08.993\",,\"2,281\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.167.54.119\"\n\"September 22nd 2015, 17:05:31.686\",,\"7,292\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.40.103.254\"\n\"September 22nd 2015, 17:03:46.267\",,\"2,621\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.177.73.18\"\n\"September 22nd 2015, 17:01:53.470\",,\"4,111\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"7.179.148.96\"\n\"September 22nd 2015, 16:59:43.107\",,\"19,584\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"245.69.63.219\"\n\"September 22nd 2015, 16:58:28.117\",,\"5,553\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.115.81.216\"\n\"September 22nd 2015, 16:57:31.322\",,\"4,897\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.233.183.250\"\n\"September 22nd 2015, 16:54:33.581\",,\"4,690\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"74.214.76.90\"\n\"September 22nd 2015, 16:53:49.505\",,\"6,258\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"77.227.154.93\"\n\"September 22nd 2015, 16:50:20.692\",,\"7,295\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.202.198.155\"\n\"September 22nd 2015, 16:44:08.950\",,\"7,311\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.210.116.210\"\n\"September 22nd 2015, 16:44:05.521\",,\"1,808\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"45.138.192.138\"\n\"September 22nd 2015, 16:42:36.070\",,\"2,990\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.136.156.225\"\n\"September 22nd 2015, 16:41:53.463\",,\"1,969\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"180.65.205.98\"\n\"September 22nd 2015, 16:41:29.385\",,\"8,462\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.132.195.31\"\n\"September 22nd 2015, 16:40:22.952\",,\"1,576\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.127.76.132\"\n\"September 22nd 2015, 16:39:06.213\",,\"2,006\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.107.5.226\"\n\"September 22nd 2015, 16:38:10.646\",,\"9,622\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.154.233.154\"\n\"September 22nd 2015, 16:37:09.278\",,\"5,746\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"28.3.30.170\"\n\"September 22nd 2015, 16:35:47.356\",,\"3,094\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.3.115.126\"\n\"September 22nd 2015, 16:33:27.729\",,\"2,209\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.46.176.132\"\n\"September 22nd 2015, 16:32:42.845\",,\"2,326\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.34.180.209\"\n\"September 22nd 2015, 16:28:19.188\",,\"9,503\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"121.98.248.112\"\n\"September 22nd 2015, 16:27:47.226\",,\"8,556\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.223.214.184\"\n\"September 22nd 2015, 16:26:31.997\",,\"8,114\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.233.238.181\"\n\"September 22nd 2015, 16:24:19.796\",,\"11,549\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"169.137.241.169\"\n\"September 22nd 2015, 16:22:37.423\",,\"3,648\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.154.233.154\"\n\"September 22nd 2015, 16:21:39.120\",,\"8,350\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"239.180.70.74\"\n\"September 22nd 2015, 16:19:46.978\",,\"3,304\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.57.7.61\"\n\"September 22nd 2015, 16:19:04.659\",,\"8,706\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"222.224.95.15\"\n\"September 22nd 2015, 16:18:51.536\",,\"6,684\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"13.38.168.2\"\n\"September 22nd 2015, 16:17:31.329\",,\"4,795\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.12.231.216\"\n\"September 22nd 2015, 16:17:23.395\",,\"4,669\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.249.93.77\"\n\"September 22nd 2015, 16:16:00.611\",,\"9,519\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.185.146.124\"\n\"September 22nd 2015, 16:15:41.764\",,\"6,076\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.59.37.77\"\n\"September 22nd 2015, 16:15:12.828\",,\"6,679\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"102.19.248.156\"\n\"September 22nd 2015, 16:14:57.857\",,\"8,285\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.115.77.46\"\n\"September 22nd 2015, 16:13:42.223\",,\"7,795\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.228.1.71\"\n\"September 22nd 2015, 16:11:39.532\",,\"1,708\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"71.241.97.89\"\n\"September 22nd 2015, 16:10:17.108\",,\"2,715\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.232.128.91\"\n\"September 22nd 2015, 16:10:06.354\",,\"3,983\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.53.125.87\"\n\"September 22nd 2015, 16:08:38.340\",,\"7,186\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.152.13.69\"\n\"September 22nd 2015, 16:07:46.684\",,\"11,601\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.142.94.147\"\n\"September 22nd 2015, 16:06:41.893\",,\"7,615\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"84.205.43.205\"\n\"September 22nd 2015, 16:05:41.053\",,\"9,043\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.126.255.31\"\n\"September 22nd 2015, 16:04:22.445\",,\"2,545\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"158.222.162.158\"\n\"September 22nd 2015, 16:01:46.685\",,\"4,235\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.30.157.224\"\n\"September 22nd 2015, 16:01:25.828\",,\"5,628\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.7.164.59\"\n\"September 22nd 2015, 16:01:09.463\",,\"7,092\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"248.239.221.43\"\n\"September 22nd 2015, 16:00:04.343\",,\"8,464\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"17.117.135.38\"\n\"September 22nd 2015, 15:59:59.444\",,\"8,373\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.237.148.2\"\n\"September 22nd 2015, 15:58:35.928\",,\"5,499\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"157.136.137.24\"\n\"September 22nd 2015, 15:58:17.100\",,\"6,948\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.196.54.80\"\n\"September 22nd 2015, 15:55:14.208\",,\"6,266\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"30.36.151.195\"\n\"September 22nd 2015, 15:53:19.530\",,\"3,086\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.127.76.132\"\n\"September 22nd 2015, 15:48:27.795\",,\"18,116\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"120.99.203.64\"\n\"September 22nd 2015, 15:47:24.192\",,\"12,844\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.4.152.176\"\n\"September 22nd 2015, 15:46:46.305\",,\"9,779\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.12.132.188\"\n\"September 22nd 2015, 15:45:58.147\",,\"4,071\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"173.237.216.175\"\n\"September 22nd 2015, 15:45:32.188\",,\"17,347\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"217.132.169.207\"\n\"September 22nd 2015, 15:45:13.813\",,\"1,406\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.45.143.98\"\n\"September 22nd 2015, 15:43:38.182\",,\"3,136\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.43.63.180\"\n\"September 22nd 2015, 15:42:23.637\",,\"9,949\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.76.208.132\"\n\"September 22nd 2015, 15:42:20.232\",,\"2,174\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"31.196.214.182\"\n\"September 22nd 2015, 15:42:12.006\",,\"7,089\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.32.230.63\"\n\"September 22nd 2015, 15:40:17.903\",,\"1,557\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"16.236.101.225\"\n\"September 22nd 2015, 15:39:51.648\",,\"8,485\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"72.173.69.119\"\n\"September 22nd 2015, 15:39:30.216\",,\"9,448\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.151.142.25\"\n\"September 22nd 2015, 15:39:19.150\",,\"8,889\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.208.15.12\"\n\"September 22nd 2015, 15:39:05.190\",,\"9,336\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.92.50.149\"\n\"September 22nd 2015, 15:38:03.689\",,\"9,092\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"244.112.251.87\"\n\"September 22nd 2015, 15:37:58.973\",,\"8,321\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.153.51.78\"\n\"September 22nd 2015, 15:37:50.552\",,\"7,092\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.12.231.216\"\n\"September 22nd 2015, 15:37:41.141\",,\"4,015\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.59.191.54\"\n\"September 22nd 2015, 15:37:19.681\",,\"8,581\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.207.101.203\"\n\"September 22nd 2015, 15:36:07.805\",,\"10,387\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.83.76.140\"\n\"September 22nd 2015, 15:35:58.444\",,\"9,992\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.51.178.50\"\n\"September 22nd 2015, 15:34:38.837\",,\"9,085\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.250.210.253\"\n\"September 22nd 2015, 15:33:16.735\",,\"2,647\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"167.26.56.145\"\n\"September 22nd 2015, 15:32:50.098\",,\"9,068\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.4.152.176\"\n\"September 22nd 2015, 15:32:23.731\",,\"4,266\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"144.31.154.6\"\n\"September 22nd 2015, 15:32:12.796\",,\"13,419\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.123.27.0\"\n\"September 22nd 2015, 15:32:12.353\",,\"4,093\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.113.253.141\"\n\"September 22nd 2015, 15:32:12.321\",,\"2,868\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"106.217.103.105\"\n\"September 22nd 2015, 15:31:49.907\",,\"8,120\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"153.250.60.205\"\n\"September 22nd 2015, 15:29:51.510\",,\"6,087\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.218.253.140\"\n\"September 22nd 2015, 15:29:47.418\",,\"9,027\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"102.19.248.156\"\n\"September 22nd 2015, 15:29:14.959\",,\"9,755\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.225.101.206\"\n\"September 22nd 2015, 15:28:21.352\",,\"7,532\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.208.48.188\"\n\"September 22nd 2015, 15:24:19.169\",,\"5,116\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"175.99.184.146\"\n\"September 22nd 2015, 15:06:06.687\",,\"5,486\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.147.119.226\"\n\"September 22nd 2015, 15:05:23.413\",,\"1,529\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.101.221.163\"\n\"September 22nd 2015, 15:04:00.289\",,\"4,968\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"36.160.226.203\"\n\"September 22nd 2015, 15:03:44.822\",,\"2,594\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.243.18.67\"\n\"September 22nd 2015, 15:02:50.703\",,\"9,740\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"185.148.221.121\"\n\"September 22nd 2015, 15:02:46.169\",,\"8,041\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"12.255.88.79\"\n\"September 22nd 2015, 15:02:26.558\",,\"9,624\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.0.214.93\"\n\"September 22nd 2015, 15:01:35.168\",,\"2,066\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.83.92.252\"\n\"September 22nd 2015, 15:00:50.612\",,\"9,224\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"128.169.152.213\"\n\"September 22nd 2015, 14:59:46.757\",,\"6,011\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"221.228.246.126\"\n\"September 22nd 2015, 14:59:42.673\",,\"5,635\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"224.240.85.118\"\n\"September 22nd 2015, 14:59:21.938\",,\"3,815\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.126.159.144\"\n\"September 22nd 2015, 14:59:03.604\",,\"8,214\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"165.104.70.8\"\n\"September 22nd 2015, 14:59:00.085\",,\"9,554\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.195.111.241\"\n\"September 22nd 2015, 14:58:57.002\",,\"1,911\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.20.91.73\"\n\"September 22nd 2015, 14:58:45.453\",,\"11,989\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"23.178.170.24\"\n\"September 22nd 2015, 14:57:51.377\",,\"17,997\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"28.46.60.20\"\n\"September 22nd 2015, 14:56:55.069\",,\"9,091\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"116.171.234.62\"\n\"September 22nd 2015, 14:56:41.217\",,\"5,159\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.218.31.116\"\n\"September 22nd 2015, 14:55:48.656\",,\"9,751\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"94.154.194.208\"\n\"September 22nd 2015, 14:55:00.086\",,\"9,271\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"20.34.86.255\"\n\"September 22nd 2015, 14:54:25.664\",,\"3,650\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"92.96.51.231\"\n\"September 22nd 2015, 14:52:58.634\",,\"5,279\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"115.225.12.164\"\n\"September 22nd 2015, 14:50:48.387\",,\"3,463\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.246.231.47\"\n\"September 22nd 2015, 14:50:22.335\",,\"1,841\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.138.70.255\"\n\"September 22nd 2015, 14:49:07.075\",,\"6,110\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"163.123.136.118\"\n\"September 22nd 2015, 14:47:14.054\",,\"6,933\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"94.48.29.38\"\n\"September 22nd 2015, 14:46:44.974\",,\"9,707\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.210.163.45\"\n\"September 22nd 2015, 14:46:20.618\",,\"4,206\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.201.212.220\"\n\"September 22nd 2015, 14:46:17.877\",,\"5,950\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.39.140.144\"\n\"September 22nd 2015, 14:45:49.894\",,\"7,793\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.35.159.150\"\n\"September 22nd 2015, 14:44:54.242\",,\"5,793\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.189.205.188\"\n\"September 22nd 2015, 14:42:53.421\",,\"4,817\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.101.221.163\"\n\"September 22nd 2015, 14:42:38.758\",,\"3,913\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"83.236.80.152\"\n\"September 22nd 2015, 14:40:32.329\",,\"1,945\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"128.248.96.80\"\n\"September 22nd 2015, 14:38:50.100\",,\"6,213\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"234.58.25.145\"\n\"September 22nd 2015, 14:38:30.069\",,\"8,489\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"81.186.187.11\"\n\"September 22nd 2015, 14:38:17.822\",,\"8,494\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"162.134.126.82\"\n\"September 22nd 2015, 14:37:04.477\",,\"7,536\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.17.191.204\"\n\"September 22nd 2015, 14:36:30.509\",,\"1,840\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.247.158.26\"\n\"September 22nd 2015, 14:36:29.439\",,\"6,694\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.231.132.106\"\n\"September 22nd 2015, 14:35:14.986\",,\"8,358\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"22.7.121.157\"\n\"September 22nd 2015, 14:35:13.914\",,\"9,238\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.7.244.68\"\n\"September 22nd 2015, 14:34:32.414\",,\"4,621\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.233.202.162\"\n\"September 22nd 2015, 14:34:02.928\",,\"3,042\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.16.191.123\"\n\"September 22nd 2015, 14:33:58.125\",,\"8,841\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"28.46.60.20\"\n\"September 22nd 2015, 14:33:07.576\",,\"6,966\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.137.241.169\"\n\"September 22nd 2015, 14:32:33.755\",,\"5,659\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"48.242.153.99\"\n\"September 22nd 2015, 14:31:33.742\",,\"6,630\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.202.168.250\"\n\"September 22nd 2015, 14:31:28.142\",,\"3,219\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"185.170.80.142\"\n\"September 22nd 2015, 14:30:21.699\",,\"6,468\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.24.249.29\"\n\"September 22nd 2015, 14:30:05.224\",,\"2,822\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.182.13.142\"\n\"September 22nd 2015, 14:29:47.807\",,\"1,713\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"120.101.20.104\"\n\"September 22nd 2015, 14:29:27.330\",,\"3,183\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"51.147.43.175\"\n\"September 22nd 2015, 14:26:48.551\",,\"7,935\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"250.30.209.2\"\n\"September 22nd 2015, 14:25:15.729\",,\"7,169\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.34.138.226\"\n\"September 22nd 2015, 14:24:37.481\",,\"8,563\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"185.144.182.162\"\n\"September 22nd 2015, 14:24:35.680\",,\"6,263\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.126.159.144\"\n\"September 22nd 2015, 14:23:53.326\",,\"7,735\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.37.241.184\"\n\"September 22nd 2015, 14:23:29.021\",,\"2,615\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"165.24.164.93\"\n\"September 22nd 2015, 14:21:34.858\",,\"6,867\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"192.158.203.248\"\n\"September 22nd 2015, 14:21:29.816\",,\"5,703\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"184.101.186.240\"\n\"September 22nd 2015, 14:21:14.461\",,\"4,225\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.63.63.137\"\n\"September 22nd 2015, 14:20:50.125\",,\"6,658\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.87.234.213\"\n\"September 22nd 2015, 14:20:44.136\",,\"2,906\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.218.253.140\"\n\"September 22nd 2015, 14:19:11.011\",,\"6,651\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.157.127.149\"\n\"September 22nd 2015, 14:19:06.585\",,\"8,021\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"54.172.121.192\"\n\"September 22nd 2015, 14:18:49.736\",,\"18,787\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.33.120.224\"\n\"September 22nd 2015, 14:18:42.550\",,\"8,277\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.69.255.135\"\n\"September 22nd 2015, 14:17:48.099\",,\"5,487\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.77.18.142\"\n\"September 22nd 2015, 14:17:46.081\",,\"14,342\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.188.1.153\"\n\"September 22nd 2015, 14:17:29.932\",,\"9,881\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.119.62.60\"\n\"September 22nd 2015, 14:16:16.583\",,\"9,807\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.108.133.125\"\n\"September 22nd 2015, 14:16:13.025\",,\"3,029\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.116.179.248\"\n\"September 22nd 2015, 14:15:32.203\",,\"6,003\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"16.148.135.166\"\n\"September 22nd 2015, 14:15:15.594\",,\"9,768\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.106.209.231\"\n\"September 22nd 2015, 14:14:50.695\",,\"7,342\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"142.202.198.155\"\n\"September 22nd 2015, 14:14:42.724\",,\"4,213\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.119.119.38\"\n\"September 22nd 2015, 14:14:06.421\",,\"14,821\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.200.84.215\"\n\"September 22nd 2015, 14:13:35.361\",,\"1,752\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.183.234.114\"\n\"September 22nd 2015, 14:13:02.755\",,\"7,590\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"128.108.188.178\"\n\"September 22nd 2015, 14:12:11.638\",,\"5,886\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.165.226.140\"\n\"September 22nd 2015, 14:11:35.560\",,\"5,583\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"147.244.160.168\"\n\"September 22nd 2015, 14:10:12.601\",,\"1,522\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"1.59.159.138\"\n\"September 22nd 2015, 14:10:04.440\",,\"6,283\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"158.179.121.61\"\n\"September 22nd 2015, 14:08:46.864\",,\"9,005\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.233.207.177\"\n\"September 22nd 2015, 14:08:45.554\",,\"4,595\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.100.60.111\"\n\"September 22nd 2015, 14:08:23.188\",,\"8,795\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"225.42.74.240\"\n\"September 22nd 2015, 14:07:24.370\",,\"6,659\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"123.85.77.216\"\n\"September 22nd 2015, 14:07:19.229\",,\"6,073\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"216.126.255.31\"\n\"September 22nd 2015, 14:07:14.358\",,\"2,780\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.212.173.15\"\n\"September 22nd 2015, 14:06:33.455\",,\"4,017\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.207.64.202\"\n\"September 22nd 2015, 14:04:08.913\",,\"5,957\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"235.115.221.35\"\n\"September 22nd 2015, 14:03:19.630\",,\"8,101\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"222.224.95.15\"\n\"September 22nd 2015, 14:02:45.949\",,\"5,081\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.74.96.103\"\n\"September 22nd 2015, 14:02:26.152\",,\"9,213\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"181.135.248.113\"\n\"September 22nd 2015, 14:00:55.782\",,\"2,825\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"134.47.243.34\"\n\"September 22nd 2015, 14:00:12.471\",,\"2,633\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"182.186.221.142\"\n\"September 22nd 2015, 13:59:51.081\",,\"7,959\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"124.187.220.168\"\n\"September 22nd 2015, 13:58:30.367\",,\"7,494\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.83.96.39\"\n\"September 22nd 2015, 13:58:10.625\",,\"3,263\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.7.164.59\"\n\"September 22nd 2015, 13:57:19.894\",,\"9,065\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.123.55.136\"\n\"September 22nd 2015, 13:57:13.730\",,\"8,405\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.218.31.116\"\n\"September 22nd 2015, 13:56:54.213\",,\"1,790\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.53.251.53\"\n\"September 22nd 2015, 13:54:36.209\",,\"4,173\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.35.55.46\"\n\"September 22nd 2015, 13:54:07.532\",,\"2,613\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"54.194.215.29\"\n\"September 22nd 2015, 13:52:43.752\",,\"7,977\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.156.46.205\"\n\"September 22nd 2015, 13:52:09.178\",,\"6,845\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"167.165.89.8\"\n\"September 22nd 2015, 13:51:48.156\",,\"7,480\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"17.58.22.109\"\n\"September 22nd 2015, 13:51:47.090\",,\"16,286\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.151.244.234\"\n\"September 22nd 2015, 13:51:41.791\",,\"9,884\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.44.130.70\"\n\"September 22nd 2015, 13:51:41.141\",,\"8,128\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.244.231.5\"\n\"September 22nd 2015, 13:51:23.866\",,\"4,500\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.107.74.6\"\n\"September 22nd 2015, 13:50:53.826\",,\"7,182\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.70.170.56\"\n\"September 22nd 2015, 13:50:53.635\",,\"6,304\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"43.123.164.190\"\n\"September 22nd 2015, 13:50:43.531\",,\"9,853\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.79.108.136\"\n\"September 22nd 2015, 13:50:04.731\",,\"4,013\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.112.81.106\"\n\"September 22nd 2015, 13:50:02.852\",,\"9,901\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.224.184.36\"\n\"September 22nd 2015, 13:49:43.108\",,\"6,180\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"91.217.157.152\"\n\"September 22nd 2015, 13:49:32.167\",,\"1,645\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"11.195.111.241\"\n\"September 22nd 2015, 13:48:54.749\",,\"9,640\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"106.142.212.24\"\n\"September 22nd 2015, 13:48:11.886\",,\"4,770\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"144.135.123.19\"\n\"September 22nd 2015, 13:47:04.239\",,\"3,500\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"162.218.161.231\"\n\"September 22nd 2015, 13:45:54.330\",,\"4,235\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.201.32.254\"\n\"September 22nd 2015, 13:45:42.963\",,\"8,641\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"203.118.132.112\"\n\"September 22nd 2015, 13:45:22.223\",,\"4,184\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.55.251.105\"\n\"September 22nd 2015, 13:44:33.223\",,\"8,362\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"147.195.26.33\"\n\"September 22nd 2015, 13:44:08.838\",,\"5,690\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.109.145.217\"\n\"September 22nd 2015, 13:43:39.726\",,\"2,571\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.237.64.228\"\n\"September 22nd 2015, 13:43:18.362\",,\"8,655\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"41.210.252.157\"\n\"September 22nd 2015, 13:43:12.638\",,\"8,579\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"159.137.252.66\"\n\"September 22nd 2015, 13:42:44.159\",,\"18,312\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.111.249.239\"\n\"September 22nd 2015, 13:42:23.173\",,\"15,652\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.237.64.228\"\n\"September 22nd 2015, 13:42:10.255\",,\"9,061\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.253.222.16\"\n\"September 22nd 2015, 13:42:07.285\",,\"2,541\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"196.97.127.109\"\n\"September 22nd 2015, 13:41:42.663\",,\"5,592\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"91.10.173.138\"\n\"September 22nd 2015, 13:40:43.745\",,\"8,633\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"232.144.75.220\"\n\"September 22nd 2015, 13:40:32.966\",,\"2,973\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"197.49.80.127\"\n\"September 22nd 2015, 13:40:12.593\",,\"8,008\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"115.225.12.164\"\n\"September 22nd 2015, 13:39:49.157\",,\"3,636\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.84.111.185\"\n\"September 22nd 2015, 13:39:31.298\",,\"8,483\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.113.219.30\"\n\"September 22nd 2015, 13:37:16.501\",,\"6,038\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.199.194.23\"\n\"September 22nd 2015, 13:35:28.992\",,\"2,636\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"82.40.137.38\"\n\"September 22nd 2015, 13:35:04.766\",,\"16,237\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"54.172.121.192\"\n\"September 22nd 2015, 13:34:45.895\",,\"3,364\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.233.202.162\"\n\"September 22nd 2015, 13:34:43.871\",,\"5,385\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"12.200.161.41\"\n\"September 22nd 2015, 13:33:01.393\",,\"4,764\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.90.39.228\"\n\"September 22nd 2015, 13:32:14.097\",,\"4,838\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.128.176.48\"\n\"September 22nd 2015, 13:32:12.145\",,\"15,531\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.190.3.193\"\n\"September 22nd 2015, 13:30:53.990\",,\"9,140\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.55.195.184\"\n\"September 22nd 2015, 13:30:50.509\",,\"3,651\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"32.94.46.226\"\n\"September 22nd 2015, 13:30:41.780\",,\"2,171\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"199.113.69.162\"\n\"September 22nd 2015, 13:30:40.736\",,\"8,018\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"127.63.221.223\"\n\"September 22nd 2015, 13:30:20.732\",,\"7,683\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.87.17.249\"\n\"September 22nd 2015, 13:29:13.522\",,\"8,592\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"187.33.177.173\"\n\"September 22nd 2015, 13:28:21.860\",,\"6,729\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"177.194.175.66\"\n\"September 22nd 2015, 13:28:20.583\",,\"7,961\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.112.222.13\"\n\"September 22nd 2015, 13:28:11.692\",,\"4,328\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"126.191.39.198\"\n\"September 22nd 2015, 13:27:31.821\",,\"2,443\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"197.49.80.127\"\n\"September 22nd 2015, 13:27:28.587\",,\"2,287\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.202.198.155\"\n\"September 22nd 2015, 13:25:43.637\",,\"7,720\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"229.219.133.141\"\n\"September 22nd 2015, 13:25:14.471\",,\"2,885\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.233.238.181\"\n\"September 22nd 2015, 13:25:08.661\",,\"5,472\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"153.49.130.46\"\n\"September 22nd 2015, 13:24:43.985\",,\"8,528\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"60.71.214.79\"\n\"September 22nd 2015, 13:24:34.080\",,\"2,123\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.247.158.26\"\n\"September 22nd 2015, 13:24:28.054\",,\"6,368\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"110.148.228.141\"\n\"September 22nd 2015, 13:24:24.506\",,\"3,196\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.140.171.133\"\n\"September 22nd 2015, 13:24:19.257\",,\"3,462\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.242.201.206\"\n\"September 22nd 2015, 13:24:16.694\",,\"8,858\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.206.227.106\"\n\"September 22nd 2015, 13:23:57.282\",,\"2,910\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.154.233.154\"\n\"September 22nd 2015, 13:23:42.556\",,\"8,933\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.116.186.0\"\n\"September 22nd 2015, 13:23:38.967\",,\"9,206\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.87.49.40\"\n\"September 22nd 2015, 13:23:06.594\",,\"7,884\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.255.221.0\"\n\"September 22nd 2015, 13:22:58.537\",,\"4,459\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.181.166.105\"\n\"September 22nd 2015, 13:22:28.081\",,\"4,390\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.190.189.77\"\n\"September 22nd 2015, 13:22:12.782\",,\"1,583\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.43.145.144\"\n\"September 22nd 2015, 13:22:11.262\",,\"7,243\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.96.96.191\"\n\"September 22nd 2015, 13:21:48.638\",,\"4,780\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.97.64.146\"\n\"September 22nd 2015, 13:21:28.772\",,\"2,247\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.6.163.4\"\n\"September 22nd 2015, 13:20:34.354\",,\"3,645\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"204.4.99.92\"\n\"September 22nd 2015, 13:20:30.101\",,\"6,013\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"197.49.80.127\"\n\"September 22nd 2015, 13:20:27.450\",,\"6,581\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.96.131.243\"\n\"September 22nd 2015, 13:19:45.503\",,\"2,464\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.0.188.251\"\n\"September 22nd 2015, 13:18:50.757\",,\"8,432\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.225.101.206\"\n\"September 22nd 2015, 13:18:43.968\",,\"7,824\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.244.231.5\"\n\"September 22nd 2015, 13:18:30.735\",,\"7,556\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"202.123.188.108\"\n\"September 22nd 2015, 13:17:54.733\",,\"4,328\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.218.31.116\"\n\"September 22nd 2015, 13:17:48.042\",,\"2,647\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.208.15.12\"\n\"September 22nd 2015, 13:16:48.970\",,\"9,235\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.140.171.133\"\n\"September 22nd 2015, 13:16:31.200\",,\"5,154\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.252.46.140\"\n\"September 22nd 2015, 13:16:11.183\",,\"3,704\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"249.106.229.151\"\n\"September 22nd 2015, 13:15:59.637\",,\"9,280\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.239.0.38\"\n\"September 22nd 2015, 13:15:16.264\",,\"6,409\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.79.151.78\"\n\"September 22nd 2015, 13:15:13.235\",,\"1,839\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"128.248.96.80\"\n\"September 22nd 2015, 13:14:02.973\",,\"12,830\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.27.68.62\"\n\"September 22nd 2015, 13:13:51.146\",,\"3,249\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.144.232.98\"\n\"September 22nd 2015, 13:13:44.248\",,\"6,110\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.133.22.163\"\n\"September 22nd 2015, 13:13:22.051\",,\"2,162\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.167.107.51\"\n\"September 22nd 2015, 13:12:56.957\",,\"2,861\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.167.107.51\"\n\"September 22nd 2015, 13:12:11.219\",,\"3,201\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"71.241.97.89\"\n\"September 22nd 2015, 13:11:42.434\",,\"2,158\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.105.100.214\"\n\"September 22nd 2015, 13:11:37.070\",,\"5,924\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.13.113.3\"\n\"September 22nd 2015, 13:10:35.042\",,\"6,947\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"86.193.157.89\"\n\"September 22nd 2015, 13:10:30.522\",,\"10,227\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"71.169.104.184\"\n\"September 22nd 2015, 13:09:32.691\",,\"7,401\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.169.199.220\"\n\"September 22nd 2015, 13:09:18.468\",,\"6,842\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"96.40.73.208\"\n\"September 22nd 2015, 13:09:00.269\",,\"9,807\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"22.58.158.234\"\n\"September 22nd 2015, 13:08:51.393\",,\"3,987\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.255.221.0\"\n\"September 22nd 2015, 13:08:16.798\",,\"4,453\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"127.63.221.223\"\n\"September 22nd 2015, 13:07:59.047\",,\"3,385\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"77.227.154.93\"\n\"September 22nd 2015, 13:07:35.730\",,\"3,942\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"118.63.242.217\"\n\"September 22nd 2015, 13:07:31.860\",,\"4,374\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.231.132.106\"\n\"September 22nd 2015, 13:07:30.782\",,\"7,581\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.113.62.183\"\n\"September 22nd 2015, 13:07:12.319\",,\"6,635\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.195.18.133\"\n\"September 22nd 2015, 13:07:10.110\",,\"9,454\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"207.218.166.105\"\n\"September 22nd 2015, 13:06:54.614\",,\"8,442\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"183.139.112.201\"\n\"September 22nd 2015, 13:06:51.563\",,\"6,223\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.219.72.105\"\n\"September 22nd 2015, 13:06:04.899\",,\"4,206\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.87.32.139\"\n\"September 22nd 2015, 13:05:14.138\",,\"5,001\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.166.248.214\"\n\"September 22nd 2015, 13:04:28.097\",,\"7,950\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.254.194.69\"\n\"September 22nd 2015, 13:04:17.190\",,\"3,541\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.55.195.184\"\n\"September 22nd 2015, 13:04:16.672\",,\"1,583\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"30.126.88.114\"\n\"September 22nd 2015, 13:04:05.705\",,\"3,902\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.84.238.1\"\n\"September 22nd 2015, 13:03:51.046\",,\"8,381\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.85.53.125\"\n\"September 22nd 2015, 13:03:44.284\",,\"1,966\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"46.163.136.60\"\n\"September 22nd 2015, 13:03:41.483\",,\"3,110\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.105.165.220\"\n\"September 22nd 2015, 13:03:38.019\",,\"6,361\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"67.47.100.255\"\n\"September 22nd 2015, 13:03:02.236\",,\"7,713\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.35.159.150\"\n\"September 22nd 2015, 13:02:57.585\",,\"6,556\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.7.121.157\"\n\"September 22nd 2015, 13:02:41.310\",,\"3,097\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"100.99.207.174\"\n\"September 22nd 2015, 13:02:26.476\",,\"5,831\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"188.225.40.190\"\n\"September 22nd 2015, 13:01:06.389\",,\"6,761\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.164.151.232\"\n\"September 22nd 2015, 13:00:42.631\",,\"7,794\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"16.148.135.166\"\n\"September 22nd 2015, 13:00:14.152\",,\"9,380\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.75.33.146\"\n\"September 22nd 2015, 12:58:35.079\",,\"7,475\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"67.238.57.221\"\n\"September 22nd 2015, 12:58:24.122\",,\"2,487\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.154.198.225\"\n\"September 22nd 2015, 12:57:31.295\",,\"13,437\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"186.182.14.125\"\n\"September 22nd 2015, 12:57:21.496\",,\"7,932\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"231.192.80.162\"\n\"September 22nd 2015, 12:57:04.932\",,\"3,588\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.5.167.41\"\n\"September 22nd 2015, 12:56:13.973\",,\"2,126\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.174.21.181\"\n\"September 22nd 2015, 12:56:04.017\",,\"2,778\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.159.183.77\"\n\"September 22nd 2015, 12:55:44.399\",,\"7,799\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.223.164.21\"\n\"September 22nd 2015, 12:55:23.881\",,\"3,005\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"212.39.75.221\"\n\"September 22nd 2015, 12:54:56.541\",,\"1,788\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"94.218.243.2\"\n\"September 22nd 2015, 12:54:50.247\",,\"8,672\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.156.163.220\"\n\"September 22nd 2015, 12:54:44.931\",,\"5,850\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.236.240.166\"\n\"September 22nd 2015, 12:54:14.747\",,\"3,745\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.173.30.33\"\n\"September 22nd 2015, 12:54:13.428\",,\"9,737\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.33.120.224\"\n\"September 22nd 2015, 12:53:47.400\",,\"9,161\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"85.62.211.92\"\n\"September 22nd 2015, 12:53:11.904\",,\"7,100\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.191.87.129\"\n\"September 22nd 2015, 12:52:42.617\",,\"4,408\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"85.79.151.78\"\n\"September 22nd 2015, 12:51:38.278\",,\"8,454\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"212.99.52.163\"\n\"September 22nd 2015, 12:51:34.457\",,\"13,361\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.159.183.77\"\n\"September 22nd 2015, 12:51:23.546\",,\"4,142\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.65.205.98\"\n\"September 22nd 2015, 12:51:09.047\",,\"8,730\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"167.165.89.8\"\n\"September 22nd 2015, 12:50:59.820\",,\"13,071\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.62.90.237\"\n\"September 22nd 2015, 12:50:58.805\",,\"6,923\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.55.251.105\"\n\"September 22nd 2015, 12:50:57.194\",,\"8,399\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"109.192.212.178\"\n\"September 22nd 2015, 12:50:51.492\",,\"4,700\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"245.69.63.219\"\n\"September 22nd 2015, 12:50:44.570\",,\"6,825\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"203.239.228.151\"\n\"September 22nd 2015, 12:50:32.280\",,\"2,522\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.27.10.205\"\n\"September 22nd 2015, 12:50:22.899\",,\"2,417\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.228.246.126\"\n\"September 22nd 2015, 12:50:12.992\",,\"5,104\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.105.100.214\"\n\"September 22nd 2015, 12:49:52.388\",,\"6,774\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"197.222.12.184\"\n\"September 22nd 2015, 12:49:18.980\",,\"2,588\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.65.30.133\"\n\"September 22nd 2015, 12:48:21.642\",,\"7,343\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.47.75.195\"\n\"September 22nd 2015, 12:48:07.313\",,\"7,411\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.192.52.3\"\n\"September 22nd 2015, 12:47:53.055\",,\"6,086\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"131.102.224.216\"\n\"September 22nd 2015, 12:47:50.931\",,\"4,639\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"109.192.212.178\"\n\"September 22nd 2015, 12:47:41.487\",,\"5,276\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"155.34.86.215\"\n\"September 22nd 2015, 12:47:40.898\",,\"9,674\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"101.145.158.45\"\n\"September 22nd 2015, 12:47:33.759\",,\"3,066\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.107.5.226\"\n\"September 22nd 2015, 12:47:33.744\",,\"5,136\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"66.194.157.171\"\n\"September 22nd 2015, 12:47:16.066\",,\"1,759\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"159.137.252.66\"\n\"September 22nd 2015, 12:47:00.576\",,\"2,316\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.142.140.200\"\n\"September 22nd 2015, 12:46:58.419\",,\"9,191\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.84.111.185\"\n\"September 22nd 2015, 12:46:52.711\",,\"9,376\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"198.174.196.110\"\n\"September 22nd 2015, 12:46:48.884\",,\"6,979\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.205.37.63\"\n\"September 22nd 2015, 12:46:09.747\",,\"3,328\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"8.248.237.182\"\n\"September 22nd 2015, 12:45:48.873\",,\"6,255\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.87.234.213\"\n\"September 22nd 2015, 12:45:24.290\",,\"4,732\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"128.108.188.178\"\n\"September 22nd 2015, 12:45:23.643\",,\"4,126\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"54.0.98.104\"\n\"September 22nd 2015, 12:45:16.237\",,\"3,024\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.22.23.73\"\n\"September 22nd 2015, 12:44:52.364\",,\"7,475\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"216.126.255.31\"\n\"September 22nd 2015, 12:44:09.119\",,\"4,557\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.201.32.254\"\n\"September 22nd 2015, 12:44:00.989\",,\"2,882\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"247.149.109.96\"\n\"September 22nd 2015, 12:43:49.275\",,\"9,950\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"222.201.119.239\"\n\"September 22nd 2015, 12:43:27.413\",,\"9,702\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"71.241.97.89\"\n\"September 22nd 2015, 12:43:12.772\",,\"8,199\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"255.58.31.9\"\n\"September 22nd 2015, 12:42:25.003\",,\"3,310\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.142.140.200\"\n\"September 22nd 2015, 12:42:13.148\",,\"5,707\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.220.227.11\"\n\"September 22nd 2015, 12:41:58.794\",,\"7,541\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.7.164.59\"\n\"September 22nd 2015, 12:41:51.351\",,\"6,859\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"250.177.125.196\"\n\"September 22nd 2015, 12:41:41.020\",,\"2,509\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.195.208.118\"\n\"September 22nd 2015, 12:41:35.891\",,\"5,711\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"249.11.43.220\"\n\"September 22nd 2015, 12:41:30.702\",,\"9,650\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.255.68.154\"\n\"September 22nd 2015, 12:41:17.420\",,\"7,475\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.99.166.92\"\n\"September 22nd 2015, 12:41:13.410\",,\"9,472\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.191.218.38\"\n\"September 22nd 2015, 12:40:55.290\",,\"5,600\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"37.59.172.226\"\n\"September 22nd 2015, 12:40:45.087\",,\"6,933\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.194.113.132\"\n\"September 22nd 2015, 12:40:11.588\",,\"7,858\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"127.219.223.182\"\n\"September 22nd 2015, 12:39:52.832\",,\"2,829\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.207.244.57\"\n\"September 22nd 2015, 12:39:49.594\",,\"6,595\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.33.120.224\"\n\"September 22nd 2015, 12:39:38.573\",,\"9,918\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"94.218.243.2\"\n\"September 22nd 2015, 12:38:55.371\",,\"9,961\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.56.164.24\"\n\"September 22nd 2015, 12:38:36.660\",,\"1,902\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.201.32.254\"\n\"September 22nd 2015, 12:38:34.437\",,\"9,505\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.144.90.74\"\n\"September 22nd 2015, 12:38:29.861\",,\"3,821\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.164.39.249\"\n\"September 22nd 2015, 12:38:05.975\",,\"4,650\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"76.215.43.26\"\n\"September 22nd 2015, 12:37:26.859\",,\"6,239\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.196.54.80\"\n\"September 22nd 2015, 12:37:25.700\",,\"9,102\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"184.125.153.221\"\n\"September 22nd 2015, 12:36:35.593\",,\"6,659\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"208.147.159.107\"\n\"September 22nd 2015, 12:36:35.013\",,\"2,170\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.190.3.193\"\n\"September 22nd 2015, 12:36:27.446\",,\"6,682\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.225.141.240\"\n\"September 22nd 2015, 12:36:26.106\",,\"3,938\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.39.75.221\"\n\"September 22nd 2015, 12:36:24.954\",,\"6,119\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"64.39.144.87\"\n\"September 22nd 2015, 12:36:24.203\",,\"11,876\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.66.60.152\"\n\"September 22nd 2015, 12:36:19.580\",,\"7,827\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.219.108.141\"\n\"September 22nd 2015, 12:36:13.717\",,\"2,974\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"246.100.162.251\"\n\"September 22nd 2015, 12:35:51.992\",,\"7,398\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.2.26.42\"\n\"September 22nd 2015, 12:35:38.569\",,\"6,951\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.221.105.131\"\n\"September 22nd 2015, 12:35:24.779\",,\"3,144\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.28.50.40\"\n\"September 22nd 2015, 12:35:24.169\",,\"2,538\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.208.48.188\"\n\"September 22nd 2015, 12:34:48.600\",,\"4,713\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"178.122.0.0\"\n\"September 22nd 2015, 12:34:38.000\",,\"8,435\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.221.105.131\"\n\"September 22nd 2015, 12:34:28.121\",,\"5,180\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.174.35.186\"\n\"September 22nd 2015, 12:34:23.513\",,\"6,434\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"13.193.146.83\"\n\"September 22nd 2015, 12:34:19.440\",,\"6,656\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.35.55.46\"\n\"September 22nd 2015, 12:34:03.183\",,\"16,870\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"142.202.198.155\"\n\"September 22nd 2015, 12:33:25.846\",,\"6,780\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.92.194.37\"\n\"September 22nd 2015, 12:33:00.881\",,\"12,456\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"145.211.179.106\"\n\"September 22nd 2015, 12:32:56.925\",,\"8,798\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.92.194.37\"\n\"September 22nd 2015, 12:32:26.352\",,\"5,688\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.191.218.38\"\n\"September 22nd 2015, 12:32:14.092\",,\"6,578\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.233.238.181\"\n\"September 22nd 2015, 12:32:08.853\",,\"3,495\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.92.154.173\"\n\"September 22nd 2015, 12:32:03.296\",,\"1,083\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.139.58.171\"\n\"September 22nd 2015, 12:31:55.492\",,\"9,994\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"75.246.160.14\"\n\"September 22nd 2015, 12:31:34.583\",,\"3,574\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"199.113.69.162\"\n\"September 22nd 2015, 12:31:28.925\",,\"5,040\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"17.123.55.136\"\n\"September 22nd 2015, 12:31:25.275\",,\"5,846\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.58.145.175\"\n\"September 22nd 2015, 12:31:24.914\",,\"8,696\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.171.34.42\"\n\"September 22nd 2015, 12:31:21.099\",,\"5,267\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.223.93.34\"\n\"September 22nd 2015, 12:31:12.874\",,\"8,829\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.116.186.0\"\n\"September 22nd 2015, 12:30:35.305\",,\"4,365\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"63.142.94.147\"\n\"September 22nd 2015, 12:30:21.102\",,\"1,922\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"247.189.13.239\"\n\"September 22nd 2015, 12:30:14.436\",,\"3,170\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.160.62.179\"\n\"September 22nd 2015, 12:30:11.136\",,\"5,503\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"28.3.30.170\"\n\"September 22nd 2015, 12:30:09.197\",,\"1,507\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.11.66.39\"\n\"September 22nd 2015, 12:30:06.646\",,\"5,129\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.69.255.135\"\n\"September 22nd 2015, 12:29:29.431\",,\"14,708\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.219.108.141\"\n\"September 22nd 2015, 12:29:26.396\",,\"3,163\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.203.1.94\"\n\"September 22nd 2015, 12:29:25.829\",,\"1,921\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.54.12.226\"\n\"September 22nd 2015, 12:29:12.902\",,\"5,694\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"177.194.175.66\"\n\"September 22nd 2015, 12:29:10.505\",,\"5,977\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.139.46.29\"\n\"September 22nd 2015, 12:29:07.192\",,\"8,485\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.53.96.88\"\n\"September 22nd 2015, 12:29:04.435\",,\"5,219\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"61.73.88.176\"\n\"September 22nd 2015, 12:29:02.952\",,\"3,561\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"149.225.104.159\"\n\"September 22nd 2015, 12:29:02.277\",,\"1,867\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"116.171.234.62\"\n\"September 22nd 2015, 12:28:58.371\",,\"6,888\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.30.157.224\"\n\"September 22nd 2015, 12:28:38.343\",,\"8,108\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"175.99.184.146\"\n\"September 22nd 2015, 12:28:18.598\",,\"5,162\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.56.222.3\"\n\"September 22nd 2015, 12:28:03.948\",,\"8,790\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"5.83.83.42\"\n\"September 22nd 2015, 12:27:51.505\",,\"2,669\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.130.100.179\"\n\"September 22nd 2015, 12:27:48.909\",,\"5,509\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.246.231.47\"\n\"September 22nd 2015, 12:27:43.567\",,\"9,969\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.80.208.225\"\n\"September 22nd 2015, 12:27:41.471\",,\"7,297\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.255.68.154\"\n\"September 22nd 2015, 12:27:03.356\",,\"1,993\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.55.130.114\"\n\"September 22nd 2015, 12:26:59.018\",,\"1,929\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.83.92.252\"\n\"September 22nd 2015, 12:26:55.676\",,\"5,084\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"184.125.153.221\"\n\"September 22nd 2015, 12:25:45.847\",,\"7,375\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.115.221.35\"\n\"September 22nd 2015, 12:25:20.553\",,\"4,318\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.38.139.107\"\n\"September 22nd 2015, 12:25:00.898\",,\"9,575\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.27.10.205\"\n\"September 22nd 2015, 12:24:58.570\",,\"6,504\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"10.192.39.62\"\n\"September 22nd 2015, 12:24:57.136\",,\"5,049\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.79.189.11\"\n\"September 22nd 2015, 12:24:47.047\",,\"9,282\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"192.219.151.88\"\n\"September 22nd 2015, 12:24:24.299\",,\"8,540\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.215.43.26\"\n\"September 22nd 2015, 12:24:10.412\",,\"6,009\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.0.98.104\"\n\"September 22nd 2015, 12:24:08.898\",,\"2,759\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.201.208.162\"\n\"September 22nd 2015, 12:23:48.013\",,\"7,846\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.88.57.13\"\n\"September 22nd 2015, 12:23:31.742\",,\"4,860\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.100.178.89\"\n\"September 22nd 2015, 12:23:11.465\",,\"2,862\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.164.215.104\"\n\"September 22nd 2015, 12:23:03.425\",,\"3,599\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.90.215.57\"\n\"September 22nd 2015, 12:23:03.361\",,\"6,807\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.61.182.136\"\n\"September 22nd 2015, 12:22:49.335\",,\"7,172\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.237.148.2\"\n\"September 22nd 2015, 12:22:38.608\",,\"3,397\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"143.81.107.227\"\n\"September 22nd 2015, 12:22:28.313\",,\"4,804\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"68.50.129.53\"\n\"September 22nd 2015, 12:22:23.082\",,\"7,872\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"155.34.86.215\"\n\"September 22nd 2015, 12:22:15.092\",,\"6,435\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"224.183.190.156\"\n\"September 22nd 2015, 12:22:09.905\",,\"9,433\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.236.125.37\"\n\"September 22nd 2015, 12:22:04.267\",,\"3,437\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"35.222.204.135\"\n\"September 22nd 2015, 12:22:01.586\",,\"3,419\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"67.238.57.221\"\n\"September 22nd 2015, 12:21:55.974\",,\"4,323\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.57.26.210\"\n\"September 22nd 2015, 12:21:53.062\",,\"8,131\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.38.139.107\"\n\"September 22nd 2015, 12:21:47.357\",,\"3,913\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.191.52.177\"\n\"September 22nd 2015, 12:21:45.521\",,\"4,303\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"61.52.11.157\"\n\"September 22nd 2015, 12:20:55.535\",,\"2,441\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.240.114.69\"\n\"September 22nd 2015, 12:20:41.034\",,\"8,782\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"5.83.83.42\"\n\"September 22nd 2015, 12:20:28.700\",,\"1,947\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.245.252.224\"\n\"September 22nd 2015, 12:20:23.990\",,\"8,169\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.120.146.16\"\n\"September 22nd 2015, 12:20:03.106\",,\"2,193\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.52.178.194\"\n\"September 22nd 2015, 12:19:40.081\",,\"7,553\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.139.58.171\"\n\"September 22nd 2015, 12:19:29.423\",,\"7,727\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"30.149.85.183\"\n\"September 22nd 2015, 12:19:28.782\",,\"2,813\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.188.141.95\"\n\"September 22nd 2015, 12:19:21.828\",,\"8,008\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"139.104.238.37\"\n\"September 22nd 2015, 12:19:10.414\",,\"6,573\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"169.137.241.169\"\n\"September 22nd 2015, 12:18:47.450\",,\"9,939\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"167.165.89.8\"\n\"September 22nd 2015, 12:18:23.012\",,\"7,449\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"183.139.112.201\"\n\"September 22nd 2015, 12:18:12.874\",,\"2,912\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.74.138.136\"\n\"September 22nd 2015, 12:18:08.100\",,\"9,208\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.37.236.61\"\n\"September 22nd 2015, 12:17:48.156\",,\"14,345\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.155.198.238\"\n\"September 22nd 2015, 12:17:39.292\",,\"12,517\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.106.79.211\"\n\"September 22nd 2015, 12:17:23.686\",,\"2,619\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.204.140.157\"\n\"September 22nd 2015, 12:17:11.976\",,\"4,717\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.108.133.125\"\n\"September 22nd 2015, 12:17:11.103\",,\"3,737\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"219.33.16.83\"\n\"September 22nd 2015, 12:16:46.728\",,\"6,120\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.106.203.143\"\n\"September 22nd 2015, 12:16:33.778\",,\"9,698\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.106.160.216\"\n\"September 22nd 2015, 12:16:16.274\",,\"4,278\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"219.136.31.156\"\n\"September 22nd 2015, 12:16:09.696\",,\"3,069\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"85.85.86.52\"\n\"September 22nd 2015, 12:16:00.820\",,\"9,770\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.5.136.153\"\n\"September 22nd 2015, 12:15:34.897\",,\"9,278\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.228.246.126\"\n\"September 22nd 2015, 12:15:19.753\",,\"9,069\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.172.111.30\"\n\"September 22nd 2015, 12:15:18.685\",,\"7,648\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.209.80.244\"\n\"September 22nd 2015, 12:15:05.329\",,\"6,781\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.195.208.118\"\n\"September 22nd 2015, 12:14:45.572\",,\"13,145\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"1.59.159.138\"\n\"September 22nd 2015, 12:14:36.974\",,\"10,338\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"2.7.11.95\"\n\"September 22nd 2015, 12:14:08.129\",,\"7,303\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"246.100.162.251\"\n\"September 22nd 2015, 12:13:56.474\",,\"4,276\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.213.56.203\"\n\"September 22nd 2015, 12:13:55.325\",,\"5,681\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.120.12.168\"\n\"September 22nd 2015, 12:13:47.948\",,\"3,669\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"101.130.216.47\"\n\"September 22nd 2015, 12:13:30.234\",,\"8,583\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"75.246.160.14\"\n\"September 22nd 2015, 12:13:28.020\",,\"4,557\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.87.234.213\"\n\"September 22nd 2015, 12:13:25.082\",,\"5,224\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"113.35.23.20\"\n\"September 22nd 2015, 12:13:07.905\",,\"8,227\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.168.21.69\"\n\"September 22nd 2015, 12:13:06.923\",,\"5,418\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.115.183.40\"\n\"September 22nd 2015, 12:12:35.114\",,\"9,651\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"168.210.111.14\"\n\"September 22nd 2015, 12:12:31.245\",,\"2,567\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"3.84.165.54\"\n\"September 22nd 2015, 12:11:49.171\",,\"3,841\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.97.175.115\"\n\"September 22nd 2015, 12:11:40.398\",,\"5,754\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.127.124.65\"\n\"September 22nd 2015, 12:11:17.898\",,\"2,596\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.214.104.239\"\n\"September 22nd 2015, 12:11:11.783\",,\"4,174\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"70.101.68.233\"\n\"September 22nd 2015, 12:11:10.628\",,\"9,554\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.224.184.36\"\n\"September 22nd 2015, 12:10:55.117\",,\"8,264\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.115.189.193\"\n\"September 22nd 2015, 12:10:48.570\",,\"9,209\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"212.39.75.221\"\n\"September 22nd 2015, 12:10:41.384\",,\"3,625\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"208.98.69.166\"\n\"September 22nd 2015, 12:10:18.329\",,\"6,070\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"230.105.119.197\"\n\"September 22nd 2015, 12:08:59.110\",,\"9,829\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.227.195.13\"\n\"September 22nd 2015, 12:08:44.634\",,\"3,939\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.7.129.34\"\n\"September 22nd 2015, 12:08:35.533\",,\"8,948\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.170.135.63\"\n\"September 22nd 2015, 12:08:34.781\",,\"7,524\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.23.191.85\"\n\"September 22nd 2015, 12:07:56.062\",,\"3,517\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.224.184.36\"\n\"September 22nd 2015, 12:07:50.052\",,\"9,865\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.126.88.114\"\n\"September 22nd 2015, 12:07:16.984\",,\"7,095\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.216.173.242\"\n\"September 22nd 2015, 12:06:38.227\",,\"7,849\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.191.52.177\"\n\"September 22nd 2015, 12:06:35.992\",,\"2,466\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.52.178.194\"\n\"September 22nd 2015, 12:06:22.226\",,\"6,734\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.72.217.98\"\n\"September 22nd 2015, 12:06:21.560\",,\"7,893\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"100.99.207.174\"\n\"September 22nd 2015, 12:05:53.256\",,\"4,724\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"162.134.126.82\"\n\"September 22nd 2015, 12:05:31.297\",,\"9,634\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"163.123.136.118\"\n\"September 22nd 2015, 12:05:10.704\",,\"3,296\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.11.189.233\"\n\"September 22nd 2015, 12:04:57.160\",,\"3,457\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.153.51.78\"\n\"September 22nd 2015, 12:04:56.646\",,\"4,512\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.55.141.62\"\n\"September 22nd 2015, 12:04:47.135\",,\"2,928\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.253.222.16\"\n\"September 22nd 2015, 12:04:36.969\",,\"3,807\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"23.178.170.24\"\n\"September 22nd 2015, 12:04:35.889\",,\"1,758\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.219.151.88\"\n\"September 22nd 2015, 12:04:30.210\",,\"7,836\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.137.8.156\"\n\"September 22nd 2015, 12:03:53.420\",,\"3,590\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.106.29.25\"\n\"September 22nd 2015, 12:03:12.481\",,\"7,767\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.20.91.73\"\n\"September 22nd 2015, 12:03:11.542\",,\"9,649\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"197.88.56.99\"\n\"September 22nd 2015, 12:03:04.449\",,\"9,921\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.99.184.146\"\n\"September 22nd 2015, 12:03:02.801\",,\"4,933\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.79.158.95\"\n\"September 22nd 2015, 12:02:58.740\",,\"7,760\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"6.70.186.143\"\n\"September 22nd 2015, 12:02:37.861\",,\"7,877\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.234.255.241\"\n\"September 22nd 2015, 12:02:33.868\",,\"2,922\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"69.82.3.150\"\n\"September 22nd 2015, 12:02:26.112\",,\"3,092\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.3.32.15\"\n\"September 22nd 2015, 12:02:05.131\",,\"4,852\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.53.110.116\"\n\"September 22nd 2015, 12:02:04.134\",,\"5,502\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"146.229.88.89\"\n\"September 22nd 2015, 12:01:45.143\",,\"8,468\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"140.83.143.132\"\n\"September 22nd 2015, 12:01:00.572\",,\"5,306\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"168.210.111.14\"\n\"September 22nd 2015, 12:00:51.134\",,\"7,094\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.174.21.181\"\n\"September 22nd 2015, 12:00:49.533\",,\"2,925\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.85.77.216\"\n\"September 22nd 2015, 12:00:23.962\",,\"6,666\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.223.100.33\"\n\"September 22nd 2015, 12:00:17.409\",,\"8,320\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"74.214.76.90\"\n\"September 22nd 2015, 12:00:08.850\",,\"4,624\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.181.188.3\"\n\"September 22nd 2015, 12:00:04.879\",,\"4,093\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.136.173.80\"\n\"September 22nd 2015, 12:00:04.140\",,\"3,170\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"225.241.219.2\"\n\"September 22nd 2015, 11:59:55.630\",,\"1,630\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.228.188.120\"\n\"September 22nd 2015, 11:59:52.797\",,\"6,683\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"69.23.191.85\"\n\"September 22nd 2015, 11:59:32.734\",,\"7,894\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"117.112.55.75\"\n\"September 22nd 2015, 11:59:00.132\",,\"8,594\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.132.215.241\"\n\"September 22nd 2015, 11:58:17.585\",,\"4,964\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.144.148.155\"\n\"September 22nd 2015, 11:57:08.446\",,\"8,192\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.105.165.220\"\n\"September 22nd 2015, 11:57:06.210\",,\"6,737\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.128.210.67\"\n\"September 22nd 2015, 11:56:58.618\",,\"18,984\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.96.96.191\"\n\"September 22nd 2015, 11:56:55.001\",,\"5,661\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.200.84.215\"\n\"September 22nd 2015, 11:56:21.325\",,\"1,693\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.140.171.133\"\n\"September 22nd 2015, 11:56:16.264\",,\"2,045\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"157.136.137.24\"\n\"September 22nd 2015, 11:56:07.386\",,\"5,515\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.26.51.188\"\n\"September 22nd 2015, 11:56:06.939\",,\"2,096\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.34.138.226\"\n\"September 22nd 2015, 11:55:43.900\",,\"6,978\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.35.55.46\"\n\"September 22nd 2015, 11:55:39.590\",,\"2,838\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.97.64.146\"\n\"September 22nd 2015, 11:55:34.253\",,\"7,534\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"124.187.220.168\"\n\"September 22nd 2015, 11:55:28.113\",,\"9,437\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"128.169.152.213\"\n\"September 22nd 2015, 11:54:52.064\",,\"10,485\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.151.255.82\"\n\"September 22nd 2015, 11:54:48.618\",,\"4,572\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.247.158.26\"\n\"September 22nd 2015, 11:54:27.585\",,\"5,044\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.111.249.239\"\n\"September 22nd 2015, 11:54:26.653\",,\"8,323\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"177.194.175.66\"\n\"September 22nd 2015, 11:54:24.457\",,\"1,880\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.53.125.87\"\n\"September 22nd 2015, 11:54:11.670\",,\"9,078\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.75.54.137\"\n\"September 22nd 2015, 11:54:08.186\",,\"6,992\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"10.192.39.62\"\n\"September 22nd 2015, 11:54:06.012\",,\"1,984\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"16.166.96.38\"\n\"September 22nd 2015, 11:53:47.553\",,\"2,068\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.33.226.187\"\n\"September 22nd 2015, 11:53:47.162\",,\"4,781\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"67.47.100.255\"\n\"September 22nd 2015, 11:53:13.414\",,\"4,666\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.147.159.107\"\n\"September 22nd 2015, 11:52:41.045\",,\"4,269\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.172.111.30\"\n\"September 22nd 2015, 11:52:33.217\",,\"5,117\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.20.91.73\"\n\"September 22nd 2015, 11:52:31.678\",,\"8,197\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.73.193.32\"\n\"September 22nd 2015, 11:52:21.017\",,\"7,381\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.143.20.221\"\n\"September 22nd 2015, 11:51:25.503\",,\"3,023\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.92.154.173\"\n\"September 22nd 2015, 11:51:15.595\",,\"1,822\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.192.185.168\"\n\"September 22nd 2015, 11:51:10.462\",,\"11,549\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"198.174.196.110\"\n\"September 22nd 2015, 11:50:37.658\",,\"8,994\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"184.101.186.240\"\n\"September 22nd 2015, 11:49:01.629\",,\"6,315\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.153.40.224\"\n\"September 22nd 2015, 11:48:08.946\",,\"9,036\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"198.124.37.215\"\n\"September 22nd 2015, 11:47:40.716\",,\"8,006\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.22.226.5\"\n\"September 22nd 2015, 11:47:29.713\",,\"9,408\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.53.96.88\"\n\"September 22nd 2015, 11:47:16.377\",,\"2,534\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.129.217.122\"\n\"September 22nd 2015, 11:47:04.767\",,\"8,629\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.92.194.37\"\n\"September 22nd 2015, 11:46:22.586\",,\"5,413\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.86.105.212\"\n\"September 22nd 2015, 11:46:17.411\",,\"17,016\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"42.72.83.65\"\n\"September 22nd 2015, 11:45:59.208\",,\"3,431\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.85.51.238\"\n\"September 22nd 2015, 11:45:43.621\",,\"5,557\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.127.76.132\"\n\"September 22nd 2015, 11:45:39.537\",,\"1,795\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"161.108.174.248\"\n\"September 22nd 2015, 11:45:34.813\",,\"6,866\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.233.183.250\"\n\"September 22nd 2015, 11:45:34.317\",,\"2,079\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"218.226.100.31\"\n\"September 22nd 2015, 11:45:21.003\",,\"5,344\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"221.181.166.105\"\n\"September 22nd 2015, 11:44:50.559\",,\"6,360\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.177.132.244\"\n\"September 22nd 2015, 11:44:44.518\",,\"2,374\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"12.102.47.119\"\n\"September 22nd 2015, 11:44:24.917\",,\"8,077\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.109.145.217\"\n\"September 22nd 2015, 11:44:21.044\",,\"8,217\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.218.92.179\"\n\"September 22nd 2015, 11:42:55.297\",,\"4,455\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.53.251.53\"\n\"September 22nd 2015, 11:42:46.410\",,\"9,852\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.248.17.146\"\n\"September 22nd 2015, 11:42:34.505\",,\"6,569\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"28.3.30.170\"\n\"September 22nd 2015, 11:42:31.743\",,\"7,752\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"94.48.29.38\"\n\"September 22nd 2015, 11:42:28.847\",,\"8,223\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"161.35.49.227\"\n\"September 22nd 2015, 11:41:48.537\",,\"4,513\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.254.194.69\"\n\"September 22nd 2015, 11:41:31.489\",,\"4,423\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"155.155.226.58\"\n\"September 22nd 2015, 11:41:02.808\",,\"4,435\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.85.77.216\"\n\"September 22nd 2015, 11:41:02.443\",,\"6,850\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.153.166.47\"\n\"September 22nd 2015, 11:40:41.883\",,\"8,869\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.117.73.210\"\n\"September 22nd 2015, 11:40:10.397\",,\"9,297\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.92.154.173\"\n\"September 22nd 2015, 11:40:09.655\",,\"6,547\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.172.111.30\"\n\"September 22nd 2015, 11:39:46.488\",,\"2,392\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.94.183.177\"\n\"September 22nd 2015, 11:39:15.343\",,\"7,579\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"86.168.21.69\"\n\"September 22nd 2015, 11:39:12.319\",,\"9,037\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"101.145.158.45\"\n\"September 22nd 2015, 11:39:10.589\",,\"4,027\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.75.97.203\"\n\"September 22nd 2015, 11:38:54.664\",,\"8,269\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"219.33.16.83\"\n\"September 22nd 2015, 11:38:43.562\",,\"7,150\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.57.253.60\"\n\"September 22nd 2015, 11:38:34.855\",,\"1,605\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"7.9.151.133\"\n\"September 22nd 2015, 11:38:26.747\",,\"1,724\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.63.84.25\"\n\"September 22nd 2015, 11:38:07.583\",,\"2,936\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.245.252.224\"\n\"September 22nd 2015, 11:38:05.957\",,\"3,500\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"234.58.25.145\"\n\"September 22nd 2015, 11:37:22.792\",,\"16,287\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"185.170.80.142\"\n\"September 22nd 2015, 11:37:17.970\",,\"5,588\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.80.35.243\"\n\"September 22nd 2015, 11:37:07.536\",,\"7,035\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.11.66.39\"\n\"September 22nd 2015, 11:36:46.479\",,\"3,123\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.255.16.81\"\n\"September 22nd 2015, 11:36:44.180\",,\"2,982\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.38.2.66\"\n\"September 22nd 2015, 11:36:41.155\",,\"9,813\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.16.207.3\"\n\"September 22nd 2015, 11:36:40.086\",,\"2,686\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.165.237.200\"\n\"September 22nd 2015, 11:36:28.943\",,\"5,186\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"198.174.196.110\"\n\"September 22nd 2015, 11:36:24.731\",,\"4,440\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.164.244.131\"\n\"September 22nd 2015, 11:36:20.759\",,\"9,861\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.183.28.41\"\n\"September 22nd 2015, 11:35:29.344\",,\"3,289\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.209.116.94\"\n\"September 22nd 2015, 11:34:53.194\",,\"2,267\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.0.188.251\"\n\"September 22nd 2015, 11:34:51.219\",,\"1,543\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.204.236.159\"\n\"September 22nd 2015, 11:34:49.522\",,\"6,361\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"123.129.217.122\"\n\"September 22nd 2015, 11:34:33.190\",,\"19,476\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.86.105.212\"\n\"September 22nd 2015, 11:34:26.355\",,\"1,801\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.39.144.87\"\n\"September 22nd 2015, 11:34:23.808\",,\"5,631\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.210.116.210\"\n\"September 22nd 2015, 11:34:20.174\",,\"4,022\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"177.194.175.66\"\n\"September 22nd 2015, 11:34:15.195\",,\"3,315\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"185.39.79.51\"\n\"September 22nd 2015, 11:33:24.997\",,\"2,929\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.83.247.30\"\n\"September 22nd 2015, 11:33:10.198\",,\"4,811\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"155.157.127.149\"\n\"September 22nd 2015, 11:32:49.631\",,\"5,337\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"101.43.176.190\"\n\"September 22nd 2015, 11:32:48.326\",,\"2,931\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"244.112.251.87\"\n\"September 22nd 2015, 11:32:25.400\",,\"3,148\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.207.16.29\"\n\"September 22nd 2015, 11:32:17.467\",,\"9,791\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.149.151.88\"\n\"September 22nd 2015, 11:32:11.727\",,\"4,855\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"157.136.137.24\"\n\"September 22nd 2015, 11:31:53.068\",,\"2,538\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.132.195.31\"\n\"September 22nd 2015, 11:31:37.442\",,\"6,034\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"244.15.131.137\"\n\"September 22nd 2015, 11:31:33.299\",,\"1,772\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.27.102.199\"\n\"September 22nd 2015, 11:31:01.708\",,\"9,747\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.100.162.251\"\n\"September 22nd 2015, 11:30:29.851\",,\"8,319\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.113.62.183\"\n\"September 22nd 2015, 11:29:29.219\",,\"9,565\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.166.248.214\"\n\"September 22nd 2015, 11:29:23.909\",,\"6,712\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"60.109.112.85\"\n\"September 22nd 2015, 11:29:17.207\",,\"5,052\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.205.178.33\"\n\"September 22nd 2015, 11:29:13.158\",,\"4,007\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.43.63.180\"\n\"September 22nd 2015, 11:29:07.864\",,\"2,360\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"59.184.160.105\"\n\"September 22nd 2015, 11:29:02.524\",,\"6,022\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"128.248.96.80\"\n\"September 22nd 2015, 11:28:58.441\",,\"9,741\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.55.80.52\"\n\"September 22nd 2015, 11:28:58.413\",,\"9,942\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"223.68.146.97\"\n\"September 22nd 2015, 11:28:51.534\",,\"2,135\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"183.177.240.217\"\n\"September 22nd 2015, 11:28:48.569\",,\"9,340\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"60.231.227.7\"\n\"September 22nd 2015, 11:28:31.556\",,\"7,236\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"249.106.229.151\"\n\"September 22nd 2015, 11:28:16.149\",,\"5,438\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.202.198.155\"\n\"September 22nd 2015, 11:28:15.997\",,\"4,615\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"84.77.230.73\"\n\"September 22nd 2015, 11:28:10.729\",,\"1,862\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"183.139.112.201\"\n\"September 22nd 2015, 11:27:49.330\",,\"2,398\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.7.121.157\"\n\"September 22nd 2015, 11:27:39.568\",,\"4,331\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.132.195.31\"\n\"September 22nd 2015, 11:27:27.772\",,\"9,803\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"115.207.4.201\"\n\"September 22nd 2015, 11:27:09.162\",,\"2,898\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.74.138.136\"\n\"September 22nd 2015, 11:27:07.560\",,\"4,989\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"94.48.29.38\"\n\"September 22nd 2015, 11:27:01.224\",,\"4,380\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"120.99.203.64\"\n\"September 22nd 2015, 11:26:42.395\",,\"2,810\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.151.84.213\"\n\"September 22nd 2015, 11:26:32.785\",,\"2,507\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"50.202.67.216\"\n\"September 22nd 2015, 11:26:26.975\",,\"2,712\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.137.8.156\"\n\"September 22nd 2015, 11:26:03.551\",,\"9,830\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.62.90.237\"\n\"September 22nd 2015, 11:25:57.399\",,\"4,968\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.177.125.196\"\n\"September 22nd 2015, 11:25:48.543\",,\"6,633\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.167.54.47\"\n\"September 22nd 2015, 11:25:44.768\",,\"5,343\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.86.49.192\"\n\"September 22nd 2015, 11:25:42.690\",,\"2,166\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.108.133.125\"\n\"September 22nd 2015, 11:25:34.395\",,\"16,768\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"43.164.236.145\"\n\"September 22nd 2015, 11:25:28.305\",,\"8,209\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"32.146.206.24\"\n\"September 22nd 2015, 11:25:14.390\",,\"6,052\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"180.37.241.184\"\n\"September 22nd 2015, 11:24:46.727\",,\"1,968\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.177.240.217\"\n\"September 22nd 2015, 11:24:27.323\",,\"6,631\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"141.22.228.100\"\n\"September 22nd 2015, 11:24:21.796\",,\"8,086\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.142.140.200\"\n\"September 22nd 2015, 11:24:20.854\",,\"8,681\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"219.42.50.113\"\n\"September 22nd 2015, 11:24:18.207\",,\"9,283\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.172.121.192\"\n\"September 22nd 2015, 11:24:17.018\",,\"8,031\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"128.169.152.213\"\n\"September 22nd 2015, 11:23:49.933\",,\"3,345\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"94.154.194.208\"\n\"September 22nd 2015, 11:23:37.027\",,\"17,357\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"197.222.12.184\"\n\"September 22nd 2015, 11:22:27.800\",,\"6,213\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.226.232.233\"\n\"September 22nd 2015, 11:21:56.390\",,\"5,920\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.59.37.77\"\n\"September 22nd 2015, 11:21:20.441\",,\"7,853\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"225.209.251.160\"\n\"September 22nd 2015, 11:20:32.563\",,\"8,831\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.100.162.251\"\n\"September 22nd 2015, 11:20:31.821\",,\"12,863\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"142.92.239.70\"\n\"September 22nd 2015, 11:20:30.982\",,\"8,336\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.94.120.10\"\n\"September 22nd 2015, 11:20:28.579\",,\"3,566\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.140.171.133\"\n\"September 22nd 2015, 11:20:12.418\",,\"9,523\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.194.157.171\"\n\"September 22nd 2015, 11:20:04.228\",,\"9,683\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"117.2.255.240\"\n\"September 22nd 2015, 11:19:19.144\",,\"8,317\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.122.217.55\"\n\"September 22nd 2015, 11:18:25.437\",,\"14,924\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"36.160.226.203\"\n\"September 22nd 2015, 11:18:24.126\",,\"9,672\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.112.81.106\"\n\"September 22nd 2015, 11:18:23.972\",,\"1,969\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"188.225.40.190\"\n\"September 22nd 2015, 11:18:17.348\",,\"9,498\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.152.7.186\"\n\"September 22nd 2015, 11:18:13.696\",,\"3,954\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.206.73.252\"\n\"September 22nd 2015, 11:17:34.886\",,\"3,442\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.93.29.126\"\n\"September 22nd 2015, 11:17:25.064\",,\"7,194\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"120.101.20.104\"\n\"September 22nd 2015, 11:17:24.277\",,\"3,632\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.132.195.31\"\n\"September 22nd 2015, 11:17:23.735\",,\"9,483\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"167.165.89.8\"\n\"September 22nd 2015, 11:17:08.141\",,\"1,932\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.203.229.1\"\n\"September 22nd 2015, 11:16:36.051\",,\"9,475\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.38.138.172\"\n\"September 22nd 2015, 11:16:13.094\",,\"4,837\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.206.117.161\"\n\"September 22nd 2015, 11:16:10.465\",,\"19,416\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"7.179.148.96\"\n\"September 22nd 2015, 11:16:03.520\",,\"8,392\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"224.240.85.118\"\n\"September 22nd 2015, 11:15:35.594\",,\"9,552\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.190.189.77\"\n\"September 22nd 2015, 11:15:06.262\",,\"8,730\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.224.184.36\"\n\"September 22nd 2015, 11:14:36.212\",,\"3,305\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"121.50.181.157\"\n\"September 22nd 2015, 11:14:24.035\",,\"4,052\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.34.180.209\"\n\"September 22nd 2015, 11:14:13.636\",,\"7,059\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.29.90.185\"\n\"September 22nd 2015, 11:14:05.158\",,\"9,787\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"197.49.80.127\"\n\"September 22nd 2015, 11:14:00.027\",,\"7,174\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.236.125.37\"\n\"September 22nd 2015, 11:13:55.389\",,\"10,205\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.106.160.216\"\n\"September 22nd 2015, 11:13:54.163\",,\"6,396\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"67.238.57.221\"\n\"September 22nd 2015, 11:13:27.856\",,\"3,475\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.77.18.142\"\n\"September 22nd 2015, 11:13:17.367\",,\"6,717\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"167.165.89.8\"\n\"September 22nd 2015, 11:12:52.148\",,\"3,712\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"60.109.112.85\"\n\"September 22nd 2015, 11:12:45.766\",,\"5,816\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.220.227.11\"\n\"September 22nd 2015, 11:12:45.628\",,\"12,112\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"212.144.148.155\"\n\"September 22nd 2015, 11:12:42.637\",,\"7,286\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"76.120.12.168\"\n\"September 22nd 2015, 11:12:33.363\",,\"7,500\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"70.101.68.233\"\n\"September 22nd 2015, 11:12:18.157\",,\"7,300\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"246.251.72.171\"\n\"September 22nd 2015, 11:12:09.729\",,\"8,049\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.59.172.226\"\n\"September 22nd 2015, 11:12:08.876\",,\"7,611\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"184.125.153.221\"\n\"September 22nd 2015, 11:11:58.189\",,\"9,371\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.128.7.74\"\n\"September 22nd 2015, 11:11:47.150\",,\"3,815\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.150.212.12\"\n\"September 22nd 2015, 11:11:30.461\",,\"1,865\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.245.252.224\"\n\"September 22nd 2015, 11:10:58.821\",,\"3,458\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.76.124.169\"\n\"September 22nd 2015, 11:10:52.200\",,\"6,460\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.83.143.132\"\n\"September 22nd 2015, 11:10:41.762\",,\"4,405\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.216.169.176\"\n\"September 22nd 2015, 11:10:30.837\",,\"6,299\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.158.88.35\"\n\"September 22nd 2015, 11:10:30.573\",,\"5,016\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.12.231.216\"\n\"September 22nd 2015, 11:10:30.038\",,\"2,362\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"162.218.161.231\"\n\"September 22nd 2015, 11:10:30.032\",,\"2,263\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"56.87.32.139\"\n\"September 22nd 2015, 11:10:24.361\",,\"2,604\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"92.96.51.231\"\n\"September 22nd 2015, 11:09:58.895\",,\"6,339\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.53.70.40\"\n\"September 22nd 2015, 11:09:46.643\",,\"5,290\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.105.196.209\"\n\"September 22nd 2015, 11:09:21.640\",,\"5,133\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.6.126.193\"\n\"September 22nd 2015, 11:09:02.337\",,\"1,893\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"196.131.25.8\"\n\"September 22nd 2015, 11:08:45.210\",,\"5,624\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.216.173.242\"\n\"September 22nd 2015, 11:08:38.203\",,\"5,948\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.132.193.95\"\n\"September 22nd 2015, 11:08:35.143\",,\"3,672\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"158.179.121.61\"\n\"September 22nd 2015, 11:08:31.348\",,\"9,532\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.105.204.4\"\n\"September 22nd 2015, 11:08:28.294\",,\"5,930\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.206.117.161\"\n\"September 22nd 2015, 11:08:23.578\",,\"2,380\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.230.105.32\"\n\"September 22nd 2015, 11:08:00.504\",,\"5,406\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.71.171.141\"\n\"September 22nd 2015, 11:07:59.713\",,\"1,674\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"47.255.68.154\"\n\"September 22nd 2015, 11:07:55.914\",,\"6,444\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.196.54.80\"\n\"September 22nd 2015, 11:07:50.288\",,\"7,791\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.246.143.109\"\n\"September 22nd 2015, 11:07:25.614\",,\"4,112\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"182.207.77.200\"\n\"September 22nd 2015, 11:07:14.430\",,\"8,805\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"214.125.131.162\"\n\"September 22nd 2015, 11:06:47.219\",,\"2,903\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.79.108.136\"\n\"September 22nd 2015, 11:06:38.750\",,\"1,948\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.73.193.32\"\n\"September 22nd 2015, 11:06:24.934\",,\"7,008\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.199.194.23\"\n\"September 22nd 2015, 11:06:20.014\",,\"7,714\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.226.232.233\"\n\"September 22nd 2015, 11:06:13.374\",,\"3,536\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"117.112.55.75\"\n\"September 22nd 2015, 11:05:45.297\",,\"15,555\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"134.168.180.6\"\n\"September 22nd 2015, 11:05:37.994\",,\"3,455\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.219.233.187\"\n\"September 22nd 2015, 11:05:37.516\",,\"8,763\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.220.193.123\"\n\"September 22nd 2015, 11:05:35.790\",,\"6,204\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.37.94.4\"\n\"September 22nd 2015, 11:05:19.180\",,\"6,771\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.190.3.193\"\n\"September 22nd 2015, 11:05:02.894\",,\"5,094\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.51.178.50\"\n\"September 22nd 2015, 11:04:55.958\",,\"5,413\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"47.21.156.43\"\n\"September 22nd 2015, 11:04:48.740\",,\"8,669\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.92.154.173\"\n\"September 22nd 2015, 11:04:34.923\",,\"5,289\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"43.66.187.127\"\n\"September 22nd 2015, 11:04:28.370\",,\"2,889\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.89.186.2\"\n\"September 22nd 2015, 11:04:14.871\",,\"6,959\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.255.46.138\"\n\"September 22nd 2015, 11:04:09.678\",,\"9,326\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.183.234.114\"\n\"September 22nd 2015, 11:03:59.399\",,\"3,508\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.128.207.200\"\n\"September 22nd 2015, 11:03:57.747\",,\"4,576\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.202.168.250\"\n\"September 22nd 2015, 11:03:44.305\",,\"9,605\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"0.53.251.53\"\n\"September 22nd 2015, 11:03:40.180\",,\"8,805\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"45.138.192.138\"\n\"September 22nd 2015, 11:03:13.917\",,\"16,906\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.207.64.202\"\n\"September 22nd 2015, 11:03:13.773\",,\"6,090\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"43.164.236.145\"\n\"September 22nd 2015, 11:03:03.457\",,\"13,284\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.205.146.206\"\n\"September 22nd 2015, 11:02:41.798\",,\"7,298\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.255.16.81\"\n\"September 22nd 2015, 11:01:57.436\",,\"4,566\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.98.69.166\"\n\"September 22nd 2015, 11:01:46.317\",,\"9,517\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"139.104.238.37\"\n\"September 22nd 2015, 11:01:39.923\",,\"5,830\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.255.68.154\"\n\"September 22nd 2015, 11:01:26.988\",,\"4,659\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.122.217.55\"\n\"September 22nd 2015, 11:01:05.454\",,\"6,141\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.48.147.184\"\n\"September 22nd 2015, 11:00:55.838\",,\"3,431\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.182.13.142\"\n\"September 22nd 2015, 11:00:44.553\",,\"3,772\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.199.255.8\"\n\"September 22nd 2015, 11:00:31.254\",,\"5,846\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.221.41.27\"\n\"September 22nd 2015, 11:00:30.257\",,\"15,991\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"177.69.169.33\"\n\"September 22nd 2015, 11:00:28.649\",,\"1,546\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"65.135.134.42\"\n\"September 22nd 2015, 11:00:14.270\",,\"6,962\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.150.146.102\"\n\"September 22nd 2015, 10:59:37.146\",,\"7,755\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.220.3.248\"\n\"September 22nd 2015, 10:59:30.621\",,\"3,798\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"20.34.86.255\"\n\"September 22nd 2015, 10:59:28.326\",,\"5,377\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.142.140.200\"\n\"September 22nd 2015, 10:59:27.057\",,\"5,734\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.37.94.4\"\n\"September 22nd 2015, 10:59:13.448\",,\"16,744\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.53.96.88\"\n\"September 22nd 2015, 10:58:57.350\",,\"2,015\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.107.5.226\"\n\"September 22nd 2015, 10:58:48.131\",,\"4,116\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.108.3.2\"\n\"September 22nd 2015, 10:58:45.958\",,\"6,742\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.47.243.34\"\n\"September 22nd 2015, 10:58:29.439\",,\"4,249\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"106.217.103.105\"\n\"September 22nd 2015, 10:58:26.732\",,\"6,468\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.164.215.104\"\n\"September 22nd 2015, 10:58:24.471\",,\"8,397\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.144.90.74\"\n\"September 22nd 2015, 10:58:21.502\",,\"3,469\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.55.130.114\"\n\"September 22nd 2015, 10:58:06.842\",,\"9,775\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.152.13.69\"\n\"September 22nd 2015, 10:57:58.128\",,\"5,458\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"92.96.51.231\"\n\"September 22nd 2015, 10:57:52.543\",,\"6,887\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.7.132.13\"\n\"September 22nd 2015, 10:57:48.141\",,\"2,146\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"92.153.81.10\"\n\"September 22nd 2015, 10:57:28.904\",,\"18,676\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.188.44.145\"\n\"September 22nd 2015, 10:57:00.082\",,\"6,946\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"14.128.128.34\"\n\"September 22nd 2015, 10:56:45.651\",,\"8,659\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"154.55.57.32\"\n\"September 22nd 2015, 10:56:29.577\",,\"4,739\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.34.180.209\"\n\"September 22nd 2015, 10:56:29.163\",,\"4,612\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"210.210.88.232\"\n\"September 22nd 2015, 10:56:11.055\",,\"4,153\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.50.181.157\"\n\"September 22nd 2015, 10:55:58.438\",,\"8,254\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"61.174.151.11\"\n\"September 22nd 2015, 10:55:52.548\",,\"8,393\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.227.195.13\"\n\"September 22nd 2015, 10:55:48.561\",,\"3,481\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"241.49.31.82\"\n\"September 22nd 2015, 10:55:45.809\",,\"4,105\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"1.59.159.138\"\n\"September 22nd 2015, 10:55:44.769\",,\"4,207\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"186.182.14.125\"\n\"September 22nd 2015, 10:55:21.352\",,\"4,560\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"233.126.159.144\"\n\"September 22nd 2015, 10:55:20.357\",,\"6,821\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"187.33.177.173\"\n\"September 22nd 2015, 10:55:13.702\",,\"7,603\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.61.182.136\"\n\"September 22nd 2015, 10:55:03.903\",,\"6,683\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.106.29.25\"\n\"September 22nd 2015, 10:54:53.592\",,\"2,831\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"14.128.128.34\"\n\"September 22nd 2015, 10:54:49.853\",,\"5,802\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.220.171.248\"\n\"September 22nd 2015, 10:54:42.746\",,\"3,336\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.120.60.102\"\n\"September 22nd 2015, 10:54:35.040\",,\"7,715\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.147.159.107\"\n\"September 22nd 2015, 10:54:23.143\",,\"9,331\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.46.176.132\"\n\"September 22nd 2015, 10:54:16.944\",,\"8,794\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.72.217.98\"\n\"September 22nd 2015, 10:54:11.464\",,\"2,983\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"230.117.3.60\"\n\"September 22nd 2015, 10:54:03.955\",,\"1,750\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.108.62.100\"\n\"September 22nd 2015, 10:53:55.761\",,\"4,237\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.237.148.2\"\n\"September 22nd 2015, 10:53:44.963\",,\"3,005\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.130.100.179\"\n\"September 22nd 2015, 10:53:42.425\",,\"2,958\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"49.95.6.196\"\n\"September 22nd 2015, 10:53:40.320\",,\"5,478\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"20.178.152.193\"\n\"September 22nd 2015, 10:53:35.725\",,\"14,799\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"65.135.134.42\"\n\"September 22nd 2015, 10:53:29.501\",,\"9,111\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.23.191.85\"\n\"September 22nd 2015, 10:53:08.279\",,\"6,350\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"35.222.204.135\"\n\"September 22nd 2015, 10:52:59.104\",,\"1,564\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.42.174.116\"\n\"September 22nd 2015, 10:52:48.569\",,\"5,338\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.7.97.184\"\n\"September 22nd 2015, 10:51:46.692\",,\"4,588\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"19.166.42.220\"\n\"September 22nd 2015, 10:51:41.642\",,\"9,475\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"20.222.131.172\"\n\"September 22nd 2015, 10:51:34.383\",,\"5,059\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"71.241.97.89\"\n\"September 22nd 2015, 10:51:14.471\",,\"3,691\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.219.108.141\"\n\"September 22nd 2015, 10:51:08.490\",,\"2,883\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.70.171.86\"\n\"September 22nd 2015, 10:51:01.958\",,\"15,717\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.244.83.137\"\n\"September 22nd 2015, 10:50:43.206\",,\"6,393\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.165.237.200\"\n\"September 22nd 2015, 10:50:34.843\",,\"2,561\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.172.121.192\"\n\"September 22nd 2015, 10:50:32.285\",,\"8,134\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.201.212.220\"\n\"September 22nd 2015, 10:50:30.003\",,\"3,610\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"116.126.47.226\"\n\"September 22nd 2015, 10:50:27.883\",,\"10,953\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"60.71.214.79\"\n\"September 22nd 2015, 10:50:22.681\",,\"4,541\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"106.142.212.24\"\n\"September 22nd 2015, 10:49:42.612\",,\"1,724\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"14.54.226.211\"\n\"September 22nd 2015, 10:49:38.712\",,\"7,385\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"84.205.43.205\"\n\"September 22nd 2015, 10:49:36.482\",,\"6,901\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"19.143.189.70\"\n\"September 22nd 2015, 10:49:35.529\",,\"6,768\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"203.118.132.112\"\n\"September 22nd 2015, 10:49:29.172\",,\"3,521\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"100.50.11.41\"\n\"September 22nd 2015, 10:49:22.503\",,\"1,737\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"11.195.111.241\"\n\"September 22nd 2015, 10:48:54.399\",,\"6,138\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"188.28.50.40\"\n\"September 22nd 2015, 10:48:52.849\",,\"6,604\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"1.17.21.12\"\n\"September 22nd 2015, 10:48:52.141\",,\"7,461\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.216.205.112\"\n\"September 22nd 2015, 10:48:35.980\",,\"5,114\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"123.85.77.216\"\n\"September 22nd 2015, 10:48:22.303\",,\"4,807\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.119.63.71\"\n\"September 22nd 2015, 10:48:03.819\",,\"6,068\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.143.125.181\"\n\"September 22nd 2015, 10:47:54.242\",,\"1,528\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.222.131.172\"\n\"September 22nd 2015, 10:47:43.764\",,\"1,560\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.22.23.73\"\n\"September 22nd 2015, 10:47:43.378\",,\"5,436\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"140.22.23.73\"\n\"September 22nd 2015, 10:47:39.015\",,\"8,252\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"50.202.67.216\"\n\"September 22nd 2015, 10:47:37.503\",,\"5,957\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.40.103.254\"\n\"September 22nd 2015, 10:47:36.109\",,\"6,182\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"59.184.160.105\"\n\"September 22nd 2015, 10:47:19.074\",,\"2,177\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.115.221.35\"\n\"September 22nd 2015, 10:47:11.628\",,\"5,574\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.126.43.84\"\n\"September 22nd 2015, 10:46:56.612\",,\"2,599\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.93.219.234\"\n\"September 22nd 2015, 10:46:38.264\",,\"5,960\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"59.184.160.105\"\n\"September 22nd 2015, 10:46:20.288\",,\"4,891\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.115.77.46\"\n\"September 22nd 2015, 10:46:17.267\",,\"1,639\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.223.93.34\"\n\"September 22nd 2015, 10:46:11.259\",,\"9,535\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.220.193.123\"\n\"September 22nd 2015, 10:46:08.468\",,\"3,180\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.94.183.177\"\n\"September 22nd 2015, 10:45:55.750\",,\"3,476\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"214.13.7.53\"\n\"September 22nd 2015, 10:45:07.378\",,\"9,813\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"154.79.180.7\"\n\"September 22nd 2015, 10:45:05.266\",,\"6,239\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.137.53.85\"\n\"September 22nd 2015, 10:45:03.249\",,\"8,030\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"120.99.203.64\"\n\"September 22nd 2015, 10:44:42.503\",,\"7,848\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"3.105.183.164\"\n\"September 22nd 2015, 10:44:29.984\",,\"9,777\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.161.172.168\"\n\"September 22nd 2015, 10:44:26.350\",,\"9,082\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"134.62.86.139\"\n\"September 22nd 2015, 10:44:24.448\",,\"18,798\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.71.171.141\"\n\"September 22nd 2015, 10:44:16.731\",,\"9,809\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.85.53.125\"\n\"September 22nd 2015, 10:43:56.722\",,\"5,828\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"77.208.78.205\"\n\"September 22nd 2015, 10:43:45.241\",,\"3,422\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.17.130.204\"\n\"September 22nd 2015, 10:43:31.636\",,\"3,054\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.115.77.46\"\n\"September 22nd 2015, 10:43:31.617\",,\"6,182\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.115.77.46\"\n\"September 22nd 2015, 10:43:30.982\",,\"4,624\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"61.174.151.11\"\n\"September 22nd 2015, 10:43:19.418\",,\"6,400\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"13.193.146.83\"\n\"September 22nd 2015, 10:43:15.341\",,\"6,115\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.68.146.97\"\n\"September 22nd 2015, 10:43:05.328\",,\"6,142\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.222.131.172\"\n\"September 22nd 2015, 10:43:04.469\",,\"2,252\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.245.252.224\"\n\"September 22nd 2015, 10:42:27.206\",,\"8,642\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.141.52.142\"\n\"September 22nd 2015, 10:42:21.628\",,\"6,505\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"147.244.160.168\"\n\"September 22nd 2015, 10:42:03.401\",,\"2,901\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.244.83.137\"\n\"September 22nd 2015, 10:41:55.463\",,\"13,654\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.139.45.110\"\n\"September 22nd 2015, 10:41:55.415\",,\"3,145\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.42.218.145\"\n\"September 22nd 2015, 10:41:40.255\",,\"18,517\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.207.64.202\"\n\"September 22nd 2015, 10:41:35.892\",,\"4,581\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.75.33.146\"\n\"September 22nd 2015, 10:41:19.794\",,\"17,911\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"113.35.23.20\"\n\"September 22nd 2015, 10:41:18.082\",,\"7,329\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.106.209.231\"\n\"September 22nd 2015, 10:41:07.294\",,\"19,607\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.34.138.226\"\n\"September 22nd 2015, 10:41:00.248\",,\"2,116\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.63.63.137\"\n\"September 22nd 2015, 10:40:57.809\",,\"9,127\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"136.122.153.94\"\n\"September 22nd 2015, 10:40:49.590\",,\"6,241\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.39.140.144\"\n\"September 22nd 2015, 10:40:41.835\",,\"6,445\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"234.206.115.94\"\n\"September 22nd 2015, 10:40:24.852\",,\"8,705\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"197.49.80.127\"\n\"September 22nd 2015, 10:40:24.189\",,\"7,562\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"30.5.71.170\"\n\"September 22nd 2015, 10:40:16.206\",,\"8,302\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.61.116.63\"\n\"September 22nd 2015, 10:40:03.758\",,\"3,771\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"175.99.184.146\"\n\"September 22nd 2015, 10:39:58.456\",,\"5,271\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"178.122.0.0\"\n\"September 22nd 2015, 10:39:43.880\",,\"9,171\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.106.160.216\"\n\"September 22nd 2015, 10:39:28.726\",,\"8,650\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.37.253.193\"\n\"September 22nd 2015, 10:39:20.080\",,\"8,317\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.16.191.123\"\n\"September 22nd 2015, 10:38:44.729\",,\"8,560\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"76.240.114.69\"\n\"September 22nd 2015, 10:38:39.903\",,\"1,979\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.6.99.158\"\n\"September 22nd 2015, 10:38:33.429\",,\"3,256\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.29.249.167\"\n\"September 22nd 2015, 10:38:31.037\",,\"7,550\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"155.34.86.215\"\n\"September 22nd 2015, 10:38:26.911\",,\"6,167\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"212.113.62.183\"\n\"September 22nd 2015, 10:37:44.183\",,\"1,624\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"80.225.247.245\"\n\"September 22nd 2015, 10:36:55.388\",,\"4,140\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.2.62.18\"\n\"September 22nd 2015, 10:36:48.961\",,\"7,766\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"94.48.29.38\"\n\"September 22nd 2015, 10:36:37.169\",,\"5,199\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.193.157.89\"\n\"September 22nd 2015, 10:36:30.855\",,\"7,289\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.220.193.123\"\n\"September 22nd 2015, 10:36:21.756\",,\"9,922\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"230.249.93.77\"\n\"September 22nd 2015, 10:36:01.624\",,\"8,624\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.158.217.196\"\n\"September 22nd 2015, 10:35:53.583\",,\"4,380\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.27.68.62\"\n\"September 22nd 2015, 10:35:50.235\",,\"15,565\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.55.251.105\"\n\"September 22nd 2015, 10:35:40.947\",,\"3,354\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"236.90.86.83\"\n\"September 22nd 2015, 10:35:09.336\",,\"9,381\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"146.229.88.89\"\n\"September 22nd 2015, 10:35:05.018\",,\"9,133\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"31.38.33.47\"\n\"September 22nd 2015, 10:34:59.124\",,\"3,362\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"32.146.206.24\"\n\"September 22nd 2015, 10:34:56.771\",,\"7,849\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"13.38.168.2\"\n\"September 22nd 2015, 10:34:47.041\",,\"6,446\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"148.47.216.255\"\n\"September 22nd 2015, 10:34:32.057\",,\"8,559\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.84.111.185\"\n\"September 22nd 2015, 10:34:26.072\",,\"4,211\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.109.118.102\"\n\"September 22nd 2015, 10:34:18.750\",,\"1,863\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.109.118.102\"\n\"September 22nd 2015, 10:34:15.305\",,\"1,975\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.123.33.106\"\n\"September 22nd 2015, 10:33:42.075\",,\"11,712\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.255.46.138\"\n\"September 22nd 2015, 10:33:39.829\",,\"7,992\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.185.158.249\"\n\"September 22nd 2015, 10:33:37.219\",,\"9,693\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.151.244.234\"\n\"September 22nd 2015, 10:33:03.292\",,\"1,919\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.209.116.94\"\n\"September 22nd 2015, 10:32:38.664\",,\"4,050\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.17.191.204\"\n\"September 22nd 2015, 10:32:28.263\",,\"5,074\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.172.121.192\"\n\"September 22nd 2015, 10:32:23.999\",,\"8,972\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.79.189.11\"\n\"September 22nd 2015, 10:32:21.495\",,\"6,215\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"50.202.67.216\"\n\"September 22nd 2015, 10:31:54.558\",,\"3,894\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.188.1.153\"\n\"September 22nd 2015, 10:31:43.888\",,\"4,613\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.120.12.168\"\n\"September 22nd 2015, 10:31:21.266\",,\"17,219\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.207.101.203\"\n\"September 22nd 2015, 10:31:02.081\",,\"7,381\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.191.218.38\"\n\"September 22nd 2015, 10:30:57.433\",,\"5,105\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"20.178.152.193\"\n\"September 22nd 2015, 10:30:53.272\",,\"6,410\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.219.108.141\"\n\"September 22nd 2015, 10:30:39.159\",,\"15,059\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.100.162.251\"\n\"September 22nd 2015, 10:30:34.185\",,\"9,671\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"255.58.31.9\"\n\"September 22nd 2015, 10:30:14.283\",,\"12,085\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"128.248.96.80\"\n\"September 22nd 2015, 10:30:10.146\",,\"9,784\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"127.254.107.86\"\n\"September 22nd 2015, 10:30:04.384\",,\"5,576\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"81.191.227.104\"\n\"September 22nd 2015, 10:30:00.893\",,\"6,842\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.206.227.106\"\n\"September 22nd 2015, 10:30:00.063\",,\"4,826\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"81.1.40.59\"\n\"September 22nd 2015, 10:29:54.831\",,\"6,321\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.151.84.213\"\n\"September 22nd 2015, 10:29:49.542\",,\"2,677\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.247.158.26\"\n\"September 22nd 2015, 10:29:31.750\",,\"4,835\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.247.158.26\"\n\"September 22nd 2015, 10:29:28.983\",,\"13,417\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.90.39.228\"\n\"September 22nd 2015, 10:29:05.876\",,\"13,367\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"202.123.188.108\"\n\"September 22nd 2015, 10:28:56.193\",,\"9,828\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.63.84.25\"\n\"September 22nd 2015, 10:28:52.834\",,\"9,021\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"71.100.136.81\"\n\"September 22nd 2015, 10:28:51.755\",,\"2,050\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"186.123.19.234\"\n\"September 22nd 2015, 10:28:41.507\",,\"5,538\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.152.141.244\"\n\"September 22nd 2015, 10:27:53.825\",,\"3,769\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.39.140.144\"\n\"September 22nd 2015, 10:27:27.723\",,\"3,683\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.4.99.92\"\n\"September 22nd 2015, 10:27:21.043\",,\"5,584\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.122.217.55\"\n\"September 22nd 2015, 10:27:20.163\",,\"2,805\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"84.205.43.205\"\n\"September 22nd 2015, 10:27:19.045\",,\"4,487\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.155.247.152\"\n\"September 22nd 2015, 10:27:16.677\",,\"1,967\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.188.1.153\"\n\"September 22nd 2015, 10:27:08.446\",,\"9,279\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"96.34.109.191\"\n\"September 22nd 2015, 10:27:08.273\",,\"9,016\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.157.127.149\"\n\"September 22nd 2015, 10:27:06.258\",,\"3,911\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"199.113.69.162\"\n\"September 22nd 2015, 10:27:02.585\",,\"8,925\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.80.208.225\"\n\"September 22nd 2015, 10:27:00.670\",,\"8,022\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"177.194.175.66\"\n\"September 22nd 2015, 10:26:56.939\",,\"6,652\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.12.132.188\"\n\"September 22nd 2015, 10:26:48.021\",,\"5,893\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.155.247.152\"\n\"September 22nd 2015, 10:26:41.589\",,\"9,999\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.5.167.41\"\n\"September 22nd 2015, 10:26:35.252\",,\"9,334\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.122.34.237\"\n\"September 22nd 2015, 10:26:32.558\",,\"1,601\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.53.70.40\"\n\"September 22nd 2015, 10:26:29.666\",,\"8,455\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"37.73.193.32\"\n\"September 22nd 2015, 10:26:25.564\",,\"3,654\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.142.140.200\"\n\"September 22nd 2015, 10:26:15.322\",,\"1,645\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.209.234.93\"\n\"September 22nd 2015, 10:26:06.708\",,\"3,403\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.6.126.193\"\n\"September 22nd 2015, 10:25:53.283\",,\"9,631\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"204.17.159.23\"\n\"September 22nd 2015, 10:25:38.884\",,\"1,948\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.34.138.226\"\n\"September 22nd 2015, 10:25:27.046\",,\"3,265\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"178.122.0.0\"\n\"September 22nd 2015, 10:25:21.095\",,\"7,049\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.83.247.30\"\n\"September 22nd 2015, 10:24:04.312\",,\"4,671\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"75.246.160.14\"\n\"September 22nd 2015, 10:23:38.561\",,\"6,694\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"24.78.153.162\"\n\"September 22nd 2015, 10:23:35.438\",,\"3,607\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.117.73.210\"\n\"September 22nd 2015, 10:23:28.748\",,\"7,974\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"178.122.0.0\"\n\"September 22nd 2015, 10:23:28.246\",,\"4,482\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.68.89.92\"\n\"September 22nd 2015, 10:23:17.542\",,\"16,906\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"47.106.79.211\"\n\"September 22nd 2015, 10:22:46.280\",,\"6,452\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.217.241.90\"\n\"September 22nd 2015, 10:21:49.940\",,\"3,755\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.157.227.112\"\n\"September 22nd 2015, 10:21:36.812\",,\"9,150\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.82.217.118\"\n\"September 22nd 2015, 10:21:34.017\",,\"9,155\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"255.56.89.50\"\n\"September 22nd 2015, 10:21:25.048\",,\"7,954\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.237.64.228\"\n\"September 22nd 2015, 10:21:13.955\",,\"3,242\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.4.152.176\"\n\"September 22nd 2015, 10:20:50.114\",,\"6,770\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.200.84.215\"\n\"September 22nd 2015, 10:20:46.741\",,\"9,304\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.54.235.229\"\n\"September 22nd 2015, 10:20:23.270\",,\"6,803\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.210.116.210\"\n\"September 22nd 2015, 10:20:03.090\",,\"3,316\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"122.71.171.141\"\n\"September 22nd 2015, 10:19:53.389\",,\"6,338\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.58.145.175\"\n\"September 22nd 2015, 10:19:50.585\",,\"6,104\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.247.158.26\"\n\"September 22nd 2015, 10:19:49.078\",,\"5,789\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.147.159.107\"\n\"September 22nd 2015, 10:19:46.430\",,\"7,592\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.255.46.138\"\n\"September 22nd 2015, 10:19:36.011\",,\"7,191\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"117.112.55.75\"\n\"September 22nd 2015, 10:19:27.328\",,\"8,673\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.147.43.175\"\n\"September 22nd 2015, 10:19:26.422\",,\"1,988\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.43.210.167\"\n\"September 22nd 2015, 10:19:22.239\",,\"4,669\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.56.56.106\"\n\"September 22nd 2015, 10:18:55.021\",,\"8,235\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.195.18.133\"\n\"September 22nd 2015, 10:18:42.842\",,\"8,745\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"244.15.131.137\"\n\"September 22nd 2015, 10:18:32.937\",,\"4,233\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.75.54.137\"\n\"September 22nd 2015, 10:18:23.631\",,\"3,444\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.70.170.56\"\n\"September 22nd 2015, 10:17:56.787\",,\"1,544\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"22.87.85.59\"\n\"September 22nd 2015, 10:17:37.340\",,\"3,271\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.19.155.203\"\n\"September 22nd 2015, 10:17:25.601\",,\"2,080\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.34.187.225\"\n\"September 22nd 2015, 10:17:09.500\",,\"3,940\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"102.191.15.62\"\n\"September 22nd 2015, 10:17:06.288\",,\"5,143\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"187.122.228.77\"\n\"September 22nd 2015, 10:17:05.859\",,\"3,685\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"24.5.165.192\"\n\"September 22nd 2015, 10:17:03.126\",,\"9,765\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.111.249.239\"\n\"September 22nd 2015, 10:16:59.962\",,\"6,526\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"47.167.142.250\"\n\"September 22nd 2015, 10:16:55.911\",,\"4,742\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"74.224.77.232\"\n\"September 22nd 2015, 10:16:49.626\",,\"6,154\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.219.72.105\"\n\"September 22nd 2015, 10:16:45.320\",,\"5,298\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.237.64.228\"\n\"September 22nd 2015, 10:16:34.551\",,\"4,771\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.133.180.245\"\n\"September 22nd 2015, 10:16:14.123\",,\"8,694\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"118.63.242.217\"\n\"September 22nd 2015, 10:16:10.898\",,\"3,707\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.206.227.106\"\n\"September 22nd 2015, 10:16:02.258\",,\"3,144\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"242.22.22.10\"\n\"September 22nd 2015, 10:15:59.631\",,\"5,054\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"69.87.49.40\"\n\"September 22nd 2015, 10:15:46.026\",,\"2,022\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.182.13.142\"\n\"September 22nd 2015, 10:15:39.614\",,\"5,362\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"56.87.32.139\"\n\"September 22nd 2015, 10:15:37.678\",,\"5,334\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"67.47.100.255\"\n\"September 22nd 2015, 10:15:12.274\",,\"6,407\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.137.53.85\"\n\"September 22nd 2015, 10:15:11.695\",,\"4,173\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.90.215.57\"\n\"September 22nd 2015, 10:15:06.190\",,\"6,352\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"144.31.154.6\"\n\"September 22nd 2015, 10:15:00.164\",,\"3,682\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.53.114.44\"\n\"September 22nd 2015, 10:14:53.886\",,\"16,363\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.3.32.15\"\n\"September 22nd 2015, 10:14:53.082\",,\"4,199\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.207.64.202\"\n\"September 22nd 2015, 10:14:50.476\",,\"2,091\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"106.142.212.24\"\n\"September 22nd 2015, 10:14:48.279\",,\"5,033\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"32.146.206.24\"\n\"September 22nd 2015, 10:14:32.342\",,\"1,897\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"68.107.5.226\"\n\"September 22nd 2015, 10:14:31.225\",,\"9,435\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.192.80.162\"\n\"September 22nd 2015, 10:14:06.945\",,\"5,077\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.141.35.68\"\n\"September 22nd 2015, 10:14:06.173\",,\"8,292\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.255.68.154\"\n\"September 22nd 2015, 10:13:59.060\",,\"2,644\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.214.104.239\"\n\"September 22nd 2015, 10:13:48.137\",,\"5,743\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"75.246.160.14\"\n\"September 22nd 2015, 10:13:32.212\",,\"4,791\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"10.91.83.148\"\n\"September 22nd 2015, 10:13:29.859\",,\"18,582\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.37.94.4\"\n\"September 22nd 2015, 10:13:21.805\",,\"7,168\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"92.96.51.231\"\n\"September 22nd 2015, 10:13:20.381\",,\"4,960\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.173.30.33\"\n\"September 22nd 2015, 10:13:10.793\",,\"4,794\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.217.241.90\"\n\"September 22nd 2015, 10:13:08.480\",,\"9,406\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.58.47.229\"\n\"September 22nd 2015, 10:13:06.898\",,\"3,209\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"208.98.69.166\"\n\"September 22nd 2015, 10:13:04.003\",,\"12,866\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"169.247.113.252\"\n\"September 22nd 2015, 10:13:02.044\",,\"6,371\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"36.41.204.197\"\n\"September 22nd 2015, 10:12:34.308\",,\"5,751\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.57.26.210\"\n\"September 22nd 2015, 10:12:32.801\",,\"6,213\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"197.49.80.127\"\n\"September 22nd 2015, 10:12:12.109\",,\"9,675\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"234.206.115.94\"\n\"September 22nd 2015, 10:12:00.852\",,\"3,031\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.220.171.248\"\n\"September 22nd 2015, 10:11:45.701\",,\"3,856\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"162.218.161.231\"\n\"September 22nd 2015, 10:11:41.814\",,\"8,199\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.119.63.71\"\n\"September 22nd 2015, 10:11:41.200\",,\"9,467\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"32.146.206.24\"\n\"September 22nd 2015, 10:11:41.186\",,\"2,059\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.172.111.30\"\n\"September 22nd 2015, 10:11:22.176\",,\"9,836\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.169.230.188\"\n\"September 22nd 2015, 10:11:12.666\",,\"3,866\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.141.233.13\"\n\"September 22nd 2015, 10:11:08.115\",,\"9,494\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.250.210.253\"\n\"September 22nd 2015, 10:11:02.191\",,\"8,153\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"23.178.170.24\"\n\"September 22nd 2015, 10:10:39.783\",,\"7,596\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"181.135.152.88\"\n\"September 22nd 2015, 10:10:34.402\",,\"3,386\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.122.34.237\"\n\"September 22nd 2015, 10:10:25.726\",,\"7,405\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.128.7.74\"\n\"September 22nd 2015, 10:10:23.728\",,\"4,748\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.122.34.237\"\n\"September 22nd 2015, 10:10:08.827\",,\"4,469\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.228.1.71\"\n\"September 22nd 2015, 10:09:51.518\",,\"2,435\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.0.98.104\"\n\"September 22nd 2015, 10:09:39.089\",,\"9,001\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.209.234.93\"\n\"September 22nd 2015, 10:09:37.981\",,\"1,809\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.79.189.11\"\n\"September 22nd 2015, 10:09:31.472\",,\"2,183\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.119.62.60\"\n\"September 22nd 2015, 10:09:30.018\",,\"1,688\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.128.7.74\"\n\"September 22nd 2015, 10:09:13.413\",,\"9,545\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.90.215.57\"\n\"September 22nd 2015, 10:09:11.237\",,\"7,634\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.195.163.57\"\n\"September 22nd 2015, 10:09:05.491\",,\"9,072\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"177.194.175.66\"\n\"September 22nd 2015, 10:08:48.600\",,\"9,560\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"106.142.212.24\"\n\"September 22nd 2015, 10:08:29.071\",,\"4,263\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.0.188.251\"\n\"September 22nd 2015, 10:08:28.982\",,\"5,859\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.112.222.13\"\n\"September 22nd 2015, 10:08:07.849\",,\"8,171\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.152.176.23\"\n\"September 22nd 2015, 10:07:30.605\",,\"6,569\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.204.140.157\"\n\"September 22nd 2015, 10:07:28.492\",,\"8,497\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"145.211.179.106\"\n\"September 22nd 2015, 10:07:17.834\",,\"15,667\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.200.84.215\"\n\"September 22nd 2015, 10:07:04.601\",,\"9,081\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.19.155.203\"\n\"September 22nd 2015, 10:06:57.780\",,\"8,884\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"101.145.158.45\"\n\"September 22nd 2015, 10:06:05.725\",,\"3,142\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.189.88.90\"\n\"September 22nd 2015, 10:06:00.924\",,\"6,095\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.55.195.184\"\n\"September 22nd 2015, 10:05:47.055\",,\"2,897\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.171.208.139\"\n\"September 22nd 2015, 10:05:23.557\",,\"4,805\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.164.244.131\"\n\"September 22nd 2015, 10:05:22.343\",,\"1,717\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.1.142.144\"\n\"September 22nd 2015, 10:05:08.195\",,\"2,682\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.11.189.233\"\n\"September 22nd 2015, 10:04:55.975\",,\"9,211\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"133.211.153.90\"\n\"September 22nd 2015, 10:04:55.544\",,\"7,339\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.79.158.95\"\n\"September 22nd 2015, 10:04:54.530\",,\"9,812\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.154.233.154\"\n\"September 22nd 2015, 10:04:48.996\",,\"3,217\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"211.0.102.190\"\n\"September 22nd 2015, 10:04:42.928\",,\"5,124\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.172.121.192\"\n\"September 22nd 2015, 10:04:35.749\",,\"2,058\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"236.110.56.1\"\n\"September 22nd 2015, 10:04:15.433\",,\"5,108\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"144.135.123.19\"\n\"September 22nd 2015, 10:04:05.271\",,\"3,015\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.133.180.245\"\n\"September 22nd 2015, 10:04:03.278\",,\"8,928\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"36.41.204.197\"\n\"September 22nd 2015, 10:03:59.218\",,\"3,680\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"31.245.21.115\"\n\"September 22nd 2015, 10:03:35.301\",,\"1,855\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"234.206.115.94\"\n\"September 22nd 2015, 10:03:22.979\",,\"5,672\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.243.109.222\"\n\"September 22nd 2015, 10:03:19.681\",,\"6,438\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"92.96.51.231\"\n\"September 22nd 2015, 10:03:16.519\",,\"10,630\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"7.218.211.125\"\n\"September 22nd 2015, 10:03:16.471\",,\"5,287\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"230.117.3.60\"\n\"September 22nd 2015, 10:03:03.007\",,\"6,774\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.105.165.220\"\n\"September 22nd 2015, 10:03:00.780\",,\"3,823\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"129.24.204.40\"\n\"September 22nd 2015, 10:02:57.886\",,\"7,739\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.126.43.84\"\n\"September 22nd 2015, 10:02:57.094\",,\"1,556\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.13.113.3\"\n\"September 22nd 2015, 10:02:47.712\",,\"7,137\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"61.52.11.157\"\n\"September 22nd 2015, 10:02:47.244\",,\"4,629\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"79.37.60.109\"\n\"September 22nd 2015, 10:02:40.739\",,\"9,789\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.79.108.136\"\n\"September 22nd 2015, 10:02:30.400\",,\"8,993\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.85.53.125\"\n\"September 22nd 2015, 10:02:19.459\",,\"5,444\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.159.183.77\"\n\"September 22nd 2015, 10:02:11.878\",,\"9,907\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"81.191.227.104\"\n\"September 22nd 2015, 10:02:07.795\",,\"7,418\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.55.141.62\"\n\"September 22nd 2015, 10:02:03.916\",,\"7,714\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.24.249.29\"\n\"September 22nd 2015, 10:01:56.141\",,\"7,996\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.164.244.131\"\n\"September 22nd 2015, 10:01:31.248\",,\"2,987\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.160.62.179\"\n\"September 22nd 2015, 10:01:28.470\",,\"9,053\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"38.29.122.137\"\n\"September 22nd 2015, 10:01:10.142\",,\"9,752\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.115.221.35\"\n\"September 22nd 2015, 10:00:59.208\",,\"1,724\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.205.146.206\"\n\"September 22nd 2015, 10:00:51.060\",,\"7,420\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.144.75.220\"\n\"September 22nd 2015, 10:00:32.744\",,\"5,857\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.99.243.183\"\n\"September 22nd 2015, 10:00:04.793\",,\"3,543\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.139.46.29\"\n\"September 22nd 2015, 10:00:01.917\",,\"5,834\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"242.22.22.10\"\n\"September 22nd 2015, 09:59:49.237\",,\"6,589\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.236.125.37\"\n\"September 22nd 2015, 09:59:36.815\",,\"6,332\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"22.7.121.157\"\n\"September 22nd 2015, 09:59:24.346\",,\"4,108\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.223.93.34\"\n\"September 22nd 2015, 09:59:20.982\",,\"5,179\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.214.104.239\"\n\"September 22nd 2015, 09:58:29.333\",,\"5,863\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.148.221.121\"\n\"September 22nd 2015, 09:58:27.633\",,\"2,219\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.34.210.235\"\n\"September 22nd 2015, 09:58:25.838\",,\"2,384\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"79.33.226.187\"\n\"September 22nd 2015, 09:58:17.913\",,\"2,331\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.156.52.180\"\n\"September 22nd 2015, 09:58:14.403\",,\"6,905\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"86.21.236.176\"\n\"September 22nd 2015, 09:58:14.394\",,\"4,555\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.200.4.172\"\n\"September 22nd 2015, 09:58:01.415\",,\"7,627\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.33.120.224\"\n\"September 22nd 2015, 09:57:49.103\",,\"2,412\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.4.152.176\"\n\"September 22nd 2015, 09:57:48.507\",,\"8,133\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.237.11.219\"\n\"September 22nd 2015, 09:57:34.396\",,\"3,423\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"234.201.75.147\"\n\"September 22nd 2015, 09:57:32.685\",,\"16,831\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"143.84.142.7\"\n\"September 22nd 2015, 09:57:11.767\",,\"2,393\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.114.204.184\"\n\"September 22nd 2015, 09:57:10.712\",,\"8,500\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"35.88.165.183\"\n\"September 22nd 2015, 09:57:10.058\",,\"9,931\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.69.255.135\"\n\"September 22nd 2015, 09:56:56.721\",,\"8,090\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"70.101.68.233\"\n\"September 22nd 2015, 09:56:29.591\",,\"7,071\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.161.247.172\"\n\"September 22nd 2015, 09:56:27.099\",,\"5,673\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"43.164.236.145\"\n\"September 22nd 2015, 09:56:04.386\",,\"6,318\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"224.183.190.156\"\n\"September 22nd 2015, 09:55:54.829\",,\"5,266\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"66.201.249.221\"\n\"September 22nd 2015, 09:55:44.102\",,\"4,343\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.76.243.51\"\n\"September 22nd 2015, 09:55:30.392\",,\"2,104\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"202.22.74.232\"\n\"September 22nd 2015, 09:55:28.482\",,\"9,414\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"244.112.251.87\"\n\"September 22nd 2015, 09:55:23.132\",,\"6,286\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"180.37.241.184\"\n\"September 22nd 2015, 09:55:14.795\",,\"2,935\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"74.214.76.90\"\n\"September 22nd 2015, 09:54:51.588\",,\"18,261\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.79.108.136\"\n\"September 22nd 2015, 09:54:42.787\",,\"3,147\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.19.117.208\"\n\"September 22nd 2015, 09:54:41.195\",,\"9,939\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.11.66.39\"\n\"September 22nd 2015, 09:54:29.118\",,\"7,460\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.55.80.52\"\n\"September 22nd 2015, 09:54:28.990\",,\"10,946\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.60.53.165\"\n\"September 22nd 2015, 09:54:16.142\",,\"6,191\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.148.228.141\"\n\"September 22nd 2015, 09:54:14.466\",,\"9,957\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.117.135.38\"\n\"September 22nd 2015, 09:54:12.631\",,\"3,114\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.218.253.140\"\n\"September 22nd 2015, 09:54:11.626\",,\"7,211\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"219.32.94.10\"\n\"September 22nd 2015, 09:54:07.021\",,\"4,395\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.120.146.16\"\n\"September 22nd 2015, 09:54:04.539\",,\"4,771\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.195.208.118\"\n\"September 22nd 2015, 09:53:59.451\",,\"9,846\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.206.117.161\"\n\"September 22nd 2015, 09:53:52.795\",,\"5,692\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"221.181.166.105\"\n\"September 22nd 2015, 09:53:46.683\",,\"1,943\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.195.208.118\"\n\"September 22nd 2015, 09:53:40.948\",,\"3,292\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"122.129.36.56\"\n\"September 22nd 2015, 09:53:37.216\",,\"2,423\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.164.39.249\"\n\"September 22nd 2015, 09:53:35.031\",,\"7,587\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"159.230.143.48\"\n\"September 22nd 2015, 09:53:11.675\",,\"4,061\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.183.28.41\"\n\"September 22nd 2015, 09:53:01.420\",,\"8,331\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.68.89.92\"\n\"September 22nd 2015, 09:52:56.371\",,\"4,995\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.161.247.172\"\n\"September 22nd 2015, 09:52:54.848\",,\"2,414\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.154.233.154\"\n\"September 22nd 2015, 09:52:52.618\",,\"3,606\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"5.83.83.42\"\n\"September 22nd 2015, 09:52:46.979\",,\"4,042\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.119.119.38\"\n\"September 22nd 2015, 09:52:28.668\",,\"4,762\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.50.219.103\"\n\"September 22nd 2015, 09:52:28.587\",,\"8,216\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.92.89.101\"\n\"September 22nd 2015, 09:52:16.606\",,\"9,652\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"1.17.21.12\"\n\"September 22nd 2015, 09:52:14.773\",,\"3,822\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.224.131.67\"\n\"September 22nd 2015, 09:52:08.862\",,\"6,061\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"173.233.118.214\"\n\"September 22nd 2015, 09:51:49.497\",,\"7,436\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.142.94.147\"\n\"September 22nd 2015, 09:51:47.321\",,\"4,245\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"74.224.77.232\"\n\"September 22nd 2015, 09:51:46.476\",,\"8,947\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"101.130.216.47\"\n\"September 22nd 2015, 09:51:37.658\",,\"3,572\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.93.219.234\"\n\"September 22nd 2015, 09:51:34.130\",,\"2,502\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.151.155.50\"\n\"September 22nd 2015, 09:51:26.371\",,\"4,318\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.82.217.118\"\n\"September 22nd 2015, 09:50:55.300\",,\"9,034\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.59.37.77\"\n\"September 22nd 2015, 09:50:46.307\",,\"2,546\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.64.207.109\"\n\"September 22nd 2015, 09:50:39.393\",,\"6,009\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.252.112.76\"\n\"September 22nd 2015, 09:50:37.772\",,\"4,849\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.99.243.183\"\n\"September 22nd 2015, 09:50:32.295\",,\"3,714\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.144.182.162\"\n\"September 22nd 2015, 09:50:12.200\",,\"8,639\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.172.28.222\"\n\"September 22nd 2015, 09:50:07.120\",,\"15,197\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.142.235.222\"\n\"September 22nd 2015, 09:49:58.357\",,\"19,031\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"146.229.88.89\"\n\"September 22nd 2015, 09:49:56.937\",,\"4,242\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.6.126.193\"\n\"September 22nd 2015, 09:49:55.793\",,\"8,026\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.225.247.245\"\n\"September 22nd 2015, 09:49:50.633\",,\"1,782\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.92.89.101\"\n\"September 22nd 2015, 09:49:39.687\",,\"2,564\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.203.229.229\"\n\"September 22nd 2015, 09:49:36.091\",,\"3,805\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.225.101.206\"\n\"September 22nd 2015, 09:49:00.419\",,\"3,561\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.133.180.245\"\n\"September 22nd 2015, 09:48:57.422\",,\"7,419\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.141.52.142\"\n\"September 22nd 2015, 09:48:47.293\",,\"2,878\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.225.247.245\"\n\"September 22nd 2015, 09:48:42.503\",,\"6,550\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"248.193.114.155\"\n\"September 22nd 2015, 09:48:36.716\",,\"1,875\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"181.135.152.88\"\n\"September 22nd 2015, 09:48:34.294\",,\"5,592\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.95.187.48\"\n\"September 22nd 2015, 09:48:15.172\",,\"9,316\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.202.168.250\"\n\"September 22nd 2015, 09:48:14.185\",,\"9,979\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.144.75.220\"\n\"September 22nd 2015, 09:48:13.510\",,\"7,027\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.169.199.220\"\n\"September 22nd 2015, 09:47:48.940\",,\"9,937\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.233.238.181\"\n\"September 22nd 2015, 09:47:48.214\",,\"9,414\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"154.55.57.32\"\n\"September 22nd 2015, 09:47:41.775\",,\"13,525\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"133.211.153.90\"\n\"September 22nd 2015, 09:47:41.605\",,\"4,778\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"11.195.163.57\"\n\"September 22nd 2015, 09:47:25.979\",,\"6,279\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"157.136.137.24\"\n\"September 22nd 2015, 09:47:13.268\",,\"17,883\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.252.112.76\"\n\"September 22nd 2015, 09:47:10.336\",,\"2,137\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.61.106.118\"\n\"September 22nd 2015, 09:47:10.246\",,\"6,721\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"95.162.138.2\"\n\"September 22nd 2015, 09:46:44.866\",,\"7,758\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"212.144.148.155\"\n\"September 22nd 2015, 09:46:21.405\",,\"7,300\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.122.121.230\"\n\"September 22nd 2015, 09:46:19.823\",,\"1,550\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"175.33.43.147\"\n\"September 22nd 2015, 09:46:17.227\",,\"9,609\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"171.58.133.108\"\n\"September 22nd 2015, 09:46:11.125\",,\"8,036\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"67.47.100.255\"\n\"September 22nd 2015, 09:45:57.078\",,\"6,685\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.11.189.233\"\n\"September 22nd 2015, 09:45:52.259\",,\"5,266\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"241.45.143.98\"\n\"September 22nd 2015, 09:45:46.327\",,\"8,202\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"123.54.151.5\"\n\"September 22nd 2015, 09:45:31.155\",,\"5,249\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.122.34.237\"\n\"September 22nd 2015, 09:45:30.667\",,\"4,399\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.37.151.239\"\n\"September 22nd 2015, 09:45:30.018\",,\"8,393\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.87.32.139\"\n\"September 22nd 2015, 09:45:14.244\",,\"9,755\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.61.106.118\"\n\"September 22nd 2015, 09:45:07.028\",,\"3,775\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"136.210.127.128\"\n\"September 22nd 2015, 09:45:03.704\",,\"4,328\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.160.62.179\"\n\"September 22nd 2015, 09:45:03.341\",,\"5,734\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.167.54.119\"\n\"September 22nd 2015, 09:45:01.743\",,\"6,809\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.172.137.39\"\n\"September 22nd 2015, 09:44:59.904\",,\"6,776\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.105.235.122\"\n\"September 22nd 2015, 09:44:17.147\",,\"1,546\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.216.173.242\"\n\"September 22nd 2015, 09:44:14.560\",,\"2,166\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.188.213.247\"\n\"September 22nd 2015, 09:44:09.649\",,\"3,433\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"248.163.75.193\"\n\"September 22nd 2015, 09:43:50.450\",,\"1,743\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.191.52.177\"\n\"September 22nd 2015, 09:43:44.900\",,\"9,892\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.182.13.142\"\n\"September 22nd 2015, 09:43:41.848\",,\"6,983\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.69.255.135\"\n\"September 22nd 2015, 09:43:41.725\",,\"7,899\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"128.248.96.80\"\n\"September 22nd 2015, 09:43:17.471\",,\"5,287\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.143.20.221\"\n\"September 22nd 2015, 09:43:12.673\",,\"1,603\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.15.54.136\"\n\"September 22nd 2015, 09:43:06.255\",,\"2,057\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"235.190.3.193\"\n\"September 22nd 2015, 09:42:59.171\",,\"5,590\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.236.240.166\"\n\"September 22nd 2015, 09:42:48.018\",,\"2,974\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"247.129.16.191\"\n\"September 22nd 2015, 09:42:47.422\",,\"9,554\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"180.65.205.98\"\n\"September 22nd 2015, 09:42:35.801\",,\"10,315\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.143.189.70\"\n\"September 22nd 2015, 09:42:15.967\",,\"1,562\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"157.136.137.24\"\n\"September 22nd 2015, 09:42:14.353\",,\"1,962\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"106.181.249.244\"\n\"September 22nd 2015, 09:42:12.018\",,\"7,089\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.139.58.171\"\n\"September 22nd 2015, 09:41:58.496\",,\"17,319\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"127.219.223.182\"\n\"September 22nd 2015, 09:41:56.108\",,\"4,892\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.244.150.190\"\n\"September 22nd 2015, 09:41:38.986\",,\"9,376\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.60.53.165\"\n\"September 22nd 2015, 09:41:35.318\",,\"8,584\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"90.0.214.93\"\n\"September 22nd 2015, 09:41:24.564\",,\"3,751\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.225.249.114\"\n\"September 22nd 2015, 09:41:13.440\",,\"8,949\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.180.70.74\"\n\"September 22nd 2015, 09:41:08.200\",,\"9,785\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.117.73.210\"\n\"September 22nd 2015, 09:41:06.196\",,\"9,228\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.90.39.228\"\n\"September 22nd 2015, 09:41:06.070\",,\"5,637\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"177.69.169.33\"\n\"September 22nd 2015, 09:40:43.925\",,\"9,583\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.233.183.250\"\n\"September 22nd 2015, 09:40:35.396\",,\"8,070\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"95.59.225.31\"\n\"September 22nd 2015, 09:40:25.800\",,\"9,986\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.243.109.222\"\n\"September 22nd 2015, 09:40:24.275\",,\"1,580\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.68.89.92\"\n\"September 22nd 2015, 09:40:23.214\",,\"4,998\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.225.249.114\"\n\"September 22nd 2015, 09:39:42.332\",,\"5,222\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"189.125.84.30\"\n\"September 22nd 2015, 09:39:30.176\",,\"3,847\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"249.54.12.226\"\n\"September 22nd 2015, 09:39:29.695\",,\"2,524\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.163.20.44\"\n\"September 22nd 2015, 09:39:22.933\",,\"8,950\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.92.89.101\"\n\"September 22nd 2015, 09:38:59.245\",,\"2,517\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.153.166.47\"\n\"September 22nd 2015, 09:38:55.123\",,\"3,098\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"91.127.213.244\"\n\"September 22nd 2015, 09:38:32.691\",,\"5,210\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"120.99.203.64\"\n\"September 22nd 2015, 09:38:29.756\",,\"2,909\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.217.241.90\"\n\"September 22nd 2015, 09:38:14.759\",,\"7,016\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.241.46.95\"\n\"September 22nd 2015, 09:37:44.970\",,\"7,308\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.243.115.83\"\n\"September 22nd 2015, 09:37:28.125\",,\"1,582\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.5.167.41\"\n\"September 22nd 2015, 09:37:16.140\",,\"8,637\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.177.73.18\"\n\"September 22nd 2015, 09:37:14.318\",,\"6,284\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.220.3.248\"\n\"September 22nd 2015, 09:37:11.680\",,\"6,841\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"175.99.184.146\"\n\"September 22nd 2015, 09:37:02.554\",,\"19,881\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.28.27.24\"\n\"September 22nd 2015, 09:37:02.116\",,\"5,085\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"83.56.222.3\"\n\"September 22nd 2015, 09:36:48.308\",,\"9,487\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"24.78.153.162\"\n\"September 22nd 2015, 09:36:45.960\",,\"5,234\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"136.122.153.94\"\n\"September 22nd 2015, 09:36:23.546\",,\"8,265\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.216.169.176\"\n\"September 22nd 2015, 09:36:15.548\",,\"5,102\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.220.193.123\"\n\"September 22nd 2015, 09:36:14.582\",,\"8,508\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"175.99.184.146\"\n\"September 22nd 2015, 09:36:04.546\",,\"9,896\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"110.12.135.128\"\n\"September 22nd 2015, 09:35:13.664\",,\"3,240\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"110.247.249.228\"\n\"September 22nd 2015, 09:35:11.860\",,\"2,517\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.192.185.168\"\n\"September 22nd 2015, 09:35:10.113\",,\"8,289\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"203.206.8.45\"\n\"September 22nd 2015, 09:34:56.892\",,\"6,316\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"79.37.60.109\"\n\"September 22nd 2015, 09:34:32.449\",,\"8,531\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.129.36.56\"\n\"September 22nd 2015, 09:34:20.143\",,\"7,403\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.172.42.72\"\n\"September 22nd 2015, 09:34:06.154\",,\"3,467\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"127.63.221.223\"\n\"September 22nd 2015, 09:33:48.559\",,\"8,887\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.57.170.220\"\n\"September 22nd 2015, 09:33:47.808\",,\"6,543\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"105.47.117.171\"\n\"September 22nd 2015, 09:33:40.845\",,\"4,246\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.243.109.222\"\n\"September 22nd 2015, 09:33:36.978\",,\"2,910\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"17.123.33.106\"\n\"September 22nd 2015, 09:33:32.566\",,\"2,228\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.224.184.36\"\n\"September 22nd 2015, 09:33:25.869\",,\"3,926\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.50.181.157\"\n\"September 22nd 2015, 09:33:21.322\",,\"7,201\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.89.226.36\"\n\"September 22nd 2015, 09:33:20.362\",,\"9,492\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.7.129.34\"\n\"September 22nd 2015, 09:33:18.885\",,\"6,393\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.96.131.243\"\n\"September 22nd 2015, 09:33:07.609\",,\"7,957\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"81.186.187.11\"\n\"September 22nd 2015, 09:32:26.163\",,\"2,418\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.108.50.221\"\n\"September 22nd 2015, 09:32:08.576\",,\"9,910\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.159.183.77\"\n\"September 22nd 2015, 09:32:05.285\",,\"9,008\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.97.175.115\"\n\"September 22nd 2015, 09:31:51.660\",,\"9,559\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.221.187.90\"\n\"September 22nd 2015, 09:31:11.024\",,\"11,245\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"148.47.216.255\"\n\"September 22nd 2015, 09:31:00.549\",,\"6,312\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"5.83.83.42\"\n\"September 22nd 2015, 09:30:51.761\",,\"7,165\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.82.217.118\"\n\"September 22nd 2015, 09:30:41.581\",,\"5,589\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.79.108.136\"\n\"September 22nd 2015, 09:30:29.027\",,\"7,060\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.84.78.58\"\n\"September 22nd 2015, 09:30:25.314\",,\"6,087\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.28.123.34\"\n\"September 22nd 2015, 09:30:20.959\",,\"7,474\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.123.178.135\"\n\"September 22nd 2015, 09:30:15.439\",,\"4,738\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.56.222.3\"\n\"September 22nd 2015, 09:30:08.554\",,\"1,824\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.83.247.30\"\n\"September 22nd 2015, 09:29:59.613\",,\"5,168\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.3.0.125\"\n\"September 22nd 2015, 09:29:55.752\",,\"5,603\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.87.85.59\"\n\"September 22nd 2015, 09:29:44.941\",,\"2,980\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"182.207.77.200\"\n\"September 22nd 2015, 09:29:40.060\",,\"7,210\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.210.116.210\"\n\"September 22nd 2015, 09:29:30.556\",,\"13,200\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.223.93.34\"\n\"September 22nd 2015, 09:29:24.781\",,\"3,805\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"163.123.136.118\"\n\"September 22nd 2015, 09:29:22.125\",,\"7,384\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.225.101.206\"\n\"September 22nd 2015, 09:29:16.241\",,\"1,666\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"134.62.86.139\"\n\"September 22nd 2015, 09:29:13.222\",,\"6,739\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.121.197.80\"\n\"September 22nd 2015, 09:29:07.986\",,\"9,102\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"63.142.94.147\"\n\"September 22nd 2015, 09:28:56.844\",,\"2,139\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.173.85.47\"\n\"September 22nd 2015, 09:28:50.710\",,\"4,612\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"188.53.50.20\"\n\"September 22nd 2015, 09:28:47.347\",,\"4,086\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"184.130.127.202\"\n\"September 22nd 2015, 09:28:46.776\",,\"9,353\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.204.236.159\"\n\"September 22nd 2015, 09:28:41.444\",,\"3,094\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.41.209.99\"\n\"September 22nd 2015, 09:28:35.015\",,\"7,476\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"105.82.36.95\"\n\"September 22nd 2015, 09:28:33.896\",,\"9,534\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.233.202.162\"\n\"September 22nd 2015, 09:28:31.813\",,\"4,708\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.13.115.149\"\n\"September 22nd 2015, 09:28:17.365\",,\"7,821\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"105.82.36.95\"\n\"September 22nd 2015, 09:28:16.405\",,\"7,234\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"84.77.230.73\"\n\"September 22nd 2015, 09:28:12.668\",,\"5,762\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"81.191.227.104\"\n\"September 22nd 2015, 09:28:10.699\",,\"7,695\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"10.91.83.148\"\n\"September 22nd 2015, 09:28:04.834\",,\"4,663\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.200.198.147\"\n\"September 22nd 2015, 09:28:04.785\",,\"3,303\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.109.145.217\"\n\"September 22nd 2015, 09:28:03.589\",,\"4,649\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.83.96.39\"\n\"September 22nd 2015, 09:27:56.532\",,\"9,381\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.177.125.196\"\n\"September 22nd 2015, 09:27:43.083\",,\"8,141\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.100.178.89\"\n\"September 22nd 2015, 09:27:35.821\",,\"9,198\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"113.43.75.122\"\n\"September 22nd 2015, 09:27:33.758\",,\"7,333\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.117.173.67\"\n\"September 22nd 2015, 09:27:29.224\",,\"17,957\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.213.126.12\"\n\"September 22nd 2015, 09:27:27.202\",,\"15,966\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"7.9.151.133\"\n\"September 22nd 2015, 09:27:21.840\",,\"9,863\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"31.38.33.47\"\n\"September 22nd 2015, 09:27:20.258\",,\"8,191\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.230.105.32\"\n\"September 22nd 2015, 09:27:18.598\",,\"5,628\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"183.33.83.170\"\n\"September 22nd 2015, 09:27:18.579\",,\"3,791\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.53.96.88\"\n\"September 22nd 2015, 09:27:10.491\",,\"9,401\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"215.239.0.38\"\n\"September 22nd 2015, 09:27:05.061\",,\"9,685\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"100.50.11.41\"\n\"September 22nd 2015, 09:27:04.324\",,\"8,718\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.155.247.152\"\n\"September 22nd 2015, 09:26:59.910\",,\"1,846\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.209.234.93\"\n\"September 22nd 2015, 09:26:58.648\",,\"3,567\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.105.196.209\"\n\"September 22nd 2015, 09:26:42.754\",,\"6,878\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"127.254.107.86\"\n\"September 22nd 2015, 09:26:39.104\",,\"5,067\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.6.163.4\"\n\"September 22nd 2015, 09:26:21.288\",,\"7,012\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.137.8.156\"\n\"September 22nd 2015, 09:26:14.119\",,\"3,527\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.162.138.2\"\n\"September 22nd 2015, 09:26:06.212\",,\"7,461\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.206.227.106\"\n\"September 22nd 2015, 09:25:50.561\",,\"5,378\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.245.252.224\"\n\"September 22nd 2015, 09:25:39.499\",,\"2,986\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"149.150.67.234\"\n\"September 22nd 2015, 09:25:30.736\",,\"3,954\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.143.176.28\"\n\"September 22nd 2015, 09:25:27.952\",,\"16,525\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"71.100.136.81\"\n\"September 22nd 2015, 09:25:09.498\",,\"7,542\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.120.103.28\"\n\"September 22nd 2015, 09:24:58.933\",,\"3,184\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.225.249.114\"\n\"September 22nd 2015, 09:24:46.182\",,\"7,810\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.79.151.78\"\n\"September 22nd 2015, 09:24:39.973\",,\"19,151\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"242.22.22.10\"\n\"September 22nd 2015, 09:24:38.655\",,\"5,413\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.58.47.229\"\n\"September 22nd 2015, 09:24:36.329\",,\"16,019\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"7.9.151.133\"\n\"September 22nd 2015, 09:24:33.652\",,\"6,690\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"79.33.226.187\"\n\"September 22nd 2015, 09:24:17.599\",,\"4,532\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.138.21.252\"\n\"September 22nd 2015, 09:24:06.346\",,\"8,621\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"16.148.135.166\"\n\"September 22nd 2015, 09:24:04.752\",,\"6,333\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.152.176.23\"\n\"September 22nd 2015, 09:23:56.621\",,\"9,146\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.115.183.40\"\n\"September 22nd 2015, 09:23:54.622\",,\"3,042\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.37.94.4\"\n\"September 22nd 2015, 09:23:53.090\",,\"12,634\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.97.64.146\"\n\"September 22nd 2015, 09:23:51.082\",,\"2,292\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"174.32.230.63\"\n\"September 22nd 2015, 09:23:24.347\",,\"5,510\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.6.126.193\"\n\"September 22nd 2015, 09:23:21.921\",,\"7,249\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.191.52.177\"\n\"September 22nd 2015, 09:23:20.778\",,\"6,249\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.12.135.128\"\n\"September 22nd 2015, 09:22:57.571\",,\"7,160\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.82.3.150\"\n\"September 22nd 2015, 09:22:54.771\",,\"2,451\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"244.172.153.74\"\n\"September 22nd 2015, 09:22:53.044\",,\"9,646\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.246.231.47\"\n\"September 22nd 2015, 09:22:36.801\",,\"2,733\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"136.122.153.94\"\n\"September 22nd 2015, 09:22:32.033\",,\"6,618\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.180.70.74\"\n\"September 22nd 2015, 09:22:26.450\",,\"9,460\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"212.144.148.155\"\n\"September 22nd 2015, 09:21:45.252\",,\"17,141\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.87.17.249\"\n\"September 22nd 2015, 09:21:36.579\",,\"7,671\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.250.210.253\"\n\"September 22nd 2015, 09:21:34.736\",,\"5,153\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.166.42.220\"\n\"September 22nd 2015, 09:21:33.393\",,\"4,426\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"61.73.88.176\"\n\"September 22nd 2015, 09:21:27.636\",,\"3,632\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.3.115.126\"\n\"September 22nd 2015, 09:21:22.582\",,\"4,694\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"161.108.174.248\"\n\"September 22nd 2015, 09:21:13.970\",,\"1,511\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.243.109.222\"\n\"September 22nd 2015, 09:21:13.034\",,\"9,986\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"0.108.3.2\"\n\"September 22nd 2015, 09:21:11.545\",,\"5,693\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.194.215.29\"\n\"September 22nd 2015, 09:21:06.246\",,\"6,423\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.95.78.209\"\n\"September 22nd 2015, 09:20:58.344\",,\"7,361\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.140.171.133\"\n\"September 22nd 2015, 09:20:47.689\",,\"5,769\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"182.128.15.97\"\n\"September 22nd 2015, 09:20:47.689\",,\"5,864\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.92.239.70\"\n\"September 22nd 2015, 09:20:33.027\",,\"1,652\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.220.171.248\"\n\"September 22nd 2015, 09:20:29.122\",,\"9,125\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.37.253.193\"\n\"September 22nd 2015, 09:20:26.204\",,\"4,820\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.5.167.41\"\n\"September 22nd 2015, 09:20:24.335\",,\"9,271\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.56.90.184\"\n\"September 22nd 2015, 09:20:23.409\",,\"9,592\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.190.101.72\"\n\"September 22nd 2015, 09:20:16.226\",,\"6,033\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.23.191.85\"\n\"September 22nd 2015, 09:20:12.901\",,\"3,135\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.97.175.115\"\n\"September 22nd 2015, 09:20:10.724\",,\"2,896\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.154.233.154\"\n\"September 22nd 2015, 09:20:01.478\",,\"4,944\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.55.141.62\"\n\"September 22nd 2015, 09:19:59.458\",,\"9,023\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.129.217.122\"\n\"September 22nd 2015, 09:19:50.926\",,\"9,974\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.27.63.249\"\n\"September 22nd 2015, 09:19:26.678\",,\"5,030\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"124.187.220.168\"\n\"September 22nd 2015, 09:19:17.058\",,\"6,138\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.92.154.173\"\n\"September 22nd 2015, 09:19:01.095\",,\"6,322\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.222.137.213\"\n\"September 22nd 2015, 09:18:46.173\",,\"4,483\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.92.205.231\"\n\"September 22nd 2015, 09:18:33.644\",,\"6,256\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.96.96.191\"\n\"September 22nd 2015, 09:18:29.596\",,\"2,447\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.95.5.139\"\n\"September 22nd 2015, 09:18:27.785\",,\"2,577\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.115.77.46\"\n\"September 22nd 2015, 09:18:15.412\",,\"9,940\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.117.73.210\"\n\"September 22nd 2015, 09:18:13.082\",,\"8,589\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.87.234.213\"\n\"September 22nd 2015, 09:18:12.962\",,\"8,356\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"186.123.19.234\"\n\"September 22nd 2015, 09:18:10.973\",,\"5,940\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.185.146.124\"\n\"September 22nd 2015, 09:18:02.292\",,\"2,981\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.199.194.23\"\n\"September 22nd 2015, 09:17:56.163\",,\"9,133\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.97.175.115\"\n\"September 22nd 2015, 09:17:47.650\",,\"7,673\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.116.186.0\"\n\"September 22nd 2015, 09:17:42.233\",,\"6,743\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.111.249.239\"\n\"September 22nd 2015, 09:17:36.503\",,\"6,330\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.203.229.229\"\n\"September 22nd 2015, 09:17:27.162\",,\"3,317\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.68.9.40\"\n\"September 22nd 2015, 09:17:22.794\",,\"16,690\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"250.130.100.179\"\n\"September 22nd 2015, 09:17:22.114\",,\"7,675\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.72.217.98\"\n\"September 22nd 2015, 09:17:16.278\",,\"3,317\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.42.218.145\"\n\"September 22nd 2015, 09:17:15.988\",,\"4,715\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.111.249.239\"\n\"September 22nd 2015, 09:17:10.816\",,\"2,315\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.242.153.99\"\n\"September 22nd 2015, 09:17:09.568\",,\"5,768\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.231.132.106\"\n\"September 22nd 2015, 09:17:00.154\",,\"4,362\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.127.124.65\"\n\"September 22nd 2015, 09:16:55.839\",,\"9,798\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.109.145.217\"\n\"September 22nd 2015, 09:16:49.378\",,\"4,059\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.69.63.219\"\n\"September 22nd 2015, 09:16:46.640\",,\"2,091\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"178.122.0.0\"\n\"September 22nd 2015, 09:16:46.397\",,\"9,272\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"3.200.198.147\"\n\"September 22nd 2015, 09:16:39.430\",,\"4,235\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"12.200.161.41\"\n\"September 22nd 2015, 09:16:38.560\",,\"1,653\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"91.217.157.152\"\n\"September 22nd 2015, 09:16:28.668\",,\"17,692\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.50.219.103\"\n\"September 22nd 2015, 09:16:19.670\",,\"8,955\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.112.222.13\"\n\"September 22nd 2015, 09:16:19.612\",,\"4,556\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.61.182.136\"\n\"September 22nd 2015, 09:16:15.030\",,\"3,348\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.79.142.15\"\n\"September 22nd 2015, 09:15:59.491\",,\"4,387\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.99.243.183\"\n\"September 22nd 2015, 09:15:50.934\",,\"2,279\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"167.51.186.15\"\n\"September 22nd 2015, 09:15:48.287\",,\"8,138\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.228.246.126\"\n\"September 22nd 2015, 09:15:44.086\",,\"7,493\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.139.58.171\"\n\"September 22nd 2015, 09:15:30.512\",,\"5,975\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.117.173.67\"\n\"September 22nd 2015, 09:15:29.551\",,\"6,610\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"163.123.136.118\"\n\"September 22nd 2015, 09:15:06.792\",,\"7,656\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"146.18.252.5\"\n\"September 22nd 2015, 09:15:01.760\",,\"9,496\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.74.144.217\"\n\"September 22nd 2015, 09:14:59.403\",,\"10,788\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.55.251.105\"\n\"September 22nd 2015, 09:14:39.799\",,\"3,873\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.236.240.166\"\n\"September 22nd 2015, 09:14:38.536\",,\"9,190\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.76.243.51\"\n\"September 22nd 2015, 09:14:38.091\",,\"2,535\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.231.132.106\"\n\"September 22nd 2015, 09:14:35.748\",,\"5,025\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.233.183.250\"\n\"September 22nd 2015, 09:14:22.217\",,\"4,084\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"54.0.98.104\"\n\"September 22nd 2015, 09:14:14.523\",,\"3,255\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"19.166.42.220\"\n\"September 22nd 2015, 09:14:00.193\",,\"15,549\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"45.138.192.138\"\n\"September 22nd 2015, 09:13:59.208\",,\"7,114\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.244.231.5\"\n\"September 22nd 2015, 09:13:45.111\",,\"5,558\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"31.245.21.115\"\n\"September 22nd 2015, 09:13:24.892\",,\"7,121\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.25.112.43\"\n\"September 22nd 2015, 09:13:17.108\",,\"8,613\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.200.84.215\"\n\"September 22nd 2015, 09:13:16.440\",,\"2,736\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.100.60.111\"\n\"September 22nd 2015, 09:13:09.113\",,\"3,703\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.115.184.133\"\n\"September 22nd 2015, 09:13:08.074\",,\"4,397\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.219.108.141\"\n\"September 22nd 2015, 09:13:04.048\",,\"2,852\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"121.205.46.255\"\n\"September 22nd 2015, 09:12:36.448\",,\"7,469\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.162.138.2\"\n\"September 22nd 2015, 09:12:33.842\",,\"3,468\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"221.219.72.105\"\n\"September 22nd 2015, 09:12:26.217\",,\"6,951\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"161.108.174.248\"\n\"September 22nd 2015, 09:12:11.156\",,\"9,307\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.226.232.233\"\n\"September 22nd 2015, 09:12:03.574\",,\"4,085\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.56.56.106\"\n\"September 22nd 2015, 09:12:02.721\",,\"2,362\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"178.104.96.40\"\n\"September 22nd 2015, 09:12:00.991\",,\"8,889\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"118.200.30.34\"\n\"September 22nd 2015, 09:11:52.848\",,\"4,092\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"6.183.121.70\"\n\"September 22nd 2015, 09:11:33.380\",,\"8,388\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.117.73.210\"\n\"September 22nd 2015, 09:11:31.866\",,\"2,938\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.108.3.2\"\n\"September 22nd 2015, 09:11:30.305\",,\"8,303\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"178.57.229.103\"\n\"September 22nd 2015, 09:11:27.684\",,\"3,371\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.154.198.225\"\n\"September 22nd 2015, 09:11:25.225\",,\"5,972\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.236.3.119\"\n\"September 22nd 2015, 09:11:16.879\",,\"4,036\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.142.235.222\"\n\"September 22nd 2015, 09:11:13.649\",,\"4,462\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"182.207.77.200\"\n\"September 22nd 2015, 09:10:58.628\",,\"7,320\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.105.183.164\"\n\"September 22nd 2015, 09:10:51.579\",,\"1,563\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.139.46.29\"\n\"September 22nd 2015, 09:10:51.011\",,\"3,908\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.5.71.170\"\n\"September 22nd 2015, 09:10:47.905\",,\"6,923\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.233.238.181\"\n\"September 22nd 2015, 09:10:40.319\",,\"6,572\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"144.135.123.19\"\n\"September 22nd 2015, 09:10:37.175\",,\"4,713\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"208.98.69.166\"\n\"September 22nd 2015, 09:10:26.372\",,\"4,210\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.242.177.192\"\n\"September 22nd 2015, 09:10:25.083\",,\"9,910\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"210.210.88.232\"\n\"September 22nd 2015, 09:10:23.998\",,\"16,151\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"174.32.230.63\"\n\"September 22nd 2015, 09:10:22.365\",,\"3,699\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.80.12.188\"\n\"September 22nd 2015, 09:10:15.835\",,\"1,694\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"224.240.85.118\"\n\"September 22nd 2015, 09:10:14.369\",,\"6,646\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.57.26.210\"\n\"September 22nd 2015, 09:10:04.083\",,\"4,304\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"46.163.136.60\"\n\"September 22nd 2015, 09:10:01.128\",,\"7,472\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.68.89.92\"\n\"September 22nd 2015, 09:09:50.767\",,\"3,184\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.28.123.34\"\n\"September 22nd 2015, 09:09:50.460\",,\"3,358\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.57.7.61\"\n\"September 22nd 2015, 09:09:48.969\",,\"4,036\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.69.255.135\"\n\"September 22nd 2015, 09:09:40.129\",,\"6,841\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.133.22.163\"\n\"September 22nd 2015, 09:09:33.411\",,\"8,299\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.123.55.136\"\n\"September 22nd 2015, 09:09:32.578\",,\"4,166\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"145.211.179.106\"\n\"September 22nd 2015, 09:09:32.016\",,\"2,234\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"162.134.126.82\"\n\"September 22nd 2015, 09:09:19.933\",,\"3,557\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"1.17.21.12\"\n\"September 22nd 2015, 09:09:19.869\",,\"7,873\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.165.93.2\"\n\"September 22nd 2015, 09:09:18.818\",,\"3,507\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.13.106.139\"\n\"September 22nd 2015, 09:09:12.607\",,\"4,083\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"232.144.75.220\"\n\"September 22nd 2015, 09:09:06.585\",,\"2,589\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"24.5.165.192\"\n\"September 22nd 2015, 09:09:06.176\",,\"7,286\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.79.189.11\"\n\"September 22nd 2015, 09:08:51.311\",,\"2,525\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.102.200.168\"\n\"September 22nd 2015, 09:08:48.200\",,\"3,970\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.72.217.98\"\n\"September 22nd 2015, 09:08:30.593\",,\"6,778\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.225.107.118\"\n\"September 22nd 2015, 09:08:16.920\",,\"2,037\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"164.185.40.249\"\n\"September 22nd 2015, 09:08:13.057\",,\"4,414\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.188.141.95\"\n\"September 22nd 2015, 09:08:00.490\",,\"5,399\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"101.43.176.190\"\n\"September 22nd 2015, 09:08:00.341\",,\"5,495\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"235.186.79.201\"\n\"September 22nd 2015, 09:07:50.905\",,\"8,004\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.190.101.72\"\n\"September 22nd 2015, 09:07:47.727\",,\"7,338\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.61.106.118\"\n\"September 22nd 2015, 09:07:37.178\",,\"1,419\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.106.209.231\"\n\"September 22nd 2015, 09:07:36.260\",,\"10,925\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"244.172.153.74\"\n\"September 22nd 2015, 09:07:01.013\",,\"7,050\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.83.76.140\"\n\"September 22nd 2015, 09:06:59.763\",,\"4,925\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.37.151.239\"\n\"September 22nd 2015, 09:06:50.609\",,\"4,201\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.217.241.90\"\n\"September 22nd 2015, 09:06:48.635\",,\"18,618\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.29.90.185\"\n\"September 22nd 2015, 09:06:26.377\",,\"9,052\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"149.225.104.159\"\n\"September 22nd 2015, 09:06:18.739\",,\"5,432\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.34.187.225\"\n\"September 22nd 2015, 09:06:18.364\",,\"18,145\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"167.51.186.15\"\n\"September 22nd 2015, 09:06:13.185\",,\"6,574\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.115.183.40\"\n\"September 22nd 2015, 09:06:12.489\",,\"8,629\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.55.130.114\"\n\"September 22nd 2015, 09:06:07.417\",,\"6,367\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.243.109.222\"\n\"September 22nd 2015, 09:06:05.573\",,\"3,717\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.83.143.132\"\n\"September 22nd 2015, 09:06:00.261\",,\"6,074\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"202.123.188.108\"\n\"September 22nd 2015, 09:05:56.901\",,\"9,936\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.152.141.244\"\n\"September 22nd 2015, 09:05:56.592\",,\"6,677\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.95.78.209\"\n\"September 22nd 2015, 09:05:53.280\",,\"6,696\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"129.18.83.242\"\n\"September 22nd 2015, 09:05:43.968\",,\"16,107\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.69.255.135\"\n\"September 22nd 2015, 09:05:37.176\",,\"8,354\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"241.129.62.213\"\n\"September 22nd 2015, 09:05:26.840\",,\"15,821\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.82.228.233\"\n\"September 22nd 2015, 09:04:45.807\",,\"5,863\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.39.79.51\"\n\"September 22nd 2015, 09:04:41.706\",,\"8,284\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"115.207.4.201\"\n\"September 22nd 2015, 09:04:26.972\",,\"1,795\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"249.54.12.226\"\n\"September 22nd 2015, 09:04:17.411\",,\"1,882\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"167.26.56.145\"\n\"September 22nd 2015, 09:04:05.479\",,\"5,888\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.121.197.80\"\n\"September 22nd 2015, 09:04:02.140\",,\"3,191\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.251.72.171\"\n\"September 22nd 2015, 09:03:58.244\",,\"5,905\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"120.101.20.104\"\n\"September 22nd 2015, 09:03:34.510\",,\"6,533\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.2.26.42\"\n\"September 22nd 2015, 09:03:29.393\",,\"3,356\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"239.180.70.74\"\n\"September 22nd 2015, 09:03:29.256\",,\"8,245\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"149.138.21.252\"\n\"September 22nd 2015, 09:03:23.171\",,\"2,707\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.79.189.11\"\n\"September 22nd 2015, 09:03:12.900\",,\"2,436\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"177.141.61.131\"\n\"September 22nd 2015, 09:02:59.920\",,\"7,406\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"68.107.5.226\"\n\"September 22nd 2015, 09:02:58.170\",,\"7,535\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.219.65.244\"\n\"September 22nd 2015, 09:02:56.303\",,\"8,782\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.44.130.70\"\n\"September 22nd 2015, 09:02:44.808\",,\"9,663\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.57.7.61\"\n\"September 22nd 2015, 09:02:36.408\",,\"3,606\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"86.252.46.140\"\n\"September 22nd 2015, 09:02:20.997\",,\"6,519\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"76.159.165.88\"\n\"September 22nd 2015, 09:02:16.866\",,\"7,299\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"5.206.32.88\"\n\"September 22nd 2015, 09:02:15.153\",,\"8,244\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"183.33.83.170\"\n\"September 22nd 2015, 09:01:34.107\",,\"2,088\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"182.186.221.142\"\n\"September 22nd 2015, 09:01:32.901\",,\"4,449\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"187.122.228.77\"\n\"September 22nd 2015, 09:01:32.135\",,\"7,634\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"244.172.153.74\"\n\"September 22nd 2015, 09:00:58.250\",,\"1,789\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.228.246.126\"\n\"September 22nd 2015, 09:00:51.422\",,\"7,138\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.188.213.247\"\n\"September 22nd 2015, 09:00:42.552\",,\"9,095\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.57.170.220\"\n\"September 22nd 2015, 09:00:37.670\",,\"6,918\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"56.253.85.132\"\n\"September 22nd 2015, 09:00:10.431\",,\"7,080\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.34.138.226\"\n\"September 22nd 2015, 09:00:03.998\",,\"4,833\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"45.102.15.116\"\n\"September 22nd 2015, 08:59:56.110\",,\"1,697\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"91.10.173.138\"\n\"September 22nd 2015, 08:59:49.565\",,\"4,295\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.39.140.144\"\n\"September 22nd 2015, 08:59:45.533\",,\"5,556\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.51.178.50\"\n\"September 22nd 2015, 08:59:40.336\",,\"9,439\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"230.43.124.118\"\n\"September 22nd 2015, 08:59:37.643\",,\"5,271\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.19.117.208\"\n\"September 22nd 2015, 08:59:03.266\",,\"3,485\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.99.243.183\"\n\"September 22nd 2015, 08:58:48.352\",,\"9,445\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"43.123.164.190\"\n\"September 22nd 2015, 08:58:45.435\",,\"3,990\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.80.35.243\"\n\"September 22nd 2015, 08:58:31.707\",,\"9,283\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"68.41.209.99\"\n\"September 22nd 2015, 08:58:11.542\",,\"5,566\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.195.208.118\"\n\"September 22nd 2015, 08:58:03.706\",,\"2,063\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"177.141.61.131\"\n\"September 22nd 2015, 08:58:01.343\",,\"7,034\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.243.115.83\"\n\"September 22nd 2015, 08:57:58.207\",,\"9,024\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.53.125.87\"\n\"September 22nd 2015, 08:57:56.789\",,\"1,838\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.105.204.4\"\n\"September 22nd 2015, 08:57:54.879\",,\"7,714\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.82.217.118\"\n\"September 22nd 2015, 08:57:34.757\",,\"4,250\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"29.188.141.95\"\n\"September 22nd 2015, 08:57:32.449\",,\"9,375\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.220.3.248\"\n\"September 22nd 2015, 08:57:29.690\",,\"8,038\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.79.158.95\"\n\"September 22nd 2015, 08:57:16.914\",,\"4,979\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.241.46.95\"\n\"September 22nd 2015, 08:57:00.458\",,\"3,721\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"116.171.234.62\"\n\"September 22nd 2015, 08:56:55.083\",,\"1,912\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.79.142.15\"\n\"September 22nd 2015, 08:56:53.918\",,\"18,301\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.130.100.179\"\n\"September 22nd 2015, 08:56:49.570\",,\"5,472\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"102.191.15.62\"\n\"September 22nd 2015, 08:56:35.365\",,\"3,419\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"115.207.4.201\"\n\"September 22nd 2015, 08:56:31.689\",,\"7,398\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.63.84.25\"\n\"September 22nd 2015, 08:56:22.769\",,\"6,389\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"104.142.243.97\"\n\"September 22nd 2015, 08:56:03.536\",,\"4,799\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"187.33.177.173\"\n\"September 22nd 2015, 08:55:48.877\",,\"1,613\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.213.126.12\"\n\"September 22nd 2015, 08:55:43.087\",,\"8,775\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"0.53.251.53\"\n\"September 22nd 2015, 08:55:36.864\",,\"4,055\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.199.194.23\"\n\"September 22nd 2015, 08:55:21.364\",,\"10,446\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.76.224.154\"\n\"September 22nd 2015, 08:55:05.253\",,\"9,064\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"198.174.196.110\"\n\"September 22nd 2015, 08:55:04.713\",,\"9,723\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"95.162.138.2\"\n\"September 22nd 2015, 08:54:57.366\",,\"6,927\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.205.46.255\"\n\"September 22nd 2015, 08:54:47.901\",,\"19,044\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.237.80.177\"\n\"September 22nd 2015, 08:54:41.508\",,\"4,607\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.219.233.187\"\n\"September 22nd 2015, 08:54:27.305\",,\"9,805\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.56.56.106\"\n\"September 22nd 2015, 08:54:25.079\",,\"7,981\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.255.16.81\"\n\"September 22nd 2015, 08:54:19.866\",,\"5,237\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.83.52.239\"\n\"September 22nd 2015, 08:54:17.047\",,\"5,109\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.185.158.249\"\n\"September 22nd 2015, 08:54:15.370\",,\"9,423\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.13.106.139\"\n\"September 22nd 2015, 08:54:00.289\",,\"9,297\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"120.99.203.64\"\n\"September 22nd 2015, 08:53:56.288\",,\"6,413\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.223.214.184\"\n\"September 22nd 2015, 08:53:51.124\",,\"2,110\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"127.219.223.182\"\n\"September 22nd 2015, 08:53:49.848\",,\"7,777\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.59.191.54\"\n\"September 22nd 2015, 08:53:46.079\",,\"3,761\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"157.39.25.197\"\n\"September 22nd 2015, 08:53:45.076\",,\"7,581\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"10.91.83.148\"\n\"September 22nd 2015, 08:53:35.523\",,\"14,113\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"188.28.50.40\"\n\"September 22nd 2015, 08:53:22.330\",,\"9,321\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.218.253.140\"\n\"September 22nd 2015, 08:52:51.844\",,\"5,406\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"187.122.228.77\"\n\"September 22nd 2015, 08:52:40.900\",,\"9,127\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.101.14.210\"\n\"September 22nd 2015, 08:52:36.367\",,\"6,859\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.29.100.213\"\n\"September 22nd 2015, 08:52:34.988\",,\"4,669\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.202.198.155\"\n\"September 22nd 2015, 08:52:34.236\",,\"3,771\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"225.241.219.2\"\n\"September 22nd 2015, 08:52:33.402\",,\"3,469\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.96.215.228\"\n\"September 22nd 2015, 08:52:24.778\",,\"6,494\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.233.202.162\"\n\"September 22nd 2015, 08:52:20.249\",,\"2,063\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"84.77.230.73\"\n\"September 22nd 2015, 08:52:10.716\",,\"4,532\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"102.191.15.62\"\n\"September 22nd 2015, 08:52:05.476\",,\"9,104\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.252.219.9\"\n\"September 22nd 2015, 08:52:02.177\",,\"7,108\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"1.17.21.12\"\n\"September 22nd 2015, 08:51:24.416\",,\"6,356\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"120.99.203.64\"\n\"September 22nd 2015, 08:51:24.410\",,\"8,832\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.252.46.140\"\n\"September 22nd 2015, 08:51:01.272\",,\"4,403\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"71.241.97.89\"\n\"September 22nd 2015, 08:50:37.336\",,\"6,091\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.215.211.142\"\n\"September 22nd 2015, 08:50:29.824\",,\"7,876\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.204.140.157\"\n\"September 22nd 2015, 08:50:25.949\",,\"3,016\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"217.25.8.4\"\n\"September 22nd 2015, 08:50:25.378\",,\"6,120\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"14.128.128.34\"\n\"September 22nd 2015, 08:50:12.637\",,\"1,604\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"154.79.180.7\"\n\"September 22nd 2015, 08:50:09.900\",,\"1,835\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.220.52.2\"\n\"September 22nd 2015, 08:50:04.165\",,\"1,528\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.220.3.248\"\n\"September 22nd 2015, 08:49:59.444\",,\"2,643\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.53.70.40\"\n\"September 22nd 2015, 08:49:42.552\",,\"3,232\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"14.54.226.211\"\n\"September 22nd 2015, 08:49:39.623\",,\"9,400\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.203.1.94\"\n\"September 22nd 2015, 08:49:39.401\",,\"7,500\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.132.195.31\"\n\"September 22nd 2015, 08:49:16.071\",,\"5,938\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.239.0.38\"\n\"September 22nd 2015, 08:49:09.837\",,\"6,468\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.168.180.6\"\n\"September 22nd 2015, 08:49:05.487\",,\"4,671\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"68.50.129.53\"\n\"September 22nd 2015, 08:48:44.486\",,\"2,704\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.249.93.77\"\n\"September 22nd 2015, 08:48:31.469\",,\"4,897\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"24.186.122.118\"\n\"September 22nd 2015, 08:48:27.805\",,\"6,076\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"169.228.188.120\"\n\"September 22nd 2015, 08:48:24.688\",,\"8,588\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.111.6.73\"\n\"September 22nd 2015, 08:48:03.868\",,\"2,842\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"155.155.226.58\"\n\"September 22nd 2015, 08:48:02.615\",,\"13,208\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.110.56.1\"\n\"September 22nd 2015, 08:48:02.574\",,\"6,507\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"167.51.186.15\"\n\"September 22nd 2015, 08:48:00.089\",,\"9,331\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.196.54.80\"\n\"September 22nd 2015, 08:47:59.586\",,\"9,217\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"7.218.211.125\"\n\"September 22nd 2015, 08:47:57.629\",,\"8,391\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"177.141.61.131\"\n\"September 22nd 2015, 08:47:50.305\",,\"2,869\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"236.20.147.107\"\n\"September 22nd 2015, 08:47:49.540\",,\"5,569\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.115.81.216\"\n\"September 22nd 2015, 08:47:47.931\",,\"9,811\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"169.228.188.120\"\n\"September 22nd 2015, 08:47:46.283\",,\"7,935\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"64.236.125.37\"\n\"September 22nd 2015, 08:47:37.293\",,\"3,254\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.111.6.101\"\n\"September 22nd 2015, 08:47:18.264\",,\"9,012\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.192.185.168\"\n\"September 22nd 2015, 08:46:54.978\",,\"4,299\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.84.78.58\"\n\"September 22nd 2015, 08:46:54.483\",,\"14,807\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.121.197.80\"\n\"September 22nd 2015, 08:46:53.231\",,\"7,903\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.132.215.241\"\n\"September 22nd 2015, 08:46:45.615\",,\"5,041\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"144.135.123.19\"\n\"September 22nd 2015, 08:46:38.858\",,\"6,480\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.219.87.110\"\n\"September 22nd 2015, 08:46:28.168\",,\"9,013\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"208.98.69.166\"\n\"September 22nd 2015, 08:46:17.374\",,\"8,705\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.205.37.63\"\n\"September 22nd 2015, 08:45:56.878\",,\"9,575\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.100.178.89\"\n\"September 22nd 2015, 08:45:55.585\",,\"11,256\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.167.142.250\"\n\"September 22nd 2015, 08:45:50.585\",,\"9,434\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"154.55.57.32\"\n\"September 22nd 2015, 08:45:44.100\",,\"8,860\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"86.21.236.176\"\n\"September 22nd 2015, 08:45:36.086\",,\"7,601\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"171.253.80.52\"\n\"September 22nd 2015, 08:45:06.780\",,\"3,298\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"159.136.76.65\"\n\"September 22nd 2015, 08:44:59.265\",,\"6,273\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.167.142.250\"\n\"September 22nd 2015, 08:44:33.985\",,\"9,968\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"29.160.128.58\"\n\"September 22nd 2015, 08:44:24.574\",,\"8,633\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.5.167.41\"\n\"September 22nd 2015, 08:44:18.092\",,\"7,860\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.6.126.193\"\n\"September 22nd 2015, 08:44:10.379\",,\"5,338\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"68.189.205.188\"\n\"September 22nd 2015, 08:44:09.851\",,\"1,572\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"12.196.199.120\"\n\"September 22nd 2015, 08:44:02.117\",,\"5,647\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"5.83.83.42\"\n\"September 22nd 2015, 08:43:56.069\",,\"6,456\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"19.143.189.70\"\n\"September 22nd 2015, 08:43:54.654\",,\"8,966\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"204.58.247.117\"\n\"September 22nd 2015, 08:43:44.244\",,\"4,851\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"149.138.21.252\"\n\"September 22nd 2015, 08:43:30.773\",,\"6,135\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"75.246.160.14\"\n\"September 22nd 2015, 08:43:10.812\",,\"3,816\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"235.72.69.43\"\n\"September 22nd 2015, 08:43:09.980\",,\"5,265\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.3.10.81\"\n\"September 22nd 2015, 08:42:45.472\",,\"2,072\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"255.56.89.50\"\n\"September 22nd 2015, 08:42:31.154\",,\"2,958\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"22.58.158.234\"\n\"September 22nd 2015, 08:42:16.171\",,\"8,144\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.57.26.210\"\n\"September 22nd 2015, 08:42:15.242\",,\"8,088\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.54.151.5\"\n\"September 22nd 2015, 08:42:14.284\",,\"13,281\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"242.162.114.49\"\n\"September 22nd 2015, 08:42:02.024\",,\"7,463\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.242.153.99\"\n\"September 22nd 2015, 08:41:48.555\",,\"3,743\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"70.101.68.233\"\n\"September 22nd 2015, 08:41:47.741\",,\"6,787\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.177.132.244\"\n\"September 22nd 2015, 08:41:36.986\",,\"2,986\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"74.224.77.232\"\n\"September 22nd 2015, 08:41:35.085\",,\"7,710\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.254.194.69\"\n\"September 22nd 2015, 08:41:31.874\",,\"14,986\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.163.133.47\"\n\"September 22nd 2015, 08:41:25.161\",,\"1,561\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.180.70.74\"\n\"September 22nd 2015, 08:41:23.223\",,\"5,531\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.167.142.250\"\n\"September 22nd 2015, 08:41:22.847\",,\"4,488\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.42.189.244\"\n\"September 22nd 2015, 08:41:20.978\",,\"6,964\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.183.87.181\"\n\"September 22nd 2015, 08:41:04.974\",,\"5,230\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.143.125.181\"\n\"September 22nd 2015, 08:40:44.876\",,\"3,522\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.139.46.29\"\n\"September 22nd 2015, 08:40:44.791\",,\"8,633\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"106.181.249.244\"\n\"September 22nd 2015, 08:40:41.298\",,\"19,720\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.158.36.114\"\n\"September 22nd 2015, 08:40:26.025\",,\"13,707\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.170.80.142\"\n\"September 22nd 2015, 08:40:20.961\",,\"2,891\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.40.73.208\"\n\"September 22nd 2015, 08:40:18.892\",,\"6,887\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"158.168.90.226\"\n\"September 22nd 2015, 08:40:12.041\",,\"9,344\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"117.112.55.75\"\n\"September 22nd 2015, 08:40:09.851\",,\"4,632\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.244.150.190\"\n\"September 22nd 2015, 08:40:08.550\",,\"8,513\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.28.27.24\"\n\"September 22nd 2015, 08:40:07.625\",,\"2,117\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.90.39.228\"\n\"September 22nd 2015, 08:40:02.022\",,\"5,066\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"158.222.162.158\"\n\"September 22nd 2015, 08:39:32.102\",,\"3,091\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.83.96.39\"\n\"September 22nd 2015, 08:39:27.475\",,\"2,723\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"56.253.85.132\"\n\"September 22nd 2015, 08:39:26.976\",,\"4,028\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"158.179.121.61\"\n\"September 22nd 2015, 08:39:23.863\",,\"9,515\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.29.90.185\"\n\"September 22nd 2015, 08:39:22.928\",,\"3,038\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"60.71.214.79\"\n\"September 22nd 2015, 08:39:19.404\",,\"1,637\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"162.218.161.231\"\n\"September 22nd 2015, 08:39:15.020\",,\"7,430\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.55.141.62\"\n\"September 22nd 2015, 08:39:14.545\",,\"8,388\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.236.3.119\"\n\"September 22nd 2015, 08:38:59.433\",,\"1,608\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.92.205.231\"\n\"September 22nd 2015, 08:38:53.290\",,\"1,670\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.84.146.72\"\n\"September 22nd 2015, 08:38:30.677\",,\"7,292\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.237.80.177\"\n\"September 22nd 2015, 08:38:30.343\",,\"9,438\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.95.5.139\"\n\"September 22nd 2015, 08:38:25.194\",,\"7,236\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.7.164.59\"\n\"September 22nd 2015, 08:38:17.470\",,\"6,834\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.168.21.69\"\n\"September 22nd 2015, 08:37:27.714\",,\"3,357\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.225.249.114\"\n\"September 22nd 2015, 08:37:26.108\",,\"12,635\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"165.150.252.187\"\n\"September 22nd 2015, 08:37:05.086\",,\"2,892\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.116.179.248\"\n\"September 22nd 2015, 08:36:46.304\",,\"5,888\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.105.119.197\"\n\"September 22nd 2015, 08:36:45.451\",,\"5,379\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"23.178.170.24\"\n\"September 22nd 2015, 08:36:35.453\",,\"4,038\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.17.130.204\"\n\"September 22nd 2015, 08:36:33.962\",,\"6,644\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"145.211.179.106\"\n\"September 22nd 2015, 08:36:32.707\",,\"3,296\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"241.49.31.82\"\n\"September 22nd 2015, 08:36:27.949\",,\"5,489\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.111.6.73\"\n\"September 22nd 2015, 08:36:24.620\",,\"3,813\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"198.21.77.227\"\n\"September 22nd 2015, 08:36:03.111\",,\"3,922\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"167.51.186.15\"\n\"September 22nd 2015, 08:35:56.645\",,\"19,258\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"147.244.160.168\"\n\"September 22nd 2015, 08:35:26.002\",,\"2,697\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.34.187.225\"\n\"September 22nd 2015, 08:35:23.247\",,\"4,408\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.185.146.124\"\n\"September 22nd 2015, 08:35:02.320\",,\"6,915\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.110.56.1\"\n\"September 22nd 2015, 08:34:53.224\",,\"7,742\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"199.113.69.162\"\n\"September 22nd 2015, 08:34:24.888\",,\"8,832\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"158.179.121.61\"\n\"September 22nd 2015, 08:34:17.718\",,\"5,522\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.186.152.28\"\n\"September 22nd 2015, 08:34:16.720\",,\"15,179\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.13.113.3\"\n\"September 22nd 2015, 08:34:12.170\",,\"1,570\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.83.52.239\"\n\"September 22nd 2015, 08:34:11.525\",,\"5,084\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.59.37.77\"\n\"September 22nd 2015, 08:34:09.529\",,\"2,124\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.54.226.211\"\n\"September 22nd 2015, 08:33:58.009\",,\"7,924\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.123.178.135\"\n\"September 22nd 2015, 08:33:52.692\",,\"14,952\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"109.192.212.178\"\n\"September 22nd 2015, 08:33:16.953\",,\"9,170\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"146.18.252.5\"\n\"September 22nd 2015, 08:33:08.464\",,\"4,382\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.150.146.102\"\n\"September 22nd 2015, 08:33:02.559\",,\"18,778\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.6.99.158\"\n\"September 22nd 2015, 08:33:00.166\",,\"9,114\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.191.87.129\"\n\"September 22nd 2015, 08:32:56.144\",,\"1,965\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.100.162.251\"\n\"September 22nd 2015, 08:32:46.656\",,\"3,931\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"47.21.156.43\"\n\"September 22nd 2015, 08:32:34.548\",,\"8,865\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.223.188.57\"\n\"September 22nd 2015, 08:32:31.210\",,\"6,173\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.109.145.217\"\n\"September 22nd 2015, 08:32:28.063\",,\"9,319\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.200.84.215\"\n\"September 22nd 2015, 08:32:06.166\",,\"1,532\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.210.244.94\"\n\"September 22nd 2015, 08:32:04.443\",,\"6,653\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"233.126.159.144\"\n\"September 22nd 2015, 08:32:01.493\",,\"8,031\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.135.152.88\"\n\"September 22nd 2015, 08:31:55.572\",,\"3,848\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"215.239.0.38\"\n\"September 22nd 2015, 08:31:36.863\",,\"4,907\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.150.212.12\"\n\"September 22nd 2015, 08:31:23.595\",,\"6,437\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.186.79.201\"\n\"September 22nd 2015, 08:31:16.163\",,\"9,620\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.75.209.68\"\n\"September 22nd 2015, 08:31:08.325\",,\"6,489\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.205.146.206\"\n\"September 22nd 2015, 08:31:07.731\",,\"6,202\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.191.218.38\"\n\"September 22nd 2015, 08:31:06.467\",,\"2,480\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"181.249.43.5\"\n\"September 22nd 2015, 08:31:04.048\",,\"15,552\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.207.64.202\"\n\"September 22nd 2015, 08:30:44.214\",,\"3,433\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"127.254.107.86\"\n\"September 22nd 2015, 08:30:40.293\",,\"9,546\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"244.15.131.137\"\n\"September 22nd 2015, 08:30:35.713\",,\"7,491\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"203.206.8.45\"\n\"September 22nd 2015, 08:30:27.894\",,\"9,047\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"177.194.175.66\"\n\"September 22nd 2015, 08:30:17.324\",,\"8,605\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.244.160.168\"\n\"September 22nd 2015, 08:30:07.552\",,\"3,379\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"249.106.229.151\"\n\"September 22nd 2015, 08:30:06.374\",,\"2,819\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"12.102.47.119\"\n\"September 22nd 2015, 08:29:57.806\",,\"7,587\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"52.158.88.35\"\n\"September 22nd 2015, 08:29:43.803\",,\"9,591\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"4.125.116.118\"\n\"September 22nd 2015, 08:29:36.457\",,\"5,912\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"225.222.13.93\"\n\"September 22nd 2015, 08:29:33.227\",,\"9,091\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.128.210.67\"\n\"September 22nd 2015, 08:29:27.340\",,\"7,494\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.219.151.88\"\n\"September 22nd 2015, 08:29:23.429\",,\"7,116\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"249.106.229.151\"\n\"September 22nd 2015, 08:29:19.850\",,\"5,036\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"175.99.184.146\"\n\"September 22nd 2015, 08:29:17.066\",,\"6,383\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.250.210.253\"\n\"September 22nd 2015, 08:29:12.668\",,\"4,569\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"58.190.216.56\"\n\"September 22nd 2015, 08:29:08.552\",,\"7,547\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.90.215.57\"\n\"September 22nd 2015, 08:29:06.127\",,\"7,787\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.214.104.239\"\n\"September 22nd 2015, 08:28:51.175\",,\"6,835\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.7.129.34\"\n\"September 22nd 2015, 08:28:44.436\",,\"5,169\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"184.125.153.221\"\n\"September 22nd 2015, 08:28:31.192\",,\"9,401\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.79.189.11\"\n\"September 22nd 2015, 08:28:12.462\",,\"3,701\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"189.34.180.209\"\n\"September 22nd 2015, 08:28:06.362\",,\"4,305\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.225.141.240\"\n\"September 22nd 2015, 08:27:43.780\",,\"9,424\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"122.71.171.141\"\n\"September 22nd 2015, 08:27:36.433\",,\"9,277\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"148.134.9.77\"\n\"September 22nd 2015, 08:27:34.769\",,\"3,377\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.224.4.183\"\n\"September 22nd 2015, 08:27:33.618\",,\"8,860\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.207.16.29\"\n\"September 22nd 2015, 08:27:21.740\",,\"4,753\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"178.104.96.40\"\n\"September 22nd 2015, 08:27:04.216\",,\"5,973\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.41.228.240\"\n\"September 22nd 2015, 08:26:54.750\",,\"2,303\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"7.179.148.96\"\n\"September 22nd 2015, 08:26:53.984\",,\"7,082\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.128.176.48\"\n\"September 22nd 2015, 08:26:45.160\",,\"18,413\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.189.205.188\"\n\"September 22nd 2015, 08:26:44.763\",,\"5,429\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"122.25.161.118\"\n\"September 22nd 2015, 08:26:38.400\",,\"6,496\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.55.251.105\"\n\"September 22nd 2015, 08:26:27.086\",,\"9,342\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.182.13.142\"\n\"September 22nd 2015, 08:26:14.312\",,\"10,000\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.210.116.210\"\n\"September 22nd 2015, 08:25:56.859\",,\"8,231\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.95.187.48\"\n\"September 22nd 2015, 08:25:48.095\",,\"8,510\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"248.239.221.43\"\n\"September 22nd 2015, 08:25:33.288\",,\"1,647\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.42.189.244\"\n\"September 22nd 2015, 08:25:24.449\",,\"3,677\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"61.73.88.176\"\n\"September 22nd 2015, 08:25:24.383\",,\"12,594\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.55.195.184\"\n\"September 22nd 2015, 08:25:20.121\",,\"6,778\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"128.169.152.213\"\n\"September 22nd 2015, 08:25:18.013\",,\"3,074\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.155.226.58\"\n\"September 22nd 2015, 08:25:08.178\",,\"7,018\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.37.151.239\"\n\"September 22nd 2015, 08:24:59.146\",,\"5,398\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"113.43.75.122\"\n\"September 22nd 2015, 08:24:53.307\",,\"9,311\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"24.186.122.118\"\n\"September 22nd 2015, 08:24:50.610\",,\"4,321\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"92.96.51.231\"\n\"September 22nd 2015, 08:24:48.611\",,\"6,939\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.100.60.111\"\n\"September 22nd 2015, 08:24:47.227\",,\"8,087\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.218.31.116\"\n\"September 22nd 2015, 08:24:33.022\",,\"4,817\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.11.74.125\"\n\"September 22nd 2015, 08:24:25.567\",,\"2,419\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.19.155.203\"\n\"September 22nd 2015, 08:24:07.575\",,\"3,218\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.245.252.224\"\n\"September 22nd 2015, 08:23:39.065\",,\"2,141\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"204.58.247.117\"\n\"September 22nd 2015, 08:23:32.426\",,\"6,202\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"143.81.107.227\"\n\"September 22nd 2015, 08:23:31.067\",,\"3,327\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.210.163.45\"\n\"September 22nd 2015, 08:23:15.009\",,\"7,081\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.174.35.186\"\n\"September 22nd 2015, 08:23:14.642\",,\"8,168\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"165.150.252.187\"\n\"September 22nd 2015, 08:23:04.800\",,\"9,660\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"67.47.100.255\"\n\"September 22nd 2015, 08:23:00.674\",,\"3,882\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.180.70.74\"\n\"September 22nd 2015, 08:22:47.933\",,\"7,619\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.245.188.46\"\n\"September 22nd 2015, 08:22:44.758\",,\"1,673\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.64.147.41\"\n\"September 22nd 2015, 08:22:42.650\",,\"3,178\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.120.60.102\"\n\"September 22nd 2015, 08:22:40.293\",,\"9,090\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"43.164.236.145\"\n\"September 22nd 2015, 08:22:36.840\",,\"3,646\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"141.42.174.116\"\n\"September 22nd 2015, 08:22:34.661\",,\"8,179\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.112.222.13\"\n\"September 22nd 2015, 08:22:26.299\",,\"3,544\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"171.243.18.67\"\n\"September 22nd 2015, 08:22:13.479\",,\"3,704\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.220.171.248\"\n\"September 22nd 2015, 08:22:13.200\",,\"1,537\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.3.115.126\"\n\"September 22nd 2015, 08:22:12.370\",,\"2,291\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"186.123.19.234\"\n\"September 22nd 2015, 08:22:10.501\",,\"6,174\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.219.233.187\"\n\"September 22nd 2015, 08:22:05.338\",,\"8,466\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"177.141.61.131\"\n\"September 22nd 2015, 08:21:38.573\",,\"17,012\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.177.73.18\"\n\"September 22nd 2015, 08:21:35.975\",,\"4,340\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"231.192.80.162\"\n\"September 22nd 2015, 08:21:35.443\",,\"1,903\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.244.25.107\"\n\"September 22nd 2015, 08:21:18.232\",,\"2,661\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"105.47.117.171\"\n\"September 22nd 2015, 08:21:15.070\",,\"8,032\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"8.248.237.182\"\n\"September 22nd 2015, 08:21:13.349\",,\"5,277\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.222.56.247\"\n\"September 22nd 2015, 08:21:12.311\",,\"11,011\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.153.166.47\"\n\"September 22nd 2015, 08:21:07.661\",,\"5,712\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.120.60.102\"\n\"September 22nd 2015, 08:21:05.373\",,\"1,978\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.68.234.67\"\n\"September 22nd 2015, 08:20:58.197\",,\"4,241\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"248.239.221.43\"\n\"September 22nd 2015, 08:20:50.508\",,\"8,017\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.242.201.206\"\n\"September 22nd 2015, 08:20:23.244\",,\"7,896\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.129.117.216\"\n\"September 22nd 2015, 08:20:10.922\",,\"7,299\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.88.213.204\"\n\"September 22nd 2015, 08:19:52.453\",,\"9,784\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.55.251.105\"\n\"September 22nd 2015, 08:19:51.126\",,\"1,957\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.151.97.227\"\n\"September 22nd 2015, 08:19:50.700\",,\"9,001\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.149.151.88\"\n\"September 22nd 2015, 08:19:46.994\",,\"4,579\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"37.73.193.32\"\n\"September 22nd 2015, 08:19:27.706\",,\"4,260\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.76.224.154\"\n\"September 22nd 2015, 08:19:14.151\",,\"1,844\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.70.171.86\"\n\"September 22nd 2015, 08:19:11.323\",,\"6,919\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.50.181.157\"\n\"September 22nd 2015, 08:19:09.168\",,\"8,381\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.76.124.169\"\n\"September 22nd 2015, 08:19:03.789\",,\"3,581\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.92.239.70\"\n\"September 22nd 2015, 08:18:48.855\",,\"2,243\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.79.108.136\"\n\"September 22nd 2015, 08:18:45.503\",,\"1,997\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.74.144.217\"\n\"September 22nd 2015, 08:18:38.943\",,\"2,985\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.33.120.224\"\n\"September 22nd 2015, 08:18:24.165\",,\"6,610\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.24.165.50\"\n\"September 22nd 2015, 08:18:18.636\",,\"4,765\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.105.100.214\"\n\"September 22nd 2015, 08:17:47.277\",,\"7,444\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.90.39.228\"\n\"September 22nd 2015, 08:17:46.176\",,\"8,000\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.21.156.43\"\n\"September 22nd 2015, 08:17:28.300\",,\"9,264\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"94.218.243.2\"\n\"September 22nd 2015, 08:17:26.584\",,\"8,605\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"131.102.224.216\"\n\"September 22nd 2015, 08:16:58.809\",,\"5,006\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.199.194.23\"\n\"September 22nd 2015, 08:16:58.182\",,\"6,080\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.75.54.137\"\n\"September 22nd 2015, 08:16:54.244\",,\"6,204\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.108.50.221\"\n\"September 22nd 2015, 08:16:49.358\",,\"7,377\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.74.144.217\"\n\"September 22nd 2015, 08:16:31.448\",,\"2,445\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"24.5.165.192\"\n\"September 22nd 2015, 08:16:24.429\",,\"6,405\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.208.15.12\"\n\"September 22nd 2015, 08:16:24.363\",,\"6,624\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.150.212.12\"\n\"September 22nd 2015, 08:16:11.954\",,\"2,581\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"0.254.91.215\"\n\"September 22nd 2015, 08:16:11.201\",,\"6,909\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.186.79.201\"\n\"September 22nd 2015, 08:16:00.054\",,\"1,831\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"37.127.124.65\"\n\"September 22nd 2015, 08:15:59.010\",,\"5,082\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"12.255.88.79\"\n\"September 22nd 2015, 08:15:58.846\",,\"6,172\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.47.75.195\"\n\"September 22nd 2015, 08:15:52.455\",,\"8,188\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.79.151.78\"\n\"September 22nd 2015, 08:15:34.894\",,\"5,156\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.153.166.47\"\n\"September 22nd 2015, 08:15:34.192\",,\"1,733\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"1.59.159.138\"\n\"September 22nd 2015, 08:15:29.970\",,\"2,554\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"121.50.181.157\"\n\"September 22nd 2015, 08:15:27.516\",,\"5,148\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"91.127.213.244\"\n\"September 22nd 2015, 08:15:27.147\",,\"8,420\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"94.218.243.2\"\n\"September 22nd 2015, 08:15:25.612\",,\"7,422\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.69.63.219\"\n\"September 22nd 2015, 08:15:20.646\",,\"4,526\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"244.172.153.74\"\n\"September 22nd 2015, 08:15:17.605\",,\"6,912\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.123.55.136\"\n\"September 22nd 2015, 08:15:12.541\",,\"2,951\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.203.229.229\"\n\"September 22nd 2015, 08:15:11.921\",,\"9,319\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.155.42.103\"\n\"September 22nd 2015, 08:15:07.528\",,\"4,611\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.123.71.54\"\n\"September 22nd 2015, 08:15:02.485\",,\"9,615\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"147.175.109.124\"\n\"September 22nd 2015, 08:14:58.156\",,\"3,330\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.248.17.146\"\n\"September 22nd 2015, 08:14:51.265\",,\"8,148\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"129.152.7.186\"\n\"September 22nd 2015, 08:14:43.799\",,\"3,885\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"128.248.96.80\"\n\"September 22nd 2015, 08:14:40.709\",,\"3,526\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"47.21.156.43\"\n\"September 22nd 2015, 08:14:37.511\",,\"5,360\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.44.130.70\"\n\"September 22nd 2015, 08:14:33.387\",,\"8,710\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.177.240.217\"\n\"September 22nd 2015, 08:14:28.724\",,\"6,354\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"113.43.75.122\"\n\"September 22nd 2015, 08:14:28.039\",,\"8,476\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"157.136.137.24\"\n\"September 22nd 2015, 08:14:24.416\",,\"6,636\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"223.57.253.60\"\n\"September 22nd 2015, 08:14:22.493\",,\"9,763\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"197.222.12.184\"\n\"September 22nd 2015, 08:14:13.932\",,\"2,837\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"188.53.50.20\"\n\"September 22nd 2015, 08:14:13.402\",,\"7,701\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"232.44.243.247\"\n\"September 22nd 2015, 08:13:59.696\",,\"3,353\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.190.189.77\"\n\"September 22nd 2015, 08:13:58.570\",,\"3,808\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"147.175.109.124\"\n\"September 22nd 2015, 08:13:58.556\",,\"3,093\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"83.236.80.152\"\n\"September 22nd 2015, 08:13:53.414\",,\"1,957\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.0.188.251\"\n\"September 22nd 2015, 08:13:42.399\",,\"7,952\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"181.135.152.88\"\n\"September 22nd 2015, 08:13:39.538\",,\"5,254\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.36.151.195\"\n\"September 22nd 2015, 08:13:36.277\",,\"9,938\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"235.186.79.201\"\n\"September 22nd 2015, 08:13:35.966\",,\"6,371\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.136.173.80\"\n\"September 22nd 2015, 08:13:34.305\",,\"1,781\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.192.144.100\"\n\"September 22nd 2015, 08:13:30.308\",,\"7,116\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"100.99.207.174\"\n\"September 22nd 2015, 08:13:29.255\",,\"5,060\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.244.231.5\"\n\"September 22nd 2015, 08:13:28.094\",,\"1,596\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"104.142.243.97\"\n\"September 22nd 2015, 08:13:23.205\",,\"4,755\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.68.234.67\"\n\"September 22nd 2015, 08:13:12.167\",,\"3,008\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.217.241.90\"\n\"September 22nd 2015, 08:13:06.762\",,\"6,497\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.56.90.184\"\n\"September 22nd 2015, 08:12:42.509\",,\"3,928\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.98.69.166\"\n\"September 22nd 2015, 08:12:36.648\",,\"4,811\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.33.201.138\"\n\"September 22nd 2015, 08:12:34.228\",,\"9,898\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"128.167.10.27\"\n\"September 22nd 2015, 08:12:32.388\",,\"6,415\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"56.87.32.139\"\n\"September 22nd 2015, 08:12:16.331\",,\"6,448\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"76.240.114.69\"\n\"September 22nd 2015, 08:11:41.599\",,\"3,302\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"169.247.113.252\"\n\"September 22nd 2015, 08:11:31.730\",,\"3,040\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.161.172.168\"\n\"September 22nd 2015, 08:11:27.620\",,\"4,358\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.76.124.169\"\n\"September 22nd 2015, 08:11:25.344\",,\"18,177\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.89.226.36\"\n\"September 22nd 2015, 08:11:18.160\",,\"5,100\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.126.43.84\"\n\"September 22nd 2015, 08:11:16.777\",,\"4,479\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"96.40.73.208\"\n\"September 22nd 2015, 08:11:09.893\",,\"6,741\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.143.189.70\"\n\"September 22nd 2015, 08:10:53.563\",,\"8,214\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"38.29.122.137\"\n\"September 22nd 2015, 08:10:46.197\",,\"4,828\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.70.171.86\"\n\"September 22nd 2015, 08:10:30.506\",,\"12,376\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"115.225.12.164\"\n\"September 22nd 2015, 08:10:22.514\",,\"6,292\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.63.84.25\"\n\"September 22nd 2015, 08:10:22.112\",,\"2,134\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.62.43.103\"\n\"September 22nd 2015, 08:10:07.973\",,\"8,537\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"31.196.214.182\"\n\"September 22nd 2015, 08:10:06.419\",,\"4,122\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"0.53.251.53\"\n\"September 22nd 2015, 08:10:06.295\",,\"8,441\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.172.137.39\"\n\"September 22nd 2015, 08:09:50.662\",,\"2,997\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.16.191.123\"\n\"September 22nd 2015, 08:09:46.110\",,\"6,105\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"100.50.11.41\"\n\"September 22nd 2015, 08:09:43.879\",,\"5,288\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.84.238.1\"\n\"September 22nd 2015, 08:09:39.053\",,\"5,271\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.137.8.156\"\n\"September 22nd 2015, 08:09:16.059\",,\"4,673\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.52.178.194\"\n\"September 22nd 2015, 08:09:12.896\",,\"3,909\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"22.151.97.227\"\n\"September 22nd 2015, 08:09:08.618\",,\"6,335\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.57.13.23\"\n\"September 22nd 2015, 08:08:47.781\",,\"7,375\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"56.87.32.139\"\n\"September 22nd 2015, 08:08:45.050\",,\"8,748\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.220.227.11\"\n\"September 22nd 2015, 08:08:37.068\",,\"5,890\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.156.52.180\"\n\"September 22nd 2015, 08:08:32.194\",,\"4,406\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"87.54.48.33\"\n\"September 22nd 2015, 08:08:31.967\",,\"6,153\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"202.48.108.4\"\n\"September 22nd 2015, 08:08:24.798\",,\"8,274\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"222.201.119.239\"\n\"September 22nd 2015, 08:08:24.000\",,\"9,312\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"47.167.142.250\"\n\"September 22nd 2015, 08:08:11.483\",,\"6,563\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"100.99.207.174\"\n\"September 22nd 2015, 08:08:08.466\",,\"3,080\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.237.80.177\"\n\"September 22nd 2015, 08:07:50.776\",,\"7,976\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"129.24.204.40\"\n\"September 22nd 2015, 08:07:48.526\",,\"8,258\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"196.97.127.109\"\n\"September 22nd 2015, 08:07:44.690\",,\"1,787\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"147.195.26.33\"\n\"September 22nd 2015, 08:07:44.390\",,\"9,208\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.202.168.250\"\n\"September 22nd 2015, 08:07:44.329\",,\"5,880\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.105.183.164\"\n\"September 22nd 2015, 08:07:36.914\",,\"8,860\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.190.189.77\"\n\"September 22nd 2015, 08:07:36.298\",,\"8,118\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.216.173.242\"\n\"September 22nd 2015, 08:07:32.738\",,\"6,715\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"82.40.137.38\"\n\"September 22nd 2015, 08:07:23.162\",,\"6,444\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"198.21.77.227\"\n\"September 22nd 2015, 08:07:14.821\",,\"5,696\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"163.123.136.118\"\n\"September 22nd 2015, 08:06:54.207\",,\"9,390\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.83.92.252\"\n\"September 22nd 2015, 08:06:47.683\",,\"7,933\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.36.203.241\"\n\"September 22nd 2015, 08:06:44.304\",,\"5,959\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"212.113.62.183\"\n\"September 22nd 2015, 08:06:41.687\",,\"3,283\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"22.151.97.227\"\n\"September 22nd 2015, 08:06:40.165\",,\"7,346\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"165.150.252.187\"\n\"September 22nd 2015, 08:06:35.744\",,\"2,716\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"2.203.112.183\"\n\"September 22nd 2015, 08:06:32.090\",,\"9,733\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.225.40.190\"\n\"September 22nd 2015, 08:06:28.325\",,\"6,395\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.182.13.142\"\n\"September 22nd 2015, 08:06:28.088\",,\"7,323\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"8.248.237.182\"\n\"September 22nd 2015, 08:06:09.940\",,\"7,362\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.120.103.28\"\n\"September 22nd 2015, 08:06:05.442\",,\"1,860\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"52.49.164.228\"\n\"September 22nd 2015, 08:06:02.646\",,\"3,745\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.68.9.40\"\n\"September 22nd 2015, 08:05:53.112\",,\"2,752\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.97.64.146\"\n\"September 22nd 2015, 08:05:47.799\",,\"7,880\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.86.105.212\"\n\"September 22nd 2015, 08:05:47.231\",,\"3,463\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"133.74.144.217\"\n\"September 22nd 2015, 08:05:43.483\",,\"4,860\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"128.169.152.213\"\n\"September 22nd 2015, 08:05:41.895\",,\"8,318\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"189.34.180.209\"\n\"September 22nd 2015, 08:05:33.711\",,\"3,525\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.53.110.116\"\n\"September 22nd 2015, 08:05:17.543\",,\"9,045\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.170.80.142\"\n\"September 22nd 2015, 08:05:07.907\",,\"4,612\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.75.33.146\"\n\"September 22nd 2015, 08:05:03.119\",,\"5,996\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"231.169.195.137\"\n\"September 22nd 2015, 08:04:44.757\",,\"6,950\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"148.134.9.77\"\n\"September 22nd 2015, 08:04:38.432\",,\"2,030\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.12.231.216\"\n\"September 22nd 2015, 08:04:28.201\",,\"4,587\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.164.215.104\"\n\"September 22nd 2015, 08:04:08.707\",,\"7,440\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.58.145.175\"\n\"September 22nd 2015, 08:04:08.395\",,\"6,044\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"120.99.203.64\"\n\"September 22nd 2015, 08:04:01.412\",,\"8,555\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"159.136.76.65\"\n\"September 22nd 2015, 08:03:57.864\",,\"7,018\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.122.217.55\"\n\"September 22nd 2015, 08:03:39.889\",,\"13,509\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.50.181.157\"\n\"September 22nd 2015, 08:03:36.534\",,\"5,134\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.178.152.193\"\n\"September 22nd 2015, 08:03:22.751\",,\"9,308\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"131.102.224.216\"\n\"September 22nd 2015, 08:03:11.412\",,\"6,206\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.122.217.55\"\n\"September 22nd 2015, 08:03:08.395\",,\"6,383\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"184.125.153.221\"\n\"September 22nd 2015, 08:03:06.974\",,\"1,780\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.11.74.125\"\n\"September 22nd 2015, 08:03:03.382\",,\"4,891\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.222.56.247\"\n\"September 22nd 2015, 08:02:54.993\",,\"5,692\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.144.75.220\"\n\"September 22nd 2015, 08:02:40.774\",,\"5,684\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.219.65.244\"\n\"September 22nd 2015, 08:02:29.631\",,\"9,512\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.38.139.107\"\n\"September 22nd 2015, 08:02:24.617\",,\"1,546\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.233.238.181\"\n\"September 22nd 2015, 08:02:14.691\",,\"8,140\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"61.174.151.11\"\n\"September 22nd 2015, 08:02:02.368\",,\"3,761\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.205.178.33\"\n\"September 22nd 2015, 08:01:42.112\",,\"6,153\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.43.63.180\"\n\"September 22nd 2015, 08:01:32.293\",,\"8,317\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.162.138.2\"\n\"September 22nd 2015, 08:01:28.419\",,\"3,215\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"129.24.204.40\"\n\"September 22nd 2015, 08:01:23.917\",,\"9,248\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.128.7.74\"\n\"September 22nd 2015, 08:01:16.982\",,\"4,574\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.57.26.210\"\n\"September 22nd 2015, 08:01:00.956\",,\"6,929\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.138.21.252\"\n\"September 22nd 2015, 08:00:52.653\",,\"18,260\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"101.130.216.47\"\n\"September 22nd 2015, 08:00:45.254\",,\"2,562\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"7.176.253.57\"\n\"September 22nd 2015, 08:00:26.497\",,\"4,386\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"134.168.180.6\"\n\"September 22nd 2015, 08:00:21.613\",,\"5,602\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.54.151.5\"\n\"September 22nd 2015, 08:00:21.234\",,\"5,433\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.167.54.47\"\n\"September 22nd 2015, 08:00:12.204\",,\"4,734\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.189.88.90\"\n\"September 22nd 2015, 08:00:08.157\",,\"1,507\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.221.105.131\"\n\"September 22nd 2015, 08:00:05.465\",,\"8,993\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.215.43.26\"\n\"September 22nd 2015, 07:59:58.747\",,\"8,160\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.236.80.152\"\n\"September 22nd 2015, 07:59:56.381\",,\"9,695\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.207.64.202\"\n\"September 22nd 2015, 07:59:54.898\",,\"7,994\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"30.92.50.149\"\n\"September 22nd 2015, 07:59:54.833\",,\"1,275\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"169.228.188.120\"\n\"September 22nd 2015, 07:59:50.187\",,\"4,904\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"246.180.120.21\"\n\"September 22nd 2015, 07:59:46.316\",,\"2,833\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.39.144.87\"\n\"September 22nd 2015, 07:59:41.805\",,\"5,899\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"223.237.148.2\"\n\"September 22nd 2015, 07:59:40.309\",,\"8,375\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"136.210.127.128\"\n\"September 22nd 2015, 07:59:38.278\",,\"9,596\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.242.177.192\"\n\"September 22nd 2015, 07:59:06.725\",,\"7,390\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.127.76.132\"\n\"September 22nd 2015, 07:59:00.015\",,\"3,698\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"48.206.231.233\"\n\"September 22nd 2015, 07:58:49.867\",,\"5,399\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.207.16.29\"\n\"September 22nd 2015, 07:58:41.536\",,\"1,651\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"12.102.47.119\"\n\"September 22nd 2015, 07:58:40.010\",,\"8,319\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.5.71.170\"\n\"September 22nd 2015, 07:58:31.772\",,\"7,334\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"211.0.102.190\"\n\"September 22nd 2015, 07:58:25.401\",,\"5,143\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"117.112.55.75\"\n\"September 22nd 2015, 07:58:22.602\",,\"2,437\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"60.109.112.85\"\n\"September 22nd 2015, 07:57:57.406\",,\"9,223\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"71.100.136.81\"\n\"September 22nd 2015, 07:57:55.599\",,\"8,201\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.50.219.103\"\n\"September 22nd 2015, 07:57:54.309\",,\"4,649\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.202.198.155\"\n\"September 22nd 2015, 07:57:45.738\",,\"6,188\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.75.209.68\"\n\"September 22nd 2015, 07:57:29.736\",,\"6,981\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.24.249.29\"\n\"September 22nd 2015, 07:57:13.654\",,\"5,009\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.153.166.47\"\n\"September 22nd 2015, 07:57:02.728\",,\"3,022\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"41.210.252.157\"\n\"September 22nd 2015, 07:57:01.983\",,\"5,794\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"223.103.135.183\"\n\"September 22nd 2015, 07:57:01.503\",,\"5,461\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"214.125.131.162\"\n\"September 22nd 2015, 07:57:01.022\",,\"6,936\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"60.109.112.85\"\n\"September 22nd 2015, 07:56:48.710\",,\"13,982\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.210.244.94\"\n\"September 22nd 2015, 07:56:44.873\",,\"4,519\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"134.36.203.241\"\n\"September 22nd 2015, 07:56:44.852\",,\"3,838\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.26.51.188\"\n\"September 22nd 2015, 07:56:34.265\",,\"6,679\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.120.103.28\"\n\"September 22nd 2015, 07:56:26.916\",,\"9,006\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.55.175.148\"\n\"September 22nd 2015, 07:56:21.775\",,\"7,741\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"189.172.19.77\"\n\"September 22nd 2015, 07:56:00.591\",,\"7,245\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.189.205.188\"\n\"September 22nd 2015, 07:55:58.951\",,\"9,492\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"122.71.171.141\"\n\"September 22nd 2015, 07:55:58.702\",,\"1,840\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.209.80.244\"\n\"September 22nd 2015, 07:55:47.025\",,\"6,533\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"22.87.85.59\"\n\"September 22nd 2015, 07:55:42.893\",,\"5,721\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.135.248.113\"\n\"September 22nd 2015, 07:55:41.301\",,\"7,137\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.211.153.90\"\n\"September 22nd 2015, 07:55:34.373\",,\"2,195\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.62.211.92\"\n\"September 22nd 2015, 07:55:23.632\",,\"7,716\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"115.225.12.164\"\n\"September 22nd 2015, 07:55:15.209\",,\"7,929\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.159.75.84\"\n\"September 22nd 2015, 07:55:09.935\",,\"8,601\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.2.62.18\"\n\"September 22nd 2015, 07:55:06.765\",,\"5,520\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"169.228.188.120\"\n\"September 22nd 2015, 07:54:59.193\",,\"6,060\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.106.203.143\"\n\"September 22nd 2015, 07:54:46.923\",,\"3,193\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.99.166.92\"\n\"September 22nd 2015, 07:54:31.621\",,\"17,253\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.15.162.241\"\n\"September 22nd 2015, 07:54:31.039\",,\"3,078\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.5.136.153\"\n\"September 22nd 2015, 07:54:29.936\",,\"6,967\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.132.195.31\"\n\"September 22nd 2015, 07:54:14.753\",,\"2,852\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"65.135.134.42\"\n\"September 22nd 2015, 07:54:08.954\",,\"11,238\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"100.50.11.41\"\n\"September 22nd 2015, 07:54:04.008\",,\"6,539\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"82.40.137.38\"\n\"September 22nd 2015, 07:53:50.137\",,\"6,982\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.143.209.115\"\n\"September 22nd 2015, 07:53:48.678\",,\"9,140\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"11.195.163.57\"\n\"September 22nd 2015, 07:53:45.292\",,\"14,930\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.95.78.209\"\n\"September 22nd 2015, 07:53:44.117\",,\"9,836\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.221.41.27\"\n\"September 22nd 2015, 07:53:38.321\",,\"4,386\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"100.50.11.41\"\n\"September 22nd 2015, 07:53:36.228\",,\"8,716\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.63.84.25\"\n\"September 22nd 2015, 07:52:50.039\",,\"5,897\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.54.235.229\"\n\"September 22nd 2015, 07:52:37.112\",,\"9,962\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"197.150.233.60\"\n\"September 22nd 2015, 07:52:33.815\",,\"2,228\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"230.117.3.60\"\n\"September 22nd 2015, 07:52:30.087\",,\"7,159\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.204.140.157\"\n\"September 22nd 2015, 07:52:25.203\",,\"2,447\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"184.125.153.221\"\n\"September 22nd 2015, 07:52:17.054\",,\"2,176\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.128.207.200\"\n\"September 22nd 2015, 07:52:09.414\",,\"3,304\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.208.15.12\"\n\"September 22nd 2015, 07:52:05.663\",,\"4,143\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.84.238.1\"\n\"September 22nd 2015, 07:52:04.966\",,\"2,867\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.98.69.166\"\n\"September 22nd 2015, 07:51:58.067\",,\"6,000\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.173.30.33\"\n\"September 22nd 2015, 07:51:55.765\",,\"3,803\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"28.46.60.20\"\n\"September 22nd 2015, 07:51:54.772\",,\"1,690\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.19.155.203\"\n\"September 22nd 2015, 07:51:52.117\",,\"9,650\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.100.60.111\"\n\"September 22nd 2015, 07:51:37.481\",,\"8,270\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"72.173.69.119\"\n\"September 22nd 2015, 07:51:37.008\",,\"3,416\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"45.138.192.138\"\n\"September 22nd 2015, 07:51:32.054\",,\"1,624\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.84.238.1\"\n\"September 22nd 2015, 07:51:28.473\",,\"5,358\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.95.78.209\"\n\"September 22nd 2015, 07:51:25.085\",,\"3,547\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.19.217.148\"\n\"September 22nd 2015, 07:51:24.883\",,\"6,505\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"215.182.13.142\"\n\"September 22nd 2015, 07:51:20.685\",,\"4,103\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.152.7.186\"\n\"September 22nd 2015, 07:51:10.638\",,\"2,778\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.33.201.138\"\n\"September 22nd 2015, 07:51:08.029\",,\"1,967\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"105.82.36.95\"\n\"September 22nd 2015, 07:51:05.950\",,\"6,057\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.82.217.118\"\n\"September 22nd 2015, 07:50:53.107\",,\"2,483\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.85.86.52\"\n\"September 22nd 2015, 07:50:50.120\",,\"7,414\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.90.39.228\"\n\"September 22nd 2015, 07:50:39.493\",,\"7,635\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"143.81.107.227\"\n\"September 22nd 2015, 07:50:19.129\",,\"9,167\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.53.96.88\"\n\"September 22nd 2015, 07:49:58.146\",,\"4,225\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.56.56.106\"\n\"September 22nd 2015, 07:49:51.574\",,\"4,843\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"31.196.214.182\"\n\"September 22nd 2015, 07:49:51.021\",,\"9,247\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.51.178.50\"\n\"September 22nd 2015, 07:49:48.955\",,\"5,373\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.53.96.88\"\n\"September 22nd 2015, 07:49:41.425\",,\"5,329\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"188.123.71.54\"\n\"September 22nd 2015, 07:49:35.783\",,\"2,500\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"168.174.35.186\"\n\"September 22nd 2015, 07:49:33.332\",,\"9,203\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"102.19.248.156\"\n\"September 22nd 2015, 07:49:25.262\",,\"6,143\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"45.102.15.116\"\n\"September 22nd 2015, 07:49:23.102\",,\"12,519\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.119.62.60\"\n\"September 22nd 2015, 07:49:15.060\",,\"7,750\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.95.78.209\"\n\"September 22nd 2015, 07:49:04.278\",,\"2,494\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.210.163.45\"\n\"September 22nd 2015, 07:49:02.987\",,\"6,117\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"248.239.221.43\"\n\"September 22nd 2015, 07:48:09.611\",,\"7,513\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"109.192.212.178\"\n\"September 22nd 2015, 07:48:00.646\",,\"6,821\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"117.102.170.167\"\n\"September 22nd 2015, 07:47:28.912\",,\"8,211\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.237.64.228\"\n\"September 22nd 2015, 07:47:22.933\",,\"9,066\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.227.142.190\"\n\"September 22nd 2015, 07:47:08.045\",,\"5,033\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"86.193.157.89\"\n\"September 22nd 2015, 07:47:07.853\",,\"5,274\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.111.249.239\"\n\"September 22nd 2015, 07:46:55.818\",,\"3,007\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.129.62.213\"\n\"September 22nd 2015, 07:46:54.804\",,\"4,344\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.39.79.51\"\n\"September 22nd 2015, 07:46:51.877\",,\"2,827\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"167.165.89.8\"\n\"September 22nd 2015, 07:46:51.789\",,\"1,851\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.64.207.109\"\n\"September 22nd 2015, 07:46:50.563\",,\"3,358\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.79.151.78\"\n\"September 22nd 2015, 07:46:42.096\",,\"3,437\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.160.128.58\"\n\"September 22nd 2015, 07:46:41.323\",,\"7,436\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"203.206.8.45\"\n\"September 22nd 2015, 07:46:40.041\",,\"7,926\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.227.142.190\"\n\"September 22nd 2015, 07:46:24.503\",,\"1,503\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.90.215.57\"\n\"September 22nd 2015, 07:46:22.643\",,\"9,790\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.223.164.21\"\n\"September 22nd 2015, 07:46:08.888\",,\"7,608\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"149.150.67.234\"\n\"September 22nd 2015, 07:46:05.524\",,\"5,296\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"110.148.228.141\"\n\"September 22nd 2015, 07:45:52.592\",,\"5,027\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.130.100.179\"\n\"September 22nd 2015, 07:45:48.180\",,\"4,703\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.172.28.222\"\n\"September 22nd 2015, 07:45:26.183\",,\"1,851\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.115.81.216\"\n\"September 22nd 2015, 07:45:20.012\",,\"3,793\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"184.101.186.240\"\n\"September 22nd 2015, 07:45:01.911\",,\"8,555\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.37.236.61\"\n\"September 22nd 2015, 07:45:01.546\",,\"8,285\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.241.34.0\"\n\"September 22nd 2015, 07:44:54.821\",,\"7,013\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"83.236.80.152\"\n\"September 22nd 2015, 07:44:53.708\",,\"4,986\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"128.248.96.80\"\n\"September 22nd 2015, 07:44:49.544\",,\"2,547\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.5.167.41\"\n\"September 22nd 2015, 07:44:40.744\",,\"2,521\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.83.52.239\"\n\"September 22nd 2015, 07:44:36.821\",,\"8,303\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.11.43.220\"\n\"September 22nd 2015, 07:44:33.377\",,\"7,652\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.98.200.29\"\n\"September 22nd 2015, 07:44:32.973\",,\"7,111\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"203.206.8.45\"\n\"September 22nd 2015, 07:44:32.074\",,\"3,422\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.183.28.41\"\n\"September 22nd 2015, 07:44:18.768\",,\"1,680\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.190.3.193\"\n\"September 22nd 2015, 07:44:11.554\",,\"7,072\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"0.254.91.215\"\n\"September 22nd 2015, 07:44:09.878\",,\"14,148\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.225.141.240\"\n\"September 22nd 2015, 07:44:00.675\",,\"8,172\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.53.251.53\"\n\"September 22nd 2015, 07:43:53.104\",,\"7,178\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"140.22.23.73\"\n\"September 22nd 2015, 07:43:50.431\",,\"4,307\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.115.77.46\"\n\"September 22nd 2015, 07:43:14.951\",,\"9,130\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.218.253.140\"\n\"September 22nd 2015, 07:43:08.417\",,\"4,989\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"218.186.41.141\"\n\"September 22nd 2015, 07:43:01.825\",,\"5,947\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"106.181.249.244\"\n\"September 22nd 2015, 07:42:58.302\",,\"3,163\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.237.80.177\"\n\"September 22nd 2015, 07:42:51.789\",,\"8,574\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.201.208.162\"\n\"September 22nd 2015, 07:42:48.957\",,\"8,227\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.190.101.72\"\n\"September 22nd 2015, 07:42:42.886\",,\"8,527\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"19.166.42.220\"\n\"September 22nd 2015, 07:42:41.517\",,\"7,520\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.253.222.16\"\n\"September 22nd 2015, 07:41:43.198\",,\"1,528\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"50.26.210.216\"\n\"September 22nd 2015, 07:41:40.988\",,\"17,836\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.15.162.241\"\n\"September 22nd 2015, 07:41:29.756\",,\"7,333\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.23.191.85\"\n\"September 22nd 2015, 07:41:23.869\",,\"3,375\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.236.3.119\"\n\"September 22nd 2015, 07:41:19.660\",,\"1,894\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"143.84.142.7\"\n\"September 22nd 2015, 07:40:55.577\",,\"5,109\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"189.125.84.30\"\n\"September 22nd 2015, 07:40:36.229\",,\"2,220\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"19.15.54.136\"\n\"September 22nd 2015, 07:40:29.470\",,\"6,425\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.227.27.167\"\n\"September 22nd 2015, 07:40:29.133\",,\"6,012\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.20.91.73\"\n\"September 22nd 2015, 07:40:22.591\",,\"2,530\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.219.65.244\"\n\"September 22nd 2015, 07:40:21.973\",,\"2,296\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.93.219.234\"\n\"September 22nd 2015, 07:40:20.770\",,\"18,365\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.191.87.129\"\n\"September 22nd 2015, 07:40:17.631\",,\"6,935\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"105.82.36.95\"\n\"September 22nd 2015, 07:40:12.619\",,\"8,186\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.225.141.240\"\n\"September 22nd 2015, 07:39:56.368\",,\"7,493\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.94.120.10\"\n\"September 22nd 2015, 07:39:51.240\",,\"7,511\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"6.70.186.143\"\n\"September 22nd 2015, 07:39:39.833\",,\"6,352\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.182.209.84\"\n\"September 22nd 2015, 07:39:38.183\",,\"10,864\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.80.208.225\"\n\"September 22nd 2015, 07:39:34.632\",,\"5,452\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.123.55.136\"\n\"September 22nd 2015, 07:39:16.966\",,\"2,148\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"35.88.165.183\"\n\"September 22nd 2015, 07:39:14.867\",,\"7,323\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.154.198.225\"\n\"September 22nd 2015, 07:39:10.782\",,\"3,955\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.115.183.40\"\n\"September 22nd 2015, 07:39:08.157\",,\"2,610\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.169.230.188\"\n\"September 22nd 2015, 07:39:07.747\",,\"7,005\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.192.144.100\"\n\"September 22nd 2015, 07:39:05.253\",,\"1,952\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.57.7.61\"\n\"September 22nd 2015, 07:39:01.429\",,\"3,217\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"17.117.135.38\"\n\"September 22nd 2015, 07:38:52.218\",,\"7,678\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.151.84.213\"\n\"September 22nd 2015, 07:38:52.118\",,\"7,916\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.231.132.106\"\n\"September 22nd 2015, 07:38:50.550\",,\"6,612\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.29.249.167\"\n\"September 22nd 2015, 07:38:50.058\",,\"5,570\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.225.247.245\"\n\"September 22nd 2015, 07:38:47.389\",,\"5,754\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.253.85.132\"\n\"September 22nd 2015, 07:38:36.397\",,\"3,494\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"178.104.96.40\"\n\"September 22nd 2015, 07:38:32.849\",,\"7,764\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.62.90.237\"\n\"September 22nd 2015, 07:38:27.742\",,\"2,853\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.209.80.244\"\n\"September 22nd 2015, 07:38:22.952\",,\"9,962\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"246.180.120.21\"\n\"September 22nd 2015, 07:38:21.848\",,\"2,516\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.164.39.249\"\n\"September 22nd 2015, 07:38:09.973\",,\"6,286\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.202.198.155\"\n\"September 22nd 2015, 07:38:07.851\",,\"7,716\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.57.170.220\"\n\"September 22nd 2015, 07:37:58.283\",,\"9,276\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.25.112.43\"\n\"September 22nd 2015, 07:37:57.426\",,\"1,508\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"38.29.122.137\"\n\"September 22nd 2015, 07:37:50.224\",,\"3,968\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"100.99.207.174\"\n\"September 22nd 2015, 07:37:34.521\",,\"6,618\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.210.116.210\"\n\"September 22nd 2015, 07:37:33.776\",,\"2,451\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.249.93.77\"\n\"September 22nd 2015, 07:37:33.364\",,\"7,660\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.7.129.34\"\n\"September 22nd 2015, 07:37:20.562\",,\"2,342\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"204.58.247.117\"\n\"September 22nd 2015, 07:37:11.095\",,\"9,303\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"72.173.69.119\"\n\"September 22nd 2015, 07:37:00.003\",,\"9,967\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"11.195.163.57\"\n\"September 22nd 2015, 07:36:55.992\",,\"7,206\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.45.70.116\"\n\"September 22nd 2015, 07:36:42.958\",,\"7,026\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"105.47.117.171\"\n\"September 22nd 2015, 07:36:42.482\",,\"5,845\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.236.240.166\"\n\"September 22nd 2015, 07:36:34.214\",,\"7,620\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.106.229.151\"\n\"September 22nd 2015, 07:36:31.025\",,\"16,549\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.117.135.38\"\n\"September 22nd 2015, 07:36:29.364\",,\"7,468\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"109.136.109.115\"\n\"September 22nd 2015, 07:36:02.242\",,\"4,189\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.13.113.3\"\n\"September 22nd 2015, 07:35:57.400\",,\"3,008\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.92.50.149\"\n\"September 22nd 2015, 07:35:49.962\",,\"2,559\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"140.233.207.177\"\n\"September 22nd 2015, 07:35:42.869\",,\"5,298\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.224.184.36\"\n\"September 22nd 2015, 07:35:37.496\",,\"5,085\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.34.138.226\"\n\"September 22nd 2015, 07:35:35.212\",,\"5,292\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.106.203.143\"\n\"September 22nd 2015, 07:35:27.437\",,\"9,844\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.72.217.98\"\n\"September 22nd 2015, 07:35:16.454\",,\"6,263\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.228.214.218\"\n\"September 22nd 2015, 07:35:12.106\",,\"4,091\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"225.241.219.2\"\n\"September 22nd 2015, 07:35:11.471\",,\"7,909\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.253.80.52\"\n\"September 22nd 2015, 07:35:06.514\",,\"8,334\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"248.163.75.193\"\n\"September 22nd 2015, 07:35:01.529\",,\"2,133\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.83.76.140\"\n\"September 22nd 2015, 07:34:54.566\",,\"17,260\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.183.87.181\"\n\"September 22nd 2015, 07:34:45.662\",,\"4,576\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.168.126.221\"\n\"September 22nd 2015, 07:34:44.295\",,\"6,635\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.244.160.168\"\n\"September 22nd 2015, 07:34:41.503\",,\"6,418\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"96.34.109.191\"\n\"September 22nd 2015, 07:34:39.381\",,\"9,383\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"67.47.100.255\"\n\"September 22nd 2015, 07:34:28.962\",,\"6,047\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.72.69.43\"\n\"September 22nd 2015, 07:34:28.340\",,\"9,831\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.57.13.23\"\n\"September 22nd 2015, 07:34:22.341\",,\"6,692\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.68.89.92\"\n\"September 22nd 2015, 07:34:15.396\",,\"7,369\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.216.169.176\"\n\"September 22nd 2015, 07:34:05.444\",,\"8,795\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"17.123.55.136\"\n\"September 22nd 2015, 07:34:01.067\",,\"7,608\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"198.174.196.110\"\n\"September 22nd 2015, 07:33:54.784\",,\"5,042\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.75.97.203\"\n\"September 22nd 2015, 07:33:50.795\",,\"9,386\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.52.178.194\"\n\"September 22nd 2015, 07:33:48.751\",,\"5,505\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.207.101.203\"\n\"September 22nd 2015, 07:33:46.274\",,\"6,946\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.129.117.216\"\n\"September 22nd 2015, 07:33:40.226\",,\"6,103\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"159.137.252.66\"\n\"September 22nd 2015, 07:33:38.334\",,\"9,287\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.80.12.188\"\n\"September 22nd 2015, 07:33:28.957\",,\"7,101\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"242.162.114.49\"\n\"September 22nd 2015, 07:33:01.881\",,\"2,975\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.139.45.110\"\n\"September 22nd 2015, 07:33:00.555\",,\"2,690\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.252.112.76\"\n\"September 22nd 2015, 07:32:39.482\",,\"9,375\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"92.153.81.10\"\n\"September 22nd 2015, 07:32:36.377\",,\"9,357\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.234.255.241\"\n\"September 22nd 2015, 07:32:32.995\",,\"18,733\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.165.237.200\"\n\"September 22nd 2015, 07:32:32.601\",,\"4,226\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.92.235.117\"\n\"September 22nd 2015, 07:32:26.363\",,\"13,135\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.168.21.69\"\n\"September 22nd 2015, 07:32:11.491\",,\"4,580\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"165.150.252.187\"\n\"September 22nd 2015, 07:32:05.342\",,\"6,395\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"35.222.204.135\"\n\"September 22nd 2015, 07:31:59.012\",,\"5,118\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"217.132.169.207\"\n\"September 22nd 2015, 07:31:58.471\",,\"7,351\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"178.57.229.103\"\n\"September 22nd 2015, 07:31:57.264\",,\"6,664\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"32.94.46.226\"\n\"September 22nd 2015, 07:31:55.148\",,\"8,764\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"129.32.224.79\"\n\"September 22nd 2015, 07:31:52.333\",,\"8,860\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.249.93.77\"\n\"September 22nd 2015, 07:31:51.221\",,\"7,052\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"204.17.159.23\"\n\"September 22nd 2015, 07:31:43.050\",,\"7,790\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.15.54.136\"\n\"September 22nd 2015, 07:31:36.380\",,\"6,980\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.197.178.155\"\n\"September 22nd 2015, 07:31:14.076\",,\"19,359\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.96.206.187\"\n\"September 22nd 2015, 07:31:09.851\",,\"9,818\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.46.85.146\"\n\"September 22nd 2015, 07:31:05.781\",,\"6,284\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.43.63.180\"\n\"September 22nd 2015, 07:30:50.005\",,\"7,091\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"110.247.249.228\"\n\"September 22nd 2015, 07:30:48.737\",,\"3,218\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.46.85.146\"\n\"September 22nd 2015, 07:30:41.134\",,\"3,193\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"146.86.123.109\"\n\"September 22nd 2015, 07:30:35.036\",,\"9,861\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.208.15.12\"\n\"September 22nd 2015, 07:30:31.641\",,\"4,921\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.228.214.218\"\n\"September 22nd 2015, 07:30:31.630\",,\"9,892\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.37.151.239\"\n\"September 22nd 2015, 07:30:17.005\",,\"7,447\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"249.11.43.220\"\n\"September 22nd 2015, 07:29:58.762\",,\"9,940\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"209.144.199.174\"\n\"September 22nd 2015, 07:29:56.801\",,\"3,039\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.22.228.100\"\n\"September 22nd 2015, 07:29:53.653\",,\"4,589\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.59.37.77\"\n\"September 22nd 2015, 07:29:52.983\",,\"3,611\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"12.158.252.108\"\n\"September 22nd 2015, 07:29:51.716\",,\"6,318\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"188.53.50.20\"\n\"September 22nd 2015, 07:29:51.021\",,\"6,870\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.4.99.92\"\n\"September 22nd 2015, 07:29:39.822\",,\"4,056\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.236.240.166\"\n\"September 22nd 2015, 07:29:38.155\",,\"5,019\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.253.222.16\"\n\"September 22nd 2015, 07:29:33.159\",,\"8,541\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.252.46.140\"\n\"September 22nd 2015, 07:29:24.477\",,\"3,444\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.219.108.141\"\n\"September 22nd 2015, 07:29:17.906\",,\"2,229\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.98.200.29\"\n\"September 22nd 2015, 07:29:10.359\",,\"3,280\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"198.174.196.110\"\n\"September 22nd 2015, 07:28:56.772\",,\"2,593\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"50.26.210.216\"\n\"September 22nd 2015, 07:28:49.168\",,\"2,111\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.123.71.54\"\n\"September 22nd 2015, 07:28:48.047\",,\"7,749\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"202.22.74.232\"\n\"September 22nd 2015, 07:28:29.012\",,\"4,699\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"216.126.255.31\"\n\"September 22nd 2015, 07:28:27.930\",,\"1,994\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"211.0.102.190\"\n\"September 22nd 2015, 07:28:26.865\",,\"3,337\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.190.3.193\"\n\"September 22nd 2015, 07:28:14.825\",,\"5,582\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.207.101.203\"\n\"September 22nd 2015, 07:28:14.402\",,\"2,944\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"24.186.122.118\"\n\"September 22nd 2015, 07:28:10.366\",,\"7,766\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"212.99.52.163\"\n\"September 22nd 2015, 07:27:54.248\",,\"6,069\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"83.56.222.3\"\n\"September 22nd 2015, 07:27:46.684\",,\"5,786\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.141.35.68\"\n\"September 22nd 2015, 07:27:46.368\",,\"7,261\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.105.204.4\"\n\"September 22nd 2015, 07:27:36.056\",,\"5,323\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"121.205.46.255\"\n\"September 22nd 2015, 07:27:07.627\",,\"3,903\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.240.114.69\"\n\"September 22nd 2015, 07:26:58.750\",,\"3,730\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.92.235.117\"\n\"September 22nd 2015, 07:26:50.245\",,\"6,373\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.219.87.110\"\n\"September 22nd 2015, 07:26:14.757\",,\"7,623\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"188.28.50.40\"\n\"September 22nd 2015, 07:26:01.812\",,\"2,129\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"192.158.203.248\"\n\"September 22nd 2015, 07:25:58.217\",,\"15,809\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.191.39.198\"\n\"September 22nd 2015, 07:25:56.224\",,\"4,782\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.174.21.181\"\n\"September 22nd 2015, 07:25:55.107\",,\"9,384\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"47.167.142.250\"\n\"September 22nd 2015, 07:25:53.975\",,\"5,698\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.240.114.69\"\n\"September 22nd 2015, 07:25:53.321\",,\"4,206\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"180.37.241.184\"\n\"September 22nd 2015, 07:25:47.823\",,\"4,951\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"219.33.16.83\"\n\"September 22nd 2015, 07:25:44.490\",,\"6,943\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.207.16.29\"\n\"September 22nd 2015, 07:25:37.363\",,\"3,769\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"204.17.159.23\"\n\"September 22nd 2015, 07:25:22.931\",,\"7,413\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.244.25.107\"\n\"September 22nd 2015, 07:25:20.888\",,\"7,518\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"54.172.121.192\"\n\"September 22nd 2015, 07:25:07.675\",,\"4,954\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.93.29.126\"\n\"September 22nd 2015, 07:24:57.989\",,\"2,971\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.244.83.137\"\n\"September 22nd 2015, 07:24:38.507\",,\"6,100\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"157.39.25.197\"\n\"September 22nd 2015, 07:24:36.032\",,\"9,740\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.201.32.254\"\n\"September 22nd 2015, 07:24:23.685\",,\"9,777\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.178.152.193\"\n\"September 22nd 2015, 07:24:09.168\",,\"2,039\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.156.163.220\"\n\"September 22nd 2015, 07:23:42.197\",,\"7,350\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.53.251.53\"\n\"September 22nd 2015, 07:23:35.382\",,\"8,056\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.213.126.12\"\n\"September 22nd 2015, 07:23:25.193\",,\"4,647\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"64.39.144.87\"\n\"September 22nd 2015, 07:23:02.432\",,\"6,312\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.48.147.184\"\n\"September 22nd 2015, 07:22:42.728\",,\"4,555\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"2.7.11.95\"\n\"September 22nd 2015, 07:22:34.314\",,\"16,578\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"45.138.192.138\"\n\"September 22nd 2015, 07:22:22.160\",,\"9,633\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"192.224.131.67\"\n\"September 22nd 2015, 07:22:20.804\",,\"8,715\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.223.93.34\"\n\"September 22nd 2015, 07:22:07.761\",,\"2,353\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.19.217.148\"\n\"September 22nd 2015, 07:22:01.636\",,\"4,442\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"169.137.241.169\"\n\"September 22nd 2015, 07:21:52.135\",,\"9,994\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"204.58.247.117\"\n\"September 22nd 2015, 07:21:51.132\",,\"2,564\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"134.62.86.139\"\n\"September 22nd 2015, 07:21:38.508\",,\"3,870\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.230.105.32\"\n\"September 22nd 2015, 07:21:37.689\",,\"5,248\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.69.255.135\"\n\"September 22nd 2015, 07:21:29.953\",,\"2,757\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"158.222.162.158\"\n\"September 22nd 2015, 07:21:28.164\",,\"4,042\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"196.97.127.109\"\n\"September 22nd 2015, 07:21:25.270\",,\"8,714\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.45.70.116\"\n\"September 22nd 2015, 07:21:14.975\",,\"6,746\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"234.58.25.145\"\n\"September 22nd 2015, 07:20:55.800\",,\"1,956\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"31.245.21.115\"\n\"September 22nd 2015, 07:20:50.711\",,\"3,490\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.206.61.6\"\n\"September 22nd 2015, 07:20:41.949\",,\"8,728\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"36.160.226.203\"\n\"September 22nd 2015, 07:20:40.193\",,\"3,566\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.225.107.118\"\n\"September 22nd 2015, 07:20:33.600\",,\"4,283\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.117.173.67\"\n\"September 22nd 2015, 07:20:32.580\",,\"5,463\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"244.15.131.137\"\n\"September 22nd 2015, 07:20:31.130\",,\"6,229\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"239.84.248.187\"\n\"September 22nd 2015, 07:20:29.968\",,\"3,837\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"219.42.50.113\"\n\"September 22nd 2015, 07:20:23.891\",,\"1,595\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.242.204.223\"\n\"September 22nd 2015, 07:20:21.358\",,\"1,840\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.86.105.212\"\n\"September 22nd 2015, 07:20:02.455\",,\"4,575\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"164.137.46.37\"\n\"September 22nd 2015, 07:19:54.839\",,\"8,235\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.200.84.215\"\n\"September 22nd 2015, 07:19:48.230\",,\"8,932\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"110.88.213.204\"\n\"September 22nd 2015, 07:19:39.790\",,\"4,550\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.244.160.168\"\n\"September 22nd 2015, 07:19:22.503\",,\"3,960\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.34.138.226\"\n\"September 22nd 2015, 07:19:16.078\",,\"8,487\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"122.71.171.141\"\n\"September 22nd 2015, 07:19:11.632\",,\"5,163\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"171.132.193.95\"\n\"September 22nd 2015, 07:19:11.559\",,\"8,227\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"250.177.125.196\"\n\"September 22nd 2015, 07:19:01.945\",,\"2,167\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.6.126.193\"\n\"September 22nd 2015, 07:19:00.413\",,\"6,846\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.152.141.244\"\n\"September 22nd 2015, 07:18:51.028\",,\"6,184\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.128.207.200\"\n\"September 22nd 2015, 07:18:39.738\",,\"9,269\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.4.117.154\"\n\"September 22nd 2015, 07:18:32.268\",,\"3,449\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.158.88.35\"\n\"September 22nd 2015, 07:18:27.638\",,\"4,545\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.135.88.86\"\n\"September 22nd 2015, 07:18:27.605\",,\"1,521\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.191.87.129\"\n\"September 22nd 2015, 07:18:13.895\",,\"12,497\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"164.185.40.249\"\n\"September 22nd 2015, 07:18:07.436\",,\"4,683\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.217.241.90\"\n\"September 22nd 2015, 07:18:04.838\",,\"8,160\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.108.50.221\"\n\"September 22nd 2015, 07:17:35.882\",,\"15,856\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"234.58.25.145\"\n\"September 22nd 2015, 07:17:10.725\",,\"9,546\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.113.219.30\"\n\"September 22nd 2015, 07:17:10.459\",,\"5,191\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.147.43.175\"\n\"September 22nd 2015, 07:17:07.489\",,\"7,011\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"192.224.131.67\"\n\"September 22nd 2015, 07:16:45.406\",,\"3,578\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.194.157.171\"\n\"September 22nd 2015, 07:16:24.704\",,\"3,997\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.55.251.105\"\n\"September 22nd 2015, 07:16:15.839\",,\"4,414\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.105.196.209\"\n\"September 22nd 2015, 07:16:11.815\",,\"6,139\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.215.211.142\"\n\"September 22nd 2015, 07:15:59.472\",,\"2,620\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.203.229.229\"\n\"September 22nd 2015, 07:15:58.481\",,\"4,885\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.237.80.177\"\n\"September 22nd 2015, 07:15:57.107\",,\"9,489\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"157.136.137.24\"\n\"September 22nd 2015, 07:15:29.576\",,\"9,175\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"236.20.147.107\"\n\"September 22nd 2015, 07:15:18.098\",,\"5,219\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.34.138.226\"\n\"September 22nd 2015, 07:15:15.939\",,\"6,005\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"182.207.77.200\"\n\"September 22nd 2015, 07:15:15.654\",,\"9,572\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.17.130.204\"\n\"September 22nd 2015, 07:15:10.959\",,\"5,682\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.216.205.112\"\n\"September 22nd 2015, 07:15:09.098\",,\"7,677\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.26.51.188\"\n\"September 22nd 2015, 07:15:04.068\",,\"16,613\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.151.155.50\"\n\"September 22nd 2015, 07:15:03.041\",,\"4,619\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.213.126.12\"\n\"September 22nd 2015, 07:14:58.709\",,\"3,400\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.48.147.184\"\n\"September 22nd 2015, 07:14:43.694\",,\"2,225\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"183.33.83.170\"\n\"September 22nd 2015, 07:14:42.112\",,\"5,588\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.207.101.203\"\n\"September 22nd 2015, 07:14:33.078\",,\"6,206\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"153.250.60.205\"\n\"September 22nd 2015, 07:14:30.634\",,\"5,548\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.55.130.114\"\n\"September 22nd 2015, 07:14:16.677\",,\"7,678\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.57.7.61\"\n\"September 22nd 2015, 07:13:57.300\",,\"1,709\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"11.195.111.241\"\n\"September 22nd 2015, 07:13:56.772\",,\"8,044\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.37.151.239\"\n\"September 22nd 2015, 07:13:35.324\",,\"4,049\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"82.40.137.38\"\n\"September 22nd 2015, 07:13:15.220\",,\"5,139\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.58.133.108\"\n\"September 22nd 2015, 07:13:11.767\",,\"5,706\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"242.162.114.49\"\n\"September 22nd 2015, 07:13:00.357\",,\"7,802\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.246.143.109\"\n\"September 22nd 2015, 07:12:58.337\",,\"8,825\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.115.221.35\"\n\"September 22nd 2015, 07:12:49.629\",,\"5,360\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.85.86.52\"\n\"September 22nd 2015, 07:12:28.240\",,\"4,732\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.17.130.204\"\n\"September 22nd 2015, 07:12:20.194\",,\"5,858\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"211.0.102.190\"\n\"September 22nd 2015, 07:12:14.404\",,\"6,908\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.55.130.114\"\n\"September 22nd 2015, 07:12:14.171\",,\"7,586\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.245.188.46\"\n\"September 22nd 2015, 07:12:12.825\",,\"8,324\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"77.227.154.93\"\n\"September 22nd 2015, 07:12:05.091\",,\"5,631\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"67.238.57.221\"\n\"September 22nd 2015, 07:12:00.708\",,\"8,026\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.107.74.6\"\n\"September 22nd 2015, 07:11:49.046\",,\"6,242\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.191.39.198\"\n\"September 22nd 2015, 07:11:45.947\",,\"5,788\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"203.239.228.151\"\n\"September 22nd 2015, 07:11:43.250\",,\"4,028\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.219.151.88\"\n\"September 22nd 2015, 07:11:29.592\",,\"3,267\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.172.121.192\"\n\"September 22nd 2015, 07:11:03.981\",,\"3,966\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.144.90.74\"\n\"September 22nd 2015, 07:10:50.000\",,\"9,684\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.161.172.168\"\n\"September 22nd 2015, 07:10:29.391\",,\"2,763\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"63.142.94.147\"\n\"September 22nd 2015, 07:10:20.762\",,\"6,491\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.171.208.139\"\n\"September 22nd 2015, 07:10:06.127\",,\"8,342\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"118.163.20.44\"\n\"September 22nd 2015, 07:09:49.037\",,\"9,786\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.107.235.54\"\n\"September 22nd 2015, 07:09:48.346\",,\"3,879\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"198.21.77.227\"\n\"September 22nd 2015, 07:09:47.435\",,\"5,422\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.125.131.162\"\n\"September 22nd 2015, 07:09:38.793\",,\"3,549\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"100.99.207.174\"\n\"September 22nd 2015, 07:09:29.896\",,\"6,397\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.102.200.168\"\n\"September 22nd 2015, 07:09:01.879\",,\"3,357\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.195.111.241\"\n\"September 22nd 2015, 07:08:35.184\",,\"3,222\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"123.54.151.5\"\n\"September 22nd 2015, 07:08:33.737\",,\"9,407\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.156.46.205\"\n\"September 22nd 2015, 07:08:05.901\",,\"8,169\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"222.201.119.239\"\n\"September 22nd 2015, 07:07:40.313\",,\"3,700\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.62.159.102\"\n\"September 22nd 2015, 07:07:28.842\",,\"6,201\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.155.247.152\"\n\"September 22nd 2015, 07:07:22.562\",,\"17,081\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"202.123.188.108\"\n\"September 22nd 2015, 07:07:20.204\",,\"6,852\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.181.188.3\"\n\"September 22nd 2015, 07:07:14.934\",,\"3,379\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.89.73.11\"\n\"September 22nd 2015, 07:07:10.371\",,\"19,742\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.99.243.183\"\n\"September 22nd 2015, 07:06:57.740\",,\"3,828\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.65.30.133\"\n\"September 22nd 2015, 07:06:51.067\",,\"12,211\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"79.37.60.109\"\n\"September 22nd 2015, 07:06:41.899\",,\"3,456\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"16.148.135.166\"\n\"September 22nd 2015, 07:06:15.414\",,\"3,448\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.103.135.183\"\n\"September 22nd 2015, 07:05:50.711\",,\"8,245\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.227.27.167\"\n\"September 22nd 2015, 07:05:48.235\",,\"1,655\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.183.87.181\"\n\"September 22nd 2015, 07:05:47.087\",,\"5,758\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"155.157.127.149\"\n\"September 22nd 2015, 07:05:36.938\",,\"11,210\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.147.159.107\"\n\"September 22nd 2015, 07:05:05.387\",,\"5,670\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"218.186.41.141\"\n\"September 22nd 2015, 07:05:04.642\",,\"2,555\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"63.142.94.147\"\n\"September 22nd 2015, 07:05:04.370\",,\"9,667\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.245.188.46\"\n\"September 22nd 2015, 07:04:58.630\",,\"7,292\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.105.165.220\"\n\"September 22nd 2015, 07:04:49.025\",,\"10,659\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"236.90.86.83\"\n\"September 22nd 2015, 07:04:40.256\",,\"2,280\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.241.34.0\"\n\"September 22nd 2015, 07:04:30.935\",,\"9,811\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"24.78.153.162\"\n\"September 22nd 2015, 07:04:25.077\",,\"9,199\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"215.239.0.38\"\n\"September 22nd 2015, 07:04:13.806\",,\"16,440\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.205.146.206\"\n\"September 22nd 2015, 07:04:13.249\",,\"9,225\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"181.209.116.94\"\n\"September 22nd 2015, 07:04:07.630\",,\"8,434\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.246.231.47\"\n\"September 22nd 2015, 07:04:07.350\",,\"7,515\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.219.151.88\"\n\"September 22nd 2015, 07:04:02.994\",,\"8,137\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"43.66.187.127\"\n\"September 22nd 2015, 07:03:59.967\",,\"5,604\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.206.117.161\"\n\"September 22nd 2015, 07:03:56.193\",,\"9,813\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"141.30.231.202\"\n\"September 22nd 2015, 07:03:52.620\",,\"4,434\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.61.106.118\"\n\"September 22nd 2015, 07:03:39.970\",,\"4,503\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"164.137.46.37\"\n\"September 22nd 2015, 07:03:35.438\",,\"3,904\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.253.222.16\"\n\"September 22nd 2015, 07:03:31.400\",,\"6,535\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"43.164.236.145\"\n\"September 22nd 2015, 07:03:30.184\",,\"8,240\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.81.157.252\"\n\"September 22nd 2015, 07:03:28.402\",,\"9,013\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.28.123.34\"\n\"September 22nd 2015, 07:03:18.401\",,\"4,828\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"189.125.84.30\"\n\"September 22nd 2015, 07:03:16.485\",,\"4,023\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"197.222.12.184\"\n\"September 22nd 2015, 07:03:12.871\",,\"7,474\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"148.47.216.255\"\n\"September 22nd 2015, 07:03:08.410\",,\"6,004\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.7.129.34\"\n\"September 22nd 2015, 07:03:07.768\",,\"8,440\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.109.145.217\"\n\"September 22nd 2015, 07:03:00.283\",,\"5,974\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.127.51.83\"\n\"September 22nd 2015, 07:02:11.425\",,\"6,078\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"186.182.14.125\"\n\"September 22nd 2015, 07:01:59.908\",,\"9,737\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.108.3.2\"\n\"September 22nd 2015, 07:01:52.107\",,\"6,530\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.212.173.15\"\n\"September 22nd 2015, 07:01:40.493\",,\"6,379\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.5.110.41\"\n\"September 22nd 2015, 07:01:29.735\",,\"9,873\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"149.170.135.63\"\n\"September 22nd 2015, 07:01:23.210\",,\"7,414\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.37.253.193\"\n\"September 22nd 2015, 07:01:16.198\",,\"5,598\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.223.93.34\"\n\"September 22nd 2015, 07:00:52.734\",,\"4,588\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.252.112.76\"\n\"September 22nd 2015, 07:00:51.071\",,\"8,222\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"66.194.157.171\"\n\"September 22nd 2015, 07:00:50.582\",,\"9,143\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.37.60.109\"\n\"September 22nd 2015, 07:00:47.604\",,\"6,550\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.201.249.221\"\n\"September 22nd 2015, 07:00:44.940\",,\"8,353\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"189.34.180.209\"\n\"September 22nd 2015, 07:00:27.439\",,\"16,083\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.81.157.252\"\n\"September 22nd 2015, 07:00:07.866\",,\"8,257\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"5.206.32.88\"\n\"September 22nd 2015, 07:00:07.491\",,\"6,662\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"1.59.159.138\"\n\"September 22nd 2015, 07:00:06.180\",,\"9,439\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"250.208.48.188\"\n\"September 22nd 2015, 07:00:02.865\",,\"2,545\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.54.12.226\"\n\"September 22nd 2015, 06:59:39.223\",,\"7,676\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"158.222.162.158\"\n\"September 22nd 2015, 06:59:36.150\",,\"4,086\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"12.102.47.119\"\n\"September 22nd 2015, 06:59:25.147\",,\"4,488\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"157.39.25.197\"\n\"September 22nd 2015, 06:59:11.328\",,\"18,389\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.117.73.210\"\n\"September 22nd 2015, 06:59:01.543\",,\"6,467\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"207.218.166.105\"\n\"September 22nd 2015, 06:58:55.256\",,\"6,968\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"122.95.5.139\"\n\"September 22nd 2015, 06:58:28.630\",,\"2,996\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"169.247.113.252\"\n\"September 22nd 2015, 06:58:24.259\",,\"7,787\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"145.211.179.106\"\n\"September 22nd 2015, 06:58:24.253\",,\"4,022\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"185.170.80.142\"\n\"September 22nd 2015, 06:58:21.820\",,\"5,249\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.105.235.122\"\n\"September 22nd 2015, 06:58:17.658\",,\"7,323\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.3.0.125\"\n\"September 22nd 2015, 06:58:15.830\",,\"8,510\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.192.185.168\"\n\"September 22nd 2015, 06:58:11.781\",,\"2,936\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"8.248.237.182\"\n\"September 22nd 2015, 06:58:11.397\",,\"4,124\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.111.6.101\"\n\"September 22nd 2015, 06:57:59.212\",,\"4,328\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.7.97.184\"\n\"September 22nd 2015, 06:57:45.556\",,\"7,987\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.55.175.148\"\n\"September 22nd 2015, 06:57:31.013\",,\"7,886\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.109.145.217\"\n\"September 22nd 2015, 06:57:28.598\",,\"5,677\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.35.159.150\"\n\"September 22nd 2015, 06:57:20.385\",,\"2,924\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.181.166.105\"\n\"September 22nd 2015, 06:57:16.989\",,\"8,324\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"171.243.18.67\"\n\"September 22nd 2015, 06:56:56.739\",,\"7,606\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.188.1.153\"\n\"September 22nd 2015, 06:56:38.810\",,\"6,291\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"5.206.32.88\"\n\"September 22nd 2015, 06:56:36.379\",,\"6,784\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.255.46.138\"\n\"September 22nd 2015, 06:56:31.934\",,\"6,244\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"199.113.69.162\"\n\"September 22nd 2015, 06:56:30.406\",,\"3,921\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"234.201.75.147\"\n\"September 22nd 2015, 06:56:28.977\",,\"5,092\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"71.169.104.184\"\n\"September 22nd 2015, 06:56:18.730\",,\"2,882\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"196.131.253.111\"\n\"September 22nd 2015, 06:56:17.710\",,\"4,162\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.106.229.151\"\n\"September 22nd 2015, 06:56:15.988\",,\"3,475\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"222.201.119.239\"\n\"September 22nd 2015, 06:56:13.436\",,\"4,775\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"116.126.47.226\"\n\"September 22nd 2015, 06:55:56.291\",,\"7,061\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"32.180.30.227\"\n\"September 22nd 2015, 06:55:47.295\",,\"1,723\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.55.141.62\"\n\"September 22nd 2015, 06:55:41.566\",,\"9,689\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.216.169.176\"\n\"September 22nd 2015, 06:55:38.697\",,\"9,188\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.198.132.23\"\n\"September 22nd 2015, 06:55:38.624\",,\"6,541\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"244.112.251.87\"\n\"September 22nd 2015, 06:55:34.367\",,\"3,654\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.122.34.237\"\n\"September 22nd 2015, 06:55:32.370\",,\"1,094\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"203.118.132.112\"\n\"September 22nd 2015, 06:55:28.650\",,\"3,981\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.26.51.188\"\n\"September 22nd 2015, 06:55:26.776\",,\"7,545\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.114.14.197\"\n\"September 22nd 2015, 06:55:24.640\",,\"3,648\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.220.227.11\"\n\"September 22nd 2015, 06:55:20.070\",,\"3,370\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"177.194.175.66\"\n\"September 22nd 2015, 06:55:19.459\",,\"7,466\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.134.81.148\"\n\"September 22nd 2015, 06:55:15.756\",,\"5,832\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.33.201.138\"\n\"September 22nd 2015, 06:55:11.302\",,\"8,277\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.105.196.209\"\n\"September 22nd 2015, 06:55:02.365\",,\"5,639\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.111.6.73\"\n\"September 22nd 2015, 06:54:29.512\",,\"4,015\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"29.139.45.110\"\n\"September 22nd 2015, 06:54:28.136\",,\"3,745\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"124.187.220.168\"\n\"September 22nd 2015, 06:54:19.127\",,\"4,447\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"71.100.136.81\"\n\"September 22nd 2015, 06:54:15.706\",,\"8,029\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"219.136.31.156\"\n\"September 22nd 2015, 06:54:08.757\",,\"8,115\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.71.171.141\"\n\"September 22nd 2015, 06:54:04.457\",,\"6,719\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.136.156.225\"\n\"September 22nd 2015, 06:53:42.174\",,\"7,195\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.139.46.29\"\n\"September 22nd 2015, 06:53:36.773\",,\"14,375\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.122.34.237\"\n\"September 22nd 2015, 06:53:25.490\",,\"8,213\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"249.11.43.220\"\n\"September 22nd 2015, 06:53:22.610\",,\"8,357\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.190.101.72\"\n\"September 22nd 2015, 06:53:17.557\",,\"19,930\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.34.138.226\"\n\"September 22nd 2015, 06:53:14.907\",,\"3,621\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.5.63.129\"\n\"September 22nd 2015, 06:53:10.173\",,\"1,667\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.119.62.60\"\n\"September 22nd 2015, 06:52:56.450\",,\"3,007\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.33.120.224\"\n\"September 22nd 2015, 06:52:55.450\",,\"4,151\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.154.233.154\"\n\"September 22nd 2015, 06:52:55.227\",,\"6,766\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.61.106.118\"\n\"September 22nd 2015, 06:52:41.673\",,\"11,965\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.206.61.6\"\n\"September 22nd 2015, 06:52:34.125\",,\"6,640\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.219.72.105\"\n\"September 22nd 2015, 06:52:28.208\",,\"3,603\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.12.231.216\"\n\"September 22nd 2015, 06:52:08.394\",,\"4,133\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.213.126.12\"\n\"September 22nd 2015, 06:51:55.542\",,\"8,597\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.22.226.5\"\n\"September 22nd 2015, 06:51:54.010\",,\"2,192\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.12.132.188\"\n\"September 22nd 2015, 06:51:52.869\",,\"2,834\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.219.72.105\"\n\"September 22nd 2015, 06:51:50.998\",,\"2,520\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.152.13.69\"\n\"September 22nd 2015, 06:51:46.448\",,\"8,609\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.17.191.204\"\n\"September 22nd 2015, 06:51:45.228\",,\"9,921\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.57.26.210\"\n\"September 22nd 2015, 06:51:38.444\",,\"9,862\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"242.26.103.238\"\n\"September 22nd 2015, 06:51:23.590\",,\"7,891\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"210.210.88.232\"\n\"September 22nd 2015, 06:51:17.551\",,\"1,443\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"224.183.190.156\"\n\"September 22nd 2015, 06:51:10.006\",,\"2,295\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"17.123.55.136\"\n\"September 22nd 2015, 06:51:09.554\",,\"4,964\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"36.41.204.197\"\n\"September 22nd 2015, 06:51:07.404\",,\"11,463\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"29.139.45.110\"\n\"September 22nd 2015, 06:51:01.476\",,\"6,561\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.143.176.28\"\n\"September 22nd 2015, 06:50:38.830\",,\"2,505\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.111.249.239\"\n\"September 22nd 2015, 06:50:33.142\",,\"2,356\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.96.96.191\"\n\"September 22nd 2015, 06:50:19.463\",,\"2,175\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"236.90.86.83\"\n\"September 22nd 2015, 06:50:17.333\",,\"3,090\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.180.120.21\"\n\"September 22nd 2015, 06:50:13.472\",,\"1,730\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"223.68.146.97\"\n\"September 22nd 2015, 06:50:12.582\",,\"4,053\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"31.38.33.47\"\n\"September 22nd 2015, 06:49:54.569\",,\"2,682\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.115.183.40\"\n\"September 22nd 2015, 06:49:51.959\",,\"1,366\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.46.176.132\"\n\"September 22nd 2015, 06:49:44.120\",,\"2,752\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.27.63.249\"\n\"September 22nd 2015, 06:49:42.337\",,\"8,216\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"102.191.15.62\"\n\"September 22nd 2015, 06:49:36.752\",,\"2,803\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"95.117.248.129\"\n\"September 22nd 2015, 06:49:33.487\",,\"9,820\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.166.42.220\"\n\"September 22nd 2015, 06:49:28.321\",,\"2,870\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.223.188.57\"\n\"September 22nd 2015, 06:49:28.253\",,\"4,711\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.237.64.228\"\n\"September 22nd 2015, 06:49:28.098\",,\"7,935\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.42.218.145\"\n\"September 22nd 2015, 06:49:20.451\",,\"6,809\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"24.5.165.192\"\n\"September 22nd 2015, 06:49:16.120\",,\"6,436\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"86.193.157.89\"\n\"September 22nd 2015, 06:49:08.344\",,\"5,945\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"60.71.214.79\"\n\"September 22nd 2015, 06:49:04.528\",,\"2,574\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.3.32.15\"\n\"September 22nd 2015, 06:48:51.501\",,\"8,022\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"52.111.115.206\"\n\"September 22nd 2015, 06:48:48.101\",,\"4,137\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.177.125.196\"\n\"September 22nd 2015, 06:48:42.658\",,\"1,738\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.151.84.213\"\n\"September 22nd 2015, 06:48:37.466\",,\"9,987\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.156.219.144\"\n\"September 22nd 2015, 06:48:25.885\",,\"2,885\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"203.118.132.112\"\n\"September 22nd 2015, 06:48:19.508\",,\"4,037\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.83.96.39\"\n\"September 22nd 2015, 06:48:12.347\",,\"5,977\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.120.12.168\"\n\"September 22nd 2015, 06:47:36.603\",,\"8,764\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.199.255.8\"\n\"September 22nd 2015, 06:47:34.036\",,\"8,264\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.86.132.152\"\n\"September 22nd 2015, 06:47:16.732\",,\"8,205\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.72.217.98\"\n\"September 22nd 2015, 06:47:06.895\",,\"9,405\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"182.186.221.142\"\n\"September 22nd 2015, 06:46:48.455\",,\"7,443\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.39.144.87\"\n\"September 22nd 2015, 06:46:46.185\",,\"4,319\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"222.28.157.119\"\n\"September 22nd 2015, 06:46:42.871\",,\"9,741\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.157.227.112\"\n\"September 22nd 2015, 06:46:34.853\",,\"5,723\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.199.42.50\"\n\"September 22nd 2015, 06:46:28.471\",,\"1,713\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"22.58.158.234\"\n\"September 22nd 2015, 06:46:17.088\",,\"2,240\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.191.87.129\"\n\"September 22nd 2015, 06:46:16.166\",,\"3,750\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"94.48.29.38\"\n\"September 22nd 2015, 06:45:59.528\",,\"5,850\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.33.201.138\"\n\"September 22nd 2015, 06:45:59.119\",,\"1,782\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"184.125.153.221\"\n\"September 22nd 2015, 06:45:58.900\",,\"1,854\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"66.136.173.80\"\n\"September 22nd 2015, 06:45:57.422\",,\"15,707\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.128.7.74\"\n\"September 22nd 2015, 06:45:56.755\",,\"8,218\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.53.110.116\"\n\"September 22nd 2015, 06:45:55.617\",,\"3,809\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.129.117.216\"\n\"September 22nd 2015, 06:45:40.872\",,\"8,908\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.175.109.124\"\n\"September 22nd 2015, 06:45:33.654\",,\"6,859\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.152.13.69\"\n\"September 22nd 2015, 06:45:17.080\",,\"8,344\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.37.253.193\"\n\"September 22nd 2015, 06:45:09.704\",,\"2,379\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.225.107.118\"\n\"September 22nd 2015, 06:44:53.282\",,\"5,259\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"224.240.85.118\"\n\"September 22nd 2015, 06:44:49.912\",,\"4,871\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"223.68.146.97\"\n\"September 22nd 2015, 06:44:47.917\",,\"6,085\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.68.89.92\"\n\"September 22nd 2015, 06:44:47.871\",,\"1,985\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.201.249.221\"\n\"September 22nd 2015, 06:44:47.388\",,\"6,579\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.157.227.112\"\n\"September 22nd 2015, 06:44:47.160\",,\"7,377\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.207.64.202\"\n\"September 22nd 2015, 06:44:39.882\",,\"2,746\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"157.56.54.126\"\n\"September 22nd 2015, 06:44:15.494\",,\"17,224\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.34.109.191\"\n\"September 22nd 2015, 06:44:03.984\",,\"6,172\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.252.219.9\"\n\"September 22nd 2015, 06:44:02.841\",,\"4,780\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.135.248.113\"\n\"September 22nd 2015, 06:44:02.038\",,\"6,454\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"117.2.255.240\"\n\"September 22nd 2015, 06:43:59.290\",,\"7,464\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.6.126.193\"\n\"September 22nd 2015, 06:43:35.703\",,\"2,765\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.85.53.125\"\n\"September 22nd 2015, 06:43:33.840\",,\"7,596\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"217.132.169.207\"\n\"September 22nd 2015, 06:43:25.948\",,\"3,948\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.151.244.234\"\n\"September 22nd 2015, 06:42:52.752\",,\"6,224\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.37.151.239\"\n\"September 22nd 2015, 06:42:45.283\",,\"4,402\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"171.253.80.52\"\n\"September 22nd 2015, 06:42:42.729\",,\"5,671\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"155.157.127.149\"\n\"September 22nd 2015, 06:42:23.306\",,\"2,335\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.75.54.137\"\n\"September 22nd 2015, 06:42:21.259\",,\"5,876\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.147.119.226\"\n\"September 22nd 2015, 06:42:11.966\",,\"5,996\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.199.255.8\"\n\"September 22nd 2015, 06:42:10.345\",,\"7,313\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.89.186.2\"\n\"September 22nd 2015, 06:42:01.889\",,\"5,539\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.197.178.155\"\n\"September 22nd 2015, 06:42:00.909\",,\"6,647\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"80.252.219.9\"\n\"September 22nd 2015, 06:42:00.408\",,\"7,948\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"6.183.121.70\"\n\"September 22nd 2015, 06:41:56.942\",,\"9,937\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.206.231.233\"\n\"September 22nd 2015, 06:41:28.072\",,\"7,758\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"12.102.47.119\"\n\"September 22nd 2015, 06:41:26.314\",,\"7,068\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.105.165.220\"\n\"September 22nd 2015, 06:41:26.078\",,\"5,234\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"224.183.190.156\"\n\"September 22nd 2015, 06:41:15.843\",,\"1,432\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.122.34.237\"\n\"September 22nd 2015, 06:41:03.497\",,\"6,272\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.225.141.240\"\n\"September 22nd 2015, 06:41:00.166\",,\"2,524\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.141.52.142\"\n\"September 22nd 2015, 06:40:36.509\",,\"9,500\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.154.246.27\"\n\"September 22nd 2015, 06:40:36.461\",,\"2,252\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.182.209.84\"\n\"September 22nd 2015, 06:40:36.279\",,\"9,506\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.39.140.144\"\n\"September 22nd 2015, 06:40:35.683\",,\"3,902\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"11.25.39.187\"\n\"September 22nd 2015, 06:40:26.119\",,\"1,608\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.0.214.93\"\n\"September 22nd 2015, 06:40:18.066\",,\"1,871\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.120.60.102\"\n\"September 22nd 2015, 06:39:53.121\",,\"4,107\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"1.59.159.138\"\n\"September 22nd 2015, 06:39:33.959\",,\"8,801\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"127.219.223.182\"\n\"September 22nd 2015, 06:39:31.147\",,\"7,130\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.112.81.106\"\n\"September 22nd 2015, 06:39:19.371\",,\"3,520\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.125.84.30\"\n\"September 22nd 2015, 06:39:06.399\",,\"8,801\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.225.104.159\"\n\"September 22nd 2015, 06:38:55.159\",,\"7,041\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"174.32.230.63\"\n\"September 22nd 2015, 06:38:53.568\",,\"8,187\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.172.111.30\"\n\"September 22nd 2015, 06:38:45.551\",,\"2,814\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"64.221.41.27\"\n\"September 22nd 2015, 06:38:44.329\",,\"9,628\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.6.99.158\"\n\"September 22nd 2015, 06:38:30.608\",,\"7,674\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"102.19.248.156\"\n\"September 22nd 2015, 06:38:29.221\",,\"8,144\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"101.43.176.190\"\n\"September 22nd 2015, 06:38:25.230\",,\"4,868\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.79.189.11\"\n\"September 22nd 2015, 06:38:23.096\",,\"6,605\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.220.52.2\"\n\"September 22nd 2015, 06:37:56.482\",,\"6,923\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"162.218.161.231\"\n\"September 22nd 2015, 06:37:46.838\",,\"6,811\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.84.248.187\"\n\"September 22nd 2015, 06:37:39.819\",,\"7,801\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.147.43.175\"\n\"September 22nd 2015, 06:37:15.368\",,\"7,040\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"74.101.37.80\"\n\"September 22nd 2015, 06:37:14.429\",,\"5,493\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.47.75.195\"\n\"September 22nd 2015, 06:37:07.707\",,\"3,768\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"94.154.194.208\"\n\"September 22nd 2015, 06:37:05.732\",,\"4,096\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.56.90.184\"\n\"September 22nd 2015, 06:36:53.456\",,\"6,833\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.54.151.5\"\n\"September 22nd 2015, 06:36:40.546\",,\"4,467\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.243.115.83\"\n\"September 22nd 2015, 06:36:27.117\",,\"5,938\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"43.123.164.190\"\n\"September 22nd 2015, 06:36:26.494\",,\"7,204\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.80.208.225\"\n\"September 22nd 2015, 06:36:10.947\",,\"9,499\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.80.208.225\"\n\"September 22nd 2015, 06:36:10.623\",,\"2,534\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"75.201.93.111\"\n\"September 22nd 2015, 06:36:01.223\",,\"2,421\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.143.189.70\"\n\"September 22nd 2015, 06:35:58.243\",,\"6,031\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.155.226.58\"\n\"September 22nd 2015, 06:35:50.060\",,\"8,056\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.223.93.34\"\n\"September 22nd 2015, 06:35:43.355\",,\"11,952\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"212.144.148.155\"\n\"September 22nd 2015, 06:35:33.864\",,\"7,569\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.227.142.190\"\n\"September 22nd 2015, 06:35:33.690\",,\"3,085\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.252.219.9\"\n\"September 22nd 2015, 06:35:25.512\",,\"14,770\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.167.54.47\"\n\"September 22nd 2015, 06:35:19.298\",,\"5,969\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.33.120.224\"\n\"September 22nd 2015, 06:35:10.034\",,\"4,484\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.171.208.139\"\n\"September 22nd 2015, 06:35:06.002\",,\"7,786\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.171.208.139\"\n\"September 22nd 2015, 06:34:49.791\",,\"11,286\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.7.218.218\"\n\"September 22nd 2015, 06:34:45.593\",,\"5,818\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.139.45.110\"\n\"September 22nd 2015, 06:34:43.609\",,\"12,516\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"155.157.127.149\"\n\"September 22nd 2015, 06:34:23.964\",,\"6,812\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.242.177.192\"\n\"September 22nd 2015, 06:34:21.468\",,\"2,056\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.186.79.201\"\n\"September 22nd 2015, 06:34:02.340\",,\"4,401\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.201.212.220\"\n\"September 22nd 2015, 06:33:35.737\",,\"1,766\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.186.79.201\"\n\"September 22nd 2015, 06:33:23.863\",,\"4,844\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.231.132.106\"\n\"September 22nd 2015, 06:33:20.909\",,\"6,751\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.220.193.123\"\n\"September 22nd 2015, 06:33:19.949\",,\"4,407\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.83.17.193\"\n\"September 22nd 2015, 06:33:07.291\",,\"9,969\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.22.226.5\"\n\"September 22nd 2015, 06:32:35.731\",,\"9,580\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"65.135.134.42\"\n\"September 22nd 2015, 06:32:32.068\",,\"4,286\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.96.96.191\"\n\"September 22nd 2015, 06:32:29.714\",,\"2,706\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.65.205.98\"\n\"September 22nd 2015, 06:32:29.218\",,\"8,052\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"22.151.97.227\"\n\"September 22nd 2015, 06:32:18.978\",,\"3,111\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"149.138.21.252\"\n\"September 22nd 2015, 06:32:18.407\",,\"3,569\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.226.232.233\"\n\"September 22nd 2015, 06:32:16.513\",,\"9,271\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.171.34.42\"\n\"September 22nd 2015, 06:32:11.795\",,\"8,766\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.79.108.136\"\n\"September 22nd 2015, 06:32:00.873\",,\"2,075\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"248.193.114.155\"\n\"September 22nd 2015, 06:31:53.115\",,\"6,414\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"23.178.170.24\"\n\"September 22nd 2015, 06:31:51.791\",,\"5,042\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.100.178.89\"\n\"September 22nd 2015, 06:31:48.465\",,\"5,019\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"113.35.23.20\"\n\"September 22nd 2015, 06:31:43.270\",,\"3,102\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"159.137.252.66\"\n\"September 22nd 2015, 06:31:40.708\",,\"7,193\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"251.47.79.172\"\n\"September 22nd 2015, 06:31:36.353\",,\"8,616\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.58.145.175\"\n\"September 22nd 2015, 06:31:28.779\",,\"6,089\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"241.45.143.98\"\n\"September 22nd 2015, 06:30:54.276\",,\"4,523\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.87.234.213\"\n\"September 22nd 2015, 06:30:46.139\",,\"4,481\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"105.82.36.95\"\n\"September 22nd 2015, 06:30:43.959\",,\"3,494\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.183.234.114\"\n\"September 22nd 2015, 06:30:39.159\",,\"16,957\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.167.54.47\"\n\"September 22nd 2015, 06:30:33.597\",,\"6,954\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.223.87.67\"\n\"September 22nd 2015, 06:30:31.428\",,\"5,426\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.228.1.71\"\n\"September 22nd 2015, 06:30:28.163\",,\"2,104\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"82.40.137.38\"\n\"September 22nd 2015, 06:30:25.391\",,\"7,969\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.33.201.138\"\n\"September 22nd 2015, 06:30:15.408\",,\"9,553\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.242.204.223\"\n\"September 22nd 2015, 06:30:14.539\",,\"2,085\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.186.79.201\"\n\"September 22nd 2015, 06:30:07.923\",,\"3,345\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.83.52.239\"\n\"September 22nd 2015, 06:29:59.749\",,\"3,991\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"86.193.157.89\"\n\"September 22nd 2015, 06:29:49.472\",,\"3,775\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.52.178.194\"\n\"September 22nd 2015, 06:29:48.517\",,\"4,054\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.55.80.52\"\n\"September 22nd 2015, 06:29:41.287\",,\"2,270\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.250.60.205\"\n\"September 22nd 2015, 06:29:32.640\",,\"5,403\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.185.158.249\"\n\"September 22nd 2015, 06:28:57.269\",,\"8,914\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"74.224.77.232\"\n\"September 22nd 2015, 06:28:44.176\",,\"3,948\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.59.37.77\"\n\"September 22nd 2015, 06:28:21.967\",,\"2,311\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"84.205.43.205\"\n\"September 22nd 2015, 06:28:08.668\",,\"2,606\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.95.5.139\"\n\"September 22nd 2015, 06:28:04.837\",,\"4,912\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.191.218.38\"\n\"September 22nd 2015, 06:27:52.572\",,\"2,342\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"212.99.52.163\"\n\"September 22nd 2015, 06:27:47.532\",,\"5,461\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"140.248.17.146\"\n\"September 22nd 2015, 06:27:25.053\",,\"9,303\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"227.83.52.239\"\n\"September 22nd 2015, 06:27:19.448\",,\"6,126\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"212.99.52.163\"\n\"September 22nd 2015, 06:27:18.750\",,\"4,871\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"8.248.237.182\"\n\"September 22nd 2015, 06:27:05.890\",,\"3,819\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"127.254.107.86\"\n\"September 22nd 2015, 06:26:58.766\",,\"7,771\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"146.228.193.188\"\n\"September 22nd 2015, 06:26:52.168\",,\"7,468\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.190.101.72\"\n\"September 22nd 2015, 06:26:45.139\",,\"2,959\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.128.223.209\"\n\"September 22nd 2015, 06:26:11.867\",,\"9,060\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"159.230.143.48\"\n\"September 22nd 2015, 06:25:58.210\",,\"8,458\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.240.114.69\"\n\"September 22nd 2015, 06:25:53.035\",,\"2,619\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"74.101.37.80\"\n\"September 22nd 2015, 06:25:34.805\",,\"6,048\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.153.40.224\"\n\"September 22nd 2015, 06:25:32.522\",,\"2,907\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"131.98.185.144\"\n\"September 22nd 2015, 06:25:22.555\",,\"8,058\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.7.164.59\"\n\"September 22nd 2015, 06:25:10.202\",,\"9,852\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"219.42.50.113\"\n\"September 22nd 2015, 06:25:07.686\",,\"7,268\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.85.53.125\"\n\"September 22nd 2015, 06:25:00.743\",,\"1,596\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"133.211.153.90\"\n\"September 22nd 2015, 06:24:49.684\",,\"6,457\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"117.112.55.75\"\n\"September 22nd 2015, 06:24:32.963\",,\"4,782\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"16.148.135.166\"\n\"September 22nd 2015, 06:24:31.564\",,\"7,078\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"149.150.67.234\"\n\"September 22nd 2015, 06:24:21.766\",,\"7,101\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"143.81.107.227\"\n\"September 22nd 2015, 06:24:21.297\",,\"5,063\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"203.239.228.151\"\n\"September 22nd 2015, 06:24:10.739\",,\"2,652\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.106.160.216\"\n\"September 22nd 2015, 06:24:09.245\",,\"1,952\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.107.235.54\"\n\"September 22nd 2015, 06:24:01.661\",,\"6,051\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"13.38.168.2\"\n\"September 22nd 2015, 06:23:47.612\",,\"9,166\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.53.70.40\"\n\"September 22nd 2015, 06:23:47.211\",,\"1,886\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.83.247.30\"\n\"September 22nd 2015, 06:23:41.646\",,\"3,954\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"167.26.56.145\"\n\"September 22nd 2015, 06:23:41.419\",,\"3,270\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.140.171.133\"\n\"September 22nd 2015, 06:23:39.999\",,\"4,557\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"41.210.252.157\"\n\"September 22nd 2015, 06:23:37.914\",,\"6,316\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.38.2.66\"\n\"September 22nd 2015, 06:23:21.715\",,\"3,103\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.165.237.200\"\n\"September 22nd 2015, 06:23:20.733\",,\"2,646\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.43.210.167\"\n\"September 22nd 2015, 06:23:02.808\",,\"9,344\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.243.115.83\"\n\"September 22nd 2015, 06:22:54.784\",,\"9,816\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.11.189.233\"\n\"September 22nd 2015, 06:22:41.935\",,\"5,530\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"162.218.161.231\"\n\"September 22nd 2015, 06:22:34.289\",,\"14,579\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.37.236.61\"\n\"September 22nd 2015, 06:22:15.495\",,\"2,601\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.195.18.133\"\n\"September 22nd 2015, 06:22:10.702\",,\"9,232\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.53.114.44\"\n\"September 22nd 2015, 06:22:08.031\",,\"9,619\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.233.183.250\"\n\"September 22nd 2015, 06:21:59.979\",,\"3,489\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.135.88.86\"\n\"September 22nd 2015, 06:21:43.582\",,\"8,435\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"123.129.217.122\"\n\"September 22nd 2015, 06:21:39.548\",,\"3,193\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.84.146.72\"\n\"September 22nd 2015, 06:21:27.034\",,\"8,762\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.191.218.38\"\n\"September 22nd 2015, 06:21:05.817\",,\"8,200\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.180.70.74\"\n\"September 22nd 2015, 06:21:01.349\",,\"1,749\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.186.79.201\"\n\"September 22nd 2015, 06:20:57.961\",,\"4,379\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"67.238.57.221\"\n\"September 22nd 2015, 06:20:55.134\",,\"6,825\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.172.137.39\"\n\"September 22nd 2015, 06:20:45.524\",,\"4,103\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.115.184.133\"\n\"September 22nd 2015, 06:20:34.999\",,\"1,773\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.5.63.129\"\n\"September 22nd 2015, 06:20:25.150\",,\"5,021\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.49.164.228\"\n\"September 22nd 2015, 06:20:23.833\",,\"5,424\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.189.88.90\"\n\"September 22nd 2015, 06:20:22.477\",,\"5,335\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.79.108.136\"\n\"September 22nd 2015, 06:20:15.822\",,\"9,724\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.46.176.132\"\n\"September 22nd 2015, 06:20:14.415\",,\"5,837\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.61.106.118\"\n\"September 22nd 2015, 06:19:59.288\",,\"8,754\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.46.85.146\"\n\"September 22nd 2015, 06:19:45.112\",,\"6,897\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"219.136.31.156\"\n\"September 22nd 2015, 06:19:41.069\",,\"9,204\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.58.47.229\"\n\"September 22nd 2015, 06:19:40.766\",,\"6,569\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"153.250.60.205\"\n\"September 22nd 2015, 06:19:40.071\",,\"2,051\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.136.173.80\"\n\"September 22nd 2015, 06:19:37.751\",,\"6,231\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"63.7.218.218\"\n\"September 22nd 2015, 06:19:31.516\",,\"5,304\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"185.170.80.142\"\n\"September 22nd 2015, 06:19:06.519\",,\"5,222\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"157.136.137.24\"\n\"September 22nd 2015, 06:19:02.282\",,\"8,614\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.55.251.105\"\n\"September 22nd 2015, 06:18:48.140\",,\"5,910\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.244.25.107\"\n\"September 22nd 2015, 06:18:43.040\",,\"5,783\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.54.235.229\"\n\"September 22nd 2015, 06:18:39.094\",,\"4,682\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"95.59.225.31\"\n\"September 22nd 2015, 06:18:18.595\",,\"5,032\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.237.80.177\"\n\"September 22nd 2015, 06:18:13.623\",,\"4,124\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.74.144.217\"\n\"September 22nd 2015, 06:18:02.229\",,\"7,462\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.57.26.210\"\n\"September 22nd 2015, 06:17:55.434\",,\"7,835\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"22.151.97.227\"\n\"September 22nd 2015, 06:17:43.364\",,\"9,857\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.80.35.243\"\n\"September 22nd 2015, 06:17:40.283\",,\"1,640\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.3.0.125\"\n\"September 22nd 2015, 06:17:34.241\",,\"2,922\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"180.65.205.98\"\n\"September 22nd 2015, 06:17:22.813\",,\"1,574\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"50.184.86.48\"\n\"September 22nd 2015, 06:17:10.629\",,\"6,149\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"149.170.135.63\"\n\"September 22nd 2015, 06:17:08.305\",,\"1,696\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"246.172.119.148\"\n\"September 22nd 2015, 06:16:57.613\",,\"1,825\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"145.211.179.106\"\n\"September 22nd 2015, 06:16:54.016\",,\"4,104\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.108.62.100\"\n\"September 22nd 2015, 06:16:53.050\",,\"1,929\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.12.231.216\"\n\"September 22nd 2015, 06:16:44.441\",,\"7,434\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.37.151.239\"\n\"September 22nd 2015, 06:16:43.969\",,\"15,021\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"52.158.88.35\"\n\"September 22nd 2015, 06:16:39.392\",,\"2,241\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"141.42.174.116\"\n\"September 22nd 2015, 06:16:39.077\",,\"1,941\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"43.66.187.127\"\n\"September 22nd 2015, 06:16:26.529\",,\"6,345\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"153.250.60.205\"\n\"September 22nd 2015, 06:16:20.423\",,\"2,153\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.203.1.94\"\n\"September 22nd 2015, 06:16:01.450\",,\"4,855\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.191.218.38\"\n\"September 22nd 2015, 06:16:01.226\",,\"4,828\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"44.138.70.255\"\n\"September 22nd 2015, 06:15:52.929\",,\"9,208\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.228.1.71\"\n\"September 22nd 2015, 06:15:31.492\",,\"2,869\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.53.251.53\"\n\"September 22nd 2015, 06:15:28.815\",,\"6,552\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.92.89.101\"\n\"September 22nd 2015, 06:15:15.082\",,\"3,841\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.120.146.16\"\n\"September 22nd 2015, 06:15:05.560\",,\"4,980\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.116.179.248\"\n\"September 22nd 2015, 06:15:00.925\",,\"8,276\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.59.172.226\"\n\"September 22nd 2015, 06:14:55.260\",,\"5,022\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"217.25.8.4\"\n\"September 22nd 2015, 06:14:26.332\",,\"4,815\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.92.194.37\"\n\"September 22nd 2015, 06:14:21.647\",,\"6,755\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.183.87.181\"\n\"September 22nd 2015, 06:14:12.658\",,\"2,265\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.151.155.50\"\n\"September 22nd 2015, 06:14:00.029\",,\"8,311\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"178.104.96.40\"\n\"September 22nd 2015, 06:13:50.752\",,\"2,811\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.116.179.248\"\n\"September 22nd 2015, 06:13:47.877\",,\"6,631\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"94.48.29.38\"\n\"September 22nd 2015, 06:13:35.490\",,\"8,619\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"120.99.203.64\"\n\"September 22nd 2015, 06:13:34.131\",,\"2,444\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.76.208.132\"\n\"September 22nd 2015, 06:12:59.209\",,\"7,201\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.4.99.92\"\n\"September 22nd 2015, 06:12:54.711\",,\"2,575\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.219.65.244\"\n\"September 22nd 2015, 06:12:48.119\",,\"9,745\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.210.116.210\"\n\"September 22nd 2015, 06:12:47.751\",,\"6,411\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.223.214.184\"\n\"September 22nd 2015, 06:12:43.561\",,\"8,522\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.255.221.0\"\n\"September 22nd 2015, 06:12:28.393\",,\"19,221\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"100.99.207.174\"\n\"September 22nd 2015, 06:12:27.881\",,\"8,900\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.220.227.11\"\n\"September 22nd 2015, 06:12:27.183\",,\"9,755\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"43.164.236.145\"\n\"September 22nd 2015, 06:12:23.740\",,\"3,517\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.89.186.2\"\n\"September 22nd 2015, 06:12:11.377\",,\"4,757\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.139.156.196\"\n\"September 22nd 2015, 06:12:10.197\",,\"4,197\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.244.160.168\"\n\"September 22nd 2015, 06:11:42.902\",,\"5,227\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.254.194.69\"\n\"September 22nd 2015, 06:11:32.675\",,\"3,005\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.189.88.90\"\n\"September 22nd 2015, 06:11:20.537\",,\"4,510\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.168.126.221\"\n\"September 22nd 2015, 06:11:18.448\",,\"4,578\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.192.185.168\"\n\"September 22nd 2015, 06:10:59.130\",,\"1,565\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"223.68.146.97\"\n\"September 22nd 2015, 06:10:46.312\",,\"6,519\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.155.247.152\"\n\"September 22nd 2015, 06:10:38.460\",,\"6,167\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"182.186.221.142\"\n\"September 22nd 2015, 06:10:36.373\",,\"2,291\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.6.99.158\"\n\"September 22nd 2015, 06:10:34.391\",,\"7,657\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.185.234.193\"\n\"September 22nd 2015, 06:10:23.435\",,\"7,343\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"185.39.79.51\"\n\"September 22nd 2015, 06:10:17.484\",,\"7,436\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"217.25.8.4\"\n\"September 22nd 2015, 06:10:16.033\",,\"2,188\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"165.104.70.8\"\n\"September 22nd 2015, 06:10:08.358\",,\"7,511\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.193.157.89\"\n\"September 22nd 2015, 06:10:06.167\",,\"5,020\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.158.203.248\"\n\"September 22nd 2015, 06:10:04.317\",,\"6,652\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"67.238.57.221\"\n\"September 22nd 2015, 06:09:57.660\",,\"6,884\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.141.233.13\"\n\"September 22nd 2015, 06:09:45.826\",,\"9,779\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"225.222.13.93\"\n\"September 22nd 2015, 06:09:37.106\",,\"3,420\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.115.189.193\"\n\"September 22nd 2015, 06:09:29.621\",,\"1,527\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.164.215.104\"\n\"September 22nd 2015, 06:09:29.233\",,\"3,495\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"61.174.151.11\"\n\"September 22nd 2015, 06:09:16.992\",,\"8,646\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.87.32.139\"\n\"September 22nd 2015, 06:09:12.961\",,\"1,748\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.156.163.220\"\n\"September 22nd 2015, 06:09:06.210\",,\"2,939\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"113.43.75.122\"\n\"September 22nd 2015, 06:08:39.584\",,\"8,605\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.93.219.234\"\n\"September 22nd 2015, 06:08:32.176\",,\"13,356\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.75.209.68\"\n\"September 22nd 2015, 06:08:31.548\",,\"17,386\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.16.207.3\"\n\"September 22nd 2015, 06:08:26.399\",,\"6,272\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.108.50.221\"\n\"September 22nd 2015, 06:08:19.561\",,\"4,920\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.254.91.215\"\n\"September 22nd 2015, 06:08:18.377\",,\"2,189\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.119.62.60\"\n\"September 22nd 2015, 06:08:12.983\",,\"2,137\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.255.68.154\"\n\"September 22nd 2015, 06:07:59.778\",,\"5,665\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.195.111.241\"\n\"September 22nd 2015, 06:07:59.597\",,\"2,842\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.5.63.129\"\n\"September 22nd 2015, 06:07:55.976\",,\"2,969\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"174.196.54.80\"\n\"September 22nd 2015, 06:07:49.304\",,\"3,646\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.56.56.106\"\n\"September 22nd 2015, 06:07:47.386\",,\"2,160\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.106.29.25\"\n\"September 22nd 2015, 06:07:44.080\",,\"2,100\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"141.42.174.116\"\n\"September 22nd 2015, 06:07:42.409\",,\"11,195\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.125.84.30\"\n\"September 22nd 2015, 06:07:30.496\",,\"6,780\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.212.173.15\"\n\"September 22nd 2015, 06:07:28.942\",,\"3,849\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.84.111.185\"\n\"September 22nd 2015, 06:07:23.304\",,\"5,800\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.7.244.68\"\n\"September 22nd 2015, 06:07:04.897\",,\"8,500\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.82.3.150\"\n\"September 22nd 2015, 06:06:56.933\",,\"7,696\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.44.243.247\"\n\"September 22nd 2015, 06:06:43.493\",,\"3,919\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"202.123.188.108\"\n\"September 22nd 2015, 06:06:30.872\",,\"5,498\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.120.103.28\"\n\"September 22nd 2015, 06:05:57.044\",,\"3,563\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"13.38.168.2\"\n\"September 22nd 2015, 06:05:54.594\",,\"9,990\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.37.94.4\"\n\"September 22nd 2015, 06:05:42.444\",,\"7,139\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.20.147.107\"\n\"September 22nd 2015, 06:05:42.304\",,\"4,923\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.220.3.248\"\n\"September 22nd 2015, 06:05:39.176\",,\"2,326\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.247.158.26\"\n\"September 22nd 2015, 06:05:29.370\",,\"4,787\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.199.42.50\"\n\"September 22nd 2015, 06:05:27.605\",,\"8,585\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.83.247.30\"\n\"September 22nd 2015, 06:05:10.469\",,\"8,133\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.12.135.128\"\n\"September 22nd 2015, 06:05:08.146\",,\"9,994\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"178.122.0.0\"\n\"September 22nd 2015, 06:05:04.175\",,\"19,614\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"143.81.107.227\"\n\"September 22nd 2015, 06:05:04.068\",,\"8,741\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"35.222.204.135\"\n\"September 22nd 2015, 06:04:50.128\",,\"2,722\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"132.242.0.119\"\n\"September 22nd 2015, 06:04:35.018\",,\"5,701\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"50.184.86.48\"\n\"September 22nd 2015, 06:04:27.710\",,\"5,159\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"134.168.180.6\"\n\"September 22nd 2015, 06:04:21.189\",,\"2,614\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.172.111.30\"\n\"September 22nd 2015, 06:04:10.326\",,\"19,582\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"4.125.116.118\"\n\"September 22nd 2015, 06:03:54.321\",,\"2,166\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.0.188.251\"\n\"September 22nd 2015, 06:03:40.714\",,\"4,499\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.143.125.181\"\n\"September 22nd 2015, 06:03:28.521\",,\"8,360\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"43.123.164.190\"\n\"September 22nd 2015, 06:03:26.368\",,\"8,151\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"96.34.109.191\"\n\"September 22nd 2015, 06:03:16.705\",,\"2,647\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"136.210.127.128\"\n\"September 22nd 2015, 06:03:13.310\",,\"8,784\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"37.127.124.65\"\n\"September 22nd 2015, 06:03:02.752\",,\"6,979\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"76.159.165.88\"\n\"September 22nd 2015, 06:02:47.421\",,\"4,003\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.50.219.103\"\n\"September 22nd 2015, 06:02:42.095\",,\"3,503\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"68.41.209.99\"\n\"September 22nd 2015, 06:02:34.084\",,\"5,008\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.117.173.67\"\n\"September 22nd 2015, 06:02:29.871\",,\"6,471\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.192.52.3\"\n\"September 22nd 2015, 06:02:27.444\",,\"5,358\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"68.189.205.188\"\n\"September 22nd 2015, 06:02:12.524\",,\"7,238\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"148.134.9.77\"\n\"September 22nd 2015, 06:02:00.224\",,\"1,804\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.53.70.40\"\n\"September 22nd 2015, 06:01:47.176\",,\"7,265\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.206.117.161\"\n\"September 22nd 2015, 06:01:39.174\",,\"8,819\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.161.247.172\"\n\"September 22nd 2015, 06:00:55.370\",,\"5,528\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.47.75.195\"\n\"September 22nd 2015, 06:00:54.955\",,\"6,895\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.92.239.70\"\n\"September 22nd 2015, 06:00:52.221\",,\"6,655\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.27.102.199\"\n\"September 22nd 2015, 06:00:47.742\",,\"2,368\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"234.206.115.94\"\n\"September 22nd 2015, 06:00:45.073\",,\"8,061\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.183.234.114\"\n\"September 22nd 2015, 06:00:43.685\",,\"5,662\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.132.215.241\"\n\"September 22nd 2015, 06:00:37.727\",,\"6,497\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"13.38.168.2\"\n\"September 22nd 2015, 06:00:32.307\",,\"2,496\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.197.178.155\"\n\"September 22nd 2015, 06:00:24.006\",,\"1,767\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.244.150.190\"\n\"September 22nd 2015, 06:00:20.025\",,\"1,654\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"104.212.107.0\"\n\"September 22nd 2015, 06:00:13.118\",,\"9,446\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.250.60.205\"\n\"September 22nd 2015, 06:00:04.490\",,\"6,237\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.207.101.203\"\n\"September 22nd 2015, 05:59:51.596\",,\"8,024\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"168.174.35.186\"\n\"September 22nd 2015, 05:59:38.100\",,\"6,496\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.1.142.144\"\n\"September 22nd 2015, 05:59:36.167\",,\"4,044\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.95.6.196\"\n\"September 22nd 2015, 05:59:31.601\",,\"6,046\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.116.179.248\"\n\"September 22nd 2015, 05:59:05.488\",,\"4,150\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.255.46.138\"\n\"September 22nd 2015, 05:58:56.435\",,\"9,749\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"218.186.41.141\"\n\"September 22nd 2015, 05:58:43.478\",,\"8,345\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"249.54.12.226\"\n\"September 22nd 2015, 05:58:28.661\",,\"1,793\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"198.174.196.110\"\n\"September 22nd 2015, 05:58:27.483\",,\"9,670\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"248.193.114.155\"\n\"September 22nd 2015, 05:58:16.237\",,\"4,602\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.140.171.133\"\n\"September 22nd 2015, 05:58:13.350\",,\"4,950\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"49.244.150.190\"\n\"September 22nd 2015, 05:58:03.452\",,\"8,973\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.21.156.43\"\n\"September 22nd 2015, 05:57:47.887\",,\"7,420\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"219.32.94.10\"\n\"September 22nd 2015, 05:57:34.597\",,\"19,489\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.39.144.87\"\n\"September 22nd 2015, 05:57:32.760\",,\"7,711\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.137.241.169\"\n\"September 22nd 2015, 05:57:24.294\",,\"7,743\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.42.144.78\"\n\"September 22nd 2015, 05:57:08.938\",,\"4,459\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.126.255.31\"\n\"September 22nd 2015, 05:56:35.963\",,\"7,495\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"183.128.223.209\"\n\"September 22nd 2015, 05:56:35.809\",,\"3,615\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"126.87.234.213\"\n\"September 22nd 2015, 05:56:33.304\",,\"2,258\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"182.186.221.142\"\n\"September 22nd 2015, 05:56:14.853\",,\"9,195\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.89.73.11\"\n\"September 22nd 2015, 05:56:12.263\",,\"9,341\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.164.244.131\"\n\"September 22nd 2015, 05:56:08.687\",,\"6,435\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.172.28.222\"\n\"September 22nd 2015, 05:56:04.176\",,\"1,529\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.60.53.165\"\n\"September 22nd 2015, 05:55:12.269\",,\"8,952\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"11.195.163.57\"\n\"September 22nd 2015, 05:54:55.506\",,\"2,563\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"45.138.192.138\"\n\"September 22nd 2015, 05:54:47.722\",,\"9,308\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"143.84.142.7\"\n\"September 22nd 2015, 05:54:38.126\",,\"8,473\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.19.217.148\"\n\"September 22nd 2015, 05:54:32.135\",,\"9,809\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.108.50.221\"\n\"September 22nd 2015, 05:54:28.492\",,\"6,458\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.223.188.57\"\n\"September 22nd 2015, 05:54:27.842\",,\"6,028\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"186.182.14.125\"\n\"September 22nd 2015, 05:54:22.643\",,\"1,540\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.80.12.188\"\n\"September 22nd 2015, 05:54:09.219\",,\"6,981\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.97.175.115\"\n\"September 22nd 2015, 05:54:05.862\",,\"9,331\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.252.46.140\"\n\"September 22nd 2015, 05:54:02.661\",,\"7,446\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"83.29.100.213\"\n\"September 22nd 2015, 05:54:01.966\",,\"3,375\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"143.81.107.227\"\n\"September 22nd 2015, 05:53:57.931\",,\"9,693\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.198.132.23\"\n\"September 22nd 2015, 05:53:56.951\",,\"2,256\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.101.221.163\"\n\"September 22nd 2015, 05:53:53.737\",,\"6,216\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.225.247.245\"\n\"September 22nd 2015, 05:53:49.102\",,\"8,898\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.56.56.106\"\n\"September 22nd 2015, 05:53:48.882\",,\"5,196\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.205.178.33\"\n\"September 22nd 2015, 05:53:43.183\",,\"7,254\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.225.107.118\"\n\"September 22nd 2015, 05:53:42.608\",,\"8,515\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.127.51.83\"\n\"September 22nd 2015, 05:52:53.639\",,\"3,358\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.40.73.208\"\n\"September 22nd 2015, 05:52:38.434\",,\"8,255\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.169.199.220\"\n\"September 22nd 2015, 05:52:08.320\",,\"3,046\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"94.48.29.38\"\n\"September 22nd 2015, 05:51:18.109\",,\"4,024\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.58.145.175\"\n\"September 22nd 2015, 05:51:04.740\",,\"6,572\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"63.219.233.187\"\n\"September 22nd 2015, 05:51:00.283\",,\"4,300\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.139.156.196\"\n\"September 22nd 2015, 05:51:00.233\",,\"1,810\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"174.151.255.82\"\n\"September 22nd 2015, 05:50:32.166\",,\"5,863\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"118.163.20.44\"\n\"September 22nd 2015, 05:50:00.288\",,\"5,088\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.206.227.106\"\n\"September 22nd 2015, 05:49:56.352\",,\"3,076\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"242.22.22.10\"\n\"September 22nd 2015, 05:49:55.028\",,\"1,829\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.220.3.248\"\n\"September 22nd 2015, 05:49:48.967\",,\"9,801\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.70.171.86\"\n\"September 22nd 2015, 05:49:45.203\",,\"7,102\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.220.52.2\"\n\"September 22nd 2015, 05:49:27.422\",,\"8,434\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.25.39.187\"\n\"September 22nd 2015, 05:49:23.160\",,\"2,115\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"29.160.128.58\"\n\"September 22nd 2015, 05:49:12.129\",,\"18,285\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.129.217.122\"\n\"September 22nd 2015, 05:49:11.516\",,\"2,390\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"175.188.44.145\"\n\"September 22nd 2015, 05:48:54.687\",,\"1,602\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"80.252.219.9\"\n\"September 22nd 2015, 05:48:53.076\",,\"1,561\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.249.93.77\"\n\"September 22nd 2015, 05:48:52.506\",,\"1,573\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"32.94.46.226\"\n\"September 22nd 2015, 05:48:42.346\",,\"7,120\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.158.36.114\"\n\"September 22nd 2015, 05:48:41.328\",,\"6,189\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.122.217.55\"\n\"September 22nd 2015, 05:48:36.903\",,\"3,836\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.254.194.69\"\n\"September 22nd 2015, 05:48:30.616\",,\"7,936\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"159.136.76.65\"\n\"September 22nd 2015, 05:48:04.054\",,\"9,199\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.68.89.92\"\n\"September 22nd 2015, 05:47:57.512\",,\"8,307\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.156.46.205\"\n\"September 22nd 2015, 05:47:51.978\",,\"4,517\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"122.71.171.141\"\n\"September 22nd 2015, 05:47:41.476\",,\"8,230\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"65.135.134.42\"\n\"September 22nd 2015, 05:47:31.219\",,\"16,834\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.12.132.188\"\n\"September 22nd 2015, 05:47:31.205\",,\"9,320\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.53.50.20\"\n\"September 22nd 2015, 05:47:08.174\",,\"8,291\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"96.34.109.191\"\n\"September 22nd 2015, 05:47:01.186\",,\"9,685\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"167.26.56.145\"\n\"September 22nd 2015, 05:46:57.075\",,\"5,863\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.37.236.61\"\n\"September 22nd 2015, 05:46:54.964\",,\"7,699\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.214.104.239\"\n\"September 22nd 2015, 05:46:54.381\",,\"4,960\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.47.75.195\"\n\"September 22nd 2015, 05:46:51.235\",,\"5,065\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.33.83.170\"\n\"September 22nd 2015, 05:46:50.951\",,\"3,507\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"1.17.21.12\"\n\"September 22nd 2015, 05:46:49.745\",,\"4,882\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.173.30.33\"\n\"September 22nd 2015, 05:46:48.936\",,\"8,275\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"225.209.251.160\"\n\"September 22nd 2015, 05:46:44.000\",,\"3,228\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.111.249.239\"\n\"September 22nd 2015, 05:46:16.805\",,\"9,125\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"31.245.21.115\"\n\"September 22nd 2015, 05:45:44.308\",,\"2,886\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"211.0.102.190\"\n\"September 22nd 2015, 05:45:22.201\",,\"7,178\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.227.195.13\"\n\"September 22nd 2015, 05:45:13.932\",,\"9,744\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"245.132.215.241\"\n\"September 22nd 2015, 05:45:03.153\",,\"6,089\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"76.215.43.26\"\n\"September 22nd 2015, 05:45:02.696\",,\"2,894\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"189.34.180.209\"\n\"September 22nd 2015, 05:44:59.034\",,\"3,111\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"171.253.80.52\"\n\"September 22nd 2015, 05:44:43.109\",,\"2,426\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"71.241.97.89\"\n\"September 22nd 2015, 05:44:39.647\",,\"4,669\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"247.189.13.239\"\n\"September 22nd 2015, 05:44:31.048\",,\"5,317\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.68.89.92\"\n\"September 22nd 2015, 05:44:17.303\",,\"7,808\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.55.175.148\"\n\"September 22nd 2015, 05:44:06.674\",,\"6,034\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.233.238.181\"\n\"September 22nd 2015, 05:43:51.767\",,\"6,410\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"239.180.70.74\"\n\"September 22nd 2015, 05:43:41.920\",,\"4,975\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.3.10.81\"\n\"September 22nd 2015, 05:43:36.102\",,\"9,998\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"196.131.25.8\"\n\"September 22nd 2015, 05:43:21.481\",,\"7,380\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.98.200.29\"\n\"September 22nd 2015, 05:43:20.841\",,\"4,267\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.47.79.172\"\n\"September 22nd 2015, 05:43:18.994\",,\"3,133\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"63.7.218.218\"\n\"September 22nd 2015, 05:43:04.607\",,\"3,650\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.86.105.212\"\n\"September 22nd 2015, 05:42:54.333\",,\"2,766\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.254.194.69\"\n\"September 22nd 2015, 05:42:52.722\",,\"2,109\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.216.169.176\"\n\"September 22nd 2015, 05:42:43.300\",,\"6,492\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"66.136.173.80\"\n\"September 22nd 2015, 05:42:27.268\",,\"6,233\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.221.41.27\"\n\"September 22nd 2015, 05:42:18.162\",,\"3,542\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"121.34.210.235\"\n\"September 22nd 2015, 05:41:49.314\",,\"7,184\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.38.139.107\"\n\"September 22nd 2015, 05:41:46.527\",,\"9,151\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"12.102.47.119\"\n\"September 22nd 2015, 05:41:38.737\",,\"9,974\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.5.167.41\"\n\"September 22nd 2015, 05:41:36.052\",,\"8,765\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.167.54.47\"\n\"September 22nd 2015, 05:41:24.989\",,\"5,887\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.106.229.151\"\n\"September 22nd 2015, 05:41:14.572\",,\"12,915\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.62.159.102\"\n\"September 22nd 2015, 05:41:08.573\",,\"4,148\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.227.125.229\"\n\"September 22nd 2015, 05:40:57.842\",,\"3,004\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.86.105.212\"\n\"September 22nd 2015, 05:40:57.775\",,\"5,992\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.166.248.214\"\n\"September 22nd 2015, 05:40:46.780\",,\"2,171\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"218.248.177.77\"\n\"September 22nd 2015, 05:40:31.136\",,\"6,163\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.126.43.84\"\n\"September 22nd 2015, 05:40:11.783\",,\"6,539\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"196.97.127.109\"\n\"September 22nd 2015, 05:39:36.735\",,\"9,529\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.160.128.58\"\n\"September 22nd 2015, 05:39:20.112\",,\"9,632\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.35.159.150\"\n\"September 22nd 2015, 05:39:10.412\",,\"8,884\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.100.60.111\"\n\"September 22nd 2015, 05:38:47.399\",,\"1,860\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.192.185.168\"\n\"September 22nd 2015, 05:38:23.717\",,\"16,913\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"41.210.252.157\"\n\"September 22nd 2015, 05:38:22.825\",,\"8,098\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"85.85.86.52\"\n\"September 22nd 2015, 05:38:16.589\",,\"7,808\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.219.108.141\"\n\"September 22nd 2015, 05:38:16.282\",,\"9,399\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.139.156.196\"\n\"September 22nd 2015, 05:38:04.967\",,\"4,255\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"212.39.75.221\"\n\"September 22nd 2015, 05:37:18.373\",,\"3,361\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.75.94.8\"\n\"September 22nd 2015, 05:37:05.589\",,\"4,156\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"215.6.99.158\"\n\"September 22nd 2015, 05:37:00.837\",,\"4,184\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.130.100.179\"\n\"September 22nd 2015, 05:36:42.723\",,\"2,802\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.33.120.224\"\n\"September 22nd 2015, 05:36:36.237\",,\"6,538\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.168.21.69\"\n\"September 22nd 2015, 05:36:14.768\",,\"16,939\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"117.112.55.75\"\n\"September 22nd 2015, 05:36:13.823\",,\"5,207\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.114.14.197\"\n\"September 22nd 2015, 05:35:50.665\",,\"8,988\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.66.60.152\"\n\"September 22nd 2015, 05:35:19.548\",,\"7,115\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"197.150.233.60\"\n\"September 22nd 2015, 05:35:18.618\",,\"3,205\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.245.252.224\"\n\"September 22nd 2015, 05:35:11.295\",,\"9,335\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"85.107.235.54\"\n\"September 22nd 2015, 05:34:57.144\",,\"4,629\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.70.170.56\"\n\"September 22nd 2015, 05:34:52.561\",,\"4,559\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.193.157.89\"\n\"September 22nd 2015, 05:34:51.009\",,\"6,310\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.228.1.71\"\n\"September 22nd 2015, 05:34:48.071\",,\"7,645\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"67.238.57.221\"\n\"September 22nd 2015, 05:34:42.412\",,\"9,383\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.100.60.111\"\n\"September 22nd 2015, 05:34:34.771\",,\"2,690\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"173.237.216.175\"\n\"September 22nd 2015, 05:34:16.379\",,\"9,027\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"136.122.153.94\"\n\"September 22nd 2015, 05:34:10.485\",,\"7,243\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.208.48.188\"\n\"September 22nd 2015, 05:34:09.564\",,\"7,520\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"174.196.54.80\"\n\"September 22nd 2015, 05:34:07.840\",,\"4,626\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.30.157.224\"\n\"September 22nd 2015, 05:33:55.379\",,\"2,685\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.93.29.126\"\n\"September 22nd 2015, 05:33:53.475\",,\"9,988\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"10.91.83.148\"\n\"September 22nd 2015, 05:33:34.628\",,\"9,189\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"30.126.88.114\"\n\"September 22nd 2015, 05:33:33.087\",,\"2,479\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.92.194.37\"\n\"September 22nd 2015, 05:33:31.369\",,\"6,103\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.237.64.228\"\n\"September 22nd 2015, 05:33:21.802\",,\"6,406\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.50.219.103\"\n\"September 22nd 2015, 05:33:20.340\",,\"4,317\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.218.31.116\"\n\"September 22nd 2015, 05:33:06.076\",,\"5,468\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"208.255.16.81\"\n\"September 22nd 2015, 05:32:51.702\",,\"4,493\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.177.240.217\"\n\"September 22nd 2015, 05:32:49.380\",,\"6,138\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.75.94.8\"\n\"September 22nd 2015, 05:32:27.801\",,\"6,497\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.3.10.81\"\n\"September 22nd 2015, 05:32:26.685\",,\"2,877\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"60.231.227.7\"\n\"September 22nd 2015, 05:32:09.431\",,\"2,697\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.120.103.28\"\n\"September 22nd 2015, 05:31:58.901\",,\"6,578\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.249.202.59\"\n\"September 22nd 2015, 05:31:52.230\",,\"7,217\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.56.90.184\"\n\"September 22nd 2015, 05:31:28.082\",,\"7,988\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"43.164.236.145\"\n\"September 22nd 2015, 05:31:18.696\",,\"4,206\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.12.135.128\"\n\"September 22nd 2015, 05:31:03.225\",,\"7,139\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"2.7.11.95\"\n\"September 22nd 2015, 05:30:59.726\",,\"4,694\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.97.175.115\"\n\"September 22nd 2015, 05:30:56.983\",,\"9,255\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.100.178.89\"\n\"September 22nd 2015, 05:30:53.526\",,\"3,388\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.244.160.168\"\n\"September 22nd 2015, 05:30:46.140\",,\"3,587\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.234.255.241\"\n\"September 22nd 2015, 05:30:40.207\",,\"4,588\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.107.74.6\"\n\"September 22nd 2015, 05:30:21.864\",,\"5,150\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.218.253.140\"\n\"September 22nd 2015, 05:30:12.495\",,\"4,585\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"188.28.50.40\"\n\"September 22nd 2015, 05:30:07.894\",,\"9,243\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.177.73.18\"\n\"September 22nd 2015, 05:30:07.620\",,\"6,583\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.234.255.241\"\n\"September 22nd 2015, 05:29:49.120\",,\"7,695\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.44.243.247\"\n\"September 22nd 2015, 05:29:47.306\",,\"9,385\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.89.226.36\"\n\"September 22nd 2015, 05:29:41.615\",,\"8,422\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.64.147.41\"\n\"September 22nd 2015, 05:29:38.689\",,\"8,583\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.249.93.77\"\n\"September 22nd 2015, 05:29:26.653\",,\"7,386\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.13.113.3\"\n\"September 22nd 2015, 05:29:22.665\",,\"12,346\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.144.75.220\"\n\"September 22nd 2015, 05:29:20.872\",,\"8,280\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"173.233.118.214\"\n\"September 22nd 2015, 05:29:16.134\",,\"3,176\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.213.56.203\"\n\"September 22nd 2015, 05:29:11.757\",,\"18,826\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.17.191.204\"\n\"September 22nd 2015, 05:29:10.738\",,\"19,952\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.22.226.5\"\n\"September 22nd 2015, 05:29:09.053\",,\"3,271\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.222.131.172\"\n\"September 22nd 2015, 05:28:57.243\",,\"8,837\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.58.145.175\"\n\"September 22nd 2015, 05:28:53.380\",,\"5,659\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.147.43.175\"\n\"September 22nd 2015, 05:28:45.105\",,\"5,021\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.222.137.213\"\n\"September 22nd 2015, 05:28:44.621\",,\"6,694\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.165.226.140\"\n\"September 22nd 2015, 05:28:32.063\",,\"7,944\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.219.108.141\"\n\"September 22nd 2015, 05:28:26.868\",,\"5,270\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.152.176.23\"\n\"September 22nd 2015, 05:27:52.633\",,\"7,586\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"154.55.57.32\"\n\"September 22nd 2015, 05:27:50.129\",,\"4,087\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.114.204.184\"\n\"September 22nd 2015, 05:27:46.333\",,\"8,769\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"128.248.96.80\"\n\"September 22nd 2015, 05:27:40.374\",,\"2,725\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"95.59.225.31\"\n\"September 22nd 2015, 05:27:37.344\",,\"1,785\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.205.178.33\"\n\"September 22nd 2015, 05:27:29.577\",,\"7,126\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.86.49.192\"\n\"September 22nd 2015, 05:27:28.591\",,\"2,878\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"47.255.68.154\"\n\"September 22nd 2015, 05:27:26.474\",,\"4,514\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"250.208.48.188\"\n\"September 22nd 2015, 05:27:09.635\",,\"2,492\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"217.25.8.4\"\n\"September 22nd 2015, 05:27:09.403\",,\"7,693\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.122.217.55\"\n\"September 22nd 2015, 05:26:56.231\",,\"8,655\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"71.169.104.184\"\n\"September 22nd 2015, 05:26:45.602\",,\"1,758\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.185.234.193\"\n\"September 22nd 2015, 05:26:38.445\",,\"2,934\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.224.184.36\"\n\"September 22nd 2015, 05:26:33.075\",,\"2,229\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.84.248.187\"\n\"September 22nd 2015, 05:26:30.957\",,\"7,433\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.247.158.26\"\n\"September 22nd 2015, 05:26:29.554\",,\"1,841\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.188.213.247\"\n\"September 22nd 2015, 05:26:29.256\",,\"5,709\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"126.87.234.213\"\n\"September 22nd 2015, 05:26:29.048\",,\"9,051\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.242.177.192\"\n\"September 22nd 2015, 05:26:28.184\",,\"2,398\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"202.22.74.232\"\n\"September 22nd 2015, 05:26:17.191\",,\"9,823\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.190.189.77\"\n\"September 22nd 2015, 05:26:09.845\",,\"9,751\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.186.152.28\"\n\"September 22nd 2015, 05:25:52.464\",,\"6,616\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.34.138.226\"\n\"September 22nd 2015, 05:25:36.836\",,\"6,377\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.13.115.149\"\n\"September 22nd 2015, 05:25:32.611\",,\"3,549\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.105.204.4\"\n\"September 22nd 2015, 05:25:24.250\",,\"8,141\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.196.54.80\"\n\"September 22nd 2015, 05:25:19.656\",,\"1,951\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.87.49.40\"\n\"September 22nd 2015, 05:25:18.465\",,\"2,809\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.22.226.5\"\n\"September 22nd 2015, 05:25:13.883\",,\"9,765\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.165.226.140\"\n\"September 22nd 2015, 05:25:11.949\",,\"9,562\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.122.34.237\"\n\"September 22nd 2015, 05:24:44.185\",,\"7,117\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.181.188.3\"\n\"September 22nd 2015, 05:24:26.116\",,\"4,296\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"219.42.50.113\"\n\"September 22nd 2015, 05:24:18.856\",,\"5,678\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.253.85.132\"\n\"September 22nd 2015, 05:24:17.432\",,\"5,695\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"158.168.90.226\"\n\"September 22nd 2015, 05:24:06.289\",,\"6,665\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"109.25.18.216\"\n\"September 22nd 2015, 05:23:57.892\",,\"2,632\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.219.87.110\"\n\"September 22nd 2015, 05:23:53.801\",,\"5,411\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.72.217.98\"\n\"September 22nd 2015, 05:23:51.527\",,\"3,432\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.58.47.229\"\n\"September 22nd 2015, 05:23:43.291\",,\"2,176\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"203.206.8.45\"\n\"September 22nd 2015, 05:23:41.912\",,\"3,001\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"85.107.235.54\"\n\"September 22nd 2015, 05:23:41.792\",,\"6,757\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.181.188.3\"\n\"September 22nd 2015, 05:23:15.570\",,\"8,385\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"11.29.171.72\"\n\"September 22nd 2015, 05:23:14.649\",,\"2,692\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.86.49.192\"\n\"September 22nd 2015, 05:23:09.098\",,\"9,903\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"77.227.154.93\"\n\"September 22nd 2015, 05:23:07.149\",,\"11,771\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.56.90.184\"\n\"September 22nd 2015, 05:23:05.531\",,\"8,351\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.100.60.111\"\n\"September 22nd 2015, 05:23:03.157\",,\"6,938\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.247.113.252\"\n\"September 22nd 2015, 05:23:02.387\",,\"8,054\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.219.87.110\"\n\"September 22nd 2015, 05:22:53.968\",,\"9,457\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.92.89.101\"\n\"September 22nd 2015, 05:22:53.800\",,\"5,625\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.170.135.63\"\n\"September 22nd 2015, 05:22:53.277\",,\"4,251\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"87.54.48.33\"\n\"September 22nd 2015, 05:22:40.219\",,\"3,649\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"143.84.142.7\"\n\"September 22nd 2015, 05:22:31.672\",,\"8,962\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"244.172.153.74\"\n\"September 22nd 2015, 05:22:28.303\",,\"8,776\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.13.115.149\"\n\"September 22nd 2015, 05:22:08.768\",,\"5,054\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.92.154.173\"\n\"September 22nd 2015, 05:21:53.563\",,\"7,356\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.11.189.233\"\n\"September 22nd 2015, 05:21:31.147\",,\"10,896\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"217.25.8.4\"\n\"September 22nd 2015, 05:20:54.820\",,\"7,283\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"167.26.56.145\"\n\"September 22nd 2015, 05:20:52.466\",,\"17,922\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"255.58.31.9\"\n\"September 22nd 2015, 05:20:35.977\",,\"1,612\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.151.84.213\"\n\"September 22nd 2015, 05:20:21.285\",,\"6,491\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.152.7.186\"\n\"September 22nd 2015, 05:20:14.086\",,\"11,836\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.30.231.202\"\n\"September 22nd 2015, 05:20:07.502\",,\"9,326\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.220.227.11\"\n\"September 22nd 2015, 05:20:06.862\",,\"9,980\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.161.172.168\"\n\"September 22nd 2015, 05:19:57.724\",,\"5,000\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.241.34.0\"\n\"September 22nd 2015, 05:19:05.345\",,\"3,513\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.64.147.41\"\n\"September 22nd 2015, 05:18:53.434\",,\"6,759\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.123.33.106\"\n\"September 22nd 2015, 05:18:46.518\",,\"3,752\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.68.234.67\"\n\"September 22nd 2015, 05:18:29.497\",,\"5,463\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.207.101.203\"\n\"September 22nd 2015, 05:18:29.107\",,\"5,282\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"144.31.154.6\"\n\"September 22nd 2015, 05:18:07.201\",,\"9,290\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.247.158.26\"\n\"September 22nd 2015, 05:17:55.547\",,\"4,110\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"168.210.111.14\"\n\"September 22nd 2015, 05:17:54.108\",,\"2,664\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.207.101.203\"\n\"September 22nd 2015, 05:17:53.794\",,\"2,743\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.7.129.34\"\n\"September 22nd 2015, 05:17:47.169\",,\"8,873\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.108.62.100\"\n\"September 22nd 2015, 05:17:40.974\",,\"6,610\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.27.10.205\"\n\"September 22nd 2015, 05:17:39.938\",,\"3,873\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"19.166.42.220\"\n\"September 22nd 2015, 05:17:29.012\",,\"3,567\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.158.217.196\"\n\"September 22nd 2015, 05:17:16.250\",,\"16,346\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"31.196.214.182\"\n\"September 22nd 2015, 05:16:53.309\",,\"7,739\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"91.217.157.152\"\n\"September 22nd 2015, 05:16:37.536\",,\"2,839\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.55.195.184\"\n\"September 22nd 2015, 05:16:06.981\",,\"7,618\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.81.157.252\"\n\"September 22nd 2015, 05:16:03.994\",,\"4,684\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.218.31.116\"\n\"September 22nd 2015, 05:16:01.661\",,\"6,670\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"36.185.52.71\"\n\"September 22nd 2015, 05:15:53.136\",,\"9,190\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"7.9.151.133\"\n\"September 22nd 2015, 05:15:38.577\",,\"2,312\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.183.234.114\"\n\"September 22nd 2015, 05:15:34.462\",,\"6,269\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.136.156.225\"\n\"September 22nd 2015, 05:15:25.220\",,\"7,101\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.128.223.209\"\n\"September 22nd 2015, 05:15:11.945\",,\"3,325\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.135.88.86\"\n\"September 22nd 2015, 05:15:02.808\",,\"16,247\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"60.231.227.7\"\n\"September 22nd 2015, 05:15:02.488\",,\"3,686\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.151.142.25\"\n\"September 22nd 2015, 05:14:52.814\",,\"2,112\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.168.21.69\"\n\"September 22nd 2015, 05:14:48.401\",,\"4,202\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"127.219.223.182\"\n\"September 22nd 2015, 05:14:29.524\",,\"7,039\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.64.207.109\"\n\"September 22nd 2015, 05:14:26.482\",,\"4,080\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"161.108.174.248\"\n\"September 22nd 2015, 05:14:25.732\",,\"4,950\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.29.249.167\"\n\"September 22nd 2015, 05:14:20.519\",,\"2,763\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"186.123.19.234\"\n\"September 22nd 2015, 05:14:08.301\",,\"3,769\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.255.46.138\"\n\"September 22nd 2015, 05:14:00.146\",,\"7,885\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.143.20.221\"\n\"September 22nd 2015, 05:13:58.148\",,\"6,759\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"248.163.75.193\"\n\"September 22nd 2015, 05:13:53.812\",,\"8,508\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.77.18.142\"\n\"September 22nd 2015, 05:13:50.255\",,\"2,441\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.37.94.4\"\n\"September 22nd 2015, 05:13:48.578\",,\"6,636\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.7.164.59\"\n\"September 22nd 2015, 05:13:39.337\",,\"5,462\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.172.137.39\"\n\"September 22nd 2015, 05:13:21.532\",,\"3,669\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.117.3.60\"\n\"September 22nd 2015, 05:13:05.063\",,\"11,243\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"38.29.122.137\"\n\"September 22nd 2015, 05:12:47.005\",,\"3,589\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.53.120.159\"\n\"September 22nd 2015, 05:12:14.562\",,\"5,697\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"203.239.228.151\"\n\"September 22nd 2015, 05:12:01.249\",,\"7,180\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"122.25.161.118\"\n\"September 22nd 2015, 05:11:55.570\",,\"19,432\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.226.232.233\"\n\"September 22nd 2015, 05:11:53.005\",,\"13,971\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.76.124.169\"\n\"September 22nd 2015, 05:11:45.263\",,\"3,865\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.74.96.103\"\n\"September 22nd 2015, 05:11:43.282\",,\"7,523\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.64.147.41\"\n\"September 22nd 2015, 05:11:15.921\",,\"8,848\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.29.249.167\"\n\"September 22nd 2015, 05:11:12.533\",,\"3,463\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.84.78.58\"\n\"September 22nd 2015, 05:11:08.652\",,\"18,449\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.28.27.24\"\n\"September 22nd 2015, 05:10:58.995\",,\"1,756\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.16.191.123\"\n\"September 22nd 2015, 05:10:52.815\",,\"1,924\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.200.198.147\"\n\"September 22nd 2015, 05:10:36.193\",,\"9,796\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.116.186.0\"\n\"September 22nd 2015, 05:10:32.744\",,\"3,039\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.225.40.190\"\n\"September 22nd 2015, 05:10:29.561\",,\"7,567\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.225.247.245\"\n\"September 22nd 2015, 05:10:19.330\",,\"8,887\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.177.132.244\"\n\"September 22nd 2015, 05:10:09.433\",,\"5,950\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"219.33.16.83\"\n\"September 22nd 2015, 05:09:36.631\",,\"2,667\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.199.255.8\"\n\"September 22nd 2015, 05:09:23.441\",,\"1,703\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"61.174.151.11\"\n\"September 22nd 2015, 05:08:45.843\",,\"7,031\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.237.148.2\"\n\"September 22nd 2015, 05:08:43.081\",,\"5,074\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.152.7.186\"\n\"September 22nd 2015, 05:08:21.996\",,\"5,502\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"222.201.119.239\"\n\"September 22nd 2015, 05:08:19.070\",,\"5,846\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.120.103.28\"\n\"September 22nd 2015, 05:08:17.467\",,\"1,647\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"92.96.51.231\"\n\"September 22nd 2015, 05:08:10.639\",,\"3,329\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.136.173.80\"\n\"September 22nd 2015, 05:07:57.883\",,\"2,162\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.125.131.162\"\n\"September 22nd 2015, 05:07:55.594\",,\"8,517\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.115.74.144\"\n\"September 22nd 2015, 05:07:44.358\",,\"7,262\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.225.249.114\"\n\"September 22nd 2015, 05:07:33.816\",,\"4,601\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.223.93.34\"\n\"September 22nd 2015, 05:07:32.816\",,\"7,136\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.128.223.209\"\n\"September 22nd 2015, 05:07:28.937\",,\"3,655\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"59.202.132.136\"\n\"September 22nd 2015, 05:07:18.761\",,\"1,969\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.127.51.83\"\n\"September 22nd 2015, 05:07:12.340\",,\"1,515\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"63.215.211.142\"\n\"September 22nd 2015, 05:06:57.935\",,\"2,270\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.141.52.142\"\n\"September 22nd 2015, 05:06:49.093\",,\"3,159\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.55.141.62\"\n\"September 22nd 2015, 05:06:39.877\",,\"1,777\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.164.244.131\"\n\"September 22nd 2015, 05:06:24.257\",,\"9,043\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.84.238.1\"\n\"September 22nd 2015, 05:06:24.053\",,\"5,577\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"16.148.135.166\"\n\"September 22nd 2015, 05:06:09.974\",,\"7,180\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"123.85.77.216\"\n\"September 22nd 2015, 05:05:56.330\",,\"8,303\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.53.120.159\"\n\"September 22nd 2015, 05:05:12.716\",,\"9,525\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"225.222.13.93\"\n\"September 22nd 2015, 05:04:59.774\",,\"6,042\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"63.142.94.147\"\n\"September 22nd 2015, 05:04:56.475\",,\"5,134\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.86.49.192\"\n\"September 22nd 2015, 05:04:43.136\",,\"3,764\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.200.30.34\"\n\"September 22nd 2015, 05:04:17.608\",,\"9,316\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.105.165.220\"\n\"September 22nd 2015, 05:04:08.311\",,\"6,784\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.29.100.213\"\n\"September 22nd 2015, 05:04:07.214\",,\"2,135\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.189.88.90\"\n\"September 22nd 2015, 05:04:05.247\",,\"7,944\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.164.215.104\"\n\"September 22nd 2015, 05:04:01.325\",,\"9,150\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.98.200.29\"\n\"September 22nd 2015, 05:03:38.078\",,\"16,623\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"249.106.229.151\"\n\"September 22nd 2015, 05:03:14.099\",,\"4,693\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.56.90.184\"\n\"September 22nd 2015, 05:03:07.250\",,\"6,954\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"184.101.186.240\"\n\"September 22nd 2015, 05:02:57.438\",,\"2,620\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.52.178.194\"\n\"September 22nd 2015, 05:02:35.120\",,\"6,259\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.99.166.92\"\n\"September 22nd 2015, 05:02:10.734\",,\"1,739\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"60.231.227.7\"\n\"September 22nd 2015, 05:01:58.916\",,\"8,921\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.21.236.176\"\n\"September 22nd 2015, 05:01:58.226\",,\"3,384\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.97.64.146\"\n\"September 22nd 2015, 05:01:46.452\",,\"5,905\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.253.85.132\"\n\"September 22nd 2015, 05:01:43.102\",,\"9,174\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.45.107.116\"\n\"September 22nd 2015, 05:01:37.420\",,\"7,475\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.86.132.152\"\n\"September 22nd 2015, 05:01:13.173\",,\"2,910\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.56.222.3\"\n\"September 22nd 2015, 05:01:12.336\",,\"3,542\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"36.160.226.203\"\n\"September 22nd 2015, 05:01:10.114\",,\"3,162\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.123.27.0\"\n\"September 22nd 2015, 05:01:08.909\",,\"9,529\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.92.194.37\"\n\"September 22nd 2015, 05:01:08.165\",,\"9,808\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.76.224.154\"\n\"September 22nd 2015, 05:00:39.789\",,\"9,539\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.128.210.67\"\n\"September 22nd 2015, 05:00:34.315\",,\"1,993\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"94.154.194.208\"\n\"September 22nd 2015, 05:00:23.026\",,\"3,318\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.99.166.92\"\n\"September 22nd 2015, 05:00:13.062\",,\"9,794\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.255.46.138\"\n\"September 22nd 2015, 04:59:58.077\",,\"8,821\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"68.50.129.53\"\n\"September 22nd 2015, 04:59:43.491\",,\"6,075\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"217.132.169.207\"\n\"September 22nd 2015, 04:59:11.165\",,\"3,104\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.208.223.252\"\n\"September 22nd 2015, 04:58:41.091\",,\"7,891\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.116.179.248\"\n\"September 22nd 2015, 04:58:08.872\",,\"9,805\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"187.122.228.77\"\n\"September 22nd 2015, 04:57:56.428\",,\"5,146\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"94.48.29.38\"\n\"September 22nd 2015, 04:57:54.641\",,\"3,482\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.96.96.191\"\n\"September 22nd 2015, 04:57:45.252\",,\"6,624\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"181.249.43.5\"\n\"September 22nd 2015, 04:57:39.674\",,\"8,866\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.154.233.154\"\n\"September 22nd 2015, 04:57:35.578\",,\"5,351\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.59.191.54\"\n\"September 22nd 2015, 04:57:34.394\",,\"4,982\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.89.73.11\"\n\"September 22nd 2015, 04:57:28.652\",,\"3,318\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"12.158.252.108\"\n\"September 22nd 2015, 04:57:19.857\",,\"4,140\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.4.117.154\"\n\"September 22nd 2015, 04:57:18.295\",,\"8,610\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.237.64.228\"\n\"September 22nd 2015, 04:57:12.420\",,\"15,506\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.223.87.67\"\n\"September 22nd 2015, 04:57:11.906\",,\"8,229\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"113.35.23.20\"\n\"September 22nd 2015, 04:57:03.846\",,\"7,384\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"198.124.37.215\"\n\"September 22nd 2015, 04:56:46.392\",,\"7,534\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.29.249.167\"\n\"September 22nd 2015, 04:56:42.655\",,\"2,780\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.200.84.215\"\n\"September 22nd 2015, 04:56:38.567\",,\"7,693\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"31.38.33.47\"\n\"September 22nd 2015, 04:56:11.830\",,\"2,784\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.75.209.68\"\n\"September 22nd 2015, 04:55:55.414\",,\"5,592\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.102.200.168\"\n\"September 22nd 2015, 04:55:53.439\",,\"9,352\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"174.52.134.54\"\n\"September 22nd 2015, 04:55:47.927\",,\"3,334\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"23.184.94.58\"\n\"September 22nd 2015, 04:55:47.540\",,\"7,557\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.22.226.5\"\n\"September 22nd 2015, 04:55:38.825\",,\"3,242\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.204.236.159\"\n\"September 22nd 2015, 04:55:29.458\",,\"11,011\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.63.84.25\"\n\"September 22nd 2015, 04:55:13.195\",,\"3,548\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.4.152.176\"\n\"September 22nd 2015, 04:55:08.230\",,\"8,608\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"60.231.227.7\"\n\"September 22nd 2015, 04:55:04.133\",,\"5,622\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"81.1.40.59\"\n\"September 22nd 2015, 04:55:02.292\",,\"9,864\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.250.60.205\"\n\"September 22nd 2015, 04:54:59.374\",,\"5,104\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"196.97.127.109\"\n\"September 22nd 2015, 04:54:57.163\",,\"2,072\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"59.202.132.136\"\n\"September 22nd 2015, 04:54:53.278\",,\"6,459\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.16.191.123\"\n\"September 22nd 2015, 04:54:51.191\",,\"9,341\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.27.68.62\"\n\"September 22nd 2015, 04:54:45.572\",,\"9,278\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.224.184.36\"\n\"September 22nd 2015, 04:54:38.024\",,\"8,553\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"180.79.142.15\"\n\"September 22nd 2015, 04:54:37.592\",,\"5,402\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"212.99.52.163\"\n\"September 22nd 2015, 04:54:32.668\",,\"6,470\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"58.190.216.56\"\n\"September 22nd 2015, 04:54:19.973\",,\"2,036\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"31.196.214.182\"\n\"September 22nd 2015, 04:54:02.183\",,\"2,827\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.185.146.124\"\n\"September 22nd 2015, 04:53:55.425\",,\"3,954\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"195.76.3.10\"\n\"September 22nd 2015, 04:53:55.072\",,\"1,685\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.169.199.220\"\n\"September 22nd 2015, 04:53:18.926\",,\"6,021\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.255.16.81\"\n\"September 22nd 2015, 04:53:14.444\",,\"8,524\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.223.214.184\"\n\"September 22nd 2015, 04:53:04.729\",,\"6,770\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"248.193.114.155\"\n\"September 22nd 2015, 04:52:55.469\",,\"4,498\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.177.73.18\"\n\"September 22nd 2015, 04:52:47.935\",,\"2,953\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.126.43.84\"\n\"September 22nd 2015, 04:52:43.861\",,\"4,976\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.84.111.185\"\n\"September 22nd 2015, 04:52:37.895\",,\"5,830\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"0.228.1.71\"\n\"September 22nd 2015, 04:52:33.124\",,\"1,872\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.128.210.67\"\n\"September 22nd 2015, 04:52:26.245\",,\"1,784\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"244.172.153.74\"\n\"September 22nd 2015, 04:52:23.833\",,\"14,735\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"171.58.133.108\"\n\"September 22nd 2015, 04:51:43.186\",,\"3,283\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"81.191.227.104\"\n\"September 22nd 2015, 04:51:36.128\",,\"8,629\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"165.24.164.93\"\n\"September 22nd 2015, 04:51:17.848\",,\"2,725\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.1.142.144\"\n\"September 22nd 2015, 04:51:13.201\",,\"4,015\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.53.114.44\"\n\"September 22nd 2015, 04:50:53.373\",,\"5,543\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"224.183.190.156\"\n\"September 22nd 2015, 04:50:35.172\",,\"2,071\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"223.68.146.97\"\n\"September 22nd 2015, 04:50:31.887\",,\"7,547\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.255.221.0\"\n\"September 22nd 2015, 04:50:30.627\",,\"2,152\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"224.183.190.156\"\n\"September 22nd 2015, 04:50:24.287\",,\"9,368\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"197.88.56.99\"\n\"September 22nd 2015, 04:50:14.187\",,\"17,330\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.79.108.136\"\n\"September 22nd 2015, 04:49:33.777\",,\"14,873\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.155.247.152\"\n\"September 22nd 2015, 04:49:21.825\",,\"2,017\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.194.215.29\"\n\"September 22nd 2015, 04:48:54.021\",,\"1,517\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.114.204.184\"\n\"September 22nd 2015, 04:48:52.779\",,\"2,978\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.221.187.90\"\n\"September 22nd 2015, 04:48:30.430\",,\"1,781\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.19.155.203\"\n\"September 22nd 2015, 04:48:09.106\",,\"3,616\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.170.135.63\"\n\"September 22nd 2015, 04:47:49.407\",,\"9,946\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.27.68.62\"\n\"September 22nd 2015, 04:47:47.486\",,\"9,423\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"174.32.230.63\"\n\"September 22nd 2015, 04:47:00.897\",,\"17,069\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.18.83.242\"\n\"September 22nd 2015, 04:46:36.372\",,\"2,497\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"100.99.207.174\"\n\"September 22nd 2015, 04:46:25.897\",,\"4,725\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.144.75.220\"\n\"September 22nd 2015, 04:46:19.409\",,\"6,353\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.208.223.252\"\n\"September 22nd 2015, 04:46:13.002\",,\"8,603\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"60.231.227.7\"\n\"September 22nd 2015, 04:45:57.744\",,\"1,848\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.30.157.224\"\n\"September 22nd 2015, 04:45:51.941\",,\"5,680\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.200.4.172\"\n\"September 22nd 2015, 04:45:28.296\",,\"4,733\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.127.76.132\"\n\"September 22nd 2015, 04:45:23.487\",,\"4,142\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.234.255.241\"\n\"September 22nd 2015, 04:44:47.486\",,\"6,087\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"221.75.94.8\"\n\"September 22nd 2015, 04:44:44.692\",,\"5,030\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.244.25.107\"\n\"September 22nd 2015, 04:44:43.729\",,\"3,954\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"199.113.69.162\"\n\"September 22nd 2015, 04:44:34.142\",,\"8,003\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.33.43.147\"\n\"September 22nd 2015, 04:44:33.366\",,\"3,562\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"100.99.207.174\"\n\"September 22nd 2015, 04:44:32.723\",,\"19,621\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"184.125.153.221\"\n\"September 22nd 2015, 04:44:13.013\",,\"2,873\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.30.157.224\"\n\"September 22nd 2015, 04:44:05.101\",,\"5,546\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"242.26.103.238\"\n\"September 22nd 2015, 04:43:52.570\",,\"2,667\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.185.158.249\"\n\"September 22nd 2015, 04:43:47.826\",,\"8,055\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"136.210.127.128\"\n\"September 22nd 2015, 04:43:28.352\",,\"5,999\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"234.206.115.94\"\n\"September 22nd 2015, 04:43:23.353\",,\"1,504\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.139.46.29\"\n\"September 22nd 2015, 04:43:19.505\",,\"16,618\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.171.34.42\"\n\"September 22nd 2015, 04:42:50.924\",,\"9,314\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.57.170.220\"\n\"September 22nd 2015, 04:42:46.081\",,\"1,971\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.92.89.101\"\n\"September 22nd 2015, 04:42:40.981\",,\"4,018\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"70.211.225.125\"\n\"September 22nd 2015, 04:41:51.335\",,\"9,242\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"140.83.143.132\"\n\"September 22nd 2015, 04:41:50.171\",,\"9,415\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"159.230.143.48\"\n\"September 22nd 2015, 04:41:43.449\",,\"9,392\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.237.11.219\"\n\"September 22nd 2015, 04:41:28.383\",,\"1,744\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"12.255.88.79\"\n\"September 22nd 2015, 04:41:23.178\",,\"8,466\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"12.102.47.119\"\n\"September 22nd 2015, 04:41:11.203\",,\"5,748\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"84.205.43.205\"\n\"September 22nd 2015, 04:40:51.580\",,\"16,931\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.117.3.60\"\n\"September 22nd 2015, 04:40:13.119\",,\"8,950\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.30.157.224\"\n\"September 22nd 2015, 04:40:08.939\",,\"8,553\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"35.222.204.135\"\n\"September 22nd 2015, 04:39:41.705\",,\"5,795\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"1.17.21.12\"\n\"September 22nd 2015, 04:39:37.287\",,\"10,749\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.189.88.90\"\n\"September 22nd 2015, 04:38:54.454\",,\"6,734\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.62.86.139\"\n\"September 22nd 2015, 04:38:50.555\",,\"8,036\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"197.150.233.60\"\n\"September 22nd 2015, 04:38:43.077\",,\"5,843\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.164.39.249\"\n\"September 22nd 2015, 04:37:50.586\",,\"6,527\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"87.76.133.12\"\n\"September 22nd 2015, 04:37:39.469\",,\"3,852\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.47.79.172\"\n\"September 22nd 2015, 04:37:38.764\",,\"8,621\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.84.248.187\"\n\"September 22nd 2015, 04:37:23.102\",,\"8,871\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.151.97.227\"\n\"September 22nd 2015, 04:37:22.712\",,\"8,394\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"116.171.234.62\"\n\"September 22nd 2015, 04:37:06.147\",,\"7,055\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.153.40.224\"\n\"September 22nd 2015, 04:37:03.364\",,\"1,840\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.2.26.42\"\n\"September 22nd 2015, 04:36:52.489\",,\"7,309\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"117.2.255.240\"\n\"September 22nd 2015, 04:36:48.203\",,\"8,846\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"10.91.83.148\"\n\"September 22nd 2015, 04:36:40.212\",,\"7,925\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.142.235.222\"\n\"September 22nd 2015, 04:35:44.137\",,\"3,531\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.115.183.40\"\n\"September 22nd 2015, 04:35:41.674\",,\"4,102\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.125.131.162\"\n\"September 22nd 2015, 04:35:23.395\",,\"3,388\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.63.51.8\"\n\"September 22nd 2015, 04:34:28.920\",,\"4,499\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.43.63.180\"\n\"September 22nd 2015, 04:34:27.021\",,\"9,986\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"28.46.60.20\"\n\"September 22nd 2015, 04:34:26.139\",,\"3,776\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.210.244.94\"\n\"September 22nd 2015, 04:34:23.382\",,\"5,067\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.208.223.252\"\n\"September 22nd 2015, 04:34:06.897\",,\"5,245\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.210.116.210\"\n\"September 22nd 2015, 04:34:04.193\",,\"6,369\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.80.12.188\"\n\"September 22nd 2015, 04:34:02.677\",,\"6,779\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.185.146.124\"\n\"September 22nd 2015, 04:34:02.551\",,\"2,876\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.166.42.220\"\n\"September 22nd 2015, 04:32:41.869\",,\"1,981\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.55.80.52\"\n\"September 22nd 2015, 04:32:23.071\",,\"5,242\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.79.158.95\"\n\"September 22nd 2015, 04:32:00.068\",,\"16,204\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.109.118.102\"\n\"September 22nd 2015, 04:31:42.795\",,\"3,368\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.217.241.90\"\n\"September 22nd 2015, 04:31:27.832\",,\"6,695\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"13.61.197.86\"\n\"September 22nd 2015, 04:31:19.296\",,\"9,879\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.246.231.47\"\n\"September 22nd 2015, 04:31:16.840\",,\"3,313\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"142.17.191.204\"\n\"September 22nd 2015, 04:31:15.833\",,\"9,581\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.128.207.200\"\n\"September 22nd 2015, 04:31:11.966\",,\"14,220\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"229.53.125.87\"\n\"September 22nd 2015, 04:30:57.263\",,\"2,775\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.126.43.84\"\n\"September 22nd 2015, 04:30:53.830\",,\"2,464\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"251.47.79.172\"\n\"September 22nd 2015, 04:30:43.276\",,\"7,623\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"229.84.238.1\"\n\"September 22nd 2015, 04:30:39.593\",,\"4,664\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.147.43.175\"\n\"September 22nd 2015, 04:30:38.693\",,\"9,746\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.30.209.2\"\n\"September 22nd 2015, 04:30:32.736\",,\"8,647\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"60.71.214.79\"\n\"September 22nd 2015, 04:29:43.895\",,\"2,367\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"128.108.188.178\"\n\"September 22nd 2015, 04:29:23.180\",,\"4,593\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"147.195.26.33\"\n\"September 22nd 2015, 04:29:18.526\",,\"16,930\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"178.122.0.0\"\n\"September 22nd 2015, 04:29:17.896\",,\"9,347\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.212.173.15\"\n\"September 22nd 2015, 04:29:09.377\",,\"4,326\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.55.141.62\"\n\"September 22nd 2015, 04:29:06.592\",,\"17,949\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.52.134.54\"\n\"September 22nd 2015, 04:28:52.707\",,\"8,547\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.15.54.136\"\n\"September 22nd 2015, 04:28:49.909\",,\"5,291\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.223.164.21\"\n\"September 22nd 2015, 04:28:44.060\",,\"12,481\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.58.247.117\"\n\"September 22nd 2015, 04:28:43.450\",,\"4,293\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.250.60.205\"\n\"September 22nd 2015, 04:28:35.292\",,\"2,251\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"59.184.160.105\"\n\"September 22nd 2015, 04:28:18.341\",,\"5,054\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"64.221.41.27\"\n\"September 22nd 2015, 04:28:12.041\",,\"9,160\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"242.162.114.49\"\n\"September 22nd 2015, 04:27:48.884\",,\"2,425\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"13.38.168.2\"\n\"September 22nd 2015, 04:27:47.638\",,\"14,019\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"175.188.44.145\"\n\"September 22nd 2015, 04:27:41.659\",,\"9,445\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.148.228.141\"\n\"September 22nd 2015, 04:27:31.840\",,\"1,603\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.55.141.62\"\n\"September 22nd 2015, 04:27:13.918\",,\"5,468\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.156.6.246\"\n\"September 22nd 2015, 04:27:11.205\",,\"6,001\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"177.69.169.33\"\n\"September 22nd 2015, 04:26:42.481\",,\"4,704\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"81.1.40.59\"\n\"September 22nd 2015, 04:26:27.891\",,\"7,613\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"235.186.79.201\"\n\"September 22nd 2015, 04:26:16.390\",,\"4,234\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"47.167.142.250\"\n\"September 22nd 2015, 04:25:32.243\",,\"4,664\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"146.229.88.89\"\n\"September 22nd 2015, 04:25:11.806\",,\"6,002\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.66.60.152\"\n\"September 22nd 2015, 04:24:59.823\",,\"2,287\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.6.99.158\"\n\"September 22nd 2015, 04:24:56.159\",,\"16,688\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.55.251.105\"\n\"September 22nd 2015, 04:24:55.925\",,\"3,987\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"128.167.10.27\"\n\"September 22nd 2015, 04:24:47.009\",,\"2,312\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.105.235.122\"\n\"September 22nd 2015, 04:24:39.525\",,\"1,637\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"134.62.86.139\"\n\"September 22nd 2015, 04:24:31.378\",,\"7,299\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"254.75.96.91\"\n\"September 22nd 2015, 04:24:22.985\",,\"9,644\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.227.27.167\"\n\"September 22nd 2015, 04:24:17.713\",,\"6,122\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.18.83.242\"\n\"September 22nd 2015, 04:24:17.628\",,\"5,451\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"84.77.230.73\"\n\"September 22nd 2015, 04:24:07.143\",,\"5,249\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.60.53.165\"\n\"September 22nd 2015, 04:23:56.128\",,\"6,280\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"8.248.237.182\"\n\"September 22nd 2015, 04:23:51.797\",,\"9,012\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.254.194.69\"\n\"September 22nd 2015, 04:23:25.688\",,\"9,384\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.55.251.105\"\n\"September 22nd 2015, 04:23:03.190\",,\"6,421\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.64.147.41\"\n\"September 22nd 2015, 04:22:55.852\",,\"3,560\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"247.174.57.245\"\n\"September 22nd 2015, 04:22:42.936\",,\"9,584\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"241.58.244.165\"\n\"September 22nd 2015, 04:22:25.375\",,\"4,157\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"23.178.170.24\"\n\"September 22nd 2015, 04:22:20.047\",,\"4,319\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"14.61.182.136\"\n\"September 22nd 2015, 04:22:09.624\",,\"8,025\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.50.219.103\"\n\"September 22nd 2015, 04:22:09.118\",,\"3,585\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.121.116.124\"\n\"September 22nd 2015, 04:21:49.440\",,\"9,263\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.106.160.216\"\n\"September 22nd 2015, 04:21:40.132\",,\"3,950\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"24.5.165.192\"\n\"September 22nd 2015, 04:21:26.667\",,\"3,031\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"92.153.81.10\"\n\"September 22nd 2015, 04:21:23.292\",,\"6,154\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.15.162.241\"\n\"September 22nd 2015, 04:20:56.736\",,\"8,083\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.210.163.45\"\n\"September 22nd 2015, 04:20:47.926\",,\"5,807\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.74.138.136\"\n\"September 22nd 2015, 04:20:37.747\",,\"3,494\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.221.187.90\"\n\"September 22nd 2015, 04:20:24.420\",,\"3,500\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"177.194.175.66\"\n\"September 22nd 2015, 04:20:16.248\",,\"7,190\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"67.238.57.221\"\n\"September 22nd 2015, 04:19:59.367\",,\"19,889\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.119.119.38\"\n\"September 22nd 2015, 04:19:18.740\",,\"4,954\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.182.209.84\"\n\"September 22nd 2015, 04:19:10.833\",,\"6,021\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.35.159.150\"\n\"September 22nd 2015, 04:19:09.218\",,\"4,576\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.96.131.243\"\n\"September 22nd 2015, 04:17:57.774\",,\"9,726\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.116.186.0\"\n\"September 22nd 2015, 04:17:54.654\",,\"6,700\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"74.214.76.90\"\n\"September 22nd 2015, 04:17:52.824\",,\"8,960\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.154.233.154\"\n\"September 22nd 2015, 04:17:47.615\",,\"9,556\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.128.210.67\"\n\"September 22nd 2015, 04:17:10.265\",,\"6,558\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.63.84.25\"\n\"September 22nd 2015, 04:16:19.587\",,\"9,146\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"38.29.122.137\"\n\"September 22nd 2015, 04:16:06.583\",,\"6,869\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.135.152.88\"\n\"September 22nd 2015, 04:15:24.457\",,\"16,159\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"219.136.31.156\"\n\"September 22nd 2015, 04:14:41.455\",,\"6,497\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.245.188.46\"\n\"September 22nd 2015, 04:14:13.226\",,\"3,175\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.173.30.33\"\n\"September 22nd 2015, 04:14:00.626\",,\"8,761\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.80.35.243\"\n\"September 22nd 2015, 04:13:52.674\",,\"2,728\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.60.53.165\"\n\"September 22nd 2015, 04:13:41.747\",,\"3,270\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.246.146.22\"\n\"September 22nd 2015, 04:13:35.850\",,\"2,924\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"132.242.0.119\"\n\"September 22nd 2015, 04:13:32.683\",,\"4,082\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"60.71.214.79\"\n\"September 22nd 2015, 04:13:27.516\",,\"6,476\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"109.136.109.115\"\n\"September 22nd 2015, 04:13:24.598\",,\"7,727\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"123.129.217.122\"\n\"September 22nd 2015, 04:13:11.799\",,\"2,352\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.150.212.12\"\n\"September 22nd 2015, 04:13:08.406\",,\"9,892\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.167.54.47\"\n\"September 22nd 2015, 04:12:59.174\",,\"6,825\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.56.222.3\"\n\"September 22nd 2015, 04:12:55.255\",,\"7,577\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"217.25.8.4\"\n\"September 22nd 2015, 04:12:36.307\",,\"7,321\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.127.51.83\"\n\"September 22nd 2015, 04:12:34.467\",,\"8,334\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.35.55.46\"\n\"September 22nd 2015, 04:12:11.233\",,\"3,895\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"54.172.121.192\"\n\"September 22nd 2015, 04:12:02.420\",,\"8,820\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.49.31.82\"\n\"September 22nd 2015, 04:11:52.987\",,\"3,713\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.195.208.118\"\n\"September 22nd 2015, 04:11:17.017\",,\"6,915\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.83.76.140\"\n\"September 22nd 2015, 04:11:04.292\",,\"5,545\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"225.241.219.2\"\n\"September 22nd 2015, 04:10:54.274\",,\"8,636\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.2.62.18\"\n\"September 22nd 2015, 04:10:53.154\",,\"1,873\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"44.237.227.233\"\n\"September 22nd 2015, 04:10:28.700\",,\"8,240\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.151.155.50\"\n\"September 22nd 2015, 04:10:28.518\",,\"5,488\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"219.42.50.113\"\n\"September 22nd 2015, 04:10:27.976\",,\"5,559\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.33.201.138\"\n\"September 22nd 2015, 04:10:20.372\",,\"6,819\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.210.111.14\"\n\"September 22nd 2015, 04:10:14.253\",,\"6,849\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.99.184.146\"\n\"September 22nd 2015, 04:09:59.403\",,\"9,438\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.174.35.186\"\n\"September 22nd 2015, 04:09:32.362\",,\"6,912\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"236.20.147.107\"\n\"September 22nd 2015, 04:08:40.852\",,\"2,451\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"31.196.214.182\"\n\"September 22nd 2015, 04:07:16.277\",,\"2,868\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"41.210.252.157\"\n\"September 22nd 2015, 04:07:15.513\",,\"6,096\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.200.30.34\"\n\"September 22nd 2015, 04:07:00.174\",,\"9,276\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"189.125.84.30\"\n\"September 22nd 2015, 04:06:49.440\",,\"9,242\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"11.29.171.72\"\n\"September 22nd 2015, 04:06:19.198\",,\"3,447\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"241.49.31.82\"\n\"September 22nd 2015, 04:05:57.044\",,\"5,307\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.152.176.23\"\n\"September 22nd 2015, 04:05:39.832\",,\"6,837\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"63.219.233.187\"\n\"September 22nd 2015, 04:05:34.295\",,\"12,357\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.253.222.16\"\n\"September 22nd 2015, 04:05:24.205\",,\"6,068\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.48.147.184\"\n\"September 22nd 2015, 04:05:11.557\",,\"4,432\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.249.93.77\"\n\"September 22nd 2015, 04:05:03.511\",,\"3,962\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.201.212.220\"\n\"September 22nd 2015, 04:04:58.755\",,\"2,780\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.153.51.78\"\n\"September 22nd 2015, 04:04:21.431\",,\"1,841\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"129.152.7.186\"\n\"September 22nd 2015, 04:04:16.846\",,\"7,432\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.194.157.171\"\n\"September 22nd 2015, 04:03:47.525\",,\"8,249\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.55.141.62\"\n\"September 22nd 2015, 04:03:45.618\",,\"9,555\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.188.1.153\"\n\"September 22nd 2015, 04:03:44.704\",,\"9,968\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"10.91.83.148\"\n\"September 22nd 2015, 04:03:27.151\",,\"2,321\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.177.125.196\"\n\"September 22nd 2015, 04:02:58.403\",,\"3,714\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.151.244.234\"\n\"September 22nd 2015, 04:02:54.552\",,\"6,881\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"101.43.176.190\"\n\"September 22nd 2015, 04:02:33.240\",,\"6,568\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.125.131.162\"\n\"September 22nd 2015, 04:02:28.819\",,\"5,453\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.245.188.46\"\n\"September 22nd 2015, 04:02:18.643\",,\"12,452\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"203.206.8.45\"\n\"September 22nd 2015, 04:02:13.846\",,\"3,729\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"199.113.69.162\"\n\"September 22nd 2015, 04:01:54.106\",,\"6,692\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.134.216.218\"\n\"September 22nd 2015, 04:01:49.459\",,\"4,256\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.126.88.114\"\n\"September 22nd 2015, 04:01:40.409\",,\"3,305\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.74.96.103\"\n\"September 22nd 2015, 04:01:36.551\",,\"2,136\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.119.62.60\"\n\"September 22nd 2015, 04:01:31.087\",,\"2,856\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.55.175.148\"\n\"September 22nd 2015, 04:01:25.003\",,\"16,580\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"158.222.162.158\"\n\"September 22nd 2015, 04:00:43.956\",,\"8,296\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"143.84.142.7\"\n\"September 22nd 2015, 04:00:34.941\",,\"4,888\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.218.253.140\"\n\"September 22nd 2015, 04:00:09.455\",,\"3,696\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.252.112.76\"\n\"September 22nd 2015, 04:00:04.799\",,\"2,309\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"222.224.95.15\"\n\"September 22nd 2015, 03:59:24.137\",,\"2,682\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.223.93.34\"\n\"September 22nd 2015, 03:59:05.671\",,\"8,398\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.83.143.132\"\n\"September 22nd 2015, 03:59:03.949\",,\"5,115\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.123.178.135\"\n\"September 22nd 2015, 03:58:34.481\",,\"9,674\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.127.124.65\"\n\"September 22nd 2015, 03:58:26.995\",,\"6,717\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.246.143.109\"\n\"September 22nd 2015, 03:58:17.712\",,\"4,114\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"59.184.160.105\"\n\"September 22nd 2015, 03:57:35.332\",,\"8,856\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"52.111.115.206\"\n\"September 22nd 2015, 03:56:32.242\",,\"6,296\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.87.234.213\"\n\"September 22nd 2015, 03:56:26.922\",,\"7,640\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"96.40.73.208\"\n\"September 22nd 2015, 03:56:26.281\",,\"4,352\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.97.175.115\"\n\"September 22nd 2015, 03:56:00.470\",,\"4,956\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.27.10.205\"\n\"September 22nd 2015, 03:55:56.346\",,\"8,091\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.242.201.206\"\n\"September 22nd 2015, 03:55:56.116\",,\"4,798\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"68.107.5.226\"\n\"September 22nd 2015, 03:55:55.962\",,\"9,182\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"87.66.62.130\"\n\"September 22nd 2015, 03:55:55.651\",,\"6,866\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.194.157.171\"\n\"September 22nd 2015, 03:55:50.899\",,\"9,938\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.255.221.0\"\n\"September 22nd 2015, 03:55:07.478\",,\"9,651\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.63.84.25\"\n\"September 22nd 2015, 03:54:35.263\",,\"9,803\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"218.186.41.141\"\n\"September 22nd 2015, 03:54:21.870\",,\"3,641\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"84.205.43.205\"\n\"September 22nd 2015, 03:54:18.844\",,\"5,456\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.197.178.155\"\n\"September 22nd 2015, 03:54:11.069\",,\"8,799\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"247.189.13.239\"\n\"September 22nd 2015, 03:53:33.099\",,\"5,806\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"20.222.131.172\"\n\"September 22nd 2015, 03:52:55.622\",,\"6,931\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.164.215.104\"\n\"September 22nd 2015, 03:52:50.895\",,\"4,596\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"159.136.76.65\"\n\"September 22nd 2015, 03:52:36.272\",,\"8,529\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.68.89.92\"\n\"September 22nd 2015, 03:52:28.576\",,\"5,703\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"188.123.71.54\"\n\"September 22nd 2015, 03:52:19.432\",,\"3,373\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"217.25.8.4\"\n\"September 22nd 2015, 03:52:11.934\",,\"8,264\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.135.248.113\"\n\"September 22nd 2015, 03:52:04.255\",,\"4,171\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.182.209.84\"\n\"September 22nd 2015, 03:51:51.139\",,\"7,808\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.223.188.57\"\n\"September 22nd 2015, 03:51:49.192\",,\"8,672\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"197.222.12.184\"\n\"September 22nd 2015, 03:51:24.872\",,\"8,514\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.189.88.90\"\n\"September 22nd 2015, 03:51:11.631\",,\"1,629\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.148.228.141\"\n\"September 22nd 2015, 03:51:05.441\",,\"9,273\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.142.94.147\"\n\"September 22nd 2015, 03:50:53.630\",,\"7,026\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"251.84.111.185\"\n\"September 22nd 2015, 03:50:07.044\",,\"3,864\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.169.199.220\"\n\"September 22nd 2015, 03:50:02.685\",,\"8,260\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.84.248.187\"\n\"September 22nd 2015, 03:49:44.537\",,\"6,403\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"131.98.185.144\"\n\"September 22nd 2015, 03:49:37.653\",,\"8,238\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.30.231.202\"\n\"September 22nd 2015, 03:48:53.528\",,\"6,928\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.177.73.18\"\n\"September 22nd 2015, 03:48:48.401\",,\"5,814\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.108.3.2\"\n\"September 22nd 2015, 03:48:26.722\",,\"5,929\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"154.79.180.7\"\n\"September 22nd 2015, 03:47:58.071\",,\"8,359\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.165.237.200\"\n\"September 22nd 2015, 03:47:53.001\",,\"8,409\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.13.7.53\"\n\"September 22nd 2015, 03:47:28.965\",,\"3,641\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.164.39.249\"\n\"September 22nd 2015, 03:47:10.083\",,\"8,223\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.63.84.25\"\n\"September 22nd 2015, 03:46:39.675\",,\"7,337\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.111.6.101\"\n\"September 22nd 2015, 03:46:19.365\",,\"7,102\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"64.236.125.37\"\n\"September 22nd 2015, 03:46:08.697\",,\"9,374\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"183.128.223.209\"\n\"September 22nd 2015, 03:46:01.343\",,\"3,379\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.97.175.115\"\n\"September 22nd 2015, 03:46:00.540\",,\"4,884\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"30.5.71.170\"\n\"September 22nd 2015, 03:45:48.469\",,\"4,091\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.244.25.107\"\n\"September 22nd 2015, 03:45:15.231\",,\"4,361\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.89.186.2\"\n\"September 22nd 2015, 03:44:10.538\",,\"4,714\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.75.54.137\"\n\"September 22nd 2015, 03:43:52.746\",,\"9,448\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"91.127.213.244\"\n\"September 22nd 2015, 03:43:50.361\",,\"4,408\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"234.201.75.147\"\n\"September 22nd 2015, 03:43:33.330\",,\"8,287\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"248.239.221.43\"\n\"September 22nd 2015, 03:43:27.969\",,\"9,044\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.93.29.126\"\n\"September 22nd 2015, 03:43:18.648\",,\"5,045\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.56.222.3\"\n\"September 22nd 2015, 03:42:59.486\",,\"7,960\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.63.242.217\"\n\"September 22nd 2015, 03:42:36.514\",,\"5,131\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"30.92.50.149\"\n\"September 22nd 2015, 03:42:29.708\",,\"9,978\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.202.168.250\"\n\"September 22nd 2015, 03:42:14.491\",,\"3,887\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.241.46.95\"\n\"September 22nd 2015, 03:41:46.410\",,\"4,088\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.62.90.237\"\n\"September 22nd 2015, 03:40:44.395\",,\"13,451\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.89.73.11\"\n\"September 22nd 2015, 03:40:38.318\",,\"2,047\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"159.137.252.66\"\n\"September 22nd 2015, 03:40:19.312\",,\"4,507\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"6.183.121.70\"\n\"September 22nd 2015, 03:40:14.741\",,\"4,473\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.43.63.180\"\n\"September 22nd 2015, 03:39:56.562\",,\"3,377\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.115.77.46\"\n\"September 22nd 2015, 03:39:52.697\",,\"8,706\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.113.253.141\"\n\"September 22nd 2015, 03:39:45.041\",,\"6,532\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"209.144.199.174\"\n\"September 22nd 2015, 03:39:35.431\",,\"6,914\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"47.167.142.250\"\n\"September 22nd 2015, 03:39:31.016\",,\"9,307\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.202.168.250\"\n\"September 22nd 2015, 03:39:20.273\",,\"5,992\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.13.115.149\"\n\"September 22nd 2015, 03:39:19.462\",,\"1,715\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"68.50.129.53\"\n\"September 22nd 2015, 03:39:10.537\",,\"4,204\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.210.244.94\"\n\"September 22nd 2015, 03:37:58.276\",,\"4,903\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.58.22.109\"\n\"September 22nd 2015, 03:37:57.630\",,\"6,334\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.150.146.102\"\n\"September 22nd 2015, 03:37:51.773\",,\"7,534\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"148.47.216.255\"\n\"September 22nd 2015, 03:37:37.152\",,\"1,606\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.227.142.190\"\n\"September 22nd 2015, 03:37:35.793\",,\"8,411\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.123.27.0\"\n\"September 22nd 2015, 03:37:14.728\",,\"5,943\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.115.183.40\"\n\"September 22nd 2015, 03:36:53.956\",,\"9,205\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.204.236.159\"\n\"September 22nd 2015, 03:36:36.421\",,\"9,848\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.144.90.74\"\n\"September 22nd 2015, 03:36:33.578\",,\"6,492\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"182.57.70.84\"\n\"September 22nd 2015, 03:36:28.925\",,\"8,528\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"80.164.215.104\"\n\"September 22nd 2015, 03:36:28.099\",,\"9,983\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"106.181.249.244\"\n\"September 22nd 2015, 03:36:23.399\",,\"1,767\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"244.112.251.87\"\n\"September 22nd 2015, 03:36:03.657\",,\"7,983\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"177.141.61.131\"\n\"September 22nd 2015, 03:35:55.888\",,\"7,395\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"144.135.123.19\"\n\"September 22nd 2015, 03:35:51.504\",,\"7,090\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"249.11.43.220\"\n\"September 22nd 2015, 03:35:41.567\",,\"1,770\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"187.122.228.77\"\n\"September 22nd 2015, 03:35:25.244\",,\"7,687\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.180.71.177\"\n\"September 22nd 2015, 03:35:23.301\",,\"7,824\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"101.130.216.47\"\n\"September 22nd 2015, 03:35:15.722\",,\"9,324\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"10.91.83.148\"\n\"September 22nd 2015, 03:34:45.154\",,\"3,585\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.37.94.4\"\n\"September 22nd 2015, 03:34:44.713\",,\"8,755\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.105.204.4\"\n\"September 22nd 2015, 03:34:30.586\",,\"2,001\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"157.136.137.24\"\n\"September 22nd 2015, 03:34:29.776\",,\"1,526\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.85.77.216\"\n\"September 22nd 2015, 03:34:20.670\",,\"1,676\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.218.92.179\"\n\"September 22nd 2015, 03:34:06.685\",,\"3,046\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.13.115.149\"\n\"September 22nd 2015, 03:33:59.087\",,\"2,833\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.252.112.76\"\n\"September 22nd 2015, 03:33:38.835\",,\"1,613\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.218.31.116\"\n\"September 22nd 2015, 03:33:09.697\",,\"8,497\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.218.253.140\"\n\"September 22nd 2015, 03:33:03.206\",,\"5,665\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"224.183.190.156\"\n\"September 22nd 2015, 03:32:52.192\",,\"4,792\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.7.244.68\"\n\"September 22nd 2015, 03:32:14.400\",,\"7,274\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.105.235.122\"\n\"September 22nd 2015, 03:31:49.726\",,\"5,126\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"255.58.31.9\"\n\"September 22nd 2015, 03:31:32.668\",,\"9,685\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"202.48.108.4\"\n\"September 22nd 2015, 03:31:23.215\",,\"4,653\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.92.205.231\"\n\"September 22nd 2015, 03:31:22.537\",,\"2,752\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.55.80.52\"\n\"September 22nd 2015, 03:31:21.576\",,\"1,644\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.111.6.101\"\n\"September 22nd 2015, 03:31:19.289\",,\"8,665\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.211.153.90\"\n\"September 22nd 2015, 03:30:56.207\",,\"5,761\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.39.140.144\"\n\"September 22nd 2015, 03:30:53.709\",,\"2,514\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.148.228.141\"\n\"September 22nd 2015, 03:30:51.908\",,\"6,914\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"41.210.252.157\"\n\"September 22nd 2015, 03:30:47.459\",,\"1,914\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.201.249.221\"\n\"September 22nd 2015, 03:30:35.466\",,\"7,957\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.173.85.47\"\n\"September 22nd 2015, 03:30:35.248\",,\"2,724\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.163.133.47\"\n\"September 22nd 2015, 03:30:19.772\",,\"3,146\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"94.154.194.208\"\n\"September 22nd 2015, 03:29:42.645\",,\"14,618\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.192.52.3\"\n\"September 22nd 2015, 03:29:18.381\",,\"5,129\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"16.148.135.166\"\n\"September 22nd 2015, 03:28:54.788\",,\"8,308\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.139.46.29\"\n\"September 22nd 2015, 03:28:49.081\",,\"4,475\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"66.136.173.80\"\n\"September 22nd 2015, 03:28:18.385\",,\"7,095\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.5.136.153\"\n\"September 22nd 2015, 03:28:06.457\",,\"8,551\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.168.126.221\"\n\"September 22nd 2015, 03:28:00.908\",,\"4,881\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.151.155.50\"\n\"September 22nd 2015, 03:27:35.565\",,\"6,373\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.119.119.38\"\n\"September 22nd 2015, 03:27:32.114\",,\"6,977\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"54.0.98.104\"\n\"September 22nd 2015, 03:27:27.768\",,\"7,745\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"203.118.132.112\"\n\"September 22nd 2015, 03:26:27.403\",,\"2,989\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.58.145.175\"\n\"September 22nd 2015, 03:26:17.363\",,\"1,570\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.55.141.62\"\n\"September 22nd 2015, 03:26:01.786\",,\"3,154\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.227.125.229\"\n\"September 22nd 2015, 03:25:56.413\",,\"2,140\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.2.26.42\"\n\"September 22nd 2015, 03:25:52.503\",,\"12,808\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.168.180.6\"\n\"September 22nd 2015, 03:25:31.604\",,\"9,980\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.225.141.240\"\n\"September 22nd 2015, 03:24:07.194\",,\"7,805\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.2.62.18\"\n\"September 22nd 2015, 03:24:00.630\",,\"5,935\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"128.169.152.213\"\n\"September 22nd 2015, 03:23:58.466\",,\"1,814\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"234.201.75.147\"\n\"September 22nd 2015, 03:23:55.698\",,\"2,375\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.108.133.125\"\n\"September 22nd 2015, 03:23:23.517\",,\"7,523\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.192.185.168\"\n\"September 22nd 2015, 03:23:14.180\",,\"4,223\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.126.159.144\"\n\"September 22nd 2015, 03:23:02.188\",,\"9,557\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"180.37.241.184\"\n\"September 22nd 2015, 03:22:53.056\",,\"3,335\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"183.139.112.201\"\n\"September 22nd 2015, 03:22:45.640\",,\"2,973\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"47.141.35.68\"\n\"September 22nd 2015, 03:22:30.140\",,\"8,604\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.164.244.131\"\n\"September 22nd 2015, 03:21:56.780\",,\"5,444\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"223.68.146.97\"\n\"September 22nd 2015, 03:21:48.282\",,\"2,630\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.122.121.230\"\n\"September 22nd 2015, 03:21:36.855\",,\"3,595\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.84.111.185\"\n\"September 22nd 2015, 03:21:29.395\",,\"1,648\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.223.214.184\"\n\"September 22nd 2015, 03:21:28.818\",,\"4,577\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"61.174.151.11\"\n\"September 22nd 2015, 03:21:25.655\",,\"4,394\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"132.242.0.119\"\n\"September 22nd 2015, 03:21:07.470\",,\"7,663\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"254.75.96.91\"\n\"September 22nd 2015, 03:21:06.474\",,\"5,389\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.246.231.47\"\n\"September 22nd 2015, 03:20:53.713\",,\"4,230\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"14.54.226.211\"\n\"September 22nd 2015, 03:20:14.908\",,\"6,655\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"23.3.174.206\"\n\"September 22nd 2015, 03:20:09.546\",,\"3,943\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.87.234.213\"\n\"September 22nd 2015, 03:19:59.223\",,\"8,715\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"154.55.57.32\"\n\"September 22nd 2015, 03:19:46.905\",,\"4,988\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"177.194.175.66\"\n\"September 22nd 2015, 03:19:31.549\",,\"4,464\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.35.159.150\"\n\"September 22nd 2015, 03:19:10.044\",,\"2,174\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"222.201.119.239\"\n\"September 22nd 2015, 03:18:22.801\",,\"8,944\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.3.115.126\"\n\"September 22nd 2015, 03:18:14.597\",,\"9,412\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.207.16.29\"\n\"September 22nd 2015, 03:18:09.725\",,\"8,632\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.217.241.90\"\n\"September 22nd 2015, 03:17:31.463\",,\"5,780\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.89.226.36\"\n\"September 22nd 2015, 03:17:30.665\",,\"3,782\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.190.3.193\"\n\"September 22nd 2015, 03:17:16.999\",,\"7,904\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.97.64.146\"\n\"September 22nd 2015, 03:16:34.865\",,\"6,985\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.107.74.6\"\n\"September 22nd 2015, 03:16:25.823\",,\"6,092\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.4.152.176\"\n\"September 22nd 2015, 03:16:24.862\",,\"9,771\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"183.139.112.201\"\n\"September 22nd 2015, 03:16:24.503\",,\"1,303\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"117.112.55.75\"\n\"September 22nd 2015, 03:16:12.182\",,\"4,288\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.230.105.32\"\n\"September 22nd 2015, 03:15:59.558\",,\"2,957\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.136.156.225\"\n\"September 22nd 2015, 03:15:47.624\",,\"3,241\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.122.34.237\"\n\"September 22nd 2015, 03:15:26.695\",,\"7,258\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.3.32.15\"\n\"September 22nd 2015, 03:15:15.151\",,\"9,793\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"159.230.143.48\"\n\"September 22nd 2015, 03:14:56.456\",,\"8,611\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"67.47.100.255\"\n\"September 22nd 2015, 03:14:16.055\",,\"8,458\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.147.119.226\"\n\"September 22nd 2015, 03:14:12.361\",,\"7,154\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.166.42.220\"\n\"September 22nd 2015, 03:14:07.698\",,\"8,817\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.219.108.141\"\n\"September 22nd 2015, 03:13:15.507\",,\"2,596\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.115.74.144\"\n\"September 22nd 2015, 03:13:07.521\",,\"7,895\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.182.209.84\"\n\"September 22nd 2015, 03:13:00.002\",,\"4,273\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"157.39.25.197\"\n\"September 22nd 2015, 03:12:50.249\",,\"3,797\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"51.70.170.56\"\n\"September 22nd 2015, 03:12:38.384\",,\"7,519\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.109.118.102\"\n\"September 22nd 2015, 03:12:28.710\",,\"8,783\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.30.231.202\"\n\"September 22nd 2015, 03:12:05.104\",,\"8,918\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.233.238.181\"\n\"September 22nd 2015, 03:11:54.266\",,\"3,820\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"123.154.246.27\"\n\"September 22nd 2015, 03:11:53.350\",,\"6,643\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.2.62.18\"\n\"September 22nd 2015, 03:11:39.496\",,\"2,189\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.122.34.237\"\n\"September 22nd 2015, 03:11:21.086\",,\"3,616\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"134.36.203.241\"\n\"September 22nd 2015, 03:10:15.763\",,\"4,237\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.191.52.177\"\n\"September 22nd 2015, 03:10:14.129\",,\"2,546\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.70.170.56\"\n\"September 22nd 2015, 03:10:11.517\",,\"3,517\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"68.41.209.99\"\n\"September 22nd 2015, 03:09:50.253\",,\"8,504\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"136.210.127.128\"\n\"September 22nd 2015, 03:09:12.942\",,\"2,436\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"49.164.39.249\"\n\"September 22nd 2015, 03:09:11.522\",,\"5,761\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.7.97.184\"\n\"September 22nd 2015, 03:09:00.745\",,\"8,295\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.93.219.234\"\n\"September 22nd 2015, 03:09:00.707\",,\"9,012\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.50.219.103\"\n\"September 22nd 2015, 03:07:59.892\",,\"2,703\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"161.35.49.227\"\n\"September 22nd 2015, 03:07:05.890\",,\"3,747\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.149.85.183\"\n\"September 22nd 2015, 03:07:04.079\",,\"3,597\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.152.141.244\"\n\"September 22nd 2015, 03:06:29.453\",,\"8,346\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.157.127.149\"\n\"September 22nd 2015, 03:06:18.514\",,\"5,707\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"189.101.14.210\"\n\"September 22nd 2015, 03:05:41.130\",,\"4,124\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.11.66.39\"\n\"September 22nd 2015, 03:04:32.617\",,\"1,971\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.230.105.32\"\n\"September 22nd 2015, 03:04:32.491\",,\"3,777\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.213.126.12\"\n\"September 22nd 2015, 03:04:22.822\",,\"8,669\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.234.255.241\"\n\"September 22nd 2015, 03:03:50.141\",,\"3,288\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.244.150.190\"\n\"September 22nd 2015, 03:03:46.103\",,\"9,360\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"223.57.253.60\"\n\"September 22nd 2015, 03:03:26.357\",,\"1,836\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"166.25.218.240\"\n\"September 22nd 2015, 03:03:18.166\",,\"8,147\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.35.55.46\"\n\"September 22nd 2015, 03:03:08.444\",,\"7,331\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"59.202.132.136\"\n\"September 22nd 2015, 03:03:01.157\",,\"9,179\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.139.46.29\"\n\"September 22nd 2015, 03:01:22.279\",,\"3,276\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.7.132.13\"\n\"September 22nd 2015, 03:00:54.945\",,\"7,909\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.75.209.68\"\n\"September 22nd 2015, 03:00:29.438\",,\"4,162\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"212.134.81.148\"\n\"September 22nd 2015, 03:00:28.572\",,\"8,691\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.204.140.157\"\n\"September 22nd 2015, 03:00:24.767\",,\"15,073\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"7.218.211.125\"\n\"September 22nd 2015, 03:00:23.233\",,\"6,363\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.47.75.195\"\n\"September 22nd 2015, 03:00:22.457\",,\"19,104\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.80.12.188\"\n\"September 22nd 2015, 03:00:07.572\",,\"7,164\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"23.3.174.206\"\n\"September 22nd 2015, 02:59:27.827\",,\"18,181\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"24.202.52.232\"\n\"September 22nd 2015, 02:59:20.836\",,\"4,850\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.250.60.205\"\n\"September 22nd 2015, 02:57:55.439\",,\"9,386\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.164.151.232\"\n\"September 22nd 2015, 02:57:17.711\",,\"8,712\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.3.10.81\"\n\"September 22nd 2015, 02:57:17.517\",,\"3,780\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.165.226.140\"\n\"September 22nd 2015, 02:56:59.153\",,\"9,690\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"38.29.122.137\"\n\"September 22nd 2015, 02:55:57.235\",,\"3,848\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"51.11.189.233\"\n\"September 22nd 2015, 02:55:23.783\",,\"8,041\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.143.189.70\"\n\"September 22nd 2015, 02:54:52.550\",,\"2,114\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"127.219.223.182\"\n\"September 22nd 2015, 02:53:20.868\",,\"5,631\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"129.152.7.186\"\n\"September 22nd 2015, 02:53:09.252\",,\"3,894\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.223.214.184\"\n\"September 22nd 2015, 02:52:55.595\",,\"4,793\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.177.125.196\"\n\"September 22nd 2015, 02:52:34.528\",,\"5,126\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"3.174.21.181\"\n\"September 22nd 2015, 02:52:25.827\",,\"7,388\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"104.212.107.0\"\n\"September 22nd 2015, 02:52:21.102\",,\"4,973\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"24.202.52.232\"\n\"September 22nd 2015, 02:52:14.196\",,\"6,891\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.239.0.38\"\n\"September 22nd 2015, 02:52:03.903\",,\"8,531\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"222.224.95.15\"\n\"September 22nd 2015, 02:51:52.970\",,\"3,248\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.102.200.168\"\n\"September 22nd 2015, 02:51:29.511\",,\"3,294\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"104.142.243.97\"\n\"September 22nd 2015, 02:51:10.176\",,\"5,190\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"7.9.151.133\"\n\"September 22nd 2015, 02:50:57.020\",,\"6,761\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.127.51.83\"\n\"September 22nd 2015, 02:50:36.416\",,\"8,044\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"96.40.73.208\"\n\"September 22nd 2015, 02:50:34.402\",,\"3,496\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"10.192.39.62\"\n\"September 22nd 2015, 02:50:03.712\",,\"4,498\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.38.139.107\"\n\"September 22nd 2015, 02:49:56.766\",,\"5,320\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.197.178.155\"\n\"September 22nd 2015, 02:49:50.734\",,\"9,341\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.113.219.30\"\n\"September 22nd 2015, 02:49:44.504\",,\"9,649\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"178.104.96.40\"\n\"September 22nd 2015, 02:49:44.049\",,\"2,104\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.0.214.93\"\n\"September 22nd 2015, 02:49:37.696\",,\"14,382\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"232.206.227.106\"\n\"September 22nd 2015, 02:49:26.507\",,\"7,143\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.120.146.16\"\n\"September 22nd 2015, 02:49:06.707\",,\"9,746\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.156.52.180\"\n\"September 22nd 2015, 02:48:53.287\",,\"6,122\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.205.46.255\"\n\"September 22nd 2015, 02:48:44.199\",,\"2,201\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"5.206.32.88\"\n\"September 22nd 2015, 02:48:43.810\",,\"5,436\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.167.54.47\"\n\"September 22nd 2015, 02:48:31.792\",,\"2,992\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.123.55.136\"\n\"September 22nd 2015, 02:48:28.486\",,\"9,600\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"241.129.62.213\"\n\"September 22nd 2015, 02:48:25.189\",,\"9,356\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"133.74.144.217\"\n\"September 22nd 2015, 02:48:22.870\",,\"1,816\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.162.138.2\"\n\"September 22nd 2015, 02:48:20.486\",,\"9,112\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"236.20.147.107\"\n\"September 22nd 2015, 02:47:52.151\",,\"9,478\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.210.111.14\"\n\"September 22nd 2015, 02:47:16.197\",,\"4,368\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.216.173.242\"\n\"September 22nd 2015, 02:47:00.659\",,\"15,553\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.82.228.233\"\n\"September 22nd 2015, 02:45:59.937\",,\"8,183\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.95.5.139\"\n\"September 22nd 2015, 02:45:39.405\",,\"8,038\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.12.135.128\"\n\"September 22nd 2015, 02:45:31.327\",,\"7,719\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.92.239.70\"\n\"September 22nd 2015, 02:45:24.810\",,\"6,188\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.171.208.139\"\n\"September 22nd 2015, 02:45:16.880\",,\"6,476\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.56.164.24\"\n\"September 22nd 2015, 02:44:57.887\",,\"2,913\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.68.234.67\"\n\"September 22nd 2015, 02:44:38.611\",,\"7,190\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"129.152.7.186\"\n\"September 22nd 2015, 02:42:25.251\",,\"4,857\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.34.180.209\"\n\"September 22nd 2015, 02:42:21.032\",,\"2,423\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"2.203.112.183\"\n\"September 22nd 2015, 02:40:50.027\",,\"5,822\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"184.125.153.221\"\n\"September 22nd 2015, 02:40:43.225\",,\"4,065\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.171.34.42\"\n\"September 22nd 2015, 02:40:04.571\",,\"8,056\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.39.140.144\"\n\"September 22nd 2015, 02:38:08.583\",,\"17,653\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"157.39.25.197\"\n\"September 22nd 2015, 02:37:29.002\",,\"10,753\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.61.182.136\"\n\"September 22nd 2015, 02:36:13.688\",,\"2,865\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.183.234.114\"\n\"September 22nd 2015, 02:36:12.342\",,\"6,686\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"43.66.187.127\"\n\"September 22nd 2015, 02:35:36.417\",,\"4,867\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.143.209.115\"\n\"September 22nd 2015, 02:34:41.264\",,\"2,467\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"177.194.175.66\"\n\"September 22nd 2015, 02:34:35.728\",,\"1,713\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.150.146.102\"\n\"September 22nd 2015, 02:34:22.151\",,\"4,920\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.168.21.69\"\n\"September 22nd 2015, 02:34:21.383\",,\"6,800\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"12.196.199.120\"\n\"September 22nd 2015, 02:33:47.562\",,\"6,908\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"183.33.83.170\"\n\"September 22nd 2015, 02:33:37.425\",,\"6,391\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"100.50.11.41\"\n\"September 22nd 2015, 02:32:48.209\",,\"2,201\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.254.194.69\"\n\"September 22nd 2015, 02:32:24.801\",,\"3,105\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"115.225.12.164\"\n\"September 22nd 2015, 02:31:15.587\",,\"8,208\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.41.228.240\"\n\"September 22nd 2015, 02:30:42.774\",,\"3,798\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.51.178.50\"\n\"September 22nd 2015, 02:29:05.816\",,\"3,468\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"174.32.230.63\"\n\"September 22nd 2015, 02:29:02.446\",,\"8,259\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"29.225.249.114\"\n\"September 22nd 2015, 02:28:33.380\",,\"9,962\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"223.57.253.60\"\n\"September 22nd 2015, 02:28:32.923\",,\"3,409\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.90.39.228\"\n\"September 22nd 2015, 02:28:09.883\",,\"8,311\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.219.233.187\"\n\"September 22nd 2015, 02:27:41.539\",,\"6,557\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.142.140.200\"\n\"September 22nd 2015, 02:27:08.219\",,\"4,634\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.60.53.165\"\n\"September 22nd 2015, 02:27:06.070\",,\"6,512\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.111.115.206\"\n\"September 22nd 2015, 02:25:55.256\",,\"5,055\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"23.184.94.58\"\n\"September 22nd 2015, 02:25:33.516\",,\"3,801\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"144.31.154.6\"\n\"September 22nd 2015, 02:25:16.371\",,\"7,384\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.12.132.188\"\n\"September 22nd 2015, 02:25:13.081\",,\"8,082\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.100.162.251\"\n\"September 22nd 2015, 02:25:11.390\",,\"3,470\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"113.43.75.122\"\n\"September 22nd 2015, 02:24:57.875\",,\"5,918\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.55.130.114\"\n\"September 22nd 2015, 02:24:34.969\",,\"4,572\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.227.195.13\"\n\"September 22nd 2015, 02:23:53.356\",,\"5,434\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"77.227.154.93\"\n\"September 22nd 2015, 02:23:49.516\",,\"6,915\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.41.228.240\"\n\"September 22nd 2015, 02:23:14.412\",,\"6,013\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"174.52.134.54\"\n\"September 22nd 2015, 02:22:32.869\",,\"6,497\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.198.170.210\"\n\"September 22nd 2015, 02:21:45.902\",,\"5,163\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.236.3.119\"\n\"September 22nd 2015, 02:20:39.132\",,\"6,216\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.192.185.168\"\n\"September 22nd 2015, 02:20:13.599\",,\"6,483\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"104.87.105.86\"\n\"September 22nd 2015, 02:19:26.965\",,\"7,217\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.220.227.11\"\n\"September 22nd 2015, 02:19:21.398\",,\"5,133\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.76.208.132\"\n\"September 22nd 2015, 02:19:19.693\",,\"5,684\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.121.116.124\"\n\"September 22nd 2015, 02:19:16.123\",,\"3,188\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.7.97.184\"\n\"September 22nd 2015, 02:18:44.039\",,\"8,482\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"197.88.56.99\"\n\"September 22nd 2015, 02:18:39.076\",,\"3,241\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.41.209.99\"\n\"September 22nd 2015, 02:18:32.655\",,\"6,814\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.74.96.103\"\n\"September 22nd 2015, 02:18:25.589\",,\"5,447\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.75.54.137\"\n\"September 22nd 2015, 02:16:26.787\",,\"1,679\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.227.195.13\"\n\"September 22nd 2015, 02:15:56.478\",,\"6,483\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.227.27.167\"\n\"September 22nd 2015, 02:15:50.274\",,\"6,756\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.58.47.229\"\n\"September 22nd 2015, 02:15:01.999\",,\"6,439\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"225.241.219.2\"\n\"September 22nd 2015, 02:14:40.818\",,\"2,424\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"136.210.127.128\"\n\"September 22nd 2015, 02:13:51.942\",,\"8,366\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"118.163.20.44\"\n\"September 22nd 2015, 02:13:21.089\",,\"4,621\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.79.142.15\"\n\"September 22nd 2015, 02:13:11.109\",,\"3,905\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.39.79.51\"\n\"September 22nd 2015, 02:13:04.428\",,\"4,412\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.13.115.149\"\n\"September 22nd 2015, 02:12:46.844\",,\"8,502\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"232.64.207.109\"\n\"September 22nd 2015, 02:12:45.574\",,\"5,662\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"59.202.132.136\"\n\"September 22nd 2015, 02:11:22.596\",,\"7,270\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"164.185.40.249\"\n\"September 22nd 2015, 02:11:19.270\",,\"9,361\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"148.134.9.77\"\n\"September 22nd 2015, 02:11:14.881\",,\"6,288\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.172.111.30\"\n\"September 22nd 2015, 02:11:02.191\",,\"1,982\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"154.55.57.32\"\n\"September 22nd 2015, 02:10:18.112\",,\"8,421\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.7.129.34\"\n\"September 22nd 2015, 02:09:54.850\",,\"3,636\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.55.80.52\"\n\"September 22nd 2015, 02:09:36.713\",,\"5,139\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"132.242.0.119\"\n\"September 22nd 2015, 02:09:30.746\",,\"6,059\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"158.179.121.61\"\n\"September 22nd 2015, 02:09:21.356\",,\"4,946\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"75.201.93.111\"\n\"September 22nd 2015, 02:08:51.584\",,\"7,770\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.96.96.191\"\n\"September 22nd 2015, 02:08:38.469\",,\"8,474\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.76.243.51\"\n\"September 22nd 2015, 02:07:50.239\",,\"8,760\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"154.55.57.32\"\n\"September 22nd 2015, 02:07:44.432\",,\"6,574\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"157.136.137.24\"\n\"September 22nd 2015, 02:07:34.518\",,\"4,272\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"254.75.96.91\"\n\"September 22nd 2015, 02:07:03.625\",,\"19,986\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"232.44.243.247\"\n\"September 22nd 2015, 02:05:35.600\",,\"5,319\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"159.230.143.48\"\n\"September 22nd 2015, 02:05:30.892\",,\"3,536\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"113.43.75.122\"\n\"September 22nd 2015, 02:04:07.296\",,\"9,655\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.174.21.181\"\n\"September 22nd 2015, 02:03:46.356\",,\"9,618\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.222.56.247\"\n\"September 22nd 2015, 02:01:57.161\",,\"19,600\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"70.101.68.233\"\n\"September 22nd 2015, 02:01:00.712\",,\"4,147\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"148.47.216.255\"\n\"September 22nd 2015, 02:00:53.554\",,\"4,448\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"76.159.165.88\"\n\"September 22nd 2015, 02:00:52.558\",,\"1,874\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.58.247.117\"\n\"September 22nd 2015, 01:59:08.086\",,\"7,488\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"121.34.210.235\"\n\"September 22nd 2015, 01:58:14.491\",,\"9,446\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"12.196.199.120\"\n\"September 22nd 2015, 01:57:47.978\",,\"4,631\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.115.184.133\"\n\"September 22nd 2015, 01:57:34.480\",,\"1,760\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.68.234.67\"\n\"September 22nd 2015, 01:56:47.559\",,\"8,278\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.105.196.209\"\n\"September 22nd 2015, 01:56:09.379\",,\"5,886\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"1.59.159.138\"\n\"September 22nd 2015, 01:55:55.933\",,\"4,853\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"234.206.115.94\"\n\"September 22nd 2015, 01:55:50.962\",,\"8,859\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.41.209.99\"\n\"September 22nd 2015, 01:55:31.719\",,\"5,776\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.22.228.100\"\n\"September 22nd 2015, 01:55:14.487\",,\"6,802\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"118.200.30.34\"\n\"September 22nd 2015, 01:54:31.474\",,\"4,274\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"77.227.154.93\"\n\"September 22nd 2015, 01:53:49.608\",,\"9,148\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.191.52.177\"\n\"September 22nd 2015, 01:52:49.142\",,\"4,979\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.105.196.209\"\n\"September 22nd 2015, 01:52:45.110\",,\"9,954\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.210.116.210\"\n\"September 22nd 2015, 01:52:10.128\",,\"1,908\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"247.174.57.245\"\n\"September 22nd 2015, 01:51:00.110\",,\"5,586\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"31.245.21.115\"\n\"September 22nd 2015, 01:50:54.344\",,\"7,826\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.7.164.59\"\n\"September 22nd 2015, 01:50:31.815\",,\"6,423\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"35.88.165.183\"\n\"September 22nd 2015, 01:49:44.161\",,\"5,762\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"116.171.234.62\"\n\"September 22nd 2015, 01:49:27.087\",,\"6,330\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.126.159.144\"\n\"September 22nd 2015, 01:49:22.398\",,\"5,969\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.105.165.220\"\n\"September 22nd 2015, 01:48:03.162\",,\"5,608\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"129.24.204.40\"\n\"September 22nd 2015, 01:47:12.640\",,\"6,687\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.126.43.84\"\n\"September 22nd 2015, 01:47:03.403\",,\"4,271\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.113.253.141\"\n\"September 22nd 2015, 01:46:54.668\",,\"3,760\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.174.21.181\"\n\"September 22nd 2015, 01:46:49.914\",,\"1,568\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"173.233.118.214\"\n\"September 22nd 2015, 01:46:43.812\",,\"5,028\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"2.7.11.95\"\n\"September 22nd 2015, 01:46:35.003\",,\"3,940\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.68.234.67\"\n\"September 22nd 2015, 01:46:16.272\",,\"6,135\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.39.144.87\"\n\"September 22nd 2015, 01:45:55.964\",,\"6,369\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.181.166.105\"\n\"September 22nd 2015, 01:45:41.654\",,\"6,935\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"102.191.15.62\"\n\"September 22nd 2015, 01:45:10.907\",,\"5,187\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"222.224.95.15\"\n\"September 22nd 2015, 01:45:01.090\",,\"9,838\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.159.75.84\"\n\"September 22nd 2015, 01:44:47.054\",,\"4,762\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"30.149.85.183\"\n\"September 22nd 2015, 01:43:51.742\",,\"4,427\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"77.227.154.93\"\n\"September 22nd 2015, 01:40:40.692\",,\"2,658\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.200.84.215\"\n\"September 22nd 2015, 01:40:30.080\",,\"7,125\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"76.215.43.26\"\n\"September 22nd 2015, 01:40:06.437\",,\"9,921\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"174.151.255.82\"\n\"September 22nd 2015, 01:39:41.726\",,\"7,122\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.177.132.244\"\n\"September 22nd 2015, 01:38:45.616\",,\"6,784\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.89.73.11\"\n\"September 22nd 2015, 01:37:58.965\",,\"6,238\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.144.75.220\"\n\"September 22nd 2015, 01:37:03.684\",,\"4,633\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.110.56.1\"\n\"September 22nd 2015, 01:35:01.370\",,\"3,912\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"24.78.153.162\"\n\"September 22nd 2015, 01:34:35.592\",,\"2,335\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"10.192.39.62\"\n\"September 22nd 2015, 01:33:33.928\",,\"9,184\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.240.114.69\"\n\"September 22nd 2015, 01:33:29.161\",,\"9,498\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.254.96.42\"\n\"September 22nd 2015, 01:33:24.723\",,\"7,205\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.63.84.25\"\n\"September 22nd 2015, 01:33:14.920\",,\"5,846\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.121.116.124\"\n\"September 22nd 2015, 01:33:11.901\",,\"7,827\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"127.63.221.223\"\n\"September 22nd 2015, 01:32:41.610\",,\"8,549\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"161.108.174.248\"\n\"September 22nd 2015, 01:32:33.219\",,\"9,557\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.50.219.103\"\n\"September 22nd 2015, 01:32:08.227\",,\"5,662\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.72.217.98\"\n\"September 22nd 2015, 01:32:04.900\",,\"2,931\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.80.35.243\"\n\"September 22nd 2015, 01:31:06.449\",,\"1,968\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"147.244.160.168\"\n\"September 22nd 2015, 01:30:34.117\",,\"2,214\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"12.255.88.79\"\n\"September 22nd 2015, 01:30:32.989\",,\"8,435\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"6.183.121.70\"\n\"September 22nd 2015, 01:30:07.967\",,\"5,220\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.105.165.220\"\n\"September 22nd 2015, 01:28:30.447\",,\"7,016\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"148.134.9.77\"\n\"September 22nd 2015, 01:28:23.981\",,\"4,176\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.242.153.99\"\n\"September 22nd 2015, 01:28:00.543\",,\"8,499\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.151.244.234\"\n\"September 22nd 2015, 01:25:49.122\",,\"15,243\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"105.47.117.171\"\n\"September 22nd 2015, 01:25:36.147\",,\"9,835\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.151.155.50\"\n\"September 22nd 2015, 01:23:55.623\",,\"8,318\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.173.30.33\"\n\"September 22nd 2015, 01:20:29.978\",,\"3,522\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.87.85.59\"\n\"September 22nd 2015, 01:18:12.879\",,\"1,639\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"217.44.155.137\"\n\"September 22nd 2015, 01:18:03.176\",,\"17,170\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"197.49.80.127\"\n\"September 22nd 2015, 01:17:20.988\",,\"7,841\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"66.133.180.245\"\n\"September 22nd 2015, 01:17:02.672\",,\"9,524\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.115.77.46\"\n\"September 22nd 2015, 01:16:24.080\",,\"7,268\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.109.145.217\"\n\"September 22nd 2015, 01:16:03.114\",,\"2,018\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"217.132.169.207\"\n\"September 22nd 2015, 01:15:49.207\",,\"3,352\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.2.62.18\"\n\"September 22nd 2015, 01:15:29.119\",,\"7,108\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"105.47.117.171\"\n\"September 22nd 2015, 01:15:05.149\",,\"9,239\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"16.148.135.166\"\n\"September 22nd 2015, 01:13:47.436\",,\"5,181\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.53.110.116\"\n\"September 22nd 2015, 01:12:47.892\",,\"2,333\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.106.160.216\"\n\"September 22nd 2015, 01:11:03.874\",,\"1,640\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"10.91.83.148\"\n\"September 22nd 2015, 01:10:22.867\",,\"9,039\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.85.86.52\"\n\"September 22nd 2015, 01:09:54.689\",,\"1,316\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.111.249.239\"\n\"September 22nd 2015, 01:08:33.992\",,\"1,931\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"24.202.52.232\"\n\"September 22nd 2015, 01:08:06.926\",,\"9,123\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"165.104.70.8\"\n\"September 22nd 2015, 01:05:50.195\",,\"3,185\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"100.50.11.41\"\n\"September 22nd 2015, 01:05:35.308\",,\"9,497\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"147.195.26.33\"\n\"September 22nd 2015, 01:04:10.106\",,\"7,141\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.255.46.138\"\n\"September 22nd 2015, 01:02:04.400\",,\"5,162\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.213.126.12\"\n\"September 22nd 2015, 01:01:18.908\",,\"2,515\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.0.214.93\"\n\"September 22nd 2015, 01:00:55.696\",,\"3,478\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"6.183.121.70\"\n\"September 22nd 2015, 00:59:14.707\",,\"7,581\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"171.253.80.52\"\n\"September 22nd 2015, 00:59:02.814\",,\"8,458\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"242.26.103.238\"\n\"September 22nd 2015, 00:58:17.144\",,\"6,371\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.68.89.92\"\n\"September 22nd 2015, 00:54:39.009\",,\"2,022\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"128.108.188.178\"\n\"September 22nd 2015, 00:54:25.322\",,\"3,108\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.192.52.3\"\n\"September 22nd 2015, 00:35:38.484\",,\"1,509\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"131.98.185.144\"\n\"September 22nd 2015, 00:34:24.593\",,\"6,827\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"92.96.51.231\"\n\"September 22nd 2015, 00:33:51.828\",,\"9,838\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"28.3.30.170\"\n\"September 22nd 2015, 00:29:25.719\",,\"7,643\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"180.65.205.98\"\n\"September 22nd 2015, 00:29:03.981\",,\"1,536\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.24.204.40\"\n\"September 22nd 2015, 00:27:56.692\",,\"11,923\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.183.28.41\"\n\"September 22nd 2015, 00:27:42.289\",,\"1,699\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"196.131.253.111\"\n\"September 22nd 2015, 00:26:32.098\",,\"10,860\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"244.172.153.74\"\n\"September 22nd 2015, 00:23:48.573\",,\"4,546\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.98.69.166\"\n\"September 22nd 2015, 00:20:56.218\",,\"6,165\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.35.159.150\"\n\"September 22nd 2015, 00:20:28.511\",,\"9,587\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.188.44.145\"\n\"September 22nd 2015, 00:19:40.843\",,\"6,631\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.79.158.95\"\n\"September 22nd 2015, 00:19:13.837\",,\"6,924\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.156.52.180\"\n\"September 22nd 2015, 00:17:59.949\",,\"4,810\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"196.97.127.109\"\n\"September 22nd 2015, 00:17:53.104\",,\"6,167\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.185.234.193\"\n\"September 22nd 2015, 00:15:59.918\",,\"6,151\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"155.155.226.58\"\n\"September 22nd 2015, 00:15:11.490\",,\"9,743\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.203.229.229\"\n\"September 22nd 2015, 00:14:41.769\",,\"1,593\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"50.202.67.216\"\n\"September 22nd 2015, 00:13:42.801\",,\"6,504\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"6.183.121.70\"\n\"September 22nd 2015, 00:13:09.906\",,\"7,865\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.135.88.86\"\n\"September 22nd 2015, 00:12:37.538\",,\"7,691\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.225.104.159\"\n\"September 22nd 2015, 00:11:31.885\",,\"9,521\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"8.248.237.182\"\n\"September 22nd 2015, 00:07:52.167\",,\"9,173\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.225.141.240\"\n\"September 22nd 2015, 00:05:58.054\",,\"6,469\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"248.239.221.43\"\n\"September 22nd 2015, 00:02:29.212\",,\"6,122\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.57.170.220\"\n\"September 22nd 2015, 00:01:56.273\",,\"5,419\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.129.217.122\"\n\"September 22nd 2015, 00:01:30.387\",,\"8,123\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"96.222.137.213\"\n\"September 21st 2015, 23:52:36.364\",,\"4,276\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.237.11.219\"\n\"September 21st 2015, 23:49:02.007\",,\"8,543\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.45.70.116\"\n\"September 21st 2015, 23:46:10.418\",,\"3,094\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"121.34.210.235\"\n\"September 21st 2015, 23:43:49.686\",,\"4,162\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.55.141.62\"\n\"September 21st 2015, 23:43:00.131\",,\"6,064\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.37.253.193\"\n\"September 21st 2015, 23:42:30.933\",,\"7,263\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"68.189.205.188\"\n\"September 21st 2015, 23:41:53.565\",,\"8,906\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.121.197.80\"\n\"September 21st 2015, 23:41:45.222\",,\"5,806\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"148.47.216.255\"\n\"September 21st 2015, 23:41:27.926\",,\"1,814\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"121.34.210.235\"\n\"September 21st 2015, 23:41:25.439\",,\"6,884\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.209.234.93\"\n\"September 21st 2015, 23:40:49.183\",,\"5,912\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"204.17.159.23\"\n\"September 21st 2015, 23:36:44.927\",,\"3,589\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.122.121.230\"\n\"September 21st 2015, 23:35:00.748\",,\"1,545\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.169.195.137\"\n\"September 21st 2015, 23:31:21.076\",,\"3,331\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.245.188.46\"\n\"September 21st 2015, 23:29:09.221\",,\"8,294\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"37.59.172.226\"\n\"September 21st 2015, 23:28:32.625\",,\"3,998\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"242.22.22.10\"\n\"September 21st 2015, 23:27:44.433\",,\"4,461\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.192.185.168\"\n\"September 21st 2015, 23:26:09.514\",,\"6,010\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"86.21.236.176\"\n\"September 21st 2015, 23:25:19.196\",,\"7,972\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.50.129.53\"\n\"September 21st 2015, 23:22:33.052\",,\"1,843\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.43.210.167\"\n\"September 21st 2015, 23:19:34.517\",,\"9,521\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"128.108.188.178\"\n\"September 21st 2015, 23:18:06.543\",,\"11,949\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.6.126.193\"\n\"September 21st 2015, 23:17:52.894\",,\"8,254\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.22.226.5\"\n\"September 21st 2015, 23:12:16.926\",,\"6,414\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.62.159.102\"\n\"September 21st 2015, 23:06:13.918\",,\"6,438\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"188.53.50.20\"\n\"September 21st 2015, 23:04:59.517\",,\"3,727\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"31.245.21.115\"\n\"September 21st 2015, 23:04:03.767\",,\"4,590\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.237.148.2\"\n\"September 21st 2015, 23:03:22.877\",,\"2,863\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"49.209.234.93\"\n\"September 21st 2015, 23:00:56.499\",,\"6,677\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"31.196.214.182\"\n\"September 21st 2015, 22:59:59.129\",,\"7,437\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.57.7.61\"\n\"September 21st 2015, 22:54:32.981\",,\"9,224\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"223.237.148.2\"\n\"September 21st 2015, 22:53:30.658\",,\"2,744\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.12.132.188\"\n\"September 21st 2015, 22:51:22.635\",,\"6,759\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.210.111.14\"\n\"September 21st 2015, 22:51:21.572\",,\"9,924\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"143.81.107.227\"\n\"September 21st 2015, 22:46:49.514\",,\"9,092\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"116.126.47.226\"\n\"September 21st 2015, 22:45:14.424\",,\"2,491\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.200.30.34\"\n\"September 21st 2015, 22:40:37.357\",,\"2,368\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.112.81.106\"\n\"September 21st 2015, 22:37:23.464\",,\"12,115\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.143.209.115\"\n\"September 21st 2015, 22:32:59.290\",,\"2,958\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"30.126.88.114\"\n\"September 21st 2015, 22:24:35.441\",,\"9,419\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.106.29.25\"\n\"September 21st 2015, 22:13:12.984\",,\"3,340\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"159.137.252.66\"\n\"September 21st 2015, 22:13:01.030\",,\"3,815\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.100.60.111\"\n\"September 21st 2015, 22:11:40.389\",,\"19,950\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.252.219.9\"\n\"September 21st 2015, 22:08:34.102\",,\"8,747\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"67.238.57.221\"\n\"September 21st 2015, 22:01:43.036\",,\"8,423\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.155.247.152\"\n\"September 21st 2015, 21:59:07.417\",,\"5,531\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.130.100.179\"\n\"September 21st 2015, 21:47:17.223\",,\"6,631\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.125.131.162\"\n\"September 21st 2015, 21:43:58.865\",,\"3,476\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.151.244.234\"\n\"September 21st 2015, 21:28:23.096\",,\"8,386\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"182.57.70.84\"\n\"September 21st 2015, 21:22:37.742\",,\"7,021\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.96.131.243\"\n\"September 21st 2015, 21:08:44.965\",,\"5,416\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"203.206.8.45\"\n\"September 21st 2015, 21:02:38.657\",,\"1,965\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.183.28.41\"\n\"September 21st 2015, 20:51:30.049\",,\"8,809\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.225.101.206\"\n\"September 21st 2015, 20:43:48.779\",,\"4,396\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.133.22.163\"\n\"September 21st 2015, 20:34:59.895\",,\"8,418\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.114.204.184\"\n\"September 21st 2015, 20:26:38.450\",,\"4,972\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.86.132.152\"\n\"September 21st 2015, 20:00:00.000\",,\"6,573\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.79.158.95\"\n\"September 21st 2015, 20:00:00.000\",,\"7,619\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"11.195.163.57\"\n\"September 21st 2015, 20:00:00.000\",,\"1,543\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"48.242.153.99\"\n\"September 21st 2015, 20:00:00.000\",,\"7,872\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.143.125.181\"\n\"September 21st 2015, 19:29:14.316\",,\"1,770\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.203.229.1\"\n\"September 21st 2015, 19:05:26.693\",,\"5,077\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"255.56.89.50\"\n\"September 21st 2015, 18:51:25.963\",,\"1,572\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"113.35.23.20\"\n\"September 21st 2015, 18:46:31.021\",,\"8,125\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"42.72.83.65\"\n\"September 21st 2015, 18:29:45.428\",,\"2,475\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"70.101.68.233\"\n\"September 21st 2015, 18:29:42.706\",,\"6,293\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.156.46.205\"\n\"September 21st 2015, 18:29:34.731\",,\"6,699\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"233.133.22.163\"\n\"September 21st 2015, 18:24:01.438\",,\"5,640\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.151.97.227\"\n\"September 21st 2015, 18:10:14.995\",,\"9,320\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.83.17.193\"\n\"September 21st 2015, 18:08:47.965\",,\"8,466\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"101.130.216.47\"\n\"September 21st 2015, 18:03:32.078\",,\"1,968\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"86.168.21.69\"\n\"September 21st 2015, 18:03:08.250\",,\"4,011\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"207.218.166.105\"\n\"September 21st 2015, 17:56:12.180\",,\"6,813\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"38.29.122.137\"\n\"September 21st 2015, 17:51:22.909\",,\"4,174\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"7.9.151.133\"\n\"September 21st 2015, 17:47:22.453\",,\"3,124\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.111.249.239\"\n\"September 21st 2015, 17:36:36.003\",,\"6,093\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"202.22.74.232\"\n\"September 21st 2015, 17:34:19.288\",,\"8,830\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"177.194.175.66\"\n\"September 21st 2015, 17:34:07.805\",,\"7,646\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.253.222.16\"\n\"September 21st 2015, 17:33:29.462\",,\"2,737\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"52.49.164.228\"\n\"September 21st 2015, 17:14:35.490\",,\"4,188\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"244.112.251.87\"\n\"September 21st 2015, 17:13:02.070\",,\"6,176\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.252.112.76\"\n\"September 21st 2015, 17:08:21.441\",,\"14,956\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"231.192.80.162\"\n\"September 21st 2015, 17:07:46.678\",,\"3,431\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"164.185.40.249\"\n\"September 21st 2015, 17:03:24.265\",,\"9,193\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"1.17.21.12\"\n\"September 21st 2015, 17:02:08.496\",,\"2,600\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.74.96.103\"\n\"September 21st 2015, 16:58:03.301\",,\"1,762\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.6.99.158\"\n\"September 21st 2015, 16:56:35.199\",,\"7,934\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.219.233.187\"\n\"September 21st 2015, 16:49:29.278\",,\"8,557\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"139.104.238.37\"\n\"September 21st 2015, 16:48:28.217\",,\"4,444\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.97.87.54\"\n\"September 21st 2015, 16:45:13.102\",,\"7,949\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.199.42.50\"\n\"September 21st 2015, 16:44:13.777\",,\"5,183\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.244.83.137\"\n\"September 21st 2015, 16:43:39.821\",,\"3,154\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.74.144.217\"\n\"September 21st 2015, 16:40:51.674\",,\"3,815\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.94.183.177\"\n\"September 21st 2015, 16:37:57.801\",,\"7,419\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"166.25.218.240\"\n\"September 21st 2015, 16:34:41.604\",,\"9,487\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.198.132.23\"\n\"September 21st 2015, 16:33:25.830\",,\"8,739\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.27.63.249\"\n\"September 21st 2015, 16:32:12.553\",,\"2,805\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"22.58.158.234\"\n\"September 21st 2015, 16:31:46.982\",,\"3,039\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"218.186.41.141\"\n\"September 21st 2015, 16:30:55.769\",,\"6,773\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.115.221.35\"\n\"September 21st 2015, 16:30:54.726\",,\"1,774\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"248.239.221.43\"\n\"September 21st 2015, 16:30:22.754\",,\"9,474\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"183.139.112.201\"\n\"September 21st 2015, 16:29:11.626\",,\"9,635\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"210.210.88.232\"\n\"September 21st 2015, 16:29:06.168\",,\"6,272\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.241.34.0\"\n\"September 21st 2015, 16:27:46.211\",,\"6,341\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.123.178.135\"\n\"September 21st 2015, 16:26:27.732\",,\"8,552\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.3.10.81\"\n\"September 21st 2015, 16:25:49.993\",,\"3,228\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"115.225.12.164\"\n\"September 21st 2015, 16:20:11.024\",,\"6,045\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.117.173.67\"\n\"September 21st 2015, 16:15:37.279\",,\"2,946\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"122.95.5.139\"\n\"September 21st 2015, 16:15:33.165\",,\"9,038\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.207.64.202\"\n\"September 21st 2015, 16:10:11.392\",,\"3,522\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.128.210.67\"\n\"September 21st 2015, 16:09:19.509\",,\"6,838\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.101.221.163\"\n\"September 21st 2015, 16:04:41.643\",,\"8,726\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.85.86.52\"\n\"September 21st 2015, 15:59:34.644\",,\"9,897\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.3.10.81\"\n\"September 21st 2015, 15:58:53.772\",,\"5,389\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"177.194.175.66\"\n\"September 21st 2015, 15:58:51.926\",,\"9,261\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.228.246.126\"\n\"September 21st 2015, 15:58:39.265\",,\"4,696\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"124.187.220.168\"\n\"September 21st 2015, 15:57:07.522\",,\"4,796\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.16.207.3\"\n\"September 21st 2015, 15:56:59.655\",,\"9,911\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.60.53.165\"\n\"September 21st 2015, 15:55:27.882\",,\"8,612\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.192.144.100\"\n\"September 21st 2015, 15:54:20.923\",,\"7,387\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.195.26.33\"\n\"September 21st 2015, 15:53:13.187\",,\"17,683\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"227.43.145.144\"\n\"September 21st 2015, 15:53:05.582\",,\"5,894\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.15.162.241\"\n\"September 21st 2015, 15:52:07.529\",,\"7,806\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"134.36.203.241\"\n\"September 21st 2015, 15:46:30.810\",,\"5,152\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.120.60.102\"\n\"September 21st 2015, 15:46:03.581\",,\"9,045\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"142.17.191.204\"\n\"September 21st 2015, 15:45:41.676\",,\"6,888\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.155.42.103\"\n\"September 21st 2015, 15:45:29.304\",,\"9,563\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.201.212.220\"\n\"September 21st 2015, 15:43:06.056\",,\"9,999\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"91.10.173.138\"\n\"September 21st 2015, 15:40:31.715\",,\"2,337\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.185.234.193\"\n\"September 21st 2015, 15:39:49.895\",,\"3,273\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.211.243.56\"\n\"September 21st 2015, 15:36:29.878\",,\"6,784\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.139.58.171\"\n\"September 21st 2015, 15:35:48.451\",,\"7,417\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.95.6.196\"\n\"September 21st 2015, 15:34:06.177\",,\"6,320\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.108.3.2\"\n\"September 21st 2015, 15:34:05.992\",,\"4,902\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"69.82.3.150\"\n\"September 21st 2015, 15:32:22.502\",,\"2,047\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"65.135.134.42\"\n\"September 21st 2015, 15:30:49.006\",,\"7,267\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"202.22.74.232\"\n\"September 21st 2015, 15:29:57.949\",,\"7,296\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.217.241.90\"\n\"September 21st 2015, 15:29:08.667\",,\"19,917\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.117.73.210\"\n\"September 21st 2015, 15:28:59.203\",,\"7,024\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"86.193.157.89\"\n\"September 21st 2015, 15:28:44.693\",,\"5,841\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"218.248.177.77\"\n\"September 21st 2015, 15:28:43.145\",,\"6,693\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.86.105.212\"\n\"September 21st 2015, 15:28:00.448\",,\"14,797\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"142.58.25.99\"\n\"September 21st 2015, 15:27:28.852\",,\"3,849\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"3.200.198.147\"\n\"September 21st 2015, 15:26:32.924\",,\"2,727\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.35.159.150\"\n\"September 21st 2015, 15:25:38.172\",,\"1,677\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"232.144.75.220\"\n\"September 21st 2015, 15:24:47.778\",,\"9,216\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.98.200.29\"\n\"September 21st 2015, 15:24:47.720\",,\"9,863\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.64.147.41\"\n\"September 21st 2015, 15:24:40.784\",,\"5,729\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"225.241.219.2\"\n\"September 21st 2015, 15:24:34.905\",,\"4,903\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.74.144.217\"\n\"September 21st 2015, 15:05:52.190\",,\"5,198\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.58.145.175\"\n\"September 21st 2015, 15:03:03.172\",,\"2,585\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"197.88.56.99\"\n\"September 21st 2015, 15:02:16.947\",,\"9,062\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.79.108.136\"\n\"September 21st 2015, 15:01:29.969\",,\"4,458\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"144.135.123.19\"\n\"September 21st 2015, 15:01:12.578\",,\"19,579\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.94.120.10\"\n\"September 21st 2015, 14:58:02.065\",,\"1,666\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.122.217.55\"\n\"September 21st 2015, 14:56:59.868\",,\"8,807\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.250.210.253\"\n\"September 21st 2015, 14:55:42.836\",,\"3,053\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.125.131.162\"\n\"September 21st 2015, 14:55:11.425\",,\"9,945\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.53.110.116\"\n\"September 21st 2015, 14:55:07.075\",,\"5,700\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.85.77.216\"\n\"September 21st 2015, 14:54:18.145\",,\"4,813\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.151.244.234\"\n\"September 21st 2015, 14:53:41.798\",,\"7,336\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"109.25.18.216\"\n\"September 21st 2015, 14:52:55.146\",,\"2,875\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"195.76.3.10\"\n\"September 21st 2015, 14:51:35.027\",,\"3,118\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.169.199.220\"\n\"September 21st 2015, 14:51:07.669\",,\"1,608\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.167.54.119\"\n\"September 21st 2015, 14:51:00.051\",,\"2,756\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.151.255.82\"\n\"September 21st 2015, 14:50:06.112\",,\"8,404\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.92.50.149\"\n\"September 21st 2015, 14:49:50.260\",,\"2,611\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.38.2.66\"\n\"September 21st 2015, 14:49:25.761\",,\"5,704\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.49.130.46\"\n\"September 21st 2015, 14:48:10.482\",,\"3,334\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.202.198.155\"\n\"September 21st 2015, 14:47:51.294\",,\"7,676\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.58.47.229\"\n\"September 21st 2015, 14:47:33.250\",,\"2,171\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.197.178.155\"\n\"September 21st 2015, 14:46:54.915\",,\"6,579\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"68.50.129.53\"\n\"September 21st 2015, 14:46:05.761\",,\"5,530\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"203.118.132.112\"\n\"September 21st 2015, 14:45:47.524\",,\"9,563\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.126.159.144\"\n\"September 21st 2015, 14:45:37.201\",,\"4,631\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"181.135.248.113\"\n\"September 21st 2015, 14:45:23.438\",,\"2,458\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"153.203.1.94\"\n\"September 21st 2015, 14:45:22.669\",,\"8,921\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.237.108.147\"\n\"September 21st 2015, 14:44:46.541\",,\"6,616\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.200.84.215\"\n\"September 21st 2015, 14:44:24.890\",,\"7,365\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.68.234.67\"\n\"September 21st 2015, 14:43:02.347\",,\"3,155\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.227.27.167\"\n\"September 21st 2015, 14:42:42.791\",,\"5,457\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.40.73.208\"\n\"September 21st 2015, 14:42:38.308\",,\"3,226\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"161.35.49.227\"\n\"September 21st 2015, 14:40:18.872\",,\"8,037\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.230.105.32\"\n\"September 21st 2015, 14:39:54.345\",,\"15,741\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.43.124.118\"\n\"September 21st 2015, 14:39:12.986\",,\"7,153\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.86.132.152\"\n\"September 21st 2015, 14:38:46.438\",,\"6,729\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.251.72.171\"\n\"September 21st 2015, 14:38:31.865\",,\"8,538\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"56.7.132.13\"\n\"September 21st 2015, 14:38:28.950\",,\"2,462\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"184.125.153.221\"\n\"September 21st 2015, 14:38:18.343\",,\"2,019\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"241.45.143.98\"\n\"September 21st 2015, 14:37:47.646\",,\"7,288\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.156.163.220\"\n\"September 21st 2015, 14:37:38.438\",,\"3,840\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.190.101.72\"\n\"September 21st 2015, 14:36:43.470\",,\"3,787\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.122.34.237\"\n\"September 21st 2015, 14:36:02.095\",,\"4,969\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.154.246.27\"\n\"September 21st 2015, 14:33:04.277\",,\"5,172\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"6.183.121.70\"\n\"September 21st 2015, 14:33:01.020\",,\"6,913\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.90.215.57\"\n\"September 21st 2015, 14:31:55.502\",,\"7,331\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"115.225.12.164\"\n\"September 21st 2015, 14:31:40.521\",,\"6,230\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.76.224.154\"\n\"September 21st 2015, 14:30:15.885\",,\"5,351\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.56.56.106\"\n\"September 21st 2015, 14:29:44.987\",,\"5,393\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.2.26.42\"\n\"September 21st 2015, 14:29:44.816\",,\"9,739\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.38.139.107\"\n\"September 21st 2015, 14:28:43.060\",,\"9,543\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.203.1.94\"\n\"September 21st 2015, 14:27:53.191\",,\"8,760\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.154.246.27\"\n\"September 21st 2015, 14:27:25.172\",,\"9,360\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"109.25.18.216\"\n\"September 21st 2015, 14:26:57.952\",,\"7,225\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.122.34.237\"\n\"September 21st 2015, 14:25:52.395\",,\"7,680\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.105.196.209\"\n\"September 21st 2015, 14:25:11.183\",,\"6,871\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"70.101.68.233\"\n\"September 21st 2015, 14:25:02.782\",,\"8,332\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"161.35.49.227\"\n\"September 21st 2015, 14:24:44.905\",,\"1,870\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"127.63.221.223\"\n\"September 21st 2015, 14:24:41.035\",,\"6,173\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"87.54.48.33\"\n\"September 21st 2015, 14:24:26.832\",,\"4,955\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.33.83.170\"\n\"September 21st 2015, 14:23:20.704\",,\"9,066\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"231.169.195.137\"\n\"September 21st 2015, 14:22:13.163\",,\"2,543\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"247.174.57.245\"\n\"September 21st 2015, 14:20:44.963\",,\"4,873\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.144.90.74\"\n\"September 21st 2015, 14:20:42.139\",,\"9,025\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"250.75.97.203\"\n\"September 21st 2015, 14:20:26.154\",,\"9,802\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.35.159.150\"\n\"September 21st 2015, 14:19:36.737\",,\"3,076\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.102.200.168\"\n\"September 21st 2015, 14:18:39.789\",,\"7,644\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.188.250.196\"\n\"September 21st 2015, 14:18:38.809\",,\"3,020\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.202.168.250\"\n\"September 21st 2015, 14:18:37.750\",,\"6,653\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"167.165.89.8\"\n\"September 21st 2015, 14:18:16.475\",,\"3,615\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"175.211.243.56\"\n\"September 21st 2015, 14:17:44.800\",,\"3,180\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.87.49.40\"\n\"September 21st 2015, 14:15:50.383\",,\"2,629\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.246.143.109\"\n\"September 21st 2015, 14:15:40.196\",,\"2,469\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"233.57.13.23\"\n\"September 21st 2015, 14:15:07.537\",,\"4,119\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.59.37.77\"\n\"September 21st 2015, 14:14:59.210\",,\"9,249\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.185.146.124\"\n\"September 21st 2015, 14:14:45.867\",,\"2,231\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"47.106.79.211\"\n\"September 21st 2015, 14:13:26.802\",,\"1,713\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.218.31.116\"\n\"September 21st 2015, 14:13:24.234\",,\"1,819\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"247.189.13.239\"\n\"September 21st 2015, 14:12:40.168\",,\"19,659\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.105.235.122\"\n\"September 21st 2015, 14:12:37.633\",,\"6,972\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.213.56.203\"\n\"September 21st 2015, 14:12:04.794\",,\"5,940\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.13.113.3\"\n\"September 21st 2015, 14:11:06.094\",,\"17,808\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"7.176.253.57\"\n\"September 21st 2015, 14:10:45.284\",,\"9,174\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.13.113.3\"\n\"September 21st 2015, 14:09:45.463\",,\"7,097\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.111.6.101\"\n\"September 21st 2015, 14:08:42.972\",,\"6,055\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"198.21.77.227\"\n\"September 21st 2015, 14:08:17.360\",,\"1,908\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"204.58.247.117\"\n\"September 21st 2015, 14:07:19.567\",,\"5,442\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"134.168.180.6\"\n\"September 21st 2015, 14:07:16.751\",,\"7,590\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.84.111.185\"\n\"September 21st 2015, 14:04:41.655\",,\"9,042\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.185.158.249\"\n\"September 21st 2015, 14:04:40.777\",,\"2,894\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.105.235.122\"\n\"September 21st 2015, 14:03:24.708\",,\"7,150\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.7.132.13\"\n\"September 21st 2015, 14:03:22.433\",,\"5,703\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"134.62.86.139\"\n\"September 21st 2015, 14:03:06.865\",,\"7,057\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.30.157.224\"\n\"September 21st 2015, 14:00:11.904\",,\"7,389\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"163.123.136.118\"\n\"September 21st 2015, 13:59:50.042\",,\"6,841\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"218.186.41.141\"\n\"September 21st 2015, 13:59:30.943\",,\"8,450\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.66.60.152\"\n\"September 21st 2015, 13:59:02.009\",,\"8,743\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.244.231.5\"\n\"September 21st 2015, 13:58:16.923\",,\"6,427\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.253.222.16\"\n\"September 21st 2015, 13:58:14.140\",,\"2,594\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.218.253.140\"\n\"September 21st 2015, 13:58:13.331\",,\"6,684\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"222.201.119.239\"\n\"September 21st 2015, 13:57:35.320\",,\"7,794\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"22.87.85.59\"\n\"September 21st 2015, 13:57:24.812\",,\"2,631\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.59.37.77\"\n\"September 21st 2015, 13:57:15.007\",,\"9,275\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"102.191.15.62\"\n\"September 21st 2015, 13:57:13.053\",,\"9,931\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.197.178.155\"\n\"September 21st 2015, 13:56:29.966\",,\"8,561\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.117.3.60\"\n\"September 21st 2015, 13:56:24.287\",,\"4,844\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"11.195.163.57\"\n\"September 21st 2015, 13:56:20.601\",,\"6,315\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.214.104.239\"\n\"September 21st 2015, 13:55:57.321\",,\"6,583\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.97.64.146\"\n\"September 21st 2015, 13:55:32.881\",,\"3,643\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"165.150.252.187\"\n\"September 21st 2015, 13:55:19.227\",,\"1,758\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"227.43.145.144\"\n\"September 21st 2015, 13:54:26.240\",,\"17,088\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.228.214.218\"\n\"September 21st 2015, 13:54:16.544\",,\"6,940\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"180.79.142.15\"\n\"September 21st 2015, 13:54:12.030\",,\"9,399\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.98.200.29\"\n\"September 21st 2015, 13:53:22.135\",,\"5,312\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"120.99.203.64\"\n\"September 21st 2015, 13:52:56.321\",,\"2,501\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"85.79.151.78\"\n\"September 21st 2015, 13:52:30.693\",,\"5,340\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.123.33.106\"\n\"September 21st 2015, 13:52:14.193\",,\"9,970\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.228.246.126\"\n\"September 21st 2015, 13:51:49.135\",,\"4,366\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.110.56.1\"\n\"September 21st 2015, 13:50:51.221\",,\"6,365\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.143.20.221\"\n\"September 21st 2015, 13:50:37.771\",,\"3,143\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.13.115.149\"\n\"September 21st 2015, 13:49:57.640\",,\"6,171\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.227.27.167\"\n\"September 21st 2015, 13:49:51.475\",,\"5,002\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.243.109.222\"\n\"September 21st 2015, 13:49:25.132\",,\"4,590\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"157.56.54.126\"\n\"September 21st 2015, 13:49:16.736\",,\"4,666\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.105.165.220\"\n\"September 21st 2015, 13:49:05.885\",,\"6,110\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.233.238.181\"\n\"September 21st 2015, 13:47:35.242\",,\"5,950\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.80.208.225\"\n\"September 21st 2015, 13:47:10.764\",,\"6,720\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"43.164.236.145\"\n\"September 21st 2015, 13:46:17.032\",,\"6,090\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.183.28.41\"\n\"September 21st 2015, 13:46:13.845\",,\"1,855\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.53.251.53\"\n\"September 21st 2015, 13:45:46.741\",,\"5,962\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.133.180.245\"\n\"September 21st 2015, 13:45:12.114\",,\"9,629\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.205.146.206\"\n\"September 21st 2015, 13:44:30.705\",,\"10,453\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"219.32.94.10\"\n\"September 21st 2015, 13:42:47.225\",,\"8,524\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.42.189.244\"\n\"September 21st 2015, 13:42:11.225\",,\"3,978\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.127.124.65\"\n\"September 21st 2015, 13:42:03.701\",,\"4,285\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"117.102.170.167\"\n\"September 21st 2015, 13:41:53.507\",,\"6,063\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"149.84.78.58\"\n\"September 21st 2015, 13:40:42.569\",,\"8,283\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.227.27.167\"\n\"September 21st 2015, 13:40:21.212\",,\"3,299\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"134.47.243.34\"\n\"September 21st 2015, 13:39:42.922\",,\"6,204\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.237.64.228\"\n\"September 21st 2015, 13:39:33.360\",,\"1,803\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"217.44.155.137\"\n\"September 21st 2015, 13:39:28.518\",,\"9,370\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"184.125.153.221\"\n\"September 21st 2015, 13:38:52.185\",,\"2,483\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"196.97.127.109\"\n\"September 21st 2015, 13:38:29.229\",,\"5,592\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"100.99.207.174\"\n\"September 21st 2015, 13:38:05.818\",,\"8,625\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.137.53.85\"\n\"September 21st 2015, 13:38:01.084\",,\"3,113\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"63.142.94.147\"\n\"September 21st 2015, 13:37:44.777\",,\"8,263\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.138.21.252\"\n\"September 21st 2015, 13:36:51.061\",,\"7,747\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.5.167.41\"\n\"September 21st 2015, 13:36:42.344\",,\"7,894\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"12.200.161.41\"\n\"September 21st 2015, 13:35:58.520\",,\"7,533\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.143.189.70\"\n\"September 21st 2015, 13:35:58.288\",,\"8,974\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.249.93.77\"\n\"September 21st 2015, 13:34:59.582\",,\"8,802\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.141.35.68\"\n\"September 21st 2015, 13:34:40.834\",,\"8,480\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.227.125.229\"\n\"September 21st 2015, 13:33:58.166\",,\"6,286\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.188.213.247\"\n\"September 21st 2015, 13:33:54.856\",,\"6,380\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"158.179.121.61\"\n\"September 21st 2015, 13:32:23.795\",,\"1,784\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.75.54.137\"\n\"September 21st 2015, 13:32:07.406\",,\"3,881\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.249.43.5\"\n\"September 21st 2015, 13:32:05.393\",,\"6,577\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.17.159.23\"\n\"September 21st 2015, 13:31:54.397\",,\"5,011\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.183.234.114\"\n\"September 21st 2015, 13:30:23.018\",,\"5,447\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.87.234.213\"\n\"September 21st 2015, 13:30:15.700\",,\"6,616\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.171.34.42\"\n\"September 21st 2015, 13:29:40.079\",,\"11,851\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.197.178.155\"\n\"September 21st 2015, 13:29:24.031\",,\"2,952\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"109.192.212.178\"\n\"September 21st 2015, 13:29:06.281\",,\"4,544\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.186.152.28\"\n\"September 21st 2015, 13:28:42.964\",,\"2,183\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"247.129.16.191\"\n\"September 21st 2015, 13:28:40.515\",,\"5,187\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.237.108.147\"\n\"September 21st 2015, 13:28:21.672\",,\"8,012\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.34.86.255\"\n\"September 21st 2015, 13:28:11.364\",,\"6,946\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.36.151.195\"\n\"September 21st 2015, 13:28:01.204\",,\"8,519\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"166.25.218.240\"\n\"September 21st 2015, 13:27:29.866\",,\"5,607\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.55.141.62\"\n\"September 21st 2015, 13:27:25.462\",,\"4,440\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"74.214.76.90\"\n\"September 21st 2015, 13:27:24.900\",,\"4,444\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.152.141.244\"\n\"September 21st 2015, 13:26:50.246\",,\"3,632\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"23.3.174.206\"\n\"September 21st 2015, 13:25:55.787\",,\"9,750\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"49.244.150.190\"\n\"September 21st 2015, 13:25:31.870\",,\"5,332\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.97.87.54\"\n\"September 21st 2015, 13:25:25.689\",,\"7,815\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"183.128.223.209\"\n\"September 21st 2015, 13:25:09.987\",,\"3,344\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"188.225.40.190\"\n\"September 21st 2015, 13:25:00.927\",,\"5,298\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"248.163.75.193\"\n\"September 21st 2015, 13:24:29.856\",,\"13,982\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.108.62.100\"\n\"September 21st 2015, 13:22:42.882\",,\"12,563\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"68.41.209.99\"\n\"September 21st 2015, 13:22:35.713\",,\"5,801\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"94.154.194.208\"\n\"September 21st 2015, 13:21:10.199\",,\"3,534\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.42.218.145\"\n\"September 21st 2015, 13:20:52.167\",,\"6,014\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.7.129.34\"\n\"September 21st 2015, 13:20:26.524\",,\"8,165\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.49.130.46\"\n\"September 21st 2015, 13:20:14.751\",,\"2,222\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"233.133.22.163\"\n\"September 21st 2015, 13:20:05.469\",,\"7,504\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"144.135.123.19\"\n\"September 21st 2015, 13:19:14.745\",,\"7,872\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.216.173.242\"\n\"September 21st 2015, 13:19:00.797\",,\"6,511\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.47.79.172\"\n\"September 21st 2015, 13:18:59.587\",,\"6,014\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.103.135.183\"\n\"September 21st 2015, 13:18:19.630\",,\"9,271\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.242.201.206\"\n\"September 21st 2015, 13:17:49.677\",,\"7,768\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"251.84.111.185\"\n\"September 21st 2015, 13:17:47.280\",,\"7,354\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"45.138.192.138\"\n\"September 21st 2015, 13:17:45.867\",,\"1,990\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.244.231.5\"\n\"September 21st 2015, 13:17:18.010\",,\"9,341\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.255.68.154\"\n\"September 21st 2015, 13:17:10.396\",,\"6,142\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.79.108.136\"\n\"September 21st 2015, 13:16:35.545\",,\"2,228\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"208.246.143.109\"\n\"September 21st 2015, 13:16:14.132\",,\"9,531\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"68.107.5.226\"\n\"September 21st 2015, 13:15:59.944\",,\"8,593\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"171.253.80.52\"\n\"September 21st 2015, 13:15:55.072\",,\"9,162\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"129.24.204.40\"\n\"September 21st 2015, 13:15:43.529\",,\"9,673\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.195.208.118\"\n\"September 21st 2015, 13:15:35.420\",,\"1,598\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"86.252.46.140\"\n\"September 21st 2015, 13:15:26.036\",,\"5,599\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.137.53.85\"\n\"September 21st 2015, 13:15:03.444\",,\"6,649\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.82.3.150\"\n\"September 21st 2015, 13:14:33.184\",,\"5,329\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"247.149.109.96\"\n\"September 21st 2015, 13:14:25.647\",,\"7,387\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.202.168.250\"\n\"September 21st 2015, 13:11:35.984\",,\"5,852\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.76.243.51\"\n\"September 21st 2015, 13:10:57.858\",,\"8,300\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"236.110.56.1\"\n\"September 21st 2015, 13:10:40.306\",,\"4,561\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.63.51.8\"\n\"September 21st 2015, 13:10:10.297\",,\"4,714\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"146.86.123.109\"\n\"September 21st 2015, 13:10:06.577\",,\"6,774\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.188.250.196\"\n\"September 21st 2015, 13:09:48.412\",,\"2,736\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.152.13.69\"\n\"September 21st 2015, 13:09:30.706\",,\"7,092\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.237.148.2\"\n\"September 21st 2015, 13:09:11.703\",,\"6,600\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.68.9.40\"\n\"September 21st 2015, 13:08:56.794\",,\"7,443\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.167.54.47\"\n\"September 21st 2015, 13:07:58.306\",,\"2,843\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"198.21.77.227\"\n\"September 21st 2015, 13:07:53.716\",,\"16,241\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.34.138.226\"\n\"September 21st 2015, 13:07:15.152\",,\"9,232\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.3.10.81\"\n\"September 21st 2015, 13:06:48.683\",,\"7,317\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.92.154.173\"\n\"September 21st 2015, 13:06:30.756\",,\"3,594\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.174.21.181\"\n\"September 21st 2015, 13:05:55.820\",,\"7,889\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"233.201.208.162\"\n\"September 21st 2015, 13:05:35.676\",,\"3,151\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.62.43.103\"\n\"September 21st 2015, 13:05:32.025\",,\"9,944\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.19.117.208\"\n\"September 21st 2015, 13:05:15.721\",,\"1,848\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"101.130.216.47\"\n\"September 21st 2015, 13:05:07.562\",,\"3,946\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"128.169.152.213\"\n\"September 21st 2015, 13:04:13.537\",,\"7,185\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"195.233.186.3\"\n\"September 21st 2015, 13:03:50.702\",,\"4,130\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.84.248.187\"\n\"September 21st 2015, 13:03:45.993\",,\"3,442\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.38.139.107\"\n\"September 21st 2015, 13:03:43.782\",,\"4,584\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.128.176.48\"\n\"September 21st 2015, 13:02:58.064\",,\"4,976\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.164.39.249\"\n\"September 21st 2015, 13:02:51.131\",,\"6,799\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.100.60.111\"\n\"September 21st 2015, 13:02:43.067\",,\"5,482\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.172.111.30\"\n\"September 21st 2015, 13:02:03.135\",,\"1,689\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"219.136.31.156\"\n\"September 21st 2015, 13:01:50.442\",,\"5,883\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.116.186.0\"\n\"September 21st 2015, 13:01:37.600\",,\"17,165\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.106.203.143\"\n\"September 21st 2015, 13:01:22.136\",,\"3,726\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.158.217.196\"\n\"September 21st 2015, 13:01:20.816\",,\"4,313\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.105.204.4\"\n\"September 21st 2015, 13:00:37.535\",,\"3,432\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.34.109.191\"\n\"September 21st 2015, 13:00:29.190\",,\"2,096\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.117.73.210\"\n\"September 21st 2015, 13:00:21.846\",,\"3,275\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"105.47.117.171\"\n\"September 21st 2015, 13:00:07.669\",,\"4,311\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.160.62.179\"\n\"September 21st 2015, 12:59:47.472\",,\"7,317\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"42.72.83.65\"\n\"September 21st 2015, 12:59:46.678\",,\"17,023\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"115.207.4.201\"\n\"September 21st 2015, 12:58:58.901\",,\"9,521\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.225.141.240\"\n\"September 21st 2015, 12:57:53.610\",,\"3,600\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.2.62.18\"\n\"September 21st 2015, 12:57:36.551\",,\"7,038\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.54.235.229\"\n\"September 21st 2015, 12:57:01.173\",,\"2,007\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"239.180.70.74\"\n\"September 21st 2015, 12:56:21.066\",,\"14,877\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"159.136.76.65\"\n\"September 21st 2015, 12:56:01.505\",,\"8,447\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"56.253.85.132\"\n\"September 21st 2015, 12:55:21.567\",,\"9,098\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.236.240.166\"\n\"September 21st 2015, 12:55:15.397\",,\"5,199\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"10.192.39.62\"\n\"September 21st 2015, 12:55:04.051\",,\"5,851\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.223.100.33\"\n\"September 21st 2015, 12:54:58.972\",,\"2,717\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.46.85.146\"\n\"September 21st 2015, 12:54:28.418\",,\"6,196\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"102.191.15.62\"\n\"September 21st 2015, 12:54:18.046\",,\"9,637\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.139.112.201\"\n\"September 21st 2015, 12:54:09.073\",,\"3,201\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.106.209.231\"\n\"September 21st 2015, 12:54:00.079\",,\"8,806\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"96.40.73.208\"\n\"September 21st 2015, 12:53:51.482\",,\"8,152\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.221.41.27\"\n\"September 21st 2015, 12:53:40.976\",,\"5,292\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"153.49.130.46\"\n\"September 21st 2015, 12:53:35.502\",,\"1,939\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.63.63.137\"\n\"September 21st 2015, 12:53:18.157\",,\"5,723\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.190.3.193\"\n\"September 21st 2015, 12:53:12.406\",,\"2,701\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"6.183.121.70\"\n\"September 21st 2015, 12:52:54.245\",,\"4,356\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"195.233.186.3\"\n\"September 21st 2015, 12:52:51.872\",,\"8,521\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"146.228.193.188\"\n\"September 21st 2015, 12:51:15.410\",,\"5,376\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"113.43.75.122\"\n\"September 21st 2015, 12:50:43.586\",,\"4,004\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"178.104.96.40\"\n\"September 21st 2015, 12:50:22.319\",,\"8,953\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"244.15.131.137\"\n\"September 21st 2015, 12:50:13.087\",,\"4,747\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.195.26.33\"\n\"September 21st 2015, 12:49:51.363\",,\"15,349\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"16.236.101.225\"\n\"September 21st 2015, 12:49:44.507\",,\"9,068\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"164.185.40.249\"\n\"September 21st 2015, 12:49:24.834\",,\"6,959\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"81.186.187.11\"\n\"September 21st 2015, 12:48:59.652\",,\"9,348\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.106.209.231\"\n\"September 21st 2015, 12:48:49.230\",,\"5,470\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"251.47.79.172\"\n\"September 21st 2015, 12:48:33.315\",,\"8,826\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.36.203.241\"\n\"September 21st 2015, 12:46:19.313\",,\"6,133\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"70.101.68.233\"\n\"September 21st 2015, 12:46:16.815\",,\"7,917\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"146.18.252.5\"\n\"September 21st 2015, 12:46:16.079\",,\"7,416\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.219.65.244\"\n\"September 21st 2015, 12:45:56.547\",,\"3,945\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"230.105.119.197\"\n\"September 21st 2015, 12:45:48.373\",,\"9,989\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.111.6.73\"\n\"September 21st 2015, 12:44:44.859\",,\"15,718\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.94.120.10\"\n\"September 21st 2015, 12:44:38.713\",,\"6,654\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.218.31.116\"\n\"September 21st 2015, 12:44:38.262\",,\"5,391\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"218.186.41.141\"\n\"September 21st 2015, 12:44:23.155\",,\"2,170\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.162.138.2\"\n\"September 21st 2015, 12:44:14.390\",,\"8,419\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.127.76.132\"\n\"September 21st 2015, 12:43:34.540\",,\"9,372\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.17.130.204\"\n\"September 21st 2015, 12:43:23.160\",,\"2,776\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.63.51.8\"\n\"September 21st 2015, 12:42:44.199\",,\"3,533\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"218.248.177.77\"\n\"September 21st 2015, 12:42:36.987\",,\"4,171\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.68.234.67\"\n\"September 21st 2015, 12:42:27.784\",,\"4,706\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"2.203.112.183\"\n\"September 21st 2015, 12:42:12.045\",,\"2,474\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.205.178.33\"\n\"September 21st 2015, 12:41:40.487\",,\"5,295\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.16.191.123\"\n\"September 21st 2015, 12:40:43.253\",,\"5,354\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"83.236.80.152\"\n\"September 21st 2015, 12:40:32.919\",,\"1,876\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.177.73.18\"\n\"September 21st 2015, 12:39:38.967\",,\"3,410\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.204.140.157\"\n\"September 21st 2015, 12:39:30.156\",,\"3,909\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.167.54.119\"\n\"September 21st 2015, 12:39:27.276\",,\"5,528\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.206.117.161\"\n\"September 21st 2015, 12:39:19.756\",,\"5,478\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.61.116.63\"\n\"September 21st 2015, 12:38:39.635\",,\"2,209\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.114.14.197\"\n\"September 21st 2015, 12:38:35.020\",,\"1,933\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.216.169.176\"\n\"September 21st 2015, 12:38:24.175\",,\"8,314\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.43.210.167\"\n\"September 21st 2015, 12:38:22.603\",,\"6,452\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.139.45.110\"\n\"September 21st 2015, 12:38:11.076\",,\"14,601\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.88.57.13\"\n\"September 21st 2015, 12:37:19.743\",,\"8,863\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.158.217.196\"\n\"September 21st 2015, 12:37:16.118\",,\"9,567\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"51.137.53.85\"\n\"September 21st 2015, 12:37:11.075\",,\"8,889\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"37.92.205.231\"\n\"September 21st 2015, 12:37:10.269\",,\"6,787\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.172.119.148\"\n\"September 21st 2015, 12:36:54.592\",,\"3,751\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.33.226.187\"\n\"September 21st 2015, 12:36:52.173\",,\"2,639\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"74.224.77.232\"\n\"September 21st 2015, 12:36:25.355\",,\"4,209\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"81.1.40.59\"\n\"September 21st 2015, 12:36:11.468\",,\"6,320\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.7.129.34\"\n\"September 21st 2015, 12:35:58.999\",,\"4,447\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.170.80.142\"\n\"September 21st 2015, 12:35:51.831\",,\"7,353\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.243.115.83\"\n\"September 21st 2015, 12:35:34.300\",,\"4,839\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"211.0.102.190\"\n\"September 21st 2015, 12:34:58.263\",,\"4,630\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"159.137.252.66\"\n\"September 21st 2015, 12:34:56.381\",,\"6,007\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"182.207.77.200\"\n\"September 21st 2015, 12:34:26.181\",,\"2,164\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"215.152.176.23\"\n\"September 21st 2015, 12:33:50.524\",,\"9,154\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.96.206.187\"\n\"September 21st 2015, 12:33:41.837\",,\"8,008\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.84.146.72\"\n\"September 21st 2015, 12:33:29.447\",,\"5,791\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"84.77.230.73\"\n\"September 21st 2015, 12:33:07.427\",,\"3,274\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.19.155.203\"\n\"September 21st 2015, 12:32:55.970\",,\"7,610\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.171.208.139\"\n\"September 21st 2015, 12:32:33.115\",,\"5,304\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"244.172.153.74\"\n\"September 21st 2015, 12:32:32.375\",,\"2,523\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"158.168.90.226\"\n\"September 21st 2015, 12:32:20.523\",,\"19,617\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"17.58.22.109\"\n\"September 21st 2015, 12:31:59.367\",,\"9,074\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.105.204.4\"\n\"September 21st 2015, 12:31:58.840\",,\"5,703\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.43.63.180\"\n\"September 21st 2015, 12:31:53.298\",,\"10,375\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"106.181.249.244\"\n\"September 21st 2015, 12:31:49.012\",,\"1,803\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.161.172.168\"\n\"September 21st 2015, 12:31:46.335\",,\"3,867\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.199.255.8\"\n\"September 21st 2015, 12:31:02.080\",,\"3,667\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.242.177.192\"\n\"September 21st 2015, 12:31:02.014\",,\"4,413\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.214.104.239\"\n\"September 21st 2015, 12:30:53.726\",,\"9,620\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.231.132.106\"\n\"September 21st 2015, 12:30:49.667\",,\"8,323\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.128.176.48\"\n\"September 21st 2015, 12:30:04.979\",,\"6,718\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"174.151.255.82\"\n\"September 21st 2015, 12:29:06.514\",,\"8,996\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"192.183.87.181\"\n\"September 21st 2015, 12:28:55.490\",,\"6,385\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"203.118.132.112\"\n\"September 21st 2015, 12:28:53.500\",,\"8,593\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"20.34.86.255\"\n\"September 21st 2015, 12:28:49.448\",,\"9,236\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.166.248.214\"\n\"September 21st 2015, 12:28:09.562\",,\"7,614\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.233.183.250\"\n\"September 21st 2015, 12:27:49.450\",,\"4,137\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"105.82.36.95\"\n\"September 21st 2015, 12:27:44.179\",,\"6,286\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"14.61.182.136\"\n\"September 21st 2015, 12:27:33.098\",,\"5,763\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.121.197.80\"\n\"September 21st 2015, 12:27:02.054\",,\"2,696\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"247.129.16.191\"\n\"September 21st 2015, 12:26:55.922\",,\"6,157\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.169.230.188\"\n\"September 21st 2015, 12:26:50.279\",,\"6,035\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.5.63.129\"\n\"September 21st 2015, 12:26:31.904\",,\"7,267\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.17.130.204\"\n\"September 21st 2015, 12:26:06.158\",,\"5,300\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"101.43.176.190\"\n\"September 21st 2015, 12:25:42.734\",,\"9,131\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"6.183.121.70\"\n\"September 21st 2015, 12:25:37.841\",,\"8,425\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"16.236.101.225\"\n\"September 21st 2015, 12:25:28.262\",,\"4,384\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.192.185.168\"\n\"September 21st 2015, 12:24:57.579\",,\"19,556\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.167.54.119\"\n\"September 21st 2015, 12:24:49.168\",,\"6,097\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.135.88.86\"\n\"September 21st 2015, 12:24:39.768\",,\"4,944\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.164.39.249\"\n\"September 21st 2015, 12:24:29.684\",,\"8,728\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.137.8.156\"\n\"September 21st 2015, 12:23:49.822\",,\"4,125\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.83.92.252\"\n\"September 21st 2015, 12:23:18.626\",,\"5,697\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.85.86.52\"\n\"September 21st 2015, 12:22:41.434\",,\"7,095\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"95.128.176.48\"\n\"September 21st 2015, 12:22:37.296\",,\"8,154\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"180.65.205.98\"\n\"September 21st 2015, 12:22:08.376\",,\"7,032\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.115.189.193\"\n\"September 21st 2015, 12:22:06.215\",,\"3,987\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.234.255.241\"\n\"September 21st 2015, 12:22:01.272\",,\"2,603\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.80.208.225\"\n\"September 21st 2015, 12:21:52.182\",,\"1,763\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"117.2.255.240\"\n\"September 21st 2015, 12:21:38.627\",,\"7,279\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.92.239.70\"\n\"September 21st 2015, 12:21:26.545\",,\"7,403\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"100.99.207.174\"\n\"September 21st 2015, 12:21:21.393\",,\"8,434\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.177.73.18\"\n\"September 21st 2015, 12:21:15.549\",,\"2,366\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"16.236.101.225\"\n\"September 21st 2015, 12:21:09.091\",,\"8,501\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.115.74.144\"\n\"September 21st 2015, 12:20:12.683\",,\"17,099\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.86.49.192\"\n\"September 21st 2015, 12:19:47.120\",,\"2,141\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.53.96.88\"\n\"September 21st 2015, 12:19:29.950\",,\"6,303\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"158.168.90.226\"\n\"September 21st 2015, 12:19:19.605\",,\"8,055\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.30.231.202\"\n\"September 21st 2015, 12:19:15.787\",,\"9,075\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.137.53.85\"\n\"September 21st 2015, 12:18:38.653\",,\"9,216\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.165.93.2\"\n\"September 21st 2015, 12:18:30.266\",,\"8,157\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.97.175.115\"\n\"September 21st 2015, 12:17:39.832\",,\"5,919\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.126.255.31\"\n\"September 21st 2015, 12:17:37.853\",,\"7,692\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.53.110.116\"\n\"September 21st 2015, 12:17:24.715\",,\"5,729\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.53.114.44\"\n\"September 21st 2015, 12:17:03.996\",,\"7,664\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"13.1.75.232\"\n\"September 21st 2015, 12:16:43.930\",,\"7,358\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"144.31.154.6\"\n\"September 21st 2015, 12:16:32.332\",,\"3,960\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.219.72.105\"\n\"September 21st 2015, 12:16:20.084\",,\"7,425\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"113.35.23.20\"\n\"September 21st 2015, 12:16:09.536\",,\"6,866\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.114.14.197\"\n\"September 21st 2015, 12:16:00.036\",,\"9,162\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.192.144.100\"\n\"September 21st 2015, 12:15:57.888\",,\"3,124\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.191.39.198\"\n\"September 21st 2015, 12:15:54.323\",,\"5,860\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"182.186.221.142\"\n\"September 21st 2015, 12:15:46.368\",,\"7,209\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"121.205.46.255\"\n\"September 21st 2015, 12:15:44.152\",,\"2,176\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.218.253.140\"\n\"September 21st 2015, 12:15:30.861\",,\"8,907\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.167.142.250\"\n\"September 21st 2015, 12:15:27.253\",,\"6,662\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.128.128.34\"\n\"September 21st 2015, 12:15:25.045\",,\"8,529\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"241.58.244.165\"\n\"September 21st 2015, 12:15:05.640\",,\"4,588\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.99.243.183\"\n\"September 21st 2015, 12:14:51.476\",,\"1,748\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.84.165.54\"\n\"September 21st 2015, 12:14:00.415\",,\"9,294\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.54.12.226\"\n\"September 21st 2015, 12:13:59.022\",,\"5,058\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.158.217.196\"\n\"September 21st 2015, 12:13:49.921\",,\"3,949\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"197.88.56.99\"\n\"September 21st 2015, 12:13:04.592\",,\"1,656\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"67.220.97.120\"\n\"September 21st 2015, 12:13:02.260\",,\"9,349\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.216.205.112\"\n\"September 21st 2015, 12:12:58.848\",,\"9,858\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.246.231.47\"\n\"September 21st 2015, 12:12:34.082\",,\"9,655\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.52.178.194\"\n\"September 21st 2015, 12:12:19.384\",,\"4,882\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.172.28.222\"\n\"September 21st 2015, 12:11:41.526\",,\"3,465\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.53.120.159\"\n\"September 21st 2015, 12:11:33.318\",,\"11,345\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.153.166.47\"\n\"September 21st 2015, 12:10:54.287\",,\"3,502\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.225.101.206\"\n\"September 21st 2015, 12:10:37.239\",,\"9,901\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.88.57.13\"\n\"September 21st 2015, 12:10:00.906\",,\"6,623\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.63.63.137\"\n\"September 21st 2015, 12:10:00.543\",,\"2,275\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"144.31.154.6\"\n\"September 21st 2015, 12:09:46.056\",,\"8,212\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"164.185.40.249\"\n\"September 21st 2015, 12:09:32.565\",,\"6,833\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.186.79.201\"\n\"September 21st 2015, 12:09:06.519\",,\"3,668\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.200.30.34\"\n\"September 21st 2015, 12:09:00.673\",,\"5,316\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.90.39.228\"\n\"September 21st 2015, 12:08:46.835\",,\"6,490\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.149.151.88\"\n\"September 21st 2015, 12:08:40.320\",,\"1,458\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.160.62.179\"\n\"September 21st 2015, 12:08:36.156\",,\"5,433\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.42.218.145\"\n\"September 21st 2015, 12:08:17.857\",,\"8,218\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.29.100.213\"\n\"September 21st 2015, 12:08:01.638\",,\"4,175\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.200.30.34\"\n\"September 21st 2015, 12:07:48.770\",,\"8,365\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.27.10.205\"\n\"September 21st 2015, 12:07:43.847\",,\"2,865\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"193.164.192.47\"\n\"September 21st 2015, 12:07:17.813\",,\"19,123\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"181.209.116.94\"\n\"September 21st 2015, 12:07:16.948\",,\"3,043\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"184.101.186.240\"\n\"September 21st 2015, 12:07:15.062\",,\"9,927\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.13.113.3\"\n\"September 21st 2015, 12:07:03.414\",,\"12,802\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.135.88.86\"\n\"September 21st 2015, 12:06:44.693\",,\"5,230\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"192.183.87.181\"\n\"September 21st 2015, 12:06:10.587\",,\"2,106\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.105.165.220\"\n\"September 21st 2015, 12:05:34.418\",,\"5,830\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"49.209.234.93\"\n\"September 21st 2015, 12:05:29.968\",,\"9,751\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"187.33.177.173\"\n\"September 21st 2015, 12:05:17.610\",,\"3,298\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.37.151.239\"\n\"September 21st 2015, 12:05:15.687\",,\"3,860\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.172.137.39\"\n\"September 21st 2015, 12:04:45.531\",,\"3,925\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.191.218.38\"\n\"September 21st 2015, 12:04:37.760\",,\"2,393\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.4.152.176\"\n\"September 21st 2015, 12:04:21.645\",,\"6,038\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.143.209.115\"\n\"September 21st 2015, 12:04:13.302\",,\"7,335\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.200.198.147\"\n\"September 21st 2015, 12:03:30.074\",,\"5,117\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"116.126.47.226\"\n\"September 21st 2015, 12:03:25.180\",,\"8,333\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.83.92.252\"\n\"September 21st 2015, 12:03:21.602\",,\"3,536\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.2.26.42\"\n\"September 21st 2015, 12:03:08.022\",,\"9,363\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.53.120.159\"\n\"September 21st 2015, 12:02:44.529\",,\"7,133\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.241.34.0\"\n\"September 21st 2015, 12:02:33.888\",,\"5,016\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.198.132.23\"\n\"September 21st 2015, 12:02:15.514\",,\"8,650\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.11.43.220\"\n\"September 21st 2015, 12:02:11.079\",,\"6,522\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.198.132.23\"\n\"September 21st 2015, 12:02:09.156\",,\"7,832\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.24.249.29\"\n\"September 21st 2015, 12:01:49.699\",,\"9,133\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.120.146.16\"\n\"September 21st 2015, 12:01:45.730\",,\"2,571\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"74.101.37.80\"\n\"September 21st 2015, 12:00:43.791\",,\"7,800\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"129.24.204.40\"\n\"September 21st 2015, 12:00:40.004\",,\"9,122\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.100.162.251\"\n\"September 21st 2015, 12:00:30.323\",,\"18,448\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.46.85.146\"\n\"September 21st 2015, 12:00:27.692\",,\"7,234\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"77.208.78.205\"\n\"September 21st 2015, 12:00:20.900\",,\"3,251\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.160.62.179\"\n\"September 21st 2015, 12:00:16.881\",,\"7,636\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.197.178.155\"\n\"September 21st 2015, 11:59:51.817\",,\"6,486\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.58.247.117\"\n\"September 21st 2015, 11:59:36.544\",,\"2,658\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.90.86.83\"\n\"September 21st 2015, 11:59:10.369\",,\"8,526\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.215.43.26\"\n\"September 21st 2015, 11:58:57.991\",,\"1,611\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"219.42.50.113\"\n\"September 21st 2015, 11:58:38.834\",,\"5,278\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.244.150.190\"\n\"September 21st 2015, 11:58:38.381\",,\"7,603\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.246.143.109\"\n\"September 21st 2015, 11:57:58.148\",,\"9,068\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"121.158.36.114\"\n\"September 21st 2015, 11:57:42.624\",,\"1,726\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.228.1.71\"\n\"September 21st 2015, 11:56:55.218\",,\"6,161\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.223.93.34\"\n\"September 21st 2015, 11:56:43.495\",,\"4,632\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.158.203.248\"\n\"September 21st 2015, 11:56:39.524\",,\"3,650\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.167.107.51\"\n\"September 21st 2015, 11:56:29.986\",,\"5,130\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.54.151.5\"\n\"September 21st 2015, 11:56:13.942\",,\"7,560\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.87.234.213\"\n\"September 21st 2015, 11:56:10.819\",,\"4,468\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"91.10.173.138\"\n\"September 21st 2015, 11:56:10.172\",,\"5,895\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.111.249.239\"\n\"September 21st 2015, 11:56:04.187\",,\"5,584\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.94.183.177\"\n\"September 21st 2015, 11:55:58.870\",,\"2,766\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"7.176.253.57\"\n\"September 21st 2015, 11:55:26.065\",,\"7,876\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"121.34.210.235\"\n\"September 21st 2015, 11:55:16.180\",,\"8,516\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"17.123.33.106\"\n\"September 21st 2015, 11:55:11.358\",,\"7,645\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.126.159.144\"\n\"September 21st 2015, 11:54:38.800\",,\"5,470\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.180.120.21\"\n\"September 21st 2015, 11:54:30.551\",,\"2,898\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.172.28.222\"\n\"September 21st 2015, 11:54:16.016\",,\"6,580\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"32.180.30.227\"\n\"September 21st 2015, 11:54:01.176\",,\"2,529\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.84.248.187\"\n\"September 21st 2015, 11:53:58.692\",,\"5,309\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.77.18.142\"\n\"September 21st 2015, 11:53:39.433\",,\"9,951\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.17.130.204\"\n\"September 21st 2015, 11:53:29.498\",,\"4,739\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"162.134.126.82\"\n\"September 21st 2015, 11:53:28.585\",,\"4,144\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.86.105.212\"\n\"September 21st 2015, 11:53:26.907\",,\"7,656\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.139.156.196\"\n\"September 21st 2015, 11:53:26.449\",,\"9,631\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.222.56.247\"\n\"September 21st 2015, 11:53:24.757\",,\"18,944\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"149.170.135.63\"\n\"September 21st 2015, 11:53:16.634\",,\"9,348\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.76.224.154\"\n\"September 21st 2015, 11:53:09.601\",,\"4,014\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.201.212.220\"\n\"September 21st 2015, 11:53:01.485\",,\"1,503\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"188.56.164.24\"\n\"September 21st 2015, 11:52:46.207\",,\"7,841\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.97.175.115\"\n\"September 21st 2015, 11:52:39.747\",,\"17,879\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.92.194.37\"\n\"September 21st 2015, 11:52:16.707\",,\"7,105\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.161.247.172\"\n\"September 21st 2015, 11:52:06.756\",,\"8,320\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.255.221.0\"\n\"September 21st 2015, 11:51:38.682\",,\"9,000\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.79.142.15\"\n\"September 21st 2015, 11:51:25.303\",,\"8,447\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"146.18.252.5\"\n\"September 21st 2015, 11:51:01.189\",,\"9,067\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"217.44.155.137\"\n\"September 21st 2015, 11:50:44.708\",,\"6,161\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.22.23.73\"\n\"September 21st 2015, 11:50:39.053\",,\"2,581\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"146.228.193.188\"\n\"September 21st 2015, 11:50:31.289\",,\"7,452\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.180.120.21\"\n\"September 21st 2015, 11:50:24.758\",,\"3,902\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"202.22.74.232\"\n\"September 21st 2015, 11:49:58.363\",,\"7,964\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.28.27.24\"\n\"September 21st 2015, 11:49:55.850\",,\"3,297\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"181.249.43.5\"\n\"September 21st 2015, 11:49:33.672\",,\"4,104\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"87.54.48.33\"\n\"September 21st 2015, 11:49:24.900\",,\"6,121\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.233.238.181\"\n\"September 21st 2015, 11:49:06.614\",,\"11,437\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.152.13.69\"\n\"September 21st 2015, 11:48:35.051\",,\"8,039\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"67.47.100.255\"\n\"September 21st 2015, 11:48:14.365\",,\"7,052\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.116.186.0\"\n\"September 21st 2015, 11:47:27.163\",,\"17,779\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.57.26.210\"\n\"September 21st 2015, 11:47:16.926\",,\"6,252\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"0.209.80.244\"\n\"September 21st 2015, 11:47:10.800\",,\"4,249\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.53.114.44\"\n\"September 21st 2015, 11:47:09.647\",,\"7,557\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.177.125.196\"\n\"September 21st 2015, 11:47:08.227\",,\"4,371\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.58.25.99\"\n\"September 21st 2015, 11:47:04.082\",,\"7,603\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.119.119.38\"\n\"September 21st 2015, 11:46:59.915\",,\"4,789\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"165.24.164.93\"\n\"September 21st 2015, 11:46:52.702\",,\"8,064\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.210.163.45\"\n\"September 21st 2015, 11:45:54.200\",,\"3,709\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.210.163.45\"\n\"September 21st 2015, 11:45:34.297\",,\"4,518\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"216.115.81.216\"\n\"September 21st 2015, 11:45:21.761\",,\"5,609\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"67.238.57.221\"\n\"September 21st 2015, 11:44:59.127\",,\"7,691\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"129.32.224.79\"\n\"September 21st 2015, 11:44:46.570\",,\"4,961\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.75.33.146\"\n\"September 21st 2015, 11:44:35.694\",,\"7,010\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"95.117.248.129\"\n\"September 21st 2015, 11:44:04.377\",,\"4,063\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"75.201.93.111\"\n\"September 21st 2015, 11:44:04.056\",,\"8,817\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"23.184.94.58\"\n\"September 21st 2015, 11:44:01.532\",,\"3,784\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.120.146.16\"\n\"September 21st 2015, 11:43:52.723\",,\"7,687\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"50.26.210.216\"\n\"September 21st 2015, 11:43:37.086\",,\"4,980\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.96.131.243\"\n\"September 21st 2015, 11:42:34.009\",,\"7,580\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.167.54.119\"\n\"September 21st 2015, 11:42:31.279\",,\"9,763\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"50.26.210.216\"\n\"September 21st 2015, 11:42:24.399\",,\"8,528\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.88.57.13\"\n\"September 21st 2015, 11:42:20.573\",,\"16,227\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"144.135.123.19\"\n\"September 21st 2015, 11:42:08.855\",,\"6,889\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"147.244.160.168\"\n\"September 21st 2015, 11:42:03.673\",,\"8,944\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"230.43.124.118\"\n\"September 21st 2015, 11:42:03.604\",,\"7,687\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"225.241.219.2\"\n\"September 21st 2015, 11:41:51.145\",,\"4,353\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.53.120.159\"\n\"September 21st 2015, 11:41:30.245\",,\"5,031\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.198.170.210\"\n\"September 21st 2015, 11:41:25.558\",,\"8,692\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.241.34.0\"\n\"September 21st 2015, 11:41:16.016\",,\"2,863\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"122.95.5.139\"\n\"September 21st 2015, 11:40:33.884\",,\"6,975\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"154.55.57.32\"\n\"September 21st 2015, 11:40:14.542\",,\"4,929\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.242.201.206\"\n\"September 21st 2015, 11:40:12.733\",,\"13,578\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.218.31.116\"\n\"September 21st 2015, 11:39:25.410\",,\"2,433\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.81.157.252\"\n\"September 21st 2015, 11:39:24.155\",,\"6,828\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.51.178.50\"\n\"September 21st 2015, 11:39:20.497\",,\"8,367\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.252.219.9\"\n\"September 21st 2015, 11:39:15.515\",,\"7,368\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.122.121.230\"\n\"September 21st 2015, 11:39:08.549\",,\"4,920\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"189.34.180.209\"\n\"September 21st 2015, 11:39:01.597\",,\"13,160\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"210.210.88.232\"\n\"September 21st 2015, 11:38:58.596\",,\"6,579\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"2.229.49.222\"\n\"September 21st 2015, 11:38:29.278\",,\"4,818\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.37.253.193\"\n\"September 21st 2015, 11:38:16.125\",,\"1,645\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.30.209.2\"\n\"September 21st 2015, 11:38:03.821\",,\"4,391\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"123.85.77.216\"\n\"September 21st 2015, 11:38:00.643\",,\"3,062\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.37.60.109\"\n\"September 21st 2015, 11:37:38.734\",,\"2,856\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.189.88.90\"\n\"September 21st 2015, 11:37:37.138\",,\"8,280\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.202.198.155\"\n\"September 21st 2015, 11:37:22.502\",,\"4,555\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.58.25.99\"\n\"September 21st 2015, 11:37:18.238\",,\"7,691\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.161.172.168\"\n\"September 21st 2015, 11:37:14.564\",,\"2,620\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"248.239.221.43\"\n\"September 21st 2015, 11:37:12.894\",,\"4,579\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"212.144.148.155\"\n\"September 21st 2015, 11:37:01.668\",,\"7,568\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"219.42.50.113\"\n\"September 21st 2015, 11:36:58.430\",,\"5,484\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.54.12.226\"\n\"September 21st 2015, 11:36:46.360\",,\"8,757\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.89.226.36\"\n\"September 21st 2015, 11:36:20.419\",,\"3,903\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.56.90.184\"\n\"September 21st 2015, 11:36:13.107\",,\"6,690\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.254.194.69\"\n\"September 21st 2015, 11:35:36.124\",,\"9,369\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"193.164.192.47\"\n\"September 21st 2015, 11:35:35.163\",,\"2,428\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.27.10.205\"\n\"September 21st 2015, 11:35:33.036\",,\"17,337\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"52.158.88.35\"\n\"September 21st 2015, 11:35:32.824\",,\"3,407\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"234.206.115.94\"\n\"September 21st 2015, 11:33:45.737\",,\"1,810\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.123.33.106\"\n\"September 21st 2015, 11:33:42.710\",,\"5,446\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"7.218.211.125\"\n\"September 21st 2015, 11:33:31.403\",,\"4,443\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"193.164.192.47\"\n\"September 21st 2015, 11:32:49.838\",,\"8,222\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"177.194.175.66\"\n\"September 21st 2015, 11:32:34.114\",,\"5,428\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"133.198.170.210\"\n\"September 21st 2015, 11:32:33.234\",,\"6,585\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.40.103.254\"\n\"September 21st 2015, 11:32:28.354\",,\"10,843\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.86.132.152\"\n\"September 21st 2015, 11:32:27.217\",,\"8,594\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.193.157.89\"\n\"September 21st 2015, 11:32:08.890\",,\"5,787\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"171.132.193.95\"\n\"September 21st 2015, 11:31:59.701\",,\"4,869\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.210.116.210\"\n\"September 21st 2015, 11:31:34.788\",,\"3,879\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.11.74.125\"\n\"September 21st 2015, 11:31:23.736\",,\"4,988\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.111.249.239\"\n\"September 21st 2015, 11:31:22.210\",,\"6,699\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.57.26.210\"\n\"September 21st 2015, 11:31:11.525\",,\"9,426\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"247.149.109.96\"\n\"September 21st 2015, 11:30:46.567\",,\"1,791\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.140.171.133\"\n\"September 21st 2015, 11:30:46.115\",,\"9,155\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"105.47.117.171\"\n\"September 21st 2015, 11:30:37.012\",,\"7,773\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"91.127.213.244\"\n\"September 21st 2015, 11:30:36.328\",,\"4,571\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"79.33.226.187\"\n\"September 21st 2015, 11:30:35.864\",,\"5,677\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"81.186.187.11\"\n\"September 21st 2015, 11:30:24.372\",,\"8,576\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"50.46.74.105\"\n\"September 21st 2015, 11:30:20.225\",,\"9,126\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"218.226.100.31\"\n\"September 21st 2015, 11:30:10.306\",,\"6,377\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.172.42.72\"\n\"September 21st 2015, 11:30:08.617\",,\"5,544\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.81.157.252\"\n\"September 21st 2015, 11:29:53.604\",,\"1,727\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.111.249.239\"\n\"September 21st 2015, 11:29:10.431\",,\"7,323\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.209.234.93\"\n\"September 21st 2015, 11:29:06.736\",,\"2,879\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.236.3.119\"\n\"September 21st 2015, 11:28:53.022\",,\"5,781\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"196.131.253.111\"\n\"September 21st 2015, 11:28:44.278\",,\"4,868\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.89.226.36\"\n\"September 21st 2015, 11:28:42.825\",,\"3,270\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.231.132.106\"\n\"September 21st 2015, 11:28:27.249\",,\"2,247\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.61.106.118\"\n\"September 21st 2015, 11:28:25.700\",,\"8,220\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"184.101.186.240\"\n\"September 21st 2015, 11:28:02.512\",,\"2,174\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.7.97.184\"\n\"September 21st 2015, 11:27:51.440\",,\"3,317\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.114.204.184\"\n\"September 21st 2015, 11:26:50.025\",,\"3,198\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"177.194.175.66\"\n\"September 21st 2015, 11:26:37.338\",,\"9,252\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.22.226.5\"\n\"September 21st 2015, 11:26:07.384\",,\"7,677\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.32.230.63\"\n\"September 21st 2015, 11:25:53.636\",,\"6,290\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"140.22.23.73\"\n\"September 21st 2015, 11:25:36.341\",,\"3,632\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"234.201.75.147\"\n\"September 21st 2015, 11:25:34.202\",,\"6,640\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"214.164.244.131\"\n\"September 21st 2015, 11:25:12.206\",,\"9,561\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.0.188.251\"\n\"September 21st 2015, 11:25:10.623\",,\"13,916\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.75.54.137\"\n\"September 21st 2015, 11:25:08.040\",,\"7,096\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"81.186.187.11\"\n\"September 21st 2015, 11:25:07.226\",,\"5,104\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.77.18.142\"\n\"September 21st 2015, 11:25:07.157\",,\"2,903\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.141.52.142\"\n\"September 21st 2015, 11:24:26.363\",,\"8,610\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.83.143.132\"\n\"September 21st 2015, 11:23:08.552\",,\"9,970\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.57.7.61\"\n\"September 21st 2015, 11:23:07.251\",,\"16,641\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"28.46.60.20\"\n\"September 21st 2015, 11:23:04.897\",,\"5,934\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.155.198.238\"\n\"September 21st 2015, 11:22:36.401\",,\"1,969\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.101.221.163\"\n\"September 21st 2015, 11:22:21.894\",,\"8,524\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.156.219.144\"\n\"September 21st 2015, 11:22:17.135\",,\"2,653\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.34.86.215\"\n\"September 21st 2015, 11:22:14.143\",,\"4,052\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"59.202.132.136\"\n\"September 21st 2015, 11:21:52.399\",,\"6,773\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.164.244.131\"\n\"September 21st 2015, 11:21:46.784\",,\"3,033\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.2.62.18\"\n\"September 21st 2015, 11:21:44.610\",,\"8,042\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.13.106.139\"\n\"September 21st 2015, 11:21:42.339\",,\"11,728\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.54.235.229\"\n\"September 21st 2015, 11:21:36.522\",,\"9,843\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.58.244.165\"\n\"September 21st 2015, 11:21:25.467\",,\"4,522\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"58.190.216.56\"\n\"September 21st 2015, 11:21:23.928\",,\"3,279\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"153.34.187.225\"\n\"September 21st 2015, 11:21:11.218\",,\"9,064\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.155.42.103\"\n\"September 21st 2015, 11:20:44.256\",,\"8,000\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.53.120.159\"\n\"September 21st 2015, 11:20:39.967\",,\"7,038\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"4.125.116.118\"\n\"September 21st 2015, 11:20:38.181\",,\"1,736\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.245.252.224\"\n\"September 21st 2015, 11:20:18.636\",,\"8,432\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.20.147.107\"\n\"September 21st 2015, 11:19:58.842\",,\"5,183\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"183.128.223.209\"\n\"September 21st 2015, 11:19:58.740\",,\"6,270\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.120.103.28\"\n\"September 21st 2015, 11:19:49.636\",,\"19,735\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.119.62.60\"\n\"September 21st 2015, 11:19:37.715\",,\"3,959\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"255.58.31.9\"\n\"September 21st 2015, 11:19:12.668\",,\"2,338\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"207.218.166.105\"\n\"September 21st 2015, 11:18:59.695\",,\"2,783\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.106.209.231\"\n\"September 21st 2015, 11:18:55.967\",,\"6,333\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.111.6.73\"\n\"September 21st 2015, 11:18:09.152\",,\"18,994\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.228.188.120\"\n\"September 21st 2015, 11:18:01.724\",,\"4,184\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.210.163.45\"\n\"September 21st 2015, 11:17:59.735\",,\"6,533\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"247.149.109.96\"\n\"September 21st 2015, 11:17:45.489\",,\"2,128\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"155.157.127.149\"\n\"September 21st 2015, 11:17:32.258\",,\"7,743\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.107.235.54\"\n\"September 21st 2015, 11:17:27.190\",,\"9,029\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"182.57.70.84\"\n\"September 21st 2015, 11:17:13.317\",,\"9,737\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"167.51.186.15\"\n\"September 21st 2015, 11:16:55.144\",,\"2,495\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"195.62.0.145\"\n\"September 21st 2015, 11:16:53.064\",,\"3,504\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.138.70.255\"\n\"September 21st 2015, 11:16:47.134\",,\"5,465\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.226.232.233\"\n\"September 21st 2015, 11:16:15.394\",,\"5,493\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.156.163.220\"\n\"September 21st 2015, 11:15:51.147\",,\"2,023\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.92.205.231\"\n\"September 21st 2015, 11:15:31.685\",,\"13,709\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.100.60.111\"\n\"September 21st 2015, 11:15:29.801\",,\"6,586\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.201.212.220\"\n\"September 21st 2015, 11:15:16.443\",,\"2,526\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.127.51.83\"\n\"September 21st 2015, 11:15:00.891\",,\"2,766\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.19.117.208\"\n\"September 21st 2015, 11:14:39.573\",,\"10,633\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.84.165.54\"\n\"September 21st 2015, 11:14:34.475\",,\"2,709\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.115.74.144\"\n\"September 21st 2015, 11:14:11.546\",,\"8,876\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"127.63.221.223\"\n\"September 21st 2015, 11:14:01.893\",,\"3,686\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.233.207.177\"\n\"September 21st 2015, 11:13:52.348\",,\"7,293\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.220.171.248\"\n\"September 21st 2015, 11:13:39.108\",,\"5,070\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"17.117.135.38\"\n\"September 21st 2015, 11:13:07.058\",,\"15,175\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.94.183.177\"\n\"September 21st 2015, 11:12:44.681\",,\"6,811\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.115.74.144\"\n\"September 21st 2015, 11:12:26.866\",,\"7,626\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.141.233.13\"\n\"September 21st 2015, 11:12:02.258\",,\"5,570\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.223.87.67\"\n\"September 21st 2015, 11:11:54.475\",,\"3,407\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"104.212.107.0\"\n\"September 21st 2015, 11:11:49.109\",,\"7,511\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.151.155.50\"\n\"September 21st 2015, 11:11:26.430\",,\"6,765\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.62.86.139\"\n\"September 21st 2015, 11:11:04.509\",,\"6,784\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"12.102.47.119\"\n\"September 21st 2015, 11:10:45.357\",,\"8,535\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"43.66.187.127\"\n\"September 21st 2015, 11:10:39.925\",,\"3,633\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"91.217.157.152\"\n\"September 21st 2015, 11:10:30.976\",,\"2,787\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.27.68.62\"\n\"September 21st 2015, 11:10:20.763\",,\"5,996\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.2.26.42\"\n\"September 21st 2015, 11:10:19.285\",,\"2,809\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"32.94.46.226\"\n\"September 21st 2015, 11:09:42.450\",,\"4,444\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"79.37.60.109\"\n\"September 21st 2015, 11:09:22.564\",,\"9,851\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"91.10.173.138\"\n\"September 21st 2015, 11:08:45.705\",,\"8,817\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.114.204.184\"\n\"September 21st 2015, 11:08:45.055\",,\"4,277\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"61.52.11.157\"\n\"September 21st 2015, 11:08:41.398\",,\"6,418\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.11.74.125\"\n\"September 21st 2015, 11:08:38.353\",,\"17,607\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"244.15.131.137\"\n\"September 21st 2015, 11:08:37.315\",,\"3,841\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"174.32.230.63\"\n\"September 21st 2015, 11:08:28.325\",,\"1,810\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.84.78.58\"\n\"September 21st 2015, 11:08:12.528\",,\"8,181\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.234.255.241\"\n\"September 21st 2015, 11:08:11.107\",,\"5,710\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"254.75.96.91\"\n\"September 21st 2015, 11:08:02.798\",,\"8,947\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"148.134.9.77\"\n\"September 21st 2015, 11:07:46.801\",,\"4,711\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.169.230.188\"\n\"September 21st 2015, 11:07:40.855\",,\"9,569\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.92.205.231\"\n\"September 21st 2015, 11:07:37.867\",,\"3,015\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.22.23.73\"\n\"September 21st 2015, 11:07:22.026\",,\"9,316\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"187.122.228.77\"\n\"September 21st 2015, 11:07:06.409\",,\"5,527\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.167.107.51\"\n\"September 21st 2015, 11:07:04.324\",,\"8,022\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"149.170.135.63\"\n\"September 21st 2015, 11:07:00.602\",,\"5,661\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.62.90.237\"\n\"September 21st 2015, 11:06:59.567\",,\"9,954\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.47.75.195\"\n\"September 21st 2015, 11:06:54.950\",,\"7,904\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.172.137.39\"\n\"September 21st 2015, 11:06:53.867\",,\"1,591\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.127.51.83\"\n\"September 21st 2015, 11:06:37.693\",,\"6,446\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.172.19.77\"\n\"September 21st 2015, 11:06:24.161\",,\"9,897\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.117.3.60\"\n\"September 21st 2015, 11:06:09.370\",,\"6,809\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.139.45.110\"\n\"September 21st 2015, 11:06:07.031\",,\"9,078\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"169.137.241.169\"\n\"September 21st 2015, 11:06:02.004\",,\"5,130\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.207.16.29\"\n\"September 21st 2015, 11:05:51.194\",,\"3,795\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"255.58.31.9\"\n\"September 21st 2015, 11:05:49.436\",,\"9,396\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.57.13.23\"\n\"September 21st 2015, 11:05:45.061\",,\"9,074\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.84.248.187\"\n\"September 21st 2015, 11:05:02.220\",,\"11,760\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"241.129.62.213\"\n\"September 21st 2015, 11:04:49.075\",,\"4,872\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.85.51.238\"\n\"September 21st 2015, 11:04:33.820\",,\"1,585\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.132.215.241\"\n\"September 21st 2015, 11:04:07.117\",,\"5,788\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"174.196.54.80\"\n\"September 21st 2015, 11:03:55.394\",,\"3,035\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"161.35.49.227\"\n\"September 21st 2015, 11:03:50.634\",,\"8,875\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"133.74.144.217\"\n\"September 21st 2015, 11:03:43.711\",,\"16,759\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"212.113.62.183\"\n\"September 21st 2015, 11:03:42.868\",,\"3,861\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.87.234.213\"\n\"September 21st 2015, 11:03:32.499\",,\"7,728\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.216.169.176\"\n\"September 21st 2015, 11:03:18.811\",,\"3,301\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.156.163.220\"\n\"September 21st 2015, 11:02:52.275\",,\"4,401\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"101.145.158.45\"\n\"September 21st 2015, 11:02:38.302\",,\"2,868\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.190.101.72\"\n\"September 21st 2015, 11:02:29.548\",,\"2,229\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.246.143.109\"\n\"September 21st 2015, 11:02:27.322\",,\"9,564\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.158.217.196\"\n\"September 21st 2015, 11:02:16.631\",,\"4,586\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"239.249.202.59\"\n\"September 21st 2015, 11:01:54.955\",,\"6,142\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.246.146.22\"\n\"September 21st 2015, 11:01:54.124\",,\"7,613\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.100.60.111\"\n\"September 21st 2015, 11:01:33.909\",,\"7,659\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"147.244.160.168\"\n\"September 21st 2015, 11:01:33.643\",,\"9,425\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"48.86.49.192\"\n\"September 21st 2015, 11:01:32.115\",,\"5,701\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"143.81.107.227\"\n\"September 21st 2015, 11:01:03.983\",,\"7,061\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.196.54.80\"\n\"September 21st 2015, 11:00:57.508\",,\"8,502\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"161.35.49.227\"\n\"September 21st 2015, 11:00:57.409\",,\"2,627\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"74.224.77.232\"\n\"September 21st 2015, 11:00:47.427\",,\"6,101\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.161.172.168\"\n\"September 21st 2015, 11:00:46.188\",,\"6,674\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"7.176.253.57\"\n\"September 21st 2015, 11:00:41.087\",,\"4,967\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.61.182.136\"\n\"September 21st 2015, 11:00:39.965\",,\"7,556\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"45.102.15.116\"\n\"September 21st 2015, 11:00:37.304\",,\"12,161\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"192.219.151.88\"\n\"September 21st 2015, 11:00:30.297\",,\"5,673\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"219.42.50.113\"\n\"September 21st 2015, 11:00:19.485\",,\"5,434\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"102.191.15.62\"\n\"September 21st 2015, 11:00:14.552\",,\"4,913\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.106.203.143\"\n\"September 21st 2015, 11:00:11.216\",,\"1,552\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"28.3.30.170\"\n\"September 21st 2015, 11:00:10.494\",,\"3,424\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.128.176.48\"\n\"September 21st 2015, 11:00:04.904\",,\"9,815\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.117.173.67\"\n\"September 21st 2015, 10:59:08.840\",,\"2,103\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"203.206.8.45\"\n\"September 21st 2015, 10:59:05.875\",,\"6,701\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"61.73.88.176\"\n\"September 21st 2015, 10:58:59.942\",,\"6,017\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"11.195.163.57\"\n\"September 21st 2015, 10:58:27.827\",,\"5,428\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.115.184.133\"\n\"September 21st 2015, 10:58:24.882\",,\"3,491\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"72.173.69.119\"\n\"September 21st 2015, 10:58:16.259\",,\"6,146\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.252.46.140\"\n\"September 21st 2015, 10:57:54.148\",,\"9,673\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.105.196.209\"\n\"September 21st 2015, 10:57:25.160\",,\"9,829\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"16.166.96.38\"\n\"September 21st 2015, 10:57:19.171\",,\"2,091\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.121.116.124\"\n\"September 21st 2015, 10:57:14.943\",,\"1,870\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.253.85.132\"\n\"September 21st 2015, 10:57:02.076\",,\"4,228\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"64.236.125.37\"\n\"September 21st 2015, 10:56:53.545\",,\"9,266\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.114.204.184\"\n\"September 21st 2015, 10:56:51.965\",,\"2,384\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"109.136.109.115\"\n\"September 21st 2015, 10:56:48.029\",,\"9,883\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.164.151.232\"\n\"September 21st 2015, 10:56:19.245\",,\"2,241\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"35.88.165.183\"\n\"September 21st 2015, 10:56:14.068\",,\"3,061\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.53.110.116\"\n\"September 21st 2015, 10:56:01.647\",,\"2,290\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.39.75.221\"\n\"September 21st 2015, 10:55:52.759\",,\"4,107\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"197.88.56.99\"\n\"September 21st 2015, 10:55:46.755\",,\"2,437\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.11.74.125\"\n\"September 21st 2015, 10:55:36.131\",,\"2,144\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.233.202.162\"\n\"September 21st 2015, 10:55:12.838\",,\"5,550\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.191.52.177\"\n\"September 21st 2015, 10:55:08.104\",,\"8,867\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.3.10.81\"\n\"September 21st 2015, 10:55:06.447\",,\"6,851\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.19.217.148\"\n\"September 21st 2015, 10:54:58.724\",,\"5,008\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.247.113.252\"\n\"September 21st 2015, 10:54:32.092\",,\"2,857\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"174.32.230.63\"\n\"September 21st 2015, 10:54:10.783\",,\"7,062\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"43.164.236.145\"\n\"September 21st 2015, 10:54:06.767\",,\"1,542\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"207.218.166.105\"\n\"September 21st 2015, 10:54:05.842\",,\"9,880\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.99.184.146\"\n\"September 21st 2015, 10:54:05.097\",,\"3,088\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.30.209.2\"\n\"September 21st 2015, 10:54:00.600\",,\"1,816\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"182.128.15.97\"\n\"September 21st 2015, 10:53:43.167\",,\"9,067\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.79.158.95\"\n\"September 21st 2015, 10:53:12.766\",,\"2,984\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"56.7.132.13\"\n\"September 21st 2015, 10:53:07.283\",,\"4,549\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"167.26.56.145\"\n\"September 21st 2015, 10:52:59.239\",,\"9,545\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.205.46.255\"\n\"September 21st 2015, 10:52:58.778\",,\"3,199\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.95.187.48\"\n\"September 21st 2015, 10:52:44.323\",,\"3,068\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"175.33.43.147\"\n\"September 21st 2015, 10:52:41.108\",,\"19,004\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.153.51.78\"\n\"September 21st 2015, 10:52:40.792\",,\"8,262\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.56.90.184\"\n\"September 21st 2015, 10:52:32.866\",,\"3,996\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.135.152.88\"\n\"September 21st 2015, 10:52:24.351\",,\"2,196\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.254.96.42\"\n\"September 21st 2015, 10:52:19.799\",,\"9,496\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.5.63.129\"\n\"September 21st 2015, 10:52:16.119\",,\"1,421\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.165.226.140\"\n\"September 21st 2015, 10:52:05.712\",,\"6,123\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"104.87.105.86\"\n\"September 21st 2015, 10:52:00.359\",,\"4,097\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"231.169.195.137\"\n\"September 21st 2015, 10:51:41.733\",,\"8,239\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.236.3.119\"\n\"September 21st 2015, 10:51:40.391\",,\"3,535\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.113.253.141\"\n\"September 21st 2015, 10:51:18.145\",,\"7,922\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.58.25.99\"\n\"September 21st 2015, 10:51:05.126\",,\"4,718\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.225.107.118\"\n\"September 21st 2015, 10:51:00.900\",,\"7,901\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.236.80.152\"\n\"September 21st 2015, 10:50:58.843\",,\"6,122\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.20.147.107\"\n\"September 21st 2015, 10:50:50.472\",,\"6,746\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"31.38.33.47\"\n\"September 21st 2015, 10:50:49.356\",,\"11,387\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.34.86.215\"\n\"September 21st 2015, 10:50:47.400\",,\"8,034\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"164.185.40.249\"\n\"September 21st 2015, 10:50:43.096\",,\"4,826\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.63.84.25\"\n\"September 21st 2015, 10:50:36.635\",,\"2,428\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.84.146.72\"\n\"September 21st 2015, 10:50:22.428\",,\"9,641\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.172.119.148\"\n\"September 21st 2015, 10:50:02.883\",,\"3,363\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.98.200.29\"\n\"September 21st 2015, 10:49:49.605\",,\"7,060\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"94.218.243.2\"\n\"September 21st 2015, 10:49:45.881\",,\"4,324\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"32.180.30.227\"\n\"September 21st 2015, 10:49:39.696\",,\"3,750\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.206.61.6\"\n\"September 21st 2015, 10:49:31.099\",,\"9,233\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"186.123.19.234\"\n\"September 21st 2015, 10:49:23.271\",,\"4,707\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.224.4.183\"\n\"September 21st 2015, 10:49:14.338\",,\"7,168\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.213.56.203\"\n\"September 21st 2015, 10:48:47.442\",,\"2,647\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.177.73.18\"\n\"September 21st 2015, 10:48:46.602\",,\"9,190\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.47.243.34\"\n\"September 21st 2015, 10:48:08.401\",,\"3,113\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.155.226.58\"\n\"September 21st 2015, 10:47:50.432\",,\"8,508\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.209.234.93\"\n\"September 21st 2015, 10:47:49.858\",,\"7,213\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.95.78.209\"\n\"September 21st 2015, 10:47:29.295\",,\"8,973\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.160.62.179\"\n\"September 21st 2015, 10:47:24.217\",,\"11,853\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"31.245.21.115\"\n\"September 21st 2015, 10:47:18.097\",,\"8,202\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"24.186.122.118\"\n\"September 21st 2015, 10:47:02.013\",,\"4,153\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.41.228.240\"\n\"September 21st 2015, 10:46:44.326\",,\"7,810\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.62.159.102\"\n\"September 21st 2015, 10:46:36.151\",,\"5,202\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.70.171.86\"\n\"September 21st 2015, 10:46:18.647\",,\"6,405\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"167.51.186.15\"\n\"September 21st 2015, 10:46:13.086\",,\"9,132\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.208.48.188\"\n\"September 21st 2015, 10:46:10.773\",,\"1,550\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.177.125.196\"\n\"September 21st 2015, 10:46:05.797\",,\"7,111\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.75.97.203\"\n\"September 21st 2015, 10:45:45.079\",,\"2,686\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.24.165.50\"\n\"September 21st 2015, 10:45:41.300\",,\"2,903\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.27.102.199\"\n\"September 21st 2015, 10:45:29.816\",,\"8,259\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.191.218.38\"\n\"September 21st 2015, 10:45:19.448\",,\"2,202\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"101.145.158.45\"\n\"September 21st 2015, 10:45:16.653\",,\"3,597\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.233.183.250\"\n\"September 21st 2015, 10:45:15.361\",,\"5,182\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"165.24.164.93\"\n\"September 21st 2015, 10:45:02.440\",,\"9,247\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.156.46.205\"\n\"September 21st 2015, 10:44:43.187\",,\"3,377\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"41.210.252.157\"\n\"September 21st 2015, 10:44:33.994\",,\"3,223\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.132.195.31\"\n\"September 21st 2015, 10:44:32.667\",,\"4,733\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"120.99.203.64\"\n\"September 21st 2015, 10:43:58.465\",,\"8,374\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.64.147.41\"\n\"September 21st 2015, 10:43:56.919\",,\"2,512\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.56.222.3\"\n\"September 21st 2015, 10:43:52.119\",,\"9,245\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.107.74.6\"\n\"September 21st 2015, 10:43:38.418\",,\"9,483\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.222.56.247\"\n\"September 21st 2015, 10:43:26.763\",,\"5,082\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.96.206.187\"\n\"September 21st 2015, 10:43:09.020\",,\"5,101\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.227.27.167\"\n\"September 21st 2015, 10:42:40.351\",,\"9,788\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"187.122.228.77\"\n\"September 21st 2015, 10:42:37.751\",,\"4,177\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.55.141.62\"\n\"September 21st 2015, 10:42:16.140\",,\"8,675\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"131.102.224.216\"\n\"September 21st 2015, 10:42:11.634\",,\"8,698\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.222.131.172\"\n\"September 21st 2015, 10:42:10.948\",,\"9,660\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"174.151.255.82\"\n\"September 21st 2015, 10:41:54.737\",,\"4,090\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"76.240.114.69\"\n\"September 21st 2015, 10:41:37.970\",,\"2,709\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.58.22.109\"\n\"September 21st 2015, 10:41:25.023\",,\"6,243\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"136.210.127.128\"\n\"September 21st 2015, 10:41:16.283\",,\"6,495\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.206.73.252\"\n\"September 21st 2015, 10:41:08.984\",,\"7,237\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.57.26.210\"\n\"September 21st 2015, 10:40:36.166\",,\"7,733\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.210.116.210\"\n\"September 21st 2015, 10:40:19.600\",,\"2,094\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"234.201.75.147\"\n\"September 21st 2015, 10:40:15.866\",,\"8,640\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.251.72.171\"\n\"September 21st 2015, 10:39:59.779\",,\"6,830\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"187.33.177.173\"\n\"September 21st 2015, 10:39:56.631\",,\"5,909\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.83.247.30\"\n\"September 21st 2015, 10:39:45.330\",,\"1,697\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"128.248.96.80\"\n\"September 21st 2015, 10:39:39.544\",,\"5,018\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"202.123.188.108\"\n\"September 21st 2015, 10:39:10.478\",,\"9,967\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"222.28.157.119\"\n\"September 21st 2015, 10:39:08.702\",,\"17,991\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.105.196.209\"\n\"September 21st 2015, 10:39:08.465\",,\"9,728\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"45.138.192.138\"\n\"September 21st 2015, 10:38:56.820\",,\"4,230\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.109.118.102\"\n\"September 21st 2015, 10:38:42.811\",,\"9,896\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"222.201.119.239\"\n\"September 21st 2015, 10:38:21.637\",,\"4,830\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"117.112.55.75\"\n\"September 21st 2015, 10:38:17.895\",,\"15,879\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.98.200.29\"\n\"September 21st 2015, 10:37:55.120\",,\"9,670\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"146.86.123.109\"\n\"September 21st 2015, 10:37:48.365\",,\"8,738\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"35.222.204.135\"\n\"September 21st 2015, 10:37:39.717\",,\"3,919\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.28.123.34\"\n\"September 21st 2015, 10:37:36.172\",,\"6,723\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"45.102.15.116\"\n\"September 21st 2015, 10:37:29.872\",,\"5,859\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.69.255.135\"\n\"September 21st 2015, 10:37:27.909\",,\"3,494\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.99.184.146\"\n\"September 21st 2015, 10:37:09.299\",,\"10,750\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"197.150.233.60\"\n\"September 21st 2015, 10:36:54.755\",,\"8,837\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.183.28.41\"\n\"September 21st 2015, 10:36:36.028\",,\"4,697\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.98.200.29\"\n\"September 21st 2015, 10:36:33.852\",,\"4,927\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.90.215.57\"\n\"September 21st 2015, 10:36:21.135\",,\"4,312\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.99.184.146\"\n\"September 21st 2015, 10:36:00.621\",,\"4,551\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.168.126.221\"\n\"September 21st 2015, 10:35:59.461\",,\"8,097\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.90.86.83\"\n\"September 21st 2015, 10:35:53.782\",,\"7,972\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.207.101.203\"\n\"September 21st 2015, 10:35:48.307\",,\"7,056\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.156.163.220\"\n\"September 21st 2015, 10:35:44.400\",,\"9,591\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.150.146.102\"\n\"September 21st 2015, 10:35:35.726\",,\"13,065\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.249.202.59\"\n\"September 21st 2015, 10:35:25.331\",,\"7,330\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.221.105.131\"\n\"September 21st 2015, 10:35:15.916\",,\"4,016\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.167.54.119\"\n\"September 21st 2015, 10:34:41.814\",,\"9,158\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"129.152.7.186\"\n\"September 21st 2015, 10:34:39.432\",,\"7,630\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.192.185.168\"\n\"September 21st 2015, 10:34:33.302\",,\"6,767\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.219.87.110\"\n\"September 21st 2015, 10:34:32.682\",,\"2,728\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"66.136.173.80\"\n\"September 21st 2015, 10:34:29.249\",,\"13,503\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.208.223.252\"\n\"September 21st 2015, 10:34:20.309\",,\"7,623\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"153.250.60.205\"\n\"September 21st 2015, 10:34:14.516\",,\"9,833\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.142.94.147\"\n\"September 21st 2015, 10:34:12.465\",,\"6,018\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.113.253.141\"\n\"September 21st 2015, 10:33:13.806\",,\"8,330\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.172.121.192\"\n\"September 21st 2015, 10:32:54.185\",,\"6,250\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.11.74.125\"\n\"September 21st 2015, 10:32:51.407\",,\"5,837\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"178.122.0.0\"\n\"September 21st 2015, 10:32:47.581\",,\"8,201\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.185.158.249\"\n\"September 21st 2015, 10:32:35.530\",,\"8,293\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.99.166.92\"\n\"September 21st 2015, 10:32:31.666\",,\"7,824\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.220.227.11\"\n\"September 21st 2015, 10:32:31.168\",,\"9,512\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"120.99.203.64\"\n\"September 21st 2015, 10:32:11.524\",,\"4,746\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.50.219.103\"\n\"September 21st 2015, 10:32:08.808\",,\"7,554\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.34.187.225\"\n\"September 21st 2015, 10:31:58.446\",,\"5,668\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"91.217.157.152\"\n\"September 21st 2015, 10:31:53.804\",,\"6,618\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.237.227.233\"\n\"September 21st 2015, 10:31:43.795\",,\"2,330\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.106.203.143\"\n\"September 21st 2015, 10:31:32.593\",,\"9,682\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"106.217.103.105\"\n\"September 21st 2015, 10:31:20.166\",,\"6,758\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"61.52.11.157\"\n\"September 21st 2015, 10:31:17.971\",,\"8,307\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"204.58.247.117\"\n\"September 21st 2015, 10:31:17.017\",,\"2,111\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.129.217.122\"\n\"September 21st 2015, 10:30:49.951\",,\"7,618\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.144.90.74\"\n\"September 21st 2015, 10:30:43.126\",,\"3,923\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"63.212.173.15\"\n\"September 21st 2015, 10:30:35.524\",,\"8,373\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.75.54.137\"\n\"September 21st 2015, 10:30:30.860\",,\"4,019\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"2.229.49.222\"\n\"September 21st 2015, 10:30:30.507\",,\"7,523\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.95.5.139\"\n\"September 21st 2015, 10:30:26.985\",,\"7,952\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"140.83.143.132\"\n\"September 21st 2015, 10:30:18.581\",,\"1,978\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"215.239.0.38\"\n\"September 21st 2015, 10:29:44.026\",,\"4,249\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.218.253.140\"\n\"September 21st 2015, 10:29:42.017\",,\"6,108\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.106.209.231\"\n\"September 21st 2015, 10:29:40.538\",,\"6,675\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"118.63.242.217\"\n\"September 21st 2015, 10:29:37.670\",,\"2,458\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.211.13.64\"\n\"September 21st 2015, 10:29:26.422\",,\"9,175\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"157.56.54.126\"\n\"September 21st 2015, 10:29:22.759\",,\"2,458\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.106.29.25\"\n\"September 21st 2015, 10:28:38.284\",,\"1,945\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"80.225.247.245\"\n\"September 21st 2015, 10:28:33.273\",,\"13,041\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"110.247.249.228\"\n\"September 21st 2015, 10:28:26.745\",,\"9,239\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"43.123.164.190\"\n\"September 21st 2015, 10:28:17.228\",,\"4,945\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.188.1.153\"\n\"September 21st 2015, 10:28:13.927\",,\"9,716\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.112.81.106\"\n\"September 21st 2015, 10:28:13.128\",,\"4,999\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.160.62.179\"\n\"September 21st 2015, 10:28:12.413\",,\"2,631\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.152.176.23\"\n\"September 21st 2015, 10:27:58.419\",,\"5,981\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.223.188.57\"\n\"September 21st 2015, 10:27:58.381\",,\"7,237\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.98.200.29\"\n\"September 21st 2015, 10:27:37.518\",,\"7,380\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"178.104.96.40\"\n\"September 21st 2015, 10:27:36.427\",,\"2,198\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.86.132.152\"\n\"September 21st 2015, 10:27:35.529\",,\"4,188\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.234.255.241\"\n\"September 21st 2015, 10:27:32.016\",,\"8,887\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.130.100.179\"\n\"September 21st 2015, 10:27:22.217\",,\"1,881\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"3.105.183.164\"\n\"September 21st 2015, 10:27:16.544\",,\"9,745\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"90.156.163.220\"\n\"September 21st 2015, 10:26:58.933\",,\"3,050\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.173.30.33\"\n\"September 21st 2015, 10:26:54.859\",,\"9,126\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.155.198.238\"\n\"September 21st 2015, 10:26:19.815\",,\"2,632\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"225.241.219.2\"\n\"September 21st 2015, 10:25:55.624\",,\"6,537\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"1.17.21.12\"\n\"September 21st 2015, 10:25:43.089\",,\"8,471\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.159.75.84\"\n\"September 21st 2015, 10:25:33.031\",,\"7,795\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.27.102.199\"\n\"September 21st 2015, 10:25:28.774\",,\"6,898\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.57.26.210\"\n\"September 21st 2015, 10:25:20.018\",,\"9,439\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.244.25.107\"\n\"September 21st 2015, 10:25:16.508\",,\"6,833\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.53.251.53\"\n\"September 21st 2015, 10:24:48.345\",,\"5,759\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.55.80.52\"\n\"September 21st 2015, 10:24:46.975\",,\"7,645\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"51.137.53.85\"\n\"September 21st 2015, 10:24:41.483\",,\"8,771\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.85.53.125\"\n\"September 21st 2015, 10:24:40.171\",,\"9,199\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"37.127.124.65\"\n\"September 21st 2015, 10:24:31.656\",,\"8,741\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.136.173.80\"\n\"September 21st 2015, 10:24:31.286\",,\"1,239\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.220.171.248\"\n\"September 21st 2015, 10:24:19.586\",,\"7,367\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.244.160.168\"\n\"September 21st 2015, 10:24:11.284\",,\"6,370\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"92.96.51.231\"\n\"September 21st 2015, 10:24:08.245\",,\"7,570\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.85.53.125\"\n\"September 21st 2015, 10:24:07.223\",,\"5,363\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.63.63.137\"\n\"September 21st 2015, 10:24:06.389\",,\"8,375\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.20.91.73\"\n\"September 21st 2015, 10:23:47.756\",,\"8,059\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.120.60.102\"\n\"September 21st 2015, 10:23:25.893\",,\"8,726\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.242.201.206\"\n\"September 21st 2015, 10:23:21.379\",,\"8,650\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"147.175.109.124\"\n\"September 21st 2015, 10:23:09.458\",,\"8,511\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"127.254.107.86\"\n\"September 21st 2015, 10:23:09.216\",,\"3,956\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.192.144.100\"\n\"September 21st 2015, 10:23:03.728\",,\"4,914\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.28.27.24\"\n\"September 21st 2015, 10:22:46.109\",,\"7,976\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.211.13.64\"\n\"September 21st 2015, 10:22:28.614\",,\"7,096\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.190.189.77\"\n\"September 21st 2015, 10:22:22.880\",,\"4,428\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.247.249.228\"\n\"September 21st 2015, 10:22:20.853\",,\"17,602\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.37.151.239\"\n\"September 21st 2015, 10:22:11.861\",,\"9,029\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"251.246.146.22\"\n\"September 21st 2015, 10:22:10.889\",,\"8,267\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"81.186.187.11\"\n\"September 21st 2015, 10:21:59.662\",,\"6,075\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.236.125.37\"\n\"September 21st 2015, 10:21:44.767\",,\"3,724\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"96.40.73.208\"\n\"September 21st 2015, 10:21:32.362\",,\"7,029\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.219.108.141\"\n\"September 21st 2015, 10:21:11.294\",,\"3,486\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.213.56.203\"\n\"September 21st 2015, 10:20:55.448\",,\"5,938\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.138.21.252\"\n\"September 21st 2015, 10:20:51.117\",,\"4,913\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.26.51.188\"\n\"September 21st 2015, 10:20:42.608\",,\"3,060\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.33.201.138\"\n\"September 21st 2015, 10:20:34.050\",,\"6,138\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"241.49.31.82\"\n\"September 21st 2015, 10:20:16.663\",,\"3,252\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"16.148.135.166\"\n\"September 21st 2015, 10:19:59.073\",,\"2,979\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.63.242.217\"\n\"September 21st 2015, 10:19:57.412\",,\"4,028\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.201.32.254\"\n\"September 21st 2015, 10:19:56.615\",,\"3,156\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.210.244.94\"\n\"September 21st 2015, 10:19:50.312\",,\"9,162\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.53.96.88\"\n\"September 21st 2015, 10:19:47.222\",,\"6,278\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.29.171.72\"\n\"September 21st 2015, 10:19:22.784\",,\"5,262\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.192.80.162\"\n\"September 21st 2015, 10:19:10.314\",,\"5,634\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.55.175.148\"\n\"September 21st 2015, 10:19:05.226\",,\"9,036\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.17.159.23\"\n\"September 21st 2015, 10:18:58.384\",,\"5,470\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"109.25.18.216\"\n\"September 21st 2015, 10:18:50.616\",,\"2,349\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.117.135.38\"\n\"September 21st 2015, 10:18:49.319\",,\"6,955\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"139.104.238.37\"\n\"September 21st 2015, 10:18:47.795\",,\"6,527\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"129.152.7.186\"\n\"September 21st 2015, 10:18:22.466\",,\"19,446\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.233.183.250\"\n\"September 21st 2015, 10:18:20.132\",,\"1,720\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.140.171.133\"\n\"September 21st 2015, 10:18:19.325\",,\"8,255\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"132.242.0.119\"\n\"September 21st 2015, 10:18:14.446\",,\"4,749\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.115.184.133\"\n\"September 21st 2015, 10:17:58.884\",,\"4,433\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.172.119.148\"\n\"September 21st 2015, 10:17:57.615\",,\"8,321\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.200.84.215\"\n\"September 21st 2015, 10:17:54.199\",,\"7,615\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.195.26.33\"\n\"September 21st 2015, 10:17:52.620\",,\"3,124\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"116.126.47.226\"\n\"September 21st 2015, 10:17:40.550\",,\"3,866\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"11.29.171.72\"\n\"September 21st 2015, 10:17:24.393\",,\"9,123\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.167.54.119\"\n\"September 21st 2015, 10:17:06.698\",,\"5,192\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.58.47.229\"\n\"September 21st 2015, 10:16:47.069\",,\"4,445\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.113.62.183\"\n\"September 21st 2015, 10:16:40.935\",,\"4,535\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.178.152.193\"\n\"September 21st 2015, 10:16:30.888\",,\"3,693\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.76.224.154\"\n\"September 21st 2015, 10:16:25.181\",,\"1,524\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.27.102.199\"\n\"September 21st 2015, 10:15:41.888\",,\"7,883\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"202.123.188.108\"\n\"September 21st 2015, 10:15:05.762\",,\"6,525\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.127.51.83\"\n\"September 21st 2015, 10:14:57.418\",,\"5,647\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.204.140.157\"\n\"September 21st 2015, 10:14:50.426\",,\"6,329\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"221.219.72.105\"\n\"September 21st 2015, 10:14:32.762\",,\"2,292\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.144.182.162\"\n\"September 21st 2015, 10:14:16.783\",,\"3,440\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"71.241.97.89\"\n\"September 21st 2015, 10:14:15.321\",,\"8,012\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.70.171.86\"\n\"September 21st 2015, 10:14:07.469\",,\"2,756\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.62.43.103\"\n\"September 21st 2015, 10:13:30.029\",,\"4,346\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.172.42.72\"\n\"September 21st 2015, 10:13:27.286\",,\"6,072\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"145.211.179.106\"\n\"September 21st 2015, 10:13:13.963\",,\"9,736\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.106.29.25\"\n\"September 21st 2015, 10:13:10.064\",,\"7,549\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"198.21.77.227\"\n\"September 21st 2015, 10:13:08.773\",,\"3,382\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"64.203.229.1\"\n\"September 21st 2015, 10:13:06.111\",,\"5,429\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.191.39.198\"\n\"September 21st 2015, 10:13:01.680\",,\"5,965\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.163.133.47\"\n\"September 21st 2015, 10:12:41.654\",,\"1,755\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.206.117.161\"\n\"September 21st 2015, 10:12:39.648\",,\"3,966\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"121.98.248.112\"\n\"September 21st 2015, 10:12:34.785\",,\"3,290\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"251.84.111.185\"\n\"September 21st 2015, 10:12:20.890\",,\"6,443\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.5.167.41\"\n\"September 21st 2015, 10:12:14.823\",,\"8,673\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.153.166.47\"\n\"September 21st 2015, 10:12:03.076\",,\"3,913\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"197.49.80.127\"\n\"September 21st 2015, 10:12:00.438\",,\"4,791\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"2.203.112.183\"\n\"September 21st 2015, 10:11:52.667\",,\"3,442\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"31.38.33.47\"\n\"September 21st 2015, 10:11:46.847\",,\"7,391\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.17.191.204\"\n\"September 21st 2015, 10:11:42.926\",,\"7,632\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.98.200.29\"\n\"September 21st 2015, 10:11:23.286\",,\"8,138\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.28.27.24\"\n\"September 21st 2015, 10:11:15.967\",,\"8,191\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.163.20.44\"\n\"September 21st 2015, 10:11:09.164\",,\"6,652\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.72.69.43\"\n\"September 21st 2015, 10:10:56.821\",,\"3,018\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.173.30.33\"\n\"September 21st 2015, 10:10:50.446\",,\"8,109\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.13.7.53\"\n\"September 21st 2015, 10:10:32.629\",,\"7,994\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"7.176.253.57\"\n\"September 21st 2015, 10:10:30.873\",,\"9,311\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"250.130.100.179\"\n\"September 21st 2015, 10:10:25.648\",,\"4,755\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.122.34.237\"\n\"September 21st 2015, 10:10:24.530\",,\"7,392\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.177.240.217\"\n\"September 21st 2015, 10:10:14.407\",,\"6,205\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.126.255.31\"\n\"September 21st 2015, 10:10:13.913\",,\"4,550\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"128.167.10.27\"\n\"September 21st 2015, 10:10:09.896\",,\"5,797\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"143.81.107.227\"\n\"September 21st 2015, 10:09:57.356\",,\"4,888\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"244.172.153.74\"\n\"September 21st 2015, 10:09:56.994\",,\"3,682\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.3.0.125\"\n\"September 21st 2015, 10:09:56.384\",,\"7,524\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"100.50.11.41\"\n\"September 21st 2015, 10:09:50.922\",,\"7,746\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.155.247.152\"\n\"September 21st 2015, 10:09:47.096\",,\"19,328\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"56.253.85.132\"\n\"September 21st 2015, 10:09:43.583\",,\"8,211\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.166.248.214\"\n\"September 21st 2015, 10:09:23.088\",,\"4,094\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.53.251.53\"\n\"September 21st 2015, 10:09:19.292\",,\"4,827\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.97.175.115\"\n\"September 21st 2015, 10:09:13.602\",,\"6,838\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"202.123.188.108\"\n\"September 21st 2015, 10:09:00.878\",,\"16,255\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.82.228.233\"\n\"September 21st 2015, 10:08:30.603\",,\"13,512\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"224.240.85.118\"\n\"September 21st 2015, 10:08:24.232\",,\"5,991\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.250.210.253\"\n\"September 21st 2015, 10:08:22.291\",,\"8,975\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.227.27.167\"\n\"September 21st 2015, 10:08:15.992\",,\"4,302\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.128.7.74\"\n\"September 21st 2015, 10:08:10.506\",,\"7,374\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.220.52.2\"\n\"September 21st 2015, 10:08:09.957\",,\"8,575\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.115.184.133\"\n\"September 21st 2015, 10:08:00.265\",,\"8,245\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"52.111.115.206\"\n\"September 21st 2015, 10:07:56.416\",,\"4,076\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.165.237.200\"\n\"September 21st 2015, 10:07:41.729\",,\"7,115\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.61.116.63\"\n\"September 21st 2015, 10:07:27.981\",,\"5,100\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.248.17.146\"\n\"September 21st 2015, 10:07:20.645\",,\"4,122\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"48.206.231.233\"\n\"September 21st 2015, 10:07:19.174\",,\"9,339\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.207.16.29\"\n\"September 21st 2015, 10:06:55.552\",,\"9,750\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"68.189.205.188\"\n\"September 21st 2015, 10:06:52.488\",,\"7,723\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"128.248.96.80\"\n\"September 21st 2015, 10:06:51.991\",,\"6,669\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.90.86.83\"\n\"September 21st 2015, 10:06:37.807\",,\"7,622\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"80.164.215.104\"\n\"September 21st 2015, 10:06:32.059\",,\"3,425\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"212.134.81.148\"\n\"September 21st 2015, 10:06:26.552\",,\"7,389\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"195.76.3.10\"\n\"September 21st 2015, 10:06:21.443\",,\"10,242\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"249.11.43.220\"\n\"September 21st 2015, 10:05:47.791\",,\"3,258\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.172.28.222\"\n\"September 21st 2015, 10:05:32.893\",,\"9,755\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.108.50.221\"\n\"September 21st 2015, 10:05:32.201\",,\"5,185\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.54.235.229\"\n\"September 21st 2015, 10:05:25.092\",,\"3,135\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"72.173.69.119\"\n\"September 21st 2015, 10:05:08.933\",,\"4,087\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"52.49.164.228\"\n\"September 21st 2015, 10:05:08.095\",,\"6,648\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.158.203.248\"\n\"September 21st 2015, 10:05:02.861\",,\"18,349\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.143.209.115\"\n\"September 21st 2015, 10:04:55.303\",,\"1,719\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.4.117.154\"\n\"September 21st 2015, 10:04:36.528\",,\"4,285\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.58.47.229\"\n\"September 21st 2015, 10:04:32.418\",,\"5,567\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.156.219.144\"\n\"September 21st 2015, 10:04:29.620\",,\"9,553\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.152.7.186\"\n\"September 21st 2015, 10:04:29.295\",,\"9,866\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"94.48.29.38\"\n\"September 21st 2015, 10:04:08.906\",,\"1,810\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"208.246.143.109\"\n\"September 21st 2015, 10:04:04.026\",,\"7,723\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.43.124.118\"\n\"September 21st 2015, 10:04:03.400\",,\"8,237\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"47.106.79.211\"\n\"September 21st 2015, 10:04:00.867\",,\"7,727\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"87.66.62.130\"\n\"September 21st 2015, 10:03:55.308\",,\"7,709\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"149.170.135.63\"\n\"September 21st 2015, 10:03:52.380\",,\"3,439\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"87.54.48.33\"\n\"September 21st 2015, 10:03:48.440\",,\"6,277\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.210.244.94\"\n\"September 21st 2015, 10:03:48.308\",,\"8,521\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"203.239.228.151\"\n\"September 21st 2015, 10:03:35.493\",,\"3,066\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"64.39.144.87\"\n\"September 21st 2015, 10:03:26.418\",,\"7,956\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"52.111.115.206\"\n\"September 21st 2015, 10:03:24.792\",,\"9,379\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"91.10.173.138\"\n\"September 21st 2015, 10:03:16.754\",,\"7,020\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.120.103.28\"\n\"September 21st 2015, 10:03:09.844\",,\"1,771\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"117.112.55.75\"\n\"September 21st 2015, 10:02:52.968\",,\"7,630\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.147.119.226\"\n\"September 21st 2015, 10:02:45.678\",,\"1,686\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"75.201.93.111\"\n\"September 21st 2015, 10:02:42.470\",,\"5,301\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.169.230.188\"\n\"September 21st 2015, 10:02:40.313\",,\"8,934\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.83.17.193\"\n\"September 21st 2015, 10:02:39.109\",,\"9,600\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.202.198.155\"\n\"September 21st 2015, 10:02:37.347\",,\"7,792\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"10.91.83.148\"\n\"September 21st 2015, 10:02:30.835\",,\"9,451\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.48.147.184\"\n\"September 21st 2015, 10:02:29.938\",,\"3,178\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.92.235.117\"\n\"September 21st 2015, 10:02:28.157\",,\"4,732\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"241.45.143.98\"\n\"September 21st 2015, 10:02:18.638\",,\"5,237\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.210.116.210\"\n\"September 21st 2015, 10:02:14.366\",,\"4,221\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.29.90.185\"\n\"September 21st 2015, 10:02:13.925\",,\"4,694\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.76.208.132\"\n\"September 21st 2015, 10:02:08.035\",,\"8,018\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.5.167.41\"\n\"September 21st 2015, 10:02:00.246\",,\"10,676\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"244.112.251.87\"\n\"September 21st 2015, 10:01:39.799\",,\"9,450\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.192.185.168\"\n\"September 21st 2015, 10:01:17.240\",,\"5,875\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.21.156.43\"\n\"September 21st 2015, 10:01:16.847\",,\"1,904\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.151.142.25\"\n\"September 21st 2015, 10:01:04.849\",,\"9,114\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.54.151.5\"\n\"September 21st 2015, 10:00:58.795\",,\"4,100\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"68.50.129.53\"\n\"September 21st 2015, 10:00:58.323\",,\"5,269\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"242.26.103.238\"\n\"September 21st 2015, 10:00:56.999\",,\"6,030\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.117.3.60\"\n\"September 21st 2015, 10:00:50.849\",,\"4,543\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.188.141.95\"\n\"September 21st 2015, 10:00:36.902\",,\"6,060\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"10.91.83.148\"\n\"September 21st 2015, 10:00:33.325\",,\"4,516\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.237.148.2\"\n\"September 21st 2015, 10:00:32.766\",,\"6,749\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.12.231.216\"\n\"September 21st 2015, 10:00:31.958\",,\"1,909\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.144.90.74\"\n\"September 21st 2015, 10:00:30.093\",,\"2,242\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"136.210.127.128\"\n\"September 21st 2015, 10:00:29.218\",,\"5,438\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"116.126.47.226\"\n\"September 21st 2015, 10:00:11.323\",,\"6,872\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.216.205.112\"\n\"September 21st 2015, 10:00:11.152\",,\"8,950\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.144.90.74\"\n\"September 21st 2015, 10:00:09.210\",,\"9,856\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"32.180.30.227\"\n\"September 21st 2015, 09:59:55.868\",,\"6,355\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.153.40.224\"\n\"September 21st 2015, 09:59:51.684\",,\"9,208\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.122.217.55\"\n\"September 21st 2015, 09:59:47.114\",,\"5,027\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.120.146.16\"\n\"September 21st 2015, 09:59:40.801\",,\"5,923\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"159.136.76.65\"\n\"September 21st 2015, 09:59:23.842\",,\"9,039\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.39.144.87\"\n\"September 21st 2015, 09:59:17.809\",,\"16,317\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"109.192.212.178\"\n\"September 21st 2015, 09:59:12.236\",,\"2,339\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"251.246.146.22\"\n\"September 21st 2015, 09:58:50.430\",,\"7,486\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.105.196.209\"\n\"September 21st 2015, 09:58:44.986\",,\"9,059\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"218.186.41.141\"\n\"September 21st 2015, 09:58:39.707\",,\"2,097\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.219.151.88\"\n\"September 21st 2015, 09:58:39.484\",,\"9,487\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.119.63.71\"\n\"September 21st 2015, 09:58:39.309\",,\"3,436\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.242.177.192\"\n\"September 21st 2015, 09:58:35.215\",,\"8,700\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.225.141.240\"\n\"September 21st 2015, 09:58:34.794\",,\"6,123\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.223.100.33\"\n\"September 21st 2015, 09:58:08.226\",,\"4,369\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.228.246.126\"\n\"September 21st 2015, 09:58:00.515\",,\"1,928\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.129.117.216\"\n\"September 21st 2015, 09:57:47.597\",,\"2,534\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.122.217.55\"\n\"September 21st 2015, 09:57:46.834\",,\"1,729\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.246.143.109\"\n\"September 21st 2015, 09:57:41.467\",,\"1,635\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.169.230.188\"\n\"September 21st 2015, 09:57:15.386\",,\"2,942\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.185.234.193\"\n\"September 21st 2015, 09:57:14.257\",,\"5,819\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.141.35.68\"\n\"September 21st 2015, 09:57:12.526\",,\"7,104\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.154.246.27\"\n\"September 21st 2015, 09:57:05.185\",,\"7,277\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.201.208.162\"\n\"September 21st 2015, 09:56:49.247\",,\"8,872\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.156.52.180\"\n\"September 21st 2015, 09:56:40.562\",,\"7,168\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.174.35.186\"\n\"September 21st 2015, 09:56:39.182\",,\"8,413\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.123.178.135\"\n\"September 21st 2015, 09:56:38.221\",,\"1,590\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.94.120.10\"\n\"September 21st 2015, 09:56:34.976\",,\"9,863\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.141.35.68\"\n\"September 21st 2015, 09:56:28.644\",,\"8,158\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"218.248.177.77\"\n\"September 21st 2015, 09:56:20.199\",,\"9,475\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"157.56.54.126\"\n\"September 21st 2015, 09:56:01.079\",,\"4,623\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"6.70.186.143\"\n\"September 21st 2015, 09:55:58.274\",,\"1,704\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.232.128.91\"\n\"September 21st 2015, 09:55:52.218\",,\"5,675\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"129.18.83.242\"\n\"September 21st 2015, 09:55:38.511\",,\"8,602\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.185.158.249\"\n\"September 21st 2015, 09:55:27.426\",,\"2,675\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.201.212.220\"\n\"September 21st 2015, 09:55:18.321\",,\"4,072\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.17.191.204\"\n\"September 21st 2015, 09:54:39.889\",,\"2,058\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.115.189.193\"\n\"September 21st 2015, 09:54:38.894\",,\"3,738\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.77.18.142\"\n\"September 21st 2015, 09:54:28.201\",,\"9,238\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"129.24.204.40\"\n\"September 21st 2015, 09:54:26.510\",,\"1,950\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"149.84.78.58\"\n\"September 21st 2015, 09:54:19.276\",,\"8,215\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"81.186.187.11\"\n\"September 21st 2015, 09:53:54.359\",,\"2,364\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.36.203.241\"\n\"September 21st 2015, 09:53:39.147\",,\"2,560\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.247.158.26\"\n\"September 21st 2015, 09:53:38.290\",,\"7,405\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"123.129.217.122\"\n\"September 21st 2015, 09:53:27.397\",,\"1,850\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"183.177.240.217\"\n\"September 21st 2015, 09:53:26.854\",,\"5,531\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.135.88.86\"\n\"September 21st 2015, 09:53:22.364\",,\"3,220\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.24.249.29\"\n\"September 21st 2015, 09:53:16.062\",,\"7,001\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"23.184.94.58\"\n\"September 21st 2015, 09:52:21.472\",,\"9,500\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.40.191.19\"\n\"September 21st 2015, 09:52:19.634\",,\"2,291\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.188.1.153\"\n\"September 21st 2015, 09:52:05.608\",,\"7,239\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.107.235.54\"\n\"September 21st 2015, 09:51:51.143\",,\"14,139\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.106.229.151\"\n\"September 21st 2015, 09:51:50.318\",,\"6,979\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"13.61.197.86\"\n\"September 21st 2015, 09:51:41.303\",,\"5,960\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"104.212.107.0\"\n\"September 21st 2015, 09:51:40.317\",,\"9,916\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.38.138.172\"\n\"September 21st 2015, 09:51:40.239\",,\"5,089\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.3.0.125\"\n\"September 21st 2015, 09:51:21.689\",,\"3,528\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.218.253.140\"\n\"September 21st 2015, 09:51:13.935\",,\"5,691\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"188.225.40.190\"\n\"September 21st 2015, 09:51:12.585\",,\"6,180\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"232.206.227.106\"\n\"September 21st 2015, 09:51:00.910\",,\"5,344\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.27.68.62\"\n\"September 21st 2015, 09:50:58.283\",,\"9,357\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"29.225.249.114\"\n\"September 21st 2015, 09:50:50.176\",,\"5,296\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.90.39.228\"\n\"September 21st 2015, 09:50:48.499\",,\"9,856\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.220.52.2\"\n\"September 21st 2015, 09:50:47.000\",,\"1,875\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.230.105.32\"\n\"September 21st 2015, 09:50:45.302\",,\"6,489\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.227.27.167\"\n\"September 21st 2015, 09:50:44.479\",,\"4,735\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.209.116.94\"\n\"September 21st 2015, 09:50:38.431\",,\"1,673\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"56.87.32.139\"\n\"September 21st 2015, 09:50:19.857\",,\"2,223\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"182.128.15.97\"\n\"September 21st 2015, 09:50:17.079\",,\"9,268\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"16.148.135.166\"\n\"September 21st 2015, 09:50:10.259\",,\"6,510\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.105.100.214\"\n\"September 21st 2015, 09:50:06.225\",,\"8,142\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"52.200.4.172\"\n\"September 21st 2015, 09:49:57.325\",,\"3,815\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.246.146.22\"\n\"September 21st 2015, 09:49:50.698\",,\"9,761\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"121.34.210.235\"\n\"September 21st 2015, 09:49:50.549\",,\"7,686\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.223.188.57\"\n\"September 21st 2015, 09:49:48.247\",,\"7,662\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.7.129.34\"\n\"September 21st 2015, 09:49:44.451\",,\"9,248\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.64.147.41\"\n\"September 21st 2015, 09:49:20.108\",,\"3,867\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"183.139.112.201\"\n\"September 21st 2015, 09:49:15.488\",,\"7,681\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.159.75.84\"\n\"September 21st 2015, 09:49:15.271\",,\"4,552\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.177.132.244\"\n\"September 21st 2015, 09:49:14.207\",,\"4,709\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.243.109.222\"\n\"September 21st 2015, 09:49:13.633\",,\"7,166\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.115.77.46\"\n\"September 21st 2015, 09:49:12.884\",,\"9,623\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.81.157.252\"\n\"September 21st 2015, 09:48:54.191\",,\"5,050\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.51.178.50\"\n\"September 21st 2015, 09:48:37.614\",,\"8,309\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.253.222.16\"\n\"September 21st 2015, 09:48:37.398\",,\"3,695\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.129.117.216\"\n\"September 21st 2015, 09:48:36.191\",,\"4,154\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.143.189.70\"\n\"September 21st 2015, 09:48:29.874\",,\"8,782\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"19.15.54.136\"\n\"September 21st 2015, 09:48:14.400\",,\"8,943\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"92.153.81.10\"\n\"September 21st 2015, 09:48:09.875\",,\"15,096\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"122.25.161.118\"\n\"September 21st 2015, 09:48:07.705\",,\"4,448\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"67.220.97.120\"\n\"September 21st 2015, 09:48:01.640\",,\"8,524\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.164.244.131\"\n\"September 21st 2015, 09:47:57.553\",,\"9,057\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.236.80.152\"\n\"September 21st 2015, 09:47:55.306\",,\"6,473\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"140.83.143.132\"\n\"September 21st 2015, 09:47:49.361\",,\"4,907\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.144.90.74\"\n\"September 21st 2015, 09:47:43.161\",,\"8,692\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"165.150.252.187\"\n\"September 21st 2015, 09:47:41.260\",,\"8,964\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.79.108.136\"\n\"September 21st 2015, 09:47:39.903\",,\"3,991\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.158.203.248\"\n\"September 21st 2015, 09:47:39.877\",,\"7,867\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.156.46.205\"\n\"September 21st 2015, 09:47:36.557\",,\"7,783\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.90.86.83\"\n\"September 21st 2015, 09:47:24.648\",,\"13,873\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.206.117.161\"\n\"September 21st 2015, 09:46:55.068\",,\"3,893\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.105.196.209\"\n\"September 21st 2015, 09:46:51.119\",,\"2,116\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.144.148.155\"\n\"September 21st 2015, 09:46:48.951\",,\"7,001\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.128.7.74\"\n\"September 21st 2015, 09:46:07.461\",,\"7,097\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.211.13.64\"\n\"September 21st 2015, 09:45:57.830\",,\"7,041\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"219.32.94.10\"\n\"September 21st 2015, 09:45:45.720\",,\"11,675\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.121.116.124\"\n\"September 21st 2015, 09:45:39.043\",,\"10,029\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"23.178.170.24\"\n\"September 21st 2015, 09:45:24.356\",,\"6,628\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.225.249.114\"\n\"September 21st 2015, 09:45:13.151\",,\"3,772\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"147.175.109.124\"\n\"September 21st 2015, 09:45:05.693\",,\"6,876\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.127.124.65\"\n\"September 21st 2015, 09:45:03.810\",,\"4,022\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.141.35.68\"\n\"September 21st 2015, 09:45:02.652\",,\"6,926\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.96.206.187\"\n\"September 21st 2015, 09:44:49.313\",,\"6,662\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.113.62.183\"\n\"September 21st 2015, 09:44:37.881\",,\"8,865\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"204.4.99.92\"\n\"September 21st 2015, 09:44:37.487\",,\"4,047\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.246.143.109\"\n\"September 21st 2015, 09:44:32.304\",,\"3,041\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.53.50.20\"\n\"September 21st 2015, 09:44:25.611\",,\"2,967\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.244.83.137\"\n\"September 21st 2015, 09:44:24.961\",,\"1,892\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.122.34.237\"\n\"September 21st 2015, 09:44:24.393\",,\"9,819\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.59.225.31\"\n\"September 21st 2015, 09:44:05.962\",,\"4,391\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.65.30.133\"\n\"September 21st 2015, 09:43:55.634\",,\"7,038\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.82.3.150\"\n\"September 21st 2015, 09:43:47.038\",,\"1,749\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"2.229.49.222\"\n\"September 21st 2015, 09:43:44.425\",,\"9,718\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.22.226.5\"\n\"September 21st 2015, 09:43:43.513\",,\"8,993\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.160.128.58\"\n\"September 21st 2015, 09:43:28.732\",,\"5,413\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"94.154.194.208\"\n\"September 21st 2015, 09:43:28.559\",,\"8,643\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.169.230.188\"\n\"September 21st 2015, 09:43:27.229\",,\"3,928\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"79.16.207.3\"\n\"September 21st 2015, 09:43:05.541\",,\"5,590\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.90.215.57\"\n\"September 21st 2015, 09:43:00.166\",,\"6,592\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"61.174.151.11\"\n\"September 21st 2015, 09:42:52.199\",,\"4,621\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.108.133.125\"\n\"September 21st 2015, 09:42:42.208\",,\"5,878\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.72.69.43\"\n\"September 21st 2015, 09:42:08.616\",,\"4,627\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.233.207.177\"\n\"September 21st 2015, 09:42:06.565\",,\"7,411\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"250.208.48.188\"\n\"September 21st 2015, 09:42:02.001\",,\"3,573\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.122.34.237\"\n\"September 21st 2015, 09:42:01.452\",,\"8,133\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.188.141.95\"\n\"September 21st 2015, 09:41:52.401\",,\"2,972\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"158.168.90.226\"\n\"September 21st 2015, 09:41:44.732\",,\"8,398\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.183.234.114\"\n\"September 21st 2015, 09:41:42.259\",,\"2,825\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.87.85.59\"\n\"September 21st 2015, 09:41:41.661\",,\"7,146\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.211.13.64\"\n\"September 21st 2015, 09:41:37.091\",,\"4,867\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"217.132.169.207\"\n\"September 21st 2015, 09:41:23.944\",,\"4,735\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.181.166.105\"\n\"September 21st 2015, 09:40:53.574\",,\"6,185\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"168.174.35.186\"\n\"September 21st 2015, 09:40:49.486\",,\"8,844\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"13.193.146.83\"\n\"September 21st 2015, 09:40:48.579\",,\"7,965\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.5.63.129\"\n\"September 21st 2015, 09:40:30.197\",,\"8,719\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.86.49.192\"\n\"September 21st 2015, 09:40:26.556\",,\"6,912\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.128.176.48\"\n\"September 21st 2015, 09:40:24.821\",,\"5,711\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.49.164.228\"\n\"September 21st 2015, 09:40:20.538\",,\"6,664\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"166.25.218.240\"\n\"September 21st 2015, 09:40:09.886\",,\"2,918\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.129.117.216\"\n\"September 21st 2015, 09:40:08.976\",,\"2,030\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.82.217.118\"\n\"September 21st 2015, 09:40:00.921\",,\"1,557\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.231.132.106\"\n\"September 21st 2015, 09:39:55.011\",,\"8,181\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.84.111.185\"\n\"September 21st 2015, 09:39:47.038\",,\"4,770\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"48.86.49.192\"\n\"September 21st 2015, 09:39:21.874\",,\"8,754\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"12.200.161.41\"\n\"September 21st 2015, 09:39:17.834\",,\"19,808\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.115.189.193\"\n\"September 21st 2015, 09:39:10.481\",,\"8,083\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.168.126.221\"\n\"September 21st 2015, 09:39:10.293\",,\"1,522\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.13.113.3\"\n\"September 21st 2015, 09:39:02.395\",,\"9,741\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.177.132.244\"\n\"September 21st 2015, 09:38:48.316\",,\"4,452\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"141.42.174.116\"\n\"September 21st 2015, 09:38:29.324\",,\"10,570\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.89.73.11\"\n\"September 21st 2015, 09:38:24.475\",,\"5,366\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"61.52.11.157\"\n\"September 21st 2015, 09:38:20.990\",,\"5,008\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.255.221.0\"\n\"September 21st 2015, 09:38:08.524\",,\"7,888\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"169.137.241.169\"\n\"September 21st 2015, 09:38:08.512\",,\"10,890\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"187.122.228.77\"\n\"September 21st 2015, 09:38:07.008\",,\"8,422\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.13.113.3\"\n\"September 21st 2015, 09:38:05.181\",,\"7,702\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.210.111.14\"\n\"September 21st 2015, 09:37:41.609\",,\"6,573\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.237.148.2\"\n\"September 21st 2015, 09:37:37.772\",,\"2,655\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"1.59.159.138\"\n\"September 21st 2015, 09:37:31.951\",,\"5,395\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.108.62.100\"\n\"September 21st 2015, 09:37:30.811\",,\"3,607\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"13.1.75.232\"\n\"September 21st 2015, 09:37:27.534\",,\"4,408\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"63.215.211.142\"\n\"September 21st 2015, 09:36:51.834\",,\"4,821\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"164.185.40.249\"\n\"September 21st 2015, 09:36:45.370\",,\"9,879\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.246.146.22\"\n\"September 21st 2015, 09:36:43.978\",,\"3,217\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"231.169.195.137\"\n\"September 21st 2015, 09:36:41.644\",,\"1,747\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.210.244.94\"\n\"September 21st 2015, 09:36:40.901\",,\"6,967\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"45.138.192.138\"\n\"September 21st 2015, 09:36:36.168\",,\"2,681\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"174.196.54.80\"\n\"September 21st 2015, 09:36:11.325\",,\"7,324\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"83.29.100.213\"\n\"September 21st 2015, 09:35:51.528\",,\"14,987\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.19.117.208\"\n\"September 21st 2015, 09:35:51.050\",,\"15,493\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.159.183.77\"\n\"September 21st 2015, 09:35:48.428\",,\"7,483\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.68.89.92\"\n\"September 21st 2015, 09:35:46.042\",,\"3,942\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.243.109.222\"\n\"September 21st 2015, 09:35:44.376\",,\"3,300\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"189.172.19.77\"\n\"September 21st 2015, 09:35:36.440\",,\"8,506\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"67.220.97.120\"\n\"September 21st 2015, 09:35:16.435\",,\"3,734\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.139.156.196\"\n\"September 21st 2015, 09:35:12.563\",,\"5,523\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"222.201.119.239\"\n\"September 21st 2015, 09:35:04.595\",,\"1,718\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.47.79.172\"\n\"September 21st 2015, 09:34:57.154\",,\"8,105\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"8.248.237.182\"\n\"September 21st 2015, 09:34:39.243\",,\"4,578\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"141.30.231.202\"\n\"September 21st 2015, 09:34:32.433\",,\"4,245\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"2.203.112.183\"\n\"September 21st 2015, 09:34:21.997\",,\"7,976\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"136.210.127.128\"\n\"September 21st 2015, 09:34:12.085\",,\"2,931\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.38.139.107\"\n\"September 21st 2015, 09:33:53.910\",,\"7,126\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.215.211.142\"\n\"September 21st 2015, 09:33:33.045\",,\"1,563\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.149.85.183\"\n\"September 21st 2015, 09:33:32.302\",,\"2,468\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"248.163.75.193\"\n\"September 21st 2015, 09:33:32.144\",,\"2,640\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"221.75.94.8\"\n\"September 21st 2015, 09:33:31.566\",,\"7,036\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"181.135.248.113\"\n\"September 21st 2015, 09:33:28.609\",,\"10,753\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.102.200.168\"\n\"September 21st 2015, 09:33:20.482\",,\"7,849\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"159.230.143.48\"\n\"September 21st 2015, 09:32:55.987\",,\"9,182\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.125.84.30\"\n\"September 21st 2015, 09:32:51.182\",,\"9,567\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"6.183.121.70\"\n\"September 21st 2015, 09:32:50.319\",,\"8,701\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.53.125.87\"\n\"September 21st 2015, 09:32:34.009\",,\"9,495\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.132.193.95\"\n\"September 21st 2015, 09:32:25.115\",,\"8,951\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"147.195.26.33\"\n\"September 21st 2015, 09:32:08.434\",,\"5,278\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.205.46.255\"\n\"September 21st 2015, 09:32:06.244\",,\"3,478\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"82.40.137.38\"\n\"September 21st 2015, 09:31:38.106\",,\"3,404\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.89.73.11\"\n\"September 21st 2015, 09:31:32.790\",,\"6,187\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"245.155.198.238\"\n\"September 21st 2015, 09:31:31.910\",,\"8,662\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"187.33.177.173\"\n\"September 21st 2015, 09:31:19.973\",,\"3,886\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.106.203.143\"\n\"September 21st 2015, 09:31:11.796\",,\"4,494\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.232.128.91\"\n\"September 21st 2015, 09:31:07.616\",,\"8,453\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.99.243.183\"\n\"September 21st 2015, 09:31:06.407\",,\"8,561\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"74.224.77.232\"\n\"September 21st 2015, 09:31:04.564\",,\"3,358\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.63.63.137\"\n\"September 21st 2015, 09:30:24.565\",,\"7,882\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.227.125.229\"\n\"September 21st 2015, 09:30:24.310\",,\"2,996\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.61.116.63\"\n\"September 21st 2015, 09:30:23.378\",,\"7,738\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.244.83.137\"\n\"September 21st 2015, 09:29:46.948\",,\"8,519\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.111.249.239\"\n\"September 21st 2015, 09:29:45.298\",,\"9,731\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.191.52.177\"\n\"September 21st 2015, 09:29:39.794\",,\"9,380\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.210.116.210\"\n\"September 21st 2015, 09:29:38.228\",,\"2,804\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.83.96.39\"\n\"September 21st 2015, 09:29:22.857\",,\"10,430\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.227.125.229\"\n\"September 21st 2015, 09:29:20.415\",,\"7,911\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.126.43.84\"\n\"September 21st 2015, 09:29:17.866\",,\"2,140\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"19.28.123.34\"\n\"September 21st 2015, 09:29:10.512\",,\"8,646\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"196.131.253.111\"\n\"September 21st 2015, 09:28:50.876\",,\"4,229\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.241.46.95\"\n\"September 21st 2015, 09:28:50.667\",,\"9,297\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.120.60.102\"\n\"September 21st 2015, 09:28:47.680\",,\"9,925\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.128.7.74\"\n\"September 21st 2015, 09:28:33.404\",,\"19,807\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.151.84.213\"\n\"September 21st 2015, 09:28:24.235\",,\"1,690\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.139.45.110\"\n\"September 21st 2015, 09:28:22.615\",,\"5,391\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.152.13.69\"\n\"September 21st 2015, 09:28:15.617\",,\"4,516\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"101.43.176.190\"\n\"September 21st 2015, 09:27:26.403\",,\"6,245\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"5.206.32.88\"\n\"September 21st 2015, 09:27:23.569\",,\"2,624\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.53.120.159\"\n\"September 21st 2015, 09:26:51.316\",,\"4,355\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.150.212.12\"\n\"September 21st 2015, 09:26:49.370\",,\"5,957\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.45.70.116\"\n\"September 21st 2015, 09:26:46.714\",,\"16,222\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.55.251.105\"\n\"September 21st 2015, 09:26:45.953\",,\"7,448\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.210.163.45\"\n\"September 21st 2015, 09:26:32.342\",,\"7,915\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.172.42.72\"\n\"September 21st 2015, 09:26:22.797\",,\"6,608\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.41.228.240\"\n\"September 21st 2015, 09:26:06.634\",,\"6,826\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.28.123.34\"\n\"September 21st 2015, 09:26:03.845\",,\"4,518\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.58.47.229\"\n\"September 21st 2015, 09:25:56.273\",,\"1,908\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.158.217.196\"\n\"September 21st 2015, 09:25:39.309\",,\"6,312\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.244.150.190\"\n\"September 21st 2015, 09:25:18.885\",,\"7,488\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.37.236.61\"\n\"September 21st 2015, 09:24:46.402\",,\"8,581\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"165.150.252.187\"\n\"September 21st 2015, 09:24:40.280\",,\"8,949\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.126.255.31\"\n\"September 21st 2015, 09:24:33.321\",,\"9,298\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"29.188.141.95\"\n\"September 21st 2015, 09:24:33.001\",,\"3,084\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"63.219.233.187\"\n\"September 21st 2015, 09:24:02.558\",,\"7,275\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.15.54.136\"\n\"September 21st 2015, 09:24:01.290\",,\"8,417\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.122.217.55\"\n\"September 21st 2015, 09:23:55.356\",,\"8,748\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"146.86.123.109\"\n\"September 21st 2015, 09:23:49.284\",,\"3,196\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.249.93.77\"\n\"September 21st 2015, 09:23:28.699\",,\"5,331\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"212.99.52.163\"\n\"September 21st 2015, 09:23:15.091\",,\"7,288\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"154.79.180.7\"\n\"September 21st 2015, 09:23:12.847\",,\"9,627\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"189.125.84.30\"\n\"September 21st 2015, 09:23:06.069\",,\"5,828\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.183.87.181\"\n\"September 21st 2015, 09:22:55.128\",,\"4,131\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.140.171.133\"\n\"September 21st 2015, 09:22:46.001\",,\"3,022\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"122.25.161.118\"\n\"September 21st 2015, 09:22:43.687\",,\"6,414\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"81.186.187.11\"\n\"September 21st 2015, 09:22:38.118\",,\"9,093\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"10.192.39.62\"\n\"September 21st 2015, 09:22:33.396\",,\"7,097\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.128.207.200\"\n\"September 21st 2015, 09:22:25.356\",,\"11,515\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"208.246.143.109\"\n\"September 21st 2015, 09:22:14.314\",,\"5,772\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"75.246.160.14\"\n\"September 21st 2015, 09:22:11.525\",,\"8,232\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.36.203.241\"\n\"September 21st 2015, 09:22:08.645\",,\"4,631\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"143.81.107.227\"\n\"September 21st 2015, 09:22:04.227\",,\"4,479\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"50.184.86.48\"\n\"September 21st 2015, 09:21:46.856\",,\"6,650\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"72.173.69.119\"\n\"September 21st 2015, 09:21:18.149\",,\"9,832\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.205.146.206\"\n\"September 21st 2015, 09:21:12.214\",,\"4,483\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"68.107.5.226\"\n\"September 21st 2015, 09:20:59.272\",,\"9,269\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"244.112.251.87\"\n\"September 21st 2015, 09:20:38.348\",,\"9,552\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.90.215.57\"\n\"September 21st 2015, 09:20:32.480\",,\"6,614\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.116.179.248\"\n\"September 21st 2015, 09:20:26.579\",,\"6,132\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"127.63.221.223\"\n\"September 21st 2015, 09:20:25.410\",,\"3,361\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.237.80.177\"\n\"September 21st 2015, 09:20:24.161\",,\"6,343\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.142.140.200\"\n\"September 21st 2015, 09:20:08.048\",,\"4,558\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.198.170.210\"\n\"September 21st 2015, 09:20:04.939\",,\"7,569\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.203.229.229\"\n\"September 21st 2015, 09:20:02.141\",,\"7,816\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.221.41.27\"\n\"September 21st 2015, 09:19:54.297\",,\"1,687\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.195.163.57\"\n\"September 21st 2015, 09:19:46.616\",,\"6,189\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.119.63.71\"\n\"September 21st 2015, 09:19:29.024\",,\"13,140\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.79.151.78\"\n\"September 21st 2015, 09:19:22.494\",,\"8,434\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"59.202.132.136\"\n\"September 21st 2015, 09:19:20.818\",,\"2,092\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"43.164.236.145\"\n\"September 21st 2015, 09:19:06.646\",,\"2,555\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.79.108.136\"\n\"September 21st 2015, 09:18:39.487\",,\"8,157\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"241.45.143.98\"\n\"September 21st 2015, 09:18:33.351\",,\"8,183\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"43.123.164.190\"\n\"September 21st 2015, 09:18:15.170\",,\"8,390\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.154.233.154\"\n\"September 21st 2015, 09:17:56.316\",,\"2,760\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.122.34.237\"\n\"September 21st 2015, 09:17:55.337\",,\"9,647\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"165.104.70.8\"\n\"September 21st 2015, 09:17:51.241\",,\"5,500\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"154.55.57.32\"\n\"September 21st 2015, 09:17:46.857\",,\"1,586\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"188.225.40.190\"\n\"September 21st 2015, 09:17:37.046\",,\"17,742\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.181.188.3\"\n\"September 21st 2015, 09:17:31.480\",,\"1,530\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"214.5.110.41\"\n\"September 21st 2015, 09:17:24.687\",,\"6,501\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"158.168.90.226\"\n\"September 21st 2015, 09:17:14.424\",,\"4,976\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.222.131.172\"\n\"September 21st 2015, 09:17:11.963\",,\"5,688\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.77.18.142\"\n\"September 21st 2015, 09:17:00.940\",,\"8,585\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"167.51.186.15\"\n\"September 21st 2015, 09:17:00.026\",,\"5,980\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"48.206.231.233\"\n\"September 21st 2015, 09:16:56.238\",,\"8,456\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"50.184.86.48\"\n\"September 21st 2015, 09:16:55.159\",,\"16,089\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"192.219.151.88\"\n\"September 21st 2015, 09:16:51.029\",,\"7,653\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"242.22.22.10\"\n\"September 21st 2015, 09:16:34.962\",,\"17,824\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"187.122.228.77\"\n\"September 21st 2015, 09:16:24.274\",,\"7,206\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.219.133.141\"\n\"September 21st 2015, 09:16:22.666\",,\"9,957\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"223.237.148.2\"\n\"September 21st 2015, 09:16:20.995\",,\"5,660\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"124.187.220.168\"\n\"September 21st 2015, 09:16:12.540\",,\"3,860\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.219.65.244\"\n\"September 21st 2015, 09:16:11.345\",,\"2,486\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.219.108.141\"\n\"September 21st 2015, 09:16:09.009\",,\"5,623\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"32.146.206.24\"\n\"September 21st 2015, 09:16:02.185\",,\"8,327\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.224.131.67\"\n\"September 21st 2015, 09:16:00.779\",,\"6,802\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.55.80.52\"\n\"September 21st 2015, 09:15:53.108\",,\"3,121\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.57.170.220\"\n\"September 21st 2015, 09:15:51.361\",,\"3,996\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.55.141.62\"\n\"September 21st 2015, 09:15:49.902\",,\"7,080\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.125.131.162\"\n\"September 21st 2015, 09:15:47.434\",,\"7,861\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.195.18.133\"\n\"September 21st 2015, 09:15:28.113\",,\"9,061\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.214.104.239\"\n\"September 21st 2015, 09:15:05.241\",,\"3,996\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.63.51.8\"\n\"September 21st 2015, 09:15:02.292\",,\"6,759\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.57.26.210\"\n\"September 21st 2015, 09:14:55.298\",,\"5,208\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.237.148.2\"\n\"September 21st 2015, 09:14:49.706\",,\"3,261\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.6.163.4\"\n\"September 21st 2015, 09:14:41.396\",,\"5,300\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.180.70.74\"\n\"September 21st 2015, 09:14:38.916\",,\"7,384\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"80.80.35.243\"\n\"September 21st 2015, 09:14:35.753\",,\"4,881\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"185.148.221.121\"\n\"September 21st 2015, 09:14:19.320\",,\"19,210\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.239.0.38\"\n\"September 21st 2015, 09:14:03.586\",,\"5,257\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"24.5.165.192\"\n\"September 21st 2015, 09:13:46.044\",,\"7,285\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"109.136.109.115\"\n\"September 21st 2015, 09:13:26.961\",,\"2,250\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"76.120.12.168\"\n\"September 21st 2015, 09:13:25.652\",,\"9,617\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"198.21.77.227\"\n\"September 21st 2015, 09:13:22.463\",,\"4,059\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.205.146.206\"\n\"September 21st 2015, 09:13:18.216\",,\"4,602\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.57.170.220\"\n\"September 21st 2015, 09:13:08.751\",,\"9,042\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"66.201.249.221\"\n\"September 21st 2015, 09:13:07.370\",,\"5,088\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"70.101.68.233\"\n\"September 21st 2015, 09:13:01.117\",,\"7,528\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"218.226.100.31\"\n\"September 21st 2015, 09:12:59.385\",,\"5,354\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"134.62.86.139\"\n\"September 21st 2015, 09:12:57.417\",,\"2,632\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.2.26.42\"\n\"September 21st 2015, 09:12:56.720\",,\"4,918\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"247.149.109.96\"\n\"September 21st 2015, 09:12:54.522\",,\"6,419\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.237.64.228\"\n\"September 21st 2015, 09:12:48.616\",,\"1,787\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.5.63.129\"\n\"September 21st 2015, 09:12:46.367\",,\"8,319\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.138.21.252\"\n\"September 21st 2015, 09:12:44.002\",,\"3,287\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.199.42.50\"\n\"September 21st 2015, 09:12:42.841\",,\"3,031\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.151.155.50\"\n\"September 21st 2015, 09:12:40.113\",,\"3,151\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"149.84.78.58\"\n\"September 21st 2015, 09:12:27.422\",,\"9,238\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.181.188.3\"\n\"September 21st 2015, 09:12:22.272\",,\"1,637\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.208.223.252\"\n\"September 21st 2015, 09:12:21.031\",,\"4,509\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.63.51.8\"\n\"September 21st 2015, 09:12:11.822\",,\"2,833\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"197.150.233.60\"\n\"September 21st 2015, 09:12:09.222\",,\"6,509\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"56.7.132.13\"\n\"September 21st 2015, 09:12:02.651\",,\"6,338\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"187.33.177.173\"\n\"September 21st 2015, 09:11:53.303\",,\"3,742\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.85.51.238\"\n\"September 21st 2015, 09:11:41.361\",,\"3,563\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"247.129.16.191\"\n\"September 21st 2015, 09:11:36.824\",,\"6,081\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"100.50.11.41\"\n\"September 21st 2015, 09:11:36.108\",,\"5,755\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.22.228.100\"\n\"September 21st 2015, 09:11:35.308\",,\"7,126\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.138.70.255\"\n\"September 21st 2015, 09:11:28.670\",,\"9,549\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"71.100.136.81\"\n\"September 21st 2015, 09:11:12.505\",,\"8,004\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.165.226.140\"\n\"September 21st 2015, 09:11:11.784\",,\"6,961\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.21.156.43\"\n\"September 21st 2015, 09:11:07.973\",,\"2,268\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.190.101.72\"\n\"September 21st 2015, 09:10:55.193\",,\"7,571\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.185.146.124\"\n\"September 21st 2015, 09:10:50.345\",,\"6,020\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.85.86.52\"\n\"September 21st 2015, 09:10:37.151\",,\"3,549\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.5.63.129\"\n\"September 21st 2015, 09:10:35.772\",,\"3,773\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.43.124.118\"\n\"September 21st 2015, 09:10:33.767\",,\"11,782\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"58.190.216.56\"\n\"September 21st 2015, 09:10:17.598\",,\"8,562\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"32.94.46.226\"\n\"September 21st 2015, 09:10:17.232\",,\"8,727\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.62.211.92\"\n\"September 21st 2015, 09:10:16.524\",,\"7,248\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.86.49.192\"\n\"September 21st 2015, 09:10:06.840\",,\"2,168\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.19.217.148\"\n\"September 21st 2015, 09:09:47.696\",,\"2,489\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"54.194.215.29\"\n\"September 21st 2015, 09:09:24.196\",,\"1,249\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"126.112.222.13\"\n\"September 21st 2015, 09:09:15.127\",,\"2,338\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"35.222.204.135\"\n\"September 21st 2015, 09:09:13.697\",,\"2,256\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"58.190.216.56\"\n\"September 21st 2015, 09:09:06.459\",,\"2,141\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.206.231.233\"\n\"September 21st 2015, 09:08:31.794\",,\"3,558\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.205.146.206\"\n\"September 21st 2015, 09:08:15.835\",,\"2,995\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.111.249.239\"\n\"September 21st 2015, 09:08:14.163\",,\"9,824\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.156.6.246\"\n\"September 21st 2015, 09:08:06.522\",,\"5,018\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.22.226.5\"\n\"September 21st 2015, 09:07:45.259\",,\"8,768\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"143.84.142.7\"\n\"September 21st 2015, 09:07:41.927\",,\"13,115\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"128.108.188.178\"\n\"September 21st 2015, 09:07:24.448\",,\"4,620\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.109.145.217\"\n\"September 21st 2015, 09:06:58.987\",,\"12,308\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.220.171.248\"\n\"September 21st 2015, 09:06:53.388\",,\"2,651\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"60.231.227.7\"\n\"September 21st 2015, 09:06:45.256\",,\"4,513\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"158.222.162.158\"\n\"September 21st 2015, 09:06:45.198\",,\"8,725\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"36.41.204.197\"\n\"September 21st 2015, 09:06:42.498\",,\"2,593\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"7.9.151.133\"\n\"September 21st 2015, 09:06:41.109\",,\"3,664\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"113.43.75.122\"\n\"September 21st 2015, 09:06:31.062\",,\"4,098\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.53.110.116\"\n\"September 21st 2015, 09:06:30.741\",,\"1,722\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"120.101.20.104\"\n\"September 21st 2015, 09:06:18.782\",,\"4,644\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"144.135.123.19\"\n\"September 21st 2015, 09:06:14.336\",,\"16,189\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"225.241.219.2\"\n\"September 21st 2015, 09:06:09.371\",,\"17,096\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"63.7.218.218\"\n\"September 21st 2015, 09:06:05.015\",,\"3,615\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.159.75.84\"\n\"September 21st 2015, 09:06:01.052\",,\"4,280\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.210.111.14\"\n\"September 21st 2015, 09:05:54.548\",,\"8,750\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.165.226.140\"\n\"September 21st 2015, 09:05:32.670\",,\"2,196\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"28.46.60.20\"\n\"September 21st 2015, 09:04:43.824\",,\"3,443\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"69.84.146.72\"\n\"September 21st 2015, 09:04:42.960\",,\"5,469\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"165.24.164.93\"\n\"September 21st 2015, 09:04:37.254\",,\"2,636\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"146.86.123.109\"\n\"September 21st 2015, 09:04:30.245\",,\"5,910\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.254.91.215\"\n\"September 21st 2015, 09:04:14.758\",,\"2,864\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.158.217.196\"\n\"September 21st 2015, 09:04:00.676\",,\"7,792\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.128.223.209\"\n\"September 21st 2015, 09:03:43.034\",,\"7,259\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"52.49.164.228\"\n\"September 21st 2015, 09:03:34.325\",,\"2,167\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.191.218.38\"\n\"September 21st 2015, 09:03:26.533\",,\"2,370\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.63.51.8\"\n\"September 21st 2015, 09:03:23.568\",,\"7,656\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"225.222.13.93\"\n\"September 21st 2015, 09:03:16.424\",,\"9,980\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"184.125.153.221\"\n\"September 21st 2015, 09:03:10.983\",,\"5,752\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.207.244.57\"\n\"September 21st 2015, 09:03:05.083\",,\"1,841\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"67.238.57.221\"\n\"September 21st 2015, 09:02:56.391\",,\"9,739\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"217.132.169.207\"\n\"September 21st 2015, 09:02:29.785\",,\"2,320\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"83.29.100.213\"\n\"September 21st 2015, 09:02:18.052\",,\"2,137\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"48.155.42.103\"\n\"September 21st 2015, 09:02:15.214\",,\"7,484\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.75.33.146\"\n\"September 21st 2015, 09:02:12.623\",,\"8,480\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.177.125.196\"\n\"September 21st 2015, 09:02:04.058\",,\"1,550\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"145.211.179.106\"\n\"September 21st 2015, 09:01:49.505\",,\"2,945\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"23.184.94.58\"\n\"September 21st 2015, 09:01:47.957\",,\"16,922\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.223.87.67\"\n\"September 21st 2015, 09:01:20.432\",,\"3,966\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"232.44.243.247\"\n\"September 21st 2015, 09:00:48.378\",,\"6,838\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.211.13.64\"\n\"September 21st 2015, 09:00:47.791\",,\"7,640\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"159.230.143.48\"\n\"September 21st 2015, 09:00:38.065\",,\"4,293\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.92.235.117\"\n\"September 21st 2015, 09:00:35.167\",,\"13,835\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"6.70.186.143\"\n\"September 21st 2015, 09:00:34.180\",,\"5,276\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.85.86.52\"\n\"September 21st 2015, 09:00:31.274\",,\"7,271\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.13.113.3\"\n\"September 21st 2015, 09:00:30.898\",,\"5,295\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.194.113.132\"\n\"September 21st 2015, 09:00:21.931\",,\"7,829\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"124.187.220.168\"\n\"September 21st 2015, 09:00:16.080\",,\"3,641\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.30.157.224\"\n\"September 21st 2015, 09:00:10.686\",,\"1,589\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"131.98.185.144\"\n\"September 21st 2015, 08:59:57.455\",,\"8,741\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.119.63.71\"\n\"September 21st 2015, 08:59:50.301\",,\"6,545\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"24.202.52.232\"\n\"September 21st 2015, 08:59:46.386\",,\"5,862\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"247.129.16.191\"\n\"September 21st 2015, 08:59:37.546\",,\"8,428\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.218.92.179\"\n\"September 21st 2015, 08:59:35.110\",,\"8,037\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"32.146.206.24\"\n\"September 21st 2015, 08:59:29.093\",,\"3,668\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.57.13.23\"\n\"September 21st 2015, 08:59:18.757\",,\"4,753\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.65.30.133\"\n\"September 21st 2015, 08:58:32.612\",,\"2,528\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"132.242.0.119\"\n\"September 21st 2015, 08:58:26.474\",,\"8,204\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.83.52.239\"\n\"September 21st 2015, 08:58:15.815\",,\"4,884\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.244.83.137\"\n\"September 21st 2015, 08:58:04.341\",,\"7,337\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"118.63.242.217\"\n\"September 21st 2015, 08:57:51.258\",,\"2,501\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.113.219.30\"\n\"September 21st 2015, 08:57:47.848\",,\"7,174\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.63.242.217\"\n\"September 21st 2015, 08:57:46.809\",,\"6,111\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.254.91.215\"\n\"September 21st 2015, 08:57:39.485\",,\"4,556\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.102.200.168\"\n\"September 21st 2015, 08:57:39.337\",,\"6,503\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.255.142.177\"\n\"September 21st 2015, 08:57:39.222\",,\"2,286\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.220.171.248\"\n\"September 21st 2015, 08:57:21.639\",,\"2,542\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"188.28.50.40\"\n\"September 21st 2015, 08:57:15.347\",,\"8,397\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.222.56.247\"\n\"September 21st 2015, 08:57:13.702\",,\"6,660\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.177.125.196\"\n\"September 21st 2015, 08:57:04.170\",,\"3,891\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"101.43.176.190\"\n\"September 21st 2015, 08:57:03.055\",,\"4,482\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.74.144.217\"\n\"September 21st 2015, 08:57:01.061\",,\"4,990\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"184.125.153.221\"\n\"September 21st 2015, 08:57:00.062\",,\"9,429\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"246.123.178.135\"\n\"September 21st 2015, 08:56:57.727\",,\"3,118\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.250.210.253\"\n\"September 21st 2015, 08:56:45.746\",,\"4,860\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.57.26.210\"\n\"September 21st 2015, 08:56:24.533\",,\"3,935\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.209.234.93\"\n\"September 21st 2015, 08:56:16.755\",,\"3,901\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"144.31.154.6\"\n\"September 21st 2015, 08:56:13.296\",,\"4,898\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"94.154.194.208\"\n\"September 21st 2015, 08:56:11.138\",,\"5,491\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.80.35.243\"\n\"September 21st 2015, 08:56:06.667\",,\"4,467\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.216.173.242\"\n\"September 21st 2015, 08:55:58.243\",,\"6,657\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.25.112.43\"\n\"September 21st 2015, 08:55:56.625\",,\"4,235\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.202.168.250\"\n\"September 21st 2015, 08:55:54.460\",,\"2,221\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"141.42.174.116\"\n\"September 21st 2015, 08:55:43.240\",,\"7,888\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.7.121.157\"\n\"September 21st 2015, 08:55:38.151\",,\"4,440\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"58.190.216.56\"\n\"September 21st 2015, 08:55:25.595\",,\"3,857\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.233.238.181\"\n\"September 21st 2015, 08:55:25.224\",,\"3,495\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.54.226.211\"\n\"September 21st 2015, 08:55:25.193\",,\"9,111\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.159.75.84\"\n\"September 21st 2015, 08:55:19.397\",,\"7,060\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.56.56.106\"\n\"September 21st 2015, 08:55:06.424\",,\"3,163\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.188.1.153\"\n\"September 21st 2015, 08:55:05.763\",,\"5,619\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.83.52.239\"\n\"September 21st 2015, 08:54:55.073\",,\"7,051\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.207.16.29\"\n\"September 21st 2015, 08:54:54.900\",,\"8,688\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.216.173.242\"\n\"September 21st 2015, 08:54:51.100\",,\"6,577\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"175.211.243.56\"\n\"September 21st 2015, 08:54:49.508\",,\"3,477\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.12.231.216\"\n\"September 21st 2015, 08:54:47.782\",,\"5,814\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.204.236.159\"\n\"September 21st 2015, 08:54:15.267\",,\"7,483\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.115.81.216\"\n\"September 21st 2015, 08:54:08.321\",,\"2,767\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.194.157.171\"\n\"September 21st 2015, 08:54:04.749\",,\"7,382\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"91.127.213.244\"\n\"September 21st 2015, 08:54:04.093\",,\"5,321\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.115.74.144\"\n\"September 21st 2015, 08:54:01.334\",,\"7,034\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.37.94.4\"\n\"September 21st 2015, 08:54:00.247\",,\"9,627\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"154.28.252.79\"\n\"September 21st 2015, 08:53:59.105\",,\"7,130\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.117.3.60\"\n\"September 21st 2015, 08:53:40.915\",,\"9,413\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.147.43.175\"\n\"September 21st 2015, 08:53:27.287\",,\"4,938\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"247.129.16.191\"\n\"September 21st 2015, 08:53:22.422\",,\"3,835\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.60.53.165\"\n\"September 21st 2015, 08:53:18.473\",,\"2,540\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.53.120.159\"\n\"September 21st 2015, 08:53:00.054\",,\"2,782\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"250.75.97.203\"\n\"September 21st 2015, 08:52:51.476\",,\"8,796\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.223.87.67\"\n\"September 21st 2015, 08:52:42.982\",,\"6,328\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.87.17.249\"\n\"September 21st 2015, 08:52:42.671\",,\"4,123\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.223.188.57\"\n\"September 21st 2015, 08:52:40.070\",,\"3,352\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"153.139.156.196\"\n\"September 21st 2015, 08:52:31.033\",,\"11,941\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.34.138.226\"\n\"September 21st 2015, 08:52:26.001\",,\"2,126\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"212.144.148.155\"\n\"September 21st 2015, 08:52:25.858\",,\"2,127\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.194.215.29\"\n\"September 21st 2015, 08:52:22.761\",,\"8,669\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.40.73.208\"\n\"September 21st 2015, 08:52:22.331\",,\"8,748\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.89.226.36\"\n\"September 21st 2015, 08:52:19.094\",,\"3,194\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.43.210.167\"\n\"September 21st 2015, 08:52:10.632\",,\"9,457\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.255.46.138\"\n\"September 21st 2015, 08:52:05.652\",,\"7,877\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.61.106.118\"\n\"September 21st 2015, 08:52:00.038\",,\"5,249\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.188.44.145\"\n\"September 21st 2015, 08:51:21.740\",,\"9,081\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.242.204.223\"\n\"September 21st 2015, 08:51:16.855\",,\"6,443\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.33.120.224\"\n\"September 21st 2015, 08:50:53.462\",,\"2,313\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"214.164.244.131\"\n\"September 21st 2015, 08:50:42.120\",,\"2,801\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.15.162.241\"\n\"September 21st 2015, 08:50:39.299\",,\"5,948\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.46.176.132\"\n\"September 21st 2015, 08:50:35.177\",,\"4,822\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.221.105.131\"\n\"September 21st 2015, 08:50:16.746\",,\"9,447\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"69.142.235.222\"\n\"September 21st 2015, 08:50:01.769\",,\"19,293\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.41.228.240\"\n\"September 21st 2015, 08:49:55.423\",,\"2,362\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.199.255.8\"\n\"September 21st 2015, 08:49:47.245\",,\"3,312\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.134.216.218\"\n\"September 21st 2015, 08:49:44.857\",,\"3,698\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.117.135.38\"\n\"September 21st 2015, 08:49:44.468\",,\"18,584\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.83.17.193\"\n\"September 21st 2015, 08:49:38.465\",,\"3,288\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"60.231.227.7\"\n\"September 21st 2015, 08:49:38.169\",,\"5,334\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.252.112.76\"\n\"September 21st 2015, 08:49:29.265\",,\"4,533\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.167.54.119\"\n\"September 21st 2015, 08:49:19.606\",,\"3,028\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.183.28.41\"\n\"September 21st 2015, 08:49:09.964\",,\"2,237\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"236.110.56.1\"\n\"September 21st 2015, 08:49:06.141\",,\"18,042\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"12.102.47.119\"\n\"September 21st 2015, 08:49:03.524\",,\"6,509\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"17.117.135.38\"\n\"September 21st 2015, 08:48:46.400\",,\"5,761\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.121.116.124\"\n\"September 21st 2015, 08:48:26.378\",,\"3,208\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.163.133.47\"\n\"September 21st 2015, 08:48:18.626\",,\"3,784\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"24.202.52.232\"\n\"September 21st 2015, 08:48:14.182\",,\"6,669\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.7.132.13\"\n\"September 21st 2015, 08:48:10.393\",,\"1,533\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"80.38.138.172\"\n\"September 21st 2015, 08:48:05.358\",,\"9,126\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"90.156.163.220\"\n\"September 21st 2015, 08:48:02.488\",,\"9,068\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.245.188.46\"\n\"September 21st 2015, 08:47:45.408\",,\"5,762\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.160.128.58\"\n\"September 21st 2015, 08:47:41.439\",,\"5,008\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"244.112.251.87\"\n\"September 21st 2015, 08:47:31.688\",,\"2,631\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"0.254.91.215\"\n\"September 21st 2015, 08:47:28.777\",,\"8,691\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.223.100.33\"\n\"September 21st 2015, 08:47:21.579\",,\"7,558\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.109.145.217\"\n\"September 21st 2015, 08:47:20.989\",,\"1,919\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.174.35.186\"\n\"September 21st 2015, 08:47:18.789\",,\"2,398\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"64.222.56.247\"\n\"September 21st 2015, 08:47:16.510\",,\"9,715\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.30.209.2\"\n\"September 21st 2015, 08:47:14.032\",,\"4,617\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.137.8.156\"\n\"September 21st 2015, 08:47:01.211\",,\"9,939\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.93.29.126\"\n\"September 21st 2015, 08:46:57.328\",,\"6,051\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.59.94.122\"\n\"September 21st 2015, 08:46:49.214\",,\"1,571\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.243.115.83\"\n\"September 21st 2015, 08:46:41.790\",,\"5,061\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.192.144.100\"\n\"September 21st 2015, 08:46:36.559\",,\"3,416\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"129.24.204.40\"\n\"September 21st 2015, 08:46:33.065\",,\"4,284\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.190.189.77\"\n\"September 21st 2015, 08:46:08.536\",,\"4,130\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.43.63.180\"\n\"September 21st 2015, 08:46:01.651\",,\"4,308\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"161.108.174.248\"\n\"September 21st 2015, 08:45:54.597\",,\"9,419\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"154.28.252.79\"\n\"September 21st 2015, 08:45:54.052\",,\"2,085\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"13.38.168.2\"\n\"September 21st 2015, 08:45:44.840\",,\"7,714\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"96.40.73.208\"\n\"September 21st 2015, 08:45:32.076\",,\"2,285\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.221.41.27\"\n\"September 21st 2015, 08:45:12.292\",,\"6,800\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.158.217.196\"\n\"September 21st 2015, 08:45:08.236\",,\"5,944\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"85.107.235.54\"\n\"September 21st 2015, 08:45:01.291\",,\"2,939\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.192.52.3\"\n\"September 21st 2015, 08:44:56.842\",,\"1,794\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.34.138.226\"\n\"September 21st 2015, 08:44:56.503\",,\"6,799\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"154.28.252.79\"\n\"September 21st 2015, 08:44:43.873\",,\"2,692\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.149.151.88\"\n\"September 21st 2015, 08:44:23.761\",,\"7,856\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.159.183.77\"\n\"September 21st 2015, 08:44:19.904\",,\"3,874\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.86.105.212\"\n\"September 21st 2015, 08:44:17.997\",,\"1,939\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"23.3.174.206\"\n\"September 21st 2015, 08:44:01.837\",,\"1,934\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.42.189.244\"\n\"September 21st 2015, 08:43:57.708\",,\"1,594\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"68.107.5.226\"\n\"September 21st 2015, 08:43:38.485\",,\"8,278\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.4.99.92\"\n\"September 21st 2015, 08:43:33.406\",,\"3,774\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"42.72.83.65\"\n\"September 21st 2015, 08:43:27.828\",,\"2,816\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"202.48.108.4\"\n\"September 21st 2015, 08:43:26.345\",,\"8,652\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"117.112.55.75\"\n\"September 21st 2015, 08:42:55.186\",,\"5,164\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"87.76.133.12\"\n\"September 21st 2015, 08:42:43.707\",,\"9,081\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.195.111.241\"\n\"September 21st 2015, 08:42:37.826\",,\"5,047\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"4.125.116.118\"\n\"September 21st 2015, 08:42:33.285\",,\"3,224\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"214.13.7.53\"\n\"September 21st 2015, 08:42:29.404\",,\"4,811\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.56.222.3\"\n\"September 21st 2015, 08:42:20.894\",,\"2,036\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.89.73.11\"\n\"September 21st 2015, 08:42:13.862\",,\"5,938\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.83.76.140\"\n\"September 21st 2015, 08:41:56.401\",,\"5,544\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"182.57.70.84\"\n\"September 21st 2015, 08:41:38.683\",,\"4,378\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"74.214.76.90\"\n\"September 21st 2015, 08:41:33.121\",,\"4,166\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"116.126.47.226\"\n\"September 21st 2015, 08:41:29.096\",,\"1,620\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.57.26.210\"\n\"September 21st 2015, 08:41:26.677\",,\"1,545\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.194.113.132\"\n\"September 21st 2015, 08:41:00.885\",,\"3,217\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.248.17.146\"\n\"September 21st 2015, 08:41:00.164\",,\"9,076\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"64.221.41.27\"\n\"September 21st 2015, 08:40:59.427\",,\"7,026\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.225.107.118\"\n\"September 21st 2015, 08:40:59.070\",,\"2,565\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.83.92.252\"\n\"September 21st 2015, 08:40:58.547\",,\"13,741\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.90.39.228\"\n\"September 21st 2015, 08:40:49.914\",,\"3,976\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"124.187.220.168\"\n\"September 21st 2015, 08:40:37.858\",,\"3,175\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.148.221.121\"\n\"September 21st 2015, 08:40:37.257\",,\"15,775\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"76.240.114.69\"\n\"September 21st 2015, 08:40:36.558\",,\"6,242\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"101.145.158.45\"\n\"September 21st 2015, 08:40:32.161\",,\"7,167\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.192.80.162\"\n\"September 21st 2015, 08:40:26.330\",,\"1,864\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.76.224.154\"\n\"September 21st 2015, 08:39:55.225\",,\"2,727\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.92.239.70\"\n\"September 21st 2015, 08:39:44.102\",,\"12,484\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"0.209.80.244\"\n\"September 21st 2015, 08:39:43.830\",,\"3,391\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.233.202.162\"\n\"September 21st 2015, 08:39:34.669\",,\"8,143\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.105.196.209\"\n\"September 21st 2015, 08:39:32.655\",,\"9,230\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.147.119.226\"\n\"September 21st 2015, 08:39:11.955\",,\"4,577\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"64.203.229.1\"\n\"September 21st 2015, 08:39:06.547\",,\"5,038\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"158.179.121.61\"\n\"September 21st 2015, 08:39:04.689\",,\"6,094\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.97.64.146\"\n\"September 21st 2015, 08:39:02.326\",,\"6,920\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.180.70.74\"\n\"September 21st 2015, 08:38:49.944\",,\"8,621\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"244.112.251.87\"\n\"September 21st 2015, 08:38:30.342\",,\"8,336\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.52.178.194\"\n\"September 21st 2015, 08:38:29.667\",,\"6,583\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.63.84.25\"\n\"September 21st 2015, 08:38:19.611\",,\"3,631\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.100.162.251\"\n\"September 21st 2015, 08:37:58.817\",,\"9,623\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.185.234.193\"\n\"September 21st 2015, 08:37:47.786\",,\"5,556\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"43.123.164.190\"\n\"September 21st 2015, 08:37:47.382\",,\"7,472\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.205.178.33\"\n\"September 21st 2015, 08:37:46.237\",,\"8,847\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"168.174.35.186\"\n\"September 21st 2015, 08:37:45.935\",,\"6,221\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.94.183.177\"\n\"September 21st 2015, 08:37:42.451\",,\"8,329\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.123.71.54\"\n\"September 21st 2015, 08:37:37.397\",,\"6,645\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.95.78.209\"\n\"September 21st 2015, 08:37:30.062\",,\"6,978\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.5.167.41\"\n\"September 21st 2015, 08:37:28.460\",,\"9,048\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.19.217.148\"\n\"September 21st 2015, 08:37:28.419\",,\"4,118\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"254.75.96.91\"\n\"September 21st 2015, 08:37:24.617\",,\"7,511\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"234.58.25.145\"\n\"September 21st 2015, 08:37:19.863\",,\"7,010\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"182.128.15.97\"\n\"September 21st 2015, 08:37:14.950\",,\"2,308\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.11.74.125\"\n\"September 21st 2015, 08:37:10.283\",,\"9,389\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.172.119.148\"\n\"September 21st 2015, 08:37:07.522\",,\"5,458\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.231.132.106\"\n\"September 21st 2015, 08:36:47.605\",,\"6,603\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.7.164.59\"\n\"September 21st 2015, 08:36:34.940\",,\"5,434\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.154.198.225\"\n\"September 21st 2015, 08:36:22.869\",,\"6,219\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.244.231.5\"\n\"September 21st 2015, 08:36:21.918\",,\"4,659\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"133.198.170.210\"\n\"September 21st 2015, 08:36:19.478\",,\"1,816\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.215.43.26\"\n\"September 21st 2015, 08:36:15.192\",,\"8,794\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"204.17.159.23\"\n\"September 21st 2015, 08:36:10.875\",,\"11,007\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.153.166.47\"\n\"September 21st 2015, 08:35:55.215\",,\"8,660\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.55.195.184\"\n\"September 21st 2015, 08:35:54.487\",,\"2,168\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.83.247.30\"\n\"September 21st 2015, 08:35:52.226\",,\"2,911\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.167.54.47\"\n\"September 21st 2015, 08:35:50.786\",,\"5,389\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.165.226.140\"\n\"September 21st 2015, 08:35:45.449\",,\"4,360\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"117.2.255.240\"\n\"September 21st 2015, 08:35:33.209\",,\"7,901\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.12.231.216\"\n\"September 21st 2015, 08:34:58.778\",,\"8,048\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"67.220.97.120\"\n\"September 21st 2015, 08:34:48.472\",,\"8,042\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"189.101.14.210\"\n\"September 21st 2015, 08:34:35.609\",,\"8,439\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.246.143.109\"\n\"September 21st 2015, 08:34:25.354\",,\"2,795\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.106.203.143\"\n\"September 21st 2015, 08:34:23.296\",,\"2,631\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"241.49.31.82\"\n\"September 21st 2015, 08:34:22.106\",,\"4,856\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.240.114.69\"\n\"September 21st 2015, 08:33:09.483\",,\"8,877\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"10.91.83.148\"\n\"September 21st 2015, 08:33:00.922\",,\"6,543\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.164.244.131\"\n\"September 21st 2015, 08:32:53.661\",,\"9,928\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.70.170.56\"\n\"September 21st 2015, 08:32:44.437\",,\"4,602\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.147.43.175\"\n\"September 21st 2015, 08:32:39.902\",,\"7,651\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"167.165.89.8\"\n\"September 21st 2015, 08:32:29.305\",,\"8,690\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"76.215.43.26\"\n\"September 21st 2015, 08:32:21.608\",,\"3,942\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"86.193.157.89\"\n\"September 21st 2015, 08:32:18.102\",,\"1,895\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"146.229.88.89\"\n\"September 21st 2015, 08:32:04.176\",,\"6,081\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.59.94.122\"\n\"September 21st 2015, 08:31:59.766\",,\"6,564\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"86.252.46.140\"\n\"September 21st 2015, 08:31:40.764\",,\"1,620\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.139.46.29\"\n\"September 21st 2015, 08:31:38.300\",,\"4,043\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.206.61.6\"\n\"September 21st 2015, 08:31:37.226\",,\"6,759\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.206.73.252\"\n\"September 21st 2015, 08:31:35.858\",,\"17,390\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.87.17.249\"\n\"September 21st 2015, 08:31:34.213\",,\"9,344\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.61.182.136\"\n\"September 21st 2015, 08:31:28.981\",,\"1,571\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.127.124.65\"\n\"September 21st 2015, 08:31:13.309\",,\"5,988\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.47.79.172\"\n\"September 21st 2015, 08:31:13.207\",,\"2,863\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"131.98.185.144\"\n\"September 21st 2015, 08:31:10.659\",,\"6,783\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.37.151.239\"\n\"September 21st 2015, 08:30:50.990\",,\"5,503\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.203.229.1\"\n\"September 21st 2015, 08:30:49.035\",,\"3,946\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.185.146.124\"\n\"September 21st 2015, 08:30:41.943\",,\"5,334\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"70.211.225.125\"\n\"September 21st 2015, 08:30:37.846\",,\"2,308\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.0.98.104\"\n\"September 21st 2015, 08:30:35.649\",,\"14,137\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"127.254.107.86\"\n\"September 21st 2015, 08:30:35.370\",,\"7,106\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.70.170.56\"\n\"September 21st 2015, 08:30:13.751\",,\"7,372\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.243.115.83\"\n\"September 21st 2015, 08:30:07.029\",,\"3,957\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.138.21.252\"\n\"September 21st 2015, 08:30:06.261\",,\"4,036\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.220.171.248\"\n\"September 21st 2015, 08:30:06.187\",,\"5,397\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"254.75.96.91\"\n\"September 21st 2015, 08:30:06.049\",,\"5,029\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"211.0.102.190\"\n\"September 21st 2015, 08:29:49.501\",,\"4,457\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"56.253.85.132\"\n\"September 21st 2015, 08:29:48.082\",,\"8,594\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.95.78.209\"\n\"September 21st 2015, 08:29:42.874\",,\"8,580\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.226.232.233\"\n\"September 21st 2015, 08:29:42.233\",,\"8,423\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.57.26.210\"\n\"September 21st 2015, 08:29:28.060\",,\"6,590\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.58.25.99\"\n\"September 21st 2015, 08:29:16.399\",,\"7,238\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.242.177.192\"\n\"September 21st 2015, 08:29:15.320\",,\"6,804\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.255.16.81\"\n\"September 21st 2015, 08:29:14.948\",,\"3,277\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"222.224.95.15\"\n\"September 21st 2015, 08:29:13.379\",,\"5,754\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.113.219.30\"\n\"September 21st 2015, 08:29:13.374\",,\"1,940\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"217.132.169.207\"\n\"September 21st 2015, 08:29:12.244\",,\"7,330\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.170.80.142\"\n\"September 21st 2015, 08:29:08.905\",,\"8,342\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"74.214.76.90\"\n\"September 21st 2015, 08:29:07.639\",,\"4,598\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.119.62.60\"\n\"September 21st 2015, 08:29:02.413\",,\"4,001\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.127.76.132\"\n\"September 21st 2015, 08:28:59.364\",,\"4,833\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"101.145.158.45\"\n\"September 21st 2015, 08:28:51.824\",,\"6,827\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"131.102.224.216\"\n\"September 21st 2015, 08:28:34.143\",,\"9,828\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.34.187.225\"\n\"September 21st 2015, 08:28:27.600\",,\"4,702\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.114.204.184\"\n\"September 21st 2015, 08:28:25.410\",,\"3,440\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.48.147.184\"\n\"September 21st 2015, 08:28:20.251\",,\"3,969\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.155.42.103\"\n\"September 21st 2015, 08:28:15.481\",,\"4,533\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"102.191.15.62\"\n\"September 21st 2015, 08:28:13.733\",,\"2,273\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.120.60.102\"\n\"September 21st 2015, 08:28:11.106\",,\"6,575\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"115.207.4.201\"\n\"September 21st 2015, 08:28:04.153\",,\"2,033\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.81.157.252\"\n\"September 21st 2015, 08:27:45.546\",,\"9,932\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.54.235.229\"\n\"September 21st 2015, 08:27:36.384\",,\"6,988\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.39.79.51\"\n\"September 21st 2015, 08:27:13.259\",,\"9,389\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.156.6.246\"\n\"September 21st 2015, 08:27:12.434\",,\"2,844\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.56.56.106\"\n\"September 21st 2015, 08:27:07.640\",,\"1,947\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.153.40.224\"\n\"September 21st 2015, 08:27:06.157\",,\"5,132\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.245.188.46\"\n\"September 21st 2015, 08:27:01.697\",,\"9,420\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.173.30.33\"\n\"September 21st 2015, 08:26:59.353\",,\"8,207\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"195.76.3.10\"\n\"September 21st 2015, 08:26:36.277\",,\"3,597\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"48.155.42.103\"\n\"September 21st 2015, 08:26:29.044\",,\"1,696\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"6.70.186.143\"\n\"September 21st 2015, 08:26:15.625\",,\"2,215\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.220.227.11\"\n\"September 21st 2015, 08:26:09.319\",,\"1,981\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"219.33.16.83\"\n\"September 21st 2015, 08:26:05.918\",,\"7,892\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"211.106.232.51\"\n\"September 21st 2015, 08:25:54.286\",,\"6,863\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"161.35.49.227\"\n\"September 21st 2015, 08:25:53.993\",,\"7,651\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"12.158.252.108\"\n\"September 21st 2015, 08:25:46.159\",,\"7,757\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.90.215.57\"\n\"September 21st 2015, 08:25:45.273\",,\"5,413\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"63.219.233.187\"\n\"September 21st 2015, 08:25:31.715\",,\"5,486\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"16.236.101.225\"\n\"September 21st 2015, 08:25:22.701\",,\"2,988\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.106.209.231\"\n\"September 21st 2015, 08:25:19.285\",,\"5,225\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.70.171.86\"\n\"September 21st 2015, 08:24:57.515\",,\"8,446\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"72.173.69.119\"\n\"September 21st 2015, 08:24:53.114\",,\"8,823\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"101.43.176.190\"\n\"September 21st 2015, 08:24:44.197\",,\"9,044\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.30.157.224\"\n\"September 21st 2015, 08:24:10.967\",,\"3,115\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.38.2.66\"\n\"September 21st 2015, 08:24:07.570\",,\"9,121\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.3.115.126\"\n\"September 21st 2015, 08:24:03.702\",,\"4,077\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.106.160.216\"\n\"September 21st 2015, 08:23:49.719\",,\"5,524\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"192.224.131.67\"\n\"September 21st 2015, 08:23:30.474\",,\"8,638\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.85.86.52\"\n\"September 21st 2015, 08:23:17.569\",,\"6,142\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.195.26.33\"\n\"September 21st 2015, 08:23:16.030\",,\"4,366\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"31.245.21.115\"\n\"September 21st 2015, 08:23:06.154\",,\"9,658\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.5.167.41\"\n\"September 21st 2015, 08:23:04.866\",,\"6,393\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"72.173.69.119\"\n\"September 21st 2015, 08:23:00.513\",,\"2,564\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.76.243.51\"\n\"September 21st 2015, 08:22:46.214\",,\"11,490\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.108.50.221\"\n\"September 21st 2015, 08:22:45.630\",,\"2,335\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.12.231.216\"\n\"September 21st 2015, 08:22:17.629\",,\"7,535\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.143.209.115\"\n\"September 21st 2015, 08:21:29.599\",,\"2,674\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"186.182.14.125\"\n\"September 21st 2015, 08:21:29.049\",,\"6,389\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.73.193.32\"\n\"September 21st 2015, 08:21:24.509\",,\"8,778\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"199.113.69.162\"\n\"September 21st 2015, 08:21:15.996\",,\"14,111\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.245.252.224\"\n\"September 21st 2015, 08:21:09.991\",,\"9,917\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"13.193.146.83\"\n\"September 21st 2015, 08:20:48.012\",,\"9,888\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.188.1.153\"\n\"September 21st 2015, 08:20:47.351\",,\"5,542\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.85.77.216\"\n\"September 21st 2015, 08:20:36.710\",,\"9,901\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.139.58.171\"\n\"September 21st 2015, 08:20:31.939\",,\"8,458\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.177.132.244\"\n\"September 21st 2015, 08:19:59.092\",,\"8,133\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"255.58.31.9\"\n\"September 21st 2015, 08:19:44.744\",,\"6,209\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"79.16.207.3\"\n\"September 21st 2015, 08:19:31.198\",,\"6,439\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.206.61.6\"\n\"September 21st 2015, 08:19:23.715\",,\"7,820\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.33.120.224\"\n\"September 21st 2015, 08:19:14.752\",,\"5,871\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"221.219.72.105\"\n\"September 21st 2015, 08:19:02.611\",,\"10,784\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.11.74.125\"\n\"September 21st 2015, 08:18:45.467\",,\"5,878\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"165.150.252.187\"\n\"September 21st 2015, 08:18:15.134\",,\"5,056\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.119.119.38\"\n\"September 21st 2015, 08:17:53.826\",,\"2,086\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"197.88.56.99\"\n\"September 21st 2015, 08:17:41.723\",,\"5,455\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.40.73.208\"\n\"September 21st 2015, 08:17:38.852\",,\"5,304\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"121.205.46.255\"\n\"September 21st 2015, 08:17:28.182\",,\"1,638\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"24.78.153.162\"\n\"September 21st 2015, 08:17:27.347\",,\"9,446\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"166.25.218.240\"\n\"September 21st 2015, 08:17:24.768\",,\"1,565\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.21.156.43\"\n\"September 21st 2015, 08:17:24.464\",,\"1,741\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"127.254.107.86\"\n\"September 21st 2015, 08:17:15.061\",,\"2,924\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.19.217.148\"\n\"September 21st 2015, 08:17:13.631\",,\"3,619\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.47.75.195\"\n\"September 21st 2015, 08:17:11.132\",,\"2,379\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"11.25.39.187\"\n\"September 21st 2015, 08:16:59.255\",,\"8,698\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.150.67.234\"\n\"September 21st 2015, 08:16:58.603\",,\"8,097\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"94.154.194.208\"\n\"September 21st 2015, 08:16:55.524\",,\"2,303\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.83.96.39\"\n\"September 21st 2015, 08:16:54.810\",,\"5,781\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.16.191.123\"\n\"September 21st 2015, 08:16:51.459\",,\"7,269\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.43.63.180\"\n\"September 21st 2015, 08:16:38.580\",,\"4,598\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.2.26.42\"\n\"September 21st 2015, 08:16:35.177\",,\"5,778\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.54.235.229\"\n\"September 21st 2015, 08:16:32.612\",,\"6,606\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.149.151.88\"\n\"September 21st 2015, 08:16:25.355\",,\"2,653\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"35.222.204.135\"\n\"September 21st 2015, 08:16:21.791\",,\"9,787\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"218.186.41.141\"\n\"September 21st 2015, 08:16:20.616\",,\"9,019\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"24.186.122.118\"\n\"September 21st 2015, 08:16:19.804\",,\"2,131\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.3.32.15\"\n\"September 21st 2015, 08:16:09.878\",,\"5,053\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.56.222.3\"\n\"September 21st 2015, 08:16:01.177\",,\"8,926\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"117.2.255.240\"\n\"September 21st 2015, 08:15:53.866\",,\"7,612\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.139.156.196\"\n\"September 21st 2015, 08:15:46.983\",,\"7,967\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"167.165.89.8\"\n\"September 21st 2015, 08:15:39.311\",,\"1,671\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"76.240.114.69\"\n\"September 21st 2015, 08:15:18.427\",,\"4,605\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.166.42.220\"\n\"September 21st 2015, 08:15:11.103\",,\"2,260\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"58.190.216.56\"\n\"September 21st 2015, 08:15:07.891\",,\"7,946\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"148.47.216.255\"\n\"September 21st 2015, 08:15:06.493\",,\"6,414\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.219.65.244\"\n\"September 21st 2015, 08:15:04.184\",,\"3,321\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.5.136.153\"\n\"September 21st 2015, 08:14:57.366\",,\"2,318\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"186.182.14.125\"\n\"September 21st 2015, 08:14:51.146\",,\"9,323\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"131.98.185.144\"\n\"September 21st 2015, 08:14:36.973\",,\"2,261\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"50.26.210.216\"\n\"September 21st 2015, 08:14:35.904\",,\"4,391\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.50.219.103\"\n\"September 21st 2015, 08:14:17.431\",,\"6,128\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"177.194.175.66\"\n\"September 21st 2015, 08:14:15.110\",,\"8,075\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.165.93.2\"\n\"September 21st 2015, 08:14:06.000\",,\"9,758\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.252.112.76\"\n\"September 21st 2015, 08:13:57.397\",,\"8,443\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.192.144.100\"\n\"September 21st 2015, 08:13:39.477\",,\"7,767\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.123.55.136\"\n\"September 21st 2015, 08:13:31.970\",,\"8,023\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"96.34.109.191\"\n\"September 21st 2015, 08:13:24.541\",,\"6,726\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.208.15.12\"\n\"September 21st 2015, 08:13:03.029\",,\"8,361\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.174.21.181\"\n\"September 21st 2015, 08:12:34.311\",,\"4,907\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.161.172.168\"\n\"September 21st 2015, 08:12:22.854\",,\"2,484\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.209.234.93\"\n\"September 21st 2015, 08:12:19.994\",,\"8,653\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.133.22.163\"\n\"September 21st 2015, 08:12:14.181\",,\"7,661\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.22.23.73\"\n\"September 21st 2015, 08:11:56.399\",,\"2,805\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.50.181.157\"\n\"September 21st 2015, 08:11:48.027\",,\"3,115\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.151.255.82\"\n\"September 21st 2015, 08:11:46.020\",,\"4,346\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.163.20.44\"\n\"September 21st 2015, 08:11:40.648\",,\"5,517\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.62.211.92\"\n\"September 21st 2015, 08:11:35.027\",,\"4,769\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"120.101.20.104\"\n\"September 21st 2015, 08:11:20.779\",,\"6,645\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"79.76.124.169\"\n\"September 21st 2015, 08:11:14.510\",,\"2,502\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.244.25.107\"\n\"September 21st 2015, 08:11:11.466\",,\"2,148\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.84.146.72\"\n\"September 21st 2015, 08:11:04.266\",,\"1,891\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.107.235.54\"\n\"September 21st 2015, 08:10:51.578\",,\"1,875\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"126.220.227.11\"\n\"September 21st 2015, 08:10:51.389\",,\"4,634\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"90.0.214.93\"\n\"September 21st 2015, 08:10:38.645\",,\"8,457\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.191.218.38\"\n\"September 21st 2015, 08:10:37.460\",,\"3,171\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"16.148.135.166\"\n\"September 21st 2015, 08:10:30.726\",,\"3,430\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.125.131.162\"\n\"September 21st 2015, 08:10:26.127\",,\"7,853\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.30.231.202\"\n\"September 21st 2015, 08:10:10.737\",,\"6,284\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.82.228.233\"\n\"September 21st 2015, 08:10:08.624\",,\"1,827\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.144.148.155\"\n\"September 21st 2015, 08:10:01.038\",,\"5,049\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"71.100.136.81\"\n\"September 21st 2015, 08:09:44.671\",,\"9,471\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"2.229.49.222\"\n\"September 21st 2015, 08:09:40.293\",,\"5,205\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.255.16.81\"\n\"September 21st 2015, 08:09:32.699\",,\"5,678\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.35.55.46\"\n\"September 21st 2015, 08:09:16.422\",,\"7,790\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"141.30.231.202\"\n\"September 21st 2015, 08:09:04.438\",,\"6,191\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.89.226.36\"\n\"September 21st 2015, 08:08:37.338\",,\"8,832\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.192.80.162\"\n\"September 21st 2015, 08:08:37.241\",,\"7,704\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.155.198.238\"\n\"September 21st 2015, 08:08:28.566\",,\"3,551\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.70.170.56\"\n\"September 21st 2015, 08:08:25.590\",,\"5,303\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"24.5.165.192\"\n\"September 21st 2015, 08:08:23.765\",,\"4,611\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.41.209.99\"\n\"September 21st 2015, 08:08:14.716\",,\"6,371\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"91.10.173.138\"\n\"September 21st 2015, 08:07:49.069\",,\"3,825\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.88.213.204\"\n\"September 21st 2015, 08:07:43.923\",,\"9,447\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.99.166.92\"\n\"September 21st 2015, 08:07:42.953\",,\"6,606\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.219.233.187\"\n\"September 21st 2015, 08:07:37.343\",,\"5,951\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.219.151.88\"\n\"September 21st 2015, 08:07:33.332\",,\"2,455\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.65.30.133\"\n\"September 21st 2015, 08:07:32.581\",,\"5,651\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.207.64.202\"\n\"September 21st 2015, 08:07:28.180\",,\"8,160\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.115.81.216\"\n\"September 21st 2015, 08:07:10.152\",,\"8,906\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"162.218.161.231\"\n\"September 21st 2015, 08:06:57.131\",,\"8,820\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"184.101.186.240\"\n\"September 21st 2015, 08:06:37.896\",,\"15,119\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.97.64.146\"\n\"September 21st 2015, 08:06:27.540\",,\"8,075\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.56.222.3\"\n\"September 21st 2015, 08:06:26.020\",,\"5,380\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.59.191.54\"\n\"September 21st 2015, 08:06:24.487\",,\"18,865\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.168.126.221\"\n\"September 21st 2015, 08:06:22.289\",,\"3,852\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"241.45.143.98\"\n\"September 21st 2015, 08:06:19.989\",,\"4,793\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"52.49.164.228\"\n\"September 21st 2015, 08:06:12.625\",,\"6,389\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.34.187.225\"\n\"September 21st 2015, 08:06:11.323\",,\"3,547\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.45.70.116\"\n\"September 21st 2015, 08:06:07.730\",,\"9,027\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.87.17.249\"\n\"September 21st 2015, 08:06:00.493\",,\"8,714\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.79.151.78\"\n\"September 21st 2015, 08:05:38.066\",,\"8,652\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"202.48.108.4\"\n\"September 21st 2015, 08:05:28.809\",,\"4,045\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.96.96.191\"\n\"September 21st 2015, 08:05:16.916\",,\"7,992\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.157.227.112\"\n\"September 21st 2015, 08:05:12.004\",,\"3,662\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.6.163.4\"\n\"September 21st 2015, 08:05:10.507\",,\"4,486\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.68.9.40\"\n\"September 21st 2015, 08:05:08.746\",,\"2,185\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.210.116.210\"\n\"September 21st 2015, 08:04:52.355\",,\"9,772\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.207.101.203\"\n\"September 21st 2015, 08:04:52.051\",,\"9,841\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.24.165.50\"\n\"September 21st 2015, 08:04:40.284\",,\"1,722\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.79.158.95\"\n\"September 21st 2015, 08:04:38.054\",,\"6,728\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"81.186.187.11\"\n\"September 21st 2015, 08:04:33.679\",,\"14,729\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.141.233.13\"\n\"September 21st 2015, 08:04:26.931\",,\"9,868\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.242.204.223\"\n\"September 21st 2015, 08:04:23.653\",,\"3,945\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.219.87.110\"\n\"September 21st 2015, 08:04:22.526\",,\"3,077\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.12.231.216\"\n\"September 21st 2015, 08:04:20.279\",,\"3,823\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"38.29.122.137\"\n\"September 21st 2015, 08:04:18.672\",,\"5,592\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.249.93.77\"\n\"September 21st 2015, 08:04:16.973\",,\"8,167\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"29.188.141.95\"\n\"September 21st 2015, 08:04:14.097\",,\"6,626\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"197.150.233.60\"\n\"September 21st 2015, 08:04:12.605\",,\"1,682\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.241.34.0\"\n\"September 21st 2015, 08:04:08.571\",,\"3,383\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.90.86.83\"\n\"September 21st 2015, 08:04:06.410\",,\"9,438\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.223.100.33\"\n\"September 21st 2015, 08:04:04.681\",,\"14,772\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.125.131.162\"\n\"September 21st 2015, 08:04:02.512\",,\"9,407\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"100.50.11.41\"\n\"September 21st 2015, 08:03:55.686\",,\"8,221\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.153.166.47\"\n\"September 21st 2015, 08:03:50.833\",,\"8,211\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.178.152.193\"\n\"September 21st 2015, 08:03:44.541\",,\"8,394\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.123.27.0\"\n\"September 21st 2015, 08:03:30.645\",,\"4,434\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"249.11.43.220\"\n\"September 21st 2015, 08:03:26.493\",,\"9,207\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.5.136.153\"\n\"September 21st 2015, 08:03:16.645\",,\"1,692\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"100.50.11.41\"\n\"September 21st 2015, 08:03:15.729\",,\"2,459\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.63.63.137\"\n\"September 21st 2015, 08:03:13.682\",,\"1,575\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"136.122.153.94\"\n\"September 21st 2015, 08:03:07.129\",,\"6,380\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"7.218.211.125\"\n\"September 21st 2015, 08:03:03.995\",,\"1,533\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"154.79.180.7\"\n\"September 21st 2015, 08:03:02.464\",,\"17,681\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.12.135.128\"\n\"September 21st 2015, 08:03:00.225\",,\"1,738\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.15.54.136\"\n\"September 21st 2015, 08:02:57.566\",,\"3,311\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.207.64.202\"\n\"September 21st 2015, 08:02:51.464\",,\"9,098\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.156.6.246\"\n\"September 21st 2015, 08:02:41.889\",,\"3,207\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.68.9.40\"\n\"September 21st 2015, 08:02:39.067\",,\"19,382\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.156.6.246\"\n\"September 21st 2015, 08:02:33.151\",,\"4,691\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"180.79.142.15\"\n\"September 21st 2015, 08:02:27.396\",,\"6,346\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"197.49.80.127\"\n\"September 21st 2015, 08:02:24.186\",,\"7,458\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"71.169.104.184\"\n\"September 21st 2015, 08:02:10.274\",,\"7,935\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.98.248.112\"\n\"September 21st 2015, 08:02:01.582\",,\"18,787\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.72.217.98\"\n\"September 21st 2015, 08:01:56.841\",,\"8,090\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"44.61.116.63\"\n\"September 21st 2015, 08:01:51.965\",,\"9,980\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"86.252.46.140\"\n\"September 21st 2015, 08:01:35.395\",,\"4,247\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"180.37.241.184\"\n\"September 21st 2015, 08:01:31.123\",,\"5,483\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.108.62.100\"\n\"September 21st 2015, 08:01:19.325\",,\"3,146\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"71.241.97.89\"\n\"September 21st 2015, 08:01:18.996\",,\"8,594\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.171.34.42\"\n\"September 21st 2015, 08:01:14.937\",,\"13,566\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.105.183.164\"\n\"September 21st 2015, 08:01:04.035\",,\"7,912\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.242.204.223\"\n\"September 21st 2015, 08:01:01.039\",,\"7,450\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"67.220.97.120\"\n\"September 21st 2015, 08:00:50.364\",,\"15,457\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.83.247.30\"\n\"September 21st 2015, 08:00:47.325\",,\"2,931\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"126.112.222.13\"\n\"September 21st 2015, 08:00:37.468\",,\"8,607\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.68.9.40\"\n\"September 21st 2015, 08:00:27.042\",,\"6,955\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.129.117.216\"\n\"September 21st 2015, 08:00:27.022\",,\"6,856\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"181.41.228.240\"\n\"September 21st 2015, 08:00:19.002\",,\"3,483\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.90.39.228\"\n\"September 21st 2015, 08:00:13.996\",,\"4,790\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"223.237.148.2\"\n\"September 21st 2015, 08:00:05.571\",,\"4,290\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.172.28.222\"\n\"September 21st 2015, 08:00:04.625\",,\"5,089\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.46.85.146\"\n\"September 21st 2015, 07:59:18.366\",,\"3,847\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.101.14.210\"\n\"September 21st 2015, 07:59:18.047\",,\"1,912\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"127.63.221.223\"\n\"September 21st 2015, 07:59:17.606\",,\"7,593\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.174.21.181\"\n\"September 21st 2015, 07:58:49.311\",,\"2,222\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.129.117.216\"\n\"September 21st 2015, 07:58:28.962\",,\"3,433\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"128.248.96.80\"\n\"September 21st 2015, 07:58:27.672\",,\"11,015\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"183.177.240.217\"\n\"September 21st 2015, 07:58:26.333\",,\"3,311\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"136.210.127.128\"\n\"September 21st 2015, 07:58:23.035\",,\"9,352\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"157.56.54.126\"\n\"September 21st 2015, 07:58:20.952\",,\"1,702\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.93.29.126\"\n\"September 21st 2015, 07:58:13.905\",,\"2,615\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"234.206.115.94\"\n\"September 21st 2015, 07:58:08.643\",,\"3,036\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.216.169.176\"\n\"September 21st 2015, 07:58:02.890\",,\"6,322\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.241.34.0\"\n\"September 21st 2015, 07:57:24.416\",,\"7,775\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"51.11.189.233\"\n\"September 21st 2015, 07:57:21.106\",,\"2,689\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"219.33.16.83\"\n\"September 21st 2015, 07:57:05.472\",,\"6,881\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.115.189.193\"\n\"September 21st 2015, 07:56:58.029\",,\"9,695\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"1.17.21.12\"\n\"September 21st 2015, 07:56:56.653\",,\"3,555\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.84.248.187\"\n\"September 21st 2015, 07:56:49.460\",,\"1,580\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"60.71.214.79\"\n\"September 21st 2015, 07:56:48.333\",,\"3,944\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.147.43.175\"\n\"September 21st 2015, 07:56:37.314\",,\"13,738\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.234.255.241\"\n\"September 21st 2015, 07:56:28.997\",,\"7,095\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.74.144.217\"\n\"September 21st 2015, 07:56:19.541\",,\"4,090\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"24.78.153.162\"\n\"September 21st 2015, 07:55:56.215\",,\"8,201\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.177.125.196\"\n\"September 21st 2015, 07:55:10.221\",,\"3,826\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"13.193.146.83\"\n\"September 21st 2015, 07:55:03.399\",,\"7,132\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"154.28.252.79\"\n\"September 21st 2015, 07:55:03.316\",,\"9,281\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"32.94.46.226\"\n\"September 21st 2015, 07:54:46.026\",,\"4,750\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.76.208.132\"\n\"September 21st 2015, 07:54:34.050\",,\"1,760\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.86.132.152\"\n\"September 21st 2015, 07:54:33.876\",,\"6,925\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"171.58.133.108\"\n\"September 21st 2015, 07:54:26.464\",,\"4,100\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.96.215.228\"\n\"September 21st 2015, 07:54:25.490\",,\"1,903\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.127.51.83\"\n\"September 21st 2015, 07:54:23.952\",,\"9,651\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"3.174.21.181\"\n\"September 21st 2015, 07:54:13.223\",,\"5,039\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"118.163.20.44\"\n\"September 21st 2015, 07:54:05.856\",,\"4,694\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.129.36.56\"\n\"September 21st 2015, 07:53:56.465\",,\"4,856\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"122.25.161.118\"\n\"September 21st 2015, 07:53:51.856\",,\"11,490\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.243.115.83\"\n\"September 21st 2015, 07:53:26.218\",,\"1,908\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.86.49.192\"\n\"September 21st 2015, 07:53:16.170\",,\"4,627\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"120.99.203.64\"\n\"September 21st 2015, 07:53:15.277\",,\"9,775\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"161.35.49.227\"\n\"September 21st 2015, 07:53:12.469\",,\"6,496\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.33.120.224\"\n\"September 21st 2015, 07:53:10.202\",,\"1,766\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"254.75.96.91\"\n\"September 21st 2015, 07:53:03.269\",,\"1,959\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"180.37.241.184\"\n\"September 21st 2015, 07:53:00.481\",,\"8,572\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"241.58.244.165\"\n\"September 21st 2015, 07:52:58.187\",,\"6,500\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.206.61.6\"\n\"September 21st 2015, 07:52:51.829\",,\"7,019\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.29.249.167\"\n\"September 21st 2015, 07:52:51.040\",,\"6,368\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.99.243.183\"\n\"September 21st 2015, 07:52:39.463\",,\"2,771\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.188.250.196\"\n\"September 21st 2015, 07:52:36.281\",,\"5,781\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.203.229.1\"\n\"September 21st 2015, 07:52:23.809\",,\"16,417\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.37.60.109\"\n\"September 21st 2015, 07:52:23.619\",,\"5,698\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.75.33.146\"\n\"September 21st 2015, 07:52:22.859\",,\"7,145\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"128.248.96.80\"\n\"September 21st 2015, 07:52:16.273\",,\"12,624\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"52.158.88.35\"\n\"September 21st 2015, 07:52:12.747\",,\"3,712\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.111.6.101\"\n\"September 21st 2015, 07:52:11.675\",,\"3,561\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.127.51.83\"\n\"September 21st 2015, 07:52:02.466\",,\"2,665\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.26.51.188\"\n\"September 21st 2015, 07:51:42.423\",,\"8,036\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.219.87.110\"\n\"September 21st 2015, 07:51:41.028\",,\"8,128\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"113.35.23.20\"\n\"September 21st 2015, 07:51:37.796\",,\"8,215\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.85.86.52\"\n\"September 21st 2015, 07:51:31.960\",,\"3,861\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"45.102.15.116\"\n\"September 21st 2015, 07:51:31.264\",,\"8,236\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.75.94.8\"\n\"September 21st 2015, 07:51:19.124\",,\"7,993\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.218.92.179\"\n\"September 21st 2015, 07:51:17.471\",,\"4,352\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.5.167.41\"\n\"September 21st 2015, 07:51:15.583\",,\"2,138\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.75.54.137\"\n\"September 21st 2015, 07:51:13.179\",,\"9,454\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"128.108.188.178\"\n\"September 21st 2015, 07:51:12.337\",,\"7,057\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.108.50.221\"\n\"September 21st 2015, 07:51:08.339\",,\"3,094\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.215.211.142\"\n\"September 21st 2015, 07:51:02.479\",,\"2,536\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.253.80.52\"\n\"September 21st 2015, 07:51:02.038\",,\"9,674\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"203.239.228.151\"\n\"September 21st 2015, 07:50:57.741\",,\"6,659\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"153.139.156.196\"\n\"September 21st 2015, 07:50:56.453\",,\"3,357\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.89.226.36\"\n\"September 21st 2015, 07:50:56.029\",,\"9,231\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.62.86.139\"\n\"September 21st 2015, 07:50:53.979\",,\"9,721\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"131.98.185.144\"\n\"September 21st 2015, 07:50:40.409\",,\"7,130\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.15.54.136\"\n\"September 21st 2015, 07:50:19.599\",,\"4,019\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"158.222.162.158\"\n\"September 21st 2015, 07:50:16.855\",,\"6,758\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.106.203.143\"\n\"September 21st 2015, 07:50:12.765\",,\"7,574\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.223.164.21\"\n\"September 21st 2015, 07:50:08.487\",,\"9,754\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.164.151.232\"\n\"September 21st 2015, 07:49:20.622\",,\"9,872\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"16.166.96.38\"\n\"September 21st 2015, 07:49:19.180\",,\"8,593\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.186.152.28\"\n\"September 21st 2015, 07:49:08.078\",,\"9,016\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"101.145.158.45\"\n\"September 21st 2015, 07:48:59.189\",,\"1,627\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.113.62.183\"\n\"September 21st 2015, 07:48:53.248\",,\"3,702\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.199.42.50\"\n\"September 21st 2015, 07:48:49.452\",,\"10,578\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"6.183.121.70\"\n\"September 21st 2015, 07:48:25.521\",,\"8,015\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.122.34.237\"\n\"September 21st 2015, 07:48:23.119\",,\"5,441\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.38.139.107\"\n\"September 21st 2015, 07:48:16.823\",,\"5,884\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.196.54.80\"\n\"September 21st 2015, 07:48:03.961\",,\"9,978\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.249.202.59\"\n\"September 21st 2015, 07:47:58.616\",,\"8,679\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"70.101.68.233\"\n\"September 21st 2015, 07:47:36.618\",,\"9,152\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.81.157.252\"\n\"September 21st 2015, 07:47:33.433\",,\"6,430\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.69.63.219\"\n\"September 21st 2015, 07:47:13.958\",,\"9,004\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.53.70.40\"\n\"September 21st 2015, 07:47:06.278\",,\"3,116\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.94.183.177\"\n\"September 21st 2015, 07:46:59.654\",,\"7,414\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"54.194.215.29\"\n\"September 21st 2015, 07:46:58.887\",,\"6,811\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.63.63.137\"\n\"September 21st 2015, 07:46:57.123\",,\"16,991\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"132.242.0.119\"\n\"September 21st 2015, 07:46:38.051\",,\"6,319\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"7.218.211.125\"\n\"September 21st 2015, 07:46:24.304\",,\"7,375\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"16.236.101.225\"\n\"September 21st 2015, 07:46:19.643\",,\"6,090\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"216.115.81.216\"\n\"September 21st 2015, 07:46:11.356\",,\"9,534\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"131.102.224.216\"\n\"September 21st 2015, 07:46:06.717\",,\"9,538\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"143.84.142.7\"\n\"September 21st 2015, 07:45:57.340\",,\"5,761\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"199.113.69.162\"\n\"September 21st 2015, 07:45:56.262\",,\"9,585\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.220.171.248\"\n\"September 21st 2015, 07:45:35.858\",,\"6,368\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"168.180.71.177\"\n\"September 21st 2015, 07:45:18.053\",,\"2,488\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"29.139.45.110\"\n\"September 21st 2015, 07:45:16.441\",,\"6,638\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.89.226.36\"\n\"September 21st 2015, 07:44:59.475\",,\"8,285\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"164.185.40.249\"\n\"September 21st 2015, 07:44:39.243\",,\"9,407\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.144.182.162\"\n\"September 21st 2015, 07:44:27.388\",,\"7,777\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.53.120.159\"\n\"September 21st 2015, 07:44:13.886\",,\"5,452\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.125.84.30\"\n\"September 21st 2015, 07:44:13.725\",,\"2,476\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.132.193.95\"\n\"September 21st 2015, 07:43:58.688\",,\"6,234\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.69.255.135\"\n\"September 21st 2015, 07:43:54.484\",,\"2,761\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.70.171.86\"\n\"September 21st 2015, 07:43:28.147\",,\"8,072\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"247.129.16.191\"\n\"September 21st 2015, 07:43:13.406\",,\"19,984\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.180.70.74\"\n\"September 21st 2015, 07:43:07.814\",,\"8,495\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.93.29.126\"\n\"September 21st 2015, 07:43:07.138\",,\"2,919\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.87.17.249\"\n\"September 21st 2015, 07:43:04.422\",,\"9,058\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.194.157.171\"\n\"September 21st 2015, 07:42:53.343\",,\"5,886\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.201.249.221\"\n\"September 21st 2015, 07:42:20.112\",,\"6,560\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.83.96.39\"\n\"September 21st 2015, 07:42:19.819\",,\"2,045\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.85.53.125\"\n\"September 21st 2015, 07:42:14.207\",,\"7,950\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"148.134.9.77\"\n\"September 21st 2015, 07:42:13.009\",,\"1,674\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"81.191.227.104\"\n\"September 21st 2015, 07:42:09.523\",,\"6,437\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"70.101.68.233\"\n\"September 21st 2015, 07:41:59.799\",,\"8,472\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.246.231.47\"\n\"September 21st 2015, 07:41:44.146\",,\"6,799\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"31.38.33.47\"\n\"September 21st 2015, 07:41:43.068\",,\"4,099\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.74.138.136\"\n\"September 21st 2015, 07:41:29.305\",,\"6,198\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"168.180.71.177\"\n\"September 21st 2015, 07:41:18.699\",,\"5,536\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.30.157.224\"\n\"September 21st 2015, 07:41:16.343\",,\"3,259\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.121.197.80\"\n\"September 21st 2015, 07:41:15.056\",,\"8,933\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"203.206.8.45\"\n\"September 21st 2015, 07:41:12.235\",,\"10,081\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.4.117.154\"\n\"September 21st 2015, 07:41:11.194\",,\"8,113\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"204.4.99.92\"\n\"September 21st 2015, 07:41:07.858\",,\"9,432\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.63.51.8\"\n\"September 21st 2015, 07:41:03.230\",,\"8,456\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.126.43.84\"\n\"September 21st 2015, 07:41:03.224\",,\"9,333\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"198.174.196.110\"\n\"September 21st 2015, 07:40:41.675\",,\"2,392\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.16.191.123\"\n\"September 21st 2015, 07:40:40.838\",,\"8,157\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"129.18.83.242\"\n\"September 21st 2015, 07:40:39.707\",,\"6,442\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"13.61.197.86\"\n\"September 21st 2015, 07:40:30.101\",,\"9,249\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.159.75.84\"\n\"September 21st 2015, 07:40:29.434\",,\"8,757\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.4.117.154\"\n\"September 21st 2015, 07:40:13.265\",,\"19,013\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.165.93.2\"\n\"September 21st 2015, 07:40:11.997\",,\"4,362\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"195.76.3.10\"\n\"September 21st 2015, 07:40:08.067\",,\"5,693\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"196.131.253.111\"\n\"September 21st 2015, 07:40:06.522\",,\"4,323\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.221.41.27\"\n\"September 21st 2015, 07:40:03.335\",,\"4,105\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.161.172.168\"\n\"September 21st 2015, 07:40:00.294\",,\"7,660\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"167.26.56.145\"\n\"September 21st 2015, 07:39:58.094\",,\"9,772\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"92.153.81.10\"\n\"September 21st 2015, 07:39:31.705\",,\"2,645\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.22.226.5\"\n\"September 21st 2015, 07:39:27.487\",,\"4,815\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"164.185.40.249\"\n\"September 21st 2015, 07:39:07.625\",,\"3,289\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.135.88.86\"\n\"September 21st 2015, 07:38:49.612\",,\"9,132\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.207.244.57\"\n\"September 21st 2015, 07:38:32.832\",,\"4,323\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"32.94.46.226\"\n\"September 21st 2015, 07:38:32.163\",,\"8,279\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"149.150.67.234\"\n\"September 21st 2015, 07:38:29.419\",,\"4,898\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.188.250.196\"\n\"September 21st 2015, 07:38:25.058\",,\"4,259\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"17.191.87.129\"\n\"September 21st 2015, 07:38:19.577\",,\"8,979\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.166.248.214\"\n\"September 21st 2015, 07:38:15.413\",,\"8,536\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"41.210.252.157\"\n\"September 21st 2015, 07:38:11.440\",,\"9,778\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"174.196.54.80\"\n\"September 21st 2015, 07:38:06.430\",,\"6,240\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.36.203.241\"\n\"September 21st 2015, 07:38:03.435\",,\"8,295\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"44.138.70.255\"\n\"September 21st 2015, 07:38:00.879\",,\"9,393\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.59.37.77\"\n\"September 21st 2015, 07:37:38.546\",,\"4,767\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"122.129.36.56\"\n\"September 21st 2015, 07:37:10.345\",,\"7,155\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"168.180.71.177\"\n\"September 21st 2015, 07:37:07.090\",,\"5,997\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"236.110.56.1\"\n\"September 21st 2015, 07:36:45.087\",,\"8,103\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"171.132.193.95\"\n\"September 21st 2015, 07:36:43.535\",,\"5,817\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"58.190.216.56\"\n\"September 21st 2015, 07:36:40.817\",,\"2,130\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"122.71.171.141\"\n\"September 21st 2015, 07:36:36.809\",,\"3,762\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.185.234.193\"\n\"September 21st 2015, 07:36:12.474\",,\"1,969\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"195.62.0.145\"\n\"September 21st 2015, 07:36:02.812\",,\"15,148\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.166.42.220\"\n\"September 21st 2015, 07:35:39.400\",,\"6,914\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.45.70.116\"\n\"September 21st 2015, 07:35:33.577\",,\"7,934\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.115.221.35\"\n\"September 21st 2015, 07:35:33.547\",,\"10,776\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.205.178.33\"\n\"September 21st 2015, 07:35:24.046\",,\"4,321\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.20.91.73\"\n\"September 21st 2015, 07:35:14.742\",,\"7,498\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"196.131.253.111\"\n\"September 21st 2015, 07:34:58.725\",,\"3,216\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.128.210.67\"\n\"September 21st 2015, 07:34:56.443\",,\"7,173\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.129.62.213\"\n\"September 21st 2015, 07:34:55.603\",,\"5,590\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.219.65.244\"\n\"September 21st 2015, 07:34:53.561\",,\"1,510\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.95.78.209\"\n\"September 21st 2015, 07:34:46.754\",,\"5,428\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"104.212.107.0\"\n\"September 21st 2015, 07:34:42.522\",,\"8,837\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"245.132.215.241\"\n\"September 21st 2015, 07:34:36.363\",,\"9,690\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.94.183.177\"\n\"September 21st 2015, 07:34:29.130\",,\"6,891\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"61.174.151.11\"\n\"September 21st 2015, 07:34:19.978\",,\"8,843\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"101.130.216.47\"\n\"September 21st 2015, 07:34:17.696\",,\"2,336\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.115.183.40\"\n\"September 21st 2015, 07:34:06.487\",,\"6,632\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"24.5.165.192\"\n\"September 21st 2015, 07:33:53.170\",,\"9,711\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.191.87.129\"\n\"September 21st 2015, 07:33:53.133\",,\"14,563\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.254.96.42\"\n\"September 21st 2015, 07:33:40.758\",,\"6,999\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"163.123.136.118\"\n\"September 21st 2015, 07:33:34.088\",,\"4,695\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.22.226.5\"\n\"September 21st 2015, 07:33:28.588\",,\"9,384\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.162.138.2\"\n\"September 21st 2015, 07:33:13.631\",,\"5,457\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"50.184.86.48\"\n\"September 21st 2015, 07:33:02.836\",,\"2,572\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.244.150.190\"\n\"September 21st 2015, 07:33:01.796\",,\"4,234\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.225.141.240\"\n\"September 21st 2015, 07:33:00.613\",,\"8,636\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.205.37.63\"\n\"September 21st 2015, 07:32:53.601\",,\"4,130\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.95.6.196\"\n\"September 21st 2015, 07:32:48.278\",,\"8,949\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.105.204.4\"\n\"September 21st 2015, 07:32:39.611\",,\"5,894\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"211.106.232.51\"\n\"September 21st 2015, 07:32:24.796\",,\"6,498\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.43.63.180\"\n\"September 21st 2015, 07:32:23.018\",,\"7,849\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.92.89.101\"\n\"September 21st 2015, 07:32:19.824\",,\"8,453\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"35.222.204.135\"\n\"September 21st 2015, 07:32:11.216\",,\"13,913\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.255.142.177\"\n\"September 21st 2015, 07:32:09.213\",,\"6,795\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"59.184.160.105\"\n\"September 21st 2015, 07:31:58.993\",,\"7,712\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"80.252.219.9\"\n\"September 21st 2015, 07:31:51.017\",,\"7,783\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.158.217.196\"\n\"September 21st 2015, 07:31:43.773\",,\"9,568\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.112.81.106\"\n\"September 21st 2015, 07:31:40.035\",,\"18,974\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"72.173.69.119\"\n\"September 21st 2015, 07:31:36.960\",,\"15,681\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.72.69.43\"\n\"September 21st 2015, 07:31:27.294\",,\"8,599\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.194.157.171\"\n\"September 21st 2015, 07:31:22.921\",,\"14,130\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.13.113.3\"\n\"September 21st 2015, 07:30:45.169\",,\"7,199\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.247.158.26\"\n\"September 21st 2015, 07:30:28.611\",,\"2,381\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.239.0.38\"\n\"September 21st 2015, 07:30:25.152\",,\"4,652\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"250.130.100.179\"\n\"September 21st 2015, 07:30:22.744\",,\"1,703\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.58.25.99\"\n\"September 21st 2015, 07:30:20.262\",,\"8,787\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.80.35.243\"\n\"September 21st 2015, 07:30:12.773\",,\"4,831\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"174.196.54.80\"\n\"September 21st 2015, 07:30:03.107\",,\"5,914\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"157.56.54.126\"\n\"September 21st 2015, 07:29:46.683\",,\"6,944\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.221.187.90\"\n\"September 21st 2015, 07:29:44.418\",,\"9,457\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"167.165.89.8\"\n\"September 21st 2015, 07:29:43.932\",,\"4,277\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.53.110.116\"\n\"September 21st 2015, 07:29:39.808\",,\"3,041\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"242.162.114.49\"\n\"September 21st 2015, 07:29:34.134\",,\"2,565\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"45.102.15.116\"\n\"September 21st 2015, 07:29:01.693\",,\"3,765\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.62.90.237\"\n\"September 21st 2015, 07:28:35.765\",,\"17,578\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"28.3.30.170\"\n\"September 21st 2015, 07:27:50.101\",,\"7,277\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.172.111.30\"\n\"September 21st 2015, 07:27:34.233\",,\"9,190\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"143.84.142.7\"\n\"September 21st 2015, 07:27:33.267\",,\"6,759\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"187.33.177.173\"\n\"September 21st 2015, 07:27:32.498\",,\"9,770\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.152.13.69\"\n\"September 21st 2015, 07:27:21.024\",,\"9,706\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"149.225.104.159\"\n\"September 21st 2015, 07:27:11.028\",,\"2,979\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"77.208.78.205\"\n\"September 21st 2015, 07:27:08.354\",,\"2,555\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.164.215.104\"\n\"September 21st 2015, 07:26:48.071\",,\"8,135\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"24.202.52.232\"\n\"September 21st 2015, 07:26:44.669\",,\"1,938\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.204.140.157\"\n\"September 21st 2015, 07:26:38.805\",,\"2,484\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"195.233.186.3\"\n\"September 21st 2015, 07:26:34.447\",,\"8,804\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.195.18.133\"\n\"September 21st 2015, 07:26:29.891\",,\"4,839\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.42.174.116\"\n\"September 21st 2015, 07:26:08.956\",,\"3,697\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"217.132.169.207\"\n\"September 21st 2015, 07:26:07.290\",,\"9,877\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"67.220.97.120\"\n\"September 21st 2015, 07:25:58.116\",,\"4,088\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.22.226.5\"\n\"September 21st 2015, 07:25:50.487\",,\"3,946\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"175.99.184.146\"\n\"September 21st 2015, 07:25:39.983\",,\"6,067\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"187.33.177.173\"\n\"September 21st 2015, 07:25:19.481\",,\"8,619\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.12.231.216\"\n\"September 21st 2015, 07:25:15.953\",,\"8,207\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.12.135.128\"\n\"September 21st 2015, 07:25:00.610\",,\"6,848\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"4.125.116.118\"\n\"September 21st 2015, 07:24:48.026\",,\"3,843\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"113.35.23.20\"\n\"September 21st 2015, 07:24:45.027\",,\"6,990\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.142.235.222\"\n\"September 21st 2015, 07:24:21.603\",,\"3,208\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.170.135.63\"\n\"September 21st 2015, 07:24:14.113\",,\"11,933\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.216.169.176\"\n\"September 21st 2015, 07:24:06.222\",,\"8,539\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.92.235.117\"\n\"September 21st 2015, 07:23:56.818\",,\"8,247\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"162.218.161.231\"\n\"September 21st 2015, 07:23:51.268\",,\"9,573\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"225.241.219.2\"\n\"September 21st 2015, 07:23:46.241\",,\"2,033\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.225.141.240\"\n\"September 21st 2015, 07:23:30.503\",,\"9,923\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"22.151.97.227\"\n\"September 21st 2015, 07:23:22.912\",,\"9,100\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.47.243.34\"\n\"September 21st 2015, 07:23:05.121\",,\"4,129\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"168.174.35.186\"\n\"September 21st 2015, 07:23:02.122\",,\"8,059\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.82.228.233\"\n\"September 21st 2015, 07:23:02.034\",,\"3,706\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.227.125.229\"\n\"September 21st 2015, 07:22:48.143\",,\"1,664\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.155.42.103\"\n\"September 21st 2015, 07:22:43.093\",,\"5,949\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.181.188.3\"\n\"September 21st 2015, 07:22:40.739\",,\"4,482\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.219.65.244\"\n\"September 21st 2015, 07:22:33.867\",,\"2,152\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"177.194.175.66\"\n\"September 21st 2015, 07:22:32.439\",,\"5,771\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.183.87.181\"\n\"September 21st 2015, 07:22:29.086\",,\"3,313\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.143.176.28\"\n\"September 21st 2015, 07:22:27.475\",,\"9,864\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"45.138.192.138\"\n\"September 21st 2015, 07:22:15.029\",,\"8,010\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"224.240.85.118\"\n\"September 21st 2015, 07:22:07.165\",,\"3,919\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.151.84.213\"\n\"September 21st 2015, 07:22:05.719\",,\"4,792\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"149.138.21.252\"\n\"September 21st 2015, 07:22:02.968\",,\"6,643\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"139.104.238.37\"\n\"September 21st 2015, 07:21:57.675\",,\"3,941\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.201.212.220\"\n\"September 21st 2015, 07:21:54.941\",,\"8,826\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.60.53.165\"\n\"September 21st 2015, 07:21:06.929\",,\"12,982\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.138.70.255\"\n\"September 21st 2015, 07:20:59.923\",,\"5,092\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"102.19.248.156\"\n\"September 21st 2015, 07:20:54.132\",,\"2,809\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.158.217.196\"\n\"September 21st 2015, 07:20:53.982\",,\"6,831\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.72.217.98\"\n\"September 21st 2015, 07:20:34.574\",,\"8,205\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.4.99.92\"\n\"September 21st 2015, 07:20:33.722\",,\"8,425\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.201.249.221\"\n\"September 21st 2015, 07:20:32.342\",,\"7,298\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"74.101.37.80\"\n\"September 21st 2015, 07:20:23.386\",,\"3,833\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.74.138.136\"\n\"September 21st 2015, 07:20:16.840\",,\"7,686\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.147.119.226\"\n\"September 21st 2015, 07:20:15.717\",,\"5,188\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"100.50.11.41\"\n\"September 21st 2015, 07:19:57.157\",,\"9,756\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.69.63.219\"\n\"September 21st 2015, 07:19:54.361\",,\"2,395\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.210.244.94\"\n\"September 21st 2015, 07:19:41.765\",,\"19,817\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.128.176.48\"\n\"September 21st 2015, 07:19:30.143\",,\"8,271\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.111.249.239\"\n\"September 21st 2015, 07:19:29.525\",,\"7,975\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"244.15.131.137\"\n\"September 21st 2015, 07:19:25.386\",,\"8,558\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.43.210.167\"\n\"September 21st 2015, 07:18:58.312\",,\"8,440\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.46.85.146\"\n\"September 21st 2015, 07:18:54.429\",,\"9,523\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.210.163.45\"\n\"September 21st 2015, 07:18:38.720\",,\"8,802\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.216.173.242\"\n\"September 21st 2015, 07:18:33.860\",,\"8,164\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"178.104.96.40\"\n\"September 21st 2015, 07:18:29.639\",,\"3,281\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.155.42.103\"\n\"September 21st 2015, 07:18:21.922\",,\"7,758\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.195.208.118\"\n\"September 21st 2015, 07:18:20.170\",,\"3,919\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"59.202.132.136\"\n\"September 21st 2015, 07:18:19.332\",,\"8,380\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"217.44.155.137\"\n\"September 21st 2015, 07:18:14.628\",,\"2,607\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.120.146.16\"\n\"September 21st 2015, 07:18:10.182\",,\"7,107\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.61.106.118\"\n\"September 21st 2015, 07:17:53.815\",,\"9,766\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"12.200.161.41\"\n\"September 21st 2015, 07:17:53.401\",,\"2,049\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"231.192.80.162\"\n\"September 21st 2015, 07:17:51.930\",,\"7,610\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"182.207.77.200\"\n\"September 21st 2015, 07:17:38.093\",,\"6,897\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"251.47.79.172\"\n\"September 21st 2015, 07:17:34.550\",,\"1,898\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.53.125.87\"\n\"September 21st 2015, 07:17:31.032\",,\"2,568\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"142.17.191.204\"\n\"September 21st 2015, 07:17:16.599\",,\"5,253\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"3.105.183.164\"\n\"September 21st 2015, 07:17:14.080\",,\"7,405\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"198.21.77.227\"\n\"September 21st 2015, 07:17:07.743\",,\"4,281\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.209.234.93\"\n\"September 21st 2015, 07:17:03.316\",,\"3,716\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"209.144.199.174\"\n\"September 21st 2015, 07:16:40.764\",,\"2,896\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.155.42.103\"\n\"September 21st 2015, 07:16:35.200\",,\"4,825\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.115.184.133\"\n\"September 21st 2015, 07:16:18.439\",,\"3,779\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.42.218.145\"\n\"September 21st 2015, 07:16:07.233\",,\"2,849\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"148.47.216.255\"\n\"September 21st 2015, 07:16:00.646\",,\"6,050\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"155.34.86.215\"\n\"September 21st 2015, 07:15:57.330\",,\"1,658\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"212.39.75.221\"\n\"September 21st 2015, 07:15:55.010\",,\"5,682\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"41.210.252.157\"\n\"September 21st 2015, 07:15:41.707\",,\"5,254\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.237.108.147\"\n\"September 21st 2015, 07:15:41.356\",,\"7,435\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"212.99.52.163\"\n\"September 21st 2015, 07:15:24.246\",,\"14,445\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.115.184.133\"\n\"September 21st 2015, 07:15:17.699\",,\"3,141\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"106.181.249.244\"\n\"September 21st 2015, 07:15:14.431\",,\"3,404\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.150.146.102\"\n\"September 21st 2015, 07:14:59.782\",,\"7,760\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.171.208.139\"\n\"September 21st 2015, 07:14:59.053\",,\"6,170\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"79.76.124.169\"\n\"September 21st 2015, 07:14:58.868\",,\"4,714\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.4.152.176\"\n\"September 21st 2015, 07:14:50.695\",,\"9,686\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.225.249.114\"\n\"September 21st 2015, 07:14:40.398\",,\"13,918\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.153.51.78\"\n\"September 21st 2015, 07:14:32.511\",,\"5,293\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.191.52.177\"\n\"September 21st 2015, 07:14:23.206\",,\"2,219\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.35.55.46\"\n\"September 21st 2015, 07:14:16.404\",,\"9,949\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.50.219.103\"\n\"September 21st 2015, 07:14:14.096\",,\"3,086\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"197.222.12.184\"\n\"September 21st 2015, 07:14:06.971\",,\"3,075\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.243.115.83\"\n\"September 21st 2015, 07:14:04.481\",,\"7,467\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.40.191.19\"\n\"September 21st 2015, 07:13:56.903\",,\"9,528\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.11.66.39\"\n\"September 21st 2015, 07:13:52.915\",,\"5,829\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"178.104.96.40\"\n\"September 21st 2015, 07:13:46.476\",,\"9,637\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.200.84.215\"\n\"September 21st 2015, 07:13:46.023\",,\"3,458\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"173.233.118.214\"\n\"September 21st 2015, 07:13:45.695\",,\"3,904\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"77.227.154.93\"\n\"September 21st 2015, 07:13:38.331\",,\"16,393\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.230.105.32\"\n\"September 21st 2015, 07:13:32.546\",,\"8,917\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"175.99.184.146\"\n\"September 21st 2015, 07:13:31.576\",,\"4,996\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.37.151.239\"\n\"September 21st 2015, 07:13:30.541\",,\"14,327\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"178.57.229.103\"\n\"September 21st 2015, 07:13:23.072\",,\"4,519\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"215.6.99.158\"\n\"September 21st 2015, 07:13:03.837\",,\"9,906\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"115.207.4.201\"\n\"September 21st 2015, 07:13:00.941\",,\"7,819\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"20.178.152.193\"\n\"September 21st 2015, 07:12:56.869\",,\"3,227\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.132.195.31\"\n\"September 21st 2015, 07:12:47.058\",,\"6,853\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.252.219.9\"\n\"September 21st 2015, 07:12:39.886\",,\"2,189\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.190.3.193\"\n\"September 21st 2015, 07:12:37.602\",,\"5,586\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.148.228.141\"\n\"September 21st 2015, 07:12:35.880\",,\"8,029\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"222.201.119.239\"\n\"September 21st 2015, 07:12:12.903\",,\"7,707\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.54.151.5\"\n\"September 21st 2015, 07:11:59.939\",,\"8,394\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.23.191.85\"\n\"September 21st 2015, 07:11:59.845\",,\"7,918\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"87.54.48.33\"\n\"September 21st 2015, 07:11:50.350\",,\"8,930\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.70.170.56\"\n\"September 21st 2015, 07:11:47.080\",,\"8,403\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.220.193.123\"\n\"September 21st 2015, 07:11:41.850\",,\"4,859\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.89.186.2\"\n\"September 21st 2015, 07:11:40.793\",,\"7,825\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"116.126.47.226\"\n\"September 21st 2015, 07:11:40.133\",,\"4,883\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"69.84.146.72\"\n\"September 21st 2015, 07:11:35.465\",,\"9,692\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"28.3.30.170\"\n\"September 21st 2015, 07:11:29.616\",,\"5,000\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.128.176.48\"\n\"September 21st 2015, 07:11:21.022\",,\"4,766\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"127.254.107.86\"\n\"September 21st 2015, 07:11:14.403\",,\"9,296\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.126.88.114\"\n\"September 21st 2015, 07:11:13.601\",,\"9,175\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.163.20.44\"\n\"September 21st 2015, 07:11:08.119\",,\"3,141\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"104.87.105.86\"\n\"September 21st 2015, 07:11:00.166\",,\"5,385\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"113.35.23.20\"\n\"September 21st 2015, 07:10:51.620\",,\"2,336\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"35.222.204.135\"\n\"September 21st 2015, 07:10:44.590\",,\"7,767\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"202.48.108.4\"\n\"September 21st 2015, 07:10:40.456\",,\"16,289\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"20.178.152.193\"\n\"September 21st 2015, 07:10:35.277\",,\"8,968\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.12.135.128\"\n\"September 21st 2015, 07:10:23.577\",,\"4,107\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"209.144.199.174\"\n\"September 21st 2015, 07:10:20.071\",,\"7,421\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"214.13.7.53\"\n\"September 21st 2015, 07:09:57.051\",,\"1,785\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"120.101.20.104\"\n\"September 21st 2015, 07:09:54.451\",,\"2,064\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.128.7.74\"\n\"September 21st 2015, 07:09:51.734\",,\"5,057\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"102.191.15.62\"\n\"September 21st 2015, 07:09:23.244\",,\"17,627\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.13.115.149\"\n\"September 21st 2015, 07:09:21.910\",,\"13,608\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.153.166.47\"\n\"September 21st 2015, 07:09:17.618\",,\"19,755\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.220.3.248\"\n\"September 21st 2015, 07:09:00.270\",,\"6,474\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.63.51.8\"\n\"September 21st 2015, 07:08:52.857\",,\"18,298\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.142.235.222\"\n\"September 21st 2015, 07:08:37.573\",,\"8,690\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.59.37.77\"\n\"September 21st 2015, 07:08:36.803\",,\"2,104\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.151.244.234\"\n\"September 21st 2015, 07:08:32.227\",,\"8,942\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.7.132.13\"\n\"September 21st 2015, 07:08:23.427\",,\"5,658\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"50.26.210.216\"\n\"September 21st 2015, 07:08:22.134\",,\"9,899\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.177.240.217\"\n\"September 21st 2015, 07:08:20.805\",,\"8,294\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.174.21.181\"\n\"September 21st 2015, 07:08:00.230\",,\"6,558\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.119.62.60\"\n\"September 21st 2015, 07:07:52.632\",,\"3,694\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"61.73.88.176\"\n\"September 21st 2015, 07:07:51.629\",,\"5,036\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.185.234.193\"\n\"September 21st 2015, 07:07:51.309\",,\"2,629\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.188.44.145\"\n\"September 21st 2015, 07:07:30.420\",,\"4,335\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"30.36.151.195\"\n\"September 21st 2015, 07:07:28.725\",,\"8,853\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.199.194.23\"\n\"September 21st 2015, 07:07:27.162\",,\"8,059\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"17.123.55.136\"\n\"September 21st 2015, 07:07:17.326\",,\"2,107\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.51.178.50\"\n\"September 21st 2015, 07:07:01.195\",,\"4,180\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.144.75.220\"\n\"September 21st 2015, 07:06:58.233\",,\"2,384\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.94.183.177\"\n\"September 21st 2015, 07:06:44.464\",,\"4,892\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"48.242.153.99\"\n\"September 21st 2015, 07:06:43.558\",,\"6,337\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"94.48.29.38\"\n\"September 21st 2015, 07:06:33.767\",,\"3,403\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.129.36.56\"\n\"September 21st 2015, 07:06:26.344\",,\"3,156\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"83.3.0.125\"\n\"September 21st 2015, 07:06:24.117\",,\"5,339\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.59.172.226\"\n\"September 21st 2015, 07:06:10.498\",,\"4,543\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.143.209.115\"\n\"September 21st 2015, 07:06:09.142\",,\"2,626\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.55.80.52\"\n\"September 21st 2015, 07:06:06.768\",,\"2,123\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.35.159.150\"\n\"September 21st 2015, 07:06:04.937\",,\"2,944\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"106.217.103.105\"\n\"September 21st 2015, 07:06:01.721\",,\"2,954\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"148.134.9.77\"\n\"September 21st 2015, 07:06:00.904\",,\"8,242\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.107.74.6\"\n\"September 21st 2015, 07:05:57.060\",,\"8,000\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"37.92.205.231\"\n\"September 21st 2015, 07:05:43.432\",,\"7,749\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"165.150.252.187\"\n\"September 21st 2015, 07:05:42.533\",,\"9,259\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"49.17.130.204\"\n\"September 21st 2015, 07:05:42.094\",,\"1,531\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.123.178.135\"\n\"September 21st 2015, 07:05:40.519\",,\"8,472\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.149.151.88\"\n\"September 21st 2015, 07:05:30.167\",,\"14,256\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.255.221.0\"\n\"September 21st 2015, 07:05:02.446\",,\"5,641\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.13.7.53\"\n\"September 21st 2015, 07:04:55.505\",,\"4,872\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.149.85.183\"\n\"September 21st 2015, 07:04:49.769\",,\"6,099\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.151.255.82\"\n\"September 21st 2015, 07:04:37.583\",,\"5,988\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.152.176.23\"\n\"September 21st 2015, 07:04:33.833\",,\"9,213\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"134.62.86.139\"\n\"September 21st 2015, 07:04:22.075\",,\"6,147\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.206.61.6\"\n\"September 21st 2015, 07:04:17.064\",,\"7,480\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.84.146.72\"\n\"September 21st 2015, 07:04:10.103\",,\"9,367\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.195.26.33\"\n\"September 21st 2015, 07:04:00.684\",,\"3,163\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"121.34.210.235\"\n\"September 21st 2015, 07:03:49.379\",,\"8,603\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.191.52.177\"\n\"September 21st 2015, 07:03:42.756\",,\"6,010\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"69.142.235.222\"\n\"September 21st 2015, 07:03:34.822\",,\"1,830\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"8.248.237.182\"\n\"September 21st 2015, 07:03:32.567\",,\"4,176\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"239.143.176.28\"\n\"September 21st 2015, 07:03:24.538\",,\"2,851\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"218.248.177.77\"\n\"September 21st 2015, 07:03:15.691\",,\"4,698\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.119.62.60\"\n\"September 21st 2015, 07:03:12.926\",,\"5,619\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.48.147.184\"\n\"September 21st 2015, 07:03:11.466\",,\"14,379\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.79.158.95\"\n\"September 21st 2015, 07:03:04.668\",,\"4,885\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"129.24.204.40\"\n\"September 21st 2015, 07:03:03.621\",,\"2,892\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.87.234.213\"\n\"September 21st 2015, 07:02:59.859\",,\"8,423\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"217.132.169.207\"\n\"September 21st 2015, 07:02:51.156\",,\"9,049\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"187.122.228.77\"\n\"September 21st 2015, 07:02:47.661\",,\"5,499\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"195.62.0.145\"\n\"September 21st 2015, 07:02:39.841\",,\"4,165\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.11.66.39\"\n\"September 21st 2015, 07:02:37.042\",,\"1,594\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"30.5.71.170\"\n\"September 21st 2015, 07:02:35.827\",,\"8,761\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"165.150.252.187\"\n\"September 21st 2015, 07:02:08.099\",,\"7,725\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.111.6.73\"\n\"September 21st 2015, 07:02:04.570\",,\"14,584\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.202.168.250\"\n\"September 21st 2015, 07:02:00.676\",,\"4,514\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.113.253.141\"\n\"September 21st 2015, 07:01:53.039\",,\"2,938\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"106.181.249.244\"\n\"September 21st 2015, 07:01:46.544\",,\"1,957\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.243.109.222\"\n\"September 21st 2015, 07:01:41.662\",,\"4,723\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.45.107.116\"\n\"September 21st 2015, 07:01:33.751\",,\"1,870\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.112.81.106\"\n\"September 21st 2015, 07:01:31.187\",,\"2,215\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.29.171.72\"\n\"September 21st 2015, 07:01:19.709\",,\"1,468\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.55.251.105\"\n\"September 21st 2015, 07:01:18.682\",,\"4,971\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.180.70.74\"\n\"September 21st 2015, 07:01:08.785\",,\"8,397\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"244.172.153.74\"\n\"September 21st 2015, 07:01:06.199\",,\"1,669\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.75.209.68\"\n\"September 21st 2015, 07:00:44.911\",,\"2,258\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"126.87.234.213\"\n\"September 21st 2015, 07:00:38.196\",,\"8,468\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.202.198.155\"\n\"September 21st 2015, 07:00:26.768\",,\"3,383\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.165.237.200\"\n\"September 21st 2015, 07:00:25.071\",,\"5,716\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"161.35.49.227\"\n\"September 21st 2015, 07:00:15.874\",,\"7,672\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"189.34.180.209\"\n\"September 21st 2015, 07:00:13.611\",,\"7,299\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"168.174.35.186\"\n\"September 21st 2015, 07:00:06.875\",,\"6,360\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.75.209.68\"\n\"September 21st 2015, 07:00:05.650\",,\"12,647\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"109.25.18.216\"\n\"September 21st 2015, 07:00:04.714\",,\"9,123\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.163.133.47\"\n\"September 21st 2015, 06:59:37.354\",,\"2,432\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"183.139.112.201\"\n\"September 21st 2015, 06:59:27.359\",,\"7,588\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.21.156.43\"\n\"September 21st 2015, 06:59:21.606\",,\"6,593\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.6.99.158\"\n\"September 21st 2015, 06:59:21.389\",,\"5,959\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.237.64.228\"\n\"September 21st 2015, 06:59:04.079\",,\"4,557\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.5.136.153\"\n\"September 21st 2015, 06:58:49.557\",,\"3,690\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"174.196.54.80\"\n\"September 21st 2015, 06:58:37.695\",,\"7,491\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.243.109.222\"\n\"September 21st 2015, 06:58:32.304\",,\"7,688\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"81.186.187.11\"\n\"September 21st 2015, 06:58:27.964\",,\"5,273\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.218.92.179\"\n\"September 21st 2015, 06:58:27.159\",,\"14,329\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.211.13.64\"\n\"September 21st 2015, 06:58:10.724\",,\"3,280\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.137.241.169\"\n\"September 21st 2015, 06:58:08.567\",,\"6,137\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.71.171.141\"\n\"September 21st 2015, 06:57:56.657\",,\"4,428\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.25.112.43\"\n\"September 21st 2015, 06:57:40.813\",,\"3,055\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"202.22.74.232\"\n\"September 21st 2015, 06:57:12.025\",,\"7,779\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.79.142.15\"\n\"September 21st 2015, 06:57:10.260\",,\"5,809\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"197.49.80.127\"\n\"September 21st 2015, 06:56:55.998\",,\"6,990\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.153.51.78\"\n\"September 21st 2015, 06:56:48.901\",,\"4,830\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.209.234.93\"\n\"September 21st 2015, 06:56:48.185\",,\"2,596\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.69.63.219\"\n\"September 21st 2015, 06:56:32.577\",,\"8,363\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.255.46.138\"\n\"September 21st 2015, 06:56:22.215\",,\"7,680\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.221.187.90\"\n\"September 21st 2015, 06:56:19.043\",,\"8,596\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.99.52.163\"\n\"September 21st 2015, 06:56:09.643\",,\"6,389\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.233.183.250\"\n\"September 21st 2015, 06:56:02.351\",,\"9,610\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"175.211.243.56\"\n\"September 21st 2015, 06:55:46.873\",,\"5,793\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"154.55.57.32\"\n\"September 21st 2015, 06:55:45.492\",,\"6,419\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.135.248.113\"\n\"September 21st 2015, 06:55:22.604\",,\"5,161\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.139.46.29\"\n\"September 21st 2015, 06:55:07.453\",,\"5,855\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.7.244.68\"\n\"September 21st 2015, 06:54:59.861\",,\"8,592\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.191.218.38\"\n\"September 21st 2015, 06:54:55.712\",,\"11,910\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.98.200.29\"\n\"September 21st 2015, 06:54:43.216\",,\"9,306\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"13.193.146.83\"\n\"September 21st 2015, 06:54:39.371\",,\"3,325\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.53.110.116\"\n\"September 21st 2015, 06:54:23.575\",,\"5,515\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.195.18.133\"\n\"September 21st 2015, 06:54:20.654\",,\"6,313\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.115.221.35\"\n\"September 21st 2015, 06:54:07.138\",,\"2,894\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.27.102.199\"\n\"September 21st 2015, 06:53:54.201\",,\"10,935\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"233.57.13.23\"\n\"September 21st 2015, 06:53:53.189\",,\"2,380\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"222.28.157.119\"\n\"September 21st 2015, 06:53:23.416\",,\"3,541\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"210.210.88.232\"\n\"September 21st 2015, 06:53:05.174\",,\"4,287\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"91.217.157.152\"\n\"September 21st 2015, 06:53:05.133\",,\"15,102\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.225.101.206\"\n\"September 21st 2015, 06:53:02.022\",,\"8,042\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.43.210.167\"\n\"September 21st 2015, 06:52:38.626\",,\"5,060\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"217.44.155.137\"\n\"September 21st 2015, 06:52:37.126\",,\"6,753\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.85.53.125\"\n\"September 21st 2015, 06:52:35.094\",,\"9,235\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.185.234.193\"\n\"September 21st 2015, 06:52:29.832\",,\"18,363\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.202.198.155\"\n\"September 21st 2015, 06:52:26.469\",,\"7,917\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.192.80.162\"\n\"September 21st 2015, 06:52:17.056\",,\"8,342\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.42.218.145\"\n\"September 21st 2015, 06:52:10.348\",,\"9,950\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.201.212.220\"\n\"September 21st 2015, 06:52:01.863\",,\"2,547\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.92.154.173\"\n\"September 21st 2015, 06:51:59.209\",,\"5,807\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"143.81.107.227\"\n\"September 21st 2015, 06:51:52.741\",,\"4,754\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.253.80.52\"\n\"September 21st 2015, 06:51:47.904\",,\"6,113\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"197.222.12.184\"\n\"September 21st 2015, 06:51:40.399\",,\"7,609\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"69.87.49.40\"\n\"September 21st 2015, 06:51:39.818\",,\"7,086\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"28.3.30.170\"\n\"September 21st 2015, 06:51:32.110\",,\"9,787\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.223.188.57\"\n\"September 21st 2015, 06:51:24.213\",,\"18,257\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.181.188.3\"\n\"September 21st 2015, 06:51:18.014\",,\"6,651\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.37.253.193\"\n\"September 21st 2015, 06:51:15.543\",,\"2,749\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.228.1.71\"\n\"September 21st 2015, 06:51:03.904\",,\"8,441\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.75.33.146\"\n\"September 21st 2015, 06:50:54.989\",,\"9,741\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.3.0.125\"\n\"September 21st 2015, 06:50:46.192\",,\"2,751\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.161.172.168\"\n\"September 21st 2015, 06:50:25.430\",,\"3,903\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"195.233.186.3\"\n\"September 21st 2015, 06:50:16.164\",,\"6,092\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"182.207.77.200\"\n\"September 21st 2015, 06:50:00.451\",,\"6,017\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.216.169.176\"\n\"September 21st 2015, 06:49:55.044\",,\"7,804\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.144.75.220\"\n\"September 21st 2015, 06:49:52.460\",,\"9,441\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"52.158.88.35\"\n\"September 21st 2015, 06:49:50.565\",,\"2,600\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.84.146.72\"\n\"September 21st 2015, 06:49:50.333\",,\"6,007\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"95.162.138.2\"\n\"September 21st 2015, 06:49:48.163\",,\"9,444\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"76.240.114.69\"\n\"September 21st 2015, 06:49:42.127\",,\"9,236\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.160.128.58\"\n\"September 21st 2015, 06:49:40.203\",,\"8,703\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.205.178.33\"\n\"September 21st 2015, 06:49:38.164\",,\"5,761\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"219.33.16.83\"\n\"September 21st 2015, 06:49:35.316\",,\"18,572\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.172.137.39\"\n\"September 21st 2015, 06:49:34.966\",,\"9,208\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.84.248.187\"\n\"September 21st 2015, 06:49:25.923\",,\"9,707\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"142.155.247.152\"\n\"September 21st 2015, 06:49:02.651\",,\"8,172\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.143.189.70\"\n\"September 21st 2015, 06:49:01.149\",,\"3,988\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.136.173.80\"\n\"September 21st 2015, 06:48:48.295\",,\"1,819\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"122.95.5.139\"\n\"September 21st 2015, 06:48:47.789\",,\"8,487\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.192.52.3\"\n\"September 21st 2015, 06:48:46.371\",,\"8,029\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.241.46.95\"\n\"September 21st 2015, 06:48:37.713\",,\"5,049\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.88.213.204\"\n\"September 21st 2015, 06:48:35.556\",,\"9,942\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.172.28.222\"\n\"September 21st 2015, 06:48:31.977\",,\"2,047\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"131.102.224.216\"\n\"September 21st 2015, 06:48:31.045\",,\"3,209\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"49.244.150.190\"\n\"September 21st 2015, 06:48:30.032\",,\"5,441\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.189.88.90\"\n\"September 21st 2015, 06:48:13.718\",,\"7,481\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.106.79.211\"\n\"September 21st 2015, 06:48:08.938\",,\"6,568\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.242.177.192\"\n\"September 21st 2015, 06:48:01.861\",,\"7,699\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.49.130.46\"\n\"September 21st 2015, 06:47:55.891\",,\"5,591\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"71.169.104.184\"\n\"September 21st 2015, 06:47:50.720\",,\"9,069\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.164.151.232\"\n\"September 21st 2015, 06:47:45.546\",,\"3,543\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"117.102.170.167\"\n\"September 21st 2015, 06:47:32.336\",,\"8,083\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.55.80.52\"\n\"September 21st 2015, 06:47:31.646\",,\"3,097\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.92.50.149\"\n\"September 21st 2015, 06:47:20.865\",,\"7,313\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"185.144.182.162\"\n\"September 21st 2015, 06:47:20.653\",,\"3,547\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.250.210.253\"\n\"September 21st 2015, 06:47:17.704\",,\"7,393\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"6.183.121.70\"\n\"September 21st 2015, 06:47:00.354\",,\"1,569\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.27.102.199\"\n\"September 21st 2015, 06:46:57.228\",,\"8,580\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.218.92.179\"\n\"September 21st 2015, 06:46:53.284\",,\"8,033\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.62.211.92\"\n\"September 21st 2015, 06:46:46.612\",,\"3,447\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.63.84.25\"\n\"September 21st 2015, 06:46:07.653\",,\"2,177\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"187.122.228.77\"\n\"September 21st 2015, 06:46:02.288\",,\"7,124\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"110.27.10.205\"\n\"September 21st 2015, 06:45:46.358\",,\"4,154\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"196.97.127.109\"\n\"September 21st 2015, 06:45:25.468\",,\"7,520\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.5.167.41\"\n\"September 21st 2015, 06:45:09.292\",,\"8,975\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"36.41.204.197\"\n\"September 21st 2015, 06:44:48.009\",,\"7,269\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.156.219.144\"\n\"September 21st 2015, 06:44:45.510\",,\"8,369\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.100.178.89\"\n\"September 21st 2015, 06:44:29.627\",,\"3,117\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.244.83.137\"\n\"September 21st 2015, 06:44:21.823\",,\"6,066\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"1.17.21.12\"\n\"September 21st 2015, 06:44:20.169\",,\"7,150\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.87.85.59\"\n\"September 21st 2015, 06:44:18.803\",,\"3,537\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"43.164.236.145\"\n\"September 21st 2015, 06:44:08.592\",,\"6,824\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"154.79.180.7\"\n\"September 21st 2015, 06:44:04.405\",,\"5,732\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"6.70.186.143\"\n\"September 21st 2015, 06:43:58.705\",,\"9,165\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.83.247.30\"\n\"September 21st 2015, 06:43:52.518\",,\"5,724\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.83.17.193\"\n\"September 21st 2015, 06:43:41.448\",,\"3,386\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.25.112.43\"\n\"September 21st 2015, 06:43:39.518\",,\"3,688\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.191.52.177\"\n\"September 21st 2015, 06:43:31.393\",,\"1,542\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.240.114.69\"\n\"September 21st 2015, 06:43:17.759\",,\"6,962\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"60.231.227.7\"\n\"September 21st 2015, 06:43:12.996\",,\"9,450\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.105.100.214\"\n\"September 21st 2015, 06:43:03.888\",,\"5,354\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"10.192.39.62\"\n\"September 21st 2015, 06:42:51.420\",,\"2,596\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"43.164.236.145\"\n\"September 21st 2015, 06:42:49.617\",,\"9,939\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.99.243.183\"\n\"September 21st 2015, 06:42:41.413\",,\"8,769\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.85.77.216\"\n\"September 21st 2015, 06:42:37.957\",,\"7,536\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.210.244.94\"\n\"September 21st 2015, 06:42:29.772\",,\"7,358\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.115.183.40\"\n\"September 21st 2015, 06:42:10.710\",,\"6,437\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"247.189.13.239\"\n\"September 21st 2015, 06:42:10.132\",,\"6,623\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"94.218.243.2\"\n\"September 21st 2015, 06:42:09.954\",,\"7,259\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"178.122.0.0\"\n\"September 21st 2015, 06:41:39.982\",,\"6,665\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"186.182.14.125\"\n\"September 21st 2015, 06:41:33.234\",,\"3,513\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"54.172.121.192\"\n\"September 21st 2015, 06:41:14.592\",,\"4,078\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.123.55.136\"\n\"September 21st 2015, 06:41:14.580\",,\"1,632\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"60.231.227.7\"\n\"September 21st 2015, 06:41:03.844\",,\"2,085\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.143.209.115\"\n\"September 21st 2015, 06:40:56.155\",,\"7,893\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.155.226.58\"\n\"September 21st 2015, 06:40:46.420\",,\"2,632\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.27.68.62\"\n\"September 21st 2015, 06:40:43.770\",,\"4,576\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.242.153.99\"\n\"September 21st 2015, 06:40:42.675\",,\"3,886\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"154.28.252.79\"\n\"September 21st 2015, 06:40:40.364\",,\"5,245\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"244.112.251.87\"\n\"September 21st 2015, 06:40:34.178\",,\"5,894\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.74.144.217\"\n\"September 21st 2015, 06:40:28.587\",,\"2,984\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.32.224.79\"\n\"September 21st 2015, 06:40:16.525\",,\"7,910\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"47.255.68.154\"\n\"September 21st 2015, 06:40:08.030\",,\"7,261\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.138.70.255\"\n\"September 21st 2015, 06:39:34.223\",,\"2,153\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.77.18.142\"\n\"September 21st 2015, 06:39:32.685\",,\"7,311\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"45.138.192.138\"\n\"September 21st 2015, 06:39:28.059\",,\"1,743\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.82.3.150\"\n\"September 21st 2015, 06:39:25.140\",,\"7,034\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.164.215.104\"\n\"September 21st 2015, 06:39:21.953\",,\"2,664\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.153.51.78\"\n\"September 21st 2015, 06:39:21.463\",,\"7,299\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.150.212.12\"\n\"September 21st 2015, 06:39:14.312\",,\"2,952\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"20.34.86.255\"\n\"September 21st 2015, 06:38:44.976\",,\"4,106\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"8.248.237.182\"\n\"September 21st 2015, 06:38:38.873\",,\"5,897\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"154.28.252.79\"\n\"September 21st 2015, 06:38:37.164\",,\"2,871\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.153.40.224\"\n\"September 21st 2015, 06:38:34.659\",,\"7,505\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.55.195.184\"\n\"September 21st 2015, 06:38:10.510\",,\"2,192\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.100.178.89\"\n\"September 21st 2015, 06:38:06.368\",,\"3,953\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"87.76.133.12\"\n\"September 21st 2015, 06:37:59.436\",,\"3,615\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.28.27.24\"\n\"September 21st 2015, 06:37:55.181\",,\"6,401\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.76.224.154\"\n\"September 21st 2015, 06:37:54.772\",,\"7,961\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.79.189.11\"\n\"September 21st 2015, 06:37:50.408\",,\"9,363\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"255.58.31.9\"\n\"September 21st 2015, 06:37:50.285\",,\"7,084\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"183.139.112.201\"\n\"September 21st 2015, 06:37:49.076\",,\"6,699\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"159.230.143.48\"\n\"September 21st 2015, 06:37:46.697\",,\"5,173\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.205.146.206\"\n\"September 21st 2015, 06:37:35.322\",,\"5,213\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.92.239.70\"\n\"September 21st 2015, 06:37:32.100\",,\"4,858\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.159.183.77\"\n\"September 21st 2015, 06:37:19.963\",,\"8,895\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.83.52.239\"\n\"September 21st 2015, 06:37:17.936\",,\"7,267\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"56.7.132.13\"\n\"September 21st 2015, 06:37:10.516\",,\"17,995\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.232.128.91\"\n\"September 21st 2015, 06:36:56.195\",,\"9,476\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.113.219.30\"\n\"September 21st 2015, 06:36:53.245\",,\"8,849\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.95.187.48\"\n\"September 21st 2015, 06:36:52.530\",,\"8,997\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.58.47.229\"\n\"September 21st 2015, 06:36:40.384\",,\"2,560\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.62.43.103\"\n\"September 21st 2015, 06:36:34.919\",,\"2,646\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.158.88.35\"\n\"September 21st 2015, 06:36:25.099\",,\"4,972\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.2.26.42\"\n\"September 21st 2015, 06:36:24.136\",,\"1,689\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.59.172.226\"\n\"September 21st 2015, 06:36:12.258\",,\"6,953\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.252.219.9\"\n\"September 21st 2015, 06:36:06.933\",,\"8,832\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"242.162.114.49\"\n\"September 21st 2015, 06:36:02.358\",,\"4,524\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.59.225.31\"\n\"September 21st 2015, 06:35:43.014\",,\"6,973\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"182.186.221.142\"\n\"September 21st 2015, 06:35:39.145\",,\"8,866\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.109.118.102\"\n\"September 21st 2015, 06:35:32.623\",,\"2,391\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.143.20.221\"\n\"September 21st 2015, 06:35:17.393\",,\"4,658\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.115.189.193\"\n\"September 21st 2015, 06:34:53.530\",,\"7,786\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"177.141.61.131\"\n\"September 21st 2015, 06:34:36.194\",,\"5,217\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"30.149.85.183\"\n\"September 21st 2015, 06:34:02.289\",,\"4,654\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.155.42.103\"\n\"September 21st 2015, 06:33:45.858\",,\"7,445\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"164.137.46.37\"\n\"September 21st 2015, 06:33:35.614\",,\"7,879\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"248.163.75.193\"\n\"September 21st 2015, 06:33:25.286\",,\"5,929\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"101.145.158.45\"\n\"September 21st 2015, 06:33:15.502\",,\"1,732\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.203.1.94\"\n\"September 21st 2015, 06:33:14.295\",,\"9,063\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.100.60.111\"\n\"September 21st 2015, 06:33:13.943\",,\"9,613\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"59.202.132.136\"\n\"September 21st 2015, 06:32:53.528\",,\"6,017\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.147.159.107\"\n\"September 21st 2015, 06:32:52.639\",,\"2,400\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"199.113.69.162\"\n\"September 21st 2015, 06:32:50.214\",,\"4,070\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.16.191.123\"\n\"September 21st 2015, 06:32:43.170\",,\"3,132\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.5.110.41\"\n\"September 21st 2015, 06:32:24.815\",,\"3,215\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"177.194.175.66\"\n\"September 21st 2015, 06:32:13.699\",,\"5,244\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.115.183.40\"\n\"September 21st 2015, 06:32:09.106\",,\"1,934\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"251.246.146.22\"\n\"September 21st 2015, 06:31:55.198\",,\"8,205\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.227.27.167\"\n\"September 21st 2015, 06:31:29.158\",,\"2,125\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.57.170.220\"\n\"September 21st 2015, 06:31:22.106\",,\"3,525\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.219.65.244\"\n\"September 21st 2015, 06:31:19.974\",,\"9,240\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.106.79.211\"\n\"September 21st 2015, 06:31:09.980\",,\"2,804\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.62.90.237\"\n\"September 21st 2015, 06:30:49.675\",,\"9,375\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.121.197.80\"\n\"September 21st 2015, 06:30:35.262\",,\"3,518\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"56.253.85.132\"\n\"September 21st 2015, 06:30:33.767\",,\"4,177\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"63.212.173.15\"\n\"September 21st 2015, 06:30:08.979\",,\"4,209\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.107.74.6\"\n\"September 21st 2015, 06:30:08.437\",,\"4,476\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.227.195.13\"\n\"September 21st 2015, 06:30:00.932\",,\"3,919\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.204.236.159\"\n\"September 21st 2015, 06:29:55.937\",,\"8,672\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.152.7.186\"\n\"September 21st 2015, 06:29:46.246\",,\"6,437\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.106.203.143\"\n\"September 21st 2015, 06:29:42.969\",,\"4,139\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.61.116.63\"\n\"September 21st 2015, 06:29:40.910\",,\"8,489\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.109.145.217\"\n\"September 21st 2015, 06:29:28.437\",,\"9,634\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.162.138.2\"\n\"September 21st 2015, 06:29:25.790\",,\"8,722\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.139.58.171\"\n\"September 21st 2015, 06:29:17.409\",,\"4,748\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"184.125.153.221\"\n\"September 21st 2015, 06:29:14.278\",,\"8,505\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"174.32.230.63\"\n\"September 21st 2015, 06:28:47.155\",,\"3,349\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.59.172.226\"\n\"September 21st 2015, 06:28:43.389\",,\"7,969\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.55.195.184\"\n\"September 21st 2015, 06:28:42.700\",,\"6,308\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.74.96.103\"\n\"September 21st 2015, 06:28:38.355\",,\"4,098\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.115.77.46\"\n\"September 21st 2015, 06:28:33.996\",,\"3,759\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.83.17.193\"\n\"September 21st 2015, 06:28:33.297\",,\"8,185\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.210.116.210\"\n\"September 21st 2015, 06:28:32.043\",,\"7,838\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.223.164.21\"\n\"September 21st 2015, 06:28:31.254\",,\"8,193\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"195.62.0.145\"\n\"September 21st 2015, 06:27:57.677\",,\"2,798\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.191.39.198\"\n\"September 21st 2015, 06:27:57.555\",,\"5,355\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"184.125.153.221\"\n\"September 21st 2015, 06:27:55.394\",,\"3,244\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"31.196.214.182\"\n\"September 21st 2015, 06:27:45.171\",,\"9,970\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.2.62.18\"\n\"September 21st 2015, 06:27:44.159\",,\"1,995\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"167.26.56.145\"\n\"September 21st 2015, 06:27:11.875\",,\"5,143\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"174.196.54.80\"\n\"September 21st 2015, 06:27:09.822\",,\"7,830\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"59.202.132.136\"\n\"September 21st 2015, 06:26:54.734\",,\"2,500\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"223.237.148.2\"\n\"September 21st 2015, 06:26:40.943\",,\"2,165\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"122.95.5.139\"\n\"September 21st 2015, 06:26:40.165\",,\"3,816\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.106.160.216\"\n\"September 21st 2015, 06:26:25.865\",,\"6,037\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.83.76.140\"\n\"September 21st 2015, 06:26:16.143\",,\"5,481\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.193.157.89\"\n\"September 21st 2015, 06:25:56.465\",,\"4,485\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"147.175.109.124\"\n\"September 21st 2015, 06:25:50.623\",,\"1,225\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"225.209.251.160\"\n\"September 21st 2015, 06:25:45.430\",,\"5,347\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"74.101.37.80\"\n\"September 21st 2015, 06:25:22.259\",,\"9,283\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.249.202.59\"\n\"September 21st 2015, 06:25:22.177\",,\"2,077\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.182.13.142\"\n\"September 21st 2015, 06:25:17.430\",,\"4,320\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.83.143.132\"\n\"September 21st 2015, 06:25:16.235\",,\"8,767\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.208.223.252\"\n\"September 21st 2015, 06:25:14.462\",,\"6,680\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"211.0.102.190\"\n\"September 21st 2015, 06:25:12.185\",,\"4,196\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"16.148.135.166\"\n\"September 21st 2015, 06:24:45.298\",,\"7,465\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"161.108.174.248\"\n\"September 21st 2015, 06:24:36.118\",,\"6,974\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.150.146.102\"\n\"September 21st 2015, 06:24:21.341\",,\"3,050\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.237.227.233\"\n\"September 21st 2015, 06:24:15.337\",,\"4,163\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"16.148.135.166\"\n\"September 21st 2015, 06:23:59.101\",,\"8,639\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.222.56.247\"\n\"September 21st 2015, 06:23:38.684\",,\"6,096\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"2.203.112.183\"\n\"September 21st 2015, 06:23:37.243\",,\"9,487\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"65.135.134.42\"\n\"September 21st 2015, 06:23:36.283\",,\"4,088\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.61.182.136\"\n\"September 21st 2015, 06:23:23.659\",,\"9,383\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"126.220.227.11\"\n\"September 21st 2015, 06:23:08.807\",,\"4,834\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.211.13.64\"\n\"September 21st 2015, 06:22:51.382\",,\"3,494\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"158.168.90.226\"\n\"September 21st 2015, 06:22:48.108\",,\"12,462\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"241.45.143.98\"\n\"September 21st 2015, 06:22:41.088\",,\"7,020\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"255.58.31.9\"\n\"September 21st 2015, 06:22:39.286\",,\"9,567\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.244.25.107\"\n\"September 21st 2015, 06:21:55.887\",,\"2,585\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.221.41.27\"\n\"September 21st 2015, 06:21:48.201\",,\"6,597\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.101.221.163\"\n\"September 21st 2015, 06:21:44.473\",,\"6,579\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.201.212.220\"\n\"September 21st 2015, 06:21:38.667\",,\"8,439\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"247.129.16.191\"\n\"September 21st 2015, 06:21:29.151\",,\"6,846\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.173.30.33\"\n\"September 21st 2015, 06:21:19.929\",,\"4,682\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.194.215.29\"\n\"September 21st 2015, 06:21:12.556\",,\"5,811\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.63.242.217\"\n\"September 21st 2015, 06:20:57.607\",,\"7,842\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.147.119.226\"\n\"September 21st 2015, 06:20:31.760\",,\"2,411\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.255.221.0\"\n\"September 21st 2015, 06:20:27.013\",,\"7,434\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"255.58.31.9\"\n\"September 21st 2015, 06:20:19.268\",,\"9,493\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.210.116.210\"\n\"September 21st 2015, 06:20:06.872\",,\"2,340\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.105.204.4\"\n\"September 21st 2015, 06:20:06.319\",,\"2,379\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.143.125.181\"\n\"September 21st 2015, 06:19:44.615\",,\"3,566\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.177.125.196\"\n\"September 21st 2015, 06:19:37.521\",,\"5,173\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"212.134.81.148\"\n\"September 21st 2015, 06:19:22.850\",,\"6,929\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"234.65.112.109\"\n\"September 21st 2015, 06:19:22.590\",,\"7,618\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"247.174.57.245\"\n\"September 21st 2015, 06:19:17.908\",,\"9,685\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.39.140.144\"\n\"September 21st 2015, 06:19:03.585\",,\"6,372\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.49.130.46\"\n\"September 21st 2015, 06:18:52.394\",,\"17,217\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"120.101.20.104\"\n\"September 21st 2015, 06:18:48.586\",,\"3,308\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.7.164.59\"\n\"September 21st 2015, 06:18:47.182\",,\"6,291\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.190.189.77\"\n\"September 21st 2015, 06:18:40.255\",,\"5,784\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.127.51.83\"\n\"September 21st 2015, 06:18:22.855\",,\"6,901\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"163.123.136.118\"\n\"September 21st 2015, 06:18:17.036\",,\"7,936\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.45.107.116\"\n\"September 21st 2015, 06:17:52.954\",,\"8,280\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"171.243.18.67\"\n\"September 21st 2015, 06:17:43.841\",,\"9,739\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.246.231.47\"\n\"September 21st 2015, 06:16:42.966\",,\"4,827\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.227.142.190\"\n\"September 21st 2015, 06:16:40.266\",,\"5,414\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.38.139.107\"\n\"September 21st 2015, 06:16:31.253\",,\"5,281\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.6.126.193\"\n\"September 21st 2015, 06:16:00.846\",,\"5,333\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"36.185.52.71\"\n\"September 21st 2015, 06:15:50.906\",,\"3,178\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.115.184.133\"\n\"September 21st 2015, 06:15:48.416\",,\"7,735\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.252.219.9\"\n\"September 21st 2015, 06:15:42.299\",,\"4,124\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.222.56.247\"\n\"September 21st 2015, 06:15:41.712\",,\"6,422\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"131.98.185.144\"\n\"September 21st 2015, 06:15:39.948\",,\"2,151\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.155.198.238\"\n\"September 21st 2015, 06:15:36.162\",,\"2,114\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"222.224.95.15\"\n\"September 21st 2015, 06:15:24.677\",,\"5,068\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.33.83.170\"\n\"September 21st 2015, 06:15:18.337\",,\"14,459\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.29.100.213\"\n\"September 21st 2015, 06:15:03.073\",,\"5,196\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.40.191.19\"\n\"September 21st 2015, 06:14:34.512\",,\"9,335\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.11.66.39\"\n\"September 21st 2015, 06:14:30.082\",,\"3,696\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"225.222.13.93\"\n\"September 21st 2015, 06:14:20.608\",,\"8,216\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"202.123.188.108\"\n\"September 21st 2015, 06:13:59.489\",,\"9,093\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.233.207.177\"\n\"September 21st 2015, 06:13:48.087\",,\"9,364\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"96.34.109.191\"\n\"September 21st 2015, 06:13:44.667\",,\"10,295\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.203.229.1\"\n\"September 21st 2015, 06:13:43.387\",,\"2,370\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"2.7.11.95\"\n\"September 21st 2015, 06:13:35.187\",,\"9,933\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"104.212.107.0\"\n\"September 21st 2015, 06:13:34.838\",,\"8,615\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.32.224.79\"\n\"September 21st 2015, 06:13:32.433\",,\"10,198\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"0.228.1.71\"\n\"September 21st 2015, 06:13:29.679\",,\"5,735\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"42.72.83.65\"\n\"September 21st 2015, 06:13:18.997\",,\"9,737\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.158.217.196\"\n\"September 21st 2015, 06:13:18.886\",,\"9,613\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.48.147.184\"\n\"September 21st 2015, 06:13:11.455\",,\"7,887\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.220.171.248\"\n\"September 21st 2015, 06:13:04.263\",,\"5,581\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"178.104.96.40\"\n\"September 21st 2015, 06:12:53.540\",,\"8,160\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.172.137.39\"\n\"September 21st 2015, 06:12:51.152\",,\"12,227\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.237.80.177\"\n\"September 21st 2015, 06:12:35.222\",,\"17,037\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"35.88.165.183\"\n\"September 21st 2015, 06:12:17.064\",,\"13,864\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"248.163.75.193\"\n\"September 21st 2015, 06:12:12.799\",,\"3,768\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.162.138.2\"\n\"September 21st 2015, 06:11:57.176\",,\"19,702\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.208.48.188\"\n\"September 21st 2015, 06:11:46.886\",,\"5,022\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"247.129.16.191\"\n\"September 21st 2015, 06:11:39.627\",,\"5,808\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"199.113.69.162\"\n\"September 21st 2015, 06:11:38.485\",,\"9,839\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"162.218.161.231\"\n\"September 21st 2015, 06:11:37.484\",,\"6,449\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.120.103.28\"\n\"September 21st 2015, 06:11:05.837\",,\"9,792\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.115.183.40\"\n\"September 21st 2015, 06:11:00.302\",,\"9,191\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"173.237.216.175\"\n\"September 21st 2015, 06:10:59.496\",,\"4,074\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.242.201.206\"\n\"September 21st 2015, 06:10:48.203\",,\"17,460\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"2.7.11.95\"\n\"September 21st 2015, 06:10:44.080\",,\"4,205\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.190.101.72\"\n\"September 21st 2015, 06:10:25.349\",,\"9,961\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"109.192.212.178\"\n\"September 21st 2015, 06:10:22.039\",,\"9,903\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.56.222.3\"\n\"September 21st 2015, 06:10:20.302\",,\"7,993\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"49.164.39.249\"\n\"September 21st 2015, 06:09:57.694\",,\"2,550\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.7.121.157\"\n\"September 21st 2015, 06:09:34.715\",,\"6,813\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.195.208.118\"\n\"September 21st 2015, 06:09:32.049\",,\"7,197\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"234.65.112.109\"\n\"September 21st 2015, 06:09:11.274\",,\"11,136\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"72.173.69.119\"\n\"September 21st 2015, 06:09:03.263\",,\"9,939\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.186.79.201\"\n\"September 21st 2015, 06:08:54.043\",,\"8,579\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.228.214.218\"\n\"September 21st 2015, 06:08:51.204\",,\"3,220\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.199.255.8\"\n\"September 21st 2015, 06:08:44.369\",,\"3,488\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.74.138.136\"\n\"September 21st 2015, 06:08:15.355\",,\"15,066\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"157.56.54.126\"\n\"September 21st 2015, 06:07:54.668\",,\"1,995\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.177.73.18\"\n\"September 21st 2015, 06:07:49.464\",,\"7,761\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.46.85.146\"\n\"September 21st 2015, 06:07:45.886\",,\"7,730\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.242.177.192\"\n\"September 21st 2015, 06:07:39.864\",,\"2,145\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.186.79.201\"\n\"September 21st 2015, 06:07:18.887\",,\"8,226\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"14.61.182.136\"\n\"September 21st 2015, 06:07:12.135\",,\"8,890\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.23.191.85\"\n\"September 21st 2015, 06:07:11.600\",,\"7,879\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.57.253.60\"\n\"September 21st 2015, 06:07:02.331\",,\"6,691\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"29.188.141.95\"\n\"September 21st 2015, 06:06:51.392\",,\"9,911\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"225.209.251.160\"\n\"September 21st 2015, 06:06:38.976\",,\"8,638\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.242.204.223\"\n\"September 21st 2015, 06:06:37.479\",,\"4,070\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"155.157.127.149\"\n\"September 21st 2015, 06:06:30.470\",,\"7,952\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.192.185.168\"\n\"September 21st 2015, 06:06:23.248\",,\"6,598\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.220.193.123\"\n\"September 21st 2015, 06:06:18.094\",,\"7,692\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.80.208.225\"\n\"September 21st 2015, 06:06:17.376\",,\"2,806\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.37.151.239\"\n\"September 21st 2015, 06:05:12.826\",,\"9,509\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"12.102.47.119\"\n\"September 21st 2015, 06:05:09.887\",,\"7,514\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.49.31.82\"\n\"September 21st 2015, 06:04:59.279\",,\"7,065\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.50.219.103\"\n\"September 21st 2015, 06:04:53.226\",,\"9,162\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"227.219.87.110\"\n\"September 21st 2015, 06:04:50.832\",,\"8,690\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.45.70.116\"\n\"September 21st 2015, 06:04:45.156\",,\"7,857\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.49.130.46\"\n\"September 21st 2015, 06:04:45.071\",,\"6,699\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"94.154.194.208\"\n\"September 21st 2015, 06:04:44.954\",,\"12,083\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.75.33.146\"\n\"September 21st 2015, 06:04:43.160\",,\"1,524\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"177.69.169.33\"\n\"September 21st 2015, 06:04:32.864\",,\"1,709\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.64.147.41\"\n\"September 21st 2015, 06:04:24.004\",,\"8,175\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"129.152.7.186\"\n\"September 21st 2015, 06:04:11.768\",,\"2,775\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.85.51.238\"\n\"September 21st 2015, 06:04:08.629\",,\"6,872\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"38.29.122.137\"\n\"September 21st 2015, 06:04:07.407\",,\"3,078\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.220.52.2\"\n\"September 21st 2015, 06:04:03.484\",,\"9,623\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.93.29.126\"\n\"September 21st 2015, 06:03:57.067\",,\"9,765\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.53.251.53\"\n\"September 21st 2015, 06:03:52.461\",,\"6,054\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.33.226.187\"\n\"September 21st 2015, 06:03:24.392\",,\"4,669\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"29.225.249.114\"\n\"September 21st 2015, 06:03:13.117\",,\"3,504\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"116.126.47.226\"\n\"September 21st 2015, 06:03:02.684\",,\"4,282\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"127.63.221.223\"\n\"September 21st 2015, 06:02:41.762\",,\"4,863\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"177.141.61.131\"\n\"September 21st 2015, 06:02:32.141\",,\"7,688\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.223.87.67\"\n\"September 21st 2015, 06:02:30.514\",,\"7,269\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.223.164.21\"\n\"September 21st 2015, 06:02:20.182\",,\"6,103\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.205.178.33\"\n\"September 21st 2015, 06:02:18.705\",,\"9,202\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.183.28.41\"\n\"September 21st 2015, 06:02:10.666\",,\"8,105\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"189.172.19.77\"\n\"September 21st 2015, 06:02:03.574\",,\"7,435\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"61.73.88.176\"\n\"September 21st 2015, 06:02:02.411\",,\"4,982\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.53.50.20\"\n\"September 21st 2015, 06:01:59.992\",,\"2,608\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.74.144.217\"\n\"September 21st 2015, 06:01:57.598\",,\"9,054\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.55.251.105\"\n\"September 21st 2015, 06:01:42.205\",,\"6,456\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.134.216.218\"\n\"September 21st 2015, 06:01:16.707\",,\"3,471\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.126.255.31\"\n\"September 21st 2015, 06:00:56.132\",,\"3,466\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.161.247.172\"\n\"September 21st 2015, 06:00:53.540\",,\"2,921\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"28.3.30.170\"\n\"September 21st 2015, 06:00:43.913\",,\"5,078\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.34.109.191\"\n\"September 21st 2015, 06:00:40.983\",,\"3,652\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"104.87.105.86\"\n\"September 21st 2015, 06:00:17.710\",,\"4,978\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"158.222.162.158\"\n\"September 21st 2015, 06:00:12.451\",,\"11,682\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.127.76.132\"\n\"September 21st 2015, 06:00:10.755\",,\"9,840\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.50.219.103\"\n\"September 21st 2015, 05:59:57.118\",,\"8,411\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.143.20.221\"\n\"September 21st 2015, 05:59:45.555\",,\"5,284\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.76.224.154\"\n\"September 21st 2015, 05:59:36.083\",,\"9,539\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.120.146.16\"\n\"September 21st 2015, 05:59:35.499\",,\"3,525\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.29.249.167\"\n\"September 21st 2015, 05:59:28.030\",,\"4,759\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.143.189.70\"\n\"September 21st 2015, 05:59:27.078\",,\"1,649\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"109.136.109.115\"\n\"September 21st 2015, 05:59:21.591\",,\"5,055\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"159.137.252.66\"\n\"September 21st 2015, 05:59:18.750\",,\"6,084\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"227.219.87.110\"\n\"September 21st 2015, 05:59:17.764\",,\"4,845\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"246.100.162.251\"\n\"September 21st 2015, 05:59:08.798\",,\"5,861\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.109.145.217\"\n\"September 21st 2015, 05:59:07.829\",,\"2,168\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.189.88.90\"\n\"September 21st 2015, 05:59:04.567\",,\"6,809\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"11.195.163.57\"\n\"September 21st 2015, 05:58:58.606\",,\"5,980\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"84.205.43.205\"\n\"September 21st 2015, 05:58:57.439\",,\"7,933\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"120.99.203.64\"\n\"September 21st 2015, 05:58:54.117\",,\"4,305\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.188.141.95\"\n\"September 21st 2015, 05:58:37.940\",,\"8,893\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"92.96.51.231\"\n\"September 21st 2015, 05:58:37.668\",,\"2,275\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"184.130.127.202\"\n\"September 21st 2015, 05:58:34.957\",,\"6,622\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.5.167.41\"\n\"September 21st 2015, 05:58:23.478\",,\"5,964\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.34.86.215\"\n\"September 21st 2015, 05:58:23.188\",,\"7,688\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.106.209.231\"\n\"September 21st 2015, 05:58:19.367\",,\"12,630\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.108.3.2\"\n\"September 21st 2015, 05:58:17.146\",,\"3,552\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.61.182.136\"\n\"September 21st 2015, 05:58:09.972\",,\"4,819\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.190.3.193\"\n\"September 21st 2015, 05:57:55.683\",,\"5,638\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.250.210.253\"\n\"September 21st 2015, 05:57:41.435\",,\"9,999\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.97.87.54\"\n\"September 21st 2015, 05:57:38.578\",,\"7,213\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.139.46.29\"\n\"September 21st 2015, 05:57:10.041\",,\"6,028\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.49.31.82\"\n\"September 21st 2015, 05:57:04.588\",,\"6,256\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"140.248.17.146\"\n\"September 21st 2015, 05:56:55.658\",,\"8,233\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"171.243.18.67\"\n\"September 21st 2015, 05:56:32.938\",,\"6,234\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.218.31.116\"\n\"September 21st 2015, 05:56:24.634\",,\"9,111\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.150.67.234\"\n\"September 21st 2015, 05:56:16.559\",,\"1,920\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"223.57.253.60\"\n\"September 21st 2015, 05:56:00.751\",,\"4,322\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"196.131.253.111\"\n\"September 21st 2015, 05:56:00.263\",,\"8,958\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.63.84.25\"\n\"September 21st 2015, 05:55:36.063\",,\"9,712\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.141.35.68\"\n\"September 21st 2015, 05:55:31.265\",,\"7,306\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"121.98.248.112\"\n\"September 21st 2015, 05:55:17.126\",,\"7,579\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.237.227.233\"\n\"September 21st 2015, 05:54:55.681\",,\"2,852\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"104.142.243.97\"\n\"September 21st 2015, 05:54:13.754\",,\"2,828\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.98.200.29\"\n\"September 21st 2015, 05:54:10.388\",,\"9,499\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.85.86.52\"\n\"September 21st 2015, 05:54:06.935\",,\"2,232\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.92.194.37\"\n\"September 21st 2015, 05:54:00.033\",,\"8,119\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.108.62.100\"\n\"September 21st 2015, 05:53:53.143\",,\"8,049\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.68.234.67\"\n\"September 21st 2015, 05:53:41.256\",,\"3,667\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"116.171.234.62\"\n\"September 21st 2015, 05:53:36.280\",,\"2,413\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.224.184.36\"\n\"September 21st 2015, 05:53:33.433\",,\"2,690\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"188.225.40.190\"\n\"September 21st 2015, 05:53:18.463\",,\"8,179\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.165.237.200\"\n\"September 21st 2015, 05:52:15.885\",,\"3,858\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"30.92.50.149\"\n\"September 21st 2015, 05:52:14.648\",,\"2,160\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"210.210.88.232\"\n\"September 21st 2015, 05:52:12.879\",,\"3,823\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"13.61.197.86\"\n\"September 21st 2015, 05:52:03.294\",,\"8,609\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"22.87.85.59\"\n\"September 21st 2015, 05:52:02.099\",,\"9,594\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"196.131.253.111\"\n\"September 21st 2015, 05:51:50.105\",,\"2,045\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.139.45.110\"\n\"September 21st 2015, 05:51:36.790\",,\"6,585\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"183.128.223.209\"\n\"September 21st 2015, 05:51:33.936\",,\"2,138\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.248.17.146\"\n\"September 21st 2015, 05:51:23.886\",,\"6,771\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.143.176.28\"\n\"September 21st 2015, 05:51:22.953\",,\"9,912\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"122.25.161.118\"\n\"September 21st 2015, 05:51:11.692\",,\"6,628\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"10.192.39.62\"\n\"September 21st 2015, 05:51:08.343\",,\"1,584\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"165.24.164.93\"\n\"September 21st 2015, 05:51:06.331\",,\"5,600\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"212.39.75.221\"\n\"September 21st 2015, 05:51:06.121\",,\"8,826\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.87.85.59\"\n\"September 21st 2015, 05:50:58.269\",,\"3,155\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.193.157.89\"\n\"September 21st 2015, 05:50:47.629\",,\"8,755\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.234.255.241\"\n\"September 21st 2015, 05:50:40.127\",,\"8,984\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.199.194.23\"\n\"September 21st 2015, 05:50:37.164\",,\"5,847\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"116.171.234.62\"\n\"September 21st 2015, 05:50:28.770\",,\"13,055\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.237.108.147\"\n\"September 21st 2015, 05:50:19.146\",,\"4,941\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.138.70.255\"\n\"September 21st 2015, 05:50:11.051\",,\"5,500\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"248.239.221.43\"\n\"September 21st 2015, 05:49:49.516\",,\"6,895\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.155.42.103\"\n\"September 21st 2015, 05:49:48.159\",,\"7,864\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"233.133.22.163\"\n\"September 21st 2015, 05:48:51.566\",,\"8,232\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.219.133.141\"\n\"September 21st 2015, 05:48:39.172\",,\"4,265\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.232.128.91\"\n\"September 21st 2015, 05:48:36.868\",,\"6,816\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.80.208.225\"\n\"September 21st 2015, 05:48:24.767\",,\"1,498\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.98.248.112\"\n\"September 21st 2015, 05:48:19.678\",,\"1,522\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"61.73.88.176\"\n\"September 21st 2015, 05:48:18.147\",,\"5,445\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"153.139.156.196\"\n\"September 21st 2015, 05:48:05.434\",,\"7,299\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.119.62.60\"\n\"September 21st 2015, 05:48:03.234\",,\"7,018\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.5.136.153\"\n\"September 21st 2015, 05:47:44.948\",,\"2,525\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"166.25.218.240\"\n\"September 21st 2015, 05:47:44.769\",,\"13,227\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"247.129.16.191\"\n\"September 21st 2015, 05:47:36.499\",,\"9,310\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.83.96.39\"\n\"September 21st 2015, 05:47:13.016\",,\"2,161\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"247.129.16.191\"\n\"September 21st 2015, 05:47:05.399\",,\"3,051\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.142.94.147\"\n\"September 21st 2015, 05:47:02.676\",,\"2,315\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.244.83.137\"\n\"September 21st 2015, 05:46:57.942\",,\"8,941\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.208.223.252\"\n\"September 21st 2015, 05:46:55.243\",,\"9,355\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"229.84.238.1\"\n\"September 21st 2015, 05:46:51.238\",,\"4,660\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"177.141.61.131\"\n\"September 21st 2015, 05:46:48.887\",,\"7,605\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.163.133.47\"\n\"September 21st 2015, 05:46:43.385\",,\"6,153\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"2.7.11.95\"\n\"September 21st 2015, 05:46:28.160\",,\"6,330\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.233.207.177\"\n\"September 21st 2015, 05:46:23.180\",,\"6,751\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.92.194.37\"\n\"September 21st 2015, 05:46:18.017\",,\"9,777\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"210.210.88.232\"\n\"September 21st 2015, 05:46:13.489\",,\"9,130\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.122.217.55\"\n\"September 21st 2015, 05:46:07.380\",,\"7,786\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"3.84.165.54\"\n\"September 21st 2015, 05:46:00.350\",,\"4,048\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"202.22.74.232\"\n\"September 21st 2015, 05:45:49.532\",,\"7,741\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.117.248.129\"\n\"September 21st 2015, 05:45:27.747\",,\"4,266\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.3.0.125\"\n\"September 21st 2015, 05:45:15.289\",,\"4,340\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"5.83.83.42\"\n\"September 21st 2015, 05:45:03.927\",,\"3,171\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.156.163.220\"\n\"September 21st 2015, 05:44:43.252\",,\"1,871\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"71.169.104.184\"\n\"September 21st 2015, 05:44:43.053\",,\"6,820\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.163.133.47\"\n\"September 21st 2015, 05:44:36.976\",,\"1,943\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"182.207.77.200\"\n\"September 21st 2015, 05:44:36.195\",,\"1,800\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.244.231.5\"\n\"September 21st 2015, 05:44:34.316\",,\"2,637\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"36.160.226.203\"\n\"September 21st 2015, 05:44:33.022\",,\"7,734\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"64.236.125.37\"\n\"September 21st 2015, 05:44:29.681\",,\"6,313\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.220.52.2\"\n\"September 21st 2015, 05:44:20.598\",,\"8,278\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.101.221.163\"\n\"September 21st 2015, 05:44:10.875\",,\"6,573\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"168.174.35.186\"\n\"September 21st 2015, 05:44:06.467\",,\"9,263\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.25.112.43\"\n\"September 21st 2015, 05:43:50.169\",,\"17,262\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.112.81.106\"\n\"September 21st 2015, 05:43:20.885\",,\"6,635\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.208.48.188\"\n\"September 21st 2015, 05:43:19.729\",,\"3,626\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.96.215.228\"\n\"September 21st 2015, 05:43:01.549\",,\"5,144\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"186.182.14.125\"\n\"September 21st 2015, 05:43:01.292\",,\"4,390\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.224.184.36\"\n\"September 21st 2015, 05:42:59.874\",,\"7,589\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"218.248.177.77\"\n\"September 21st 2015, 05:42:58.438\",,\"4,265\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.123.55.136\"\n\"September 21st 2015, 05:42:48.128\",,\"5,738\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"244.172.153.74\"\n\"September 21st 2015, 05:42:46.872\",,\"8,339\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.132.195.31\"\n\"September 21st 2015, 05:42:40.593\",,\"2,197\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.143.189.70\"\n\"September 21st 2015, 05:42:39.984\",,\"2,812\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.255.16.81\"\n\"September 21st 2015, 05:42:39.095\",,\"9,559\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"79.16.207.3\"\n\"September 21st 2015, 05:42:15.015\",,\"5,521\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.244.25.107\"\n\"September 21st 2015, 05:42:13.383\",,\"1,594\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.242.204.223\"\n\"September 21st 2015, 05:42:06.823\",,\"7,710\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"58.190.216.56\"\n\"September 21st 2015, 05:41:54.859\",,\"19,017\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.122.121.230\"\n\"September 21st 2015, 05:40:54.252\",,\"2,772\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"6.183.121.70\"\n\"September 21st 2015, 05:40:45.753\",,\"8,360\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"242.22.22.10\"\n\"September 21st 2015, 05:40:18.218\",,\"2,320\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.98.200.29\"\n\"September 21st 2015, 05:40:05.835\",,\"2,093\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.40.191.19\"\n\"September 21st 2015, 05:40:01.446\",,\"7,860\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"139.104.238.37\"\n\"September 21st 2015, 05:39:54.536\",,\"4,078\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.68.89.92\"\n\"September 21st 2015, 05:39:32.765\",,\"2,608\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"195.62.0.145\"\n\"September 21st 2015, 05:39:22.433\",,\"7,615\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.241.34.0\"\n\"September 21st 2015, 05:39:20.263\",,\"9,962\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"197.150.233.60\"\n\"September 21st 2015, 05:38:58.774\",,\"3,056\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"182.57.70.84\"\n\"September 21st 2015, 05:38:26.099\",,\"7,785\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.243.109.222\"\n\"September 21st 2015, 05:38:02.808\",,\"4,199\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.192.144.100\"\n\"September 21st 2015, 05:37:30.477\",,\"2,885\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"144.31.154.6\"\n\"September 21st 2015, 05:37:29.509\",,\"5,545\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"2.7.11.95\"\n\"September 21st 2015, 05:37:29.121\",,\"6,575\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.27.102.199\"\n\"September 21st 2015, 05:37:25.493\",,\"6,388\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"248.193.114.155\"\n\"September 21st 2015, 05:37:08.977\",,\"5,667\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.213.56.203\"\n\"September 21st 2015, 05:37:03.076\",,\"7,508\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"101.130.216.47\"\n\"September 21st 2015, 05:36:47.760\",,\"5,189\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.35.159.150\"\n\"September 21st 2015, 05:36:36.107\",,\"9,517\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.19.217.148\"\n\"September 21st 2015, 05:36:34.794\",,\"6,369\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"120.99.203.64\"\n\"September 21st 2015, 05:36:32.219\",,\"9,738\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.188.1.153\"\n\"September 21st 2015, 05:36:26.392\",,\"4,913\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.62.159.102\"\n\"September 21st 2015, 05:36:08.377\",,\"1,843\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.159.183.77\"\n\"September 21st 2015, 05:36:07.770\",,\"6,029\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"36.185.52.71\"\n\"September 21st 2015, 05:36:01.357\",,\"2,818\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"131.98.185.144\"\n\"September 21st 2015, 05:35:48.702\",,\"7,412\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"63.7.218.218\"\n\"September 21st 2015, 05:35:41.944\",,\"2,673\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.110.56.1\"\n\"September 21st 2015, 05:35:23.337\",,\"5,208\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.206.227.106\"\n\"September 21st 2015, 05:35:18.628\",,\"9,491\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.222.137.213\"\n\"September 21st 2015, 05:35:17.149\",,\"9,394\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.76.243.51\"\n\"September 21st 2015, 05:35:13.958\",,\"6,833\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.216.173.242\"\n\"September 21st 2015, 05:35:10.770\",,\"8,173\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.58.244.165\"\n\"September 21st 2015, 05:35:09.926\",,\"4,612\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.117.248.129\"\n\"September 21st 2015, 05:34:57.354\",,\"3,632\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.47.79.172\"\n\"September 21st 2015, 05:34:37.012\",,\"4,790\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"12.102.47.119\"\n\"September 21st 2015, 05:34:19.057\",,\"7,661\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"132.242.0.119\"\n\"September 21st 2015, 05:34:18.856\",,\"7,842\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.86.132.152\"\n\"September 21st 2015, 05:34:13.925\",,\"8,609\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.207.16.29\"\n\"September 21st 2015, 05:34:02.135\",,\"6,392\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.210.163.45\"\n\"September 21st 2015, 05:34:00.402\",,\"3,427\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.153.166.47\"\n\"September 21st 2015, 05:33:41.471\",,\"6,708\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.154.233.154\"\n\"September 21st 2015, 05:33:30.170\",,\"8,864\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.45.70.116\"\n\"September 21st 2015, 05:33:26.115\",,\"12,477\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"146.228.193.188\"\n\"September 21st 2015, 05:33:19.649\",,\"2,519\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"127.63.221.223\"\n\"September 21st 2015, 05:33:09.837\",,\"6,627\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.220.52.2\"\n\"September 21st 2015, 05:33:01.075\",,\"5,709\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.223.100.33\"\n\"September 21st 2015, 05:32:57.578\",,\"9,981\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"86.168.21.69\"\n\"September 21st 2015, 05:32:55.762\",,\"7,326\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.50.181.157\"\n\"September 21st 2015, 05:32:41.289\",,\"8,610\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.106.160.216\"\n\"September 21st 2015, 05:32:13.283\",,\"6,611\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"61.174.151.11\"\n\"September 21st 2015, 05:31:48.116\",,\"6,001\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.242.153.99\"\n\"September 21st 2015, 05:31:47.954\",,\"6,350\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"81.1.40.59\"\n\"September 21st 2015, 05:31:47.237\",,\"6,597\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"64.222.56.247\"\n\"September 21st 2015, 05:31:39.062\",,\"9,057\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.189.205.188\"\n\"September 21st 2015, 05:31:37.184\",,\"2,763\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.99.243.183\"\n\"September 21st 2015, 05:31:36.521\",,\"9,392\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.53.70.40\"\n\"September 21st 2015, 05:31:32.110\",,\"9,727\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.42.218.145\"\n\"September 21st 2015, 05:31:29.107\",,\"7,359\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"136.122.153.94\"\n\"September 21st 2015, 05:31:22.081\",,\"2,040\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"118.163.20.44\"\n\"September 21st 2015, 05:31:20.867\",,\"3,454\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"70.101.68.233\"\n\"September 21st 2015, 05:31:09.934\",,\"1,869\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"52.49.164.228\"\n\"September 21st 2015, 05:31:07.789\",,\"4,956\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.134.216.218\"\n\"September 21st 2015, 05:30:52.314\",,\"4,519\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"162.134.126.82\"\n\"September 21st 2015, 05:30:13.190\",,\"8,789\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"231.169.195.137\"\n\"September 21st 2015, 05:30:07.478\",,\"8,688\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.151.244.234\"\n\"September 21st 2015, 05:29:58.299\",,\"6,131\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"131.98.185.144\"\n\"September 21st 2015, 05:29:53.721\",,\"6,632\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"128.167.10.27\"\n\"September 21st 2015, 05:29:48.331\",,\"3,449\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"219.42.50.113\"\n\"September 21st 2015, 05:29:48.038\",,\"2,626\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.169.195.137\"\n\"September 21st 2015, 05:29:36.117\",,\"2,865\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"192.219.151.88\"\n\"September 21st 2015, 05:29:30.435\",,\"14,185\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.211.153.90\"\n\"September 21st 2015, 05:29:30.290\",,\"4,327\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.40.191.19\"\n\"September 21st 2015, 05:29:15.678\",,\"9,699\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"90.0.214.93\"\n\"September 21st 2015, 05:29:10.863\",,\"2,931\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.203.229.229\"\n\"September 21st 2015, 05:29:09.094\",,\"4,958\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.164.215.104\"\n\"September 21st 2015, 05:28:55.659\",,\"5,070\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"185.148.221.121\"\n\"September 21st 2015, 05:28:53.142\",,\"4,122\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"227.43.145.144\"\n\"September 21st 2015, 05:28:48.517\",,\"1,628\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"178.57.229.103\"\n\"September 21st 2015, 05:28:47.284\",,\"4,098\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"250.30.209.2\"\n\"September 21st 2015, 05:28:43.413\",,\"6,152\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"141.42.174.116\"\n\"September 21st 2015, 05:28:42.460\",,\"9,403\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"38.29.122.137\"\n\"September 21st 2015, 05:28:33.056\",,\"8,509\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.61.116.63\"\n\"September 21st 2015, 05:28:19.440\",,\"11,735\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"87.66.62.130\"\n\"September 21st 2015, 05:28:00.434\",,\"7,988\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.225.141.240\"\n\"September 21st 2015, 05:28:00.426\",,\"6,184\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.206.117.161\"\n\"September 21st 2015, 05:27:41.258\",,\"5,182\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"70.211.225.125\"\n\"September 21st 2015, 05:27:15.997\",,\"17,217\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.228.1.71\"\n\"September 21st 2015, 05:27:03.483\",,\"9,439\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.13.106.139\"\n\"September 21st 2015, 05:26:50.967\",,\"6,297\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.236.240.166\"\n\"September 21st 2015, 05:26:47.033\",,\"7,376\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.33.120.224\"\n\"September 21st 2015, 05:26:39.852\",,\"2,270\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.236.240.166\"\n\"September 21st 2015, 05:26:28.041\",,\"9,362\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"96.222.137.213\"\n\"September 21st 2015, 05:26:27.984\",,\"1,810\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"195.76.3.10\"\n\"September 21st 2015, 05:26:26.411\",,\"5,885\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"127.254.107.86\"\n\"September 21st 2015, 05:26:23.819\",,\"18,955\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"171.58.133.108\"\n\"September 21st 2015, 05:26:20.848\",,\"3,236\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.140.171.133\"\n\"September 21st 2015, 05:25:53.693\",,\"2,445\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.105.235.122\"\n\"September 21st 2015, 05:25:49.719\",,\"2,289\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"214.13.7.53\"\n\"September 21st 2015, 05:25:46.033\",,\"6,420\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.60.53.165\"\n\"September 21st 2015, 05:25:40.624\",,\"9,865\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.156.52.180\"\n\"September 21st 2015, 05:25:38.858\",,\"7,910\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.154.233.154\"\n\"September 21st 2015, 05:25:35.082\",,\"4,557\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.195.18.133\"\n\"September 21st 2015, 05:25:24.254\",,\"4,903\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.85.86.52\"\n\"September 21st 2015, 05:24:42.697\",,\"9,780\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.224.131.67\"\n\"September 21st 2015, 05:24:34.646\",,\"3,860\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.216.205.112\"\n\"September 21st 2015, 05:24:34.576\",,\"2,103\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"175.99.184.146\"\n\"September 21st 2015, 05:24:32.634\",,\"9,475\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"48.199.42.50\"\n\"September 21st 2015, 05:24:20.051\",,\"7,933\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"158.179.121.61\"\n\"September 21st 2015, 05:24:16.971\",,\"8,243\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.44.243.247\"\n\"September 21st 2015, 05:23:42.211\",,\"5,067\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.16.191.123\"\n\"September 21st 2015, 05:23:24.663\",,\"6,281\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.89.73.11\"\n\"September 21st 2015, 05:23:20.902\",,\"6,374\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"234.206.115.94\"\n\"September 21st 2015, 05:22:37.294\",,\"3,857\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"180.65.205.98\"\n\"September 21st 2015, 05:22:30.161\",,\"7,992\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.143.176.28\"\n\"September 21st 2015, 05:21:55.107\",,\"9,338\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"58.190.216.56\"\n\"September 21st 2015, 05:21:31.093\",,\"8,120\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"68.41.209.99\"\n\"September 21st 2015, 05:21:26.776\",,\"1,780\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"36.160.226.203\"\n\"September 21st 2015, 05:21:21.301\",,\"9,192\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.166.248.214\"\n\"September 21st 2015, 05:21:18.170\",,\"8,907\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"251.47.79.172\"\n\"September 21st 2015, 05:21:06.656\",,\"18,005\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"104.142.243.97\"\n\"September 21st 2015, 05:20:56.458\",,\"2,254\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.35.159.150\"\n\"September 21st 2015, 05:20:51.721\",,\"7,184\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.35.159.150\"\n\"September 21st 2015, 05:20:36.111\",,\"8,258\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"56.253.85.132\"\n\"September 21st 2015, 05:20:29.167\",,\"4,651\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.85.53.125\"\n\"September 21st 2015, 05:20:12.862\",,\"5,648\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"69.84.146.72\"\n\"September 21st 2015, 05:20:09.367\",,\"18,392\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.83.96.39\"\n\"September 21st 2015, 05:19:42.952\",,\"4,129\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.172.119.148\"\n\"September 21st 2015, 05:19:40.455\",,\"9,604\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.106.160.216\"\n\"September 21st 2015, 05:19:27.099\",,\"7,670\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"50.202.67.216\"\n\"September 21st 2015, 05:19:18.736\",,\"4,171\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.185.158.249\"\n\"September 21st 2015, 05:19:12.892\",,\"4,079\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"219.33.16.83\"\n\"September 21st 2015, 05:19:06.592\",,\"4,439\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.64.207.109\"\n\"September 21st 2015, 05:19:05.929\",,\"4,308\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"23.178.170.24\"\n\"September 21st 2015, 05:18:55.707\",,\"9,640\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"202.123.188.108\"\n\"September 21st 2015, 05:18:51.462\",,\"5,759\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"254.75.96.91\"\n\"September 21st 2015, 05:18:43.470\",,\"11,650\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"196.131.25.8\"\n\"September 21st 2015, 05:18:28.361\",,\"8,977\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.216.173.242\"\n\"September 21st 2015, 05:18:19.302\",,\"5,971\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"217.25.8.4\"\n\"September 21st 2015, 05:18:04.913\",,\"3,949\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.90.39.228\"\n\"September 21st 2015, 05:17:42.020\",,\"1,970\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"197.49.80.127\"\n\"September 21st 2015, 05:17:38.936\",,\"4,487\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.53.110.116\"\n\"September 21st 2015, 05:17:12.841\",,\"9,989\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.68.234.67\"\n\"September 21st 2015, 05:17:05.828\",,\"1,618\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.38.2.66\"\n\"September 21st 2015, 05:16:58.693\",,\"9,147\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.101.14.210\"\n\"September 21st 2015, 05:16:53.852\",,\"7,516\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.32.224.79\"\n\"September 21st 2015, 05:16:53.125\",,\"7,832\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.201.249.221\"\n\"September 21st 2015, 05:16:44.373\",,\"6,551\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"61.73.88.176\"\n\"September 21st 2015, 05:16:21.055\",,\"1,882\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"162.218.161.231\"\n\"September 21st 2015, 05:16:20.439\",,\"7,230\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"255.56.89.50\"\n\"September 21st 2015, 05:16:16.601\",,\"7,179\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.171.208.139\"\n\"September 21st 2015, 05:16:13.540\",,\"7,560\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"11.195.111.241\"\n\"September 21st 2015, 05:16:13.271\",,\"12,251\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"174.32.230.63\"\n\"September 21st 2015, 05:16:07.037\",,\"3,327\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.22.23.73\"\n\"September 21st 2015, 05:15:52.181\",,\"7,938\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"61.52.11.157\"\n\"September 21st 2015, 05:15:43.814\",,\"6,515\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"24.202.52.232\"\n\"September 21st 2015, 05:15:39.682\",,\"7,759\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.16.191.123\"\n\"September 21st 2015, 05:14:37.670\",,\"5,601\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"217.44.155.137\"\n\"September 21st 2015, 05:14:29.805\",,\"4,501\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.241.34.0\"\n\"September 21st 2015, 05:14:28.585\",,\"2,711\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.185.158.249\"\n\"September 21st 2015, 05:14:23.645\",,\"7,481\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.213.56.203\"\n\"September 21st 2015, 05:14:13.953\",,\"4,541\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.43.63.180\"\n\"September 21st 2015, 05:14:13.347\",,\"6,382\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.105.119.197\"\n\"September 21st 2015, 05:14:02.384\",,\"4,041\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.79.151.78\"\n\"September 21st 2015, 05:14:00.938\",,\"6,613\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.34.86.255\"\n\"September 21st 2015, 05:13:59.828\",,\"7,535\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"56.7.132.13\"\n\"September 21st 2015, 05:13:54.626\",,\"11,537\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.188.213.247\"\n\"September 21st 2015, 05:13:49.443\",,\"8,356\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.168.126.221\"\n\"September 21st 2015, 05:13:33.653\",,\"7,201\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.167.54.119\"\n\"September 21st 2015, 05:13:09.512\",,\"4,105\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.85.53.125\"\n\"September 21st 2015, 05:12:52.110\",,\"7,829\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.100.178.89\"\n\"September 21st 2015, 05:12:40.085\",,\"9,610\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.76.224.154\"\n\"September 21st 2015, 05:12:32.281\",,\"3,393\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.221.105.131\"\n\"September 21st 2015, 05:12:26.789\",,\"4,886\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.24.249.29\"\n\"September 21st 2015, 05:12:20.760\",,\"6,805\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"24.78.153.162\"\n\"September 21st 2015, 05:12:18.827\",,\"3,698\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.174.21.181\"\n\"September 21st 2015, 05:12:15.936\",,\"15,338\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"143.81.107.227\"\n\"September 21st 2015, 05:11:57.169\",,\"1,930\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.185.234.193\"\n\"September 21st 2015, 05:11:50.725\",,\"3,206\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.249.43.5\"\n\"September 21st 2015, 05:11:06.719\",,\"3,862\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.34.180.209\"\n\"September 21st 2015, 05:10:59.666\",,\"6,605\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"100.50.11.41\"\n\"September 21st 2015, 05:10:53.578\",,\"7,603\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"154.55.57.32\"\n\"September 21st 2015, 05:10:52.581\",,\"7,747\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.53.96.88\"\n\"September 21st 2015, 05:10:37.363\",,\"7,056\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"222.28.157.119\"\n\"September 21st 2015, 05:10:34.640\",,\"8,930\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"242.22.22.10\"\n\"September 21st 2015, 05:10:34.195\",,\"6,144\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"197.49.80.127\"\n\"September 21st 2015, 05:10:08.220\",,\"5,894\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"106.181.249.244\"\n\"September 21st 2015, 05:09:46.311\",,\"3,208\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"94.218.243.2\"\n\"September 21st 2015, 05:09:32.409\",,\"7,299\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.50.219.103\"\n\"September 21st 2015, 05:09:28.953\",,\"9,889\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.232.128.91\"\n\"September 21st 2015, 05:09:07.290\",,\"8,737\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"175.99.184.146\"\n\"September 21st 2015, 05:09:01.682\",,\"14,572\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.203.229.1\"\n\"September 21st 2015, 05:08:54.864\",,\"5,317\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"109.25.18.216\"\n\"September 21st 2015, 05:08:52.691\",,\"4,598\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"182.186.221.142\"\n\"September 21st 2015, 05:08:50.195\",,\"8,026\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"159.230.143.48\"\n\"September 21st 2015, 05:08:50.182\",,\"8,160\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.108.133.125\"\n\"September 21st 2015, 05:08:31.888\",,\"9,208\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.153.51.78\"\n\"September 21st 2015, 05:08:14.223\",,\"4,366\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.105.196.209\"\n\"September 21st 2015, 05:08:13.979\",,\"5,417\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.129.62.213\"\n\"September 21st 2015, 05:08:05.615\",,\"8,594\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.223.87.67\"\n\"September 21st 2015, 05:07:56.903\",,\"8,694\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.119.119.38\"\n\"September 21st 2015, 05:07:33.786\",,\"9,118\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.223.214.184\"\n\"September 21st 2015, 05:07:33.334\",,\"8,383\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.128.210.67\"\n\"September 21st 2015, 05:07:17.595\",,\"9,117\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"129.152.7.186\"\n\"September 21st 2015, 05:07:10.434\",,\"9,997\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.25.112.43\"\n\"September 21st 2015, 05:06:50.488\",,\"2,927\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"140.248.17.146\"\n\"September 21st 2015, 05:06:48.666\",,\"2,493\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.59.94.122\"\n\"September 21st 2015, 05:06:36.007\",,\"5,897\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"106.181.249.244\"\n\"September 21st 2015, 05:06:21.298\",,\"5,408\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"43.164.236.145\"\n\"September 21st 2015, 05:06:14.815\",,\"7,649\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"67.220.97.120\"\n\"September 21st 2015, 05:06:12.677\",,\"8,360\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"123.85.77.216\"\n\"September 21st 2015, 05:05:43.553\",,\"1,559\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"23.3.174.206\"\n\"September 21st 2015, 05:05:41.653\",,\"8,745\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"239.190.189.77\"\n\"September 21st 2015, 05:05:27.080\",,\"6,075\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"106.142.212.24\"\n\"September 21st 2015, 05:05:11.112\",,\"2,156\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.64.147.41\"\n\"September 21st 2015, 05:05:00.002\",,\"5,218\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.58.244.165\"\n\"September 21st 2015, 05:04:51.699\",,\"1,857\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"202.22.74.232\"\n\"September 21st 2015, 05:04:42.580\",,\"7,342\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"148.134.9.77\"\n\"September 21st 2015, 05:04:34.878\",,\"3,827\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.106.203.143\"\n\"September 21st 2015, 05:04:34.002\",,\"2,347\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"223.68.146.97\"\n\"September 21st 2015, 05:04:11.613\",,\"8,302\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.37.151.239\"\n\"September 21st 2015, 05:04:04.369\",,\"5,059\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"127.63.221.223\"\n\"September 21st 2015, 05:03:55.018\",,\"17,559\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"230.43.124.118\"\n\"September 21st 2015, 05:03:45.184\",,\"5,183\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.232.128.91\"\n\"September 21st 2015, 05:03:39.800\",,\"6,103\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.198.170.210\"\n\"September 21st 2015, 05:02:40.783\",,\"3,154\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"149.84.78.58\"\n\"September 21st 2015, 05:02:39.235\",,\"4,812\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"116.171.234.62\"\n\"September 21st 2015, 05:02:30.016\",,\"6,389\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.134.216.218\"\n\"September 21st 2015, 05:02:28.849\",,\"5,307\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"236.110.56.1\"\n\"September 21st 2015, 05:02:21.647\",,\"6,728\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.219.151.88\"\n\"September 21st 2015, 05:02:07.604\",,\"6,696\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.223.87.67\"\n\"September 21st 2015, 05:02:06.903\",,\"6,495\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"134.62.86.139\"\n\"September 21st 2015, 05:01:10.973\",,\"5,505\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"74.224.77.232\"\n\"September 21st 2015, 05:01:10.706\",,\"2,122\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.39.75.221\"\n\"September 21st 2015, 05:01:09.534\",,\"9,372\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"196.97.127.109\"\n\"September 21st 2015, 05:01:02.159\",,\"7,226\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"196.131.253.111\"\n\"September 21st 2015, 05:00:55.397\",,\"8,833\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"13.38.168.2\"\n\"September 21st 2015, 05:00:37.189\",,\"9,735\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"189.34.180.209\"\n\"September 21st 2015, 05:00:23.400\",,\"16,074\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"133.198.170.210\"\n\"September 21st 2015, 05:00:10.243\",,\"4,318\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"174.196.54.80\"\n\"September 21st 2015, 05:00:07.330\",,\"7,747\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.40.191.19\"\n\"September 21st 2015, 05:00:04.597\",,\"12,208\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"183.33.83.170\"\n\"September 21st 2015, 04:59:57.636\",,\"6,335\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"43.66.187.127\"\n\"September 21st 2015, 04:59:43.072\",,\"8,692\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.252.46.140\"\n\"September 21st 2015, 04:59:19.366\",,\"2,080\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.17.191.204\"\n\"September 21st 2015, 04:59:09.479\",,\"2,264\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.208.223.252\"\n\"September 21st 2015, 04:59:03.858\",,\"2,168\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"207.218.166.105\"\n\"September 21st 2015, 04:59:02.375\",,\"9,166\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.135.88.86\"\n\"September 21st 2015, 04:58:43.918\",,\"4,481\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.106.209.231\"\n\"September 21st 2015, 04:58:37.862\",,\"16,269\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"178.104.96.40\"\n\"September 21st 2015, 04:58:28.855\",,\"5,067\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.253.222.16\"\n\"September 21st 2015, 04:58:27.564\",,\"3,145\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"209.144.199.174\"\n\"September 21st 2015, 04:58:20.403\",,\"7,714\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.166.42.220\"\n\"September 21st 2015, 04:58:19.791\",,\"8,266\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"105.47.117.171\"\n\"September 21st 2015, 04:58:11.220\",,\"4,704\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.239.0.38\"\n\"September 21st 2015, 04:57:56.278\",,\"5,353\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"11.195.111.241\"\n\"September 21st 2015, 04:57:49.436\",,\"1,957\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.155.198.238\"\n\"September 21st 2015, 04:57:24.377\",,\"9,685\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.23.191.85\"\n\"September 21st 2015, 04:57:21.449\",,\"9,625\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"247.149.109.96\"\n\"September 21st 2015, 04:56:45.143\",,\"6,321\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.115.184.133\"\n\"September 21st 2015, 04:56:38.610\",,\"7,410\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.121.116.124\"\n\"September 21st 2015, 04:56:29.341\",,\"6,738\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.56.90.184\"\n\"September 21st 2015, 04:56:28.332\",,\"7,570\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.227.195.13\"\n\"September 21st 2015, 04:56:25.157\",,\"1,964\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.152.141.244\"\n\"September 21st 2015, 04:56:18.763\",,\"9,416\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.0.214.93\"\n\"September 21st 2015, 04:55:57.562\",,\"6,034\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.177.132.244\"\n\"September 21st 2015, 04:55:44.011\",,\"2,845\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"35.222.204.135\"\n\"September 21st 2015, 04:55:31.424\",,\"4,739\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.94.120.10\"\n\"September 21st 2015, 04:55:27.418\",,\"3,032\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.0.214.93\"\n\"September 21st 2015, 04:55:14.702\",,\"6,344\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"227.219.87.110\"\n\"September 21st 2015, 04:55:09.287\",,\"5,892\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"234.206.115.94\"\n\"September 21st 2015, 04:55:08.759\",,\"4,512\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.190.3.193\"\n\"September 21st 2015, 04:55:00.257\",,\"8,964\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"158.222.162.158\"\n\"September 21st 2015, 04:54:59.995\",,\"8,590\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.154.198.225\"\n\"September 21st 2015, 04:54:51.690\",,\"8,420\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.97.175.115\"\n\"September 21st 2015, 04:54:39.662\",,\"3,733\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"47.106.79.211\"\n\"September 21st 2015, 04:54:13.642\",,\"6,187\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.7.97.184\"\n\"September 21st 2015, 04:54:09.989\",,\"7,075\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"203.206.8.45\"\n\"September 21st 2015, 04:53:22.696\",,\"4,241\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"247.129.16.191\"\n\"September 21st 2015, 04:52:59.787\",,\"8,218\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"50.26.210.216\"\n\"September 21st 2015, 04:52:56.019\",,\"2,648\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"91.217.157.152\"\n\"September 21st 2015, 04:51:54.553\",,\"7,621\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.239.0.38\"\n\"September 21st 2015, 04:51:35.544\",,\"2,504\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"177.141.61.131\"\n\"September 21st 2015, 04:51:34.154\",,\"7,896\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"168.210.111.14\"\n\"September 21st 2015, 04:51:34.025\",,\"1,775\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.35.55.46\"\n\"September 21st 2015, 04:51:22.789\",,\"6,433\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.228.214.218\"\n\"September 21st 2015, 04:51:06.759\",,\"5,092\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.113.253.141\"\n\"September 21st 2015, 04:51:05.032\",,\"1,574\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.231.132.106\"\n\"September 21st 2015, 04:50:58.776\",,\"5,216\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.136.156.225\"\n\"September 21st 2015, 04:50:54.627\",,\"1,994\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.115.74.144\"\n\"September 21st 2015, 04:50:52.384\",,\"5,704\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"195.233.186.3\"\n\"September 21st 2015, 04:50:33.705\",,\"2,143\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"175.33.43.147\"\n\"September 21st 2015, 04:50:31.051\",,\"6,832\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.40.191.19\"\n\"September 21st 2015, 04:50:20.497\",,\"9,907\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.43.210.167\"\n\"September 21st 2015, 04:49:47.336\",,\"9,145\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.206.227.106\"\n\"September 21st 2015, 04:49:46.490\",,\"6,737\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.92.89.101\"\n\"September 21st 2015, 04:49:24.565\",,\"8,594\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"217.132.169.207\"\n\"September 21st 2015, 04:49:07.462\",,\"2,940\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"225.241.219.2\"\n\"September 21st 2015, 04:48:56.830\",,\"8,614\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"43.66.187.127\"\n\"September 21st 2015, 04:48:51.986\",,\"2,405\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.70.170.56\"\n\"September 21st 2015, 04:48:26.959\",,\"3,317\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.188.250.196\"\n\"September 21st 2015, 04:48:11.859\",,\"6,310\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.82.217.118\"\n\"September 21st 2015, 04:48:00.398\",,\"11,970\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"165.150.252.187\"\n\"September 21st 2015, 04:47:59.549\",,\"8,289\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"249.106.229.151\"\n\"September 21st 2015, 04:47:46.751\",,\"2,076\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"221.109.118.102\"\n\"September 21st 2015, 04:47:31.153\",,\"1,952\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.11.43.220\"\n\"September 21st 2015, 04:47:27.109\",,\"2,137\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"115.225.12.164\"\n\"September 21st 2015, 04:47:11.080\",,\"3,685\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.34.187.225\"\n\"September 21st 2015, 04:47:07.948\",,\"8,342\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"87.66.62.130\"\n\"September 21st 2015, 04:46:41.986\",,\"2,555\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.207.16.29\"\n\"September 21st 2015, 04:46:32.087\",,\"4,128\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.5.71.170\"\n\"September 21st 2015, 04:46:31.085\",,\"2,447\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.249.202.59\"\n\"September 21st 2015, 04:46:30.678\",,\"9,518\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.211.13.64\"\n\"September 21st 2015, 04:46:18.522\",,\"2,217\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.87.85.59\"\n\"September 21st 2015, 04:46:17.330\",,\"8,182\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.39.144.87\"\n\"September 21st 2015, 04:46:17.164\",,\"2,777\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.89.186.2\"\n\"September 21st 2015, 04:46:05.322\",,\"3,817\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"171.132.193.95\"\n\"September 21st 2015, 04:45:23.726\",,\"2,018\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"245.132.215.241\"\n\"September 21st 2015, 04:45:14.787\",,\"3,891\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.148.228.141\"\n\"September 21st 2015, 04:45:02.988\",,\"3,248\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.143.20.221\"\n\"September 21st 2015, 04:44:46.279\",,\"8,675\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"94.218.243.2\"\n\"September 21st 2015, 04:44:41.583\",,\"8,458\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.114.204.184\"\n\"September 21st 2015, 04:44:41.553\",,\"1,557\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.237.227.233\"\n\"September 21st 2015, 04:44:32.880\",,\"15,594\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.147.119.226\"\n\"September 21st 2015, 04:44:32.331\",,\"1,857\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"58.190.216.56\"\n\"September 21st 2015, 04:44:31.395\",,\"2,815\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"13.61.197.86\"\n\"September 21st 2015, 04:44:28.674\",,\"2,744\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.221.105.131\"\n\"September 21st 2015, 04:44:28.145\",,\"8,712\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"169.247.113.252\"\n\"September 21st 2015, 04:44:22.848\",,\"7,379\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.167.142.250\"\n\"September 21st 2015, 04:44:19.610\",,\"9,179\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.36.203.241\"\n\"September 21st 2015, 04:44:11.271\",,\"9,211\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"202.48.108.4\"\n\"September 21st 2015, 04:44:04.720\",,\"6,530\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.105.235.122\"\n\"September 21st 2015, 04:43:48.871\",,\"2,330\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.126.159.144\"\n\"September 21st 2015, 04:43:34.200\",,\"7,245\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"203.118.132.112\"\n\"September 21st 2015, 04:43:30.376\",,\"2,494\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"37.73.193.32\"\n\"September 21st 2015, 04:43:20.034\",,\"8,484\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"203.206.8.45\"\n\"September 21st 2015, 04:43:09.528\",,\"6,200\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"239.143.176.28\"\n\"September 21st 2015, 04:43:08.127\",,\"7,713\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.114.14.197\"\n\"September 21st 2015, 04:42:30.810\",,\"5,324\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.216.173.242\"\n\"September 21st 2015, 04:42:28.854\",,\"5,027\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.155.226.58\"\n\"September 21st 2015, 04:41:59.209\",,\"12,942\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.157.127.149\"\n\"September 21st 2015, 04:41:57.431\",,\"4,847\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"247.189.13.239\"\n\"September 21st 2015, 04:41:38.233\",,\"6,823\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.13.115.149\"\n\"September 21st 2015, 04:41:27.972\",,\"6,745\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.59.172.226\"\n\"September 21st 2015, 04:41:20.470\",,\"3,083\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"218.186.41.141\"\n\"September 21st 2015, 04:41:18.354\",,\"3,690\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.136.173.80\"\n\"September 21st 2015, 04:41:00.609\",,\"2,556\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.139.112.201\"\n\"September 21st 2015, 04:40:27.828\",,\"5,103\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.132.195.31\"\n\"September 21st 2015, 04:40:16.055\",,\"7,958\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.194.113.132\"\n\"September 21st 2015, 04:40:04.908\",,\"2,709\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.252.219.9\"\n\"September 21st 2015, 04:40:01.146\",,\"2,952\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"77.208.78.205\"\n\"September 21st 2015, 04:39:38.824\",,\"9,839\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"81.1.40.59\"\n\"September 21st 2015, 04:39:20.099\",,\"3,922\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"117.102.170.167\"\n\"September 21st 2015, 04:39:19.926\",,\"7,903\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.106.79.211\"\n\"September 21st 2015, 04:39:05.461\",,\"8,435\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.208.15.12\"\n\"September 21st 2015, 04:38:49.408\",,\"5,450\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.132.195.31\"\n\"September 21st 2015, 04:38:46.693\",,\"8,138\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"41.210.252.157\"\n\"September 21st 2015, 04:38:45.974\",,\"3,589\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"109.136.109.115\"\n\"September 21st 2015, 04:38:12.474\",,\"7,166\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"2.229.49.222\"\n\"September 21st 2015, 04:38:12.403\",,\"2,164\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.63.51.8\"\n\"September 21st 2015, 04:38:03.989\",,\"3,889\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"104.87.105.86\"\n\"September 21st 2015, 04:37:53.786\",,\"3,861\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.111.6.73\"\n\"September 21st 2015, 04:37:29.638\",,\"4,940\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.37.151.239\"\n\"September 21st 2015, 04:37:14.557\",,\"5,693\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.108.133.125\"\n\"September 21st 2015, 04:37:03.642\",,\"3,534\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"37.169.230.188\"\n\"September 21st 2015, 04:37:00.358\",,\"9,549\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"12.255.88.79\"\n\"September 21st 2015, 04:36:47.810\",,\"4,123\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"148.134.9.77\"\n\"September 21st 2015, 04:36:17.919\",,\"4,546\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.186.152.28\"\n\"September 21st 2015, 04:35:40.685\",,\"9,915\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.123.27.0\"\n\"September 21st 2015, 04:35:36.122\",,\"9,798\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.134.216.218\"\n\"September 21st 2015, 04:35:22.696\",,\"7,677\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"187.122.228.77\"\n\"September 21st 2015, 04:35:08.343\",,\"5,716\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.33.201.138\"\n\"September 21st 2015, 04:34:51.169\",,\"9,820\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.233.238.181\"\n\"September 21st 2015, 04:34:30.395\",,\"7,871\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.190.101.72\"\n\"September 21st 2015, 04:34:25.678\",,\"5,134\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.59.225.31\"\n\"September 21st 2015, 04:34:01.641\",,\"9,677\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.211.13.64\"\n\"September 21st 2015, 04:33:59.682\",,\"8,539\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"56.87.32.139\"\n\"September 21st 2015, 04:33:47.834\",,\"3,498\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.158.217.196\"\n\"September 21st 2015, 04:33:22.361\",,\"3,548\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.168.21.69\"\n\"September 21st 2015, 04:33:07.507\",,\"2,309\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"8.248.237.182\"\n\"September 21st 2015, 04:32:50.927\",,\"8,644\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"177.141.61.131\"\n\"September 21st 2015, 04:32:22.394\",,\"11,734\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.42.218.145\"\n\"September 21st 2015, 04:32:19.899\",,\"4,625\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.227.125.229\"\n\"September 21st 2015, 04:32:14.866\",,\"2,203\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"36.185.52.71\"\n\"September 21st 2015, 04:32:05.697\",,\"1,686\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.82.228.233\"\n\"September 21st 2015, 04:31:44.961\",,\"7,430\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.13.106.139\"\n\"September 21st 2015, 04:31:30.721\",,\"9,378\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.96.96.191\"\n\"September 21st 2015, 04:31:23.353\",,\"2,141\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"144.135.123.19\"\n\"September 21st 2015, 04:31:20.764\",,\"2,342\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.239.0.38\"\n\"September 21st 2015, 04:31:01.778\",,\"5,806\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"56.87.32.139\"\n\"September 21st 2015, 04:30:36.131\",,\"5,202\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"110.12.135.128\"\n\"September 21st 2015, 04:30:35.451\",,\"8,478\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"38.29.122.137\"\n\"September 21st 2015, 04:30:32.444\",,\"1,736\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"35.222.204.135\"\n\"September 21st 2015, 04:30:31.552\",,\"8,349\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.169.230.188\"\n\"September 21st 2015, 04:30:17.293\",,\"6,112\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"77.227.154.93\"\n\"September 21st 2015, 04:30:06.379\",,\"11,146\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"50.46.74.105\"\n\"September 21st 2015, 04:30:03.506\",,\"9,672\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"133.74.144.217\"\n\"September 21st 2015, 04:29:53.111\",,\"8,043\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.244.25.107\"\n\"September 21st 2015, 04:29:27.688\",,\"5,496\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"158.168.90.226\"\n\"September 21st 2015, 04:29:15.309\",,\"4,131\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.61.182.136\"\n\"September 21st 2015, 04:28:52.432\",,\"11,364\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"11.29.171.72\"\n\"September 21st 2015, 04:28:39.857\",,\"9,152\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.155.198.238\"\n\"September 21st 2015, 04:28:37.258\",,\"14,034\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.163.133.47\"\n\"September 21st 2015, 04:28:28.682\",,\"4,186\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"196.131.25.8\"\n\"September 21st 2015, 04:28:25.879\",,\"7,162\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.4.117.154\"\n\"September 21st 2015, 04:28:25.038\",,\"14,815\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.17.130.204\"\n\"September 21st 2015, 04:28:09.606\",,\"4,831\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"223.68.146.97\"\n\"September 21st 2015, 04:27:56.277\",,\"3,253\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.57.170.220\"\n\"September 21st 2015, 04:27:44.747\",,\"4,718\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.236.3.119\"\n\"September 21st 2015, 04:27:41.038\",,\"1,512\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"242.162.114.49\"\n\"September 21st 2015, 04:27:33.057\",,\"5,247\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"146.18.252.5\"\n\"September 21st 2015, 04:27:30.308\",,\"6,571\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.22.226.5\"\n\"September 21st 2015, 04:27:27.359\",,\"7,573\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"28.3.30.170\"\n\"September 21st 2015, 04:27:22.887\",,\"16,939\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"77.227.154.93\"\n\"September 21st 2015, 04:27:17.217\",,\"2,190\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"45.102.15.116\"\n\"September 21st 2015, 04:27:04.566\",,\"2,662\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.202.168.250\"\n\"September 21st 2015, 04:27:00.910\",,\"4,266\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.237.11.219\"\n\"September 21st 2015, 04:26:56.983\",,\"5,539\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.15.54.136\"\n\"September 21st 2015, 04:26:55.544\",,\"3,437\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.223.214.184\"\n\"September 21st 2015, 04:26:24.538\",,\"5,157\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.219.87.110\"\n\"September 21st 2015, 04:26:10.223\",,\"9,426\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.191.39.198\"\n\"September 21st 2015, 04:25:53.180\",,\"2,902\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.61.116.63\"\n\"September 21st 2015, 04:25:15.657\",,\"8,147\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"38.29.122.137\"\n\"September 21st 2015, 04:25:15.549\",,\"2,336\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"248.239.221.43\"\n\"September 21st 2015, 04:25:02.071\",,\"7,829\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.247.249.228\"\n\"September 21st 2015, 04:24:51.083\",,\"7,811\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.200.84.215\"\n\"September 21st 2015, 04:24:50.705\",,\"2,674\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.69.255.135\"\n\"September 21st 2015, 04:24:45.044\",,\"5,216\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"247.174.57.245\"\n\"September 21st 2015, 04:24:40.469\",,\"5,605\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.32.224.79\"\n\"September 21st 2015, 04:24:29.457\",,\"9,257\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.144.232.98\"\n\"September 21st 2015, 04:23:47.163\",,\"5,823\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.50.129.53\"\n\"September 21st 2015, 04:23:24.286\",,\"2,899\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.139.46.29\"\n\"September 21st 2015, 04:23:08.024\",,\"3,504\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.147.159.107\"\n\"September 21st 2015, 04:22:53.531\",,\"8,889\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"118.163.20.44\"\n\"September 21st 2015, 04:22:50.244\",,\"6,447\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"2.229.49.222\"\n\"September 21st 2015, 04:22:45.421\",,\"8,266\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.66.60.152\"\n\"September 21st 2015, 04:22:10.291\",,\"8,219\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.55.130.114\"\n\"September 21st 2015, 04:21:51.227\",,\"5,325\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"60.231.227.7\"\n\"September 21st 2015, 04:21:51.108\",,\"1,617\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.92.205.231\"\n\"September 21st 2015, 04:21:50.893\",,\"7,466\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"225.42.74.240\"\n\"September 21st 2015, 04:21:50.187\",,\"9,954\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"16.236.101.225\"\n\"September 21st 2015, 04:21:49.724\",,\"3,432\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"187.122.228.77\"\n\"September 21st 2015, 04:21:18.414\",,\"2,598\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.53.251.53\"\n\"September 21st 2015, 04:21:08.922\",,\"6,946\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"187.122.228.77\"\n\"September 21st 2015, 04:21:04.560\",,\"8,215\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.202.168.250\"\n\"September 21st 2015, 04:20:55.994\",,\"12,086\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"41.210.252.157\"\n\"September 21st 2015, 04:20:45.738\",,\"8,619\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.195.111.241\"\n\"September 21st 2015, 04:20:44.246\",,\"9,109\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"155.157.127.149\"\n\"September 21st 2015, 04:20:36.182\",,\"9,013\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"233.126.159.144\"\n\"September 21st 2015, 04:20:22.420\",,\"3,519\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.142.140.200\"\n\"September 21st 2015, 04:20:14.373\",,\"3,875\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"178.104.96.40\"\n\"September 21st 2015, 04:20:05.806\",,\"2,409\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"81.1.40.59\"\n\"September 21st 2015, 04:19:56.666\",,\"6,466\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"113.35.23.20\"\n\"September 21st 2015, 04:19:42.436\",,\"2,261\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"192.224.131.67\"\n\"September 21st 2015, 04:19:20.837\",,\"3,124\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"81.186.187.11\"\n\"September 21st 2015, 04:19:15.082\",,\"5,772\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.228.214.218\"\n\"September 21st 2015, 04:19:14.273\",,\"1,868\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"44.45.70.116\"\n\"September 21st 2015, 04:19:08.834\",,\"13,360\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.49.31.82\"\n\"September 21st 2015, 04:18:57.294\",,\"6,083\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.195.208.118\"\n\"September 21st 2015, 04:18:52.041\",,\"7,321\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.90.86.83\"\n\"September 21st 2015, 04:18:27.888\",,\"8,488\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"163.123.136.118\"\n\"September 21st 2015, 04:18:20.563\",,\"6,425\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"167.26.56.145\"\n\"September 21st 2015, 04:18:09.433\",,\"7,758\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"255.56.89.50\"\n\"September 21st 2015, 04:18:05.890\",,\"7,113\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.96.215.228\"\n\"September 21st 2015, 04:17:57.777\",,\"7,638\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.226.232.233\"\n\"September 21st 2015, 04:17:50.861\",,\"9,444\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.189.205.188\"\n\"September 21st 2015, 04:17:38.145\",,\"5,794\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.188.213.247\"\n\"September 21st 2015, 04:17:27.919\",,\"4,569\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.53.251.53\"\n\"September 21st 2015, 04:17:19.022\",,\"9,456\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"136.122.153.94\"\n\"September 21st 2015, 04:17:16.724\",,\"5,408\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.150.146.102\"\n\"September 21st 2015, 04:16:45.048\",,\"5,225\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.173.30.33\"\n\"September 21st 2015, 04:16:26.301\",,\"9,515\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.82.217.118\"\n\"September 21st 2015, 04:16:07.849\",,\"16,976\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.211.13.64\"\n\"September 21st 2015, 04:16:06.926\",,\"7,863\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.117.135.38\"\n\"September 21st 2015, 04:16:02.511\",,\"7,401\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.204.236.159\"\n\"September 21st 2015, 04:15:57.243\",,\"1,545\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.43.124.118\"\n\"September 21st 2015, 04:15:37.691\",,\"9,838\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.211.13.64\"\n\"September 21st 2015, 04:15:26.083\",,\"2,093\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.188.1.153\"\n\"September 21st 2015, 04:15:23.659\",,\"6,707\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.143.209.115\"\n\"September 21st 2015, 04:15:21.121\",,\"6,528\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.19.117.208\"\n\"September 21st 2015, 04:15:16.627\",,\"4,089\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"74.214.76.90\"\n\"September 21st 2015, 04:15:15.648\",,\"3,078\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.33.201.138\"\n\"September 21st 2015, 04:15:11.273\",,\"3,639\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"61.174.151.11\"\n\"September 21st 2015, 04:15:00.337\",,\"8,161\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"255.58.31.9\"\n\"September 21st 2015, 04:14:38.243\",,\"4,061\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"14.54.226.211\"\n\"September 21st 2015, 04:14:24.151\",,\"6,623\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.3.115.126\"\n\"September 21st 2015, 04:14:22.923\",,\"7,926\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.173.85.47\"\n\"September 21st 2015, 04:14:18.281\",,\"8,590\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"227.83.52.239\"\n\"September 21st 2015, 04:14:18.071\",,\"5,731\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"100.99.207.174\"\n\"September 21st 2015, 04:14:13.631\",,\"8,049\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.22.226.5\"\n\"September 21st 2015, 04:13:40.066\",,\"3,831\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"207.218.166.105\"\n\"September 21st 2015, 04:13:13.497\",,\"3,882\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.244.83.137\"\n\"September 21st 2015, 04:13:09.393\",,\"2,939\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.245.188.46\"\n\"September 21st 2015, 04:13:06.552\",,\"9,328\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.128.7.74\"\n\"September 21st 2015, 04:12:59.425\",,\"9,334\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"104.212.107.0\"\n\"September 21st 2015, 04:12:20.755\",,\"7,431\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.7.121.157\"\n\"September 21st 2015, 04:11:23.149\",,\"3,048\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.63.63.137\"\n\"September 21st 2015, 04:10:36.025\",,\"3,801\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.244.150.190\"\n\"September 21st 2015, 04:10:25.223\",,\"7,827\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.181.188.3\"\n\"September 21st 2015, 04:10:05.444\",,\"2,270\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"0.254.91.215\"\n\"September 21st 2015, 04:10:01.302\",,\"8,838\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.115.189.193\"\n\"September 21st 2015, 04:10:00.259\",,\"1,947\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"147.195.26.33\"\n\"September 21st 2015, 04:09:46.288\",,\"9,699\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"24.202.52.232\"\n\"September 21st 2015, 04:09:34.548\",,\"5,465\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.100.178.89\"\n\"September 21st 2015, 04:09:31.243\",,\"3,716\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.150.212.12\"\n\"September 21st 2015, 04:09:20.282\",,\"5,167\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.181.166.105\"\n\"September 21st 2015, 04:09:06.371\",,\"8,593\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.102.200.168\"\n\"September 21st 2015, 04:08:03.332\",,\"9,536\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.134.81.148\"\n\"September 21st 2015, 04:07:46.823\",,\"4,905\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.120.60.102\"\n\"September 21st 2015, 04:07:44.865\",,\"3,659\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.107.235.54\"\n\"September 21st 2015, 04:07:40.844\",,\"4,893\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.121.116.124\"\n\"September 21st 2015, 04:07:34.932\",,\"2,059\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"85.107.235.54\"\n\"September 21st 2015, 04:06:43.580\",,\"8,026\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"231.224.4.183\"\n\"September 21st 2015, 04:06:29.538\",,\"19,922\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.223.93.34\"\n\"September 21st 2015, 04:06:04.923\",,\"2,750\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"143.81.107.227\"\n\"September 21st 2015, 04:05:23.622\",,\"4,374\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.136.156.225\"\n\"September 21st 2015, 04:05:13.743\",,\"7,927\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"144.31.154.6\"\n\"September 21st 2015, 04:04:50.657\",,\"7,469\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"164.185.40.249\"\n\"September 21st 2015, 04:04:25.867\",,\"4,077\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.220.193.123\"\n\"September 21st 2015, 04:04:21.836\",,\"4,787\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.206.73.252\"\n\"September 21st 2015, 04:04:13.695\",,\"5,033\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.29.90.185\"\n\"September 21st 2015, 04:03:49.749\",,\"6,797\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.183.234.114\"\n\"September 21st 2015, 04:03:34.965\",,\"9,274\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"134.36.203.241\"\n\"September 21st 2015, 04:03:34.135\",,\"5,243\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.219.151.88\"\n\"September 21st 2015, 04:03:18.082\",,\"4,681\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.224.184.36\"\n\"September 21st 2015, 04:03:02.673\",,\"4,758\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"41.210.252.157\"\n\"September 21st 2015, 04:02:49.293\",,\"2,433\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.172.28.222\"\n\"September 21st 2015, 04:02:41.502\",,\"9,475\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.203.229.229\"\n\"September 21st 2015, 04:02:27.549\",,\"5,909\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.134.216.218\"\n\"September 21st 2015, 04:02:11.423\",,\"4,178\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"212.39.75.221\"\n\"September 21st 2015, 04:02:10.558\",,\"4,764\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.72.217.98\"\n\"September 21st 2015, 04:02:03.383\",,\"7,451\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"167.26.56.145\"\n\"September 21st 2015, 04:02:00.854\",,\"2,167\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.206.227.106\"\n\"September 21st 2015, 04:01:43.276\",,\"7,089\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.7.129.34\"\n\"September 21st 2015, 04:01:40.474\",,\"6,675\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"45.138.192.138\"\n\"September 21st 2015, 04:01:40.047\",,\"7,604\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.190.3.193\"\n\"September 21st 2015, 04:01:17.115\",,\"2,380\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.94.120.10\"\n\"September 21st 2015, 04:01:02.311\",,\"17,025\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.38.2.66\"\n\"September 21st 2015, 04:00:30.917\",,\"8,309\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"5.83.83.42\"\n\"September 21st 2015, 04:00:16.789\",,\"3,213\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"215.239.0.38\"\n\"September 21st 2015, 04:00:11.114\",,\"9,929\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.155.198.238\"\n\"September 21st 2015, 04:00:00.698\",,\"3,832\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"122.95.5.139\"\n\"September 21st 2015, 03:59:11.525\",,\"5,858\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"247.174.57.245\"\n\"September 21st 2015, 03:59:08.039\",,\"7,829\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.156.163.220\"\n\"September 21st 2015, 03:58:19.350\",,\"9,030\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"181.249.43.5\"\n\"September 21st 2015, 03:58:12.261\",,\"3,851\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"24.202.52.232\"\n\"September 21st 2015, 03:58:05.182\",,\"2,954\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.243.115.83\"\n\"September 21st 2015, 03:57:45.722\",,\"9,865\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.85.51.238\"\n\"September 21st 2015, 03:57:29.726\",,\"4,887\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.143.125.181\"\n\"September 21st 2015, 03:57:24.784\",,\"7,890\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"248.163.75.193\"\n\"September 21st 2015, 03:57:23.686\",,\"3,975\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.177.125.196\"\n\"September 21st 2015, 03:57:04.588\",,\"5,391\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.82.217.118\"\n\"September 21st 2015, 03:56:45.951\",,\"4,065\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.241.46.95\"\n\"September 21st 2015, 03:56:35.538\",,\"5,023\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"121.50.181.157\"\n\"September 21st 2015, 03:56:27.546\",,\"9,388\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.219.72.105\"\n\"September 21st 2015, 03:56:26.531\",,\"4,780\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.19.217.148\"\n\"September 21st 2015, 03:56:24.972\",,\"5,135\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"65.135.134.42\"\n\"September 21st 2015, 03:56:06.054\",,\"5,572\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"24.5.165.192\"\n\"September 21st 2015, 03:55:47.753\",,\"1,867\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"224.183.190.156\"\n\"September 21st 2015, 03:55:35.506\",,\"5,384\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.150.212.12\"\n\"September 21st 2015, 03:55:17.785\",,\"9,349\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.98.69.166\"\n\"September 21st 2015, 03:55:09.157\",,\"5,582\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.188.213.247\"\n\"September 21st 2015, 03:54:19.110\",,\"2,740\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"154.79.180.7\"\n\"September 21st 2015, 03:54:10.729\",,\"1,595\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.141.52.142\"\n\"September 21st 2015, 03:54:07.426\",,\"6,141\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.53.114.44\"\n\"September 21st 2015, 03:53:54.274\",,\"6,385\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.58.25.99\"\n\"September 21st 2015, 03:53:44.802\",,\"7,704\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.85.77.216\"\n\"September 21st 2015, 03:53:41.839\",,\"1,984\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"218.186.41.141\"\n\"September 21st 2015, 03:53:17.104\",,\"2,066\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.0.98.104\"\n\"September 21st 2015, 03:52:42.409\",,\"17,545\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.211.243.56\"\n\"September 21st 2015, 03:52:31.793\",,\"5,808\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.151.244.234\"\n\"September 21st 2015, 03:52:21.273\",,\"5,560\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.119.62.60\"\n\"September 21st 2015, 03:52:15.042\",,\"3,203\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.210.163.45\"\n\"September 21st 2015, 03:52:05.441\",,\"5,458\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"16.236.101.225\"\n\"September 21st 2015, 03:51:58.186\",,\"2,699\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"81.186.187.11\"\n\"September 21st 2015, 03:51:40.694\",,\"4,901\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.56.164.24\"\n\"September 21st 2015, 03:51:09.723\",,\"9,264\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.225.101.206\"\n\"September 21st 2015, 03:50:55.428\",,\"5,364\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.236.3.119\"\n\"September 21st 2015, 03:50:49.180\",,\"4,905\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.39.144.87\"\n\"September 21st 2015, 03:50:45.599\",,\"3,414\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"221.219.72.105\"\n\"September 21st 2015, 03:50:26.537\",,\"3,043\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.58.158.234\"\n\"September 21st 2015, 03:50:04.807\",,\"6,730\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"116.126.47.226\"\n\"September 21st 2015, 03:49:55.011\",,\"8,991\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"162.218.161.231\"\n\"September 21st 2015, 03:49:33.687\",,\"2,277\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.115.221.35\"\n\"September 21st 2015, 03:49:30.598\",,\"9,788\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"23.3.174.206\"\n\"September 21st 2015, 03:49:24.643\",,\"2,361\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"165.104.70.8\"\n\"September 21st 2015, 03:49:18.059\",,\"2,590\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.168.180.6\"\n\"September 21st 2015, 03:49:14.710\",,\"5,711\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.123.27.0\"\n\"September 21st 2015, 03:48:57.349\",,\"3,450\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.54.235.229\"\n\"September 21st 2015, 03:48:50.357\",,\"4,220\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.172.28.222\"\n\"September 21st 2015, 03:48:38.513\",,\"6,469\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.150.67.234\"\n\"September 21st 2015, 03:48:34.203\",,\"10,850\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.105.204.4\"\n\"September 21st 2015, 03:48:32.071\",,\"9,562\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"118.163.20.44\"\n\"September 21st 2015, 03:48:19.359\",,\"4,940\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.34.180.209\"\n\"September 21st 2015, 03:48:10.718\",,\"8,037\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.52.178.194\"\n\"September 21st 2015, 03:47:58.326\",,\"4,166\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.195.18.133\"\n\"September 21st 2015, 03:47:55.174\",,\"8,925\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.95.78.209\"\n\"September 21st 2015, 03:47:23.403\",,\"3,690\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.58.47.229\"\n\"September 21st 2015, 03:47:02.055\",,\"3,810\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.50.219.103\"\n\"September 21st 2015, 03:46:47.435\",,\"4,910\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.169.199.220\"\n\"September 21st 2015, 03:45:38.685\",,\"6,835\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.188.1.153\"\n\"September 21st 2015, 03:45:37.320\",,\"7,729\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.246.143.109\"\n\"September 21st 2015, 03:45:31.742\",,\"3,626\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.81.157.252\"\n\"September 21st 2015, 03:45:07.211\",,\"9,621\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.182.209.84\"\n\"September 21st 2015, 03:45:04.519\",,\"7,496\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.157.227.112\"\n\"September 21st 2015, 03:45:03.873\",,\"8,665\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"116.171.234.62\"\n\"September 21st 2015, 03:45:02.018\",,\"1,810\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"84.205.43.205\"\n\"September 21st 2015, 03:44:30.281\",,\"4,773\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.112.222.13\"\n\"September 21st 2015, 03:44:04.272\",,\"7,473\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"229.53.125.87\"\n\"September 21st 2015, 03:43:18.670\",,\"6,193\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"30.36.151.195\"\n\"September 21st 2015, 03:43:10.979\",,\"7,858\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"23.178.170.24\"\n\"September 21st 2015, 03:42:59.603\",,\"5,193\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"184.130.127.202\"\n\"September 21st 2015, 03:42:46.852\",,\"12,083\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.206.61.6\"\n\"September 21st 2015, 03:42:41.679\",,\"7,046\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"183.139.112.201\"\n\"September 21st 2015, 03:42:23.097\",,\"2,523\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"234.206.115.94\"\n\"September 21st 2015, 03:41:59.838\",,\"3,023\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"164.185.40.249\"\n\"September 21st 2015, 03:40:50.066\",,\"8,804\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.105.235.122\"\n\"September 21st 2015, 03:40:40.642\",,\"6,846\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.5.71.170\"\n\"September 21st 2015, 03:40:36.800\",,\"3,880\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.123.27.0\"\n\"September 21st 2015, 03:40:30.174\",,\"9,445\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.12.132.188\"\n\"September 21st 2015, 03:40:29.819\",,\"6,391\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.25.39.187\"\n\"September 21st 2015, 03:40:28.539\",,\"1,980\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.106.203.143\"\n\"September 21st 2015, 03:39:58.499\",,\"13,461\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.61.182.136\"\n\"September 21st 2015, 03:39:38.873\",,\"8,139\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"13.61.197.86\"\n\"September 21st 2015, 03:39:31.179\",,\"3,169\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"230.249.93.77\"\n\"September 21st 2015, 03:39:26.212\",,\"1,611\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.73.193.32\"\n\"September 21st 2015, 03:39:13.963\",,\"4,227\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.82.228.233\"\n\"September 21st 2015, 03:38:18.216\",,\"8,157\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.212.173.15\"\n\"September 21st 2015, 03:38:14.610\",,\"5,340\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.237.11.219\"\n\"September 21st 2015, 03:37:51.235\",,\"7,397\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"113.35.23.20\"\n\"September 21st 2015, 03:37:34.906\",,\"9,843\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"106.142.212.24\"\n\"September 21st 2015, 03:37:24.902\",,\"4,825\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"124.187.220.168\"\n\"September 21st 2015, 03:37:12.472\",,\"6,081\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.139.58.171\"\n\"September 21st 2015, 03:37:07.340\",,\"8,640\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.29.249.167\"\n\"September 21st 2015, 03:35:34.963\",,\"4,323\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.5.63.129\"\n\"September 21st 2015, 03:34:56.676\",,\"3,251\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.227.142.190\"\n\"September 21st 2015, 03:34:49.430\",,\"5,876\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.48.147.184\"\n\"September 21st 2015, 03:33:53.896\",,\"7,825\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"183.177.240.217\"\n\"September 21st 2015, 03:33:33.330\",,\"9,295\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.53.96.88\"\n\"September 21st 2015, 03:33:29.818\",,\"10,452\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"13.1.75.232\"\n\"September 21st 2015, 03:33:01.371\",,\"6,382\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"182.207.77.200\"\n\"September 21st 2015, 03:32:20.966\",,\"6,608\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"38.29.122.137\"\n\"September 21st 2015, 03:32:15.698\",,\"5,482\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.225.101.206\"\n\"September 21st 2015, 03:31:41.641\",,\"3,785\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.153.51.78\"\n\"September 21st 2015, 03:31:35.950\",,\"7,949\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"154.55.57.32\"\n\"September 21st 2015, 03:31:32.608\",,\"2,980\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.172.137.39\"\n\"September 21st 2015, 03:29:53.875\",,\"9,836\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.34.187.225\"\n\"September 21st 2015, 03:29:22.087\",,\"3,599\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"241.129.62.213\"\n\"September 21st 2015, 03:29:17.730\",,\"1,759\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"24.78.153.162\"\n\"September 21st 2015, 03:29:00.180\",,\"6,764\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.46.85.146\"\n\"September 21st 2015, 03:28:54.504\",,\"4,155\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.227.195.13\"\n\"September 21st 2015, 03:28:48.064\",,\"9,505\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.132.195.31\"\n\"September 21st 2015, 03:28:34.522\",,\"11,827\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.108.62.100\"\n\"September 21st 2015, 03:28:22.302\",,\"2,226\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.85.51.238\"\n\"September 21st 2015, 03:28:17.135\",,\"3,624\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"92.96.51.231\"\n\"September 21st 2015, 03:27:57.149\",,\"4,731\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"251.84.111.185\"\n\"September 21st 2015, 03:27:32.540\",,\"6,438\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.147.43.175\"\n\"September 21st 2015, 03:27:28.966\",,\"2,874\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.116.179.248\"\n\"September 21st 2015, 03:27:09.096\",,\"6,807\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"121.34.210.235\"\n\"September 21st 2015, 03:27:04.849\",,\"1,566\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.144.90.74\"\n\"September 21st 2015, 03:26:48.066\",,\"8,126\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"80.252.219.9\"\n\"September 21st 2015, 03:26:38.896\",,\"2,791\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.90.215.57\"\n\"September 21st 2015, 03:25:51.837\",,\"5,459\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.63.51.8\"\n\"September 21st 2015, 03:25:49.494\",,\"8,160\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"60.109.112.85\"\n\"September 21st 2015, 03:25:17.218\",,\"5,220\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"198.174.196.110\"\n\"September 21st 2015, 03:24:40.840\",,\"4,918\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.161.247.172\"\n\"September 21st 2015, 03:24:30.256\",,\"2,433\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.123.33.106\"\n\"September 21st 2015, 03:23:52.046\",,\"7,900\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"209.144.199.174\"\n\"September 21st 2015, 03:23:37.168\",,\"2,075\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.12.132.188\"\n\"September 21st 2015, 03:22:55.075\",,\"6,335\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"121.205.46.255\"\n\"September 21st 2015, 03:22:49.445\",,\"14,967\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"251.207.101.203\"\n\"September 21st 2015, 03:22:33.234\",,\"2,072\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"185.39.79.51\"\n\"September 21st 2015, 03:22:21.546\",,\"7,984\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"123.85.77.216\"\n\"September 21st 2015, 03:21:23.468\",,\"4,214\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"211.106.232.51\"\n\"September 21st 2015, 03:21:14.819\",,\"4,531\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.157.227.112\"\n\"September 21st 2015, 03:20:58.329\",,\"2,722\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.245.188.46\"\n\"September 21st 2015, 03:20:41.173\",,\"9,954\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.242.177.192\"\n\"September 21st 2015, 03:20:33.936\",,\"3,066\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.37.236.61\"\n\"September 21st 2015, 03:20:33.670\",,\"5,596\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"124.187.220.168\"\n\"September 21st 2015, 03:20:31.511\",,\"8,047\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.107.74.6\"\n\"September 21st 2015, 03:20:11.861\",,\"2,966\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"182.128.15.97\"\n\"September 21st 2015, 03:20:04.968\",,\"8,188\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.161.247.172\"\n\"September 21st 2015, 03:19:43.639\",,\"12,770\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.121.116.124\"\n\"September 21st 2015, 03:19:42.176\",,\"1,618\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.223.214.184\"\n\"September 21st 2015, 03:19:24.766\",,\"3,793\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"188.56.164.24\"\n\"September 21st 2015, 03:19:22.937\",,\"8,835\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.153.40.224\"\n\"September 21st 2015, 03:19:21.974\",,\"5,851\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"211.106.232.51\"\n\"September 21st 2015, 03:19:08.864\",,\"6,081\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"171.243.18.67\"\n\"September 21st 2015, 03:19:03.465\",,\"2,417\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"10.192.39.62\"\n\"September 21st 2015, 03:18:45.795\",,\"13,023\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"63.142.94.147\"\n\"September 21st 2015, 03:18:38.635\",,\"2,493\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.233.238.181\"\n\"September 21st 2015, 03:18:22.669\",,\"3,669\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.134.216.218\"\n\"September 21st 2015, 03:18:01.808\",,\"7,458\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.24.249.29\"\n\"September 21st 2015, 03:18:00.974\",,\"4,284\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.56.164.24\"\n\"September 21st 2015, 03:17:55.219\",,\"4,106\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"127.254.107.86\"\n\"September 21st 2015, 03:17:46.430\",,\"9,472\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.232.128.91\"\n\"September 21st 2015, 03:17:25.312\",,\"8,040\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.117.73.210\"\n\"September 21st 2015, 03:17:09.604\",,\"3,765\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.99.184.146\"\n\"September 21st 2015, 03:17:04.008\",,\"7,203\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"129.32.224.79\"\n\"September 21st 2015, 03:17:03.664\",,\"6,831\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.88.57.13\"\n\"September 21st 2015, 03:16:48.972\",,\"18,818\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"127.219.223.182\"\n\"September 21st 2015, 03:16:34.880\",,\"9,403\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"215.152.176.23\"\n\"September 21st 2015, 03:15:27.836\",,\"5,257\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.24.249.29\"\n\"September 21st 2015, 03:14:44.833\",,\"3,349\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.43.210.167\"\n\"September 21st 2015, 03:14:36.332\",,\"5,414\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"128.108.188.178\"\n\"September 21st 2015, 03:14:04.300\",,\"5,849\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.12.132.188\"\n\"September 21st 2015, 03:13:44.649\",,\"7,315\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.5.110.41\"\n\"September 21st 2015, 03:13:44.067\",,\"9,595\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"79.16.207.3\"\n\"September 21st 2015, 03:13:41.741\",,\"1,727\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"120.99.203.64\"\n\"September 21st 2015, 03:13:23.443\",,\"5,655\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"70.211.225.125\"\n\"September 21st 2015, 03:13:21.008\",,\"2,178\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"95.59.225.31\"\n\"September 21st 2015, 03:12:02.874\",,\"8,269\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"239.190.189.77\"\n\"September 21st 2015, 03:11:56.281\",,\"5,093\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.249.93.77\"\n\"September 21st 2015, 03:11:44.827\",,\"8,056\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"248.193.114.155\"\n\"September 21st 2015, 03:11:38.100\",,\"8,621\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"30.126.88.114\"\n\"September 21st 2015, 03:11:34.865\",,\"5,751\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"13.61.197.86\"\n\"September 21st 2015, 03:11:13.163\",,\"1,759\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"76.215.43.26\"\n\"September 21st 2015, 03:11:06.621\",,\"3,947\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.172.137.39\"\n\"September 21st 2015, 03:10:29.984\",,\"1,756\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.82.228.233\"\n\"September 21st 2015, 03:10:07.676\",,\"3,105\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.54.12.226\"\n\"September 21st 2015, 03:09:21.348\",,\"4,880\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.87.32.139\"\n\"September 21st 2015, 03:09:12.447\",,\"5,733\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.4.152.176\"\n\"September 21st 2015, 03:08:23.014\",,\"1,957\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"185.39.79.51\"\n\"September 21st 2015, 03:08:05.211\",,\"1,807\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"143.84.142.7\"\n\"September 21st 2015, 03:07:50.967\",,\"4,458\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.156.6.246\"\n\"September 21st 2015, 03:07:50.264\",,\"6,526\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.0.214.93\"\n\"September 21st 2015, 03:06:27.288\",,\"8,187\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.160.128.58\"\n\"September 21st 2015, 03:06:19.384\",,\"8,513\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.115.81.216\"\n\"September 21st 2015, 03:06:11.179\",,\"3,331\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.192.185.168\"\n\"September 21st 2015, 03:05:32.105\",,\"9,620\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.208.15.12\"\n\"September 21st 2015, 03:05:28.981\",,\"4,542\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.200.198.147\"\n\"September 21st 2015, 03:05:28.033\",,\"7,904\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.237.11.219\"\n\"September 21st 2015, 03:04:34.658\",,\"6,134\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.68.89.92\"\n\"September 21st 2015, 03:04:15.878\",,\"4,760\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.220.193.123\"\n\"September 21st 2015, 03:03:52.259\",,\"9,884\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.53.70.40\"\n\"September 21st 2015, 03:03:39.471\",,\"2,623\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.188.141.95\"\n\"September 21st 2015, 03:02:28.669\",,\"5,068\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.7.244.68\"\n\"September 21st 2015, 03:01:56.144\",,\"4,634\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.136.173.80\"\n\"September 21st 2015, 03:01:03.762\",,\"5,154\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.7.132.13\"\n\"September 21st 2015, 03:01:02.514\",,\"2,207\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"234.206.115.94\"\n\"September 21st 2015, 03:00:34.881\",,\"8,027\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.24.165.50\"\n\"September 21st 2015, 03:00:09.974\",,\"5,709\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.199.255.8\"\n\"September 21st 2015, 02:59:41.977\",,\"7,323\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"12.200.161.41\"\n\"September 21st 2015, 02:59:05.127\",,\"15,436\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.2.26.42\"\n\"September 21st 2015, 02:58:55.085\",,\"3,316\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"127.219.223.182\"\n\"September 21st 2015, 02:58:53.674\",,\"9,137\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.0.188.251\"\n\"September 21st 2015, 02:58:46.791\",,\"7,072\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"8.248.237.182\"\n\"September 21st 2015, 02:58:44.440\",,\"9,024\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.139.58.171\"\n\"September 21st 2015, 02:58:21.962\",,\"7,134\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.167.54.47\"\n\"September 21st 2015, 02:57:36.665\",,\"3,790\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.133.22.163\"\n\"September 21st 2015, 02:57:09.116\",,\"5,424\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"23.3.174.206\"\n\"September 21st 2015, 02:56:37.644\",,\"4,574\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.47.75.195\"\n\"September 21st 2015, 02:56:34.720\",,\"8,123\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.236.125.37\"\n\"September 21st 2015, 02:56:22.087\",,\"4,131\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"174.32.230.63\"\n\"September 21st 2015, 02:56:18.043\",,\"2,168\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.86.132.152\"\n\"September 21st 2015, 02:55:48.408\",,\"2,986\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.223.87.67\"\n\"September 21st 2015, 02:55:20.851\",,\"9,043\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.172.111.30\"\n\"September 21st 2015, 02:54:02.133\",,\"6,332\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.109.145.217\"\n\"September 21st 2015, 02:54:01.215\",,\"3,732\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.147.43.175\"\n\"September 21st 2015, 02:53:52.869\",,\"7,894\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.82.228.233\"\n\"September 21st 2015, 02:53:12.500\",,\"8,897\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.165.237.200\"\n\"September 21st 2015, 02:52:49.845\",,\"4,853\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.108.3.2\"\n\"September 21st 2015, 02:52:48.217\",,\"17,563\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.177.132.244\"\n\"September 21st 2015, 02:52:29.446\",,\"3,792\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"14.128.128.34\"\n\"September 21st 2015, 02:52:21.522\",,\"3,469\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"12.200.161.41\"\n\"September 21st 2015, 02:51:36.842\",,\"4,052\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.11.189.233\"\n\"September 21st 2015, 02:51:35.618\",,\"7,223\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.123.33.106\"\n\"September 21st 2015, 02:51:25.238\",,\"9,805\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.205.146.206\"\n\"September 21st 2015, 02:50:28.845\",,\"6,645\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"86.193.157.89\"\n\"September 21st 2015, 02:49:37.243\",,\"7,342\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.106.29.25\"\n\"September 21st 2015, 02:49:36.722\",,\"9,284\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.20.91.73\"\n\"September 21st 2015, 02:49:26.535\",,\"5,609\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"37.59.172.226\"\n\"September 21st 2015, 02:49:14.904\",,\"2,852\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.129.217.122\"\n\"September 21st 2015, 02:48:27.400\",,\"5,831\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.247.158.26\"\n\"September 21st 2015, 02:47:28.609\",,\"6,630\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.61.106.118\"\n\"September 21st 2015, 02:46:53.044\",,\"5,750\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.111.249.239\"\n\"September 21st 2015, 02:46:22.234\",,\"6,751\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.242.177.192\"\n\"September 21st 2015, 02:46:08.618\",,\"6,954\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.195.18.133\"\n\"September 21st 2015, 02:45:54.390\",,\"8,076\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"211.106.232.51\"\n\"September 21st 2015, 02:45:03.880\",,\"3,280\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"79.76.124.169\"\n\"September 21st 2015, 02:45:02.600\",,\"8,048\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.126.43.84\"\n\"September 21st 2015, 02:43:50.999\",,\"8,774\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.80.208.225\"\n\"September 21st 2015, 02:43:45.906\",,\"5,261\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"96.222.137.213\"\n\"September 21st 2015, 02:43:30.562\",,\"6,033\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.205.178.33\"\n\"September 21st 2015, 02:42:42.148\",,\"3,092\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.55.175.148\"\n\"September 21st 2015, 02:42:12.494\",,\"3,433\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.231.132.106\"\n\"September 21st 2015, 02:40:04.149\",,\"8,794\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"169.247.113.252\"\n\"September 21st 2015, 02:39:32.793\",,\"5,409\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"32.146.206.24\"\n\"September 21st 2015, 02:39:25.866\",,\"6,297\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.89.73.11\"\n\"September 21st 2015, 02:39:15.001\",,\"2,109\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.172.19.77\"\n\"September 21st 2015, 02:38:47.012\",,\"4,245\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"124.187.220.168\"\n\"September 21st 2015, 02:38:26.735\",,\"1,530\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.11.66.39\"\n\"September 21st 2015, 02:38:07.223\",,\"4,601\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"109.25.18.216\"\n\"September 21st 2015, 02:38:01.534\",,\"3,853\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.198.170.210\"\n\"September 21st 2015, 02:37:57.445\",,\"5,100\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.237.64.228\"\n\"September 21st 2015, 02:37:31.476\",,\"9,496\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.120.60.102\"\n\"September 21st 2015, 02:37:02.439\",,\"2,433\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.51.178.50\"\n\"September 21st 2015, 02:36:17.877\",,\"6,000\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"193.164.192.47\"\n\"September 21st 2015, 02:35:53.857\",,\"9,120\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.219.151.88\"\n\"September 21st 2015, 02:35:30.432\",,\"2,355\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.156.52.180\"\n\"September 21st 2015, 02:35:08.603\",,\"5,778\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.254.194.69\"\n\"September 21st 2015, 02:34:29.631\",,\"5,277\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.161.172.168\"\n\"September 21st 2015, 02:34:08.023\",,\"9,646\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"24.78.153.162\"\n\"September 21st 2015, 02:33:44.365\",,\"1,681\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.160.62.179\"\n\"September 21st 2015, 02:32:44.992\",,\"3,848\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"178.57.229.103\"\n\"September 21st 2015, 02:32:21.655\",,\"4,304\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.142.140.200\"\n\"September 21st 2015, 02:31:49.112\",,\"8,969\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.2.26.42\"\n\"September 21st 2015, 02:31:20.134\",,\"3,796\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.171.34.42\"\n\"September 21st 2015, 02:29:23.044\",,\"2,414\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.134.216.218\"\n\"September 21st 2015, 02:28:21.599\",,\"1,584\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.151.155.50\"\n\"September 21st 2015, 02:28:16.443\",,\"9,569\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"122.129.36.56\"\n\"September 21st 2015, 02:27:57.029\",,\"9,369\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.122.34.237\"\n\"September 21st 2015, 02:27:56.690\",,\"2,568\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.27.102.199\"\n\"September 21st 2015, 02:27:35.597\",,\"9,610\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"60.231.227.7\"\n\"September 21st 2015, 02:27:30.726\",,\"3,664\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"216.115.81.216\"\n\"September 21st 2015, 02:27:05.968\",,\"5,791\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.58.247.117\"\n\"September 21st 2015, 02:26:37.155\",,\"9,099\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"159.136.76.65\"\n\"September 21st 2015, 02:26:14.037\",,\"2,933\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.159.75.84\"\n\"September 21st 2015, 02:26:09.273\",,\"5,710\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"105.82.36.95\"\n\"September 21st 2015, 02:25:42.867\",,\"6,864\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.88.57.13\"\n\"September 21st 2015, 02:25:38.654\",,\"7,099\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.123.55.136\"\n\"September 21st 2015, 02:25:23.860\",,\"7,209\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"45.138.192.138\"\n\"September 21st 2015, 02:24:43.765\",,\"5,258\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"14.54.226.211\"\n\"September 21st 2015, 02:24:24.604\",,\"1,972\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"168.174.35.186\"\n\"September 21st 2015, 02:24:04.075\",,\"5,443\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.206.61.6\"\n\"September 21st 2015, 02:23:17.324\",,\"9,079\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"244.172.153.74\"\n\"September 21st 2015, 02:21:56.614\",,\"2,210\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.139.58.171\"\n\"September 21st 2015, 02:21:56.326\",,\"8,233\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.219.72.105\"\n\"September 21st 2015, 02:20:26.394\",,\"6,814\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"65.135.134.42\"\n\"September 21st 2015, 02:20:04.647\",,\"2,805\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.163.133.47\"\n\"September 21st 2015, 02:20:04.197\",,\"7,493\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.165.237.200\"\n\"September 21st 2015, 02:19:54.363\",,\"6,867\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"7.176.253.57\"\n\"September 21st 2015, 02:19:47.257\",,\"9,014\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.237.227.233\"\n\"September 21st 2015, 02:19:24.919\",,\"1,610\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.206.227.106\"\n\"September 21st 2015, 02:19:19.339\",,\"4,285\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"24.202.52.232\"\n\"September 21st 2015, 02:19:01.698\",,\"16,944\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.242.177.192\"\n\"September 21st 2015, 02:17:00.687\",,\"8,540\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.97.64.146\"\n\"September 21st 2015, 02:16:54.080\",,\"3,814\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.236.240.166\"\n\"September 21st 2015, 02:16:47.694\",,\"3,169\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.195.208.118\"\n\"September 21st 2015, 02:16:25.133\",,\"8,238\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"50.202.67.216\"\n\"September 21st 2015, 02:16:08.911\",,\"11,004\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.55.175.148\"\n\"September 21st 2015, 02:14:59.472\",,\"9,838\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.112.81.106\"\n\"September 21st 2015, 02:14:09.697\",,\"2,804\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"92.96.51.231\"\n\"September 21st 2015, 02:13:58.991\",,\"8,390\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"134.47.243.34\"\n\"September 21st 2015, 02:13:34.216\",,\"6,095\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"76.120.12.168\"\n\"September 21st 2015, 02:13:10.219\",,\"2,568\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"127.63.221.223\"\n\"September 21st 2015, 02:13:06.347\",,\"2,325\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.112.222.13\"\n\"September 21st 2015, 02:13:02.161\",,\"3,770\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.7.129.34\"\n\"September 21st 2015, 02:11:37.977\",,\"7,933\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.220.227.11\"\n\"September 21st 2015, 02:11:05.754\",,\"2,685\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"63.219.233.187\"\n\"September 21st 2015, 02:10:58.670\",,\"7,480\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.75.54.137\"\n\"September 21st 2015, 02:10:50.759\",,\"3,326\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"134.47.243.34\"\n\"September 21st 2015, 02:09:38.987\",,\"6,653\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"109.136.109.115\"\n\"September 21st 2015, 02:09:20.045\",,\"3,182\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.113.62.183\"\n\"September 21st 2015, 02:08:56.992\",,\"4,091\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.215.211.142\"\n\"September 21st 2015, 02:08:43.115\",,\"7,585\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.172.111.30\"\n\"September 21st 2015, 02:08:03.109\",,\"2,202\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"36.185.52.71\"\n\"September 21st 2015, 02:07:34.763\",,\"1,611\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.0.98.104\"\n\"September 21st 2015, 02:07:12.031\",,\"4,096\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.45.143.98\"\n\"September 21st 2015, 02:06:33.238\",,\"5,261\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.119.119.38\"\n\"September 21st 2015, 02:06:06.911\",,\"13,941\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"60.109.112.85\"\n\"September 21st 2015, 02:05:52.221\",,\"2,587\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.68.146.97\"\n\"September 21st 2015, 02:05:37.233\",,\"7,380\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.219.151.88\"\n\"September 21st 2015, 02:05:27.923\",,\"6,328\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"163.123.136.118\"\n\"September 21st 2015, 02:05:19.990\",,\"4,940\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.114.204.184\"\n\"September 21st 2015, 02:05:14.381\",,\"15,726\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.83.92.252\"\n\"September 21st 2015, 02:05:10.293\",,\"8,787\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.111.6.101\"\n\"September 21st 2015, 02:05:01.078\",,\"3,396\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.53.110.116\"\n\"September 21st 2015, 02:04:49.043\",,\"4,258\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.252.219.9\"\n\"September 21st 2015, 02:04:44.004\",,\"6,835\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"193.164.192.47\"\n\"September 21st 2015, 02:04:15.541\",,\"11,900\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"91.10.173.138\"\n\"September 21st 2015, 02:03:52.296\",,\"7,537\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"104.87.105.86\"\n\"September 21st 2015, 02:03:08.259\",,\"1,993\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"196.97.127.109\"\n\"September 21st 2015, 02:03:07.851\",,\"4,707\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"79.37.60.109\"\n\"September 21st 2015, 02:02:41.100\",,\"12,817\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.3.32.15\"\n\"September 21st 2015, 02:02:21.359\",,\"7,051\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.239.0.38\"\n\"September 21st 2015, 02:02:00.731\",,\"8,532\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.83.17.193\"\n\"September 21st 2015, 02:00:20.061\",,\"16,422\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.107.74.6\"\n\"September 21st 2015, 02:00:02.726\",,\"2,893\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"168.174.35.186\"\n\"September 21st 2015, 02:00:01.611\",,\"1,611\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.242.177.192\"\n\"September 21st 2015, 01:59:33.872\",,\"8,157\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.79.142.15\"\n\"September 21st 2015, 01:58:23.293\",,\"4,066\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.120.103.28\"\n\"September 21st 2015, 01:58:22.132\",,\"6,645\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.185.234.193\"\n\"September 21st 2015, 01:58:10.626\",,\"8,604\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.192.52.3\"\n\"September 21st 2015, 01:58:01.664\",,\"5,657\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.185.234.193\"\n\"September 21st 2015, 01:58:00.942\",,\"7,665\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.89.186.2\"\n\"September 21st 2015, 01:57:52.430\",,\"13,729\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"203.206.8.45\"\n\"September 21st 2015, 01:57:41.455\",,\"2,850\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"181.41.228.240\"\n\"September 21st 2015, 01:57:35.910\",,\"9,909\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.182.209.84\"\n\"September 21st 2015, 01:57:33.430\",,\"9,212\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.157.227.112\"\n\"September 21st 2015, 01:56:57.134\",,\"3,808\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.205.146.206\"\n\"September 21st 2015, 01:55:55.017\",,\"8,732\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"162.218.161.231\"\n\"September 21st 2015, 01:55:45.892\",,\"7,030\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"2.7.11.95\"\n\"September 21st 2015, 01:55:36.088\",,\"7,656\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"247.189.13.239\"\n\"September 21st 2015, 01:55:09.420\",,\"6,408\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.34.86.255\"\n\"September 21st 2015, 01:55:02.673\",,\"8,847\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.70.170.56\"\n\"September 21st 2015, 01:54:37.928\",,\"3,032\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.203.229.1\"\n\"September 21st 2015, 01:54:05.185\",,\"6,939\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.45.70.116\"\n\"September 21st 2015, 01:53:55.335\",,\"6,612\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.22.23.73\"\n\"September 21st 2015, 01:53:34.649\",,\"7,308\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.70.170.56\"\n\"September 21st 2015, 01:52:36.759\",,\"3,661\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"221.228.246.126\"\n\"September 21st 2015, 01:52:31.422\",,\"8,001\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"13.38.168.2\"\n\"September 21st 2015, 01:52:12.680\",,\"5,904\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.59.191.54\"\n\"September 21st 2015, 01:51:45.632\",,\"3,387\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.99.243.183\"\n\"September 21st 2015, 01:51:14.481\",,\"2,971\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"1.17.21.12\"\n\"September 21st 2015, 01:50:40.350\",,\"8,347\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.38.139.107\"\n\"September 21st 2015, 01:49:52.365\",,\"6,968\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.53.120.159\"\n\"September 21st 2015, 01:49:50.244\",,\"8,263\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.83.96.39\"\n\"September 21st 2015, 01:49:50.180\",,\"17,851\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.61.182.136\"\n\"September 21st 2015, 01:49:33.704\",,\"4,932\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.126.43.84\"\n\"September 21st 2015, 01:49:32.975\",,\"7,589\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"196.97.127.109\"\n\"September 21st 2015, 01:49:19.510\",,\"6,355\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.225.40.190\"\n\"September 21st 2015, 01:48:49.739\",,\"8,198\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"50.202.67.216\"\n\"September 21st 2015, 01:47:36.454\",,\"5,020\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.180.70.74\"\n\"September 21st 2015, 01:47:34.741\",,\"3,904\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"218.226.100.31\"\n\"September 21st 2015, 01:47:30.107\",,\"1,508\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"166.25.218.240\"\n\"September 21st 2015, 01:46:46.559\",,\"6,849\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.53.120.159\"\n\"September 21st 2015, 01:46:14.997\",,\"5,404\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.225.141.240\"\n\"September 21st 2015, 01:46:13.594\",,\"9,934\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.158.217.196\"\n\"September 21st 2015, 01:45:54.845\",,\"2,551\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"22.58.158.234\"\n\"September 21st 2015, 01:45:49.533\",,\"5,092\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.200.4.172\"\n\"September 21st 2015, 01:45:01.587\",,\"5,412\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.190.101.72\"\n\"September 21st 2015, 01:44:52.370\",,\"9,966\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.191.87.129\"\n\"September 21st 2015, 01:42:54.501\",,\"8,976\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"178.104.96.40\"\n\"September 21st 2015, 01:42:32.693\",,\"2,883\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.156.46.205\"\n\"September 21st 2015, 01:42:08.843\",,\"4,395\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.6.126.193\"\n\"September 21st 2015, 01:41:36.387\",,\"7,441\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.129.36.56\"\n\"September 21st 2015, 01:41:31.076\",,\"15,070\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.47.75.195\"\n\"September 21st 2015, 01:39:56.293\",,\"2,511\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.1.142.144\"\n\"September 21st 2015, 01:38:46.830\",,\"3,095\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.228.214.218\"\n\"September 21st 2015, 01:37:56.326\",,\"7,433\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.149.85.183\"\n\"September 21st 2015, 01:37:14.868\",,\"8,769\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"154.79.180.7\"\n\"September 21st 2015, 01:36:50.914\",,\"6,031\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.44.243.247\"\n\"September 21st 2015, 01:36:00.717\",,\"8,379\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"197.222.12.184\"\n\"September 21st 2015, 01:34:55.061\",,\"3,171\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.194.157.171\"\n\"September 21st 2015, 01:34:22.914\",,\"3,394\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.247.113.252\"\n\"September 21st 2015, 01:34:01.767\",,\"8,832\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"168.174.35.186\"\n\"September 21st 2015, 01:33:49.090\",,\"2,413\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"61.174.151.11\"\n\"September 21st 2015, 01:33:33.086\",,\"9,934\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.216.169.176\"\n\"September 21st 2015, 01:33:12.633\",,\"7,645\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.242.153.99\"\n\"September 21st 2015, 01:31:57.252\",,\"7,498\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.203.229.229\"\n\"September 21st 2015, 01:31:54.921\",,\"9,356\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.108.3.2\"\n\"September 21st 2015, 01:29:39.146\",,\"3,345\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.142.235.222\"\n\"September 21st 2015, 01:29:33.613\",,\"2,679\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.208.48.188\"\n\"September 21st 2015, 01:29:28.556\",,\"9,699\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"47.167.142.250\"\n\"September 21st 2015, 01:29:25.860\",,\"8,009\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"231.224.4.183\"\n\"September 21st 2015, 01:29:01.280\",,\"8,254\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.4.152.176\"\n\"September 21st 2015, 01:27:05.301\",,\"3,040\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.171.208.139\"\n\"September 21st 2015, 01:25:05.119\",,\"2,685\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.214.104.239\"\n\"September 21st 2015, 01:23:34.435\",,\"5,863\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"184.101.186.240\"\n\"September 21st 2015, 01:23:24.369\",,\"3,031\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"50.26.210.216\"\n\"September 21st 2015, 01:23:09.760\",,\"6,990\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.150.146.102\"\n\"September 21st 2015, 01:22:42.137\",,\"8,097\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.49.130.46\"\n\"September 21st 2015, 01:22:33.349\",,\"1,731\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"84.205.43.205\"\n\"September 21st 2015, 01:20:03.242\",,\"4,077\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.182.209.84\"\n\"September 21st 2015, 01:19:30.810\",,\"16,719\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"197.222.12.184\"\n\"September 21st 2015, 01:18:21.410\",,\"8,773\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"157.136.137.24\"\n\"September 21st 2015, 01:18:05.969\",,\"9,539\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.220.227.11\"\n\"September 21st 2015, 01:17:45.043\",,\"5,443\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.172.28.222\"\n\"September 21st 2015, 01:17:33.764\",,\"4,023\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.242.204.223\"\n\"September 21st 2015, 01:17:15.642\",,\"4,858\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.254.91.215\"\n\"September 21st 2015, 01:17:04.859\",,\"5,402\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.6.99.158\"\n\"September 21st 2015, 01:16:57.016\",,\"9,940\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.195.18.133\"\n\"September 21st 2015, 01:16:51.237\",,\"6,394\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"101.43.176.190\"\n\"September 21st 2015, 01:15:54.063\",,\"13,750\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.25.112.43\"\n\"September 21st 2015, 01:15:29.428\",,\"8,001\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"157.136.137.24\"\n\"September 21st 2015, 01:15:06.067\",,\"4,052\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"54.172.121.192\"\n\"September 21st 2015, 01:14:51.527\",,\"3,894\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.191.52.177\"\n\"September 21st 2015, 01:14:31.004\",,\"3,787\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"118.163.20.44\"\n\"September 21st 2015, 01:14:01.191\",,\"4,796\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.188.250.196\"\n\"September 21st 2015, 01:13:08.472\",,\"1,748\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.62.159.102\"\n\"September 21st 2015, 01:13:07.118\",,\"6,950\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.126.255.31\"\n\"September 21st 2015, 01:12:59.470\",,\"5,550\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.75.33.146\"\n\"September 21st 2015, 01:11:08.010\",,\"5,300\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"164.185.40.249\"\n\"September 21st 2015, 01:11:04.376\",,\"8,570\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.37.151.239\"\n\"September 21st 2015, 01:10:40.482\",,\"8,292\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"83.29.100.213\"\n\"September 21st 2015, 01:10:22.338\",,\"4,910\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.85.77.216\"\n\"September 21st 2015, 01:10:16.830\",,\"5,481\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.150.146.102\"\n\"September 21st 2015, 01:09:52.227\",,\"16,224\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"61.174.151.11\"\n\"September 21st 2015, 01:09:49.648\",,\"3,541\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"101.145.158.45\"\n\"September 21st 2015, 01:07:11.881\",,\"5,871\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"1.59.159.138\"\n\"September 21st 2015, 01:06:15.814\",,\"4,651\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.17.130.204\"\n\"September 21st 2015, 01:05:36.976\",,\"7,301\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.253.222.16\"\n\"September 21st 2015, 01:05:34.776\",,\"10,379\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.255.16.81\"\n\"September 21st 2015, 01:05:30.127\",,\"3,355\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"165.24.164.93\"\n\"September 21st 2015, 01:03:22.729\",,\"9,537\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.112.222.13\"\n\"September 21st 2015, 01:01:32.339\",,\"18,295\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.133.22.163\"\n\"September 21st 2015, 01:01:10.633\",,\"8,695\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.219.151.88\"\n\"September 21st 2015, 00:58:53.340\",,\"6,541\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"4.125.116.118\"\n\"September 21st 2015, 00:58:48.832\",,\"8,318\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"131.102.224.216\"\n\"September 21st 2015, 00:58:19.448\",,\"4,893\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.158.217.196\"\n\"September 21st 2015, 00:57:50.933\",,\"6,052\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"146.228.193.188\"\n\"September 21st 2015, 00:56:49.333\",,\"5,560\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.151.84.213\"\n\"September 21st 2015, 00:55:13.893\",,\"3,629\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"223.68.146.97\"\n\"September 21st 2015, 00:35:54.537\",,\"3,840\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.62.90.237\"\n\"September 21st 2015, 00:35:14.918\",,\"4,556\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"136.122.153.94\"\n\"September 21st 2015, 00:35:01.606\",,\"8,085\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"218.248.177.77\"\n\"September 21st 2015, 00:34:09.086\",,\"9,486\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"149.138.21.252\"\n\"September 21st 2015, 00:33:38.565\",,\"8,525\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.99.243.183\"\n\"September 21st 2015, 00:33:24.737\",,\"4,768\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.239.0.38\"\n\"September 21st 2015, 00:32:47.536\",,\"9,723\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.170.135.63\"\n\"September 21st 2015, 00:31:54.752\",,\"6,570\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.230.105.32\"\n\"September 21st 2015, 00:30:54.362\",,\"5,841\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"139.104.238.37\"\n\"September 21st 2015, 00:29:41.369\",,\"6,534\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.92.205.231\"\n\"September 21st 2015, 00:29:32.450\",,\"4,178\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.75.33.146\"\n\"September 21st 2015, 00:29:22.903\",,\"6,512\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"75.201.93.111\"\n\"September 21st 2015, 00:28:53.659\",,\"1,962\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.205.46.255\"\n\"September 21st 2015, 00:28:40.691\",,\"1,883\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.68.9.40\"\n\"September 21st 2015, 00:28:08.697\",,\"7,146\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"12.200.161.41\"\n\"September 21st 2015, 00:28:00.521\",,\"7,056\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.158.217.196\"\n\"September 21st 2015, 00:27:40.775\",,\"7,842\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"13.61.197.86\"\n\"September 21st 2015, 00:27:22.118\",,\"2,852\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.83.17.193\"\n\"September 21st 2015, 00:27:13.697\",,\"2,609\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"58.190.216.56\"\n\"September 21st 2015, 00:27:09.932\",,\"4,995\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.204.236.159\"\n\"September 21st 2015, 00:24:34.943\",,\"14,336\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"91.10.173.138\"\n\"September 21st 2015, 00:23:00.776\",,\"5,773\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.111.6.73\"\n\"September 21st 2015, 00:22:21.258\",,\"3,407\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.85.53.125\"\n\"September 21st 2015, 00:22:00.654\",,\"7,435\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.0.188.251\"\n\"September 21st 2015, 00:21:56.225\",,\"2,648\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.165.226.140\"\n\"September 21st 2015, 00:21:34.446\",,\"4,504\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.197.178.155\"\n\"September 21st 2015, 00:20:51.715\",,\"4,906\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"48.242.153.99\"\n\"September 21st 2015, 00:19:58.195\",,\"3,803\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.204.236.159\"\n\"September 21st 2015, 00:19:55.151\",,\"3,425\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.19.155.203\"\n\"September 21st 2015, 00:19:23.785\",,\"8,016\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.205.146.206\"\n\"September 21st 2015, 00:17:57.312\",,\"8,001\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.216.169.176\"\n\"September 21st 2015, 00:16:08.032\",,\"8,406\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"13.38.168.2\"\n\"September 21st 2015, 00:10:18.077\",,\"7,756\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"144.135.123.19\"\n\"September 21st 2015, 00:10:12.959\",,\"7,293\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"247.149.109.96\"\n\"September 21st 2015, 00:09:12.321\",,\"6,765\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"143.81.107.227\"\n\"September 21st 2015, 00:08:39.759\",,\"14,059\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.6.99.158\"\n\"September 21st 2015, 00:07:04.650\",,\"4,835\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.188.1.153\"\n\"September 21st 2015, 00:06:04.372\",,\"1,551\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"185.148.221.121\"\n\"September 21st 2015, 00:05:32.031\",,\"3,619\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.117.173.67\"\n\"September 20th 2015, 23:59:55.640\",,\"7,907\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.111.115.206\"\n\"September 20th 2015, 23:59:52.006\",,\"1,717\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.242.177.192\"\n\"September 20th 2015, 23:56:38.549\",,\"8,143\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.195.111.241\"\n\"September 20th 2015, 23:53:30.821\",,\"15,110\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"128.169.152.213\"\n\"September 20th 2015, 23:52:01.360\",,\"2,120\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"122.71.171.141\"\n\"September 20th 2015, 23:51:33.904\",,\"5,323\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.225.141.240\"\n\"September 20th 2015, 23:50:11.937\",,\"8,042\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.59.172.226\"\n\"September 20th 2015, 23:49:03.001\",,\"1,794\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"143.81.107.227\"\n\"September 20th 2015, 23:48:23.802\",,\"3,629\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.120.60.102\"\n\"September 20th 2015, 23:47:41.942\",,\"7,021\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.242.204.223\"\n\"September 20th 2015, 23:46:06.209\",,\"6,387\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"124.187.220.168\"\n\"September 20th 2015, 23:46:03.344\",,\"2,543\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"208.147.159.107\"\n\"September 20th 2015, 23:44:19.412\",,\"9,782\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.133.180.245\"\n\"September 20th 2015, 23:41:43.705\",,\"6,373\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.216.205.112\"\n\"September 20th 2015, 23:40:01.645\",,\"2,949\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"254.75.96.91\"\n\"September 20th 2015, 23:39:16.161\",,\"7,468\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.105.183.164\"\n\"September 20th 2015, 23:38:57.004\",,\"9,872\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.29.90.185\"\n\"September 20th 2015, 23:38:38.736\",,\"8,136\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.224.131.67\"\n\"September 20th 2015, 23:38:07.565\",,\"1,932\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"31.38.33.47\"\n\"September 20th 2015, 23:31:04.514\",,\"6,440\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"19.166.42.220\"\n\"September 20th 2015, 23:30:20.494\",,\"8,770\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.122.121.230\"\n\"September 20th 2015, 23:23:43.614\",,\"7,087\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.3.10.81\"\n\"September 20th 2015, 23:21:12.715\",,\"2,170\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.114.14.197\"\n\"September 20th 2015, 23:17:43.253\",,\"3,735\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"146.86.123.109\"\n\"September 20th 2015, 23:13:25.248\",,\"6,667\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"195.62.0.145\"\n\"September 20th 2015, 23:11:19.990\",,\"8,330\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.83.76.140\"\n\"September 20th 2015, 23:04:41.635\",,\"6,147\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.47.243.34\"\n\"September 20th 2015, 23:04:08.730\",,\"1,862\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"117.112.55.75\"\n\"September 20th 2015, 23:02:26.388\",,\"4,573\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.223.164.21\"\n\"September 20th 2015, 23:02:02.697\",,\"2,046\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.34.109.191\"\n\"September 20th 2015, 23:01:17.690\",,\"6,542\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.232.128.91\"\n\"September 20th 2015, 22:59:46.251\",,\"3,499\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"210.210.88.232\"\n\"September 20th 2015, 22:54:47.500\",,\"3,248\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.230.105.32\"\n\"September 20th 2015, 22:51:52.489\",,\"2,514\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"85.85.86.52\"\n\"September 20th 2015, 22:49:38.528\",,\"2,449\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.243.115.83\"\n\"September 20th 2015, 22:49:16.947\",,\"8,490\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.132.195.31\"\n\"September 20th 2015, 22:45:59.636\",,\"8,976\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"113.43.75.122\"\n\"September 20th 2015, 22:43:53.875\",,\"4,183\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.100.178.89\"\n\"September 20th 2015, 22:41:41.885\",,\"1,522\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"141.30.231.202\"\n\"September 20th 2015, 22:41:24.429\",,\"2,597\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.122.34.237\"\n\"September 20th 2015, 22:37:07.371\",,\"8,453\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.46.85.146\"\n\"September 20th 2015, 22:37:02.329\",,\"5,396\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"219.33.16.83\"\n\"September 20th 2015, 22:34:26.311\",,\"3,257\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"102.191.15.62\"\n\"September 20th 2015, 22:27:45.396\",,\"2,323\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.120.146.16\"\n\"September 20th 2015, 22:24:51.389\",,\"4,878\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.225.101.206\"\n\"September 20th 2015, 22:21:10.129\",,\"12,097\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"178.122.0.0\"\n\"September 20th 2015, 22:13:59.195\",,\"2,590\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.149.85.183\"\n\"September 20th 2015, 22:05:39.458\",,\"4,092\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"225.222.13.93\"\n\"September 20th 2015, 21:59:12.248\",,\"5,489\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"70.211.225.125\"\n\"September 20th 2015, 21:55:32.632\",,\"8,538\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"185.39.79.51\"\n\"September 20th 2015, 21:54:28.904\",,\"7,036\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"224.183.190.156\"\n\"September 20th 2015, 21:49:37.769\",,\"4,787\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.22.226.5\"\n\"September 20th 2015, 21:47:53.420\",,\"8,443\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.244.25.107\"\n\"September 20th 2015, 21:44:44.662\",,\"7,053\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"157.56.54.126\"\n\"September 20th 2015, 21:44:36.582\",,\"5,318\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.105.204.4\"\n\"September 20th 2015, 21:43:59.445\",,\"8,589\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"132.242.0.119\"\n\"September 20th 2015, 21:25:01.847\",,\"1,501\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"188.225.40.190\"\n\"September 20th 2015, 21:22:49.946\",,\"7,792\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.93.29.126\"\n\"September 20th 2015, 21:03:40.157\",,\"9,828\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.115.221.35\"\n\"September 20th 2015, 21:00:17.311\",,\"6,856\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.188.141.95\"\n\"September 20th 2015, 20:57:58.869\",,\"4,728\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"120.101.20.104\"\n\"September 20th 2015, 20:54:07.854\",,\"8,768\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"81.191.227.104\"\n\"September 20th 2015, 20:15:49.934\",,\"2,279\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.26.51.188\"\n\"September 20th 2015, 20:00:00.000\",,\"7,440\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"255.56.89.50\"\n\"September 20th 2015, 20:00:00.000\",,\"8,587\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.148.228.141\"\n\"September 20th 2015, 20:00:00.000\",,\"5,530\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"52.49.164.228\"\n\"September 20th 2015, 20:00:00.000\",,\"6,084\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.63.51.8\"\n\"September 20th 2015, 20:00:00.000\",,\"9,718\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.106.229.151\"\n\"September 20th 2015, 19:58:06.782\",,\"5,929\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.13.113.3\"\n\"September 20th 2015, 19:13:09.500\",,\"9,242\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"35.88.165.183\"\n\"September 20th 2015, 19:06:08.543\",,\"9,034\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"219.32.94.10\"\n\"September 20th 2015, 19:04:48.010\",,\"9,563\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.119.119.38\"\n\"September 20th 2015, 18:56:22.035\",,\"3,435\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.59.225.31\"\n\"September 20th 2015, 18:17:57.757\",,\"2,452\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.151.97.227\"\n\"September 20th 2015, 18:13:00.830\",,\"8,910\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"146.86.123.109\"\n\"September 20th 2015, 17:57:03.415\",,\"2,163\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.163.20.44\"\n\"September 20th 2015, 17:55:41.431\",,\"5,632\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.105.235.122\"\n\"September 20th 2015, 17:55:23.981\",,\"16,062\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.51.178.50\"\n\"September 20th 2015, 17:54:47.631\",,\"6,979\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.92.235.117\"\n\"September 20th 2015, 17:53:55.842\",,\"9,185\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.143.125.181\"\n\"September 20th 2015, 17:47:26.199\",,\"7,479\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.230.105.32\"\n\"September 20th 2015, 17:46:50.501\",,\"16,442\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.98.200.29\"\n\"September 20th 2015, 17:42:36.124\",,\"9,249\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"197.49.80.127\"\n\"September 20th 2015, 17:40:25.467\",,\"5,034\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"74.214.76.90\"\n\"September 20th 2015, 17:34:44.317\",,\"8,736\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.128.7.74\"\n\"September 20th 2015, 17:33:20.400\",,\"8,005\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.107.74.6\"\n\"September 20th 2015, 17:32:05.800\",,\"7,600\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.57.253.60\"\n\"September 20th 2015, 17:29:42.267\",,\"6,504\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.219.151.88\"\n\"September 20th 2015, 17:27:34.367\",,\"4,348\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"247.189.13.239\"\n\"September 20th 2015, 17:24:47.782\",,\"6,053\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.22.23.73\"\n\"September 20th 2015, 17:17:27.601\",,\"8,943\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.79.158.95\"\n\"September 20th 2015, 17:16:28.439\",,\"3,443\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.79.151.78\"\n\"September 20th 2015, 17:15:58.750\",,\"7,894\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"72.173.69.119\"\n\"September 20th 2015, 17:12:57.506\",,\"5,377\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"210.210.88.232\"\n\"September 20th 2015, 17:12:00.532\",,\"7,060\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"115.207.4.201\"\n\"September 20th 2015, 17:08:23.565\",,\"3,969\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"204.58.247.117\"\n\"September 20th 2015, 16:58:47.210\",,\"7,706\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"189.125.84.30\"\n\"September 20th 2015, 16:56:19.166\",,\"4,802\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.58.145.175\"\n\"September 20th 2015, 16:49:47.764\",,\"1,898\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.173.85.47\"\n\"September 20th 2015, 16:46:53.715\",,\"4,159\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.120.103.28\"\n\"September 20th 2015, 16:45:58.155\",,\"11,111\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.144.90.74\"\n\"September 20th 2015, 16:44:51.550\",,\"6,499\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.82.3.150\"\n\"September 20th 2015, 16:44:03.230\",,\"5,566\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.105.165.220\"\n\"September 20th 2015, 16:42:10.381\",,\"6,545\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"22.7.121.157\"\n\"September 20th 2015, 16:41:47.524\",,\"3,003\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.77.18.142\"\n\"September 20th 2015, 16:36:08.636\",,\"7,743\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.191.52.177\"\n\"September 20th 2015, 16:29:38.421\",,\"6,020\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.74.144.217\"\n\"September 20th 2015, 16:28:15.206\",,\"6,835\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.65.30.133\"\n\"September 20th 2015, 16:23:08.094\",,\"4,837\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.220.3.248\"\n\"September 20th 2015, 16:22:46.229\",,\"6,270\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"10.192.39.62\"\n\"September 20th 2015, 16:22:08.055\",,\"9,387\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"10.192.39.62\"\n\"September 20th 2015, 16:21:16.571\",,\"4,577\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.138.21.252\"\n\"September 20th 2015, 16:19:33.465\",,\"3,070\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.59.37.77\"\n\"September 20th 2015, 16:17:45.030\",,\"3,021\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.59.37.77\"\n\"September 20th 2015, 16:16:48.588\",,\"6,468\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"153.203.1.94\"\n\"September 20th 2015, 16:15:58.091\",,\"1,654\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.68.9.40\"\n\"September 20th 2015, 16:14:21.432\",,\"9,619\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.40.103.254\"\n\"September 20th 2015, 16:13:57.232\",,\"4,106\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.242.204.223\"\n\"September 20th 2015, 16:13:01.980\",,\"2,904\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"224.240.85.118\"\n\"September 20th 2015, 16:12:41.505\",,\"2,633\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.105.100.214\"\n\"September 20th 2015, 16:10:15.760\",,\"4,012\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"32.146.206.24\"\n\"September 20th 2015, 16:09:14.506\",,\"9,588\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.225.101.206\"\n\"September 20th 2015, 16:09:01.786\",,\"2,470\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.205.178.33\"\n\"September 20th 2015, 16:08:11.736\",,\"3,637\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.177.125.196\"\n\"September 20th 2015, 16:06:37.728\",,\"9,098\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.191.218.38\"\n\"September 20th 2015, 16:06:07.370\",,\"5,580\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"203.118.132.112\"\n\"September 20th 2015, 16:05:55.967\",,\"8,590\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"174.196.54.80\"\n\"September 20th 2015, 16:04:08.841\",,\"1,935\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.56.222.3\"\n\"September 20th 2015, 16:01:04.562\",,\"8,848\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"81.186.187.11\"\n\"September 20th 2015, 15:59:16.613\",,\"2,102\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.126.255.31\"\n\"September 20th 2015, 15:59:13.766\",,\"6,812\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"197.222.12.184\"\n\"September 20th 2015, 15:59:01.330\",,\"9,130\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.215.43.26\"\n\"September 20th 2015, 15:58:48.939\",,\"6,068\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.188.141.95\"\n\"September 20th 2015, 15:53:43.116\",,\"4,185\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"164.185.40.249\"\n\"September 20th 2015, 15:52:54.401\",,\"9,444\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.199.255.8\"\n\"September 20th 2015, 15:52:50.299\",,\"8,050\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"59.184.160.105\"\n\"September 20th 2015, 15:52:49.972\",,\"6,255\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.115.221.35\"\n\"September 20th 2015, 15:52:28.976\",,\"9,971\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.29.90.185\"\n\"September 20th 2015, 15:51:06.931\",,\"2,076\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.115.77.46\"\n\"September 20th 2015, 15:50:58.458\",,\"3,209\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"74.101.37.80\"\n\"September 20th 2015, 15:50:08.799\",,\"3,942\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.172.119.148\"\n\"September 20th 2015, 15:49:05.899\",,\"8,089\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.227.195.13\"\n\"September 20th 2015, 15:48:06.992\",,\"7,959\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"113.35.23.20\"\n\"September 20th 2015, 15:45:49.239\",,\"7,776\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"117.112.55.75\"\n\"September 20th 2015, 15:45:41.958\",,\"9,284\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.236.240.166\"\n\"September 20th 2015, 15:45:25.881\",,\"1,763\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.172.111.30\"\n\"September 20th 2015, 15:44:58.471\",,\"9,478\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"92.153.81.10\"\n\"September 20th 2015, 15:43:17.140\",,\"3,771\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.34.86.255\"\n\"September 20th 2015, 15:42:37.900\",,\"4,943\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.148.228.141\"\n\"September 20th 2015, 15:41:47.024\",,\"1,758\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.93.29.126\"\n\"September 20th 2015, 15:41:30.998\",,\"3,049\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.40.103.254\"\n\"September 20th 2015, 15:41:17.293\",,\"2,260\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.195.26.33\"\n\"September 20th 2015, 15:40:13.254\",,\"3,078\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"52.200.4.172\"\n\"September 20th 2015, 15:37:46.893\",,\"5,574\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"29.139.45.110\"\n\"September 20th 2015, 15:37:44.681\",,\"8,304\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"187.33.177.173\"\n\"September 20th 2015, 15:37:41.251\",,\"8,522\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.207.16.29\"\n\"September 20th 2015, 15:36:02.986\",,\"7,480\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.151.155.50\"\n\"September 20th 2015, 15:34:11.244\",,\"7,806\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.120.103.28\"\n\"September 20th 2015, 15:32:21.959\",,\"7,823\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"2.229.49.222\"\n\"September 20th 2015, 15:29:43.926\",,\"6,300\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.157.227.112\"\n\"September 20th 2015, 15:28:48.439\",,\"9,939\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.206.227.106\"\n\"September 20th 2015, 15:28:39.326\",,\"2,133\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"186.123.19.234\"\n\"September 20th 2015, 15:27:54.706\",,\"8,975\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.55.195.184\"\n\"September 20th 2015, 15:25:45.381\",,\"9,743\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"36.160.226.203\"\n\"September 20th 2015, 15:24:38.595\",,\"3,950\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"12.255.88.79\"\n\"September 20th 2015, 15:05:32.789\",,\"5,427\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.201.208.162\"\n\"September 20th 2015, 15:05:17.074\",,\"8,813\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.7.129.34\"\n\"September 20th 2015, 15:04:28.168\",,\"8,079\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.53.50.20\"\n\"September 20th 2015, 15:04:25.962\",,\"1,114\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.4.99.92\"\n\"September 20th 2015, 15:03:34.542\",,\"11,742\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.222.137.213\"\n\"September 20th 2015, 15:03:31.976\",,\"9,513\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.3.10.81\"\n\"September 20th 2015, 15:02:51.573\",,\"9,690\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.141.233.13\"\n\"September 20th 2015, 15:02:37.849\",,\"4,112\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.177.240.217\"\n\"September 20th 2015, 15:02:30.253\",,\"8,477\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"66.194.157.171\"\n\"September 20th 2015, 15:01:02.634\",,\"7,106\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"109.136.109.115\"\n\"September 20th 2015, 15:01:01.435\",,\"3,201\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"165.24.164.93\"\n\"September 20th 2015, 14:59:44.315\",,\"6,423\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.64.147.41\"\n\"September 20th 2015, 14:59:32.275\",,\"5,271\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.249.93.77\"\n\"September 20th 2015, 14:59:01.383\",,\"2,762\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.81.157.252\"\n\"September 20th 2015, 14:57:22.336\",,\"5,266\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"161.35.49.227\"\n\"September 20th 2015, 14:56:50.858\",,\"7,253\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"121.158.36.114\"\n\"September 20th 2015, 14:56:50.281\",,\"6,476\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.13.115.149\"\n\"September 20th 2015, 14:56:21.901\",,\"1,617\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.99.166.92\"\n\"September 20th 2015, 14:56:18.202\",,\"3,104\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.59.172.226\"\n\"September 20th 2015, 14:55:51.200\",,\"8,664\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"84.77.230.73\"\n\"September 20th 2015, 14:54:32.491\",,\"4,500\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.94.120.10\"\n\"September 20th 2015, 14:51:17.743\",,\"7,519\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.165.93.2\"\n\"September 20th 2015, 14:51:01.714\",,\"7,532\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.150.212.12\"\n\"September 20th 2015, 14:49:46.553\",,\"6,658\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.140.171.133\"\n\"September 20th 2015, 14:49:35.473\",,\"4,705\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.195.26.33\"\n\"September 20th 2015, 14:48:33.155\",,\"3,871\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"167.165.89.8\"\n\"September 20th 2015, 14:47:50.200\",,\"1,850\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.57.170.220\"\n\"September 20th 2015, 14:46:52.671\",,\"6,272\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.84.111.185\"\n\"September 20th 2015, 14:46:23.952\",,\"3,705\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"197.150.233.60\"\n\"September 20th 2015, 14:46:11.166\",,\"4,695\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.247.158.26\"\n\"September 20th 2015, 14:44:45.034\",,\"6,157\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.156.46.205\"\n\"September 20th 2015, 14:44:11.970\",,\"6,880\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.209.80.244\"\n\"September 20th 2015, 14:43:59.581\",,\"4,386\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"115.207.4.201\"\n\"September 20th 2015, 14:42:14.840\",,\"4,857\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.141.35.68\"\n\"September 20th 2015, 14:41:44.022\",,\"3,017\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.27.68.62\"\n\"September 20th 2015, 14:41:06.109\",,\"7,844\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.242.177.192\"\n\"September 20th 2015, 14:40:37.663\",,\"8,453\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"239.84.248.187\"\n\"September 20th 2015, 14:40:28.529\",,\"8,649\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.111.249.239\"\n\"September 20th 2015, 14:39:58.464\",,\"5,204\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"24.78.153.162\"\n\"September 20th 2015, 14:39:50.315\",,\"2,105\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"225.209.251.160\"\n\"September 20th 2015, 14:39:38.313\",,\"4,990\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.161.247.172\"\n\"September 20th 2015, 14:39:25.596\",,\"8,127\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.143.189.70\"\n\"September 20th 2015, 14:38:47.210\",,\"7,546\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.245.252.224\"\n\"September 20th 2015, 14:38:30.511\",,\"9,294\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"146.228.193.188\"\n\"September 20th 2015, 14:38:17.834\",,\"6,743\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.141.35.68\"\n\"September 20th 2015, 14:37:23.726\",,\"6,232\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"109.136.109.115\"\n\"September 20th 2015, 14:36:09.311\",,\"6,836\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.3.115.126\"\n\"September 20th 2015, 14:35:21.347\",,\"7,772\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"159.137.252.66\"\n\"September 20th 2015, 14:34:56.917\",,\"2,521\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.149.151.88\"\n\"September 20th 2015, 14:34:50.732\",,\"1,617\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.206.231.233\"\n\"September 20th 2015, 14:33:54.103\",,\"9,391\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.2.26.42\"\n\"September 20th 2015, 14:32:59.604\",,\"2,597\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.23.191.85\"\n\"September 20th 2015, 14:32:49.086\",,\"8,891\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.150.67.234\"\n\"September 20th 2015, 14:32:30.641\",,\"1,804\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.87.234.213\"\n\"September 20th 2015, 14:31:43.711\",,\"2,706\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.62.159.102\"\n\"September 20th 2015, 14:29:34.819\",,\"4,980\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.183.234.114\"\n\"September 20th 2015, 14:28:08.767\",,\"7,509\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.156.219.144\"\n\"September 20th 2015, 14:28:02.614\",,\"4,267\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"197.150.233.60\"\n\"September 20th 2015, 14:27:27.497\",,\"3,473\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.254.96.42\"\n\"September 20th 2015, 14:26:55.781\",,\"3,442\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.84.238.1\"\n\"September 20th 2015, 14:26:43.485\",,\"3,582\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.53.120.159\"\n\"September 20th 2015, 14:26:41.677\",,\"3,184\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.107.74.6\"\n\"September 20th 2015, 14:26:25.078\",,\"5,010\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"52.49.164.228\"\n\"September 20th 2015, 14:25:38.940\",,\"1,668\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"68.107.5.226\"\n\"September 20th 2015, 14:25:32.515\",,\"2,060\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.53.110.116\"\n\"September 20th 2015, 14:23:05.343\",,\"7,821\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.37.253.193\"\n\"September 20th 2015, 14:22:27.139\",,\"4,892\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.13.115.149\"\n\"September 20th 2015, 14:21:38.602\",,\"5,988\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.1.142.144\"\n\"September 20th 2015, 14:21:37.914\",,\"3,747\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.125.131.162\"\n\"September 20th 2015, 14:21:05.004\",,\"2,468\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"86.168.21.69\"\n\"September 20th 2015, 14:20:11.151\",,\"8,075\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.93.219.234\"\n\"September 20th 2015, 14:18:27.680\",,\"4,564\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.2.26.42\"\n\"September 20th 2015, 14:18:00.721\",,\"7,164\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"113.35.23.20\"\n\"September 20th 2015, 14:17:00.387\",,\"8,231\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.65.30.133\"\n\"September 20th 2015, 14:16:08.320\",,\"5,778\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"171.243.18.67\"\n\"September 20th 2015, 14:15:45.785\",,\"5,659\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.255.142.177\"\n\"September 20th 2015, 14:14:23.115\",,\"4,313\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.223.87.67\"\n\"September 20th 2015, 14:14:19.766\",,\"4,996\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"207.218.166.105\"\n\"September 20th 2015, 14:13:22.058\",,\"4,165\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"106.181.249.244\"\n\"September 20th 2015, 14:13:16.759\",,\"2,527\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.105.183.164\"\n\"September 20th 2015, 14:13:15.592\",,\"6,981\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.105.183.164\"\n\"September 20th 2015, 14:09:22.030\",,\"1,543\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"3.174.21.181\"\n\"September 20th 2015, 14:09:09.412\",,\"9,955\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.55.141.62\"\n\"September 20th 2015, 14:09:05.523\",,\"2,661\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.7.164.59\"\n\"September 20th 2015, 14:08:23.027\",,\"2,563\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.79.108.136\"\n\"September 20th 2015, 14:08:21.834\",,\"9,462\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.62.86.139\"\n\"September 20th 2015, 14:07:52.534\",,\"8,226\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"16.148.135.166\"\n\"September 20th 2015, 14:07:04.037\",,\"3,558\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.46.176.132\"\n\"September 20th 2015, 14:06:51.796\",,\"7,824\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.169.199.220\"\n\"September 20th 2015, 14:06:01.817\",,\"5,306\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"54.172.121.192\"\n\"September 20th 2015, 14:05:12.206\",,\"9,696\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.192.185.168\"\n\"September 20th 2015, 14:05:09.458\",,\"5,281\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"31.245.21.115\"\n\"September 20th 2015, 14:05:01.926\",,\"3,444\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.252.112.76\"\n\"September 20th 2015, 14:04:46.492\",,\"1,534\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.92.89.101\"\n\"September 20th 2015, 14:03:30.714\",,\"10,927\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"198.174.196.110\"\n\"September 20th 2015, 14:03:18.576\",,\"3,087\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"227.83.52.239\"\n\"September 20th 2015, 14:02:57.377\",,\"9,434\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.98.69.166\"\n\"September 20th 2015, 14:01:51.836\",,\"3,155\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"36.185.52.71\"\n\"September 20th 2015, 14:00:48.633\",,\"3,787\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.84.248.187\"\n\"September 20th 2015, 14:00:15.429\",,\"8,388\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"234.206.115.94\"\n\"September 20th 2015, 13:59:43.847\",,\"4,341\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.80.208.225\"\n\"September 20th 2015, 13:58:25.217\",,\"8,278\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.12.132.188\"\n\"September 20th 2015, 13:57:34.617\",,\"5,439\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"14.61.182.136\"\n\"September 20th 2015, 13:57:15.101\",,\"6,608\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"61.174.151.11\"\n\"September 20th 2015, 13:56:52.824\",,\"3,079\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.68.89.92\"\n\"September 20th 2015, 13:56:46.727\",,\"2,492\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.127.51.83\"\n\"September 20th 2015, 13:56:10.264\",,\"3,194\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"81.191.227.104\"\n\"September 20th 2015, 13:55:47.259\",,\"17,703\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"13.193.146.83\"\n\"September 20th 2015, 13:55:20.498\",,\"2,703\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"7.179.148.96\"\n\"September 20th 2015, 13:54:47.484\",,\"8,224\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.249.43.5\"\n\"September 20th 2015, 13:54:26.336\",,\"2,737\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"94.154.194.208\"\n\"September 20th 2015, 13:53:58.849\",,\"9,349\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.13.115.149\"\n\"September 20th 2015, 13:53:57.909\",,\"7,354\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"146.229.88.89\"\n\"September 20th 2015, 13:53:30.504\",,\"5,263\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"131.102.224.216\"\n\"September 20th 2015, 13:53:20.192\",,\"3,416\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"13.38.168.2\"\n\"September 20th 2015, 13:53:19.949\",,\"4,499\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"214.125.131.162\"\n\"September 20th 2015, 13:51:47.446\",,\"7,568\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"177.194.175.66\"\n\"September 20th 2015, 13:51:28.533\",,\"2,140\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.168.126.221\"\n\"September 20th 2015, 13:50:20.745\",,\"7,900\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.201.32.254\"\n\"September 20th 2015, 13:50:14.599\",,\"6,023\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.63.63.137\"\n\"September 20th 2015, 13:50:04.264\",,\"7,399\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"6.70.186.143\"\n\"September 20th 2015, 13:49:59.596\",,\"6,532\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"211.106.232.51\"\n\"September 20th 2015, 13:48:20.664\",,\"8,147\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.244.25.107\"\n\"September 20th 2015, 13:47:46.141\",,\"9,943\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.233.238.181\"\n\"September 20th 2015, 13:47:09.242\",,\"3,317\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.27.102.199\"\n\"September 20th 2015, 13:47:02.410\",,\"7,741\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"127.63.221.223\"\n\"September 20th 2015, 13:46:57.076\",,\"8,644\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.34.187.225\"\n\"September 20th 2015, 13:46:23.330\",,\"5,568\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.86.49.192\"\n\"September 20th 2015, 13:46:20.837\",,\"8,934\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.108.133.125\"\n\"September 20th 2015, 13:45:52.806\",,\"7,448\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"161.108.174.248\"\n\"September 20th 2015, 13:45:49.028\",,\"2,239\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.53.120.159\"\n\"September 20th 2015, 13:45:38.271\",,\"8,376\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.56.164.24\"\n\"September 20th 2015, 13:44:47.376\",,\"2,849\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.158.203.248\"\n\"September 20th 2015, 13:44:38.172\",,\"7,227\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"210.210.88.232\"\n\"September 20th 2015, 13:44:27.248\",,\"3,345\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.19.117.208\"\n\"September 20th 2015, 13:44:23.915\",,\"2,675\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.186.79.201\"\n\"September 20th 2015, 13:43:39.885\",,\"2,544\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.248.17.146\"\n\"September 20th 2015, 13:43:26.521\",,\"4,590\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.219.133.141\"\n\"September 20th 2015, 13:43:20.873\",,\"9,408\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.246.146.22\"\n\"September 20th 2015, 13:42:55.470\",,\"1,711\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.137.8.156\"\n\"September 20th 2015, 13:42:26.388\",,\"16,134\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"175.99.184.146\"\n\"September 20th 2015, 13:42:21.184\",,\"3,882\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.75.33.146\"\n\"September 20th 2015, 13:42:08.628\",,\"6,025\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"187.33.177.173\"\n\"September 20th 2015, 13:42:07.585\",,\"7,420\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.234.255.241\"\n\"September 20th 2015, 13:41:23.878\",,\"18,167\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.242.204.223\"\n\"September 20th 2015, 13:40:56.199\",,\"4,536\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.43.210.167\"\n\"September 20th 2015, 13:40:04.526\",,\"8,403\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.68.9.40\"\n\"September 20th 2015, 13:39:20.102\",,\"4,989\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"248.163.75.193\"\n\"September 20th 2015, 13:39:14.068\",,\"3,621\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.207.64.202\"\n\"September 20th 2015, 13:39:04.482\",,\"3,582\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.144.148.155\"\n\"September 20th 2015, 13:38:42.285\",,\"7,893\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"14.61.182.136\"\n\"September 20th 2015, 13:38:33.088\",,\"1,543\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"148.134.9.77\"\n\"September 20th 2015, 13:38:24.844\",,\"1,858\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.105.235.122\"\n\"September 20th 2015, 13:37:38.616\",,\"3,562\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.59.191.54\"\n\"September 20th 2015, 13:37:24.971\",,\"7,672\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"61.174.151.11\"\n\"September 20th 2015, 13:37:24.280\",,\"3,355\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"154.28.252.79\"\n\"September 20th 2015, 13:37:12.482\",,\"6,472\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"136.122.153.94\"\n\"September 20th 2015, 13:36:56.862\",,\"9,715\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.202.198.155\"\n\"September 20th 2015, 13:36:14.565\",,\"8,439\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.150.146.102\"\n\"September 20th 2015, 13:36:05.909\",,\"5,672\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.156.52.180\"\n\"September 20th 2015, 13:35:55.986\",,\"6,935\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.29.171.72\"\n\"September 20th 2015, 13:35:17.038\",,\"2,511\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"32.146.206.24\"\n\"September 20th 2015, 13:35:05.750\",,\"5,933\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.6.126.193\"\n\"September 20th 2015, 13:35:03.363\",,\"8,190\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"164.137.46.37\"\n\"September 20th 2015, 13:34:52.204\",,\"9,511\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"157.39.25.197\"\n\"September 20th 2015, 13:34:49.338\",,\"2,180\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"28.3.30.170\"\n\"September 20th 2015, 13:34:24.627\",,\"3,474\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"52.111.115.206\"\n\"September 20th 2015, 13:34:09.228\",,\"6,605\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"143.81.107.227\"\n\"September 20th 2015, 13:34:03.677\",,\"8,635\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"222.201.119.239\"\n\"September 20th 2015, 13:33:50.434\",,\"3,197\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.200.84.215\"\n\"September 20th 2015, 13:33:40.220\",,\"6,515\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.89.73.11\"\n\"September 20th 2015, 13:33:09.478\",,\"2,252\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"123.154.246.27\"\n\"September 20th 2015, 13:32:27.785\",,\"3,083\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.40.191.19\"\n\"September 20th 2015, 13:32:15.489\",,\"2,773\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.219.133.141\"\n\"September 20th 2015, 13:31:25.523\",,\"5,247\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.161.247.172\"\n\"September 20th 2015, 13:31:16.486\",,\"6,117\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"54.0.98.104\"\n\"September 20th 2015, 13:31:15.357\",,\"2,280\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.22.226.5\"\n\"September 20th 2015, 13:31:02.067\",,\"5,145\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.156.163.220\"\n\"September 20th 2015, 13:30:30.718\",,\"6,054\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"207.218.166.105\"\n\"September 20th 2015, 13:30:30.050\",,\"2,722\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"134.62.86.139\"\n\"September 20th 2015, 13:30:10.389\",,\"3,775\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.47.75.195\"\n\"September 20th 2015, 13:30:02.120\",,\"7,060\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.50.219.103\"\n\"September 20th 2015, 13:29:41.957\",,\"9,985\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.53.120.159\"\n\"September 20th 2015, 13:29:27.279\",,\"8,834\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"68.107.5.226\"\n\"September 20th 2015, 13:28:56.907\",,\"15,905\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.151.142.25\"\n\"September 20th 2015, 13:28:44.136\",,\"4,667\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.236.240.166\"\n\"September 20th 2015, 13:28:31.750\",,\"8,700\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.17.191.204\"\n\"September 20th 2015, 13:27:03.959\",,\"7,580\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.204.236.159\"\n\"September 20th 2015, 13:26:54.225\",,\"2,936\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"155.157.127.149\"\n\"September 20th 2015, 13:24:37.000\",,\"1,753\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.89.186.2\"\n\"September 20th 2015, 13:24:00.309\",,\"3,931\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"181.135.248.113\"\n\"September 20th 2015, 13:23:47.336\",,\"6,825\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.11.66.39\"\n\"September 20th 2015, 13:23:22.868\",,\"2,809\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.200.84.215\"\n\"September 20th 2015, 13:23:19.922\",,\"5,500\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"110.88.213.204\"\n\"September 20th 2015, 13:23:10.165\",,\"6,085\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.200.30.34\"\n\"September 20th 2015, 13:23:08.230\",,\"4,594\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.214.104.239\"\n\"September 20th 2015, 13:21:36.700\",,\"7,313\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.88.213.204\"\n\"September 20th 2015, 13:21:31.872\",,\"1,451\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.97.175.115\"\n\"September 20th 2015, 13:20:47.165\",,\"9,263\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.151.84.213\"\n\"September 20th 2015, 13:20:19.084\",,\"3,201\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.2.62.18\"\n\"September 20th 2015, 13:19:36.292\",,\"8,821\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.196.54.80\"\n\"September 20th 2015, 13:19:16.887\",,\"8,254\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.59.225.31\"\n\"September 20th 2015, 13:18:54.853\",,\"4,416\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"71.169.104.184\"\n\"September 20th 2015, 13:18:52.422\",,\"4,591\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"127.63.221.223\"\n\"September 20th 2015, 13:18:35.155\",,\"8,639\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"24.186.122.118\"\n\"September 20th 2015, 13:18:18.137\",,\"7,164\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"141.42.174.116\"\n\"September 20th 2015, 13:18:15.592\",,\"4,391\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.141.52.142\"\n\"September 20th 2015, 13:17:30.264\",,\"3,772\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"2.203.112.183\"\n\"September 20th 2015, 13:17:15.462\",,\"4,881\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.194.113.132\"\n\"September 20th 2015, 13:17:09.106\",,\"6,033\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.103.135.183\"\n\"September 20th 2015, 13:17:06.407\",,\"2,005\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.169.199.220\"\n\"September 20th 2015, 13:16:46.018\",,\"2,332\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.53.96.88\"\n\"September 20th 2015, 13:16:44.958\",,\"7,303\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.133.22.163\"\n\"September 20th 2015, 13:16:25.081\",,\"9,634\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.50.219.103\"\n\"September 20th 2015, 13:16:09.434\",,\"5,328\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.42.218.145\"\n\"September 20th 2015, 13:15:48.512\",,\"1,755\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.79.108.136\"\n\"September 20th 2015, 13:15:16.591\",,\"5,642\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.77.18.142\"\n\"September 20th 2015, 13:14:51.565\",,\"9,672\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"31.196.214.182\"\n\"September 20th 2015, 13:14:20.006\",,\"4,490\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.28.123.34\"\n\"September 20th 2015, 13:14:18.027\",,\"7,990\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.222.56.247\"\n\"September 20th 2015, 13:13:48.901\",,\"4,021\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.236.3.119\"\n\"September 20th 2015, 13:13:39.629\",,\"6,580\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.105.183.164\"\n\"September 20th 2015, 13:12:35.360\",,\"5,148\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"32.146.206.24\"\n\"September 20th 2015, 13:11:41.196\",,\"6,294\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"219.32.94.10\"\n\"September 20th 2015, 13:11:22.519\",,\"5,444\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.133.22.163\"\n\"September 20th 2015, 13:10:50.452\",,\"9,136\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.70.170.56\"\n\"September 20th 2015, 13:10:01.697\",,\"18,941\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"118.163.20.44\"\n\"September 20th 2015, 13:09:57.448\",,\"3,418\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.45.143.98\"\n\"September 20th 2015, 13:09:29.921\",,\"9,438\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.217.241.90\"\n\"September 20th 2015, 13:09:12.301\",,\"6,866\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"183.177.240.217\"\n\"September 20th 2015, 13:09:04.281\",,\"5,660\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.165.93.2\"\n\"September 20th 2015, 13:08:30.609\",,\"8,688\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.63.242.217\"\n\"September 20th 2015, 13:07:10.293\",,\"8,472\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"94.218.243.2\"\n\"September 20th 2015, 13:07:07.682\",,\"6,430\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.43.124.118\"\n\"September 20th 2015, 13:06:18.390\",,\"7,876\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"254.75.96.91\"\n\"September 20th 2015, 13:06:15.621\",,\"7,619\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"229.58.145.175\"\n\"September 20th 2015, 13:05:53.047\",,\"3,131\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.53.96.88\"\n\"September 20th 2015, 13:05:47.482\",,\"2,157\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"116.171.234.62\"\n\"September 20th 2015, 13:05:34.602\",,\"6,943\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"31.38.33.47\"\n\"September 20th 2015, 13:05:29.912\",,\"5,089\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"50.46.74.105\"\n\"September 20th 2015, 13:04:39.330\",,\"1,930\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.151.84.213\"\n\"September 20th 2015, 13:04:37.525\",,\"4,603\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"173.233.118.214\"\n\"September 20th 2015, 13:04:23.425\",,\"8,770\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.149.151.88\"\n\"September 20th 2015, 13:03:55.251\",,\"3,238\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"102.191.15.62\"\n\"September 20th 2015, 13:03:37.152\",,\"4,275\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.155.226.58\"\n\"September 20th 2015, 13:03:21.969\",,\"9,062\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.206.117.161\"\n\"September 20th 2015, 13:02:11.733\",,\"5,843\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"106.217.103.105\"\n\"September 20th 2015, 13:01:51.434\",,\"13,248\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"104.87.105.86\"\n\"September 20th 2015, 13:01:40.337\",,\"3,666\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"185.39.79.51\"\n\"September 20th 2015, 13:01:11.001\",,\"3,209\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"75.201.93.111\"\n\"September 20th 2015, 13:00:46.550\",,\"2,146\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"188.53.50.20\"\n\"September 20th 2015, 13:00:45.156\",,\"6,909\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"204.17.159.23\"\n\"September 20th 2015, 13:00:11.502\",,\"5,605\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"195.76.3.10\"\n\"September 20th 2015, 13:00:03.854\",,\"3,344\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.255.46.138\"\n\"September 20th 2015, 12:59:20.205\",,\"6,078\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.13.115.149\"\n\"September 20th 2015, 12:58:24.012\",,\"12,708\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.41.209.99\"\n\"September 20th 2015, 12:58:15.238\",,\"5,381\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.208.223.252\"\n\"September 20th 2015, 12:57:35.788\",,\"9,763\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.58.158.234\"\n\"September 20th 2015, 12:56:51.022\",,\"9,989\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"106.181.249.244\"\n\"September 20th 2015, 12:55:54.970\",,\"19,017\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.92.205.231\"\n\"September 20th 2015, 12:55:44.627\",,\"7,710\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"180.65.205.98\"\n\"September 20th 2015, 12:54:09.932\",,\"9,816\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.135.88.86\"\n\"September 20th 2015, 12:53:27.164\",,\"7,618\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.234.255.241\"\n\"September 20th 2015, 12:53:20.743\",,\"4,879\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.24.204.40\"\n\"September 20th 2015, 12:53:17.163\",,\"6,842\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.11.74.125\"\n\"September 20th 2015, 12:53:10.284\",,\"2,028\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"189.34.180.209\"\n\"September 20th 2015, 12:52:58.274\",,\"7,551\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"255.58.31.9\"\n\"September 20th 2015, 12:52:51.741\",,\"9,363\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.100.178.89\"\n\"September 20th 2015, 12:52:43.596\",,\"6,427\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.247.113.252\"\n\"September 20th 2015, 12:52:36.906\",,\"7,797\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.99.243.183\"\n\"September 20th 2015, 12:52:09.331\",,\"8,190\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.40.191.19\"\n\"September 20th 2015, 12:51:54.997\",,\"4,584\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"234.206.115.94\"\n\"September 20th 2015, 12:51:53.981\",,\"2,445\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"45.138.192.138\"\n\"September 20th 2015, 12:51:19.557\",,\"4,177\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"127.63.221.223\"\n\"September 20th 2015, 12:50:54.688\",,\"6,601\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.170.135.63\"\n\"September 20th 2015, 12:50:14.064\",,\"6,140\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"104.142.243.97\"\n\"September 20th 2015, 12:49:57.745\",,\"5,803\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"59.184.160.105\"\n\"September 20th 2015, 12:49:53.534\",,\"1,837\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"31.196.214.182\"\n\"September 20th 2015, 12:49:50.787\",,\"11,938\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.142.94.147\"\n\"September 20th 2015, 12:49:46.779\",,\"6,456\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.89.186.2\"\n\"September 20th 2015, 12:49:04.738\",,\"6,044\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.165.93.2\"\n\"September 20th 2015, 12:49:01.531\",,\"17,856\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.37.253.193\"\n\"September 20th 2015, 12:48:38.120\",,\"7,286\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"87.66.62.130\"\n\"September 20th 2015, 12:48:33.881\",,\"5,983\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"63.212.173.15\"\n\"September 20th 2015, 12:47:55.136\",,\"3,057\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"159.137.252.66\"\n\"September 20th 2015, 12:47:24.494\",,\"6,649\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"79.37.60.109\"\n\"September 20th 2015, 12:46:40.834\",,\"4,368\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.59.37.77\"\n\"September 20th 2015, 12:46:28.641\",,\"7,451\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.192.52.3\"\n\"September 20th 2015, 12:46:02.325\",,\"2,906\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.93.29.126\"\n\"September 20th 2015, 12:46:00.623\",,\"6,668\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.186.79.201\"\n\"September 20th 2015, 12:45:49.897\",,\"9,699\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.49.130.46\"\n\"September 20th 2015, 12:45:35.217\",,\"2,867\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"239.190.189.77\"\n\"September 20th 2015, 12:45:32.761\",,\"7,612\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"91.127.213.244\"\n\"September 20th 2015, 12:45:24.052\",,\"9,706\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.39.144.87\"\n\"September 20th 2015, 12:45:22.548\",,\"9,356\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.79.189.11\"\n\"September 20th 2015, 12:45:00.480\",,\"9,678\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"65.135.134.42\"\n\"September 20th 2015, 12:44:59.999\",,\"1,760\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.137.8.156\"\n\"September 20th 2015, 12:44:56.277\",,\"6,382\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"217.25.8.4\"\n\"September 20th 2015, 12:44:28.822\",,\"8,111\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"219.33.16.83\"\n\"September 20th 2015, 12:44:07.138\",,\"6,834\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.83.92.252\"\n\"September 20th 2015, 12:43:57.146\",,\"7,515\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"92.153.81.10\"\n\"September 20th 2015, 12:43:45.937\",,\"7,671\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.94.120.10\"\n\"September 20th 2015, 12:43:15.881\",,\"6,149\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.105.119.197\"\n\"September 20th 2015, 12:42:51.786\",,\"3,981\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.89.186.2\"\n\"September 20th 2015, 12:42:50.645\",,\"5,179\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.163.20.44\"\n\"September 20th 2015, 12:42:46.439\",,\"6,705\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.255.68.154\"\n\"September 20th 2015, 12:42:45.523\",,\"6,846\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"251.246.146.22\"\n\"September 20th 2015, 12:42:31.933\",,\"9,227\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"166.25.218.240\"\n\"September 20th 2015, 12:42:29.132\",,\"4,141\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"120.99.203.64\"\n\"September 20th 2015, 12:42:25.866\",,\"4,310\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.108.50.221\"\n\"September 20th 2015, 12:42:12.902\",,\"2,362\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.7.129.34\"\n\"September 20th 2015, 12:42:11.643\",,\"4,575\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"247.129.16.191\"\n\"September 20th 2015, 12:41:43.283\",,\"16,140\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.149.151.88\"\n\"September 20th 2015, 12:41:38.658\",,\"8,063\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.58.133.108\"\n\"September 20th 2015, 12:41:34.291\",,\"13,668\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"61.174.151.11\"\n\"September 20th 2015, 12:41:33.849\",,\"1,799\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"211.0.102.190\"\n\"September 20th 2015, 12:41:29.075\",,\"8,801\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"68.41.209.99\"\n\"September 20th 2015, 12:40:41.948\",,\"4,016\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.203.229.229\"\n\"September 20th 2015, 12:40:04.223\",,\"7,858\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.94.120.10\"\n\"September 20th 2015, 12:40:03.159\",,\"6,538\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"109.25.18.216\"\n\"September 20th 2015, 12:39:30.505\",,\"1,827\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"74.214.76.90\"\n\"September 20th 2015, 12:39:27.343\",,\"8,682\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"244.15.131.137\"\n\"September 20th 2015, 12:38:59.679\",,\"5,185\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"250.44.130.70\"\n\"September 20th 2015, 12:38:41.359\",,\"12,485\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"82.40.137.38\"\n\"September 20th 2015, 12:38:40.322\",,\"3,830\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.42.144.78\"\n\"September 20th 2015, 12:38:27.921\",,\"4,675\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.123.33.106\"\n\"September 20th 2015, 12:38:11.253\",,\"6,904\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.167.142.250\"\n\"September 20th 2015, 12:38:08.845\",,\"7,766\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.255.46.138\"\n\"September 20th 2015, 12:38:04.156\",,\"9,480\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"203.239.228.151\"\n\"September 20th 2015, 12:38:04.152\",,\"5,940\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"1.17.21.12\"\n\"September 20th 2015, 12:37:53.669\",,\"4,710\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.186.152.28\"\n\"September 20th 2015, 12:37:42.745\",,\"7,827\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.128.210.67\"\n\"September 20th 2015, 12:37:40.236\",,\"4,996\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"215.239.0.38\"\n\"September 20th 2015, 12:37:18.737\",,\"1,858\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"212.134.81.148\"\n\"September 20th 2015, 12:37:00.004\",,\"7,049\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.52.178.194\"\n\"September 20th 2015, 12:36:52.948\",,\"9,332\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.62.43.103\"\n\"September 20th 2015, 12:36:19.132\",,\"4,523\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.186.152.28\"\n\"September 20th 2015, 12:36:07.216\",,\"6,273\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.205.178.33\"\n\"September 20th 2015, 12:36:00.918\",,\"7,721\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.59.225.31\"\n\"September 20th 2015, 12:35:59.739\",,\"4,018\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.81.157.252\"\n\"September 20th 2015, 12:35:57.560\",,\"7,133\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"84.77.230.73\"\n\"September 20th 2015, 12:35:45.646\",,\"4,467\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"7.176.253.57\"\n\"September 20th 2015, 12:35:38.083\",,\"9,451\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.83.52.239\"\n\"September 20th 2015, 12:34:52.351\",,\"5,513\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"167.26.56.145\"\n\"September 20th 2015, 12:34:47.766\",,\"7,502\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"141.30.231.202\"\n\"September 20th 2015, 12:34:07.697\",,\"3,197\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.143.20.221\"\n\"September 20th 2015, 12:33:45.988\",,\"2,659\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.243.109.222\"\n\"September 20th 2015, 12:33:42.250\",,\"4,528\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.114.14.197\"\n\"September 20th 2015, 12:33:04.114\",,\"11,023\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"212.99.52.163\"\n\"September 20th 2015, 12:32:34.208\",,\"2,572\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.221.187.90\"\n\"September 20th 2015, 12:32:34.007\",,\"9,778\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.144.90.74\"\n\"September 20th 2015, 12:32:30.880\",,\"8,547\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"32.180.30.227\"\n\"September 20th 2015, 12:32:30.324\",,\"5,323\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.85.51.238\"\n\"September 20th 2015, 12:32:28.015\",,\"7,480\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.100.60.111\"\n\"September 20th 2015, 12:32:26.977\",,\"5,176\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.97.175.115\"\n\"September 20th 2015, 12:32:02.057\",,\"2,849\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"192.219.151.88\"\n\"September 20th 2015, 12:31:05.187\",,\"2,742\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"45.102.15.116\"\n\"September 20th 2015, 12:30:38.743\",,\"8,847\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"159.136.76.65\"\n\"September 20th 2015, 12:30:00.342\",,\"2,274\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.70.170.56\"\n\"September 20th 2015, 12:29:59.178\",,\"8,746\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.164.39.249\"\n\"September 20th 2015, 12:29:27.172\",,\"9,879\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"5.206.32.88\"\n\"September 20th 2015, 12:29:27.041\",,\"9,537\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"81.191.227.104\"\n\"September 20th 2015, 12:29:11.152\",,\"3,616\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.228.188.120\"\n\"September 20th 2015, 12:28:57.846\",,\"3,005\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.192.144.100\"\n\"September 20th 2015, 12:28:15.512\",,\"3,915\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"177.194.175.66\"\n\"September 20th 2015, 12:28:07.259\",,\"7,590\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"128.108.188.178\"\n\"September 20th 2015, 12:27:16.649\",,\"19,683\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.159.165.88\"\n\"September 20th 2015, 12:27:10.723\",,\"4,095\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"132.242.0.119\"\n\"September 20th 2015, 12:26:33.843\",,\"2,417\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"94.48.29.38\"\n\"September 20th 2015, 12:26:29.481\",,\"4,224\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.225.247.245\"\n\"September 20th 2015, 12:26:27.702\",,\"8,178\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.115.74.144\"\n\"September 20th 2015, 12:26:27.572\",,\"8,015\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.27.102.199\"\n\"September 20th 2015, 12:26:24.005\",,\"4,297\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"35.222.204.135\"\n\"September 20th 2015, 12:25:59.386\",,\"17,119\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.89.73.11\"\n\"September 20th 2015, 12:25:52.721\",,\"9,239\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.82.228.233\"\n\"September 20th 2015, 12:25:50.961\",,\"9,056\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.83.76.140\"\n\"September 20th 2015, 12:25:49.438\",,\"9,241\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.33.83.170\"\n\"September 20th 2015, 12:25:40.710\",,\"4,823\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.93.219.234\"\n\"September 20th 2015, 12:25:27.229\",,\"2,893\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.236.240.166\"\n\"September 20th 2015, 12:25:20.740\",,\"2,121\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.7.244.68\"\n\"September 20th 2015, 12:24:54.836\",,\"15,588\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.111.6.101\"\n\"September 20th 2015, 12:24:47.166\",,\"2,177\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.6.99.158\"\n\"September 20th 2015, 12:24:23.007\",,\"5,246\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.181.166.105\"\n\"September 20th 2015, 12:24:09.732\",,\"4,330\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.117.3.60\"\n\"September 20th 2015, 12:23:58.203\",,\"6,804\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.220.227.11\"\n\"September 20th 2015, 12:23:45.525\",,\"3,659\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"16.236.101.225\"\n\"September 20th 2015, 12:22:39.139\",,\"6,052\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"7.9.151.133\"\n\"September 20th 2015, 12:22:33.527\",,\"9,399\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.25.39.187\"\n\"September 20th 2015, 12:21:56.723\",,\"8,575\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.252.112.76\"\n\"September 20th 2015, 12:21:54.283\",,\"9,561\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"195.233.186.3\"\n\"September 20th 2015, 12:21:49.922\",,\"3,432\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.83.52.239\"\n\"September 20th 2015, 12:21:30.099\",,\"3,495\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.201.249.221\"\n\"September 20th 2015, 12:21:25.045\",,\"6,601\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"143.81.107.227\"\n\"September 20th 2015, 12:20:27.920\",,\"4,787\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"10.91.83.148\"\n\"September 20th 2015, 12:20:11.472\",,\"4,991\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.105.165.220\"\n\"September 20th 2015, 12:20:04.073\",,\"8,034\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.167.54.119\"\n\"September 20th 2015, 12:20:03.400\",,\"1,698\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"120.99.203.64\"\n\"September 20th 2015, 12:19:59.594\",,\"2,242\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.129.36.56\"\n\"September 20th 2015, 12:19:14.165\",,\"8,365\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.24.165.50\"\n\"September 20th 2015, 12:18:58.276\",,\"19,762\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.92.154.173\"\n\"September 20th 2015, 12:18:57.770\",,\"1,559\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"195.233.186.3\"\n\"September 20th 2015, 12:18:51.371\",,\"3,760\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.168.126.221\"\n\"September 20th 2015, 12:18:17.755\",,\"8,019\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.232.128.91\"\n\"September 20th 2015, 12:17:50.890\",,\"4,305\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.74.96.103\"\n\"September 20th 2015, 12:17:49.060\",,\"6,425\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"153.139.156.196\"\n\"September 20th 2015, 12:17:17.192\",,\"5,739\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"116.171.234.62\"\n\"September 20th 2015, 12:17:00.438\",,\"3,810\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.202.198.155\"\n\"September 20th 2015, 12:16:59.570\",,\"7,016\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.77.18.142\"\n\"September 20th 2015, 12:16:50.851\",,\"8,001\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.248.17.146\"\n\"September 20th 2015, 12:16:00.464\",,\"4,421\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.106.203.143\"\n\"September 20th 2015, 12:15:40.171\",,\"18,680\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.2.26.42\"\n\"September 20th 2015, 12:15:28.700\",,\"3,872\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.190.3.193\"\n\"September 20th 2015, 12:15:26.332\",,\"3,185\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.123.27.0\"\n\"September 20th 2015, 12:15:22.269\",,\"1,860\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.142.94.147\"\n\"September 20th 2015, 12:14:57.611\",,\"6,311\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.16.191.123\"\n\"September 20th 2015, 12:14:49.259\",,\"9,781\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"249.106.229.151\"\n\"September 20th 2015, 12:14:37.021\",,\"9,896\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"241.49.31.82\"\n\"September 20th 2015, 12:14:31.225\",,\"4,779\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.87.49.40\"\n\"September 20th 2015, 12:13:50.840\",,\"6,753\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.139.45.110\"\n\"September 20th 2015, 12:13:47.056\",,\"2,369\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"5.206.32.88\"\n\"September 20th 2015, 12:13:29.830\",,\"5,852\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"23.3.174.206\"\n\"September 20th 2015, 12:13:27.180\",,\"12,050\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"163.123.136.118\"\n\"September 20th 2015, 12:13:02.085\",,\"3,300\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"74.101.37.80\"\n\"September 20th 2015, 12:12:59.170\",,\"6,415\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.206.73.252\"\n\"September 20th 2015, 12:12:54.543\",,\"4,524\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"13.38.168.2\"\n\"September 20th 2015, 12:12:33.128\",,\"3,417\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"23.184.94.58\"\n\"September 20th 2015, 12:12:33.047\",,\"3,319\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"219.42.50.113\"\n\"September 20th 2015, 12:12:02.452\",,\"2,493\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"121.50.181.157\"\n\"September 20th 2015, 12:11:53.850\",,\"3,412\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"184.130.127.202\"\n\"September 20th 2015, 12:11:24.320\",,\"4,052\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.58.145.175\"\n\"September 20th 2015, 12:10:56.556\",,\"8,640\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.180.71.177\"\n\"September 20th 2015, 12:10:48.722\",,\"7,378\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"50.202.67.216\"\n\"September 20th 2015, 12:10:41.690\",,\"4,183\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.151.155.50\"\n\"September 20th 2015, 12:10:28.351\",,\"5,550\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.119.62.60\"\n\"September 20th 2015, 12:10:13.876\",,\"9,589\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.17.159.23\"\n\"September 20th 2015, 12:10:06.159\",,\"9,997\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.250.60.205\"\n\"September 20th 2015, 12:09:34.748\",,\"3,789\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.43.63.180\"\n\"September 20th 2015, 12:09:24.707\",,\"2,275\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.137.8.156\"\n\"September 20th 2015, 12:09:22.611\",,\"3,006\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.120.60.102\"\n\"September 20th 2015, 12:09:12.125\",,\"8,914\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"142.155.247.152\"\n\"September 20th 2015, 12:08:52.504\",,\"3,954\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.208.48.188\"\n\"September 20th 2015, 12:08:49.527\",,\"6,091\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"44.61.116.63\"\n\"September 20th 2015, 12:08:19.816\",,\"3,156\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"35.222.204.135\"\n\"September 20th 2015, 12:08:18.401\",,\"8,502\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.157.227.112\"\n\"September 20th 2015, 12:08:16.485\",,\"5,123\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.69.255.135\"\n\"September 20th 2015, 12:08:00.320\",,\"9,924\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.188.44.145\"\n\"September 20th 2015, 12:07:50.420\",,\"8,618\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"189.172.19.77\"\n\"September 20th 2015, 12:07:43.941\",,\"8,882\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"81.191.227.104\"\n\"September 20th 2015, 12:07:32.747\",,\"4,905\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.148.228.141\"\n\"September 20th 2015, 12:07:32.369\",,\"7,216\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"222.28.157.119\"\n\"September 20th 2015, 12:07:14.424\",,\"7,815\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.180.120.21\"\n\"September 20th 2015, 12:07:02.444\",,\"7,922\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.4.117.154\"\n\"September 20th 2015, 12:06:16.193\",,\"8,677\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.211.153.90\"\n\"September 20th 2015, 12:06:10.068\",,\"9,281\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.19.155.203\"\n\"September 20th 2015, 12:05:49.532\",,\"8,335\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.2.62.18\"\n\"September 20th 2015, 12:05:46.688\",,\"9,925\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.76.224.154\"\n\"September 20th 2015, 12:05:37.191\",,\"7,301\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.93.219.234\"\n\"September 20th 2015, 12:05:08.654\",,\"4,893\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"106.142.212.24\"\n\"September 20th 2015, 12:04:45.738\",,\"3,138\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.192.80.162\"\n\"September 20th 2015, 12:04:35.647\",,\"6,997\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.19.117.208\"\n\"September 20th 2015, 12:04:26.527\",,\"7,351\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.156.6.246\"\n\"September 20th 2015, 12:04:15.663\",,\"7,951\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"24.202.52.232\"\n\"September 20th 2015, 12:04:13.122\",,\"2,456\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.57.253.60\"\n\"September 20th 2015, 12:03:47.044\",,\"6,617\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"211.0.102.190\"\n\"September 20th 2015, 12:03:39.138\",,\"5,811\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.7.129.34\"\n\"September 20th 2015, 12:03:34.369\",,\"2,093\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"46.163.136.60\"\n\"September 20th 2015, 12:03:12.280\",,\"2,855\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"13.61.197.86\"\n\"September 20th 2015, 12:02:57.545\",,\"1,704\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.72.69.43\"\n\"September 20th 2015, 12:02:56.144\",,\"7,397\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.220.193.123\"\n\"September 20th 2015, 12:02:54.119\",,\"3,604\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.172.111.30\"\n\"September 20th 2015, 12:02:16.335\",,\"5,777\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"100.50.11.41\"\n\"September 20th 2015, 12:01:55.698\",,\"5,774\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.199.42.50\"\n\"September 20th 2015, 12:01:49.853\",,\"2,393\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.3.32.15\"\n\"September 20th 2015, 12:01:23.290\",,\"1,857\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"202.123.188.108\"\n\"September 20th 2015, 12:01:11.556\",,\"4,815\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.13.113.3\"\n\"September 20th 2015, 12:01:10.996\",,\"2,064\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.155.42.103\"\n\"September 20th 2015, 12:01:10.680\",,\"8,355\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.97.64.146\"\n\"September 20th 2015, 12:01:03.795\",,\"7,098\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.167.142.250\"\n\"September 20th 2015, 12:00:58.324\",,\"8,235\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"60.71.214.79\"\n\"September 20th 2015, 12:00:56.012\",,\"2,341\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"203.118.132.112\"\n\"September 20th 2015, 12:00:31.749\",,\"1,410\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.161.247.172\"\n\"September 20th 2015, 12:00:09.443\",,\"3,590\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"203.206.8.45\"\n\"September 20th 2015, 11:59:57.803\",,\"4,231\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"182.128.15.97\"\n\"September 20th 2015, 11:59:36.097\",,\"5,221\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.241.34.0\"\n\"September 20th 2015, 11:59:35.724\",,\"9,291\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.47.243.34\"\n\"September 20th 2015, 11:59:21.442\",,\"4,321\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.225.101.206\"\n\"September 20th 2015, 11:58:55.162\",,\"1,662\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.227.27.167\"\n\"September 20th 2015, 11:58:50.434\",,\"6,059\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.224.184.36\"\n\"September 20th 2015, 11:58:50.024\",,\"4,291\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.102.200.168\"\n\"September 20th 2015, 11:57:51.923\",,\"4,085\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"167.26.56.145\"\n\"September 20th 2015, 11:57:36.578\",,\"4,401\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.217.241.90\"\n\"September 20th 2015, 11:57:32.192\",,\"9,135\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"217.44.155.137\"\n\"September 20th 2015, 11:57:30.640\",,\"8,360\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.190.101.72\"\n\"September 20th 2015, 11:57:24.755\",,\"2,468\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.121.197.80\"\n\"September 20th 2015, 11:56:44.730\",,\"7,750\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.11.189.233\"\n\"September 20th 2015, 11:56:19.481\",,\"9,666\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"251.246.146.22\"\n\"September 20th 2015, 11:55:42.051\",,\"4,048\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"244.172.153.74\"\n\"September 20th 2015, 11:55:34.683\",,\"14,603\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.63.51.8\"\n\"September 20th 2015, 11:55:31.002\",,\"7,248\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.223.164.21\"\n\"September 20th 2015, 11:55:03.655\",,\"4,512\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.236.80.152\"\n\"September 20th 2015, 11:54:44.492\",,\"7,690\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"188.123.71.54\"\n\"September 20th 2015, 11:54:29.592\",,\"7,925\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"0.108.3.2\"\n\"September 20th 2015, 11:54:28.904\",,\"8,015\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.128.207.200\"\n\"September 20th 2015, 11:54:23.677\",,\"8,874\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.103.135.183\"\n\"September 20th 2015, 11:54:17.111\",,\"4,335\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.161.172.168\"\n\"September 20th 2015, 11:54:00.248\",,\"5,330\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.92.205.231\"\n\"September 20th 2015, 11:53:32.955\",,\"1,504\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.115.81.216\"\n\"September 20th 2015, 11:53:28.484\",,\"17,065\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"181.135.248.113\"\n\"September 20th 2015, 11:52:46.973\",,\"3,134\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"127.63.221.223\"\n\"September 20th 2015, 11:52:31.610\",,\"6,616\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"101.130.216.47\"\n\"September 20th 2015, 11:52:26.285\",,\"3,028\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"71.100.136.81\"\n\"September 20th 2015, 11:52:23.507\",,\"5,533\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.108.62.100\"\n\"September 20th 2015, 11:52:20.512\",,\"4,722\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"217.44.155.137\"\n\"September 20th 2015, 11:51:41.773\",,\"2,613\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.53.110.116\"\n\"September 20th 2015, 11:51:38.180\",,\"9,611\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"218.248.177.77\"\n\"September 20th 2015, 11:51:37.837\",,\"7,372\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.223.100.33\"\n\"September 20th 2015, 11:51:25.686\",,\"3,170\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.237.64.228\"\n\"September 20th 2015, 11:51:02.316\",,\"5,743\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.90.215.57\"\n\"September 20th 2015, 11:50:58.573\",,\"9,050\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.173.85.47\"\n\"September 20th 2015, 11:50:10.354\",,\"2,849\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"49.244.150.190\"\n\"September 20th 2015, 11:50:01.951\",,\"8,635\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.201.249.221\"\n\"September 20th 2015, 11:49:39.647\",,\"3,348\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"43.123.164.190\"\n\"September 20th 2015, 11:49:14.776\",,\"3,082\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"186.123.19.234\"\n\"September 20th 2015, 11:49:03.918\",,\"6,405\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.224.131.67\"\n\"September 20th 2015, 11:48:46.930\",,\"1,589\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.115.183.40\"\n\"September 20th 2015, 11:48:31.437\",,\"1,639\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.16.191.123\"\n\"September 20th 2015, 11:48:17.710\",,\"9,045\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"221.75.94.8\"\n\"September 20th 2015, 11:48:11.120\",,\"9,010\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.74.138.136\"\n\"September 20th 2015, 11:48:06.956\",,\"8,890\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"10.192.39.62\"\n\"September 20th 2015, 11:47:36.799\",,\"4,414\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"211.106.232.51\"\n\"September 20th 2015, 11:47:36.146\",,\"8,165\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"74.101.37.80\"\n\"September 20th 2015, 11:47:35.135\",,\"10,992\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.94.183.177\"\n\"September 20th 2015, 11:47:30.109\",,\"2,067\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.122.34.237\"\n\"September 20th 2015, 11:47:27.959\",,\"9,032\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.126.159.144\"\n\"September 20th 2015, 11:47:08.047\",,\"2,329\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.232.128.91\"\n\"September 20th 2015, 11:47:02.540\",,\"14,954\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"118.63.242.217\"\n\"September 20th 2015, 11:46:53.917\",,\"8,652\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.43.124.118\"\n\"September 20th 2015, 11:46:47.872\",,\"3,165\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"214.164.244.131\"\n\"September 20th 2015, 11:46:36.762\",,\"6,972\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"193.164.192.47\"\n\"September 20th 2015, 11:46:22.746\",,\"9,056\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"248.239.221.43\"\n\"September 20th 2015, 11:45:48.715\",,\"7,362\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.100.162.251\"\n\"September 20th 2015, 11:45:48.289\",,\"4,614\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"81.191.227.104\"\n\"September 20th 2015, 11:45:47.915\",,\"6,623\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"188.28.50.40\"\n\"September 20th 2015, 11:45:42.832\",,\"4,593\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"50.26.210.216\"\n\"September 20th 2015, 11:45:22.547\",,\"3,239\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"24.202.52.232\"\n\"September 20th 2015, 11:45:07.331\",,\"7,231\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"242.22.22.10\"\n\"September 20th 2015, 11:45:01.628\",,\"8,573\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"167.26.56.145\"\n\"September 20th 2015, 11:44:48.864\",,\"2,162\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.115.183.40\"\n\"September 20th 2015, 11:44:37.969\",,\"6,945\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.252.112.76\"\n\"September 20th 2015, 11:44:30.771\",,\"8,810\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.188.250.196\"\n\"September 20th 2015, 11:44:24.366\",,\"6,532\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"49.17.130.204\"\n\"September 20th 2015, 11:44:11.363\",,\"2,821\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"158.179.121.61\"\n\"September 20th 2015, 11:43:45.437\",,\"7,645\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.216.205.112\"\n\"September 20th 2015, 11:43:35.011\",,\"8,216\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"129.18.83.242\"\n\"September 20th 2015, 11:43:30.601\",,\"14,225\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.96.131.243\"\n\"September 20th 2015, 11:43:07.242\",,\"9,964\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"32.146.206.24\"\n\"September 20th 2015, 11:43:02.142\",,\"7,704\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.46.176.132\"\n\"September 20th 2015, 11:42:59.343\",,\"3,417\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.185.234.193\"\n\"September 20th 2015, 11:42:50.313\",,\"1,566\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"203.206.8.45\"\n\"September 20th 2015, 11:42:34.804\",,\"9,976\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.168.180.6\"\n\"September 20th 2015, 11:42:02.788\",,\"5,901\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"16.236.101.225\"\n\"September 20th 2015, 11:41:59.214\",,\"3,886\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.21.236.176\"\n\"September 20th 2015, 11:41:58.568\",,\"2,933\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"218.226.100.31\"\n\"September 20th 2015, 11:41:44.575\",,\"8,113\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"148.47.216.255\"\n\"September 20th 2015, 11:40:55.430\",,\"1,896\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"95.128.176.48\"\n\"September 20th 2015, 11:40:52.626\",,\"5,240\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.155.226.58\"\n\"September 20th 2015, 11:40:37.323\",,\"15,880\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.112.222.13\"\n\"September 20th 2015, 11:40:33.035\",,\"6,752\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"66.194.157.171\"\n\"September 20th 2015, 11:40:00.372\",,\"1,663\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.37.151.239\"\n\"September 20th 2015, 11:39:51.710\",,\"4,844\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"52.49.164.228\"\n\"September 20th 2015, 11:39:39.662\",,\"2,760\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"180.65.205.98\"\n\"September 20th 2015, 11:38:28.977\",,\"9,434\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.81.157.252\"\n\"September 20th 2015, 11:38:20.604\",,\"2,425\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"90.159.183.77\"\n\"September 20th 2015, 11:38:15.583\",,\"4,471\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"134.36.203.241\"\n\"September 20th 2015, 11:37:17.903\",,\"5,951\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"242.26.103.238\"\n\"September 20th 2015, 11:36:52.466\",,\"7,879\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.62.90.237\"\n\"September 20th 2015, 11:36:46.324\",,\"4,139\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.108.133.125\"\n\"September 20th 2015, 11:36:40.324\",,\"9,500\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"71.169.104.184\"\n\"September 20th 2015, 11:36:20.965\",,\"11,718\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.170.135.63\"\n\"September 20th 2015, 11:36:20.944\",,\"3,589\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.75.33.146\"\n\"September 20th 2015, 11:35:52.743\",,\"3,829\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.90.215.57\"\n\"September 20th 2015, 11:35:41.638\",,\"17,442\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.242.177.192\"\n\"September 20th 2015, 11:35:33.882\",,\"3,701\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.247.113.252\"\n\"September 20th 2015, 11:34:46.644\",,\"4,119\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.174.35.186\"\n\"September 20th 2015, 11:34:23.252\",,\"7,092\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.136.156.225\"\n\"September 20th 2015, 11:34:10.232\",,\"2,329\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.85.86.52\"\n\"September 20th 2015, 11:34:08.039\",,\"2,459\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.7.244.68\"\n\"September 20th 2015, 11:33:33.696\",,\"6,215\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.62.159.102\"\n\"September 20th 2015, 11:33:29.328\",,\"6,333\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.95.78.209\"\n\"September 20th 2015, 11:33:27.672\",,\"7,574\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"128.167.10.27\"\n\"September 20th 2015, 11:33:16.971\",,\"4,318\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"207.218.166.105\"\n\"September 20th 2015, 11:32:58.449\",,\"5,022\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.7.164.59\"\n\"September 20th 2015, 11:32:56.998\",,\"8,846\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.83.143.132\"\n\"September 20th 2015, 11:32:43.043\",,\"7,399\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.160.128.58\"\n\"September 20th 2015, 11:32:20.876\",,\"7,260\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.22.23.73\"\n\"September 20th 2015, 11:32:14.065\",,\"9,202\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.210.244.94\"\n\"September 20th 2015, 11:32:07.279\",,\"5,938\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"60.109.112.85\"\n\"September 20th 2015, 11:31:46.067\",,\"4,022\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"59.184.160.105\"\n\"September 20th 2015, 11:31:36.231\",,\"5,997\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"255.58.31.9\"\n\"September 20th 2015, 11:31:10.387\",,\"9,208\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.75.97.203\"\n\"September 20th 2015, 11:31:04.407\",,\"8,377\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"24.5.165.192\"\n\"September 20th 2015, 11:31:03.069\",,\"2,205\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"224.183.190.156\"\n\"September 20th 2015, 11:30:56.855\",,\"2,703\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"74.214.76.90\"\n\"September 20th 2015, 11:30:53.098\",,\"9,736\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"217.25.8.4\"\n\"September 20th 2015, 11:30:48.328\",,\"4,260\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"61.73.88.176\"\n\"September 20th 2015, 11:30:39.383\",,\"7,855\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.117.73.210\"\n\"September 20th 2015, 11:30:35.549\",,\"6,066\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.123.71.54\"\n\"September 20th 2015, 11:30:35.076\",,\"8,183\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.240.114.69\"\n\"September 20th 2015, 11:30:17.491\",,\"1,844\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.137.53.85\"\n\"September 20th 2015, 11:30:06.732\",,\"7,867\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"126.220.227.11\"\n\"September 20th 2015, 11:29:58.135\",,\"3,266\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"94.48.29.38\"\n\"September 20th 2015, 11:29:45.773\",,\"3,881\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"85.85.86.52\"\n\"September 20th 2015, 11:29:44.400\",,\"5,003\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"79.16.207.3\"\n\"September 20th 2015, 11:29:41.507\",,\"6,373\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"198.174.196.110\"\n\"September 20th 2015, 11:29:36.425\",,\"3,699\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"241.49.31.82\"\n\"September 20th 2015, 11:29:21.476\",,\"5,600\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"113.35.23.20\"\n\"September 20th 2015, 11:29:06.500\",,\"8,450\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.21.236.176\"\n\"September 20th 2015, 11:29:04.220\",,\"7,076\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"157.39.25.197\"\n\"September 20th 2015, 11:28:53.520\",,\"1,589\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.34.180.209\"\n\"September 20th 2015, 11:28:50.772\",,\"1,506\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"83.236.80.152\"\n\"September 20th 2015, 11:28:48.920\",,\"7,887\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.159.75.84\"\n\"September 20th 2015, 11:28:41.193\",,\"9,570\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"44.45.70.116\"\n\"September 20th 2015, 11:28:30.906\",,\"2,642\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"74.101.37.80\"\n\"September 20th 2015, 11:28:19.042\",,\"4,230\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.40.103.254\"\n\"September 20th 2015, 11:28:16.682\",,\"13,266\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"16.148.135.166\"\n\"September 20th 2015, 11:27:47.194\",,\"2,066\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"2.229.49.222\"\n\"September 20th 2015, 11:27:28.138\",,\"9,713\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.151.84.213\"\n\"September 20th 2015, 11:27:15.922\",,\"6,067\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.79.189.11\"\n\"September 20th 2015, 11:27:14.392\",,\"8,533\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.98.200.29\"\n\"September 20th 2015, 11:26:49.925\",,\"7,847\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"60.231.227.7\"\n\"September 20th 2015, 11:26:34.274\",,\"8,187\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.227.195.13\"\n\"September 20th 2015, 11:26:30.190\",,\"5,853\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"212.113.62.183\"\n\"September 20th 2015, 11:26:14.506\",,\"2,863\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.172.137.39\"\n\"September 20th 2015, 11:26:02.288\",,\"5,097\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"11.195.111.241\"\n\"September 20th 2015, 11:25:57.021\",,\"9,204\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"60.231.227.7\"\n\"September 20th 2015, 11:25:53.262\",,\"7,206\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"68.107.5.226\"\n\"September 20th 2015, 11:25:50.264\",,\"9,082\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.15.54.136\"\n\"September 20th 2015, 11:25:49.645\",,\"7,352\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.225.141.240\"\n\"September 20th 2015, 11:25:03.058\",,\"7,716\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"227.83.52.239\"\n\"September 20th 2015, 11:24:56.124\",,\"3,730\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.199.255.8\"\n\"September 20th 2015, 11:24:27.513\",,\"4,679\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"161.108.174.248\"\n\"September 20th 2015, 11:23:58.290\",,\"3,411\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.164.215.104\"\n\"September 20th 2015, 11:23:36.794\",,\"7,274\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"45.102.15.116\"\n\"September 20th 2015, 11:23:34.376\",,\"5,977\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.182.13.142\"\n\"September 20th 2015, 11:23:30.082\",,\"6,856\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.75.54.137\"\n\"September 20th 2015, 11:23:29.688\",,\"4,556\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"157.136.137.24\"\n\"September 20th 2015, 11:23:16.961\",,\"4,463\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.3.10.81\"\n\"September 20th 2015, 11:23:00.810\",,\"3,761\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.244.160.168\"\n\"September 20th 2015, 11:22:56.992\",,\"6,798\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.154.233.154\"\n\"September 20th 2015, 11:22:56.300\",,\"4,966\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.7.164.59\"\n\"September 20th 2015, 11:22:21.773\",,\"7,734\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.53.70.40\"\n\"September 20th 2015, 11:22:17.436\",,\"9,347\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"109.192.212.178\"\n\"September 20th 2015, 11:22:12.068\",,\"5,935\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"61.52.11.157\"\n\"September 20th 2015, 11:21:55.396\",,\"6,118\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"86.252.46.140\"\n\"September 20th 2015, 11:21:53.056\",,\"7,290\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.226.232.233\"\n\"September 20th 2015, 11:21:48.913\",,\"3,876\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"186.123.19.234\"\n\"September 20th 2015, 11:21:39.426\",,\"7,757\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"71.169.104.184\"\n\"September 20th 2015, 11:21:17.570\",,\"9,665\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.58.158.234\"\n\"September 20th 2015, 11:21:05.403\",,\"5,415\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"189.125.84.30\"\n\"September 20th 2015, 11:20:54.199\",,\"3,535\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"76.159.165.88\"\n\"September 20th 2015, 11:20:51.225\",,\"6,078\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"133.74.144.217\"\n\"September 20th 2015, 11:20:47.204\",,\"4,768\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"155.155.226.58\"\n\"September 20th 2015, 11:20:33.671\",,\"4,508\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"165.104.70.8\"\n\"September 20th 2015, 11:20:31.714\",,\"8,056\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.38.139.107\"\n\"September 20th 2015, 11:20:10.882\",,\"1,945\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.33.226.187\"\n\"September 20th 2015, 11:20:01.837\",,\"2,150\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"94.154.194.208\"\n\"September 20th 2015, 11:19:47.046\",,\"9,618\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.79.189.11\"\n\"September 20th 2015, 11:19:19.086\",,\"9,083\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"109.192.212.178\"\n\"September 20th 2015, 11:19:09.638\",,\"3,412\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.206.117.161\"\n\"September 20th 2015, 11:18:59.164\",,\"2,300\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.13.115.149\"\n\"September 20th 2015, 11:18:48.033\",,\"3,106\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.165.237.200\"\n\"September 20th 2015, 11:18:39.126\",,\"2,871\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"168.210.111.14\"\n\"September 20th 2015, 11:18:34.375\",,\"2,206\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"52.158.88.35\"\n\"September 20th 2015, 11:18:26.362\",,\"6,959\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.234.255.241\"\n\"September 20th 2015, 11:17:52.764\",,\"6,693\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.111.115.206\"\n\"September 20th 2015, 11:17:38.118\",,\"9,339\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.83.143.132\"\n\"September 20th 2015, 11:17:16.584\",,\"3,017\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.112.81.106\"\n\"September 20th 2015, 11:17:15.626\",,\"4,758\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"102.191.15.62\"\n\"September 20th 2015, 11:17:08.089\",,\"6,966\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"165.150.252.187\"\n\"September 20th 2015, 11:16:57.630\",,\"5,558\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.63.51.8\"\n\"September 20th 2015, 11:16:45.271\",,\"2,828\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"146.86.123.109\"\n\"September 20th 2015, 11:16:25.135\",,\"4,967\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.50.219.103\"\n\"September 20th 2015, 11:16:14.496\",,\"3,691\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.202.198.155\"\n\"September 20th 2015, 11:16:13.539\",,\"2,207\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.237.108.147\"\n\"September 20th 2015, 11:16:13.071\",,\"3,912\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"75.201.93.111\"\n\"September 20th 2015, 11:15:56.460\",,\"6,817\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"246.180.120.21\"\n\"September 20th 2015, 11:15:53.028\",,\"4,648\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"217.132.169.207\"\n\"September 20th 2015, 11:15:31.029\",,\"4,488\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.133.22.163\"\n\"September 20th 2015, 11:15:30.150\",,\"3,169\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.103.135.183\"\n\"September 20th 2015, 11:15:08.836\",,\"2,976\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.90.86.83\"\n\"September 20th 2015, 11:14:45.358\",,\"4,533\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"31.38.33.47\"\n\"September 20th 2015, 11:14:43.781\",,\"4,281\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"109.192.212.178\"\n\"September 20th 2015, 11:14:43.471\",,\"8,200\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.59.94.122\"\n\"September 20th 2015, 11:14:37.137\",,\"6,595\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"222.201.119.239\"\n\"September 20th 2015, 11:14:29.965\",,\"2,773\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"198.174.196.110\"\n\"September 20th 2015, 11:14:19.198\",,\"5,398\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"162.218.161.231\"\n\"September 20th 2015, 11:14:16.257\",,\"9,286\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"198.174.196.110\"\n\"September 20th 2015, 11:13:56.854\",,\"9,649\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.231.132.106\"\n\"September 20th 2015, 11:13:55.862\",,\"9,458\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"100.50.11.41\"\n\"September 20th 2015, 11:13:42.822\",,\"5,322\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.64.147.41\"\n\"September 20th 2015, 11:13:36.215\",,\"6,560\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"187.122.228.77\"\n\"September 20th 2015, 11:13:25.642\",,\"5,863\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.22.226.5\"\n\"September 20th 2015, 11:13:21.418\",,\"3,696\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.216.173.242\"\n\"September 20th 2015, 11:13:19.114\",,\"9,436\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.165.93.2\"\n\"September 20th 2015, 11:12:59.067\",,\"6,579\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.168.126.221\"\n\"September 20th 2015, 11:12:31.563\",,\"1,620\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"92.96.51.231\"\n\"September 20th 2015, 11:12:30.689\",,\"3,769\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.43.63.180\"\n\"September 20th 2015, 11:12:14.835\",,\"7,187\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.220.193.123\"\n\"September 20th 2015, 11:11:33.604\",,\"1,511\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"116.126.47.226\"\n\"September 20th 2015, 11:11:32.331\",,\"9,064\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"224.240.85.118\"\n\"September 20th 2015, 11:11:28.286\",,\"2,220\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.133.180.245\"\n\"September 20th 2015, 11:11:25.165\",,\"9,998\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.210.116.210\"\n\"September 20th 2015, 11:10:39.608\",,\"2,404\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.58.25.99\"\n\"September 20th 2015, 11:10:38.823\",,\"7,002\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"90.35.159.150\"\n\"September 20th 2015, 11:10:20.055\",,\"9,504\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.62.211.92\"\n\"September 20th 2015, 11:10:02.555\",,\"5,860\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"149.225.104.159\"\n\"September 20th 2015, 11:10:02.246\",,\"4,539\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.242.204.223\"\n\"September 20th 2015, 11:09:25.015\",,\"3,659\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.139.58.171\"\n\"September 20th 2015, 11:09:21.877\",,\"1,922\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.132.195.31\"\n\"September 20th 2015, 11:09:18.674\",,\"2,675\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.221.187.90\"\n\"September 20th 2015, 11:09:13.539\",,\"1,676\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.208.223.252\"\n\"September 20th 2015, 11:09:11.296\",,\"8,344\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"24.78.153.162\"\n\"September 20th 2015, 11:09:07.376\",,\"5,659\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"43.164.236.145\"\n\"September 20th 2015, 11:09:05.695\",,\"6,494\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.76.208.132\"\n\"September 20th 2015, 11:08:16.927\",,\"13,322\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.219.72.105\"\n\"September 20th 2015, 11:08:13.748\",,\"8,701\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"167.51.186.15\"\n\"September 20th 2015, 11:08:06.421\",,\"4,912\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"184.130.127.202\"\n\"September 20th 2015, 11:07:39.636\",,\"4,620\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.60.53.165\"\n\"September 20th 2015, 11:07:34.225\",,\"6,707\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.45.107.116\"\n\"September 20th 2015, 11:07:22.064\",,\"9,103\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.53.96.88\"\n\"September 20th 2015, 11:07:16.687\",,\"5,807\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"106.217.103.105\"\n\"September 20th 2015, 11:07:12.648\",,\"5,066\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.81.157.252\"\n\"September 20th 2015, 11:07:04.931\",,\"5,161\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.115.74.144\"\n\"September 20th 2015, 11:06:59.351\",,\"8,763\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.95.6.196\"\n\"September 20th 2015, 11:06:28.140\",,\"4,509\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.143.20.221\"\n\"September 20th 2015, 11:06:22.236\",,\"3,690\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.169.199.220\"\n\"September 20th 2015, 11:06:17.017\",,\"1,919\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.42.144.78\"\n\"September 20th 2015, 11:06:15.099\",,\"3,877\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.7.97.184\"\n\"September 20th 2015, 11:06:08.381\",,\"9,019\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.183.87.181\"\n\"September 20th 2015, 11:06:06.320\",,\"12,532\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.54.151.5\"\n\"September 20th 2015, 11:06:00.503\",,\"9,285\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.243.115.83\"\n\"September 20th 2015, 11:05:49.307\",,\"3,158\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"12.102.47.119\"\n\"September 20th 2015, 11:05:30.132\",,\"7,133\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.62.43.103\"\n\"September 20th 2015, 11:05:13.031\",,\"9,483\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.79.108.136\"\n\"September 20th 2015, 11:05:11.938\",,\"4,530\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"71.100.136.81\"\n\"September 20th 2015, 11:05:09.327\",,\"17,785\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.47.75.195\"\n\"September 20th 2015, 11:04:17.303\",,\"7,562\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"187.122.228.77\"\n\"September 20th 2015, 11:04:01.625\",,\"6,760\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.115.183.40\"\n\"September 20th 2015, 11:03:45.263\",,\"6,543\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.97.175.115\"\n\"September 20th 2015, 11:03:25.855\",,\"8,512\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.108.3.2\"\n\"September 20th 2015, 11:03:06.392\",,\"4,056\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.17.130.204\"\n\"September 20th 2015, 11:02:55.664\",,\"4,865\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"248.193.114.155\"\n\"September 20th 2015, 11:02:54.905\",,\"3,206\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"122.25.161.118\"\n\"September 20th 2015, 11:02:37.830\",,\"2,594\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"30.36.151.195\"\n\"September 20th 2015, 11:02:30.344\",,\"6,598\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"159.136.76.65\"\n\"September 20th 2015, 11:02:27.696\",,\"5,708\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"149.170.135.63\"\n\"September 20th 2015, 11:01:58.592\",,\"12,084\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.111.6.73\"\n\"September 20th 2015, 11:01:44.662\",,\"5,305\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"214.125.131.162\"\n\"September 20th 2015, 11:01:18.256\",,\"2,020\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"45.138.192.138\"\n\"September 20th 2015, 11:01:18.000\",,\"2,090\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"134.62.86.139\"\n\"September 20th 2015, 11:01:12.503\",,\"1,850\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.25.112.43\"\n\"September 20th 2015, 11:01:10.531\",,\"4,839\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.119.119.38\"\n\"September 20th 2015, 11:01:08.580\",,\"1,835\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.93.29.126\"\n\"September 20th 2015, 11:00:51.352\",,\"3,569\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"133.211.153.90\"\n\"September 20th 2015, 11:00:45.327\",,\"7,288\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.188.250.196\"\n\"September 20th 2015, 11:00:16.086\",,\"9,365\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"128.108.188.178\"\n\"September 20th 2015, 11:00:12.781\",,\"1,963\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"121.158.36.114\"\n\"September 20th 2015, 11:00:09.927\",,\"4,514\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.223.188.57\"\n\"September 20th 2015, 11:00:05.440\",,\"6,956\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"30.149.85.183\"\n\"September 20th 2015, 11:00:05.136\",,\"9,637\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"87.54.48.33\"\n\"September 20th 2015, 10:59:57.124\",,\"4,971\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.62.90.237\"\n\"September 20th 2015, 10:59:53.611\",,\"13,823\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"146.18.252.5\"\n\"September 20th 2015, 10:59:48.654\",,\"4,997\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"173.237.216.175\"\n\"September 20th 2015, 10:59:42.377\",,\"6,550\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.236.80.152\"\n\"September 20th 2015, 10:59:22.123\",,\"9,909\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.147.159.107\"\n\"September 20th 2015, 10:59:22.089\",,\"8,430\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.85.53.125\"\n\"September 20th 2015, 10:59:10.872\",,\"10,290\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"225.241.219.2\"\n\"September 20th 2015, 10:58:57.143\",,\"3,261\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"230.117.3.60\"\n\"September 20th 2015, 10:58:55.948\",,\"3,748\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.33.226.187\"\n\"September 20th 2015, 10:58:49.320\",,\"3,554\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.177.73.18\"\n\"September 20th 2015, 10:58:47.748\",,\"8,545\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"142.58.25.99\"\n\"September 20th 2015, 10:58:34.555\",,\"9,213\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.202.198.155\"\n\"September 20th 2015, 10:58:30.534\",,\"8,242\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"32.146.206.24\"\n\"September 20th 2015, 10:57:59.399\",,\"2,573\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.53.50.20\"\n\"September 20th 2015, 10:57:57.820\",,\"9,874\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.5.63.129\"\n\"September 20th 2015, 10:57:44.598\",,\"9,682\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"181.135.248.113\"\n\"September 20th 2015, 10:57:15.165\",,\"5,227\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.139.46.29\"\n\"September 20th 2015, 10:57:12.923\",,\"9,496\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.195.18.133\"\n\"September 20th 2015, 10:56:48.422\",,\"9,052\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"185.170.80.142\"\n\"September 20th 2015, 10:56:08.633\",,\"2,304\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"100.50.11.41\"\n\"September 20th 2015, 10:56:00.459\",,\"6,472\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.236.80.152\"\n\"September 20th 2015, 10:55:11.799\",,\"8,538\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.3.115.126\"\n\"September 20th 2015, 10:55:11.689\",,\"16,076\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"159.137.252.66\"\n\"September 20th 2015, 10:55:03.481\",,\"1,839\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.227.195.13\"\n\"September 20th 2015, 10:55:02.088\",,\"3,118\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.156.52.180\"\n\"September 20th 2015, 10:54:46.926\",,\"3,479\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.68.234.67\"\n\"September 20th 2015, 10:54:45.186\",,\"2,954\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.79.158.95\"\n\"September 20th 2015, 10:54:20.515\",,\"9,724\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.245.252.224\"\n\"September 20th 2015, 10:54:14.887\",,\"1,735\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.132.195.31\"\n\"September 20th 2015, 10:54:07.615\",,\"6,038\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"224.183.190.156\"\n\"September 20th 2015, 10:54:01.331\",,\"4,441\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.53.114.44\"\n\"September 20th 2015, 10:53:56.281\",,\"3,663\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.177.240.217\"\n\"September 20th 2015, 10:53:53.514\",,\"5,328\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.99.166.92\"\n\"September 20th 2015, 10:53:48.968\",,\"5,392\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"171.132.193.95\"\n\"September 20th 2015, 10:53:37.254\",,\"4,719\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.133.22.163\"\n\"September 20th 2015, 10:53:32.301\",,\"2,973\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.59.225.31\"\n\"September 20th 2015, 10:53:24.673\",,\"4,538\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.183.87.181\"\n\"September 20th 2015, 10:53:21.961\",,\"7,424\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"106.181.249.244\"\n\"September 20th 2015, 10:52:55.900\",,\"1,519\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.59.94.122\"\n\"September 20th 2015, 10:52:47.258\",,\"5,201\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.133.180.245\"\n\"September 20th 2015, 10:52:47.240\",,\"19,398\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"158.168.90.226\"\n\"September 20th 2015, 10:52:39.986\",,\"2,435\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.241.34.0\"\n\"September 20th 2015, 10:52:18.080\",,\"5,674\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.233.207.177\"\n\"September 20th 2015, 10:51:48.372\",,\"9,340\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.232.128.91\"\n\"September 20th 2015, 10:51:29.442\",,\"4,712\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.76.224.154\"\n\"September 20th 2015, 10:51:22.432\",,\"2,162\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.66.60.152\"\n\"September 20th 2015, 10:51:13.993\",,\"9,361\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.3.115.126\"\n\"September 20th 2015, 10:51:13.670\",,\"2,833\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.152.13.69\"\n\"September 20th 2015, 10:51:04.697\",,\"1,654\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.203.229.229\"\n\"September 20th 2015, 10:50:52.853\",,\"8,989\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"110.27.10.205\"\n\"September 20th 2015, 10:50:47.667\",,\"8,660\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"67.220.97.120\"\n\"September 20th 2015, 10:50:34.940\",,\"2,672\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.123.178.135\"\n\"September 20th 2015, 10:50:21.628\",,\"8,453\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.237.108.147\"\n\"September 20th 2015, 10:50:08.564\",,\"5,654\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.127.124.65\"\n\"September 20th 2015, 10:50:03.653\",,\"1,852\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.68.234.67\"\n\"September 20th 2015, 10:50:01.346\",,\"6,027\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"236.90.86.83\"\n\"September 20th 2015, 10:50:01.134\",,\"8,230\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"75.246.160.14\"\n\"September 20th 2015, 10:49:52.767\",,\"6,884\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.54.235.229\"\n\"September 20th 2015, 10:49:47.201\",,\"7,254\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.206.61.6\"\n\"September 20th 2015, 10:49:32.656\",,\"5,880\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.115.74.144\"\n\"September 20th 2015, 10:49:19.378\",,\"5,838\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.113.62.183\"\n\"September 20th 2015, 10:49:17.167\",,\"5,246\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.3.10.81\"\n\"September 20th 2015, 10:48:31.586\",,\"2,916\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.0.98.104\"\n\"September 20th 2015, 10:48:18.479\",,\"9,566\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.162.138.2\"\n\"September 20th 2015, 10:48:15.902\",,\"2,221\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.22.228.100\"\n\"September 20th 2015, 10:48:06.667\",,\"2,917\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.172.42.72\"\n\"September 20th 2015, 10:47:52.748\",,\"9,893\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"100.99.207.174\"\n\"September 20th 2015, 10:47:47.925\",,\"3,761\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"68.189.205.188\"\n\"September 20th 2015, 10:47:33.665\",,\"9,565\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.58.47.229\"\n\"September 20th 2015, 10:47:26.468\",,\"8,289\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"219.33.16.83\"\n\"September 20th 2015, 10:47:18.818\",,\"6,556\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.49.130.46\"\n\"September 20th 2015, 10:47:04.174\",,\"5,551\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"167.165.89.8\"\n\"September 20th 2015, 10:46:47.939\",,\"2,392\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.252.112.76\"\n\"September 20th 2015, 10:46:43.960\",,\"3,428\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"60.71.214.79\"\n\"September 20th 2015, 10:46:34.653\",,\"3,140\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"171.132.193.95\"\n\"September 20th 2015, 10:46:22.878\",,\"7,429\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.185.158.249\"\n\"September 20th 2015, 10:46:14.455\",,\"1,763\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.227.125.229\"\n\"September 20th 2015, 10:46:13.174\",,\"6,093\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"149.84.78.58\"\n\"September 20th 2015, 10:45:28.808\",,\"1,527\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"167.51.186.15\"\n\"September 20th 2015, 10:45:25.091\",,\"1,640\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.171.34.42\"\n\"September 20th 2015, 10:45:22.075\",,\"9,195\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"230.205.37.63\"\n\"September 20th 2015, 10:44:44.579\",,\"4,810\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"247.149.109.96\"\n\"September 20th 2015, 10:44:34.702\",,\"7,322\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"50.184.86.48\"\n\"September 20th 2015, 10:44:24.205\",,\"6,948\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.53.50.20\"\n\"September 20th 2015, 10:44:22.987\",,\"6,591\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.142.235.222\"\n\"September 20th 2015, 10:44:12.163\",,\"9,552\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.194.215.29\"\n\"September 20th 2015, 10:44:09.031\",,\"7,009\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"165.24.164.93\"\n\"September 20th 2015, 10:44:04.541\",,\"9,921\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.200.84.215\"\n\"September 20th 2015, 10:43:58.834\",,\"7,204\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"219.33.16.83\"\n\"September 20th 2015, 10:43:56.921\",,\"4,098\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.50.181.157\"\n\"September 20th 2015, 10:43:49.331\",,\"9,306\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.48.147.184\"\n\"September 20th 2015, 10:43:05.835\",,\"2,896\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.218.92.179\"\n\"September 20th 2015, 10:42:46.991\",,\"7,241\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"184.101.186.240\"\n\"September 20th 2015, 10:42:33.921\",,\"9,423\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"218.248.177.77\"\n\"September 20th 2015, 10:42:31.705\",,\"8,371\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"159.137.252.66\"\n\"September 20th 2015, 10:41:39.422\",,\"1,938\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.114.14.197\"\n\"September 20th 2015, 10:41:01.658\",,\"7,628\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.55.175.148\"\n\"September 20th 2015, 10:40:56.458\",,\"2,532\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.75.54.137\"\n\"September 20th 2015, 10:40:54.386\",,\"7,109\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.23.191.85\"\n\"September 20th 2015, 10:40:45.328\",,\"6,214\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"247.189.13.239\"\n\"September 20th 2015, 10:40:35.476\",,\"3,487\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"167.51.186.15\"\n\"September 20th 2015, 10:40:21.641\",,\"4,108\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.115.183.40\"\n\"September 20th 2015, 10:40:06.623\",,\"5,459\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"7.9.151.133\"\n\"September 20th 2015, 10:40:01.763\",,\"7,454\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.63.63.137\"\n\"September 20th 2015, 10:39:50.742\",,\"4,065\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.83.143.132\"\n\"September 20th 2015, 10:39:42.891\",,\"1,581\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.64.207.109\"\n\"September 20th 2015, 10:39:32.784\",,\"8,207\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"181.41.228.240\"\n\"September 20th 2015, 10:39:31.851\",,\"9,073\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.12.132.188\"\n\"September 20th 2015, 10:39:25.493\",,\"3,407\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"4.125.116.118\"\n\"September 20th 2015, 10:39:22.637\",,\"5,146\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.172.19.77\"\n\"September 20th 2015, 10:39:16.475\",,\"5,571\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.132.195.31\"\n\"September 20th 2015, 10:39:11.084\",,\"2,031\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.111.6.101\"\n\"September 20th 2015, 10:38:26.059\",,\"9,431\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"140.22.23.73\"\n\"September 20th 2015, 10:38:04.982\",,\"1,844\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"82.40.137.38\"\n\"September 20th 2015, 10:37:48.861\",,\"14,483\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.99.166.92\"\n\"September 20th 2015, 10:37:45.432\",,\"8,387\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.115.183.40\"\n\"September 20th 2015, 10:37:17.998\",,\"7,979\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.96.131.243\"\n\"September 20th 2015, 10:36:49.283\",,\"9,199\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"168.180.71.177\"\n\"September 20th 2015, 10:36:20.315\",,\"1,695\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"142.92.239.70\"\n\"September 20th 2015, 10:36:09.442\",,\"6,803\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.35.55.46\"\n\"September 20th 2015, 10:36:08.422\",,\"5,356\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.59.37.77\"\n\"September 20th 2015, 10:36:05.999\",,\"8,516\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"1.17.21.12\"\n\"September 20th 2015, 10:36:05.104\",,\"5,852\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"101.130.216.47\"\n\"September 20th 2015, 10:35:43.335\",,\"7,458\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.39.144.87\"\n\"September 20th 2015, 10:35:38.041\",,\"3,747\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.28.27.24\"\n\"September 20th 2015, 10:35:22.862\",,\"4,999\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.133.180.245\"\n\"September 20th 2015, 10:35:20.085\",,\"8,035\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.200.30.34\"\n\"September 20th 2015, 10:35:17.827\",,\"12,529\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.152.13.69\"\n\"September 20th 2015, 10:35:05.812\",,\"5,297\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.144.148.155\"\n\"September 20th 2015, 10:35:02.355\",,\"2,892\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"197.222.12.184\"\n\"September 20th 2015, 10:34:56.359\",,\"7,570\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.105.119.197\"\n\"September 20th 2015, 10:34:51.669\",,\"1,778\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.96.206.187\"\n\"September 20th 2015, 10:34:27.643\",,\"2,039\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.210.116.210\"\n\"September 20th 2015, 10:34:21.299\",,\"6,844\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.105.165.220\"\n\"September 20th 2015, 10:34:07.623\",,\"6,552\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.111.115.206\"\n\"September 20th 2015, 10:34:02.809\",,\"7,254\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"105.47.117.171\"\n\"September 20th 2015, 10:33:46.130\",,\"5,571\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.42.144.78\"\n\"September 20th 2015, 10:33:26.474\",,\"7,163\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"42.72.83.65\"\n\"September 20th 2015, 10:33:11.591\",,\"5,734\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.250.210.253\"\n\"September 20th 2015, 10:33:04.232\",,\"7,730\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"217.44.155.137\"\n\"September 20th 2015, 10:33:03.035\",,\"3,876\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.247.249.228\"\n\"September 20th 2015, 10:32:45.580\",,\"4,584\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.222.131.172\"\n\"September 20th 2015, 10:32:18.403\",,\"7,893\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.105.183.164\"\n\"September 20th 2015, 10:32:11.900\",,\"4,999\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"104.142.243.97\"\n\"September 20th 2015, 10:32:04.713\",,\"7,559\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.183.87.181\"\n\"September 20th 2015, 10:31:44.571\",,\"9,717\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"184.130.127.202\"\n\"September 20th 2015, 10:31:25.728\",,\"5,428\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.169.230.188\"\n\"September 20th 2015, 10:30:55.035\",,\"4,610\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.107.235.54\"\n\"September 20th 2015, 10:30:46.478\",,\"4,888\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"120.101.20.104\"\n\"September 20th 2015, 10:30:30.621\",,\"5,069\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.4.99.92\"\n\"September 20th 2015, 10:30:16.766\",,\"5,956\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"79.76.124.169\"\n\"September 20th 2015, 10:30:03.902\",,\"8,543\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"95.59.225.31\"\n\"September 20th 2015, 10:30:01.901\",,\"5,730\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.255.221.0\"\n\"September 20th 2015, 10:29:55.635\",,\"2,992\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.202.168.250\"\n\"September 20th 2015, 10:29:43.012\",,\"9,628\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.244.25.107\"\n\"September 20th 2015, 10:29:40.237\",,\"9,420\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"182.57.70.84\"\n\"September 20th 2015, 10:29:37.559\",,\"3,828\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"81.1.40.59\"\n\"September 20th 2015, 10:29:37.390\",,\"11,212\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.214.104.239\"\n\"September 20th 2015, 10:29:10.555\",,\"3,665\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.13.115.149\"\n\"September 20th 2015, 10:29:05.346\",,\"2,412\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.188.250.196\"\n\"September 20th 2015, 10:29:03.263\",,\"9,073\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.168.126.221\"\n\"September 20th 2015, 10:29:00.422\",,\"4,318\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.206.117.161\"\n\"September 20th 2015, 10:28:44.336\",,\"4,430\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.74.138.136\"\n\"September 20th 2015, 10:28:37.529\",,\"7,146\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.95.187.48\"\n\"September 20th 2015, 10:28:34.280\",,\"8,002\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"148.134.9.77\"\n\"September 20th 2015, 10:28:32.823\",,\"3,978\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.101.221.163\"\n\"September 20th 2015, 10:28:32.392\",,\"4,864\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.115.183.40\"\n\"September 20th 2015, 10:28:31.462\",,\"7,355\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.222.56.247\"\n\"September 20th 2015, 10:28:29.303\",,\"2,526\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.225.249.114\"\n\"September 20th 2015, 10:28:28.759\",,\"1,518\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.156.163.220\"\n\"September 20th 2015, 10:28:25.995\",,\"9,700\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.151.155.50\"\n\"September 20th 2015, 10:28:17.425\",,\"4,557\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.86.132.152\"\n\"September 20th 2015, 10:28:06.755\",,\"8,510\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.55.251.105\"\n\"September 20th 2015, 10:27:38.219\",,\"6,010\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.203.1.94\"\n\"September 20th 2015, 10:27:10.608\",,\"6,142\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.126.255.31\"\n\"September 20th 2015, 10:27:07.342\",,\"1,639\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.207.244.57\"\n\"September 20th 2015, 10:26:49.174\",,\"14,112\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.223.188.57\"\n\"September 20th 2015, 10:26:40.176\",,\"5,610\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.183.28.41\"\n\"September 20th 2015, 10:26:25.906\",,\"2,340\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"67.238.57.221\"\n\"September 20th 2015, 10:26:13.288\",,\"3,493\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.109.145.217\"\n\"September 20th 2015, 10:26:03.668\",,\"12,201\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"80.83.92.252\"\n\"September 20th 2015, 10:26:03.351\",,\"4,068\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.76.243.51\"\n\"September 20th 2015, 10:25:58.163\",,\"9,638\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.143.20.221\"\n\"September 20th 2015, 10:25:52.309\",,\"3,849\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"124.187.220.168\"\n\"September 20th 2015, 10:25:42.974\",,\"3,161\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.7.164.59\"\n\"September 20th 2015, 10:25:42.839\",,\"17,405\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"131.98.185.144\"\n\"September 20th 2015, 10:25:22.967\",,\"7,482\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.192.185.168\"\n\"September 20th 2015, 10:25:17.600\",,\"3,004\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.195.26.33\"\n\"September 20th 2015, 10:25:13.164\",,\"3,742\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"157.56.54.126\"\n\"September 20th 2015, 10:25:10.788\",,\"9,864\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.126.43.84\"\n\"September 20th 2015, 10:25:09.526\",,\"8,279\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.115.74.144\"\n\"September 20th 2015, 10:25:04.426\",,\"5,660\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"236.20.147.107\"\n\"September 20th 2015, 10:25:02.102\",,\"8,208\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"113.43.75.122\"\n\"September 20th 2015, 10:25:01.677\",,\"8,855\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.55.141.62\"\n\"September 20th 2015, 10:24:58.194\",,\"9,251\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"61.174.151.11\"\n\"September 20th 2015, 10:24:51.130\",,\"3,869\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.12.135.128\"\n\"September 20th 2015, 10:24:48.243\",,\"2,248\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.194.157.171\"\n\"September 20th 2015, 10:24:44.018\",,\"4,171\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"203.118.132.112\"\n\"September 20th 2015, 10:24:27.267\",,\"4,708\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"212.99.52.163\"\n\"September 20th 2015, 10:24:25.255\",,\"5,109\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"174.151.255.82\"\n\"September 20th 2015, 10:24:24.843\",,\"14,254\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.219.133.141\"\n\"September 20th 2015, 10:24:22.388\",,\"2,130\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"24.186.122.118\"\n\"September 20th 2015, 10:24:20.755\",,\"7,651\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"80.225.247.245\"\n\"September 20th 2015, 10:23:50.098\",,\"6,648\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"203.206.8.45\"\n\"September 20th 2015, 10:23:49.679\",,\"4,893\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.220.171.248\"\n\"September 20th 2015, 10:23:49.673\",,\"3,187\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.129.36.56\"\n\"September 20th 2015, 10:23:41.696\",,\"6,384\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"230.205.37.63\"\n\"September 20th 2015, 10:23:16.074\",,\"6,060\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"211.106.232.51\"\n\"September 20th 2015, 10:23:07.967\",,\"6,579\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"94.48.29.38\"\n\"September 20th 2015, 10:23:02.625\",,\"3,632\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.75.209.68\"\n\"September 20th 2015, 10:22:42.334\",,\"1,973\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.233.238.181\"\n\"September 20th 2015, 10:22:40.315\",,\"7,070\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"255.56.89.50\"\n\"September 20th 2015, 10:21:55.176\",,\"7,651\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.173.85.47\"\n\"September 20th 2015, 10:21:53.521\",,\"1,597\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"196.97.127.109\"\n\"September 20th 2015, 10:21:26.058\",,\"6,549\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"83.29.100.213\"\n\"September 20th 2015, 10:21:14.507\",,\"4,344\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.35.55.46\"\n\"September 20th 2015, 10:21:12.708\",,\"5,320\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"124.187.220.168\"\n\"September 20th 2015, 10:20:59.091\",,\"2,482\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"12.255.88.79\"\n\"September 20th 2015, 10:20:48.183\",,\"7,083\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.160.62.179\"\n\"September 20th 2015, 10:20:41.248\",,\"4,878\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.195.208.118\"\n\"September 20th 2015, 10:20:38.658\",,\"6,441\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.84.238.1\"\n\"September 20th 2015, 10:20:38.542\",,\"2,531\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"91.127.213.244\"\n\"September 20th 2015, 10:20:32.448\",,\"7,105\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.46.85.146\"\n\"September 20th 2015, 10:20:28.288\",,\"9,948\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.144.75.220\"\n\"September 20th 2015, 10:20:25.718\",,\"4,854\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.210.244.94\"\n\"September 20th 2015, 10:20:20.284\",,\"3,636\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.76.243.51\"\n\"September 20th 2015, 10:20:10.279\",,\"7,686\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.3.0.125\"\n\"September 20th 2015, 10:20:05.840\",,\"5,636\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.0.188.251\"\n\"September 20th 2015, 10:20:02.306\",,\"8,403\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.37.253.193\"\n\"September 20th 2015, 10:19:55.751\",,\"7,783\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.53.110.116\"\n\"September 20th 2015, 10:19:55.218\",,\"8,401\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.137.241.169\"\n\"September 20th 2015, 10:19:53.663\",,\"9,579\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.213.126.12\"\n\"September 20th 2015, 10:19:46.557\",,\"4,921\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.191.87.129\"\n\"September 20th 2015, 10:19:24.324\",,\"2,849\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"116.126.47.226\"\n\"September 20th 2015, 10:19:20.194\",,\"4,739\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"32.146.206.24\"\n\"September 20th 2015, 10:19:16.520\",,\"4,388\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.219.108.141\"\n\"September 20th 2015, 10:19:16.450\",,\"3,878\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.219.108.141\"\n\"September 20th 2015, 10:19:12.064\",,\"8,965\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.79.142.15\"\n\"September 20th 2015, 10:19:01.955\",,\"17,246\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.83.247.30\"\n\"September 20th 2015, 10:18:52.201\",,\"6,089\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.159.75.84\"\n\"September 20th 2015, 10:18:42.635\",,\"8,428\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"69.84.146.72\"\n\"September 20th 2015, 10:18:40.011\",,\"5,102\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.85.53.125\"\n\"September 20th 2015, 10:18:34.827\",,\"9,081\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"71.241.97.89\"\n\"September 20th 2015, 10:18:27.030\",,\"10,900\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"83.236.80.152\"\n\"September 20th 2015, 10:18:00.819\",,\"3,400\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.139.112.201\"\n\"September 20th 2015, 10:17:52.985\",,\"8,782\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"50.202.67.216\"\n\"September 20th 2015, 10:17:50.434\",,\"9,220\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.74.138.136\"\n\"September 20th 2015, 10:17:06.760\",,\"2,633\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"44.138.70.255\"\n\"September 20th 2015, 10:17:00.511\",,\"6,460\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"185.39.79.51\"\n\"September 20th 2015, 10:16:51.668\",,\"6,583\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.107.74.6\"\n\"September 20th 2015, 10:16:41.154\",,\"5,201\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.223.87.67\"\n\"September 20th 2015, 10:16:34.275\",,\"9,245\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"86.168.21.69\"\n\"September 20th 2015, 10:16:13.887\",,\"8,407\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.147.119.226\"\n\"September 20th 2015, 10:16:13.754\",,\"5,316\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.96.206.187\"\n\"September 20th 2015, 10:16:06.850\",,\"5,445\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.161.247.172\"\n\"September 20th 2015, 10:15:59.145\",,\"4,908\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.43.63.180\"\n\"September 20th 2015, 10:15:51.373\",,\"3,693\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.115.74.144\"\n\"September 20th 2015, 10:15:43.341\",,\"9,209\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.151.84.213\"\n\"September 20th 2015, 10:15:10.393\",,\"3,354\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.98.69.166\"\n\"September 20th 2015, 10:14:59.821\",,\"8,260\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.115.77.46\"\n\"September 20th 2015, 10:14:55.246\",,\"7,769\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"50.202.67.216\"\n\"September 20th 2015, 10:14:53.826\",,\"5,967\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"63.7.218.218\"\n\"September 20th 2015, 10:14:46.419\",,\"8,826\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"41.210.252.157\"\n\"September 20th 2015, 10:14:36.303\",,\"8,049\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.219.233.187\"\n\"September 20th 2015, 10:14:28.428\",,\"1,708\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.11.43.220\"\n\"September 20th 2015, 10:14:23.696\",,\"4,549\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.79.108.136\"\n\"September 20th 2015, 10:14:22.303\",,\"1,519\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.85.77.216\"\n\"September 20th 2015, 10:14:19.000\",,\"2,006\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.177.73.18\"\n\"September 20th 2015, 10:14:15.472\",,\"3,748\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.72.217.98\"\n\"September 20th 2015, 10:14:13.170\",,\"5,077\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"24.5.165.192\"\n\"September 20th 2015, 10:14:06.141\",,\"4,573\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.25.112.43\"\n\"September 20th 2015, 10:14:05.883\",,\"4,501\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.244.231.5\"\n\"September 20th 2015, 10:13:54.818\",,\"4,382\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"216.115.81.216\"\n\"September 20th 2015, 10:13:50.552\",,\"6,386\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"202.22.74.232\"\n\"September 20th 2015, 10:13:19.887\",,\"6,004\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"38.29.122.137\"\n\"September 20th 2015, 10:13:16.930\",,\"2,925\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.255.68.154\"\n\"September 20th 2015, 10:13:10.567\",,\"3,553\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"4.125.116.118\"\n\"September 20th 2015, 10:13:03.370\",,\"7,595\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.177.125.196\"\n\"September 20th 2015, 10:12:58.461\",,\"7,225\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"102.19.248.156\"\n\"September 20th 2015, 10:12:57.970\",,\"11,423\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"242.22.22.10\"\n\"September 20th 2015, 10:12:56.083\",,\"7,290\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.46.85.146\"\n\"September 20th 2015, 10:12:55.222\",,\"10,742\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.77.18.142\"\n\"September 20th 2015, 10:12:51.828\",,\"8,953\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"22.87.85.59\"\n\"September 20th 2015, 10:12:27.887\",,\"9,462\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"67.47.100.255\"\n\"September 20th 2015, 10:12:06.273\",,\"8,044\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"188.123.71.54\"\n\"September 20th 2015, 10:12:02.522\",,\"2,075\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"246.88.57.13\"\n\"September 20th 2015, 10:11:41.671\",,\"9,758\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"86.168.21.69\"\n\"September 20th 2015, 10:11:40.652\",,\"9,637\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"195.76.3.10\"\n\"September 20th 2015, 10:10:44.098\",,\"5,838\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.28.123.34\"\n\"September 20th 2015, 10:10:39.103\",,\"3,608\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.95.6.196\"\n\"September 20th 2015, 10:10:32.605\",,\"4,042\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"74.101.37.80\"\n\"September 20th 2015, 10:10:31.602\",,\"4,457\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.123.27.0\"\n\"September 20th 2015, 10:10:30.108\",,\"4,788\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.75.33.146\"\n\"September 20th 2015, 10:10:27.723\",,\"3,615\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.246.231.47\"\n\"September 20th 2015, 10:10:19.566\",,\"3,480\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"113.35.23.20\"\n\"September 20th 2015, 10:10:18.959\",,\"8,960\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"74.224.77.232\"\n\"September 20th 2015, 10:10:12.699\",,\"16,744\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"11.25.39.187\"\n\"September 20th 2015, 10:10:01.587\",,\"7,373\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"1.59.159.138\"\n\"September 20th 2015, 10:09:59.477\",,\"4,676\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"222.224.95.15\"\n\"September 20th 2015, 10:09:55.710\",,\"5,553\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.177.73.18\"\n\"September 20th 2015, 10:09:54.722\",,\"9,231\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.248.17.146\"\n\"September 20th 2015, 10:09:33.770\",,\"5,864\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.99.52.163\"\n\"September 20th 2015, 10:09:22.658\",,\"12,525\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.99.166.92\"\n\"September 20th 2015, 10:09:05.278\",,\"6,616\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"121.34.210.235\"\n\"September 20th 2015, 10:08:31.782\",,\"2,199\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.200.84.215\"\n\"September 20th 2015, 10:08:23.076\",,\"9,367\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"163.123.136.118\"\n\"September 20th 2015, 10:08:21.755\",,\"2,649\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.222.56.247\"\n\"September 20th 2015, 10:08:02.814\",,\"8,598\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.123.27.0\"\n\"September 20th 2015, 10:07:54.212\",,\"9,818\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.29.171.72\"\n\"September 20th 2015, 10:07:38.052\",,\"1,747\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.205.37.63\"\n\"September 20th 2015, 10:07:28.164\",,\"2,271\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"82.40.137.38\"\n\"September 20th 2015, 10:07:18.046\",,\"6,459\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.206.117.161\"\n\"September 20th 2015, 10:07:15.309\",,\"7,464\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.120.60.102\"\n\"September 20th 2015, 10:07:12.193\",,\"2,800\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.252.219.9\"\n\"September 20th 2015, 10:07:09.697\",,\"1,679\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"222.201.119.239\"\n\"September 20th 2015, 10:07:09.001\",,\"6,039\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"120.101.20.104\"\n\"September 20th 2015, 10:06:54.848\",,\"7,603\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"91.217.157.152\"\n\"September 20th 2015, 10:06:33.979\",,\"11,681\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.27.68.62\"\n\"September 20th 2015, 10:06:28.340\",,\"8,334\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.194.215.29\"\n\"September 20th 2015, 10:06:27.505\",,\"6,441\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.142.140.200\"\n\"September 20th 2015, 10:06:27.126\",,\"5,836\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"163.123.136.118\"\n\"September 20th 2015, 10:06:22.979\",,\"8,513\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.80.208.225\"\n\"September 20th 2015, 10:06:15.367\",,\"5,328\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.126.255.31\"\n\"September 20th 2015, 10:06:12.150\",,\"7,037\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"110.247.249.228\"\n\"September 20th 2015, 10:05:56.838\",,\"15,731\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.227.142.190\"\n\"September 20th 2015, 10:05:52.318\",,\"6,031\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.69.63.219\"\n\"September 20th 2015, 10:05:30.208\",,\"7,850\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"74.224.77.232\"\n\"September 20th 2015, 10:05:02.019\",,\"4,051\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.210.163.45\"\n\"September 20th 2015, 10:04:57.995\",,\"5,560\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"59.202.132.136\"\n\"September 20th 2015, 10:04:48.707\",,\"7,559\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"177.69.169.33\"\n\"September 20th 2015, 10:04:19.386\",,\"6,377\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.129.117.216\"\n\"September 20th 2015, 10:04:12.189\",,\"7,690\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"32.180.30.227\"\n\"September 20th 2015, 10:04:10.919\",,\"8,462\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"36.160.226.203\"\n\"September 20th 2015, 10:04:00.923\",,\"4,966\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"30.149.85.183\"\n\"September 20th 2015, 10:04:00.023\",,\"7,132\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"131.98.185.144\"\n\"September 20th 2015, 10:03:44.840\",,\"8,429\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.24.204.40\"\n\"September 20th 2015, 10:03:37.482\",,\"7,245\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.133.22.163\"\n\"September 20th 2015, 10:03:30.810\",,\"4,415\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.50.129.53\"\n\"September 20th 2015, 10:03:26.686\",,\"3,390\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.160.62.179\"\n\"September 20th 2015, 10:03:25.905\",,\"4,796\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.152.176.23\"\n\"September 20th 2015, 10:03:23.986\",,\"2,819\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.204.236.159\"\n\"September 20th 2015, 10:03:07.414\",,\"2,158\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"242.162.114.49\"\n\"September 20th 2015, 10:02:40.165\",,\"1,757\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.232.128.91\"\n\"September 20th 2015, 10:02:25.499\",,\"7,554\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.253.222.16\"\n\"September 20th 2015, 10:01:49.999\",,\"8,378\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.192.52.3\"\n\"September 20th 2015, 10:01:46.757\",,\"9,916\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.246.231.47\"\n\"September 20th 2015, 10:01:45.255\",,\"5,285\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.249.93.77\"\n\"September 20th 2015, 10:01:40.520\",,\"8,653\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.102.200.168\"\n\"September 20th 2015, 10:01:32.499\",,\"1,803\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.194.215.29\"\n\"September 20th 2015, 10:01:21.456\",,\"4,852\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.192.80.162\"\n\"September 20th 2015, 10:00:57.335\",,\"8,938\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.112.81.106\"\n\"September 20th 2015, 10:00:51.915\",,\"4,403\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.172.111.30\"\n\"September 20th 2015, 10:00:51.527\",,\"3,956\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"171.243.18.67\"\n\"September 20th 2015, 10:00:39.879\",,\"6,950\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.115.77.46\"\n\"September 20th 2015, 10:00:33.604\",,\"7,287\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"241.45.143.98\"\n\"September 20th 2015, 10:00:18.296\",,\"7,837\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.202.168.250\"\n\"September 20th 2015, 09:59:25.879\",,\"7,599\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.16.207.3\"\n\"September 20th 2015, 09:59:04.703\",,\"11,311\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"58.190.216.56\"\n\"September 20th 2015, 09:57:58.862\",,\"9,594\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.144.90.74\"\n\"September 20th 2015, 09:57:58.103\",,\"5,536\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"158.168.90.226\"\n\"September 20th 2015, 09:57:55.324\",,\"2,269\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"31.245.21.115\"\n\"September 20th 2015, 09:57:54.158\",,\"9,867\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.79.142.15\"\n\"September 20th 2015, 09:57:50.727\",,\"7,880\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"113.43.75.122\"\n\"September 20th 2015, 09:57:48.996\",,\"7,537\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"185.144.182.162\"\n\"September 20th 2015, 09:57:48.062\",,\"16,596\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.219.108.141\"\n\"September 20th 2015, 09:57:46.036\",,\"5,951\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.45.107.116\"\n\"September 20th 2015, 09:57:41.147\",,\"6,155\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.243.18.67\"\n\"September 20th 2015, 09:57:09.206\",,\"5,575\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"71.241.97.89\"\n\"September 20th 2015, 09:57:07.867\",,\"9,946\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.227.142.190\"\n\"September 20th 2015, 09:57:07.793\",,\"4,032\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.205.146.206\"\n\"September 20th 2015, 09:57:01.185\",,\"5,460\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"157.39.25.197\"\n\"September 20th 2015, 09:56:42.726\",,\"7,027\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.128.223.209\"\n\"September 20th 2015, 09:56:28.029\",,\"9,349\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.221.187.90\"\n\"September 20th 2015, 09:56:14.754\",,\"6,795\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.38.2.66\"\n\"September 20th 2015, 09:55:59.516\",,\"6,880\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.85.53.125\"\n\"September 20th 2015, 09:55:44.298\",,\"5,887\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.151.142.25\"\n\"September 20th 2015, 09:55:43.675\",,\"7,984\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.85.51.238\"\n\"September 20th 2015, 09:55:26.639\",,\"2,579\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.19.117.208\"\n\"September 20th 2015, 09:55:25.694\",,\"7,045\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.45.107.116\"\n\"September 20th 2015, 09:55:13.494\",,\"7,591\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.49.164.228\"\n\"September 20th 2015, 09:55:12.497\",,\"4,961\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"32.180.30.227\"\n\"September 20th 2015, 09:55:05.904\",,\"1,902\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.2.26.42\"\n\"September 20th 2015, 09:54:58.047\",,\"5,182\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.47.79.172\"\n\"September 20th 2015, 09:54:46.913\",,\"8,763\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"46.163.136.60\"\n\"September 20th 2015, 09:54:30.371\",,\"5,011\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"60.231.227.7\"\n\"September 20th 2015, 09:54:06.898\",,\"4,583\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.156.219.144\"\n\"September 20th 2015, 09:53:56.308\",,\"4,874\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.7.129.34\"\n\"September 20th 2015, 09:53:48.133\",,\"9,283\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.157.127.149\"\n\"September 20th 2015, 09:53:39.638\",,\"13,676\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"245.155.198.238\"\n\"September 20th 2015, 09:53:37.733\",,\"8,181\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.232.128.91\"\n\"September 20th 2015, 09:53:23.709\",,\"1,792\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"234.58.25.145\"\n\"September 20th 2015, 09:53:19.542\",,\"5,215\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"225.209.251.160\"\n\"September 20th 2015, 09:53:17.452\",,\"6,546\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.177.73.18\"\n\"September 20th 2015, 09:53:11.403\",,\"3,269\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"105.82.36.95\"\n\"September 20th 2015, 09:52:56.973\",,\"3,314\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.50.129.53\"\n\"September 20th 2015, 09:52:36.449\",,\"6,950\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.152.7.186\"\n\"September 20th 2015, 09:52:33.170\",,\"6,374\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.13.115.149\"\n\"September 20th 2015, 09:52:21.403\",,\"3,448\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.219.65.244\"\n\"September 20th 2015, 09:52:21.136\",,\"9,764\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.200.198.147\"\n\"September 20th 2015, 09:51:57.396\",,\"5,872\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.34.86.255\"\n\"September 20th 2015, 09:51:45.345\",,\"7,752\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"1.59.159.138\"\n\"September 20th 2015, 09:51:33.794\",,\"7,613\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"168.174.35.186\"\n\"September 20th 2015, 09:51:32.001\",,\"4,557\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.147.43.175\"\n\"September 20th 2015, 09:51:24.439\",,\"2,395\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"92.96.51.231\"\n\"September 20th 2015, 09:51:19.837\",,\"2,049\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"147.175.109.124\"\n\"September 20th 2015, 09:51:16.483\",,\"7,062\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.12.135.128\"\n\"September 20th 2015, 09:51:16.241\",,\"2,892\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"192.158.203.248\"\n\"September 20th 2015, 09:51:12.476\",,\"14,424\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"76.120.12.168\"\n\"September 20th 2015, 09:51:11.123\",,\"9,704\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"241.58.244.165\"\n\"September 20th 2015, 09:51:00.579\",,\"1,661\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.53.120.159\"\n\"September 20th 2015, 09:50:58.256\",,\"3,787\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.191.87.129\"\n\"September 20th 2015, 09:50:46.675\",,\"5,309\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.190.189.77\"\n\"September 20th 2015, 09:50:21.577\",,\"7,781\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"32.146.206.24\"\n\"September 20th 2015, 09:50:12.897\",,\"5,885\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.163.133.47\"\n\"September 20th 2015, 09:50:03.959\",,\"4,698\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.205.178.33\"\n\"September 20th 2015, 09:50:00.365\",,\"9,947\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.141.233.13\"\n\"September 20th 2015, 09:49:59.720\",,\"3,192\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.105.235.122\"\n\"September 20th 2015, 09:49:59.341\",,\"2,314\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.85.77.216\"\n\"September 20th 2015, 09:49:49.119\",,\"6,858\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.210.116.210\"\n\"September 20th 2015, 09:49:47.018\",,\"3,864\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"16.148.135.166\"\n\"September 20th 2015, 09:49:43.836\",,\"8,428\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.194.113.132\"\n\"September 20th 2015, 09:49:28.881\",,\"6,350\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.217.241.90\"\n\"September 20th 2015, 09:49:04.250\",,\"6,346\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.216.205.112\"\n\"September 20th 2015, 09:48:59.660\",,\"10,274\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.147.159.107\"\n\"September 20th 2015, 09:48:47.647\",,\"2,955\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.62.159.102\"\n\"September 20th 2015, 09:48:36.761\",,\"3,419\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"60.231.227.7\"\n\"September 20th 2015, 09:48:33.546\",,\"3,409\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"30.92.50.149\"\n\"September 20th 2015, 09:48:30.167\",,\"7,945\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.209.234.93\"\n\"September 20th 2015, 09:48:02.147\",,\"8,839\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.90.215.57\"\n\"September 20th 2015, 09:47:37.620\",,\"5,274\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"45.138.192.138\"\n\"September 20th 2015, 09:47:30.863\",,\"4,430\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.191.218.38\"\n\"September 20th 2015, 09:47:28.334\",,\"10,322\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.186.79.201\"\n\"September 20th 2015, 09:47:20.261\",,\"2,137\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.117.73.210\"\n\"September 20th 2015, 09:47:17.930\",,\"15,251\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"100.99.207.174\"\n\"September 20th 2015, 09:47:07.868\",,\"9,540\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"227.83.52.239\"\n\"September 20th 2015, 09:47:06.396\",,\"9,625\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.106.203.143\"\n\"September 20th 2015, 09:47:05.373\",,\"2,600\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.84.238.1\"\n\"September 20th 2015, 09:46:56.146\",,\"8,255\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.74.138.136\"\n\"September 20th 2015, 09:46:54.095\",,\"6,215\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.28.27.24\"\n\"September 20th 2015, 09:46:50.793\",,\"9,038\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.225.107.118\"\n\"September 20th 2015, 09:46:42.131\",,\"9,195\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.117.248.129\"\n\"September 20th 2015, 09:46:34.445\",,\"4,078\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.205.178.33\"\n\"September 20th 2015, 09:46:20.070\",,\"9,475\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.33.120.224\"\n\"September 20th 2015, 09:46:08.691\",,\"1,622\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.173.85.47\"\n\"September 20th 2015, 09:45:57.370\",,\"3,981\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.107.5.226\"\n\"September 20th 2015, 09:45:52.270\",,\"4,155\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"247.149.109.96\"\n\"September 20th 2015, 09:45:50.062\",,\"2,527\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.128.207.200\"\n\"September 20th 2015, 09:45:42.187\",,\"8,802\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.13.7.53\"\n\"September 20th 2015, 09:45:17.420\",,\"8,767\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.144.232.98\"\n\"September 20th 2015, 09:45:12.684\",,\"7,823\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.22.226.5\"\n\"September 20th 2015, 09:45:10.984\",,\"3,666\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"217.132.169.207\"\n\"September 20th 2015, 09:44:57.963\",,\"3,147\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.62.211.92\"\n\"September 20th 2015, 09:44:39.808\",,\"4,040\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"35.222.204.135\"\n\"September 20th 2015, 09:44:38.114\",,\"5,323\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.204.236.159\"\n\"September 20th 2015, 09:44:36.478\",,\"2,458\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.84.78.58\"\n\"September 20th 2015, 09:44:24.539\",,\"8,999\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"169.228.188.120\"\n\"September 20th 2015, 09:44:06.682\",,\"1,532\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.108.50.221\"\n\"September 20th 2015, 09:43:59.482\",,\"3,466\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"12.158.252.108\"\n\"September 20th 2015, 09:43:47.282\",,\"1,677\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.233.238.181\"\n\"September 20th 2015, 09:43:39.785\",,\"3,831\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.90.86.83\"\n\"September 20th 2015, 09:43:13.743\",,\"7,769\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.244.83.137\"\n\"September 20th 2015, 09:43:12.079\",,\"6,773\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.228.246.126\"\n\"September 20th 2015, 09:42:54.798\",,\"3,500\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.66.60.152\"\n\"September 20th 2015, 09:42:49.752\",,\"5,375\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.211.153.90\"\n\"September 20th 2015, 09:42:48.628\",,\"16,779\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.111.249.239\"\n\"September 20th 2015, 09:42:40.804\",,\"5,387\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.207.64.202\"\n\"September 20th 2015, 09:42:40.226\",,\"9,441\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.86.132.152\"\n\"September 20th 2015, 09:42:33.371\",,\"6,724\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.11.66.39\"\n\"September 20th 2015, 09:42:25.275\",,\"9,839\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.19.117.208\"\n\"September 20th 2015, 09:42:14.287\",,\"4,461\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.237.80.177\"\n\"September 20th 2015, 09:42:00.902\",,\"6,803\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"7.179.148.96\"\n\"September 20th 2015, 09:41:40.727\",,\"5,317\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.105.235.122\"\n\"September 20th 2015, 09:41:34.955\",,\"9,918\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.76.208.132\"\n\"September 20th 2015, 09:41:30.225\",,\"2,477\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.203.229.229\"\n\"September 20th 2015, 09:41:19.224\",,\"7,248\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"134.47.243.34\"\n\"September 20th 2015, 09:41:11.002\",,\"11,032\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.133.180.245\"\n\"September 20th 2015, 09:41:07.484\",,\"5,424\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.234.255.241\"\n\"September 20th 2015, 09:40:43.706\",,\"4,597\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.77.18.142\"\n\"September 20th 2015, 09:40:41.576\",,\"9,257\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.148.228.141\"\n\"September 20th 2015, 09:40:36.707\",,\"9,640\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.132.195.31\"\n\"September 20th 2015, 09:40:30.486\",,\"7,487\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.5.110.41\"\n\"September 20th 2015, 09:40:27.619\",,\"8,045\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"86.193.157.89\"\n\"September 20th 2015, 09:40:13.282\",,\"2,348\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"154.28.252.79\"\n\"September 20th 2015, 09:40:08.206\",,\"18,008\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.194.215.29\"\n\"September 20th 2015, 09:40:03.555\",,\"5,153\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.92.205.231\"\n\"September 20th 2015, 09:39:56.297\",,\"8,427\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"192.219.151.88\"\n\"September 20th 2015, 09:39:41.661\",,\"7,186\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"181.209.116.94\"\n\"September 20th 2015, 09:39:38.434\",,\"3,389\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.172.28.222\"\n\"September 20th 2015, 09:39:18.757\",,\"9,652\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.66.60.152\"\n\"September 20th 2015, 09:39:12.527\",,\"4,576\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"182.186.221.142\"\n\"September 20th 2015, 09:39:01.037\",,\"2,101\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.194.215.29\"\n\"September 20th 2015, 09:38:52.529\",,\"7,407\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.62.211.92\"\n\"September 20th 2015, 09:38:42.599\",,\"9,770\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"164.185.40.249\"\n\"September 20th 2015, 09:38:33.188\",,\"4,580\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.22.226.5\"\n\"September 20th 2015, 09:38:21.902\",,\"5,153\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"101.145.158.45\"\n\"September 20th 2015, 09:38:20.859\",,\"12,594\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"162.218.161.231\"\n\"September 20th 2015, 09:38:08.221\",,\"5,876\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"157.56.54.126\"\n\"September 20th 2015, 09:37:56.343\",,\"2,085\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.194.157.171\"\n\"September 20th 2015, 09:37:25.162\",,\"4,306\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"239.84.248.187\"\n\"September 20th 2015, 09:37:10.507\",,\"2,959\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"87.76.133.12\"\n\"September 20th 2015, 09:37:05.824\",,\"2,343\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.254.96.42\"\n\"September 20th 2015, 09:36:56.375\",,\"7,569\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.207.64.202\"\n\"September 20th 2015, 09:36:41.563\",,\"3,786\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.55.141.62\"\n\"September 20th 2015, 09:36:33.987\",,\"5,843\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.165.93.2\"\n\"September 20th 2015, 09:36:25.756\",,\"7,813\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.13.115.149\"\n\"September 20th 2015, 09:36:03.991\",,\"8,723\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.77.18.142\"\n\"September 20th 2015, 09:36:03.691\",,\"4,499\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.33.83.170\"\n\"September 20th 2015, 09:36:00.999\",,\"5,609\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"30.36.151.195\"\n\"September 20th 2015, 09:35:44.314\",,\"1,592\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"178.104.96.40\"\n\"September 20th 2015, 09:35:43.908\",,\"3,015\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.108.50.221\"\n\"September 20th 2015, 09:35:42.336\",,\"8,248\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.208.15.12\"\n\"September 20th 2015, 09:35:40.357\",,\"2,230\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"188.123.71.54\"\n\"September 20th 2015, 09:35:39.886\",,\"8,454\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"22.7.121.157\"\n\"September 20th 2015, 09:35:34.418\",,\"6,974\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"32.94.46.226\"\n\"September 20th 2015, 09:35:13.552\",,\"3,868\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"7.176.253.57\"\n\"September 20th 2015, 09:34:39.052\",,\"6,983\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.172.137.39\"\n\"September 20th 2015, 09:34:06.792\",,\"3,277\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.38.2.66\"\n\"September 20th 2015, 09:33:59.838\",,\"4,270\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"132.242.0.119\"\n\"September 20th 2015, 09:33:54.451\",,\"1,903\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"116.171.234.62\"\n\"September 20th 2015, 09:33:11.629\",,\"7,817\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.61.106.118\"\n\"September 20th 2015, 09:32:59.544\",,\"5,142\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"105.47.117.171\"\n\"September 20th 2015, 09:32:50.491\",,\"5,965\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.20.147.107\"\n\"September 20th 2015, 09:32:43.642\",,\"3,895\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"242.26.103.238\"\n\"September 20th 2015, 09:32:39.308\",,\"5,528\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.198.170.210\"\n\"September 20th 2015, 09:32:35.456\",,\"3,833\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.221.105.131\"\n\"September 20th 2015, 09:32:28.606\",,\"3,213\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.241.34.0\"\n\"September 20th 2015, 09:32:10.237\",,\"8,948\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.223.87.67\"\n\"September 20th 2015, 09:31:42.233\",,\"2,070\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.230.105.32\"\n\"September 20th 2015, 09:31:41.269\",,\"2,771\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"44.116.186.0\"\n\"September 20th 2015, 09:31:39.348\",,\"8,879\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.191.218.38\"\n\"September 20th 2015, 09:31:26.180\",,\"3,818\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.177.125.196\"\n\"September 20th 2015, 09:31:23.406\",,\"1,961\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"35.222.204.135\"\n\"September 20th 2015, 09:31:11.879\",,\"1,931\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"195.233.186.3\"\n\"September 20th 2015, 09:31:08.338\",,\"3,691\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.115.221.35\"\n\"September 20th 2015, 09:31:02.917\",,\"3,510\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"76.120.12.168\"\n\"September 20th 2015, 09:30:57.395\",,\"6,859\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"96.34.109.191\"\n\"September 20th 2015, 09:30:43.519\",,\"2,718\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.54.12.226\"\n\"September 20th 2015, 09:30:25.596\",,\"2,289\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"74.214.76.90\"\n\"September 20th 2015, 09:30:24.197\",,\"2,924\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.0.214.93\"\n\"September 20th 2015, 09:30:24.037\",,\"7,003\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.216.205.112\"\n\"September 20th 2015, 09:30:20.971\",,\"8,244\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"211.0.102.190\"\n\"September 20th 2015, 09:29:51.236\",,\"10,018\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"236.110.56.1\"\n\"September 20th 2015, 09:29:32.626\",,\"7,624\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.88.57.13\"\n\"September 20th 2015, 09:29:28.100\",,\"5,544\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.222.131.172\"\n\"September 20th 2015, 09:29:27.508\",,\"5,823\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"1.59.159.138\"\n\"September 20th 2015, 09:29:26.318\",,\"18,335\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"216.242.201.206\"\n\"September 20th 2015, 09:29:18.404\",,\"13,448\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"212.144.148.155\"\n\"September 20th 2015, 09:28:28.952\",,\"7,295\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"37.59.172.226\"\n\"September 20th 2015, 09:28:26.746\",,\"9,761\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.249.202.59\"\n\"September 20th 2015, 09:28:20.434\",,\"3,617\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"11.195.163.57\"\n\"September 20th 2015, 09:28:14.558\",,\"5,203\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"24.5.165.192\"\n\"September 20th 2015, 09:28:13.380\",,\"6,750\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"146.86.123.109\"\n\"September 20th 2015, 09:28:08.968\",,\"3,898\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.191.39.198\"\n\"September 20th 2015, 09:27:56.762\",,\"7,114\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"5.83.83.42\"\n\"September 20th 2015, 09:27:52.007\",,\"6,516\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.151.155.50\"\n\"September 20th 2015, 09:27:38.792\",,\"19,318\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.100.162.251\"\n\"September 20th 2015, 09:27:21.790\",,\"14,771\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"28.3.30.170\"\n\"September 20th 2015, 09:27:16.853\",,\"9,753\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.96.131.243\"\n\"September 20th 2015, 09:27:15.130\",,\"4,211\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.11.66.39\"\n\"September 20th 2015, 09:27:14.518\",,\"9,045\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.219.108.141\"\n\"September 20th 2015, 09:26:55.708\",,\"3,261\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.75.33.146\"\n\"September 20th 2015, 09:26:53.398\",,\"5,331\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"121.98.248.112\"\n\"September 20th 2015, 09:26:43.176\",,\"5,086\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"43.164.236.145\"\n\"September 20th 2015, 09:26:38.316\",,\"6,387\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.200.30.34\"\n\"September 20th 2015, 09:26:30.485\",,\"2,063\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.163.133.47\"\n\"September 20th 2015, 09:26:00.671\",,\"1,988\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.37.253.193\"\n\"September 20th 2015, 09:25:58.554\",,\"8,345\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"121.50.181.157\"\n\"September 20th 2015, 09:25:47.877\",,\"6,710\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"198.21.77.227\"\n\"September 20th 2015, 09:25:35.294\",,\"2,363\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.68.89.92\"\n\"September 20th 2015, 09:25:34.095\",,\"6,050\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.115.81.216\"\n\"September 20th 2015, 09:25:24.360\",,\"2,832\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.121.197.80\"\n\"September 20th 2015, 09:25:24.048\",,\"2,432\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.38.138.172\"\n\"September 20th 2015, 09:25:23.572\",,\"7,675\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"32.146.206.24\"\n\"September 20th 2015, 09:25:22.096\",,\"14,612\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"86.252.46.140\"\n\"September 20th 2015, 09:25:07.435\",,\"6,475\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.147.159.107\"\n\"September 20th 2015, 09:25:00.881\",,\"9,673\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"218.248.177.77\"\n\"September 20th 2015, 09:25:00.755\",,\"14,467\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"232.144.75.220\"\n\"September 20th 2015, 09:24:55.525\",,\"3,836\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"92.153.81.10\"\n\"September 20th 2015, 09:24:44.759\",,\"6,560\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.89.226.36\"\n\"September 20th 2015, 09:24:41.750\",,\"16,969\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"149.150.67.234\"\n\"September 20th 2015, 09:24:00.050\",,\"5,124\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.234.255.241\"\n\"September 20th 2015, 09:23:59.924\",,\"8,536\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.136.173.80\"\n\"September 20th 2015, 09:23:42.498\",,\"3,568\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.192.80.162\"\n\"September 20th 2015, 09:23:34.979\",,\"9,773\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"124.187.220.168\"\n\"September 20th 2015, 09:23:31.037\",,\"4,847\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.167.54.119\"\n\"September 20th 2015, 09:23:28.479\",,\"3,253\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.200.30.34\"\n\"September 20th 2015, 09:23:26.882\",,\"3,278\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"195.62.0.145\"\n\"September 20th 2015, 09:22:57.412\",,\"2,284\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.220.227.11\"\n\"September 20th 2015, 09:22:49.315\",,\"4,285\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.58.22.109\"\n\"September 20th 2015, 09:22:45.960\",,\"3,144\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.93.29.126\"\n\"September 20th 2015, 09:22:39.219\",,\"3,628\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.158.217.196\"\n\"September 20th 2015, 09:22:28.260\",,\"1,591\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.136.156.225\"\n\"September 20th 2015, 09:22:23.138\",,\"4,671\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"208.255.16.81\"\n\"September 20th 2015, 09:22:20.490\",,\"6,200\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.191.39.198\"\n\"September 20th 2015, 09:22:16.665\",,\"7,013\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"35.88.165.183\"\n\"September 20th 2015, 09:22:11.454\",,\"6,655\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.119.119.38\"\n\"September 20th 2015, 09:22:00.713\",,\"9,003\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"98.86.132.152\"\n\"September 20th 2015, 09:21:58.404\",,\"6,931\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.219.65.244\"\n\"September 20th 2015, 09:21:26.078\",,\"8,094\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.135.248.113\"\n\"September 20th 2015, 09:21:01.844\",,\"4,203\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"90.156.163.220\"\n\"September 20th 2015, 09:20:56.945\",,\"9,479\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.220.227.11\"\n\"September 20th 2015, 09:20:56.428\",,\"7,756\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.115.81.216\"\n\"September 20th 2015, 09:20:51.119\",,\"6,314\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"165.150.252.187\"\n\"September 20th 2015, 09:20:45.984\",,\"1,801\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.107.74.6\"\n\"September 20th 2015, 09:20:26.431\",,\"6,624\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.5.110.41\"\n\"September 20th 2015, 09:20:25.596\",,\"9,270\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.192.144.100\"\n\"September 20th 2015, 09:20:14.058\",,\"7,927\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"36.185.52.71\"\n\"September 20th 2015, 09:19:59.693\",,\"6,182\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.141.52.142\"\n\"September 20th 2015, 09:19:50.085\",,\"5,722\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.219.108.141\"\n\"September 20th 2015, 09:19:35.836\",,\"6,906\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"203.239.228.151\"\n\"September 20th 2015, 09:19:34.740\",,\"2,882\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.83.92.252\"\n\"September 20th 2015, 09:19:24.075\",,\"3,832\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.208.223.252\"\n\"September 20th 2015, 09:19:19.223\",,\"6,181\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.7.244.68\"\n\"September 20th 2015, 09:19:11.345\",,\"5,054\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.223.100.33\"\n\"September 20th 2015, 09:18:58.632\",,\"7,672\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"105.82.36.95\"\n\"September 20th 2015, 09:18:51.777\",,\"5,266\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.225.104.159\"\n\"September 20th 2015, 09:18:46.690\",,\"8,848\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"65.135.134.42\"\n\"September 20th 2015, 09:18:44.263\",,\"5,928\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.27.102.199\"\n\"September 20th 2015, 09:18:25.477\",,\"7,014\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"164.185.40.249\"\n\"September 20th 2015, 09:18:09.825\",,\"4,036\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.216.169.176\"\n\"September 20th 2015, 09:18:03.622\",,\"9,303\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.148.228.141\"\n\"September 20th 2015, 09:18:03.403\",,\"7,163\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"43.123.164.190\"\n\"September 20th 2015, 09:17:53.369\",,\"3,155\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"2.7.11.95\"\n\"September 20th 2015, 09:17:48.924\",,\"3,381\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"3.200.198.147\"\n\"September 20th 2015, 09:17:48.498\",,\"6,791\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"106.217.103.105\"\n\"September 20th 2015, 09:17:25.449\",,\"5,673\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.6.99.158\"\n\"September 20th 2015, 09:17:18.446\",,\"7,444\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.220.3.248\"\n\"September 20th 2015, 09:17:13.338\",,\"2,398\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"241.49.31.82\"\n\"September 20th 2015, 09:17:09.656\",,\"5,209\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.3.115.126\"\n\"September 20th 2015, 09:17:06.643\",,\"5,188\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.54.151.5\"\n\"September 20th 2015, 09:17:05.933\",,\"3,873\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"126.112.222.13\"\n\"September 20th 2015, 09:16:53.152\",,\"6,087\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"101.43.176.190\"\n\"September 20th 2015, 09:16:47.977\",,\"2,230\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.165.237.200\"\n\"September 20th 2015, 09:16:47.609\",,\"1,891\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"169.228.188.120\"\n\"September 20th 2015, 09:16:45.521\",,\"9,265\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.161.247.172\"\n\"September 20th 2015, 09:16:45.012\",,\"2,168\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.44.243.247\"\n\"September 20th 2015, 09:16:38.058\",,\"6,607\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.251.72.171\"\n\"September 20th 2015, 09:16:25.471\",,\"7,446\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"199.113.69.162\"\n\"September 20th 2015, 09:16:14.747\",,\"18,898\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.219.65.244\"\n\"September 20th 2015, 09:15:57.663\",,\"3,271\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.115.184.133\"\n\"September 20th 2015, 09:15:52.948\",,\"7,841\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"168.174.35.186\"\n\"September 20th 2015, 09:15:51.385\",,\"4,500\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.15.54.136\"\n\"September 20th 2015, 09:15:48.197\",,\"7,946\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"52.158.88.35\"\n\"September 20th 2015, 09:15:46.642\",,\"9,235\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.116.186.0\"\n\"September 20th 2015, 09:15:25.251\",,\"5,672\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.172.42.72\"\n\"September 20th 2015, 09:15:13.253\",,\"1,712\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.29.249.167\"\n\"September 20th 2015, 09:15:00.112\",,\"9,407\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.157.227.112\"\n\"September 20th 2015, 09:14:59.997\",,\"8,431\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"155.155.226.58\"\n\"September 20th 2015, 09:14:59.004\",,\"3,882\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"235.115.221.35\"\n\"September 20th 2015, 09:14:43.223\",,\"16,775\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.242.201.206\"\n\"September 20th 2015, 09:14:34.478\",,\"3,569\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"143.84.142.7\"\n\"September 20th 2015, 09:14:28.746\",,\"2,496\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.166.42.220\"\n\"September 20th 2015, 09:14:21.331\",,\"8,743\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"133.211.153.90\"\n\"September 20th 2015, 09:14:15.972\",,\"8,790\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.105.235.122\"\n\"September 20th 2015, 09:14:11.094\",,\"9,316\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"11.195.163.57\"\n\"September 20th 2015, 09:13:56.731\",,\"9,037\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.210.244.94\"\n\"September 20th 2015, 09:13:34.937\",,\"1,709\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.54.235.229\"\n\"September 20th 2015, 09:13:29.598\",,\"3,153\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.84.146.72\"\n\"September 20th 2015, 09:13:29.531\",,\"7,241\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"250.208.48.188\"\n\"September 20th 2015, 09:13:24.944\",,\"6,386\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"225.42.74.240\"\n\"September 20th 2015, 09:13:21.533\",,\"3,575\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.11.66.39\"\n\"September 20th 2015, 09:13:13.765\",,\"2,542\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"52.200.4.172\"\n\"September 20th 2015, 09:13:06.930\",,\"3,559\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"244.172.153.74\"\n\"September 20th 2015, 09:13:04.736\",,\"7,094\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.84.248.187\"\n\"September 20th 2015, 09:12:51.804\",,\"6,241\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.110.56.1\"\n\"September 20th 2015, 09:12:46.501\",,\"6,853\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.119.119.38\"\n\"September 20th 2015, 09:12:24.113\",,\"1,973\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.3.32.15\"\n\"September 20th 2015, 09:12:22.885\",,\"5,056\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.55.195.184\"\n\"September 20th 2015, 09:12:04.559\",,\"2,565\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.255.142.177\"\n\"September 20th 2015, 09:11:44.821\",,\"7,985\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"232.144.75.220\"\n\"September 20th 2015, 09:11:39.534\",,\"5,724\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.99.166.92\"\n\"September 20th 2015, 09:11:22.999\",,\"8,438\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.233.207.177\"\n\"September 20th 2015, 09:11:21.784\",,\"5,501\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.55.175.148\"\n\"September 20th 2015, 09:11:09.492\",,\"2,674\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.49.31.82\"\n\"September 20th 2015, 09:11:06.070\",,\"9,291\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"0.53.251.53\"\n\"September 20th 2015, 09:10:58.161\",,\"2,722\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.44.243.247\"\n\"September 20th 2015, 09:10:57.664\",,\"2,412\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"248.163.75.193\"\n\"September 20th 2015, 09:10:40.604\",,\"19,814\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.113.219.30\"\n\"September 20th 2015, 09:10:35.977\",,\"6,045\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"212.39.75.221\"\n\"September 20th 2015, 09:10:29.210\",,\"9,557\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.133.22.163\"\n\"September 20th 2015, 09:10:09.136\",,\"9,031\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.210.116.210\"\n\"September 20th 2015, 09:10:03.898\",,\"7,819\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.19.155.203\"\n\"September 20th 2015, 09:09:58.296\",,\"19,685\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.219.72.105\"\n\"September 20th 2015, 09:09:32.185\",,\"4,873\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.223.214.184\"\n\"September 20th 2015, 09:09:27.330\",,\"6,346\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.25.39.187\"\n\"September 20th 2015, 09:09:22.977\",,\"2,776\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"144.31.154.6\"\n\"September 20th 2015, 09:09:21.862\",,\"5,353\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"251.47.79.172\"\n\"September 20th 2015, 09:09:17.207\",,\"4,099\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.55.195.184\"\n\"September 20th 2015, 09:09:16.470\",,\"3,528\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"234.58.25.145\"\n\"September 20th 2015, 09:09:14.653\",,\"14,123\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.219.65.244\"\n\"September 20th 2015, 09:09:12.077\",,\"2,100\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"91.10.173.138\"\n\"September 20th 2015, 09:09:07.811\",,\"13,197\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.135.88.86\"\n\"September 20th 2015, 09:08:37.268\",,\"9,861\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.156.46.205\"\n\"September 20th 2015, 09:08:28.576\",,\"6,486\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.34.86.215\"\n\"September 20th 2015, 09:08:25.483\",,\"8,209\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.27.68.62\"\n\"September 20th 2015, 09:08:24.834\",,\"7,804\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"101.130.216.47\"\n\"September 20th 2015, 09:08:18.576\",,\"5,825\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"113.43.75.122\"\n\"September 20th 2015, 09:08:15.471\",,\"16,357\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.252.219.9\"\n\"September 20th 2015, 09:08:15.219\",,\"5,917\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.244.83.137\"\n\"September 20th 2015, 09:08:12.595\",,\"4,534\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"4.125.116.118\"\n\"September 20th 2015, 09:08:12.150\",,\"5,700\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.21.156.43\"\n\"September 20th 2015, 09:08:04.994\",,\"7,964\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.129.117.216\"\n\"September 20th 2015, 09:08:00.710\",,\"1,873\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.215.211.142\"\n\"September 20th 2015, 09:07:44.510\",,\"4,294\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.215.43.26\"\n\"September 20th 2015, 09:07:41.882\",,\"3,232\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.150.67.234\"\n\"September 20th 2015, 09:07:39.212\",,\"3,929\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"186.182.14.125\"\n\"September 20th 2015, 09:07:37.694\",,\"9,660\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"218.248.177.77\"\n\"September 20th 2015, 09:07:31.817\",,\"3,068\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.202.198.155\"\n\"September 20th 2015, 09:07:30.874\",,\"8,217\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"120.101.20.104\"\n\"September 20th 2015, 09:07:02.171\",,\"6,881\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.56.90.184\"\n\"September 20th 2015, 09:06:50.442\",,\"6,286\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.139.46.29\"\n\"September 20th 2015, 09:06:40.399\",,\"7,305\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.80.12.188\"\n\"September 20th 2015, 09:06:35.283\",,\"3,915\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.165.237.200\"\n\"September 20th 2015, 09:06:16.993\",,\"5,819\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"14.54.226.211\"\n\"September 20th 2015, 09:06:15.258\",,\"8,095\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.175.109.124\"\n\"September 20th 2015, 09:06:11.360\",,\"4,993\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"121.34.210.235\"\n\"September 20th 2015, 09:06:07.573\",,\"2,334\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"234.65.112.109\"\n\"September 20th 2015, 09:06:03.589\",,\"4,898\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"195.233.186.3\"\n\"September 20th 2015, 09:06:03.575\",,\"9,846\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.224.4.183\"\n\"September 20th 2015, 09:06:02.986\",,\"7,070\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"246.180.120.21\"\n\"September 20th 2015, 09:06:00.945\",,\"2,136\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.171.34.42\"\n\"September 20th 2015, 09:05:25.655\",,\"9,411\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"94.154.194.208\"\n\"September 20th 2015, 09:05:11.248\",,\"5,228\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.199.255.8\"\n\"September 20th 2015, 09:05:07.043\",,\"6,178\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"178.122.0.0\"\n\"September 20th 2015, 09:04:59.447\",,\"9,146\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"50.46.74.105\"\n\"September 20th 2015, 09:04:48.145\",,\"8,079\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.106.79.211\"\n\"September 20th 2015, 09:04:39.505\",,\"6,021\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.94.120.10\"\n\"September 20th 2015, 09:04:35.393\",,\"7,859\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.248.17.146\"\n\"September 20th 2015, 09:04:28.854\",,\"9,733\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.98.248.112\"\n\"September 20th 2015, 09:04:20.308\",,\"5,523\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"161.108.174.248\"\n\"September 20th 2015, 09:04:11.592\",,\"2,638\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.65.30.133\"\n\"September 20th 2015, 09:04:10.971\",,\"6,630\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"41.210.252.157\"\n\"September 20th 2015, 09:04:09.892\",,\"5,701\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"181.209.116.94\"\n\"September 20th 2015, 09:04:02.720\",,\"4,314\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"186.123.19.234\"\n\"September 20th 2015, 09:04:00.001\",,\"7,216\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"195.62.0.145\"\n\"September 20th 2015, 09:03:59.953\",,\"9,835\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.51.178.50\"\n\"September 20th 2015, 09:03:58.113\",,\"2,689\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.33.43.147\"\n\"September 20th 2015, 09:03:56.685\",,\"9,855\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.132.193.95\"\n\"September 20th 2015, 09:03:44.618\",,\"4,847\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.37.151.239\"\n\"September 20th 2015, 09:03:38.349\",,\"5,971\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.199.42.50\"\n\"September 20th 2015, 09:03:06.764\",,\"5,309\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.186.79.201\"\n\"September 20th 2015, 09:03:03.546\",,\"17,143\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.126.255.31\"\n\"September 20th 2015, 09:03:01.519\",,\"5,563\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"36.160.226.203\"\n\"September 20th 2015, 09:02:59.226\",,\"8,246\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"105.47.117.171\"\n\"September 20th 2015, 09:02:47.744\",,\"3,982\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"30.36.151.195\"\n\"September 20th 2015, 09:02:44.136\",,\"5,028\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.255.142.177\"\n\"September 20th 2015, 09:02:40.423\",,\"11,669\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.13.7.53\"\n\"September 20th 2015, 09:02:31.435\",,\"8,439\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"231.192.80.162\"\n\"September 20th 2015, 09:02:27.678\",,\"1,866\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.75.97.203\"\n\"September 20th 2015, 09:02:19.188\",,\"5,177\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"54.194.215.29\"\n\"September 20th 2015, 09:02:14.290\",,\"5,320\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.117.248.129\"\n\"September 20th 2015, 09:02:01.833\",,\"6,296\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.205.46.255\"\n\"September 20th 2015, 09:01:54.841\",,\"9,418\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.214.104.239\"\n\"September 20th 2015, 09:01:42.638\",,\"2,271\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"247.129.16.191\"\n\"September 20th 2015, 09:01:27.718\",,\"4,726\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.0.188.251\"\n\"September 20th 2015, 09:01:15.571\",,\"5,540\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.161.172.168\"\n\"September 20th 2015, 09:01:06.496\",,\"3,200\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.62.159.102\"\n\"September 20th 2015, 09:01:02.848\",,\"6,598\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.117.3.60\"\n\"September 20th 2015, 09:00:59.964\",,\"7,516\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.95.6.196\"\n\"September 20th 2015, 09:00:58.368\",,\"4,663\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.86.105.212\"\n\"September 20th 2015, 09:00:43.762\",,\"8,946\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.206.227.106\"\n\"September 20th 2015, 09:00:38.602\",,\"7,539\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"188.53.50.20\"\n\"September 20th 2015, 09:00:34.024\",,\"7,789\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.15.162.241\"\n\"September 20th 2015, 09:00:14.316\",,\"3,869\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.87.17.249\"\n\"September 20th 2015, 09:00:11.922\",,\"6,954\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.166.248.214\"\n\"September 20th 2015, 09:00:08.899\",,\"3,160\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.119.62.60\"\n\"September 20th 2015, 08:59:46.438\",,\"6,948\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"195.233.186.3\"\n\"September 20th 2015, 08:59:29.515\",,\"8,540\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.245.252.224\"\n\"September 20th 2015, 08:59:23.635\",,\"8,268\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.255.16.81\"\n\"September 20th 2015, 08:58:57.068\",,\"8,845\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"141.22.228.100\"\n\"September 20th 2015, 08:58:51.405\",,\"6,806\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"2.229.49.222\"\n\"September 20th 2015, 08:58:43.425\",,\"9,682\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"36.185.52.71\"\n\"September 20th 2015, 08:58:39.482\",,\"6,922\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.153.51.78\"\n\"September 20th 2015, 08:58:38.811\",,\"8,469\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"157.39.25.197\"\n\"September 20th 2015, 08:58:32.215\",,\"3,593\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"211.0.102.190\"\n\"September 20th 2015, 08:58:29.799\",,\"4,964\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"217.44.155.137\"\n\"September 20th 2015, 08:58:22.004\",,\"5,962\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"165.104.70.8\"\n\"September 20th 2015, 08:58:17.053\",,\"4,360\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.241.34.0\"\n\"September 20th 2015, 08:58:12.366\",,\"9,280\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.80.35.243\"\n\"September 20th 2015, 08:58:07.393\",,\"3,923\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"157.39.25.197\"\n\"September 20th 2015, 08:57:57.689\",,\"9,479\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.75.94.8\"\n\"September 20th 2015, 08:57:54.471\",,\"13,310\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.140.171.133\"\n\"September 20th 2015, 08:57:43.645\",,\"5,298\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.79.151.78\"\n\"September 20th 2015, 08:57:28.736\",,\"6,596\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.218.92.179\"\n\"September 20th 2015, 08:57:24.462\",,\"7,525\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.254.96.42\"\n\"September 20th 2015, 08:57:18.777\",,\"1,670\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"219.33.16.83\"\n\"September 20th 2015, 08:57:16.226\",,\"4,912\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.129.217.122\"\n\"September 20th 2015, 08:57:11.224\",,\"2,506\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.123.55.136\"\n\"September 20th 2015, 08:57:10.312\",,\"5,003\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.166.42.220\"\n\"September 20th 2015, 08:56:41.005\",,\"9,975\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.129.217.122\"\n\"September 20th 2015, 08:56:39.386\",,\"3,248\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"148.134.9.77\"\n\"September 20th 2015, 08:56:28.178\",,\"8,722\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"5.206.32.88\"\n\"September 20th 2015, 08:56:27.014\",,\"2,941\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.65.205.98\"\n\"September 20th 2015, 08:56:24.824\",,\"1,851\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.84.238.1\"\n\"September 20th 2015, 08:56:22.038\",,\"9,641\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"118.163.20.44\"\n\"September 20th 2015, 08:56:05.976\",,\"8,962\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"141.241.46.95\"\n\"September 20th 2015, 08:56:05.711\",,\"2,337\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.105.165.220\"\n\"September 20th 2015, 08:55:56.649\",,\"6,093\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.219.108.141\"\n\"September 20th 2015, 08:55:54.847\",,\"10,589\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.44.130.70\"\n\"September 20th 2015, 08:55:50.734\",,\"4,965\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.147.159.107\"\n\"September 20th 2015, 08:55:41.842\",,\"6,204\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.79.189.11\"\n\"September 20th 2015, 08:55:17.418\",,\"5,550\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.248.17.146\"\n\"September 20th 2015, 08:55:10.661\",,\"5,225\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.22.228.100\"\n\"September 20th 2015, 08:54:57.694\",,\"2,376\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.75.97.203\"\n\"September 20th 2015, 08:54:56.685\",,\"5,387\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"68.107.5.226\"\n\"September 20th 2015, 08:54:54.651\",,\"9,229\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.213.56.203\"\n\"September 20th 2015, 08:54:45.653\",,\"4,713\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.1.142.144\"\n\"September 20th 2015, 08:54:39.674\",,\"3,832\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.66.60.152\"\n\"September 20th 2015, 08:54:36.335\",,\"6,411\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"167.26.56.145\"\n\"September 20th 2015, 08:54:28.224\",,\"2,060\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.58.158.234\"\n\"September 20th 2015, 08:54:22.224\",,\"7,585\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"82.40.137.38\"\n\"September 20th 2015, 08:54:18.961\",,\"8,639\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.98.69.166\"\n\"September 20th 2015, 08:54:17.292\",,\"9,309\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.7.121.157\"\n\"September 20th 2015, 08:54:12.586\",,\"5,576\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.208.223.252\"\n\"September 20th 2015, 08:54:09.624\",,\"3,893\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.56.56.106\"\n\"September 20th 2015, 08:54:04.499\",,\"4,657\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"51.70.170.56\"\n\"September 20th 2015, 08:54:03.900\",,\"6,710\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"75.246.160.14\"\n\"September 20th 2015, 08:53:44.745\",,\"6,318\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"169.228.188.120\"\n\"September 20th 2015, 08:53:26.801\",,\"9,543\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.172.42.72\"\n\"September 20th 2015, 08:53:14.783\",,\"3,515\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"102.191.15.62\"\n\"September 20th 2015, 08:53:10.495\",,\"5,937\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.55.80.52\"\n\"September 20th 2015, 08:52:56.923\",,\"3,812\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.94.183.177\"\n\"September 20th 2015, 08:52:54.453\",,\"2,626\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.223.214.184\"\n\"September 20th 2015, 08:52:32.197\",,\"2,372\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"7.176.253.57\"\n\"September 20th 2015, 08:52:30.413\",,\"3,849\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.245.252.224\"\n\"September 20th 2015, 08:52:13.120\",,\"4,301\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"146.228.193.188\"\n\"September 20th 2015, 08:52:04.452\",,\"8,020\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.106.209.231\"\n\"September 20th 2015, 08:51:58.949\",,\"4,197\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.208.15.12\"\n\"September 20th 2015, 08:51:58.289\",,\"7,033\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.222.56.247\"\n\"September 20th 2015, 08:51:52.002\",,\"2,919\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"0.108.3.2\"\n\"September 20th 2015, 08:51:47.670\",,\"4,624\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.66.60.152\"\n\"September 20th 2015, 08:51:45.329\",,\"6,668\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.102.200.168\"\n\"September 20th 2015, 08:51:43.735\",,\"2,756\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"215.152.176.23\"\n\"September 20th 2015, 08:51:33.009\",,\"8,133\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.211.13.64\"\n\"September 20th 2015, 08:51:31.612\",,\"8,635\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"36.185.52.71\"\n\"September 20th 2015, 08:51:18.336\",,\"12,911\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.117.173.67\"\n\"September 20th 2015, 08:51:09.852\",,\"2,733\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.80.12.188\"\n\"September 20th 2015, 08:51:08.166\",,\"4,709\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.27.63.249\"\n\"September 20th 2015, 08:50:59.126\",,\"8,566\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.106.29.25\"\n\"September 20th 2015, 08:50:45.554\",,\"9,577\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.23.191.85\"\n\"September 20th 2015, 08:50:39.231\",,\"4,136\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.87.49.40\"\n\"September 20th 2015, 08:50:35.061\",,\"7,606\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.6.126.193\"\n\"September 20th 2015, 08:50:32.816\",,\"5,639\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"8.248.237.182\"\n\"September 20th 2015, 08:50:32.450\",,\"3,090\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"54.194.215.29\"\n\"September 20th 2015, 08:50:29.738\",,\"5,657\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.143.20.221\"\n\"September 20th 2015, 08:50:29.217\",,\"1,231\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.74.144.217\"\n\"September 20th 2015, 08:50:10.761\",,\"8,320\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"6.70.186.143\"\n\"September 20th 2015, 08:50:03.949\",,\"8,666\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"96.222.137.213\"\n\"September 20th 2015, 08:49:41.047\",,\"7,831\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.102.200.168\"\n\"September 20th 2015, 08:48:59.308\",,\"6,930\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.83.143.132\"\n\"September 20th 2015, 08:48:53.501\",,\"3,938\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.58.145.175\"\n\"September 20th 2015, 08:48:52.550\",,\"1,651\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.59.94.122\"\n\"September 20th 2015, 08:48:51.212\",,\"4,657\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"104.87.105.86\"\n\"September 20th 2015, 08:48:39.963\",,\"3,507\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.223.87.67\"\n\"September 20th 2015, 08:48:33.942\",,\"1,681\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.255.221.0\"\n\"September 20th 2015, 08:48:31.923\",,\"6,537\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.98.248.112\"\n\"September 20th 2015, 08:48:24.166\",,\"2,452\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.96.96.191\"\n\"September 20th 2015, 08:48:24.029\",,\"6,330\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.127.51.83\"\n\"September 20th 2015, 08:48:23.997\",,\"3,476\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"52.49.164.228\"\n\"September 20th 2015, 08:48:09.701\",,\"6,062\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"127.219.223.182\"\n\"September 20th 2015, 08:48:04.939\",,\"9,778\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.156.219.144\"\n\"September 20th 2015, 08:47:57.035\",,\"2,295\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"12.102.47.119\"\n\"September 20th 2015, 08:47:35.969\",,\"4,894\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.39.140.144\"\n\"September 20th 2015, 08:47:31.166\",,\"12,546\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.108.3.2\"\n\"September 20th 2015, 08:47:21.992\",,\"4,650\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.127.51.83\"\n\"September 20th 2015, 08:47:16.412\",,\"6,696\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.21.156.43\"\n\"September 20th 2015, 08:47:10.058\",,\"3,333\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"30.149.85.183\"\n\"September 20th 2015, 08:47:00.690\",,\"9,358\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.96.96.191\"\n\"September 20th 2015, 08:46:52.542\",,\"8,202\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"166.25.218.240\"\n\"September 20th 2015, 08:46:45.109\",,\"9,103\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.160.128.58\"\n\"September 20th 2015, 08:46:42.983\",,\"9,797\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"185.148.221.121\"\n\"September 20th 2015, 08:46:29.551\",,\"2,400\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.225.249.114\"\n\"September 20th 2015, 08:46:20.636\",,\"8,467\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"242.22.22.10\"\n\"September 20th 2015, 08:46:15.661\",,\"3,584\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.249.202.59\"\n\"September 20th 2015, 08:46:14.213\",,\"1,841\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.42.189.244\"\n\"September 20th 2015, 08:46:08.758\",,\"11,885\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"20.178.152.193\"\n\"September 20th 2015, 08:46:08.076\",,\"6,669\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.188.213.247\"\n\"September 20th 2015, 08:45:53.742\",,\"5,387\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.140.171.133\"\n\"September 20th 2015, 08:45:47.118\",,\"5,017\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.159.165.88\"\n\"September 20th 2015, 08:45:35.067\",,\"9,203\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.206.61.6\"\n\"September 20th 2015, 08:45:21.593\",,\"1,974\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.151.155.50\"\n\"September 20th 2015, 08:45:16.070\",,\"3,371\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.26.51.188\"\n\"September 20th 2015, 08:45:14.268\",,\"9,412\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.43.63.180\"\n\"September 20th 2015, 08:45:11.506\",,\"7,863\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.50.129.53\"\n\"September 20th 2015, 08:44:47.907\",,\"8,125\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"63.215.211.142\"\n\"September 20th 2015, 08:44:29.927\",,\"3,935\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.185.234.193\"\n\"September 20th 2015, 08:44:27.151\",,\"4,566\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.40.73.208\"\n\"September 20th 2015, 08:44:23.402\",,\"2,518\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.3.0.125\"\n\"September 20th 2015, 08:44:22.999\",,\"4,767\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"5.206.32.88\"\n\"September 20th 2015, 08:44:22.367\",,\"8,693\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.22.23.73\"\n\"September 20th 2015, 08:44:22.254\",,\"2,256\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.11.74.125\"\n\"September 20th 2015, 08:44:12.027\",,\"3,924\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.5.110.41\"\n\"September 20th 2015, 08:43:49.394\",,\"2,403\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.171.34.42\"\n\"September 20th 2015, 08:43:48.977\",,\"4,082\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"184.101.186.240\"\n\"September 20th 2015, 08:43:31.923\",,\"12,557\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.185.158.249\"\n\"September 20th 2015, 08:43:22.780\",,\"3,025\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"24.186.122.118\"\n\"September 20th 2015, 08:43:02.216\",,\"15,033\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"242.22.22.10\"\n\"September 20th 2015, 08:42:22.691\",,\"3,835\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"65.135.134.42\"\n\"September 20th 2015, 08:41:59.726\",,\"5,949\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"229.53.125.87\"\n\"September 20th 2015, 08:41:57.815\",,\"7,721\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"188.56.164.24\"\n\"September 20th 2015, 08:41:48.326\",,\"1,998\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.92.235.117\"\n\"September 20th 2015, 08:41:44.810\",,\"9,298\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"71.169.104.184\"\n\"September 20th 2015, 08:41:23.525\",,\"9,859\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.28.27.24\"\n\"September 20th 2015, 08:41:20.111\",,\"3,158\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.57.7.61\"\n\"September 20th 2015, 08:41:09.279\",,\"6,840\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.7.97.184\"\n\"September 20th 2015, 08:40:23.078\",,\"8,775\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.98.69.166\"\n\"September 20th 2015, 08:40:19.920\",,\"1,548\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"217.44.155.137\"\n\"September 20th 2015, 08:40:06.380\",,\"5,688\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.253.222.16\"\n\"September 20th 2015, 08:39:53.367\",,\"4,339\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.29.90.185\"\n\"September 20th 2015, 08:39:52.208\",,\"9,195\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.58.247.117\"\n\"September 20th 2015, 08:39:46.993\",,\"1,902\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.121.116.124\"\n\"September 20th 2015, 08:39:39.084\",,\"3,557\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"13.193.146.83\"\n\"September 20th 2015, 08:39:35.371\",,\"8,930\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"231.169.195.137\"\n\"September 20th 2015, 08:39:31.746\",,\"2,665\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"133.211.153.90\"\n\"September 20th 2015, 08:39:20.481\",,\"19,923\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"148.134.9.77\"\n\"September 20th 2015, 08:39:10.824\",,\"7,817\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.70.170.56\"\n\"September 20th 2015, 08:39:10.501\",,\"9,221\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.197.178.155\"\n\"September 20th 2015, 08:38:55.960\",,\"5,619\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"223.237.148.2\"\n\"September 20th 2015, 08:38:54.429\",,\"16,437\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.120.60.102\"\n\"September 20th 2015, 08:38:42.272\",,\"1,954\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.34.138.226\"\n\"September 20th 2015, 08:38:36.255\",,\"7,621\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.99.243.183\"\n\"September 20th 2015, 08:38:16.672\",,\"6,347\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.236.3.119\"\n\"September 20th 2015, 08:38:02.194\",,\"8,469\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.150.146.102\"\n\"September 20th 2015, 08:37:53.959\",,\"9,577\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"203.118.132.112\"\n\"September 20th 2015, 08:37:37.353\",,\"7,494\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.27.68.62\"\n\"September 20th 2015, 08:37:30.944\",,\"4,246\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.133.180.245\"\n\"September 20th 2015, 08:37:25.532\",,\"10,017\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.138.70.255\"\n\"September 20th 2015, 08:37:16.090\",,\"7,890\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"202.123.188.108\"\n\"September 20th 2015, 08:36:59.565\",,\"5,928\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.89.73.11\"\n\"September 20th 2015, 08:36:55.352\",,\"17,785\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"28.3.30.170\"\n\"September 20th 2015, 08:36:40.862\",,\"5,258\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.120.103.28\"\n\"September 20th 2015, 08:36:38.989\",,\"2,533\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.80.208.225\"\n\"September 20th 2015, 08:36:26.659\",,\"6,176\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.222.56.247\"\n\"September 20th 2015, 08:36:05.941\",,\"7,169\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"219.33.16.83\"\n\"September 20th 2015, 08:36:03.886\",,\"1,832\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.250.60.205\"\n\"September 20th 2015, 08:35:55.746\",,\"4,388\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.237.64.228\"\n\"September 20th 2015, 08:35:49.483\",,\"4,760\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"41.210.252.157\"\n\"September 20th 2015, 08:35:49.207\",,\"7,867\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.136.156.225\"\n\"September 20th 2015, 08:35:48.112\",,\"9,479\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"14.128.128.34\"\n\"September 20th 2015, 08:35:46.175\",,\"2,102\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"177.69.169.33\"\n\"September 20th 2015, 08:35:38.800\",,\"8,171\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.192.52.3\"\n\"September 20th 2015, 08:35:36.982\",,\"5,959\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.208.223.252\"\n\"September 20th 2015, 08:35:27.810\",,\"1,559\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.34.210.235\"\n\"September 20th 2015, 08:35:24.331\",,\"9,146\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"13.1.75.232\"\n\"September 20th 2015, 08:35:16.811\",,\"7,052\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.117.173.67\"\n\"September 20th 2015, 08:34:59.794\",,\"18,202\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"30.36.151.195\"\n\"September 20th 2015, 08:34:59.039\",,\"1,703\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.83.52.239\"\n\"September 20th 2015, 08:34:54.862\",,\"5,449\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"24.78.153.162\"\n\"September 20th 2015, 08:34:42.837\",,\"9,908\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.26.51.188\"\n\"September 20th 2015, 08:34:42.375\",,\"3,895\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.83.76.140\"\n\"September 20th 2015, 08:34:41.080\",,\"2,420\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.122.121.230\"\n\"September 20th 2015, 08:34:35.545\",,\"5,944\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.209.80.244\"\n\"September 20th 2015, 08:34:30.949\",,\"8,880\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.177.125.196\"\n\"September 20th 2015, 08:34:28.913\",,\"9,458\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"165.24.164.93\"\n\"September 20th 2015, 08:34:22.964\",,\"9,732\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.109.145.217\"\n\"September 20th 2015, 08:34:22.789\",,\"8,207\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.165.237.200\"\n\"September 20th 2015, 08:34:20.303\",,\"9,902\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"28.46.60.20\"\n\"September 20th 2015, 08:34:15.853\",,\"6,726\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.223.87.67\"\n\"September 20th 2015, 08:34:14.837\",,\"4,566\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.162.138.2\"\n\"September 20th 2015, 08:34:01.096\",,\"4,310\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.219.87.110\"\n\"September 20th 2015, 08:33:59.227\",,\"3,674\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.121.116.124\"\n\"September 20th 2015, 08:33:53.435\",,\"8,805\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.79.142.15\"\n\"September 20th 2015, 08:33:47.843\",,\"3,863\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"118.163.20.44\"\n\"September 20th 2015, 08:33:37.449\",,\"7,180\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"241.45.143.98\"\n\"September 20th 2015, 08:33:25.580\",,\"3,937\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.84.238.1\"\n\"September 20th 2015, 08:33:11.527\",,\"3,844\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"36.185.52.71\"\n\"September 20th 2015, 08:33:00.426\",,\"8,925\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.227.142.190\"\n\"September 20th 2015, 08:32:58.736\",,\"2,011\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.224.131.67\"\n\"September 20th 2015, 08:32:53.668\",,\"8,421\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.246.146.22\"\n\"September 20th 2015, 08:32:46.489\",,\"7,224\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.74.138.136\"\n\"September 20th 2015, 08:32:45.024\",,\"6,762\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.27.68.62\"\n\"September 20th 2015, 08:32:16.652\",,\"5,142\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"236.110.56.1\"\n\"September 20th 2015, 08:31:42.956\",,\"8,737\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.195.208.118\"\n\"September 20th 2015, 08:31:19.453\",,\"8,016\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.16.207.3\"\n\"September 20th 2015, 08:30:50.447\",,\"5,379\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"148.134.9.77\"\n\"September 20th 2015, 08:30:44.166\",,\"8,792\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"36.185.52.71\"\n\"September 20th 2015, 08:30:43.825\",,\"6,277\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"219.33.16.83\"\n\"September 20th 2015, 08:30:43.254\",,\"14,571\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.218.253.140\"\n\"September 20th 2015, 08:30:34.735\",,\"8,534\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.160.128.58\"\n\"September 20th 2015, 08:30:33.330\",,\"2,915\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"11.195.111.241\"\n\"September 20th 2015, 08:30:32.531\",,\"4,054\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.62.90.237\"\n\"September 20th 2015, 08:30:29.692\",,\"5,500\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.212.173.15\"\n\"September 20th 2015, 08:30:27.335\",,\"4,489\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.80.208.225\"\n\"September 20th 2015, 08:30:20.626\",,\"9,188\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"166.25.218.240\"\n\"September 20th 2015, 08:30:12.513\",,\"8,478\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.139.156.196\"\n\"September 20th 2015, 08:29:47.143\",,\"5,272\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.105.235.122\"\n\"September 20th 2015, 08:29:38.725\",,\"7,176\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.93.29.126\"\n\"September 20th 2015, 08:29:30.053\",,\"5,159\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"177.141.61.131\"\n\"September 20th 2015, 08:29:22.005\",,\"4,616\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"104.142.243.97\"\n\"September 20th 2015, 08:29:07.554\",,\"8,122\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.122.217.55\"\n\"September 20th 2015, 08:29:06.620\",,\"5,916\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"189.34.180.209\"\n\"September 20th 2015, 08:28:50.010\",,\"4,582\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.111.249.239\"\n\"September 20th 2015, 08:28:48.438\",,\"5,965\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"87.54.48.33\"\n\"September 20th 2015, 08:28:45.581\",,\"9,581\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"122.25.161.118\"\n\"September 20th 2015, 08:28:41.620\",,\"2,964\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.181.166.105\"\n\"September 20th 2015, 08:28:41.305\",,\"4,112\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.11.43.220\"\n\"September 20th 2015, 08:28:19.128\",,\"3,070\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.167.54.119\"\n\"September 20th 2015, 08:28:16.602\",,\"3,793\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"175.211.243.56\"\n\"September 20th 2015, 08:28:15.231\",,\"3,637\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.246.146.22\"\n\"September 20th 2015, 08:28:07.447\",,\"9,453\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.107.5.226\"\n\"September 20th 2015, 08:27:57.163\",,\"4,215\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.23.191.85\"\n\"September 20th 2015, 08:27:56.812\",,\"4,294\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.40.73.208\"\n\"September 20th 2015, 08:27:55.085\",,\"2,898\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"247.189.13.239\"\n\"September 20th 2015, 08:27:53.896\",,\"2,167\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"106.142.212.24\"\n\"September 20th 2015, 08:27:49.759\",,\"2,068\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.55.195.184\"\n\"September 20th 2015, 08:27:44.669\",,\"8,479\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.225.247.245\"\n\"September 20th 2015, 08:27:39.219\",,\"6,064\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.119.62.60\"\n\"September 20th 2015, 08:27:34.235\",,\"3,691\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"132.242.0.119\"\n\"September 20th 2015, 08:27:32.265\",,\"6,984\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"104.212.107.0\"\n\"September 20th 2015, 08:27:30.951\",,\"4,188\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.58.244.165\"\n\"September 20th 2015, 08:27:29.350\",,\"9,852\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.172.42.72\"\n\"September 20th 2015, 08:27:24.294\",,\"8,007\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.172.42.72\"\n\"September 20th 2015, 08:27:15.467\",,\"18,215\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"91.217.157.152\"\n\"September 20th 2015, 08:27:11.757\",,\"4,413\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.64.147.41\"\n\"September 20th 2015, 08:26:58.006\",,\"5,430\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"139.104.238.37\"\n\"September 20th 2015, 08:26:54.858\",,\"8,063\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.183.234.114\"\n\"September 20th 2015, 08:26:54.645\",,\"9,468\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.180.120.21\"\n\"September 20th 2015, 08:26:45.004\",,\"5,411\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.157.227.112\"\n\"September 20th 2015, 08:26:40.253\",,\"8,277\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"50.202.67.216\"\n\"September 20th 2015, 08:26:07.717\",,\"4,451\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.71.171.141\"\n\"September 20th 2015, 08:25:53.932\",,\"3,692\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"173.237.216.175\"\n\"September 20th 2015, 08:25:51.417\",,\"2,073\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.132.195.31\"\n\"September 20th 2015, 08:25:48.072\",,\"5,233\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"126.112.222.13\"\n\"September 20th 2015, 08:25:44.925\",,\"19,121\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.121.197.80\"\n\"September 20th 2015, 08:25:36.010\",,\"9,276\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.102.200.168\"\n\"September 20th 2015, 08:25:35.224\",,\"7,011\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.89.226.36\"\n\"September 20th 2015, 08:25:29.255\",,\"6,983\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"24.78.153.162\"\n\"September 20th 2015, 08:25:20.687\",,\"2,947\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"149.138.21.252\"\n\"September 20th 2015, 08:25:10.443\",,\"7,299\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"50.184.86.48\"\n\"September 20th 2015, 08:24:56.983\",,\"6,919\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.127.76.132\"\n\"September 20th 2015, 08:24:54.846\",,\"9,095\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.84.111.185\"\n\"September 20th 2015, 08:24:50.429\",,\"9,946\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.233.202.162\"\n\"September 20th 2015, 08:24:38.654\",,\"7,637\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.27.63.249\"\n\"September 20th 2015, 08:24:33.856\",,\"6,972\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"202.48.108.4\"\n\"September 20th 2015, 08:24:27.858\",,\"7,891\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.86.132.152\"\n\"September 20th 2015, 08:24:09.959\",,\"7,004\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.79.189.11\"\n\"September 20th 2015, 08:24:09.796\",,\"5,992\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"218.186.41.141\"\n\"September 20th 2015, 08:24:06.404\",,\"9,144\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.130.100.179\"\n\"September 20th 2015, 08:23:56.429\",,\"4,447\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.22.226.5\"\n\"September 20th 2015, 08:23:55.225\",,\"7,971\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"159.137.252.66\"\n\"September 20th 2015, 08:23:42.507\",,\"3,605\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.188.1.153\"\n\"September 20th 2015, 08:23:40.586\",,\"9,237\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.27.102.199\"\n\"September 20th 2015, 08:23:35.878\",,\"3,301\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.243.18.67\"\n\"September 20th 2015, 08:23:33.872\",,\"4,631\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"29.160.128.58\"\n\"September 20th 2015, 08:23:33.802\",,\"9,496\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.13.106.139\"\n\"September 20th 2015, 08:23:28.547\",,\"6,593\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.3.32.15\"\n\"September 20th 2015, 08:23:20.602\",,\"5,364\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.3.10.81\"\n\"September 20th 2015, 08:23:07.859\",,\"5,550\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"68.50.129.53\"\n\"September 20th 2015, 08:23:04.595\",,\"4,385\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.127.76.132\"\n\"September 20th 2015, 08:22:46.351\",,\"6,050\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.45.143.98\"\n\"September 20th 2015, 08:22:31.687\",,\"7,429\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.97.64.146\"\n\"September 20th 2015, 08:22:30.417\",,\"3,162\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.201.208.162\"\n\"September 20th 2015, 08:22:13.961\",,\"5,141\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.119.62.60\"\n\"September 20th 2015, 08:22:12.597\",,\"3,468\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.61.106.118\"\n\"September 20th 2015, 08:21:48.523\",,\"8,978\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"158.168.90.226\"\n\"September 20th 2015, 08:21:44.356\",,\"6,806\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.44.130.70\"\n\"September 20th 2015, 08:21:44.259\",,\"1,812\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.113.253.141\"\n\"September 20th 2015, 08:21:31.257\",,\"1,933\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.225.141.240\"\n\"September 20th 2015, 08:21:14.182\",,\"6,223\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.96.131.243\"\n\"September 20th 2015, 08:21:13.095\",,\"6,252\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.240.114.69\"\n\"September 20th 2015, 08:21:02.111\",,\"6,540\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.2.62.18\"\n\"September 20th 2015, 08:20:51.775\",,\"17,372\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"142.155.247.152\"\n\"September 20th 2015, 08:20:46.158\",,\"5,008\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"162.134.126.82\"\n\"September 20th 2015, 08:20:45.413\",,\"5,161\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"249.11.43.220\"\n\"September 20th 2015, 08:20:44.269\",,\"2,898\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.223.164.21\"\n\"September 20th 2015, 08:20:41.246\",,\"2,171\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"67.238.57.221\"\n\"September 20th 2015, 08:20:39.781\",,\"12,929\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"186.123.19.234\"\n\"September 20th 2015, 08:20:36.730\",,\"8,535\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.219.65.244\"\n\"September 20th 2015, 08:20:16.277\",,\"1,981\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.111.6.73\"\n\"September 20th 2015, 08:20:09.540\",,\"6,124\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.17.159.23\"\n\"September 20th 2015, 08:20:03.539\",,\"2,915\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.182.209.84\"\n\"September 20th 2015, 08:19:23.214\",,\"1,837\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"203.239.228.151\"\n\"September 20th 2015, 08:19:17.995\",,\"8,124\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.215.43.26\"\n\"September 20th 2015, 08:19:13.308\",,\"2,550\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"163.123.136.118\"\n\"September 20th 2015, 08:19:11.767\",,\"8,068\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.70.171.86\"\n\"September 20th 2015, 08:19:00.777\",,\"3,416\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"60.71.214.79\"\n\"September 20th 2015, 08:18:57.043\",,\"9,261\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.227.125.229\"\n\"September 20th 2015, 08:18:56.803\",,\"2,629\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.95.6.196\"\n\"September 20th 2015, 08:18:56.437\",,\"6,140\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.148.221.121\"\n\"September 20th 2015, 08:18:56.359\",,\"6,925\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"149.138.21.252\"\n\"September 20th 2015, 08:18:53.849\",,\"8,223\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"235.186.79.201\"\n\"September 20th 2015, 08:18:42.923\",,\"5,382\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.99.243.183\"\n\"September 20th 2015, 08:18:40.174\",,\"5,402\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.58.22.109\"\n\"September 20th 2015, 08:18:32.444\",,\"5,464\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.255.46.138\"\n\"September 20th 2015, 08:18:30.428\",,\"4,812\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.19.155.203\"\n\"September 20th 2015, 08:18:14.467\",,\"4,574\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"154.28.252.79\"\n\"September 20th 2015, 08:18:14.118\",,\"8,803\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"154.79.180.7\"\n\"September 20th 2015, 08:18:11.342\",,\"1,740\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.123.27.0\"\n\"September 20th 2015, 08:18:07.714\",,\"6,313\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.75.97.203\"\n\"September 20th 2015, 08:18:04.496\",,\"5,294\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"149.138.21.252\"\n\"September 20th 2015, 08:18:00.011\",,\"6,318\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.223.100.33\"\n\"September 20th 2015, 08:17:56.222\",,\"9,031\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"180.65.205.98\"\n\"September 20th 2015, 08:17:51.278\",,\"10,693\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"195.233.186.3\"\n\"September 20th 2015, 08:17:48.194\",,\"9,250\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.213.126.12\"\n\"September 20th 2015, 08:17:25.036\",,\"9,880\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.58.145.175\"\n\"September 20th 2015, 08:17:24.624\",,\"5,055\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.207.64.202\"\n\"September 20th 2015, 08:17:24.212\",,\"6,966\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.33.120.224\"\n\"September 20th 2015, 08:17:10.937\",,\"5,907\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.59.225.31\"\n\"September 20th 2015, 08:16:50.660\",,\"5,983\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.4.152.176\"\n\"September 20th 2015, 08:16:48.198\",,\"4,020\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.117.173.67\"\n\"September 20th 2015, 08:16:47.210\",,\"8,113\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"69.82.3.150\"\n\"September 20th 2015, 08:16:42.899\",,\"3,835\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.49.31.82\"\n\"September 20th 2015, 08:16:25.972\",,\"8,951\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"5.83.83.42\"\n\"September 20th 2015, 08:16:20.545\",,\"2,072\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.63.63.137\"\n\"September 20th 2015, 08:16:19.176\",,\"7,808\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"3.174.21.181\"\n\"September 20th 2015, 08:16:18.979\",,\"4,888\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.59.225.31\"\n\"September 20th 2015, 08:16:17.937\",,\"8,382\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.24.165.50\"\n\"September 20th 2015, 08:16:14.431\",,\"5,037\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.24.165.50\"\n\"September 20th 2015, 08:16:11.637\",,\"5,589\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.172.137.39\"\n\"September 20th 2015, 08:15:59.811\",,\"6,542\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.128.210.67\"\n\"September 20th 2015, 08:15:54.467\",,\"2,526\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.53.114.44\"\n\"September 20th 2015, 08:15:47.069\",,\"6,425\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.76.243.51\"\n\"September 20th 2015, 08:15:34.588\",,\"6,807\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"35.88.165.183\"\n\"September 20th 2015, 08:15:27.329\",,\"7,062\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.214.104.239\"\n\"September 20th 2015, 08:15:17.470\",,\"5,329\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"35.222.204.135\"\n\"September 20th 2015, 08:15:15.771\",,\"2,472\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.39.144.87\"\n\"September 20th 2015, 08:15:13.275\",,\"7,926\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.5.136.153\"\n\"September 20th 2015, 08:15:00.681\",,\"9,300\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"154.79.180.7\"\n\"September 20th 2015, 08:14:52.135\",,\"7,366\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"67.220.97.120\"\n\"September 20th 2015, 08:14:51.721\",,\"8,563\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.164.39.249\"\n\"September 20th 2015, 08:14:45.654\",,\"6,844\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.218.31.116\"\n\"September 20th 2015, 08:14:42.789\",,\"2,048\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.225.247.245\"\n\"September 20th 2015, 08:14:28.004\",,\"4,960\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.245.252.224\"\n\"September 20th 2015, 08:14:20.128\",,\"2,341\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.113.253.141\"\n\"September 20th 2015, 08:14:07.248\",,\"9,908\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.25.112.43\"\n\"September 20th 2015, 08:13:58.238\",,\"5,873\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.55.251.105\"\n\"September 20th 2015, 08:13:56.821\",,\"9,091\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"79.16.207.3\"\n\"September 20th 2015, 08:13:51.230\",,\"3,412\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.139.156.196\"\n\"September 20th 2015, 08:13:49.294\",,\"4,504\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.198.132.23\"\n\"September 20th 2015, 08:13:46.051\",,\"6,253\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"198.174.196.110\"\n\"September 20th 2015, 08:13:40.676\",,\"7,024\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.185.234.193\"\n\"September 20th 2015, 08:13:37.997\",,\"1,833\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.190.101.72\"\n\"September 20th 2015, 08:13:35.696\",,\"3,950\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"183.33.83.170\"\n\"September 20th 2015, 08:13:32.295\",,\"6,927\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"70.101.68.233\"\n\"September 20th 2015, 08:13:32.075\",,\"1,717\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"5.83.83.42\"\n\"September 20th 2015, 08:13:25.417\",,\"7,117\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.59.172.226\"\n\"September 20th 2015, 08:13:22.714\",,\"3,592\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"225.222.13.93\"\n\"September 20th 2015, 08:13:16.393\",,\"3,609\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.219.65.244\"\n\"September 20th 2015, 08:13:09.420\",,\"6,846\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"70.211.225.125\"\n\"September 20th 2015, 08:12:58.026\",,\"10,982\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.40.103.254\"\n\"September 20th 2015, 08:12:40.693\",,\"1,701\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"180.65.205.98\"\n\"September 20th 2015, 08:12:39.921\",,\"4,320\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.54.235.229\"\n\"September 20th 2015, 08:12:38.699\",,\"7,249\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.172.42.72\"\n\"September 20th 2015, 08:12:29.144\",,\"5,664\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"129.152.7.186\"\n\"September 20th 2015, 08:12:23.238\",,\"6,855\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.197.178.155\"\n\"September 20th 2015, 08:12:13.322\",,\"7,501\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.151.97.227\"\n\"September 20th 2015, 08:12:11.199\",,\"1,556\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"244.172.153.74\"\n\"September 20th 2015, 08:12:08.050\",,\"5,690\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"35.88.165.183\"\n\"September 20th 2015, 08:12:06.159\",,\"5,170\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"145.211.179.106\"\n\"September 20th 2015, 08:12:01.010\",,\"9,685\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"217.44.155.137\"\n\"September 20th 2015, 08:12:00.211\",,\"4,973\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.58.145.175\"\n\"September 20th 2015, 08:11:53.879\",,\"4,535\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"202.48.108.4\"\n\"September 20th 2015, 08:11:53.524\",,\"8,242\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"121.34.210.235\"\n\"September 20th 2015, 08:11:51.354\",,\"11,804\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.143.209.115\"\n\"September 20th 2015, 08:11:45.872\",,\"5,524\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.149.151.88\"\n\"September 20th 2015, 08:11:19.627\",,\"2,610\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"35.88.165.183\"\n\"September 20th 2015, 08:11:00.148\",,\"2,870\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"188.53.50.20\"\n\"September 20th 2015, 08:10:31.848\",,\"7,675\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.113.253.141\"\n\"September 20th 2015, 08:10:28.426\",,\"7,306\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.218.253.140\"\n\"September 20th 2015, 08:10:07.963\",,\"8,393\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"223.237.148.2\"\n\"September 20th 2015, 08:10:06.235\",,\"4,006\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"120.101.20.104\"\n\"September 20th 2015, 08:09:50.754\",,\"1,785\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"168.180.71.177\"\n\"September 20th 2015, 08:09:50.647\",,\"7,704\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"217.44.155.137\"\n\"September 20th 2015, 08:09:50.497\",,\"1,728\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.248.17.146\"\n\"September 20th 2015, 08:09:36.007\",,\"9,009\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.4.152.176\"\n\"September 20th 2015, 08:09:33.712\",,\"2,179\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.199.194.23\"\n\"September 20th 2015, 08:09:30.733\",,\"2,975\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.171.208.139\"\n\"September 20th 2015, 08:09:30.464\",,\"6,045\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"218.186.41.141\"\n\"September 20th 2015, 08:09:27.401\",,\"4,806\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.151.244.234\"\n\"September 20th 2015, 08:09:19.849\",,\"6,701\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.164.244.131\"\n\"September 20th 2015, 08:09:18.996\",,\"7,162\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.113.219.30\"\n\"September 20th 2015, 08:09:18.566\",,\"2,588\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.142.140.200\"\n\"September 20th 2015, 08:09:03.193\",,\"5,093\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"23.184.94.58\"\n\"September 20th 2015, 08:08:39.785\",,\"3,986\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.185.234.193\"\n\"September 20th 2015, 08:08:38.734\",,\"8,122\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.99.243.183\"\n\"September 20th 2015, 08:08:23.132\",,\"2,918\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.27.10.205\"\n\"September 20th 2015, 08:08:10.538\",,\"6,668\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"61.174.151.11\"\n\"September 20th 2015, 08:08:08.541\",,\"4,794\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"115.225.12.164\"\n\"September 20th 2015, 08:07:58.695\",,\"2,876\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.203.1.94\"\n\"September 20th 2015, 08:07:50.679\",,\"2,550\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.221.41.27\"\n\"September 20th 2015, 08:07:49.814\",,\"9,743\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.168.126.221\"\n\"September 20th 2015, 08:07:38.041\",,\"9,000\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.98.200.29\"\n\"September 20th 2015, 08:07:29.474\",,\"6,625\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"36.185.52.71\"\n\"September 20th 2015, 08:07:18.175\",,\"5,527\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.47.79.172\"\n\"September 20th 2015, 08:07:17.082\",,\"9,936\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.221.105.131\"\n\"September 20th 2015, 08:07:05.257\",,\"7,078\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.28.123.34\"\n\"September 20th 2015, 08:06:55.477\",,\"7,850\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.138.70.255\"\n\"September 20th 2015, 08:06:33.922\",,\"10,138\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"229.84.238.1\"\n\"September 20th 2015, 08:06:33.802\",,\"16,434\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"127.63.221.223\"\n\"September 20th 2015, 08:06:20.945\",,\"6,189\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"171.253.80.52\"\n\"September 20th 2015, 08:06:18.833\",,\"3,279\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"42.72.83.65\"\n\"September 20th 2015, 08:06:12.920\",,\"9,302\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.56.56.106\"\n\"September 20th 2015, 08:06:09.948\",,\"6,153\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"13.193.146.83\"\n\"September 20th 2015, 08:05:43.305\",,\"7,051\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.171.208.139\"\n\"September 20th 2015, 08:05:42.813\",,\"8,495\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.87.17.249\"\n\"September 20th 2015, 08:05:32.452\",,\"4,422\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.83.17.193\"\n\"September 20th 2015, 08:05:20.023\",,\"9,119\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"131.98.185.144\"\n\"September 20th 2015, 08:05:08.412\",,\"3,159\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"183.139.112.201\"\n\"September 20th 2015, 08:05:08.301\",,\"4,735\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"227.219.87.110\"\n\"September 20th 2015, 08:04:52.925\",,\"9,456\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"149.170.135.63\"\n\"September 20th 2015, 08:04:50.667\",,\"7,857\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.53.96.88\"\n\"September 20th 2015, 08:04:43.307\",,\"3,190\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.83.143.132\"\n\"September 20th 2015, 08:04:42.309\",,\"12,385\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.74.138.136\"\n\"September 20th 2015, 08:04:39.699\",,\"9,432\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.224.4.183\"\n\"September 20th 2015, 08:04:27.417\",,\"3,530\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"60.109.112.85\"\n\"September 20th 2015, 08:04:20.869\",,\"3,809\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.197.178.155\"\n\"September 20th 2015, 08:04:15.201\",,\"9,560\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.233.238.181\"\n\"September 20th 2015, 08:04:13.332\",,\"14,497\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.132.195.31\"\n\"September 20th 2015, 08:04:00.257\",,\"4,613\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.151.244.234\"\n\"September 20th 2015, 08:03:50.095\",,\"8,081\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"57.237.11.219\"\n\"September 20th 2015, 08:03:44.929\",,\"9,972\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"60.109.112.85\"\n\"September 20th 2015, 08:03:39.708\",,\"8,492\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"72.173.69.119\"\n\"September 20th 2015, 08:03:26.891\",,\"3,821\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"113.35.23.20\"\n\"September 20th 2015, 08:03:26.572\",,\"6,477\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.206.117.161\"\n\"September 20th 2015, 08:03:25.197\",,\"19,572\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.108.62.100\"\n\"September 20th 2015, 08:03:22.353\",,\"19,372\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.201.212.220\"\n\"September 20th 2015, 08:03:12.393\",,\"4,141\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"188.225.40.190\"\n\"September 20th 2015, 08:03:11.204\",,\"5,688\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"224.240.85.118\"\n\"September 20th 2015, 08:03:02.578\",,\"9,436\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.236.240.166\"\n\"September 20th 2015, 08:02:45.841\",,\"9,727\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.133.22.163\"\n\"September 20th 2015, 08:02:34.284\",,\"4,042\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"20.178.152.193\"\n\"September 20th 2015, 08:02:25.705\",,\"7,188\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.87.17.249\"\n\"September 20th 2015, 08:02:20.598\",,\"7,853\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.13.106.139\"\n\"September 20th 2015, 08:02:13.779\",,\"9,838\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.92.154.173\"\n\"September 20th 2015, 08:01:53.855\",,\"3,107\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.210.111.14\"\n\"September 20th 2015, 08:01:46.132\",,\"2,829\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.223.100.33\"\n\"September 20th 2015, 08:01:37.323\",,\"5,019\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.244.25.107\"\n\"September 20th 2015, 08:01:23.713\",,\"4,343\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"173.237.216.175\"\n\"September 20th 2015, 08:01:23.607\",,\"9,644\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.63.51.8\"\n\"September 20th 2015, 08:01:23.253\",,\"8,739\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.58.133.108\"\n\"September 20th 2015, 08:01:17.736\",,\"5,766\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.132.195.31\"\n\"September 20th 2015, 08:01:14.032\",,\"7,818\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"24.5.165.192\"\n\"September 20th 2015, 08:01:07.184\",,\"5,200\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"244.112.251.87\"\n\"September 20th 2015, 08:01:00.936\",,\"8,028\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.241.34.0\"\n\"September 20th 2015, 08:00:43.643\",,\"5,060\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.156.46.205\"\n\"September 20th 2015, 08:00:41.042\",,\"2,796\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"177.194.175.66\"\n\"September 20th 2015, 08:00:39.018\",,\"5,703\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"66.133.180.245\"\n\"September 20th 2015, 08:00:30.977\",,\"1,607\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.53.125.87\"\n\"September 20th 2015, 08:00:22.817\",,\"9,627\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.233.207.177\"\n\"September 20th 2015, 08:00:18.234\",,\"9,616\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.38.139.107\"\n\"September 20th 2015, 08:00:09.294\",,\"9,530\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"203.206.8.45\"\n\"September 20th 2015, 08:00:05.560\",,\"6,255\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.96.206.187\"\n\"September 20th 2015, 08:00:05.351\",,\"1,982\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.116.186.0\"\n\"September 20th 2015, 07:59:49.930\",,\"3,097\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"225.209.251.160\"\n\"September 20th 2015, 07:59:46.224\",,\"3,729\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"178.104.96.40\"\n\"September 20th 2015, 07:59:43.915\",,\"9,448\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"178.122.0.0\"\n\"September 20th 2015, 07:59:33.502\",,\"5,312\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.191.218.38\"\n\"September 20th 2015, 07:59:33.107\",,\"7,086\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"133.211.153.90\"\n\"September 20th 2015, 07:59:32.908\",,\"7,427\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"85.85.86.52\"\n\"September 20th 2015, 07:59:32.725\",,\"4,340\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.126.43.84\"\n\"September 20th 2015, 07:59:22.917\",,\"9,945\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"22.151.97.227\"\n\"September 20th 2015, 07:59:09.653\",,\"7,077\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.114.14.197\"\n\"September 20th 2015, 07:59:03.933\",,\"2,210\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.129.217.122\"\n\"September 20th 2015, 07:58:29.571\",,\"9,331\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.57.253.60\"\n\"September 20th 2015, 07:58:26.247\",,\"4,959\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.111.6.101\"\n\"September 20th 2015, 07:58:23.530\",,\"8,080\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.80.12.188\"\n\"September 20th 2015, 07:58:21.467\",,\"3,521\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.114.14.197\"\n\"September 20th 2015, 07:58:10.828\",,\"2,928\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"196.97.127.109\"\n\"September 20th 2015, 07:57:54.127\",,\"3,205\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"234.58.25.145\"\n\"September 20th 2015, 07:57:52.135\",,\"6,166\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.242.204.223\"\n\"September 20th 2015, 07:57:48.452\",,\"3,040\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.106.229.151\"\n\"September 20th 2015, 07:57:47.063\",,\"2,863\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"164.137.46.37\"\n\"September 20th 2015, 07:57:45.826\",,\"6,307\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.195.18.133\"\n\"September 20th 2015, 07:57:44.712\",,\"3,871\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.55.251.105\"\n\"September 20th 2015, 07:57:37.692\",,\"5,229\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.79.158.95\"\n\"September 20th 2015, 07:57:36.533\",,\"3,443\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.177.73.18\"\n\"September 20th 2015, 07:57:35.663\",,\"7,001\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"79.33.226.187\"\n\"September 20th 2015, 07:57:31.116\",,\"2,090\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.242.204.223\"\n\"September 20th 2015, 07:57:17.927\",,\"9,238\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.64.207.109\"\n\"September 20th 2015, 07:57:06.514\",,\"5,619\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"202.123.188.108\"\n\"September 20th 2015, 07:57:02.602\",,\"6,710\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.140.171.133\"\n\"September 20th 2015, 07:56:59.628\",,\"8,533\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"173.233.118.214\"\n\"September 20th 2015, 07:56:58.170\",,\"19,882\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.6.126.193\"\n\"September 20th 2015, 07:56:51.915\",,\"5,997\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"148.47.216.255\"\n\"September 20th 2015, 07:56:50.350\",,\"5,701\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"10.192.39.62\"\n\"September 20th 2015, 07:56:49.970\",,\"1,626\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.53.120.159\"\n\"September 20th 2015, 07:56:49.886\",,\"17,542\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.255.221.0\"\n\"September 20th 2015, 07:56:47.521\",,\"3,374\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.223.87.67\"\n\"September 20th 2015, 07:56:45.958\",,\"3,291\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.80.12.188\"\n\"September 20th 2015, 07:56:40.162\",,\"6,930\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.255.16.81\"\n\"September 20th 2015, 07:56:30.886\",,\"7,598\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"147.175.109.124\"\n\"September 20th 2015, 07:56:02.555\",,\"6,924\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.7.132.13\"\n\"September 20th 2015, 07:55:50.776\",,\"2,706\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.108.3.2\"\n\"September 20th 2015, 07:55:49.422\",,\"5,519\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"22.7.121.157\"\n\"September 20th 2015, 07:55:48.816\",,\"15,965\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"171.58.133.108\"\n\"September 20th 2015, 07:55:48.361\",,\"11,849\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"41.210.252.157\"\n\"September 20th 2015, 07:55:44.582\",,\"5,537\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.75.54.137\"\n\"September 20th 2015, 07:55:40.049\",,\"7,963\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.243.18.67\"\n\"September 20th 2015, 07:55:38.480\",,\"9,926\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.75.94.8\"\n\"September 20th 2015, 07:55:36.170\",,\"5,375\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"81.1.40.59\"\n\"September 20th 2015, 07:55:21.129\",,\"19,370\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"124.187.220.168\"\n\"September 20th 2015, 07:55:16.842\",,\"3,974\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.7.97.184\"\n\"September 20th 2015, 07:55:15.419\",,\"8,424\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"247.129.16.191\"\n\"September 20th 2015, 07:54:37.975\",,\"2,428\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"161.108.174.248\"\n\"September 20th 2015, 07:54:35.596\",,\"4,380\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.195.18.133\"\n\"September 20th 2015, 07:54:30.873\",,\"11,254\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.150.67.234\"\n\"September 20th 2015, 07:54:29.760\",,\"7,811\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.21.236.176\"\n\"September 20th 2015, 07:54:25.028\",,\"5,201\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.137.241.169\"\n\"September 20th 2015, 07:54:13.698\",,\"4,548\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.108.50.221\"\n\"September 20th 2015, 07:53:53.950\",,\"3,537\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.191.218.38\"\n\"September 20th 2015, 07:53:50.426\",,\"5,118\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.213.126.12\"\n\"September 20th 2015, 07:53:46.940\",,\"7,457\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.96.206.187\"\n\"September 20th 2015, 07:53:39.741\",,\"12,812\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.87.49.40\"\n\"September 20th 2015, 07:53:29.889\",,\"6,759\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.117.73.210\"\n\"September 20th 2015, 07:53:27.930\",,\"2,033\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.237.227.233\"\n\"September 20th 2015, 07:53:16.900\",,\"3,688\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"175.188.44.145\"\n\"September 20th 2015, 07:53:15.915\",,\"2,276\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.96.131.243\"\n\"September 20th 2015, 07:53:03.086\",,\"4,634\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"76.159.165.88\"\n\"September 20th 2015, 07:53:02.690\",,\"7,869\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"186.123.19.234\"\n\"September 20th 2015, 07:52:53.271\",,\"7,490\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.207.64.202\"\n\"September 20th 2015, 07:52:39.178\",,\"2,939\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"178.57.229.103\"\n\"September 20th 2015, 07:52:36.769\",,\"18,108\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.108.3.2\"\n\"September 20th 2015, 07:52:35.272\",,\"7,197\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.123.178.135\"\n\"September 20th 2015, 07:52:31.585\",,\"5,723\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.99.243.183\"\n\"September 20th 2015, 07:52:25.580\",,\"2,767\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"189.125.84.30\"\n\"September 20th 2015, 07:52:22.642\",,\"4,446\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.139.58.171\"\n\"September 20th 2015, 07:52:10.940\",,\"2,615\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"181.135.152.88\"\n\"September 20th 2015, 07:51:56.708\",,\"2,853\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.37.236.61\"\n\"September 20th 2015, 07:51:49.417\",,\"19,375\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"124.187.220.168\"\n\"September 20th 2015, 07:51:29.870\",,\"6,928\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.133.22.163\"\n\"September 20th 2015, 07:51:20.162\",,\"8,957\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.246.143.109\"\n\"September 20th 2015, 07:51:19.361\",,\"6,048\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.65.30.133\"\n\"September 20th 2015, 07:51:19.304\",,\"4,386\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.92.154.173\"\n\"September 20th 2015, 07:51:18.373\",,\"6,849\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.195.26.33\"\n\"September 20th 2015, 07:51:18.145\",,\"3,859\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"50.46.74.105\"\n\"September 20th 2015, 07:50:46.010\",,\"7,034\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"203.206.8.45\"\n\"September 20th 2015, 07:50:44.848\",,\"3,578\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"127.254.107.86\"\n\"September 20th 2015, 07:50:43.834\",,\"1,654\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.43.145.144\"\n\"September 20th 2015, 07:50:43.064\",,\"7,622\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"79.33.226.187\"\n\"September 20th 2015, 07:50:37.397\",,\"2,035\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"10.91.83.148\"\n\"September 20th 2015, 07:50:27.640\",,\"4,691\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"74.224.77.232\"\n\"September 20th 2015, 07:50:16.760\",,\"7,107\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.114.14.197\"\n\"September 20th 2015, 07:50:16.371\",,\"7,901\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.7.164.59\"\n\"September 20th 2015, 07:50:06.589\",,\"3,378\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.134.81.148\"\n\"September 20th 2015, 07:49:55.965\",,\"5,439\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.143.125.181\"\n\"September 20th 2015, 07:49:54.571\",,\"2,025\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.42.189.244\"\n\"September 20th 2015, 07:49:54.071\",,\"5,208\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"218.226.100.31\"\n\"September 20th 2015, 07:49:41.114\",,\"7,431\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"81.186.187.11\"\n\"September 20th 2015, 07:49:18.935\",,\"9,063\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.137.241.169\"\n\"September 20th 2015, 07:49:00.174\",,\"7,580\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"177.194.175.66\"\n\"September 20th 2015, 07:48:53.177\",,\"3,790\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"235.190.3.193\"\n\"September 20th 2015, 07:48:33.213\",,\"7,552\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"128.167.10.27\"\n\"September 20th 2015, 07:48:29.278\",,\"8,791\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.143.189.70\"\n\"September 20th 2015, 07:48:14.857\",,\"3,157\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.128.176.48\"\n\"September 20th 2015, 07:48:12.853\",,\"7,579\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"74.101.37.80\"\n\"September 20th 2015, 07:47:58.229\",,\"7,663\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.180.71.177\"\n\"September 20th 2015, 07:47:52.914\",,\"4,049\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.6.99.158\"\n\"September 20th 2015, 07:47:49.327\",,\"3,597\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.161.247.172\"\n\"September 20th 2015, 07:47:31.260\",,\"3,290\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.46.176.132\"\n\"September 20th 2015, 07:47:28.689\",,\"9,928\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.40.191.19\"\n\"September 20th 2015, 07:47:25.034\",,\"5,411\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.153.51.78\"\n\"September 20th 2015, 07:46:34.343\",,\"6,105\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.119.63.71\"\n\"September 20th 2015, 07:46:27.700\",,\"2,805\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"220.50.219.103\"\n\"September 20th 2015, 07:46:24.823\",,\"13,054\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.137.8.156\"\n\"September 20th 2015, 07:46:24.538\",,\"3,018\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"67.220.97.120\"\n\"September 20th 2015, 07:46:24.329\",,\"9,080\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.2.62.18\"\n\"September 20th 2015, 07:46:14.274\",,\"8,316\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.237.64.228\"\n\"September 20th 2015, 07:46:07.516\",,\"2,589\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.45.107.116\"\n\"September 20th 2015, 07:46:00.931\",,\"5,549\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"131.102.224.216\"\n\"September 20th 2015, 07:45:58.366\",,\"3,692\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.171.34.42\"\n\"September 20th 2015, 07:45:49.306\",,\"2,829\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.13.7.53\"\n\"September 20th 2015, 07:45:32.063\",,\"3,030\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.2.26.42\"\n\"September 20th 2015, 07:45:31.983\",,\"1,796\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.168.126.221\"\n\"September 20th 2015, 07:45:14.828\",,\"19,297\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.55.175.148\"\n\"September 20th 2015, 07:45:12.297\",,\"9,922\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.37.253.193\"\n\"September 20th 2015, 07:45:06.718\",,\"6,654\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"162.134.126.82\"\n\"September 20th 2015, 07:45:05.949\",,\"4,084\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"24.5.165.192\"\n\"September 20th 2015, 07:44:58.391\",,\"8,158\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.185.158.249\"\n\"September 20th 2015, 07:44:53.309\",,\"2,973\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"148.47.216.255\"\n\"September 20th 2015, 07:44:45.163\",,\"3,577\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.222.131.172\"\n\"September 20th 2015, 07:44:27.750\",,\"3,205\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.143.125.181\"\n\"September 20th 2015, 07:44:26.681\",,\"4,668\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.144.148.155\"\n\"September 20th 2015, 07:44:26.444\",,\"6,895\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.85.53.125\"\n\"September 20th 2015, 07:44:25.293\",,\"8,593\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.33.201.138\"\n\"September 20th 2015, 07:44:23.110\",,\"3,082\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.55.175.148\"\n\"September 20th 2015, 07:44:22.267\",,\"1,739\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.27.10.205\"\n\"September 20th 2015, 07:44:13.210\",,\"8,936\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"248.193.114.155\"\n\"September 20th 2015, 07:44:08.616\",,\"7,851\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"167.51.186.15\"\n\"September 20th 2015, 07:43:52.383\",,\"10,981\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.120.60.102\"\n\"September 20th 2015, 07:43:36.355\",,\"6,229\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.222.56.247\"\n\"September 20th 2015, 07:43:29.855\",,\"5,188\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.69.255.135\"\n\"September 20th 2015, 07:43:27.430\",,\"9,652\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.199.42.50\"\n\"September 20th 2015, 07:43:26.632\",,\"2,388\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"62.51.178.50\"\n\"September 20th 2015, 07:43:17.647\",,\"8,358\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"67.47.100.255\"\n\"September 20th 2015, 07:43:00.985\",,\"1,721\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.6.99.158\"\n\"September 20th 2015, 07:42:55.833\",,\"19,289\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"129.32.224.79\"\n\"September 20th 2015, 07:42:53.743\",,\"9,035\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.185.146.124\"\n\"September 20th 2015, 07:42:51.563\",,\"7,775\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.65.30.133\"\n\"September 20th 2015, 07:42:40.800\",,\"7,455\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.45.107.116\"\n\"September 20th 2015, 07:42:38.679\",,\"8,545\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"154.28.252.79\"\n\"September 20th 2015, 07:42:31.322\",,\"9,896\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.83.96.39\"\n\"September 20th 2015, 07:42:30.367\",,\"5,597\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.147.119.226\"\n\"September 20th 2015, 07:42:24.869\",,\"8,273\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.28.123.34\"\n\"September 20th 2015, 07:42:22.185\",,\"3,246\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"211.0.102.190\"\n\"September 20th 2015, 07:42:11.693\",,\"4,485\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.133.180.245\"\n\"September 20th 2015, 07:42:10.688\",,\"1,877\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.19.117.208\"\n\"September 20th 2015, 07:42:01.395\",,\"6,331\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"105.47.117.171\"\n\"September 20th 2015, 07:42:00.008\",,\"3,484\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"5.83.83.42\"\n\"September 20th 2015, 07:41:58.334\",,\"6,652\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.119.119.38\"\n\"September 20th 2015, 07:41:42.350\",,\"1,959\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.188.213.247\"\n\"September 20th 2015, 07:41:41.953\",,\"1,827\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.108.133.125\"\n\"September 20th 2015, 07:41:39.150\",,\"1,816\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.11.66.39\"\n\"September 20th 2015, 07:41:37.254\",,\"3,779\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.189.205.188\"\n\"September 20th 2015, 07:41:34.136\",,\"4,860\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"149.170.135.63\"\n\"September 20th 2015, 07:41:33.258\",,\"2,795\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"199.113.69.162\"\n\"September 20th 2015, 07:41:27.309\",,\"7,927\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.172.137.39\"\n\"September 20th 2015, 07:41:21.167\",,\"2,799\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.139.46.29\"\n\"September 20th 2015, 07:41:19.508\",,\"6,183\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.180.120.21\"\n\"September 20th 2015, 07:41:18.453\",,\"3,212\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.116.186.0\"\n\"September 20th 2015, 07:41:12.846\",,\"9,952\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.253.80.52\"\n\"September 20th 2015, 07:41:10.947\",,\"12,019\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"69.142.235.222\"\n\"September 20th 2015, 07:41:05.756\",,\"6,738\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"143.84.142.7\"\n\"September 20th 2015, 07:41:02.621\",,\"5,599\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.206.117.161\"\n\"September 20th 2015, 07:41:00.496\",,\"1,552\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"149.150.67.234\"\n\"September 20th 2015, 07:40:51.375\",,\"6,031\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.152.176.23\"\n\"September 20th 2015, 07:40:50.409\",,\"9,313\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"124.187.220.168\"\n\"September 20th 2015, 07:40:45.919\",,\"9,562\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.68.89.92\"\n\"September 20th 2015, 07:40:33.697\",,\"2,457\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"225.241.219.2\"\n\"September 20th 2015, 07:40:32.838\",,\"7,471\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"5.206.32.88\"\n\"September 20th 2015, 07:40:02.577\",,\"7,615\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"10.192.39.62\"\n\"September 20th 2015, 07:39:53.210\",,\"6,651\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.161.172.168\"\n\"September 20th 2015, 07:39:51.220\",,\"7,742\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.58.158.234\"\n\"September 20th 2015, 07:39:47.584\",,\"16,798\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.79.189.11\"\n\"September 20th 2015, 07:39:30.690\",,\"7,827\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.219.87.110\"\n\"September 20th 2015, 07:39:30.283\",,\"4,532\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.151.84.213\"\n\"September 20th 2015, 07:39:22.833\",,\"7,958\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"90.159.183.77\"\n\"September 20th 2015, 07:39:17.231\",,\"2,708\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.7.164.59\"\n\"September 20th 2015, 07:39:15.913\",,\"2,990\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.58.25.99\"\n\"September 20th 2015, 07:39:07.976\",,\"9,659\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"60.231.227.7\"\n\"September 20th 2015, 07:39:03.639\",,\"9,907\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.221.187.90\"\n\"September 20th 2015, 07:38:55.435\",,\"5,733\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.82.228.233\"\n\"September 20th 2015, 07:38:51.385\",,\"5,669\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.93.29.126\"\n\"September 20th 2015, 07:38:35.502\",,\"3,664\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"153.203.1.94\"\n\"September 20th 2015, 07:38:07.992\",,\"8,961\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.234.255.241\"\n\"September 20th 2015, 07:37:40.731\",,\"12,078\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.168.126.221\"\n\"September 20th 2015, 07:37:40.592\",,\"8,781\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"102.19.248.156\"\n\"September 20th 2015, 07:37:37.381\",,\"8,699\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"3.174.21.181\"\n\"September 20th 2015, 07:36:50.125\",,\"3,534\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.144.182.162\"\n\"September 20th 2015, 07:36:49.062\",,\"3,882\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"222.224.95.15\"\n\"September 20th 2015, 07:36:38.280\",,\"6,272\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"162.218.161.231\"\n\"September 20th 2015, 07:36:36.649\",,\"4,704\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.34.138.226\"\n\"September 20th 2015, 07:36:34.574\",,\"5,653\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"46.163.136.60\"\n\"September 20th 2015, 07:36:25.330\",,\"4,431\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"128.108.188.178\"\n\"September 20th 2015, 07:35:56.169\",,\"7,127\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"3.200.198.147\"\n\"September 20th 2015, 07:35:27.898\",,\"5,639\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"139.104.238.37\"\n\"September 20th 2015, 07:35:23.798\",,\"2,340\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.4.117.154\"\n\"September 20th 2015, 07:35:18.561\",,\"6,887\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"13.61.197.86\"\n\"September 20th 2015, 07:35:15.284\",,\"5,652\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"228.6.126.193\"\n\"September 20th 2015, 07:34:37.872\",,\"1,699\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"146.86.123.109\"\n\"September 20th 2015, 07:34:31.104\",,\"7,922\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.38.2.66\"\n\"September 20th 2015, 07:34:12.902\",,\"9,900\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"81.1.40.59\"\n\"September 20th 2015, 07:34:12.899\",,\"9,708\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.122.217.55\"\n\"September 20th 2015, 07:34:04.963\",,\"4,193\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"134.62.86.139\"\n\"September 20th 2015, 07:34:04.291\",,\"7,840\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.206.117.161\"\n\"September 20th 2015, 07:34:01.236\",,\"6,713\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"68.50.129.53\"\n\"September 20th 2015, 07:33:50.068\",,\"19,021\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"149.84.78.58\"\n\"September 20th 2015, 07:33:35.507\",,\"1,983\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.132.193.95\"\n\"September 20th 2015, 07:33:30.656\",,\"6,073\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.79.142.15\"\n\"September 20th 2015, 07:33:17.981\",,\"8,260\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"71.241.97.89\"\n\"September 20th 2015, 07:33:08.120\",,\"9,385\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.88.57.13\"\n\"September 20th 2015, 07:32:59.426\",,\"4,364\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"140.233.207.177\"\n\"September 20th 2015, 07:32:59.182\",,\"5,698\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"7.176.253.57\"\n\"September 20th 2015, 07:32:54.338\",,\"4,927\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.80.35.243\"\n\"September 20th 2015, 07:32:53.508\",,\"4,292\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.55.80.52\"\n\"September 20th 2015, 07:32:45.680\",,\"3,273\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.65.30.133\"\n\"September 20th 2015, 07:32:45.305\",,\"10,108\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"182.128.15.97\"\n\"September 20th 2015, 07:32:41.149\",,\"9,910\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.105.204.4\"\n\"September 20th 2015, 07:32:27.354\",,\"4,605\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"113.35.23.20\"\n\"September 20th 2015, 07:32:17.486\",,\"6,946\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.29.90.185\"\n\"September 20th 2015, 07:32:10.796\",,\"11,019\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.105.204.4\"\n\"September 20th 2015, 07:32:05.110\",,\"9,797\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"241.129.62.213\"\n\"September 20th 2015, 07:31:40.496\",,\"5,100\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.19.155.203\"\n\"September 20th 2015, 07:31:35.840\",,\"2,115\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"132.242.0.119\"\n\"September 20th 2015, 07:31:06.425\",,\"4,418\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.99.166.92\"\n\"September 20th 2015, 07:31:05.566\",,\"7,152\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.119.119.38\"\n\"September 20th 2015, 07:31:03.457\",,\"3,170\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"63.142.94.147\"\n\"September 20th 2015, 07:30:51.674\",,\"1,612\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"121.34.210.235\"\n\"September 20th 2015, 07:30:18.307\",,\"11,111\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"155.34.86.215\"\n\"September 20th 2015, 07:29:59.777\",,\"8,440\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"208.255.16.81\"\n\"September 20th 2015, 07:29:55.086\",,\"4,206\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"118.163.20.44\"\n\"September 20th 2015, 07:29:54.006\",,\"3,539\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.134.81.148\"\n\"September 20th 2015, 07:29:44.149\",,\"6,600\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"2.203.112.183\"\n\"September 20th 2015, 07:29:41.685\",,\"14,420\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"225.42.74.240\"\n\"September 20th 2015, 07:29:36.408\",,\"6,696\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.137.8.156\"\n\"September 20th 2015, 07:29:34.666\",,\"9,519\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"3.200.198.147\"\n\"September 20th 2015, 07:29:27.389\",,\"2,939\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.40.191.19\"\n\"September 20th 2015, 07:29:15.294\",,\"5,995\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.247.158.26\"\n\"September 20th 2015, 07:28:51.998\",,\"1,606\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"178.122.0.0\"\n\"September 20th 2015, 07:28:31.709\",,\"6,228\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"23.3.174.206\"\n\"September 20th 2015, 07:28:31.395\",,\"4,435\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.233.183.250\"\n\"September 20th 2015, 07:28:23.504\",,\"2,262\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.209.116.94\"\n\"September 20th 2015, 07:28:10.029\",,\"2,553\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.225.101.206\"\n\"September 20th 2015, 07:28:08.316\",,\"7,686\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.39.140.144\"\n\"September 20th 2015, 07:27:57.100\",,\"2,367\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.85.51.238\"\n\"September 20th 2015, 07:27:22.916\",,\"7,299\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"196.131.25.8\"\n\"September 20th 2015, 07:27:00.855\",,\"2,137\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"22.7.121.157\"\n\"September 20th 2015, 07:26:59.099\",,\"6,375\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.151.244.234\"\n\"September 20th 2015, 07:26:53.619\",,\"9,627\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"12.102.47.119\"\n\"September 20th 2015, 07:26:35.914\",,\"9,230\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"186.182.14.125\"\n\"September 20th 2015, 07:26:03.815\",,\"4,352\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"193.164.192.47\"\n\"September 20th 2015, 07:26:01.314\",,\"8,038\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"215.6.99.158\"\n\"September 20th 2015, 07:25:53.414\",,\"10,539\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"48.86.49.192\"\n\"September 20th 2015, 07:25:49.190\",,\"9,455\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.225.141.240\"\n\"September 20th 2015, 07:25:34.299\",,\"3,058\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"165.104.70.8\"\n\"September 20th 2015, 07:25:29.655\",,\"2,489\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"147.195.26.33\"\n\"September 20th 2015, 07:25:26.565\",,\"8,296\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.200.198.147\"\n\"September 20th 2015, 07:25:21.285\",,\"8,342\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"43.66.187.127\"\n\"September 20th 2015, 07:24:58.288\",,\"6,010\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.24.204.40\"\n\"September 20th 2015, 07:24:56.463\",,\"9,718\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.155.42.103\"\n\"September 20th 2015, 07:24:51.803\",,\"4,458\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.216.205.112\"\n\"September 20th 2015, 07:24:38.443\",,\"1,553\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"141.30.231.202\"\n\"September 20th 2015, 07:24:29.346\",,\"9,598\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.115.184.133\"\n\"September 20th 2015, 07:24:24.033\",,\"5,163\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.254.194.69\"\n\"September 20th 2015, 07:24:20.325\",,\"4,543\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"56.87.32.139\"\n\"September 20th 2015, 07:24:18.741\",,\"7,616\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.55.130.114\"\n\"September 20th 2015, 07:23:28.082\",,\"17,079\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.73.193.32\"\n\"September 20th 2015, 07:23:00.092\",,\"7,022\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"63.7.218.218\"\n\"September 20th 2015, 07:22:51.329\",,\"7,717\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.253.80.52\"\n\"September 20th 2015, 07:22:34.851\",,\"9,054\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"247.189.13.239\"\n\"September 20th 2015, 07:22:31.501\",,\"7,923\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.20.91.73\"\n\"September 20th 2015, 07:22:08.547\",,\"4,131\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.137.8.156\"\n\"September 20th 2015, 07:22:02.352\",,\"2,633\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"106.217.103.105\"\n\"September 20th 2015, 07:22:01.081\",,\"2,587\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"77.208.78.205\"\n\"September 20th 2015, 07:21:51.392\",,\"9,347\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"222.224.95.15\"\n\"September 20th 2015, 07:21:34.797\",,\"2,155\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.108.133.125\"\n\"September 20th 2015, 07:21:20.583\",,\"1,541\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.75.54.137\"\n\"September 20th 2015, 07:21:16.797\",,\"7,756\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"234.58.25.145\"\n\"September 20th 2015, 07:20:53.335\",,\"9,169\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.84.165.54\"\n\"September 20th 2015, 07:20:43.275\",,\"19,384\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"157.56.54.126\"\n\"September 20th 2015, 07:20:33.387\",,\"1,992\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"145.211.179.106\"\n\"September 20th 2015, 07:20:30.671\",,\"9,565\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.153.166.47\"\n\"September 20th 2015, 07:20:11.869\",,\"12,401\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"217.132.169.207\"\n\"September 20th 2015, 07:20:07.363\",,\"8,145\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.85.86.52\"\n\"September 20th 2015, 07:19:55.968\",,\"7,150\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.93.219.234\"\n\"September 20th 2015, 07:19:50.294\",,\"5,936\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.12.132.188\"\n\"September 20th 2015, 07:19:46.467\",,\"9,888\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"45.138.192.138\"\n\"September 20th 2015, 07:19:36.061\",,\"6,190\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"87.66.62.130\"\n\"September 20th 2015, 07:19:32.723\",,\"9,243\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.55.80.52\"\n\"September 20th 2015, 07:19:21.624\",,\"7,700\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"19.15.54.136\"\n\"September 20th 2015, 07:19:07.770\",,\"1,801\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.106.29.25\"\n\"September 20th 2015, 07:18:57.570\",,\"2,249\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.66.60.152\"\n\"September 20th 2015, 07:18:56.976\",,\"7,706\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.143.189.70\"\n\"September 20th 2015, 07:18:53.775\",,\"4,258\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.84.165.54\"\n\"September 20th 2015, 07:18:42.517\",,\"3,284\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.27.63.249\"\n\"September 20th 2015, 07:18:30.698\",,\"7,366\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.151.84.213\"\n\"September 20th 2015, 07:18:07.350\",,\"4,186\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"30.149.85.183\"\n\"September 20th 2015, 07:18:06.379\",,\"4,852\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"120.101.20.104\"\n\"September 20th 2015, 07:18:00.663\",,\"4,758\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"202.22.74.232\"\n\"September 20th 2015, 07:18:00.310\",,\"1,755\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"147.175.109.124\"\n\"September 20th 2015, 07:17:59.301\",,\"17,273\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"232.64.207.109\"\n\"September 20th 2015, 07:17:52.675\",,\"8,620\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"186.123.19.234\"\n\"September 20th 2015, 07:17:43.331\",,\"3,807\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"167.51.186.15\"\n\"September 20th 2015, 07:17:36.963\",,\"8,129\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"246.88.57.13\"\n\"September 20th 2015, 07:17:28.816\",,\"7,484\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"94.48.29.38\"\n\"September 20th 2015, 07:17:26.397\",,\"5,833\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.115.74.144\"\n\"September 20th 2015, 07:17:21.053\",,\"6,462\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"19.28.123.34\"\n\"September 20th 2015, 07:17:20.515\",,\"4,500\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.106.160.216\"\n\"September 20th 2015, 07:17:19.597\",,\"2,062\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.164.39.249\"\n\"September 20th 2015, 07:17:17.448\",,\"8,840\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"75.246.160.14\"\n\"September 20th 2015, 07:17:10.144\",,\"3,651\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"164.185.40.249\"\n\"September 20th 2015, 07:17:08.478\",,\"2,861\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"1.59.159.138\"\n\"September 20th 2015, 07:17:01.050\",,\"4,015\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.190.101.72\"\n\"September 20th 2015, 07:16:59.811\",,\"5,158\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.62.43.103\"\n\"September 20th 2015, 07:16:58.582\",,\"6,743\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.223.188.57\"\n\"September 20th 2015, 07:16:47.171\",,\"6,394\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.225.107.118\"\n\"September 20th 2015, 07:16:46.602\",,\"7,079\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"221.219.72.105\"\n\"September 20th 2015, 07:16:45.198\",,\"2,129\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"196.131.25.8\"\n\"September 20th 2015, 07:16:35.850\",,\"8,038\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"50.202.67.216\"\n\"September 20th 2015, 07:16:27.518\",,\"9,976\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"234.206.115.94\"\n\"September 20th 2015, 07:16:18.110\",,\"4,363\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.254.91.215\"\n\"September 20th 2015, 07:16:15.525\",,\"5,557\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.126.159.144\"\n\"September 20th 2015, 07:16:03.698\",,\"3,951\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.139.46.29\"\n\"September 20th 2015, 07:15:56.519\",,\"6,329\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"221.109.118.102\"\n\"September 20th 2015, 07:15:55.892\",,\"1,514\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.58.247.117\"\n\"September 20th 2015, 07:15:40.820\",,\"2,032\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.158.203.248\"\n\"September 20th 2015, 07:15:33.896\",,\"6,032\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.147.119.226\"\n\"September 20th 2015, 07:15:25.570\",,\"7,220\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"187.33.177.173\"\n\"September 20th 2015, 07:15:13.435\",,\"4,705\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"85.107.235.54\"\n\"September 20th 2015, 07:15:08.643\",,\"5,741\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.13.115.149\"\n\"September 20th 2015, 07:15:00.858\",,\"6,518\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.156.46.205\"\n\"September 20th 2015, 07:14:48.898\",,\"9,305\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"145.211.179.106\"\n\"September 20th 2015, 07:14:48.423\",,\"4,409\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"104.87.105.86\"\n\"September 20th 2015, 07:14:27.073\",,\"4,932\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.92.154.173\"\n\"September 20th 2015, 07:14:24.924\",,\"3,229\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.13.7.53\"\n\"September 20th 2015, 07:14:23.740\",,\"8,939\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.38.139.107\"\n\"September 20th 2015, 07:14:20.500\",,\"6,876\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"142.17.191.204\"\n\"September 20th 2015, 07:14:19.829\",,\"19,759\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"136.122.153.94\"\n\"September 20th 2015, 07:14:16.358\",,\"9,025\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"236.110.56.1\"\n\"September 20th 2015, 07:14:15.716\",,\"5,060\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"232.144.75.220\"\n\"September 20th 2015, 07:14:07.183\",,\"9,749\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.2.26.42\"\n\"September 20th 2015, 07:14:01.935\",,\"2,536\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"241.45.143.98\"\n\"September 20th 2015, 07:13:54.473\",,\"3,377\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.159.75.84\"\n\"September 20th 2015, 07:13:31.625\",,\"7,879\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.195.163.57\"\n\"September 20th 2015, 07:13:27.436\",,\"5,394\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"234.65.112.109\"\n\"September 20th 2015, 07:13:19.758\",,\"4,701\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.189.88.90\"\n\"September 20th 2015, 07:13:14.790\",,\"5,879\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.219.108.141\"\n\"September 20th 2015, 07:13:08.723\",,\"3,128\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.220.171.248\"\n\"September 20th 2015, 07:13:07.521\",,\"1,984\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.181.188.3\"\n\"September 20th 2015, 07:13:00.391\",,\"7,747\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.75.33.146\"\n\"September 20th 2015, 07:12:53.216\",,\"5,859\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"127.63.221.223\"\n\"September 20th 2015, 07:12:44.092\",,\"4,855\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.13.115.149\"\n\"September 20th 2015, 07:12:38.083\",,\"4,110\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.218.92.179\"\n\"September 20th 2015, 07:12:32.309\",,\"8,047\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.156.52.180\"\n\"September 20th 2015, 07:12:28.777\",,\"6,883\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.193.157.89\"\n\"September 20th 2015, 07:12:26.981\",,\"9,946\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"106.181.249.244\"\n\"September 20th 2015, 07:12:26.748\",,\"13,957\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.11.74.125\"\n\"September 20th 2015, 07:12:12.953\",,\"2,341\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.194.113.132\"\n\"September 20th 2015, 07:12:02.968\",,\"2,147\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"235.2.62.18\"\n\"September 20th 2015, 07:11:54.382\",,\"1,889\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"9.85.51.238\"\n\"September 20th 2015, 07:11:53.773\",,\"8,697\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.63.51.8\"\n\"September 20th 2015, 07:11:48.693\",,\"5,251\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.115.189.193\"\n\"September 20th 2015, 07:11:47.422\",,\"3,465\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.94.183.177\"\n\"September 20th 2015, 07:11:36.009\",,\"9,022\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.151.244.234\"\n\"September 20th 2015, 07:11:27.477\",,\"1,588\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.253.85.132\"\n\"September 20th 2015, 07:11:11.189\",,\"4,749\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.236.80.152\"\n\"September 20th 2015, 07:11:09.884\",,\"6,849\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"96.40.73.208\"\n\"September 20th 2015, 07:11:01.286\",,\"6,312\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.90.86.83\"\n\"September 20th 2015, 07:11:01.225\",,\"2,714\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.206.227.106\"\n\"September 20th 2015, 07:10:45.962\",,\"4,705\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"122.25.161.118\"\n\"September 20th 2015, 07:10:32.465\",,\"3,391\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"126.87.234.213\"\n\"September 20th 2015, 07:10:29.518\",,\"9,293\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.92.89.101\"\n\"September 20th 2015, 07:10:18.951\",,\"2,706\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.117.248.129\"\n\"September 20th 2015, 07:10:16.551\",,\"7,224\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"174.32.230.63\"\n\"September 20th 2015, 07:10:11.787\",,\"4,588\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"109.25.18.216\"\n\"September 20th 2015, 07:10:03.149\",,\"2,421\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.25.112.43\"\n\"September 20th 2015, 07:09:43.232\",,\"11,407\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"221.109.118.102\"\n\"September 20th 2015, 07:09:21.239\",,\"2,990\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.216.205.112\"\n\"September 20th 2015, 07:09:18.912\",,\"7,514\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"82.40.137.38\"\n\"September 20th 2015, 07:09:16.990\",,\"12,126\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.161.172.168\"\n\"September 20th 2015, 07:09:16.458\",,\"12,446\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"32.146.206.24\"\n\"September 20th 2015, 07:09:09.578\",,\"2,842\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"161.108.174.248\"\n\"September 20th 2015, 07:09:08.016\",,\"2,952\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.29.90.185\"\n\"September 20th 2015, 07:09:04.776\",,\"1,988\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.224.4.183\"\n\"September 20th 2015, 07:09:01.906\",,\"16,315\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"195.76.3.10\"\n\"September 20th 2015, 07:08:54.238\",,\"13,110\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.115.183.40\"\n\"September 20th 2015, 07:08:44.038\",,\"7,377\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"248.163.75.193\"\n\"September 20th 2015, 07:08:14.356\",,\"7,023\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"36.185.52.71\"\n\"September 20th 2015, 07:08:13.354\",,\"3,966\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.170.135.63\"\n\"September 20th 2015, 07:08:06.684\",,\"8,238\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"255.58.31.9\"\n\"September 20th 2015, 07:08:02.772\",,\"5,434\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.110.56.1\"\n\"September 20th 2015, 07:07:43.299\",,\"9,923\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"115.225.12.164\"\n\"September 20th 2015, 07:07:36.638\",,\"8,227\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"131.102.224.216\"\n\"September 20th 2015, 07:07:35.156\",,\"2,649\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.108.62.100\"\n\"September 20th 2015, 07:07:30.661\",,\"6,499\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.170.80.142\"\n\"September 20th 2015, 07:07:30.419\",,\"1,811\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"95.117.248.129\"\n\"September 20th 2015, 07:07:21.477\",,\"8,148\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.243.18.67\"\n\"September 20th 2015, 07:07:18.971\",,\"3,259\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.23.191.85\"\n\"September 20th 2015, 07:07:15.715\",,\"4,334\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.46.85.146\"\n\"September 20th 2015, 07:07:15.423\",,\"3,322\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.24.165.50\"\n\"September 20th 2015, 07:07:10.749\",,\"2,684\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.27.63.249\"\n\"September 20th 2015, 07:06:57.536\",,\"6,831\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"14.128.128.34\"\n\"September 20th 2015, 07:06:57.267\",,\"9,879\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.153.166.47\"\n\"September 20th 2015, 07:06:43.635\",,\"2,452\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"222.28.157.119\"\n\"September 20th 2015, 07:06:39.128\",,\"4,568\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.48.147.184\"\n\"September 20th 2015, 07:06:38.415\",,\"7,811\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.25.39.187\"\n\"September 20th 2015, 07:06:29.754\",,\"1,596\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.182.13.142\"\n\"September 20th 2015, 07:06:28.916\",,\"7,224\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"46.163.136.60\"\n\"September 20th 2015, 07:06:21.858\",,\"4,044\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.151.244.234\"\n\"September 20th 2015, 07:06:18.480\",,\"2,637\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"177.141.61.131\"\n\"September 20th 2015, 07:06:17.701\",,\"5,504\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"127.254.107.86\"\n\"September 20th 2015, 07:05:50.375\",,\"9,864\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.155.198.238\"\n\"September 20th 2015, 07:05:48.601\",,\"8,579\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.53.120.159\"\n\"September 20th 2015, 07:05:44.846\",,\"7,716\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.171.208.139\"\n\"September 20th 2015, 07:05:41.525\",,\"4,233\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"77.227.154.93\"\n\"September 20th 2015, 07:05:31.387\",,\"8,258\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"50.202.67.216\"\n\"September 20th 2015, 07:05:26.865\",,\"9,103\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.166.42.220\"\n\"September 20th 2015, 07:05:18.829\",,\"7,844\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"37.92.205.231\"\n\"September 20th 2015, 07:05:08.790\",,\"5,419\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"147.175.109.124\"\n\"September 20th 2015, 07:04:53.966\",,\"6,292\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"113.43.75.122\"\n\"September 20th 2015, 07:04:49.579\",,\"9,148\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"247.174.57.245\"\n\"September 20th 2015, 07:04:47.232\",,\"3,407\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.71.171.141\"\n\"September 20th 2015, 07:04:42.661\",,\"7,624\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"234.206.115.94\"\n\"September 20th 2015, 07:04:41.924\",,\"2,269\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"48.242.153.99\"\n\"September 20th 2015, 07:04:20.893\",,\"13,918\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"185.148.221.121\"\n\"September 20th 2015, 07:04:14.700\",,\"3,196\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.63.51.8\"\n\"September 20th 2015, 07:03:58.731\",,\"9,856\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"207.218.166.105\"\n\"September 20th 2015, 07:03:55.237\",,\"10,491\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.207.101.203\"\n\"September 20th 2015, 07:03:47.036\",,\"8,890\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.201.32.254\"\n\"September 20th 2015, 07:03:42.456\",,\"7,169\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"66.194.157.171\"\n\"September 20th 2015, 07:03:40.696\",,\"9,433\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"64.39.144.87\"\n\"September 20th 2015, 07:03:35.585\",,\"5,373\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.123.178.135\"\n\"September 20th 2015, 07:03:32.964\",,\"8,578\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.92.194.37\"\n\"September 20th 2015, 07:03:32.273\",,\"3,563\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.97.64.146\"\n\"September 20th 2015, 07:03:29.287\",,\"9,938\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"210.210.88.232\"\n\"September 20th 2015, 07:03:22.677\",,\"9,226\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.97.64.146\"\n\"September 20th 2015, 07:03:20.134\",,\"4,505\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"45.102.15.116\"\n\"September 20th 2015, 07:03:07.349\",,\"8,017\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.233.183.250\"\n\"September 20th 2015, 07:03:04.980\",,\"3,229\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.58.145.175\"\n\"September 20th 2015, 07:03:01.155\",,\"12,215\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.204.140.157\"\n\"September 20th 2015, 07:02:49.905\",,\"1,643\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"232.206.227.106\"\n\"September 20th 2015, 07:02:31.727\",,\"9,838\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"204.4.99.92\"\n\"September 20th 2015, 07:02:28.794\",,\"4,944\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"183.33.83.170\"\n\"September 20th 2015, 07:01:53.253\",,\"9,730\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"46.163.136.60\"\n\"September 20th 2015, 07:01:52.449\",,\"4,702\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"35.222.204.135\"\n\"September 20th 2015, 07:01:40.276\",,\"6,069\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.206.117.161\"\n\"September 20th 2015, 07:01:35.723\",,\"9,857\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"177.141.61.131\"\n\"September 20th 2015, 07:01:30.141\",,\"8,338\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.93.29.126\"\n\"September 20th 2015, 07:01:21.807\",,\"1,747\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.161.172.168\"\n\"September 20th 2015, 07:01:18.498\",,\"9,621\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.105.183.164\"\n\"September 20th 2015, 07:01:13.022\",,\"6,555\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.216.205.112\"\n\"September 20th 2015, 07:01:09.805\",,\"6,057\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"254.75.96.91\"\n\"September 20th 2015, 07:00:55.622\",,\"9,119\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.244.83.137\"\n\"September 20th 2015, 07:00:43.972\",,\"7,537\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"203.239.228.151\"\n\"September 20th 2015, 07:00:37.894\",,\"5,026\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"54.194.215.29\"\n\"September 20th 2015, 07:00:37.085\",,\"4,018\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"61.52.11.157\"\n\"September 20th 2015, 07:00:29.195\",,\"6,150\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.116.179.248\"\n\"September 20th 2015, 07:00:23.721\",,\"3,189\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"101.145.158.45\"\n\"September 20th 2015, 07:00:20.894\",,\"7,957\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"218.226.100.31\"\n\"September 20th 2015, 07:00:03.082\",,\"7,031\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.59.37.77\"\n\"September 20th 2015, 07:00:01.607\",,\"9,811\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.53.96.88\"\n\"September 20th 2015, 07:00:01.223\",,\"16,476\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"85.107.235.54\"\n\"September 20th 2015, 06:59:42.873\",,\"9,676\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.56.90.184\"\n\"September 20th 2015, 06:59:38.493\",,\"8,825\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"52.158.88.35\"\n\"September 20th 2015, 06:59:34.179\",,\"5,328\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"115.225.12.164\"\n\"September 20th 2015, 06:59:17.937\",,\"5,083\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.76.224.154\"\n\"September 20th 2015, 06:59:16.542\",,\"7,486\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"117.112.55.75\"\n\"September 20th 2015, 06:59:08.954\",,\"2,077\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"215.6.99.158\"\n\"September 20th 2015, 06:58:59.021\",,\"7,811\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.126.43.84\"\n\"September 20th 2015, 06:58:57.692\",,\"2,125\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.116.186.0\"\n\"September 20th 2015, 06:58:53.464\",,\"4,983\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.33.226.187\"\n\"September 20th 2015, 06:58:37.552\",,\"18,681\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"141.42.174.116\"\n\"September 20th 2015, 06:58:31.151\",,\"7,727\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"14.61.182.136\"\n\"September 20th 2015, 06:58:27.280\",,\"9,355\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.156.52.180\"\n\"September 20th 2015, 06:58:21.393\",,\"4,147\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.149.85.183\"\n\"September 20th 2015, 06:58:19.693\",,\"3,191\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.167.142.250\"\n\"September 20th 2015, 06:58:13.547\",,\"6,247\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"67.238.57.221\"\n\"September 20th 2015, 06:57:55.493\",,\"2,535\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"67.220.97.120\"\n\"September 20th 2015, 06:57:55.263\",,\"12,492\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"75.201.93.111\"\n\"September 20th 2015, 06:57:40.019\",,\"6,392\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.142.140.200\"\n\"September 20th 2015, 06:57:30.728\",,\"9,506\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.135.152.88\"\n\"September 20th 2015, 06:57:11.657\",,\"3,903\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.86.132.152\"\n\"September 20th 2015, 06:57:11.350\",,\"7,477\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.49.164.228\"\n\"September 20th 2015, 06:56:14.344\",,\"8,424\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"248.163.75.193\"\n\"September 20th 2015, 06:56:09.370\",,\"7,815\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.53.114.44\"\n\"September 20th 2015, 06:55:54.557\",,\"9,421\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.174.21.181\"\n\"September 20th 2015, 06:55:47.827\",,\"4,805\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.233.202.162\"\n\"September 20th 2015, 06:55:30.233\",,\"7,512\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"42.72.83.65\"\n\"September 20th 2015, 06:55:28.784\",,\"18,931\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.47.79.172\"\n\"September 20th 2015, 06:55:26.100\",,\"7,338\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"17.123.55.136\"\n\"September 20th 2015, 06:55:20.003\",,\"3,639\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.205.146.206\"\n\"September 20th 2015, 06:55:12.360\",,\"12,995\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.100.60.111\"\n\"September 20th 2015, 06:54:36.478\",,\"8,191\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.156.6.246\"\n\"September 20th 2015, 06:54:33.019\",,\"6,885\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.13.115.149\"\n\"September 20th 2015, 06:53:51.274\",,\"7,531\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"36.160.226.203\"\n\"September 20th 2015, 06:53:07.793\",,\"4,950\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"143.84.142.7\"\n\"September 20th 2015, 06:52:56.209\",,\"3,534\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"157.56.54.126\"\n\"September 20th 2015, 06:52:52.946\",,\"2,814\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.114.14.197\"\n\"September 20th 2015, 06:52:48.250\",,\"7,723\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.21.156.43\"\n\"September 20th 2015, 06:52:39.388\",,\"5,008\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"85.79.151.78\"\n\"September 20th 2015, 06:52:35.052\",,\"6,437\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"24.186.122.118\"\n\"September 20th 2015, 06:52:14.183\",,\"8,242\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"102.191.15.62\"\n\"September 20th 2015, 06:51:50.276\",,\"7,916\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.77.18.142\"\n\"September 20th 2015, 06:51:44.105\",,\"9,824\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"178.122.0.0\"\n\"September 20th 2015, 06:51:24.451\",,\"6,133\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"31.38.33.47\"\n\"September 20th 2015, 06:51:11.357\",,\"6,085\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"183.128.223.209\"\n\"September 20th 2015, 06:50:48.529\",,\"8,718\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"236.110.56.1\"\n\"September 20th 2015, 06:50:44.460\",,\"6,815\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"24.202.52.232\"\n\"September 20th 2015, 06:50:33.608\",,\"2,980\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"169.228.188.120\"\n\"September 20th 2015, 06:50:31.015\",,\"9,753\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.84.111.185\"\n\"September 20th 2015, 06:50:23.883\",,\"9,227\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.244.150.190\"\n\"September 20th 2015, 06:50:20.815\",,\"3,670\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.133.22.163\"\n\"September 20th 2015, 06:50:10.119\",,\"3,906\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"234.201.75.147\"\n\"September 20th 2015, 06:50:08.506\",,\"7,946\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.223.214.184\"\n\"September 20th 2015, 06:50:07.903\",,\"9,005\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.42.144.78\"\n\"September 20th 2015, 06:50:03.228\",,\"7,862\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.191.218.38\"\n\"September 20th 2015, 06:49:49.957\",,\"5,563\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.135.88.86\"\n\"September 20th 2015, 06:49:37.617\",,\"5,527\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.74.96.103\"\n\"September 20th 2015, 06:49:30.056\",,\"9,700\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.111.6.73\"\n\"September 20th 2015, 06:49:20.492\",,\"7,473\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"196.131.25.8\"\n\"September 20th 2015, 06:49:20.077\",,\"2,549\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"60.71.214.79\"\n\"September 20th 2015, 06:49:03.773\",,\"2,912\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.185.158.249\"\n\"September 20th 2015, 06:48:59.764\",,\"7,297\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.64.207.109\"\n\"September 20th 2015, 06:48:51.031\",,\"3,766\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.227.142.190\"\n\"September 20th 2015, 06:48:43.761\",,\"4,056\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.40.191.19\"\n\"September 20th 2015, 06:48:41.766\",,\"2,522\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.211.243.56\"\n\"September 20th 2015, 06:48:40.900\",,\"9,610\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.220.171.248\"\n\"September 20th 2015, 06:48:38.278\",,\"1,566\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.227.27.167\"\n\"September 20th 2015, 06:48:33.417\",,\"9,651\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.241.34.0\"\n\"September 20th 2015, 06:48:13.713\",,\"12,652\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"127.63.221.223\"\n\"September 20th 2015, 06:48:12.714\",,\"2,254\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"244.15.131.137\"\n\"September 20th 2015, 06:48:06.125\",,\"5,074\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.122.34.237\"\n\"September 20th 2015, 06:48:03.983\",,\"9,190\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"91.127.213.244\"\n\"September 20th 2015, 06:47:23.088\",,\"8,865\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"233.57.13.23\"\n\"September 20th 2015, 06:47:06.889\",,\"3,137\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"114.129.117.216\"\n\"September 20th 2015, 06:47:01.751\",,\"8,161\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"165.150.252.187\"\n\"September 20th 2015, 06:46:39.249\",,\"5,805\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.219.151.88\"\n\"September 20th 2015, 06:46:32.186\",,\"10,604\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.223.87.67\"\n\"September 20th 2015, 06:46:30.990\",,\"1,548\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.76.224.154\"\n\"September 20th 2015, 06:46:12.106\",,\"3,486\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.108.133.125\"\n\"September 20th 2015, 06:46:11.405\",,\"8,808\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"68.41.209.99\"\n\"September 20th 2015, 06:46:00.706\",,\"7,856\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.105.235.122\"\n\"September 20th 2015, 06:45:47.060\",,\"7,023\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.3.115.126\"\n\"September 20th 2015, 06:45:44.554\",,\"6,045\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.158.88.35\"\n\"September 20th 2015, 06:45:21.953\",,\"7,233\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.117.3.60\"\n\"September 20th 2015, 06:45:05.477\",,\"3,276\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"234.201.75.147\"\n\"September 20th 2015, 06:45:03.333\",,\"4,062\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"84.205.43.205\"\n\"September 20th 2015, 06:44:48.423\",,\"1,509\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.115.184.133\"\n\"September 20th 2015, 06:44:41.981\",,\"9,677\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.153.40.224\"\n\"September 20th 2015, 06:44:36.596\",,\"6,805\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.227.195.13\"\n\"September 20th 2015, 06:44:32.138\",,\"4,222\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"202.48.108.4\"\n\"September 20th 2015, 06:44:12.854\",,\"6,339\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.99.243.183\"\n\"September 20th 2015, 06:43:59.961\",,\"3,553\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.241.46.95\"\n\"September 20th 2015, 06:43:59.774\",,\"6,857\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.49.164.228\"\n\"September 20th 2015, 06:43:53.485\",,\"8,153\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"214.5.110.41\"\n\"September 20th 2015, 06:43:33.327\",,\"2,251\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.192.144.100\"\n\"September 20th 2015, 06:43:15.959\",,\"8,580\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.122.121.230\"\n\"September 20th 2015, 06:43:13.844\",,\"3,790\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.156.46.205\"\n\"September 20th 2015, 06:43:02.317\",,\"2,071\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.225.101.206\"\n\"September 20th 2015, 06:42:57.288\",,\"5,415\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.164.244.131\"\n\"September 20th 2015, 06:42:45.042\",,\"9,010\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.43.63.180\"\n\"September 20th 2015, 06:42:39.076\",,\"5,164\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.194.113.132\"\n\"September 20th 2015, 06:42:31.862\",,\"4,766\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"177.141.61.131\"\n\"September 20th 2015, 06:42:31.075\",,\"2,610\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"106.142.212.24\"\n\"September 20th 2015, 06:42:22.823\",,\"3,178\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"85.85.86.52\"\n\"September 20th 2015, 06:42:16.645\",,\"12,126\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.105.204.4\"\n\"September 20th 2015, 06:42:09.563\",,\"9,440\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.126.159.144\"\n\"September 20th 2015, 06:41:52.686\",,\"11,023\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"60.71.214.79\"\n\"September 20th 2015, 06:41:43.913\",,\"1,637\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.38.139.107\"\n\"September 20th 2015, 06:41:39.353\",,\"3,985\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"100.50.11.41\"\n\"September 20th 2015, 06:41:33.521\",,\"7,887\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.33.201.138\"\n\"September 20th 2015, 06:41:17.868\",,\"4,394\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.125.84.30\"\n\"September 20th 2015, 06:41:17.707\",,\"8,880\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.3.10.81\"\n\"September 20th 2015, 06:41:14.358\",,\"6,019\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.37.94.4\"\n\"September 20th 2015, 06:41:12.134\",,\"5,069\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.16.191.123\"\n\"September 20th 2015, 06:41:08.927\",,\"3,215\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.37.241.184\"\n\"September 20th 2015, 06:40:53.050\",,\"5,202\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.147.43.175\"\n\"September 20th 2015, 06:40:49.789\",,\"6,923\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.180.120.21\"\n\"September 20th 2015, 06:40:44.041\",,\"14,174\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.170.135.63\"\n\"September 20th 2015, 06:40:38.705\",,\"7,781\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.237.64.228\"\n\"September 20th 2015, 06:40:37.037\",,\"6,143\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.244.231.5\"\n\"September 20th 2015, 06:40:34.835\",,\"9,816\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"136.122.153.94\"\n\"September 20th 2015, 06:40:32.715\",,\"3,519\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"143.84.142.7\"\n\"September 20th 2015, 06:40:28.446\",,\"3,863\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"16.236.101.225\"\n\"September 20th 2015, 06:40:23.512\",,\"5,102\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.74.138.136\"\n\"September 20th 2015, 06:40:22.107\",,\"5,288\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"27.38.139.107\"\n\"September 20th 2015, 06:40:15.381\",,\"6,693\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.227.27.167\"\n\"September 20th 2015, 06:40:06.937\",,\"6,406\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"127.219.223.182\"\n\"September 20th 2015, 06:40:04.509\",,\"1,864\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.56.222.3\"\n\"September 20th 2015, 06:40:04.108\",,\"4,221\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"180.37.241.184\"\n\"September 20th 2015, 06:40:00.680\",,\"6,251\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.34.86.215\"\n\"September 20th 2015, 06:39:48.368\",,\"2,499\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"8.248.237.182\"\n\"September 20th 2015, 06:39:34.976\",,\"6,255\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"148.47.216.255\"\n\"September 20th 2015, 06:39:32.126\",,\"6,875\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.53.120.159\"\n\"September 20th 2015, 06:39:29.788\",,\"5,658\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.188.141.95\"\n\"September 20th 2015, 06:39:21.975\",,\"11,268\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"121.158.36.114\"\n\"September 20th 2015, 06:39:18.568\",,\"3,426\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"163.123.136.118\"\n\"September 20th 2015, 06:39:14.116\",,\"2,164\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"144.135.123.19\"\n\"September 20th 2015, 06:38:46.025\",,\"3,803\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"184.101.186.240\"\n\"September 20th 2015, 06:38:44.480\",,\"17,298\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.201.32.254\"\n\"September 20th 2015, 06:38:42.283\",,\"5,362\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"250.130.100.179\"\n\"September 20th 2015, 06:38:32.224\",,\"14,981\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.202.198.155\"\n\"September 20th 2015, 06:38:24.187\",,\"8,543\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"185.148.221.121\"\n\"September 20th 2015, 06:38:16.987\",,\"8,082\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"63.7.218.218\"\n\"September 20th 2015, 06:38:15.108\",,\"15,061\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"184.130.127.202\"\n\"September 20th 2015, 06:38:14.158\",,\"4,688\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"132.242.0.119\"\n\"September 20th 2015, 06:37:57.321\",,\"3,908\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"239.190.189.77\"\n\"September 20th 2015, 06:37:56.261\",,\"1,970\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.61.106.118\"\n\"September 20th 2015, 06:37:53.256\",,\"5,324\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"181.135.152.88\"\n\"September 20th 2015, 06:37:47.065\",,\"2,034\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"248.239.221.43\"\n\"September 20th 2015, 06:37:46.362\",,\"4,180\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.55.195.184\"\n\"September 20th 2015, 06:37:29.266\",,\"3,330\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"99.48.147.184\"\n\"September 20th 2015, 06:37:22.311\",,\"4,425\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"244.15.131.137\"\n\"September 20th 2015, 06:37:18.314\",,\"4,594\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"23.3.174.206\"\n\"September 20th 2015, 06:37:01.997\",,\"5,298\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.132.215.241\"\n\"September 20th 2015, 06:36:57.381\",,\"6,357\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"2.203.112.183\"\n\"September 20th 2015, 06:36:42.532\",,\"2,716\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"56.87.32.139\"\n\"September 20th 2015, 06:36:27.916\",,\"12,498\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"219.42.50.113\"\n\"September 20th 2015, 06:36:14.316\",,\"2,661\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"234.58.25.145\"\n\"September 20th 2015, 06:36:14.124\",,\"8,097\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.220.227.11\"\n\"September 20th 2015, 06:36:13.167\",,\"1,761\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.15.162.241\"\n\"September 20th 2015, 06:35:54.128\",,\"3,931\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"177.194.175.66\"\n\"September 20th 2015, 06:35:49.176\",,\"6,327\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.38.139.107\"\n\"September 20th 2015, 06:35:36.981\",,\"1,893\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.222.137.213\"\n\"September 20th 2015, 06:35:33.404\",,\"8,404\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"7.9.151.133\"\n\"September 20th 2015, 06:35:22.147\",,\"2,158\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.143.176.28\"\n\"September 20th 2015, 06:35:07.765\",,\"14,617\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.115.184.133\"\n\"September 20th 2015, 06:34:56.408\",,\"5,629\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"20.178.152.193\"\n\"September 20th 2015, 06:34:55.460\",,\"1,598\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.172.28.222\"\n\"September 20th 2015, 06:34:50.302\",,\"8,143\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"229.84.238.1\"\n\"September 20th 2015, 06:34:46.922\",,\"4,222\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.237.64.228\"\n\"September 20th 2015, 06:34:45.948\",,\"2,097\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.157.127.149\"\n\"September 20th 2015, 06:34:45.638\",,\"9,503\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"157.39.25.197\"\n\"September 20th 2015, 06:34:36.211\",,\"3,574\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"225.222.13.93\"\n\"September 20th 2015, 06:34:10.490\",,\"5,507\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.97.64.146\"\n\"September 20th 2015, 06:33:46.076\",,\"4,636\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.53.114.44\"\n\"September 20th 2015, 06:33:39.112\",,\"3,831\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"31.245.21.115\"\n\"September 20th 2015, 06:33:31.973\",,\"2,384\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.80.12.188\"\n\"September 20th 2015, 06:33:23.241\",,\"5,617\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.61.116.63\"\n\"September 20th 2015, 06:33:20.472\",,\"6,476\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.190.101.72\"\n\"September 20th 2015, 06:33:11.845\",,\"7,288\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"79.37.60.109\"\n\"September 20th 2015, 06:33:10.022\",,\"2,670\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.49.130.46\"\n\"September 20th 2015, 06:33:07.162\",,\"9,370\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.72.69.43\"\n\"September 20th 2015, 06:33:04.309\",,\"7,930\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.134.216.218\"\n\"September 20th 2015, 06:32:36.985\",,\"8,901\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"84.77.230.73\"\n\"September 20th 2015, 06:32:35.915\",,\"9,493\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.130.100.179\"\n\"September 20th 2015, 06:32:27.266\",,\"2,828\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"45.138.192.138\"\n\"September 20th 2015, 06:32:05.962\",,\"6,579\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"241.45.143.98\"\n\"September 20th 2015, 06:31:54.988\",,\"4,360\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.70.171.86\"\n\"September 20th 2015, 06:31:30.074\",,\"9,752\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"247.129.16.191\"\n\"September 20th 2015, 06:31:23.349\",,\"8,091\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"164.137.46.37\"\n\"September 20th 2015, 06:31:17.962\",,\"1,754\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.220.3.248\"\n\"September 20th 2015, 06:31:16.277\",,\"5,243\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"219.42.50.113\"\n\"September 20th 2015, 06:31:11.300\",,\"2,127\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"165.104.70.8\"\n\"September 20th 2015, 06:31:10.596\",,\"9,903\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"133.198.170.210\"\n\"September 20th 2015, 06:31:00.654\",,\"3,041\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"63.7.218.218\"\n\"September 20th 2015, 06:30:38.893\",,\"4,539\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.173.85.47\"\n\"September 20th 2015, 06:30:37.228\",,\"4,733\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"193.164.192.47\"\n\"September 20th 2015, 06:30:34.052\",,\"8,965\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.244.25.107\"\n\"September 20th 2015, 06:30:27.223\",,\"2,991\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"71.100.136.81\"\n\"September 20th 2015, 06:30:25.744\",,\"2,942\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.65.205.98\"\n\"September 20th 2015, 06:30:22.640\",,\"2,037\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"129.18.83.242\"\n\"September 20th 2015, 06:30:14.093\",,\"4,149\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.105.119.197\"\n\"September 20th 2015, 06:30:08.233\",,\"9,915\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"63.7.218.218\"\n\"September 20th 2015, 06:30:04.601\",,\"14,406\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"193.164.192.47\"\n\"September 20th 2015, 06:29:58.477\",,\"8,338\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.144.90.74\"\n\"September 20th 2015, 06:29:37.617\",,\"2,724\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"44.138.70.255\"\n\"September 20th 2015, 06:29:33.344\",,\"9,956\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.96.131.243\"\n\"September 20th 2015, 06:29:29.955\",,\"3,519\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.132.195.31\"\n\"September 20th 2015, 06:29:29.062\",,\"4,103\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"234.58.25.145\"\n\"September 20th 2015, 06:29:28.988\",,\"1,963\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.110.56.1\"\n\"September 20th 2015, 06:29:26.828\",,\"3,768\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.214.104.239\"\n\"September 20th 2015, 06:29:22.223\",,\"4,186\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"115.225.12.164\"\n\"September 20th 2015, 06:29:08.053\",,\"9,033\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"41.210.252.157\"\n\"September 20th 2015, 06:28:58.975\",,\"2,986\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"142.92.239.70\"\n\"September 20th 2015, 06:28:56.480\",,\"8,834\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"182.57.70.84\"\n\"September 20th 2015, 06:28:47.326\",,\"9,053\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.97.175.115\"\n\"September 20th 2015, 06:28:41.387\",,\"9,342\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"244.112.251.87\"\n\"September 20th 2015, 06:28:39.251\",,\"3,973\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"139.104.238.37\"\n\"September 20th 2015, 06:28:38.819\",,\"6,569\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.4.117.154\"\n\"September 20th 2015, 06:28:34.827\",,\"19,098\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.200.30.34\"\n\"September 20th 2015, 06:28:22.684\",,\"4,928\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.165.93.2\"\n\"September 20th 2015, 06:28:10.086\",,\"9,735\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"100.50.11.41\"\n\"September 20th 2015, 06:28:04.342\",,\"6,429\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"169.247.113.252\"\n\"September 20th 2015, 06:28:04.268\",,\"2,214\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.95.78.209\"\n\"September 20th 2015, 06:28:03.759\",,\"7,137\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.199.42.50\"\n\"September 20th 2015, 06:27:51.874\",,\"6,185\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"210.210.88.232\"\n\"September 20th 2015, 06:27:48.451\",,\"7,868\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"229.84.238.1\"\n\"September 20th 2015, 06:27:47.210\",,\"6,493\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.220.171.248\"\n\"September 20th 2015, 06:27:41.592\",,\"2,266\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.27.10.205\"\n\"September 20th 2015, 06:27:33.554\",,\"4,295\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"79.37.60.109\"\n\"September 20th 2015, 06:27:26.821\",,\"9,500\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.216.205.112\"\n\"September 20th 2015, 06:27:15.778\",,\"6,240\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"155.34.86.215\"\n\"September 20th 2015, 06:27:06.197\",,\"8,938\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.75.209.68\"\n\"September 20th 2015, 06:27:00.003\",,\"6,445\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.212.173.15\"\n\"September 20th 2015, 06:26:59.930\",,\"1,555\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.90.215.57\"\n\"September 20th 2015, 06:26:56.221\",,\"9,509\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.3.115.126\"\n\"September 20th 2015, 06:26:48.725\",,\"9,350\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"74.214.76.90\"\n\"September 20th 2015, 06:26:48.540\",,\"3,537\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"146.86.123.109\"\n\"September 20th 2015, 06:26:48.353\",,\"1,831\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.126.159.144\"\n\"September 20th 2015, 06:26:45.468\",,\"6,488\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.139.156.196\"\n\"September 20th 2015, 06:26:34.063\",,\"2,270\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.140.171.133\"\n\"September 20th 2015, 06:26:11.181\",,\"7,488\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.249.202.59\"\n\"September 20th 2015, 06:26:00.639\",,\"6,798\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.59.225.31\"\n\"September 20th 2015, 06:26:00.094\",,\"2,521\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"247.174.57.245\"\n\"September 20th 2015, 06:25:55.744\",,\"6,672\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"116.126.47.226\"\n\"September 20th 2015, 06:25:54.701\",,\"5,806\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.228.188.120\"\n\"September 20th 2015, 06:25:52.360\",,\"2,882\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"74.224.77.232\"\n\"September 20th 2015, 06:25:49.913\",,\"9,214\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"97.83.96.39\"\n\"September 20th 2015, 06:25:44.979\",,\"7,076\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"175.188.44.145\"\n\"September 20th 2015, 06:25:40.968\",,\"8,025\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.143.125.181\"\n\"September 20th 2015, 06:25:36.331\",,\"6,705\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.169.195.137\"\n\"September 20th 2015, 06:25:34.064\",,\"4,087\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.205.146.206\"\n\"September 20th 2015, 06:25:32.312\",,\"1,525\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.0.188.251\"\n\"September 20th 2015, 06:25:27.254\",,\"2,861\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.214.104.239\"\n\"September 20th 2015, 06:25:06.674\",,\"6,248\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.100.60.111\"\n\"September 20th 2015, 06:25:05.114\",,\"7,255\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.197.178.155\"\n\"September 20th 2015, 06:24:55.114\",,\"2,992\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"163.123.136.118\"\n\"September 20th 2015, 06:24:54.818\",,\"9,118\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"11.195.163.57\"\n\"September 20th 2015, 06:24:53.742\",,\"17,003\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"96.222.137.213\"\n\"September 20th 2015, 06:24:48.798\",,\"9,014\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.228.214.218\"\n\"September 20th 2015, 06:24:20.223\",,\"4,419\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.53.110.116\"\n\"September 20th 2015, 06:24:01.794\",,\"4,125\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"196.131.253.111\"\n\"September 20th 2015, 06:23:49.521\",,\"5,440\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.163.133.47\"\n\"September 20th 2015, 06:23:45.816\",,\"8,565\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"148.47.216.255\"\n\"September 20th 2015, 06:23:36.052\",,\"6,537\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"51.105.100.214\"\n\"September 20th 2015, 06:23:27.213\",,\"9,574\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"248.163.75.193\"\n\"September 20th 2015, 06:23:14.866\",,\"3,913\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.43.210.167\"\n\"September 20th 2015, 06:23:10.578\",,\"7,406\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.95.78.209\"\n\"September 20th 2015, 06:23:07.001\",,\"5,837\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.40.73.208\"\n\"September 20th 2015, 06:23:00.019\",,\"8,694\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.233.207.177\"\n\"September 20th 2015, 06:22:45.803\",,\"13,716\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.171.208.139\"\n\"September 20th 2015, 06:22:45.590\",,\"5,380\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.250.210.253\"\n\"September 20th 2015, 06:22:43.997\",,\"6,561\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"248.239.221.43\"\n\"September 20th 2015, 06:22:30.527\",,\"4,967\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"24.186.122.118\"\n\"September 20th 2015, 06:22:25.697\",,\"9,261\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"23.3.174.206\"\n\"September 20th 2015, 06:22:08.272\",,\"1,613\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"185.170.80.142\"\n\"September 20th 2015, 06:21:40.822\",,\"1,697\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"202.22.74.232\"\n\"September 20th 2015, 06:21:36.210\",,\"3,703\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.227.27.167\"\n\"September 20th 2015, 06:21:19.154\",,\"8,452\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.233.207.177\"\n\"September 20th 2015, 06:21:09.852\",,\"5,505\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"22.151.97.227\"\n\"September 20th 2015, 06:21:06.079\",,\"4,816\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"157.39.25.197\"\n\"September 20th 2015, 06:21:01.357\",,\"9,108\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.127.124.65\"\n\"September 20th 2015, 06:20:56.519\",,\"7,066\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"23.184.94.58\"\n\"September 20th 2015, 06:20:40.189\",,\"1,713\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"80.83.92.252\"\n\"September 20th 2015, 06:20:27.012\",,\"16,984\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.194.157.171\"\n\"September 20th 2015, 06:20:24.450\",,\"8,149\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.191.218.38\"\n\"September 20th 2015, 06:19:45.764\",,\"3,609\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"199.113.69.162\"\n\"September 20th 2015, 06:19:41.208\",,\"3,406\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.87.234.213\"\n\"September 20th 2015, 06:19:40.307\",,\"7,371\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.216.173.242\"\n\"September 20th 2015, 06:19:09.357\",,\"8,349\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"74.224.77.232\"\n\"September 20th 2015, 06:18:50.890\",,\"2,747\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"251.246.146.22\"\n\"September 20th 2015, 06:18:34.042\",,\"7,569\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.65.205.98\"\n\"September 20th 2015, 06:18:32.229\",,\"2,666\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.11.43.220\"\n\"September 20th 2015, 06:18:31.265\",,\"6,876\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.37.253.193\"\n\"September 20th 2015, 06:18:24.168\",,\"6,598\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"157.56.54.126\"\n\"September 20th 2015, 06:17:48.696\",,\"2,236\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.0.188.251\"\n\"September 20th 2015, 06:17:38.121\",,\"1,657\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.34.180.209\"\n\"September 20th 2015, 06:17:33.224\",,\"2,959\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"28.46.60.20\"\n\"September 20th 2015, 06:17:27.131\",,\"3,396\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"161.108.174.248\"\n\"September 20th 2015, 06:17:21.357\",,\"2,605\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.226.232.233\"\n\"September 20th 2015, 06:17:08.145\",,\"8,412\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"30.149.85.183\"\n\"September 20th 2015, 06:17:07.367\",,\"5,606\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"48.242.153.99\"\n\"September 20th 2015, 06:16:52.463\",,\"6,265\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.143.125.181\"\n\"September 20th 2015, 06:16:45.947\",,\"9,260\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.228.188.120\"\n\"September 20th 2015, 06:16:44.923\",,\"2,104\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"23.178.170.24\"\n\"September 20th 2015, 06:16:44.273\",,\"6,458\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.66.60.152\"\n\"September 20th 2015, 06:16:30.142\",,\"7,905\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.198.132.23\"\n\"September 20th 2015, 06:16:15.126\",,\"8,305\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"183.33.83.170\"\n\"September 20th 2015, 06:16:09.696\",,\"3,493\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.6.126.193\"\n\"September 20th 2015, 06:15:35.762\",,\"6,054\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"181.135.152.88\"\n\"September 20th 2015, 06:15:34.195\",,\"13,239\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"83.29.100.213\"\n\"September 20th 2015, 06:15:20.579\",,\"1,896\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.185.146.124\"\n\"September 20th 2015, 06:15:20.547\",,\"6,729\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"227.219.87.110\"\n\"September 20th 2015, 06:15:14.220\",,\"5,917\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"159.230.143.48\"\n\"September 20th 2015, 06:15:09.778\",,\"8,795\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.177.132.244\"\n\"September 20th 2015, 06:15:08.586\",,\"8,747\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.202.198.155\"\n\"September 20th 2015, 06:15:04.497\",,\"6,979\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.185.146.124\"\n\"September 20th 2015, 06:14:47.883\",,\"16,251\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.84.165.54\"\n\"September 20th 2015, 06:14:35.371\",,\"8,608\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.90.215.57\"\n\"September 20th 2015, 06:14:28.217\",,\"6,069\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"19.28.123.34\"\n\"September 20th 2015, 06:14:19.726\",,\"9,829\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"248.239.221.43\"\n\"September 20th 2015, 06:14:16.472\",,\"6,147\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.109.118.102\"\n\"September 20th 2015, 06:14:15.572\",,\"9,791\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.4.99.92\"\n\"September 20th 2015, 06:14:14.669\",,\"4,908\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"8.248.237.182\"\n\"September 20th 2015, 06:14:12.016\",,\"1,109\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.251.72.171\"\n\"September 20th 2015, 06:14:03.862\",,\"8,781\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.206.117.161\"\n\"September 20th 2015, 06:13:56.075\",,\"1,590\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"31.196.214.182\"\n\"September 20th 2015, 06:13:50.194\",,\"5,864\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.68.9.40\"\n\"September 20th 2015, 06:13:37.554\",,\"9,046\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.159.75.84\"\n\"September 20th 2015, 06:13:34.163\",,\"9,472\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.54.151.5\"\n\"September 20th 2015, 06:13:30.814\",,\"6,224\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.125.131.162\"\n\"September 20th 2015, 06:13:18.967\",,\"9,123\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.99.243.183\"\n\"September 20th 2015, 06:13:05.951\",,\"19,487\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"250.177.125.196\"\n\"September 20th 2015, 06:12:59.290\",,\"5,620\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"48.242.153.99\"\n\"September 20th 2015, 06:12:53.501\",,\"7,509\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"2.229.49.222\"\n\"September 20th 2015, 06:12:49.733\",,\"1,718\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"22.7.121.157\"\n\"September 20th 2015, 06:12:45.171\",,\"1,776\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"61.52.11.157\"\n\"September 20th 2015, 06:12:42.884\",,\"3,725\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.38.2.66\"\n\"September 20th 2015, 06:12:34.008\",,\"8,752\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"180.79.142.15\"\n\"September 20th 2015, 06:12:24.985\",,\"8,317\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"79.76.124.169\"\n\"September 20th 2015, 06:12:08.380\",,\"14,282\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"203.239.228.151\"\n\"September 20th 2015, 06:12:05.240\",,\"5,380\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.248.17.146\"\n\"September 20th 2015, 06:11:54.738\",,\"3,232\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"23.178.170.24\"\n\"September 20th 2015, 06:11:38.071\",,\"4,128\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"254.75.96.91\"\n\"September 20th 2015, 06:11:36.300\",,\"8,370\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.83.96.39\"\n\"September 20th 2015, 06:11:32.145\",,\"3,399\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"91.127.213.244\"\n\"September 20th 2015, 06:11:27.293\",,\"2,210\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.252.219.9\"\n\"September 20th 2015, 06:11:09.220\",,\"9,760\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"231.224.4.183\"\n\"September 20th 2015, 06:11:09.086\",,\"6,911\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.167.54.47\"\n\"September 20th 2015, 06:10:38.632\",,\"9,547\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.56.222.3\"\n\"September 20th 2015, 06:10:37.594\",,\"4,530\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.218.253.140\"\n\"September 20th 2015, 06:10:36.282\",,\"2,442\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"129.18.83.242\"\n\"September 20th 2015, 06:10:34.680\",,\"15,218\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"159.230.143.48\"\n\"September 20th 2015, 06:10:28.611\",,\"9,737\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"65.135.134.42\"\n\"September 20th 2015, 06:10:27.402\",,\"9,652\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.57.7.61\"\n\"September 20th 2015, 06:10:25.249\",,\"6,248\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.185.234.193\"\n\"September 20th 2015, 06:09:53.457\",,\"5,115\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"43.66.187.127\"\n\"September 20th 2015, 06:09:50.910\",,\"3,433\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"236.20.147.107\"\n\"September 20th 2015, 06:09:32.213\",,\"4,398\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.135.152.88\"\n\"September 20th 2015, 06:09:29.311\",,\"5,050\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.90.215.57\"\n\"September 20th 2015, 06:09:27.968\",,\"7,584\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.204.140.157\"\n\"September 20th 2015, 06:09:14.201\",,\"4,970\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.233.238.181\"\n\"September 20th 2015, 06:09:08.813\",,\"4,883\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.219.65.244\"\n\"September 20th 2015, 06:09:00.123\",,\"6,844\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.59.94.122\"\n\"September 20th 2015, 06:08:59.133\",,\"1,969\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"242.26.103.238\"\n\"September 20th 2015, 06:08:56.852\",,\"8,023\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"235.115.221.35\"\n\"September 20th 2015, 06:08:54.724\",,\"4,761\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.244.25.107\"\n\"September 20th 2015, 06:08:40.968\",,\"9,653\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.84.78.58\"\n\"September 20th 2015, 06:08:25.814\",,\"7,163\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"17.123.33.106\"\n\"September 20th 2015, 06:08:25.191\",,\"4,550\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"125.150.146.102\"\n\"September 20th 2015, 06:08:21.951\",,\"6,335\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"234.65.112.109\"\n\"September 20th 2015, 06:08:18.708\",,\"9,711\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"129.152.7.186\"\n\"September 20th 2015, 06:08:15.792\",,\"7,693\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"223.68.146.97\"\n\"September 20th 2015, 06:08:10.856\",,\"5,042\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"234.58.25.145\"\n\"September 20th 2015, 06:08:09.314\",,\"19,164\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.144.90.74\"\n\"September 20th 2015, 06:08:02.074\",,\"2,727\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.141.35.68\"\n\"September 20th 2015, 06:07:49.126\",,\"3,026\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"30.149.85.183\"\n\"September 20th 2015, 06:07:49.121\",,\"4,860\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.144.90.74\"\n\"September 20th 2015, 06:07:46.291\",,\"2,085\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.206.73.252\"\n\"September 20th 2015, 06:07:41.999\",,\"9,018\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"117.102.170.167\"\n\"September 20th 2015, 06:07:32.619\",,\"8,380\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.33.43.147\"\n\"September 20th 2015, 06:07:28.035\",,\"8,811\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"141.22.228.100\"\n\"September 20th 2015, 06:07:11.176\",,\"8,940\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.83.17.193\"\n\"September 20th 2015, 06:07:10.403\",,\"9,281\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.156.6.246\"\n\"September 20th 2015, 06:07:08.471\",,\"4,334\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.209.234.93\"\n\"September 20th 2015, 06:07:03.899\",,\"9,447\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"77.227.154.93\"\n\"September 20th 2015, 06:06:34.157\",,\"4,320\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"254.75.96.91\"\n\"September 20th 2015, 06:06:30.417\",,\"19,568\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.152.141.244\"\n\"September 20th 2015, 06:06:28.729\",,\"1,881\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.46.176.132\"\n\"September 20th 2015, 06:06:25.854\",,\"4,947\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"23.178.170.24\"\n\"September 20th 2015, 06:06:25.674\",,\"7,401\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"7.218.211.125\"\n\"September 20th 2015, 06:06:23.239\",,\"9,852\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.123.27.0\"\n\"September 20th 2015, 06:06:14.338\",,\"1,988\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.30.157.224\"\n\"September 20th 2015, 06:06:04.034\",,\"9,666\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.99.243.183\"\n\"September 20th 2015, 06:05:52.402\",,\"4,059\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"241.129.62.213\"\n\"September 20th 2015, 06:05:47.854\",,\"1,841\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.53.110.116\"\n\"September 20th 2015, 06:05:42.620\",,\"8,790\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"81.1.40.59\"\n\"September 20th 2015, 06:05:41.173\",,\"2,321\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.70.171.86\"\n\"September 20th 2015, 06:05:40.443\",,\"9,428\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"195.62.0.145\"\n\"September 20th 2015, 06:05:32.983\",,\"3,223\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.180.120.21\"\n\"September 20th 2015, 06:05:29.994\",,\"6,835\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"20.222.131.172\"\n\"September 20th 2015, 06:05:00.185\",,\"2,551\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"77.208.78.205\"\n\"September 20th 2015, 06:04:47.338\",,\"3,528\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"110.88.213.204\"\n\"September 20th 2015, 06:04:43.574\",,\"6,553\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"239.180.70.74\"\n\"September 20th 2015, 06:04:35.023\",,\"5,576\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"169.247.113.252\"\n\"September 20th 2015, 06:04:24.231\",,\"7,913\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.245.188.46\"\n\"September 20th 2015, 06:03:54.585\",,\"4,990\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.180.120.21\"\n\"September 20th 2015, 06:03:53.810\",,\"6,135\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.97.87.54\"\n\"September 20th 2015, 06:03:49.255\",,\"4,222\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"178.104.96.40\"\n\"September 20th 2015, 06:03:36.065\",,\"8,287\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.87.17.249\"\n\"September 20th 2015, 06:03:33.235\",,\"5,104\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"208.255.16.81\"\n\"September 20th 2015, 06:03:30.972\",,\"7,987\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.227.142.190\"\n\"September 20th 2015, 06:03:20.777\",,\"1,858\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.23.191.85\"\n\"September 20th 2015, 06:02:47.484\",,\"4,974\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.56.56.106\"\n\"September 20th 2015, 06:02:44.585\",,\"4,572\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.223.164.21\"\n\"September 20th 2015, 06:02:43.726\",,\"9,995\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"217.44.155.137\"\n\"September 20th 2015, 06:02:30.940\",,\"6,681\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.148.228.141\"\n\"September 20th 2015, 06:02:28.630\",,\"7,904\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"2.229.49.222\"\n\"September 20th 2015, 06:02:22.435\",,\"5,730\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.233.207.177\"\n\"September 20th 2015, 06:02:14.104\",,\"5,124\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.206.73.252\"\n\"September 20th 2015, 06:01:59.393\",,\"5,957\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"219.33.16.83\"\n\"September 20th 2015, 06:01:48.609\",,\"6,288\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"81.191.227.104\"\n\"September 20th 2015, 06:01:48.221\",,\"3,807\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.249.93.77\"\n\"September 20th 2015, 06:01:46.456\",,\"6,722\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.189.205.188\"\n\"September 20th 2015, 06:01:25.044\",,\"5,676\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.136.156.225\"\n\"September 20th 2015, 06:01:21.911\",,\"7,730\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.211.13.64\"\n\"September 20th 2015, 06:01:21.680\",,\"14,851\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.40.73.208\"\n\"September 20th 2015, 06:01:08.083\",,\"3,350\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"82.40.137.38\"\n\"September 20th 2015, 06:00:53.964\",,\"6,953\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"146.229.88.89\"\n\"September 20th 2015, 06:00:40.357\",,\"8,073\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"79.16.207.3\"\n\"September 20th 2015, 06:00:27.563\",,\"5,233\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.144.90.74\"\n\"September 20th 2015, 06:00:25.719\",,\"7,640\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.237.11.219\"\n\"September 20th 2015, 06:00:15.071\",,\"2,668\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"241.129.62.213\"\n\"September 20th 2015, 06:00:10.057\",,\"3,625\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.240.114.69\"\n\"September 20th 2015, 06:00:09.394\",,\"3,573\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.60.53.165\"\n\"September 20th 2015, 06:00:08.966\",,\"9,415\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.76.208.132\"\n\"September 20th 2015, 06:00:01.159\",,\"3,523\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.7.97.184\"\n\"September 20th 2015, 05:59:57.588\",,\"4,590\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.205.178.33\"\n\"September 20th 2015, 05:59:55.004\",,\"7,448\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.79.158.95\"\n\"September 20th 2015, 05:59:50.445\",,\"3,221\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"2.7.11.95\"\n\"September 20th 2015, 05:59:41.725\",,\"5,226\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.25.39.187\"\n\"September 20th 2015, 05:59:12.925\",,\"4,468\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.139.45.110\"\n\"September 20th 2015, 05:58:59.851\",,\"3,232\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.55.251.105\"\n\"September 20th 2015, 05:58:57.464\",,\"8,879\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"106.142.212.24\"\n\"September 20th 2015, 05:58:56.335\",,\"1,953\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.87.234.213\"\n\"September 20th 2015, 05:58:47.171\",,\"6,299\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"86.21.236.176\"\n\"September 20th 2015, 05:58:44.951\",,\"8,477\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.70.170.56\"\n\"September 20th 2015, 05:58:44.811\",,\"9,162\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"133.198.170.210\"\n\"September 20th 2015, 05:58:27.315\",,\"3,674\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"45.102.15.116\"\n\"September 20th 2015, 05:58:25.049\",,\"9,421\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"186.182.14.125\"\n\"September 20th 2015, 05:58:21.703\",,\"9,903\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"120.101.20.104\"\n\"September 20th 2015, 05:58:10.916\",,\"7,245\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"182.57.70.84\"\n\"September 20th 2015, 05:58:00.425\",,\"1,854\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.106.209.231\"\n\"September 20th 2015, 05:57:59.365\",,\"3,438\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.74.96.103\"\n\"September 20th 2015, 05:57:55.466\",,\"9,782\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"76.215.43.26\"\n\"September 20th 2015, 05:57:54.582\",,\"6,501\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"77.208.78.205\"\n\"September 20th 2015, 05:57:28.633\",,\"8,142\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.105.196.209\"\n\"September 20th 2015, 05:57:27.139\",,\"9,990\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"23.178.170.24\"\n\"September 20th 2015, 05:57:12.647\",,\"8,981\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"59.202.132.136\"\n\"September 20th 2015, 05:57:04.479\",,\"2,742\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.82.3.150\"\n\"September 20th 2015, 05:56:22.635\",,\"6,820\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"232.144.75.220\"\n\"September 20th 2015, 05:56:12.988\",,\"8,655\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.245.188.46\"\n\"September 20th 2015, 05:56:07.851\",,\"2,888\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.123.178.135\"\n\"September 20th 2015, 05:56:05.712\",,\"8,360\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.227.125.229\"\n\"September 20th 2015, 05:56:00.348\",,\"3,235\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"80.225.247.245\"\n\"September 20th 2015, 05:55:50.705\",,\"8,708\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.210.116.210\"\n\"September 20th 2015, 05:55:45.194\",,\"2,689\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.151.142.25\"\n\"September 20th 2015, 05:55:42.862\",,\"3,800\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.245.252.224\"\n\"September 20th 2015, 05:55:34.130\",,\"4,205\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"147.244.160.168\"\n\"September 20th 2015, 05:55:21.510\",,\"6,786\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.186.152.28\"\n\"September 20th 2015, 05:54:45.020\",,\"7,191\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.183.87.181\"\n\"September 20th 2015, 05:54:43.406\",,\"3,874\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.109.145.217\"\n\"September 20th 2015, 05:54:20.468\",,\"2,743\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.61.182.136\"\n\"September 20th 2015, 05:54:19.726\",,\"8,580\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.185.146.124\"\n\"September 20th 2015, 05:54:12.895\",,\"8,770\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.148.228.141\"\n\"September 20th 2015, 05:54:12.264\",,\"9,934\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.156.52.180\"\n\"September 20th 2015, 05:54:07.714\",,\"5,347\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.167.142.250\"\n\"September 20th 2015, 05:53:56.192\",,\"4,251\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"197.49.80.127\"\n\"September 20th 2015, 05:53:50.413\",,\"9,956\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.202.168.250\"\n\"September 20th 2015, 05:53:40.120\",,\"9,386\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.156.219.144\"\n\"September 20th 2015, 05:53:35.873\",,\"17,318\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"3.200.198.147\"\n\"September 20th 2015, 05:53:33.573\",,\"5,299\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.37.60.109\"\n\"September 20th 2015, 05:53:09.895\",,\"2,406\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"52.158.88.35\"\n\"September 20th 2015, 05:53:09.419\",,\"7,720\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.47.75.195\"\n\"September 20th 2015, 05:53:07.155\",,\"14,077\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"85.62.211.92\"\n\"September 20th 2015, 05:53:02.794\",,\"2,240\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.121.197.80\"\n\"September 20th 2015, 05:52:51.395\",,\"3,662\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.119.119.38\"\n\"September 20th 2015, 05:52:48.210\",,\"2,419\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.37.253.193\"\n\"September 20th 2015, 05:52:45.219\",,\"3,476\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"32.180.30.227\"\n\"September 20th 2015, 05:52:36.514\",,\"10,964\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.50.219.103\"\n\"September 20th 2015, 05:52:24.102\",,\"1,544\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"74.101.37.80\"\n\"September 20th 2015, 05:52:22.117\",,\"8,264\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"118.63.242.217\"\n\"September 20th 2015, 05:52:18.863\",,\"1,994\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.79.189.11\"\n\"September 20th 2015, 05:52:14.325\",,\"6,714\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"171.243.18.67\"\n\"September 20th 2015, 05:51:51.200\",,\"2,423\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"248.193.114.155\"\n\"September 20th 2015, 05:51:48.827\",,\"7,495\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"140.22.23.73\"\n\"September 20th 2015, 05:51:37.214\",,\"3,149\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.59.94.122\"\n\"September 20th 2015, 05:51:21.215\",,\"3,675\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"64.221.41.27\"\n\"September 20th 2015, 05:51:15.605\",,\"12,914\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"71.241.97.89\"\n\"September 20th 2015, 05:51:15.171\",,\"6,991\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.81.157.252\"\n\"September 20th 2015, 05:50:50.364\",,\"5,719\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.127.76.132\"\n\"September 20th 2015, 05:50:46.217\",,\"4,514\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.143.176.28\"\n\"September 20th 2015, 05:50:43.801\",,\"7,037\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"203.206.8.45\"\n\"September 20th 2015, 05:50:39.588\",,\"4,723\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.242.204.223\"\n\"September 20th 2015, 05:50:34.028\",,\"5,982\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.63.242.217\"\n\"September 20th 2015, 05:50:31.113\",,\"9,833\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"225.209.251.160\"\n\"September 20th 2015, 05:50:30.325\",,\"2,258\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"181.209.116.94\"\n\"September 20th 2015, 05:50:01.312\",,\"7,027\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"45.138.192.138\"\n\"September 20th 2015, 05:49:52.919\",,\"3,201\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.165.226.140\"\n\"September 20th 2015, 05:49:48.853\",,\"2,041\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"227.43.145.144\"\n\"September 20th 2015, 05:49:44.788\",,\"3,489\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.153.51.78\"\n\"September 20th 2015, 05:49:35.763\",,\"1,698\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.213.56.203\"\n\"September 20th 2015, 05:49:25.908\",,\"11,970\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.27.102.199\"\n\"September 20th 2015, 05:49:21.466\",,\"9,735\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.114.14.197\"\n\"September 20th 2015, 05:49:21.056\",,\"6,073\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.25.39.187\"\n\"September 20th 2015, 05:49:20.809\",,\"6,419\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.253.85.132\"\n\"September 20th 2015, 05:49:11.580\",,\"2,641\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.201.212.220\"\n\"September 20th 2015, 05:48:53.712\",,\"19,985\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.59.37.77\"\n\"September 20th 2015, 05:48:44.000\",,\"8,235\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.206.117.161\"\n\"September 20th 2015, 05:48:34.742\",,\"4,188\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.167.142.250\"\n\"September 20th 2015, 05:48:34.523\",,\"2,213\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"84.205.43.205\"\n\"September 20th 2015, 05:48:32.604\",,\"2,818\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"244.112.251.87\"\n\"September 20th 2015, 05:48:31.060\",,\"9,004\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.237.148.2\"\n\"September 20th 2015, 05:48:29.957\",,\"3,405\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"5.206.32.88\"\n\"September 20th 2015, 05:48:28.907\",,\"2,735\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.225.141.240\"\n\"September 20th 2015, 05:48:28.522\",,\"3,833\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.22.23.73\"\n\"September 20th 2015, 05:48:28.289\",,\"6,289\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.96.131.243\"\n\"September 20th 2015, 05:48:26.410\",,\"7,879\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.207.16.29\"\n\"September 20th 2015, 05:48:23.749\",,\"2,401\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.122.34.237\"\n\"September 20th 2015, 05:48:22.552\",,\"4,457\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"171.132.193.95\"\n\"September 20th 2015, 05:48:22.134\",,\"4,945\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"244.112.251.87\"\n\"September 20th 2015, 05:48:21.935\",,\"7,974\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.80.12.188\"\n\"September 20th 2015, 05:48:19.213\",,\"7,468\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.128.223.209\"\n\"September 20th 2015, 05:48:02.869\",,\"4,439\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"164.185.40.249\"\n\"September 20th 2015, 05:47:55.736\",,\"3,531\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"64.39.144.87\"\n\"September 20th 2015, 05:47:52.844\",,\"1,993\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.99.184.146\"\n\"September 20th 2015, 05:47:48.452\",,\"2,976\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"5.83.83.42\"\n\"September 20th 2015, 05:47:39.377\",,\"2,731\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"12.200.161.41\"\n\"September 20th 2015, 05:47:33.463\",,\"9,647\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"116.171.234.62\"\n\"September 20th 2015, 05:47:18.604\",,\"9,788\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.154.233.154\"\n\"September 20th 2015, 05:47:09.794\",,\"8,643\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.206.73.252\"\n\"September 20th 2015, 05:47:02.729\",,\"2,512\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.207.16.29\"\n\"September 20th 2015, 05:46:35.272\",,\"9,829\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.13.113.3\"\n\"September 20th 2015, 05:46:29.091\",,\"7,810\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.171.208.139\"\n\"September 20th 2015, 05:46:04.697\",,\"3,767\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.43.124.118\"\n\"September 20th 2015, 05:45:52.852\",,\"9,648\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"112.181.188.3\"\n\"September 20th 2015, 05:45:47.872\",,\"2,643\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.58.244.165\"\n\"September 20th 2015, 05:45:40.935\",,\"3,391\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.180.120.21\"\n\"September 20th 2015, 05:45:28.563\",,\"5,233\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"217.44.155.137\"\n\"September 20th 2015, 05:45:09.547\",,\"9,281\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.53.114.44\"\n\"September 20th 2015, 05:44:46.632\",,\"9,664\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.39.79.51\"\n\"September 20th 2015, 05:44:43.055\",,\"6,864\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"231.192.80.162\"\n\"September 20th 2015, 05:44:40.489\",,\"4,618\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"204.17.159.23\"\n\"September 20th 2015, 05:44:39.915\",,\"15,184\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"84.205.43.205\"\n\"September 20th 2015, 05:44:34.208\",,\"1,927\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.231.132.106\"\n\"September 20th 2015, 05:44:32.685\",,\"6,359\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.185.158.249\"\n\"September 20th 2015, 05:44:30.938\",,\"6,793\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"84.77.230.73\"\n\"September 20th 2015, 05:44:27.526\",,\"3,956\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.239.0.38\"\n\"September 20th 2015, 05:44:11.851\",,\"6,988\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"247.174.57.245\"\n\"September 20th 2015, 05:44:11.163\",,\"3,048\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"168.180.71.177\"\n\"September 20th 2015, 05:44:10.637\",,\"4,334\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.186.79.201\"\n\"September 20th 2015, 05:43:53.380\",,\"4,807\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.161.247.172\"\n\"September 20th 2015, 05:43:41.955\",,\"7,926\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.52.178.194\"\n\"September 20th 2015, 05:43:36.908\",,\"1,701\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"56.7.132.13\"\n\"September 20th 2015, 05:43:26.546\",,\"6,173\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.105.204.4\"\n\"September 20th 2015, 05:43:18.641\",,\"5,373\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.192.80.162\"\n\"September 20th 2015, 05:43:06.648\",,\"5,602\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.12.231.216\"\n\"September 20th 2015, 05:43:05.184\",,\"5,658\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"74.214.76.90\"\n\"September 20th 2015, 05:43:03.540\",,\"2,419\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.183.234.114\"\n\"September 20th 2015, 05:42:52.986\",,\"8,688\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"182.128.15.97\"\n\"September 20th 2015, 05:42:22.657\",,\"4,420\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.54.151.5\"\n\"September 20th 2015, 05:42:17.945\",,\"8,461\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.62.43.103\"\n\"September 20th 2015, 05:42:10.353\",,\"4,689\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"158.222.162.158\"\n\"September 20th 2015, 05:42:03.186\",,\"7,158\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.33.201.138\"\n\"September 20th 2015, 05:41:58.422\",,\"6,732\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.183.87.181\"\n\"September 20th 2015, 05:41:54.898\",,\"7,192\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"79.16.207.3\"\n\"September 20th 2015, 05:41:44.442\",,\"3,845\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.86.105.212\"\n\"September 20th 2015, 05:41:37.687\",,\"9,777\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.61.182.136\"\n\"September 20th 2015, 05:41:26.042\",,\"8,436\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"188.123.71.54\"\n\"September 20th 2015, 05:41:22.475\",,\"9,547\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"36.185.52.71\"\n\"September 20th 2015, 05:41:07.459\",,\"4,423\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"61.73.88.176\"\n\"September 20th 2015, 05:40:53.673\",,\"9,743\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"72.173.69.119\"\n\"September 20th 2015, 05:40:41.236\",,\"3,853\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.75.209.68\"\n\"September 20th 2015, 05:40:38.944\",,\"2,131\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.115.74.144\"\n\"September 20th 2015, 05:40:24.166\",,\"9,821\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"214.13.7.53\"\n\"September 20th 2015, 05:40:10.474\",,\"7,445\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"54.172.121.192\"\n\"September 20th 2015, 05:39:58.971\",,\"2,720\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"247.189.13.239\"\n\"September 20th 2015, 05:39:50.178\",,\"9,367\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.205.146.206\"\n\"September 20th 2015, 05:39:47.959\",,\"7,263\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"183.139.112.201\"\n\"September 20th 2015, 05:39:47.248\",,\"13,161\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"222.224.95.15\"\n\"September 20th 2015, 05:39:36.348\",,\"6,796\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"158.222.162.158\"\n\"September 20th 2015, 05:39:21.603\",,\"6,614\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.20.147.107\"\n\"September 20th 2015, 05:39:20.972\",,\"6,268\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.61.106.118\"\n\"September 20th 2015, 05:39:13.429\",,\"2,228\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.237.64.228\"\n\"September 20th 2015, 05:39:11.024\",,\"1,857\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.191.87.129\"\n\"September 20th 2015, 05:39:01.407\",,\"9,200\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.129.117.216\"\n\"September 20th 2015, 05:38:59.682\",,\"2,128\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"235.190.3.193\"\n\"September 20th 2015, 05:38:57.972\",,\"7,767\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"129.24.204.40\"\n\"September 20th 2015, 05:38:50.688\",,\"2,853\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"3.200.198.147\"\n\"September 20th 2015, 05:38:42.304\",,\"4,020\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"49.95.6.196\"\n\"September 20th 2015, 05:38:40.606\",,\"2,075\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.219.72.105\"\n\"September 20th 2015, 05:38:15.245\",,\"3,550\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.55.175.148\"\n\"September 20th 2015, 05:37:47.837\",,\"7,154\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.83.92.252\"\n\"September 20th 2015, 05:37:40.779\",,\"5,619\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"246.100.162.251\"\n\"September 20th 2015, 05:37:40.084\",,\"6,852\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.97.87.54\"\n\"September 20th 2015, 05:37:09.938\",,\"3,428\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"95.117.248.129\"\n\"September 20th 2015, 05:37:01.298\",,\"6,880\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"158.179.121.61\"\n\"September 20th 2015, 05:36:50.950\",,\"4,682\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"187.33.177.173\"\n\"September 20th 2015, 05:36:35.803\",,\"3,015\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.249.43.5\"\n\"September 20th 2015, 05:36:29.424\",,\"9,333\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.208.15.12\"\n\"September 20th 2015, 05:36:24.805\",,\"17,341\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.225.104.159\"\n\"September 20th 2015, 05:36:20.009\",,\"8,365\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"80.164.215.104\"\n\"September 20th 2015, 05:36:19.947\",,\"3,916\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.154.233.154\"\n\"September 20th 2015, 05:36:08.074\",,\"8,123\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"223.103.135.183\"\n\"September 20th 2015, 05:36:04.153\",,\"9,362\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"157.39.25.197\"\n\"September 20th 2015, 05:36:02.529\",,\"9,663\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"69.84.146.72\"\n\"September 20th 2015, 05:35:41.849\",,\"5,387\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"117.112.55.75\"\n\"September 20th 2015, 05:35:40.425\",,\"2,424\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"193.164.192.47\"\n\"September 20th 2015, 05:35:20.619\",,\"16,526\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"142.17.191.204\"\n\"September 20th 2015, 05:35:12.314\",,\"5,424\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"104.87.105.86\"\n\"September 20th 2015, 05:35:02.046\",,\"5,019\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"245.155.198.238\"\n\"September 20th 2015, 05:34:53.672\",,\"6,044\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.72.69.43\"\n\"September 20th 2015, 05:34:23.277\",,\"5,622\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.115.74.144\"\n\"September 20th 2015, 05:34:03.220\",,\"4,631\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"236.90.86.83\"\n\"September 20th 2015, 05:33:49.314\",,\"2,791\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.172.42.72\"\n\"September 20th 2015, 05:33:34.959\",,\"9,991\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"124.187.220.168\"\n\"September 20th 2015, 05:33:26.932\",,\"2,949\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.0.188.251\"\n\"September 20th 2015, 05:33:24.390\",,\"6,863\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"197.88.56.99\"\n\"September 20th 2015, 05:33:23.581\",,\"9,867\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.75.97.203\"\n\"September 20th 2015, 05:33:18.880\",,\"1,563\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.147.159.107\"\n\"September 20th 2015, 05:33:02.999\",,\"5,860\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"68.189.205.188\"\n\"September 20th 2015, 05:32:49.095\",,\"4,693\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"31.245.21.115\"\n\"September 20th 2015, 05:32:39.544\",,\"8,051\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"101.145.158.45\"\n\"September 20th 2015, 05:32:33.707\",,\"7,546\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.255.142.177\"\n\"September 20th 2015, 05:32:33.100\",,\"3,180\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.139.45.110\"\n\"September 20th 2015, 05:32:24.261\",,\"6,873\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.109.145.217\"\n\"September 20th 2015, 05:32:10.932\",,\"4,461\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.3.115.126\"\n\"September 20th 2015, 05:32:06.245\",,\"8,161\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.114.204.184\"\n\"September 20th 2015, 05:32:03.757\",,\"6,738\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"233.57.13.23\"\n\"September 20th 2015, 05:32:02.060\",,\"7,782\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"159.136.76.65\"\n\"September 20th 2015, 05:31:36.975\",,\"10,059\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.51.178.50\"\n\"September 20th 2015, 05:31:35.842\",,\"8,482\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"244.172.153.74\"\n\"September 20th 2015, 05:31:27.922\",,\"1,600\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"148.47.216.255\"\n\"September 20th 2015, 05:31:22.086\",,\"8,905\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.159.75.84\"\n\"September 20th 2015, 05:31:19.989\",,\"4,578\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.199.255.8\"\n\"September 20th 2015, 05:31:08.693\",,\"7,416\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"144.31.154.6\"\n\"September 20th 2015, 05:31:02.827\",,\"9,097\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.157.127.149\"\n\"September 20th 2015, 05:30:56.849\",,\"2,787\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"219.32.94.10\"\n\"September 20th 2015, 05:30:47.921\",,\"9,535\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.159.165.88\"\n\"September 20th 2015, 05:30:45.692\",,\"2,798\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.86.132.152\"\n\"September 20th 2015, 05:30:26.304\",,\"3,334\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.29.171.72\"\n\"September 20th 2015, 05:30:24.972\",,\"6,866\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.205.146.206\"\n\"September 20th 2015, 05:29:53.785\",,\"5,540\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"136.122.153.94\"\n\"September 20th 2015, 05:29:26.593\",,\"8,694\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.62.90.237\"\n\"September 20th 2015, 05:29:23.063\",,\"8,812\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.191.39.198\"\n\"September 20th 2015, 05:29:20.172\",,\"4,403\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"146.229.88.89\"\n\"September 20th 2015, 05:29:00.645\",,\"3,367\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.112.81.106\"\n\"September 20th 2015, 05:28:58.647\",,\"4,238\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.143.20.221\"\n\"September 20th 2015, 05:28:54.368\",,\"4,641\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"180.37.241.184\"\n\"September 20th 2015, 05:28:49.716\",,\"4,633\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"128.108.188.178\"\n\"September 20th 2015, 05:28:29.226\",,\"8,788\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.227.142.190\"\n\"September 20th 2015, 05:28:18.083\",,\"5,698\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.136.173.80\"\n\"September 20th 2015, 05:28:13.986\",,\"6,784\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.21.236.176\"\n\"September 20th 2015, 05:28:00.280\",,\"6,046\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.143.209.115\"\n\"September 20th 2015, 05:27:54.289\",,\"8,406\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.143.125.181\"\n\"September 20th 2015, 05:27:40.331\",,\"7,474\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.204.140.157\"\n\"September 20th 2015, 05:27:34.922\",,\"9,373\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.115.221.35\"\n\"September 20th 2015, 05:27:29.788\",,\"3,697\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.227.125.229\"\n\"September 20th 2015, 05:27:27.237\",,\"1,899\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.96.131.243\"\n\"September 20th 2015, 05:27:20.215\",,\"9,126\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.134.81.148\"\n\"September 20th 2015, 05:27:17.341\",,\"6,421\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.76.243.51\"\n\"September 20th 2015, 05:27:16.022\",,\"4,568\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.95.78.209\"\n\"September 20th 2015, 05:26:56.512\",,\"8,056\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.87.17.249\"\n\"September 20th 2015, 05:26:54.641\",,\"3,560\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.87.32.139\"\n\"September 20th 2015, 05:26:49.307\",,\"2,172\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.87.17.249\"\n\"September 20th 2015, 05:26:40.990\",,\"7,923\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.141.52.142\"\n\"September 20th 2015, 05:26:40.847\",,\"8,567\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.94.120.10\"\n\"September 20th 2015, 05:26:31.185\",,\"2,912\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.220.171.248\"\n\"September 20th 2015, 05:26:03.738\",,\"9,271\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"63.215.211.142\"\n\"September 20th 2015, 05:25:56.460\",,\"3,624\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.143.20.221\"\n\"September 20th 2015, 05:25:40.703\",,\"8,690\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.220.52.2\"\n\"September 20th 2015, 05:25:39.199\",,\"8,150\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"141.42.174.116\"\n\"September 20th 2015, 05:25:38.793\",,\"6,909\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.46.176.132\"\n\"September 20th 2015, 05:25:17.297\",,\"5,537\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"23.178.170.24\"\n\"September 20th 2015, 05:25:00.161\",,\"4,338\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"144.31.154.6\"\n\"September 20th 2015, 05:24:40.891\",,\"6,768\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.114.204.184\"\n\"September 20th 2015, 05:24:40.514\",,\"7,918\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.85.53.125\"\n\"September 20th 2015, 05:24:40.205\",,\"10,923\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"175.211.243.56\"\n\"September 20th 2015, 05:24:29.129\",,\"7,874\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"184.101.186.240\"\n\"September 20th 2015, 05:24:27.248\",,\"5,488\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"214.164.244.131\"\n\"September 20th 2015, 05:24:08.660\",,\"8,419\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"22.87.85.59\"\n\"September 20th 2015, 05:23:58.148\",,\"8,649\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.221.187.90\"\n\"September 20th 2015, 05:23:54.832\",,\"16,435\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"66.136.173.80\"\n\"September 20th 2015, 05:23:24.850\",,\"3,052\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"28.46.60.20\"\n\"September 20th 2015, 05:23:19.987\",,\"2,464\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"225.241.219.2\"\n\"September 20th 2015, 05:23:12.851\",,\"7,938\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"166.25.218.240\"\n\"September 20th 2015, 05:23:06.723\",,\"2,842\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"239.84.248.187\"\n\"September 20th 2015, 05:23:05.448\",,\"5,952\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.230.105.32\"\n\"September 20th 2015, 05:22:50.087\",,\"6,500\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.172.111.30\"\n\"September 20th 2015, 05:22:45.507\",,\"2,245\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"154.28.252.79\"\n\"September 20th 2015, 05:22:45.234\",,\"3,061\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.223.93.34\"\n\"September 20th 2015, 05:22:39.119\",,\"8,173\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.207.64.202\"\n\"September 20th 2015, 05:22:28.837\",,\"6,000\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"180.65.205.98\"\n\"September 20th 2015, 05:22:25.475\",,\"7,467\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.105.119.197\"\n\"September 20th 2015, 05:22:23.700\",,\"2,634\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"6.70.186.143\"\n\"September 20th 2015, 05:22:17.553\",,\"1,621\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.115.221.35\"\n\"September 20th 2015, 05:22:16.697\",,\"3,380\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"7.179.148.96\"\n\"September 20th 2015, 05:22:15.681\",,\"7,388\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.144.232.98\"\n\"September 20th 2015, 05:22:05.077\",,\"3,819\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.156.219.144\"\n\"September 20th 2015, 05:21:40.554\",,\"4,142\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.81.157.252\"\n\"September 20th 2015, 05:21:34.096\",,\"5,928\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"175.188.44.145\"\n\"September 20th 2015, 05:21:33.248\",,\"2,993\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"174.32.230.63\"\n\"September 20th 2015, 05:21:31.037\",,\"3,082\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.244.25.107\"\n\"September 20th 2015, 05:21:22.035\",,\"9,901\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.92.205.231\"\n\"September 20th 2015, 05:21:20.148\",,\"1,599\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"175.99.184.146\"\n\"September 20th 2015, 05:20:58.337\",,\"2,834\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"122.129.36.56\"\n\"September 20th 2015, 05:20:33.856\",,\"9,208\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.219.87.110\"\n\"September 20th 2015, 05:20:19.072\",,\"3,930\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.212.173.15\"\n\"September 20th 2015, 05:20:00.938\",,\"8,136\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.216.205.112\"\n\"September 20th 2015, 05:19:46.433\",,\"7,008\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"204.4.99.92\"\n\"September 20th 2015, 05:19:26.585\",,\"1,458\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"75.201.93.111\"\n\"September 20th 2015, 05:19:18.833\",,\"5,354\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.100.178.89\"\n\"September 20th 2015, 05:19:10.100\",,\"8,088\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.200.198.147\"\n\"September 20th 2015, 05:18:53.699\",,\"4,220\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"100.50.11.41\"\n\"September 20th 2015, 05:18:53.387\",,\"5,141\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"233.201.208.162\"\n\"September 20th 2015, 05:18:50.879\",,\"6,504\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.115.77.46\"\n\"September 20th 2015, 05:18:47.631\",,\"5,394\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"151.97.64.146\"\n\"September 20th 2015, 05:18:45.192\",,\"6,195\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.105.235.122\"\n\"September 20th 2015, 05:18:43.604\",,\"1,974\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"106.181.249.244\"\n\"September 20th 2015, 05:18:41.860\",,\"4,371\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"38.29.122.137\"\n\"September 20th 2015, 05:18:35.059\",,\"4,494\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"137.230.105.32\"\n\"September 20th 2015, 05:18:34.586\",,\"4,606\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.180.71.177\"\n\"September 20th 2015, 05:18:33.068\",,\"7,413\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.32.230.63\"\n\"September 20th 2015, 05:18:30.734\",,\"3,330\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"159.136.76.65\"\n\"September 20th 2015, 05:18:10.890\",,\"5,052\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"112.34.138.226\"\n\"September 20th 2015, 05:18:07.415\",,\"8,464\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"146.86.123.109\"\n\"September 20th 2015, 05:18:06.716\",,\"5,422\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.83.52.239\"\n\"September 20th 2015, 05:17:43.018\",,\"8,501\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.57.7.61\"\n\"September 20th 2015, 05:17:30.256\",,\"7,895\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"197.222.12.184\"\n\"September 20th 2015, 05:17:18.222\",,\"4,542\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"204.17.159.23\"\n\"September 20th 2015, 05:17:15.799\",,\"7,903\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.13.106.139\"\n\"September 20th 2015, 05:17:15.417\",,\"4,747\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.135.88.86\"\n\"September 20th 2015, 05:17:14.072\",,\"3,880\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.151.97.227\"\n\"September 20th 2015, 05:17:05.270\",,\"6,947\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.156.46.205\"\n\"September 20th 2015, 05:16:54.886\",,\"5,484\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.206.117.161\"\n\"September 20th 2015, 05:16:54.588\",,\"3,587\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"135.90.39.228\"\n\"September 20th 2015, 05:16:32.517\",,\"2,819\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"234.201.75.147\"\n\"September 20th 2015, 05:16:29.730\",,\"5,983\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.106.209.231\"\n\"September 20th 2015, 05:16:26.453\",,\"1,602\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"129.152.7.186\"\n\"September 20th 2015, 05:16:25.195\",,\"5,593\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.107.235.54\"\n\"September 20th 2015, 05:16:23.751\",,\"5,870\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.84.248.187\"\n\"September 20th 2015, 05:16:20.652\",,\"11,057\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.233.202.162\"\n\"September 20th 2015, 05:16:16.018\",,\"6,907\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"173.233.118.214\"\n\"September 20th 2015, 05:16:00.845\",,\"2,892\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"182.186.221.142\"\n\"September 20th 2015, 05:15:42.885\",,\"2,639\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.236.240.166\"\n\"September 20th 2015, 05:15:15.466\",,\"11,115\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.83.17.193\"\n\"September 20th 2015, 05:15:02.344\",,\"9,724\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.242.153.99\"\n\"September 20th 2015, 05:15:01.057\",,\"6,029\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"35.88.165.183\"\n\"September 20th 2015, 05:14:55.267\",,\"5,291\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.95.6.196\"\n\"September 20th 2015, 05:14:52.753\",,\"8,047\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.37.94.4\"\n\"September 20th 2015, 05:14:41.698\",,\"2,847\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"222.28.157.119\"\n\"September 20th 2015, 05:14:41.645\",,\"3,028\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"101.130.216.47\"\n\"September 20th 2015, 05:14:41.621\",,\"7,342\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.216.173.242\"\n\"September 20th 2015, 05:13:23.346\",,\"4,798\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"90.35.159.150\"\n\"September 20th 2015, 05:12:43.450\",,\"3,781\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"113.35.23.20\"\n\"September 20th 2015, 05:12:34.210\",,\"5,639\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"157.56.54.126\"\n\"September 20th 2015, 05:12:09.851\",,\"7,781\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.208.223.252\"\n\"September 20th 2015, 05:12:05.090\",,\"3,248\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.95.78.209\"\n\"September 20th 2015, 05:11:30.935\",,\"6,029\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"45.138.192.138\"\n\"September 20th 2015, 05:11:28.158\",,\"3,187\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.49.130.46\"\n\"September 20th 2015, 05:11:16.672\",,\"5,293\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"79.16.207.3\"\n\"September 20th 2015, 05:11:11.756\",,\"8,895\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"89.55.130.114\"\n\"September 20th 2015, 05:10:56.247\",,\"6,473\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.115.221.35\"\n\"September 20th 2015, 05:10:50.731\",,\"9,500\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.72.217.98\"\n\"September 20th 2015, 05:10:49.022\",,\"5,977\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"118.163.20.44\"\n\"September 20th 2015, 05:10:43.270\",,\"2,522\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.249.202.59\"\n\"September 20th 2015, 05:10:33.322\",,\"7,266\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"225.209.251.160\"\n\"September 20th 2015, 05:10:20.165\",,\"9,067\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.96.96.191\"\n\"September 20th 2015, 05:10:14.191\",,\"9,539\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.55.141.62\"\n\"September 20th 2015, 05:10:06.705\",,\"14,048\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"181.249.43.5\"\n\"September 20th 2015, 05:10:01.349\",,\"3,763\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.123.27.0\"\n\"September 20th 2015, 05:09:56.246\",,\"2,063\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.171.208.139\"\n\"September 20th 2015, 05:09:50.347\",,\"16,183\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.6.126.193\"\n\"September 20th 2015, 05:09:04.123\",,\"3,431\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.33.201.138\"\n\"September 20th 2015, 05:08:53.130\",,\"1,660\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"90.159.183.77\"\n\"September 20th 2015, 05:08:51.847\",,\"5,931\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"147.195.26.33\"\n\"September 20th 2015, 05:08:47.465\",,\"6,797\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"71.169.104.184\"\n\"September 20th 2015, 05:08:36.207\",,\"6,462\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"150.106.203.143\"\n\"September 20th 2015, 05:08:30.796\",,\"6,362\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"37.92.205.231\"\n\"September 20th 2015, 05:08:18.077\",,\"5,459\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"74.214.76.90\"\n\"September 20th 2015, 05:08:15.694\",,\"3,795\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.115.184.133\"\n\"September 20th 2015, 05:08:13.385\",,\"9,842\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.7.164.59\"\n\"September 20th 2015, 05:07:34.909\",,\"6,653\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"12.102.47.119\"\n\"September 20th 2015, 05:07:26.631\",,\"9,609\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.32.230.63\"\n\"September 20th 2015, 05:07:24.278\",,\"4,639\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"156.231.132.106\"\n\"September 20th 2015, 05:06:54.127\",,\"9,203\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"165.150.252.187\"\n\"September 20th 2015, 05:06:43.587\",,\"5,796\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"182.207.77.200\"\n\"September 20th 2015, 05:06:25.833\",,\"3,739\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.128.207.200\"\n\"September 20th 2015, 05:06:01.965\",,\"12,942\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"52.200.4.172\"\n\"September 20th 2015, 05:05:55.369\",,\"5,852\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"227.83.52.239\"\n\"September 20th 2015, 05:05:54.780\",,\"2,656\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.123.27.0\"\n\"September 20th 2015, 05:05:49.235\",,\"6,706\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"241.58.244.165\"\n\"September 20th 2015, 05:05:31.432\",,\"5,870\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"138.226.232.233\"\n\"September 20th 2015, 05:05:20.077\",,\"2,486\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.219.108.141\"\n\"September 20th 2015, 05:05:13.615\",,\"7,281\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.247.113.252\"\n\"September 20th 2015, 05:05:10.736\",,\"19,265\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.15.54.136\"\n\"September 20th 2015, 05:05:07.561\",,\"7,261\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.142.140.200\"\n\"September 20th 2015, 05:05:05.834\",,\"5,744\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.123.33.106\"\n\"September 20th 2015, 05:05:04.882\",,\"4,540\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.63.51.8\"\n\"September 20th 2015, 05:05:02.335\",,\"8,619\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"156.231.132.106\"\n\"September 20th 2015, 05:04:50.447\",,\"7,202\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"129.152.7.186\"\n\"September 20th 2015, 05:04:39.167\",,\"7,678\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"154.79.180.7\"\n\"September 20th 2015, 05:04:27.941\",,\"7,576\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"44.45.70.116\"\n\"September 20th 2015, 05:04:23.064\",,\"4,381\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"2.229.49.222\"\n\"September 20th 2015, 05:04:16.669\",,\"9,350\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"212.134.81.148\"\n\"September 20th 2015, 05:03:57.539\",,\"4,239\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.106.29.25\"\n\"September 20th 2015, 05:03:40.217\",,\"4,147\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.39.140.144\"\n\"September 20th 2015, 05:03:29.056\",,\"14,090\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.150.146.102\"\n\"September 20th 2015, 05:03:27.284\",,\"9,141\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.100.60.111\"\n\"September 20th 2015, 05:03:18.212\",,\"2,079\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"242.22.22.10\"\n\"September 20th 2015, 05:03:14.355\",,\"9,608\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"167.26.56.145\"\n\"September 20th 2015, 05:03:11.620\",,\"2,028\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.150.212.12\"\n\"September 20th 2015, 05:02:41.851\",,\"8,123\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"175.211.243.56\"\n\"September 20th 2015, 05:02:41.661\",,\"6,031\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.245.188.46\"\n\"September 20th 2015, 05:02:29.657\",,\"18,625\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"23.184.94.58\"\n\"September 20th 2015, 05:02:03.935\",,\"3,065\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.115.77.46\"\n\"September 20th 2015, 05:02:01.185\",,\"16,500\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.62.43.103\"\n\"September 20th 2015, 05:01:48.318\",,\"4,578\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"202.22.74.232\"\n\"September 20th 2015, 05:01:21.885\",,\"5,006\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"3.174.21.181\"\n\"September 20th 2015, 05:01:02.381\",,\"3,404\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.57.170.220\"\n\"September 20th 2015, 05:00:55.172\",,\"7,752\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.172.119.148\"\n\"September 20th 2015, 05:00:28.575\",,\"4,547\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"118.163.20.44\"\n\"September 20th 2015, 05:00:27.809\",,\"9,467\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.61.182.136\"\n\"September 20th 2015, 05:00:27.380\",,\"3,093\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.24.165.50\"\n\"September 20th 2015, 05:00:23.944\",,\"6,458\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"183.177.240.217\"\n\"September 20th 2015, 05:00:14.027\",,\"6,256\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"43.123.164.190\"\n\"September 20th 2015, 05:00:10.592\",,\"3,556\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.52.134.54\"\n\"September 20th 2015, 04:59:49.477\",,\"12,681\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"6.70.186.143\"\n\"September 20th 2015, 04:59:46.953\",,\"8,602\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.156.46.205\"\n\"September 20th 2015, 04:59:45.301\",,\"6,386\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.143.189.70\"\n\"September 20th 2015, 04:59:27.653\",,\"8,802\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.186.152.28\"\n\"September 20th 2015, 04:59:01.712\",,\"3,783\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.250.210.253\"\n\"September 20th 2015, 04:58:57.983\",,\"6,031\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.64.207.109\"\n\"September 20th 2015, 04:58:51.605\",,\"2,402\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"99.216.169.176\"\n\"September 20th 2015, 04:58:41.212\",,\"7,057\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.29.249.167\"\n\"September 20th 2015, 04:58:14.188\",,\"6,427\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"109.192.212.178\"\n\"September 20th 2015, 04:58:00.644\",,\"6,894\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"19.15.54.136\"\n\"September 20th 2015, 04:57:46.654\",,\"3,627\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"75.246.160.14\"\n\"September 20th 2015, 04:57:43.415\",,\"7,274\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.233.183.250\"\n\"September 20th 2015, 04:57:38.888\",,\"4,542\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.82.3.150\"\n\"September 20th 2015, 04:57:35.731\",,\"7,257\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.125.131.162\"\n\"September 20th 2015, 04:57:19.764\",,\"4,295\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"119.94.183.177\"\n\"September 20th 2015, 04:57:12.375\",,\"4,583\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"115.207.4.201\"\n\"September 20th 2015, 04:57:09.889\",,\"1,760\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"10.192.39.62\"\n\"September 20th 2015, 04:57:06.919\",,\"6,113\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"146.228.193.188\"\n\"September 20th 2015, 04:56:43.167\",,\"7,318\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.100.162.251\"\n\"September 20th 2015, 04:56:42.021\",,\"7,988\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"68.107.5.226\"\n\"September 20th 2015, 04:56:35.135\",,\"2,620\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.223.87.67\"\n\"September 20th 2015, 04:56:20.836\",,\"15,188\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.213.126.12\"\n\"September 20th 2015, 04:56:09.641\",,\"6,973\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.143.20.221\"\n\"September 20th 2015, 04:55:59.362\",,\"9,146\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"38.29.122.137\"\n\"September 20th 2015, 04:55:57.708\",,\"5,541\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"222.201.119.239\"\n\"September 20th 2015, 04:55:47.564\",,\"5,402\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.171.208.139\"\n\"September 20th 2015, 04:55:38.052\",,\"5,917\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"13.61.197.86\"\n\"September 20th 2015, 04:55:22.701\",,\"1,893\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.164.151.232\"\n\"September 20th 2015, 04:55:18.940\",,\"2,861\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.80.35.243\"\n\"September 20th 2015, 04:55:16.718\",,\"8,348\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.37.253.193\"\n\"September 20th 2015, 04:54:56.678\",,\"8,924\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"203.206.8.45\"\n\"September 20th 2015, 04:54:16.492\",,\"16,109\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"157.56.54.126\"\n\"September 20th 2015, 04:54:13.485\",,\"2,711\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.223.188.57\"\n\"September 20th 2015, 04:53:58.810\",,\"12,140\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.51.178.50\"\n\"September 20th 2015, 04:53:32.222\",,\"8,875\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"198.124.37.215\"\n\"September 20th 2015, 04:53:26.435\",,\"9,696\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.76.224.154\"\n\"September 20th 2015, 04:53:19.271\",,\"3,625\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.174.35.186\"\n\"September 20th 2015, 04:53:00.789\",,\"5,814\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"7.218.211.125\"\n\"September 20th 2015, 04:52:54.253\",,\"2,046\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"77.208.78.205\"\n\"September 20th 2015, 04:52:48.011\",,\"8,992\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"106.217.103.105\"\n\"September 20th 2015, 04:52:42.796\",,\"9,802\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"161.35.49.227\"\n\"September 20th 2015, 04:52:41.663\",,\"7,033\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"61.52.11.157\"\n\"September 20th 2015, 04:52:36.707\",,\"1,950\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"200.19.155.203\"\n\"September 20th 2015, 04:52:16.069\",,\"7,930\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.218.253.140\"\n\"September 20th 2015, 04:51:59.921\",,\"2,243\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.122.217.55\"\n\"September 20th 2015, 04:51:33.175\",,\"8,952\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"216.122.121.230\"\n\"September 20th 2015, 04:51:29.699\",,\"2,869\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.105.165.220\"\n\"September 20th 2015, 04:51:17.401\",,\"6,553\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"79.37.60.109\"\n\"September 20th 2015, 04:51:14.017\",,\"1,633\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.65.30.133\"\n\"September 20th 2015, 04:51:00.533\",,\"6,374\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.171.208.139\"\n\"September 20th 2015, 04:50:49.079\",,\"6,342\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.19.217.148\"\n\"September 20th 2015, 04:50:42.388\",,\"7,027\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"101.43.176.190\"\n\"September 20th 2015, 04:50:39.043\",,\"2,450\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"23.178.170.24\"\n\"September 20th 2015, 04:50:31.996\",,\"5,658\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.128.207.200\"\n\"September 20th 2015, 04:50:23.288\",,\"6,818\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.158.203.248\"\n\"September 20th 2015, 04:49:57.706\",,\"6,130\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.84.111.185\"\n\"September 20th 2015, 04:49:57.121\",,\"1,570\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.74.138.136\"\n\"September 20th 2015, 04:49:47.584\",,\"4,368\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"218.226.100.31\"\n\"September 20th 2015, 04:49:46.061\",,\"1,638\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.220.227.11\"\n\"September 20th 2015, 04:49:43.640\",,\"7,277\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"196.131.253.111\"\n\"September 20th 2015, 04:49:41.113\",,\"8,019\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.144.232.98\"\n\"September 20th 2015, 04:49:37.682\",,\"4,012\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.54.235.229\"\n\"September 20th 2015, 04:49:29.119\",,\"2,455\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.122.217.55\"\n\"September 20th 2015, 04:49:21.943\",,\"8,960\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.29.171.72\"\n\"September 20th 2015, 04:49:18.327\",,\"6,782\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"12.255.88.79\"\n\"September 20th 2015, 04:49:17.617\",,\"7,844\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.12.231.216\"\n\"September 20th 2015, 04:49:16.468\",,\"5,552\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.141.233.13\"\n\"September 20th 2015, 04:49:08.334\",,\"3,192\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"139.104.238.37\"\n\"September 20th 2015, 04:48:50.633\",,\"9,355\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.84.146.72\"\n\"September 20th 2015, 04:48:14.780\",,\"10,102\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.85.86.52\"\n\"September 20th 2015, 04:48:12.493\",,\"7,891\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.233.207.177\"\n\"September 20th 2015, 04:48:02.009\",,\"5,558\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"2.229.49.222\"\n\"September 20th 2015, 04:47:58.329\",,\"9,958\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"181.135.248.113\"\n\"September 20th 2015, 04:47:53.430\",,\"7,737\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.210.116.210\"\n\"September 20th 2015, 04:47:19.564\",,\"6,120\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"52.49.164.228\"\n\"September 20th 2015, 04:46:59.191\",,\"2,315\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"242.22.22.10\"\n\"September 20th 2015, 04:46:39.593\",,\"8,214\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.123.178.135\"\n\"September 20th 2015, 04:46:27.367\",,\"8,527\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"28.3.30.170\"\n\"September 20th 2015, 04:46:21.707\",,\"9,981\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"35.88.165.183\"\n\"September 20th 2015, 04:46:19.325\",,\"6,382\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.161.172.168\"\n\"September 20th 2015, 04:46:08.855\",,\"6,468\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"181.135.152.88\"\n\"September 20th 2015, 04:46:03.594\",,\"6,998\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.148.228.141\"\n\"September 20th 2015, 04:45:23.488\",,\"11,144\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.106.203.143\"\n\"September 20th 2015, 04:45:20.533\",,\"5,014\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"121.205.46.255\"\n\"September 20th 2015, 04:45:05.247\",,\"8,851\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"54.194.215.29\"\n\"September 20th 2015, 04:44:52.963\",,\"4,413\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.192.52.3\"\n\"September 20th 2015, 04:44:35.196\",,\"8,583\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"81.191.227.104\"\n\"September 20th 2015, 04:44:24.384\",,\"19,865\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.155.198.238\"\n\"September 20th 2015, 04:44:23.066\",,\"12,205\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.56.90.184\"\n\"September 20th 2015, 04:44:11.618\",,\"8,685\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.173.85.47\"\n\"September 20th 2015, 04:43:49.453\",,\"4,993\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"83.56.222.3\"\n\"September 20th 2015, 04:43:32.597\",,\"9,932\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"155.34.86.215\"\n\"September 20th 2015, 04:43:31.022\",,\"6,394\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.219.87.110\"\n\"September 20th 2015, 04:43:04.397\",,\"9,726\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.102.200.168\"\n\"September 20th 2015, 04:42:34.309\",,\"1,904\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.62.43.103\"\n\"September 20th 2015, 04:42:33.565\",,\"8,885\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.172.111.30\"\n\"September 20th 2015, 04:42:33.316\",,\"8,879\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.95.187.48\"\n\"September 20th 2015, 04:42:23.428\",,\"8,584\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.161.247.172\"\n\"September 20th 2015, 04:41:57.287\",,\"8,540\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"7.218.211.125\"\n\"September 20th 2015, 04:41:52.393\",,\"5,568\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"255.56.89.50\"\n\"September 20th 2015, 04:41:40.618\",,\"1,968\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"168.174.35.186\"\n\"September 20th 2015, 04:41:30.521\",,\"3,057\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"62.132.195.31\"\n\"September 20th 2015, 04:41:18.892\",,\"2,621\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.115.77.46\"\n\"September 20th 2015, 04:41:08.150\",,\"1,890\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.94.183.177\"\n\"September 20th 2015, 04:41:07.505\",,\"9,306\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"136.122.153.94\"\n\"September 20th 2015, 04:40:55.755\",,\"8,821\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"244.112.251.87\"\n\"September 20th 2015, 04:40:48.103\",,\"6,986\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"108.156.6.246\"\n\"September 20th 2015, 04:40:44.270\",,\"5,824\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.153.166.47\"\n\"September 20th 2015, 04:40:41.779\",,\"3,879\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.58.47.229\"\n\"September 20th 2015, 04:40:36.593\",,\"9,575\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"243.158.217.196\"\n\"September 20th 2015, 04:40:31.613\",,\"7,974\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"164.185.40.249\"\n\"September 20th 2015, 04:40:27.522\",,\"9,281\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"58.190.216.56\"\n\"September 20th 2015, 04:40:19.715\",,\"8,550\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.129.217.122\"\n\"September 20th 2015, 04:40:19.711\",,\"2,943\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"113.35.23.20\"\n\"September 20th 2015, 04:40:17.685\",,\"8,435\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"127.254.107.86\"\n\"September 20th 2015, 04:40:15.975\",,\"4,242\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.189.88.90\"\n\"September 20th 2015, 04:40:07.569\",,\"9,622\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"162.134.126.82\"\n\"September 20th 2015, 04:39:10.673\",,\"10,967\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.89.186.2\"\n\"September 20th 2015, 04:39:04.258\",,\"5,995\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.49.164.228\"\n\"September 20th 2015, 04:39:04.028\",,\"6,029\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.221.105.131\"\n\"September 20th 2015, 04:38:12.271\",,\"9,805\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"82.40.137.38\"\n\"September 20th 2015, 04:38:00.920\",,\"1,912\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.236.240.166\"\n\"September 20th 2015, 04:37:58.804\",,\"7,159\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.243.115.83\"\n\"September 20th 2015, 04:37:41.619\",,\"7,185\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.90.215.57\"\n\"September 20th 2015, 04:37:38.526\",,\"2,733\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.106.79.211\"\n\"September 20th 2015, 04:37:30.809\",,\"4,857\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"155.34.86.215\"\n\"September 20th 2015, 04:37:08.536\",,\"16,885\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.143.20.221\"\n\"September 20th 2015, 04:37:02.751\",,\"9,548\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.166.248.214\"\n\"September 20th 2015, 04:36:59.181\",,\"5,347\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.156.6.246\"\n\"September 20th 2015, 04:36:52.409\",,\"7,222\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"252.128.207.200\"\n\"September 20th 2015, 04:36:41.281\",,\"8,603\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"120.99.203.64\"\n\"September 20th 2015, 04:36:40.958\",,\"8,800\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.43.124.118\"\n\"September 20th 2015, 04:36:15.656\",,\"7,828\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"246.123.178.135\"\n\"September 20th 2015, 04:36:01.303\",,\"8,766\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.55.175.148\"\n\"September 20th 2015, 04:35:58.039\",,\"7,275\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"249.54.12.226\"\n\"September 20th 2015, 04:35:54.497\",,\"4,695\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"208.98.69.166\"\n\"September 20th 2015, 04:34:57.597\",,\"5,286\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.106.79.211\"\n\"September 20th 2015, 04:34:53.186\",,\"1,661\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"164.185.40.249\"\n\"September 20th 2015, 04:34:52.145\",,\"1,638\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.134.216.218\"\n\"September 20th 2015, 04:34:45.717\",,\"14,315\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"81.191.227.104\"\n\"September 20th 2015, 04:34:38.668\",,\"4,405\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"204.58.247.117\"\n\"September 20th 2015, 04:34:33.892\",,\"8,329\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.234.255.241\"\n\"September 20th 2015, 04:34:16.257\",,\"4,514\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"151.97.64.146\"\n\"September 20th 2015, 04:34:13.011\",,\"7,264\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.143.20.221\"\n\"September 20th 2015, 04:34:08.881\",,\"3,190\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"192.183.87.181\"\n\"September 20th 2015, 04:34:04.354\",,\"7,460\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"100.99.207.174\"\n\"September 20th 2015, 04:33:43.937\",,\"18,207\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"87.54.48.33\"\n\"September 20th 2015, 04:33:32.916\",,\"4,642\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"16.166.96.38\"\n\"September 20th 2015, 04:33:24.430\",,\"9,157\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.242.201.206\"\n\"September 20th 2015, 04:33:21.600\",,\"9,801\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"236.110.56.1\"\n\"September 20th 2015, 04:33:10.046\",,\"7,619\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.161.247.172\"\n\"September 20th 2015, 04:32:52.042\",,\"1,524\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"96.222.137.213\"\n\"September 20th 2015, 04:32:51.391\",,\"7,540\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.253.222.16\"\n\"September 20th 2015, 04:32:33.210\",,\"7,593\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"123.54.151.5\"\n\"September 20th 2015, 04:32:11.138\",,\"1,929\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"222.224.95.15\"\n\"September 20th 2015, 04:32:07.989\",,\"8,799\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.198.132.23\"\n\"September 20th 2015, 04:31:50.752\",,\"5,346\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"167.165.89.8\"\n\"September 20th 2015, 04:31:46.065\",,\"3,757\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.55.80.52\"\n\"September 20th 2015, 04:31:30.134\",,\"9,683\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.57.13.23\"\n\"September 20th 2015, 04:31:27.255\",,\"4,406\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"50.26.210.216\"\n\"September 20th 2015, 04:31:09.153\",,\"3,923\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.115.183.40\"\n\"September 20th 2015, 04:30:32.196\",,\"5,848\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"184.125.153.221\"\n\"September 20th 2015, 04:30:15.134\",,\"1,879\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.93.29.126\"\n\"September 20th 2015, 04:30:13.810\",,\"5,196\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"217.25.8.4\"\n\"September 20th 2015, 04:30:08.043\",,\"9,129\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"170.200.84.215\"\n\"September 20th 2015, 04:30:03.058\",,\"4,863\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"165.150.252.187\"\n\"September 20th 2015, 04:29:36.972\",,\"1,879\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.255.221.0\"\n\"September 20th 2015, 04:29:21.421\",,\"8,612\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"247.189.13.239\"\n\"September 20th 2015, 04:29:17.896\",,\"5,762\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.11.66.39\"\n\"September 20th 2015, 04:28:43.121\",,\"4,707\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"86.193.157.89\"\n\"September 20th 2015, 04:28:22.768\",,\"7,295\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"86.21.236.176\"\n\"September 20th 2015, 04:28:06.195\",,\"6,524\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"88.216.205.112\"\n\"September 20th 2015, 04:27:46.832\",,\"5,947\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.217.241.90\"\n\"September 20th 2015, 04:27:38.841\",,\"9,375\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"225.42.74.240\"\n\"September 20th 2015, 04:27:35.199\",,\"4,567\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"110.144.232.98\"\n\"September 20th 2015, 04:27:28.819\",,\"8,552\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.24.249.29\"\n\"September 20th 2015, 04:27:11.200\",,\"5,984\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"198.174.196.110\"\n\"September 20th 2015, 04:26:59.178\",,\"6,350\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"187.33.177.173\"\n\"September 20th 2015, 04:26:31.807\",,\"4,941\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"19.143.189.70\"\n\"September 20th 2015, 04:26:22.980\",,\"5,847\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"13.38.168.2\"\n\"September 20th 2015, 04:26:04.780\",,\"1,579\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"147.175.109.124\"\n\"September 20th 2015, 04:26:04.137\",,\"9,169\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.143.176.28\"\n\"September 20th 2015, 04:25:44.659\",,\"2,302\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"70.101.68.233\"\n\"September 20th 2015, 04:25:30.336\",,\"3,800\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.43.63.180\"\n\"September 20th 2015, 04:25:26.134\",,\"3,501\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"133.96.215.228\"\n\"September 20th 2015, 04:25:10.895\",,\"2,764\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.223.214.184\"\n\"September 20th 2015, 04:24:42.723\",,\"7,586\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"30.5.71.170\"\n\"September 20th 2015, 04:24:40.895\",,\"9,264\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.236.80.152\"\n\"September 20th 2015, 04:24:38.374\",,\"9,734\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.219.65.244\"\n\"September 20th 2015, 04:24:32.148\",,\"4,155\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.236.240.166\"\n\"September 20th 2015, 04:24:31.662\",,\"9,152\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.79.108.136\"\n\"September 20th 2015, 04:24:22.771\",,\"2,752\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"45.138.192.138\"\n\"September 20th 2015, 04:24:13.943\",,\"4,106\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.173.85.47\"\n\"September 20th 2015, 04:24:09.835\",,\"3,060\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.160.62.179\"\n\"September 20th 2015, 04:24:07.930\",,\"4,911\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"155.157.127.149\"\n\"September 20th 2015, 04:24:02.237\",,\"2,402\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.85.53.125\"\n\"September 20th 2015, 04:23:45.200\",,\"9,843\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"219.42.50.113\"\n\"September 20th 2015, 04:23:31.200\",,\"5,162\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.4.152.176\"\n\"September 20th 2015, 04:23:28.112\",,\"16,127\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.90.215.57\"\n\"September 20th 2015, 04:23:21.186\",,\"6,204\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.103.135.183\"\n\"September 20th 2015, 04:23:12.311\",,\"5,292\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.158.36.114\"\n\"September 20th 2015, 04:23:02.570\",,\"6,378\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"102.191.15.62\"\n\"September 20th 2015, 04:22:58.537\",,\"2,544\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.125.131.162\"\n\"September 20th 2015, 04:22:45.290\",,\"5,295\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"222.201.119.239\"\n\"September 20th 2015, 04:22:29.204\",,\"4,717\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"78.233.202.162\"\n\"September 20th 2015, 04:22:25.557\",,\"8,734\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.16.207.3\"\n\"September 20th 2015, 04:20:51.421\",,\"3,477\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.170.135.63\"\n\"September 20th 2015, 04:20:27.386\",,\"6,960\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.92.89.101\"\n\"September 20th 2015, 04:20:19.819\",,\"13,690\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"74.224.77.232\"\n\"September 20th 2015, 04:20:07.799\",,\"3,485\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.75.54.137\"\n\"September 20th 2015, 04:20:02.740\",,\"2,524\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"186.182.14.125\"\n\"September 20th 2015, 04:19:55.108\",,\"4,158\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.68.234.67\"\n\"September 20th 2015, 04:19:29.785\",,\"6,971\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.250.210.253\"\n\"September 20th 2015, 04:19:14.327\",,\"9,947\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.62.43.103\"\n\"September 20th 2015, 04:18:31.936\",,\"17,628\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"202.48.108.4\"\n\"September 20th 2015, 04:18:15.704\",,\"7,895\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.37.151.239\"\n\"September 20th 2015, 04:18:11.241\",,\"3,448\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.142.94.147\"\n\"September 20th 2015, 04:18:06.354\",,\"6,383\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"245.132.215.241\"\n\"September 20th 2015, 04:18:02.441\",,\"6,286\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"44.61.116.63\"\n\"September 20th 2015, 04:17:49.696\",,\"3,468\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.237.108.147\"\n\"September 20th 2015, 04:17:09.725\",,\"5,394\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.99.243.183\"\n\"September 20th 2015, 04:17:04.493\",,\"2,793\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.92.154.173\"\n\"September 20th 2015, 04:16:51.908\",,\"7,611\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.233.207.177\"\n\"September 20th 2015, 04:16:44.703\",,\"9,527\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.180.70.74\"\n\"September 20th 2015, 04:16:40.256\",,\"3,822\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.53.120.159\"\n\"September 20th 2015, 04:16:38.994\",,\"9,648\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.219.72.105\"\n\"September 20th 2015, 04:16:27.845\",,\"3,061\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"146.18.252.5\"\n\"September 20th 2015, 04:16:17.696\",,\"2,213\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"110.247.249.228\"\n\"September 20th 2015, 04:16:12.026\",,\"9,475\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"146.86.123.109\"\n\"September 20th 2015, 04:16:07.959\",,\"2,924\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.139.45.110\"\n\"September 20th 2015, 04:15:58.067\",,\"7,785\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.68.9.40\"\n\"September 20th 2015, 04:15:56.721\",,\"6,911\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"110.27.10.205\"\n\"September 20th 2015, 04:15:40.464\",,\"8,638\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.72.217.98\"\n\"September 20th 2015, 04:15:34.696\",,\"1,758\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"239.249.202.59\"\n\"September 20th 2015, 04:15:23.119\",,\"5,622\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"96.222.137.213\"\n\"September 20th 2015, 04:15:20.390\",,\"6,295\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.244.150.190\"\n\"September 20th 2015, 04:15:01.891\",,\"3,179\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"14.61.182.136\"\n\"September 20th 2015, 04:14:51.114\",,\"18,327\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.144.90.74\"\n\"September 20th 2015, 04:14:47.278\",,\"5,164\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"37.73.193.32\"\n\"September 20th 2015, 04:14:43.248\",,\"2,240\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"30.36.151.195\"\n\"September 20th 2015, 04:14:38.551\",,\"9,698\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"58.190.216.56\"\n\"September 20th 2015, 04:14:31.127\",,\"9,230\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"226.82.228.233\"\n\"September 20th 2015, 04:14:27.653\",,\"9,525\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"0.209.80.244\"\n\"September 20th 2015, 04:14:16.611\",,\"8,293\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"6.183.121.70\"\n\"September 20th 2015, 04:14:02.776\",,\"8,660\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.55.141.62\"\n\"September 20th 2015, 04:13:49.249\",,\"3,463\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"46.163.136.60\"\n\"September 20th 2015, 04:13:31.057\",,\"4,221\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.242.204.223\"\n\"September 20th 2015, 04:13:23.152\",,\"5,009\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.246.143.109\"\n\"September 20th 2015, 04:13:13.116\",,\"7,082\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"55.60.53.165\"\n\"September 20th 2015, 04:12:44.898\",,\"2,190\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"113.35.23.20\"\n\"September 20th 2015, 04:12:43.926\",,\"8,627\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"92.96.51.231\"\n\"September 20th 2015, 04:12:14.265\",,\"5,217\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.188.213.247\"\n\"September 20th 2015, 04:12:13.015\",,\"2,404\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"140.25.112.43\"\n\"September 20th 2015, 04:12:09.236\",,\"4,011\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"59.202.132.136\"\n\"September 20th 2015, 04:12:08.510\",,\"9,184\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"84.77.230.73\"\n\"September 20th 2015, 04:12:01.918\",,\"3,867\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.225.101.206\"\n\"September 20th 2015, 04:11:41.058\",,\"6,149\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"171.243.18.67\"\n\"September 20th 2015, 04:11:38.111\",,\"3,805\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"214.125.131.162\"\n\"September 20th 2015, 04:11:34.842\",,\"5,323\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.127.51.83\"\n\"September 20th 2015, 04:11:15.326\",,\"9,807\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.55.175.148\"\n\"September 20th 2015, 04:11:08.620\",,\"7,491\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.219.108.141\"\n\"September 20th 2015, 04:11:06.112\",,\"1,565\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"234.58.25.145\"\n\"September 20th 2015, 04:11:01.520\",,\"7,530\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"51.137.53.85\"\n\"September 20th 2015, 04:11:00.445\",,\"8,144\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"8.248.237.182\"\n\"September 20th 2015, 04:10:53.907\",,\"4,267\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.139.46.29\"\n\"September 20th 2015, 04:10:27.188\",,\"8,230\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"28.3.30.170\"\n\"September 20th 2015, 04:09:43.667\",,\"3,798\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.213.126.12\"\n\"September 20th 2015, 04:09:19.126\",,\"7,196\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"178.104.96.40\"\n\"September 20th 2015, 04:09:14.369\",,\"2,627\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"208.246.143.109\"\n\"September 20th 2015, 04:09:09.896\",,\"8,515\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"216.126.255.31\"\n\"September 20th 2015, 04:09:09.235\",,\"2,051\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.96.206.187\"\n\"September 20th 2015, 04:08:39.183\",,\"18,973\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"196.131.253.111\"\n\"September 20th 2015, 04:08:29.125\",,\"17,772\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"81.191.227.104\"\n\"September 20th 2015, 04:07:45.899\",,\"1,606\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"218.248.177.77\"\n\"September 20th 2015, 04:07:42.983\",,\"8,362\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"9.69.255.135\"\n\"September 20th 2015, 04:07:27.684\",,\"2,840\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"200.188.1.153\"\n\"September 20th 2015, 04:07:16.555\",,\"7,118\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"16.166.96.38\"\n\"September 20th 2015, 04:07:13.548\",,\"5,761\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"142.58.25.99\"\n\"September 20th 2015, 04:07:01.670\",,\"8,864\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.115.189.193\"\n\"September 20th 2015, 04:07:01.167\",,\"3,469\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"230.205.37.63\"\n\"September 20th 2015, 04:06:47.627\",,\"9,706\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.28.27.24\"\n\"September 20th 2015, 04:06:28.221\",,\"6,941\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"58.190.216.56\"\n\"September 20th 2015, 04:06:22.661\",,\"8,117\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"255.58.31.9\"\n\"September 20th 2015, 04:06:15.561\",,\"1,693\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"217.132.169.207\"\n\"September 20th 2015, 04:06:07.327\",,\"5,540\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"182.128.15.97\"\n\"September 20th 2015, 04:05:55.183\",,\"2,673\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.190.101.72\"\n\"September 20th 2015, 04:05:54.623\",,\"7,493\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"235.115.221.35\"\n\"September 20th 2015, 04:05:45.715\",,\"3,940\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"180.79.142.15\"\n\"September 20th 2015, 04:05:07.721\",,\"1,695\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.21.236.176\"\n\"September 20th 2015, 04:04:57.865\",,\"2,837\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"105.47.117.171\"\n\"September 20th 2015, 04:04:31.544\",,\"6,966\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"120.99.203.64\"\n\"September 20th 2015, 04:04:28.933\",,\"6,038\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.155.226.58\"\n\"September 20th 2015, 04:04:18.172\",,\"8,076\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.219.133.141\"\n\"September 20th 2015, 04:04:14.285\",,\"2,161\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"173.233.118.214\"\n\"September 20th 2015, 04:04:11.408\",,\"6,421\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.122.34.237\"\n\"September 20th 2015, 04:04:10.822\",,\"2,024\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.53.96.88\"\n\"September 20th 2015, 04:04:05.400\",,\"3,887\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"79.33.226.187\"\n\"September 20th 2015, 04:03:50.050\",,\"8,616\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"58.190.216.56\"\n\"September 20th 2015, 04:03:49.664\",,\"5,829\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"211.106.232.51\"\n\"September 20th 2015, 04:03:41.835\",,\"7,399\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"246.88.57.13\"\n\"September 20th 2015, 04:03:19.697\",,\"6,959\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.40.191.19\"\n\"September 20th 2015, 04:03:17.249\",,\"9,944\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.86.105.212\"\n\"September 20th 2015, 04:02:38.339\",,\"8,312\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"37.127.124.65\"\n\"September 20th 2015, 04:02:23.683\",,\"7,730\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"5.206.32.88\"\n\"September 20th 2015, 04:01:48.075\",,\"8,530\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"214.5.110.41\"\n\"September 20th 2015, 04:01:45.262\",,\"4,856\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"7.176.253.57\"\n\"September 20th 2015, 04:01:08.789\",,\"5,575\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"255.58.31.9\"\n\"September 20th 2015, 04:01:01.701\",,\"3,359\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.255.68.154\"\n\"September 20th 2015, 04:00:05.578\",,\"6,401\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"225.209.251.160\"\n\"September 20th 2015, 04:00:01.344\",,\"1,915\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"110.27.10.205\"\n\"September 20th 2015, 03:59:42.089\",,\"8,389\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.70.170.56\"\n\"September 20th 2015, 03:59:12.955\",,\"18,616\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"5.206.32.88\"\n\"September 20th 2015, 03:59:12.517\",,\"9,609\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.203.229.229\"\n\"September 20th 2015, 03:58:42.375\",,\"3,529\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"169.228.188.120\"\n\"September 20th 2015, 03:58:40.768\",,\"7,455\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"234.201.75.147\"\n\"September 20th 2015, 03:58:31.936\",,\"9,882\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"224.183.190.156\"\n\"September 20th 2015, 03:58:21.837\",,\"7,123\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"202.22.74.232\"\n\"September 20th 2015, 03:57:29.167\",,\"2,801\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"141.22.228.100\"\n\"September 20th 2015, 03:56:55.858\",,\"3,110\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"74.224.77.232\"\n\"September 20th 2015, 03:56:32.599\",,\"6,134\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.161.247.172\"\n\"September 20th 2015, 03:56:27.753\",,\"14,079\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"47.141.35.68\"\n\"September 20th 2015, 03:56:06.524\",,\"2,845\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.66.60.152\"\n\"September 20th 2015, 03:56:01.008\",,\"4,639\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.156.219.144\"\n\"September 20th 2015, 03:55:42.796\",,\"6,224\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"54.194.215.29\"\n\"September 20th 2015, 03:55:18.264\",,\"3,824\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"191.142.140.200\"\n\"September 20th 2015, 03:55:11.037\",,\"1,852\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"161.108.174.248\"\n\"September 20th 2015, 03:54:48.807\",,\"5,279\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"208.255.16.81\"\n\"September 20th 2015, 03:54:08.908\",,\"2,745\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.55.195.184\"\n\"September 20th 2015, 03:53:47.280\",,\"6,513\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"45.138.192.138\"\n\"September 20th 2015, 03:53:27.851\",,\"3,871\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"223.68.146.97\"\n\"September 20th 2015, 03:52:41.567\",,\"5,844\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.241.34.0\"\n\"September 20th 2015, 03:52:41.154\",,\"4,763\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"172.218.31.116\"\n\"September 20th 2015, 03:52:31.115\",,\"8,653\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.47.75.195\"\n\"September 20th 2015, 03:52:20.792\",,\"1,715\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"132.242.0.119\"\n\"September 20th 2015, 03:52:03.108\",,\"8,231\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.143.20.221\"\n\"September 20th 2015, 03:51:29.061\",,\"7,307\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.190.101.72\"\n\"September 20th 2015, 03:51:26.088\",,\"9,746\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"235.190.3.193\"\n\"September 20th 2015, 03:51:23.656\",,\"5,348\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.2.26.42\"\n\"September 20th 2015, 03:50:53.172\",,\"8,245\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"38.29.122.137\"\n\"September 20th 2015, 03:50:43.397\",,\"2,670\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"69.142.235.222\"\n\"September 20th 2015, 03:50:33.356\",,\"3,855\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.114.204.184\"\n\"September 20th 2015, 03:50:12.437\",,\"1,794\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"22.58.158.234\"\n\"September 20th 2015, 03:50:00.036\",,\"7,383\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"180.37.241.184\"\n\"September 20th 2015, 03:49:34.194\",,\"8,764\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"182.128.15.97\"\n\"September 20th 2015, 03:49:21.333\",,\"4,704\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"146.86.123.109\"\n\"September 20th 2015, 03:49:02.292\",,\"8,535\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"138.122.34.237\"\n\"September 20th 2015, 03:48:31.265\",,\"8,907\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.70.171.86\"\n\"September 20th 2015, 03:48:25.477\",,\"5,729\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.149.151.88\"\n\"September 20th 2015, 03:48:04.509\",,\"2,067\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"141.241.46.95\"\n\"September 20th 2015, 03:47:22.197\",,\"6,201\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.191.218.38\"\n\"September 20th 2015, 03:47:15.407\",,\"7,625\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.162.138.2\"\n\"September 20th 2015, 03:46:27.366\",,\"4,945\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"91.217.157.152\"\n\"September 20th 2015, 03:46:15.662\",,\"4,131\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.204.140.157\"\n\"September 20th 2015, 03:46:06.883\",,\"7,339\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"173.233.118.214\"\n\"September 20th 2015, 03:45:58.605\",,\"17,311\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"112.157.227.112\"\n\"September 20th 2015, 03:45:47.342\",,\"1,887\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"106.217.103.105\"\n\"September 20th 2015, 03:45:47.059\",,\"2,677\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"216.115.81.216\"\n\"September 20th 2015, 03:45:19.192\",,\"5,668\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.185.146.124\"\n\"September 20th 2015, 03:44:52.943\",,\"6,469\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.206.73.252\"\n\"September 20th 2015, 03:42:59.753\",,\"9,474\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.56.90.184\"\n\"September 20th 2015, 03:42:58.259\",,\"3,708\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"34.190.101.72\"\n\"September 20th 2015, 03:42:19.338\",,\"6,005\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.113.253.141\"\n\"September 20th 2015, 03:42:07.410\",,\"6,824\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.75.97.203\"\n\"September 20th 2015, 03:41:58.286\",,\"6,492\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"15.156.219.144\"\n\"September 20th 2015, 03:41:35.996\",,\"3,374\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"190.66.60.152\"\n\"September 20th 2015, 03:40:57.918\",,\"4,011\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"26.80.12.188\"\n\"September 20th 2015, 03:40:53.786\",,\"6,183\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"236.20.147.107\"\n\"September 20th 2015, 03:40:22.652\",,\"9,567\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.219.87.110\"\n\"September 20th 2015, 03:40:16.178\",,\"3,328\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"39.227.27.167\"\n\"September 20th 2015, 03:39:59.254\",,\"4,183\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"224.183.190.156\"\n\"September 20th 2015, 03:39:37.648\",,\"9,700\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.254.194.69\"\n\"September 20th 2015, 03:39:31.741\",,\"4,957\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"178.104.96.40\"\n\"September 20th 2015, 03:39:30.675\",,\"3,986\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.106.203.143\"\n\"September 20th 2015, 03:38:19.972\",,\"2,395\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"137.223.100.33\"\n\"September 20th 2015, 03:38:17.416\",,\"18,139\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.201.208.162\"\n\"September 20th 2015, 03:37:56.402\",,\"5,061\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.39.140.144\"\n\"September 20th 2015, 03:37:49.133\",,\"11,662\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.160.62.179\"\n\"September 20th 2015, 03:37:30.456\",,\"18,316\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"64.236.125.37\"\n\"September 20th 2015, 03:37:00.396\",,\"3,038\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.209.234.93\"\n\"September 20th 2015, 03:36:15.911\",,\"4,117\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.209.234.93\"\n\"September 20th 2015, 03:35:54.627\",,\"1,568\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"127.219.223.182\"\n\"September 20th 2015, 03:35:35.769\",,\"7,540\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"1.59.159.138\"\n\"September 20th 2015, 03:34:45.069\",,\"8,192\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"183.128.223.209\"\n\"September 20th 2015, 03:34:43.129\",,\"1,783\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"92.96.51.231\"\n\"September 20th 2015, 03:34:35.506\",,\"8,544\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.115.74.144\"\n\"September 20th 2015, 03:34:05.298\",,\"2,252\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"216.115.81.216\"\n\"September 20th 2015, 03:34:01.302\",,\"3,447\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"249.106.229.151\"\n\"September 20th 2015, 03:33:51.349\",,\"2,405\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"42.72.83.65\"\n\"September 20th 2015, 03:33:50.756\",,\"9,889\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"71.241.97.89\"\n\"September 20th 2015, 03:33:48.318\",,\"6,538\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.183.28.41\"\n\"September 20th 2015, 03:33:45.158\",,\"8,434\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"185.170.80.142\"\n\"September 20th 2015, 03:33:43.025\",,\"3,858\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.22.226.5\"\n\"September 20th 2015, 03:33:31.410\",,\"6,880\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"150.13.113.3\"\n\"September 20th 2015, 03:33:04.733\",,\"5,801\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"18.5.136.153\"\n\"September 20th 2015, 03:32:50.777\",,\"13,393\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"165.24.164.93\"\n\"September 20th 2015, 03:32:50.555\",,\"2,651\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"99.102.200.168\"\n\"September 20th 2015, 03:32:24.634\",,\"2,857\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"192.158.203.248\"\n\"September 20th 2015, 03:32:17.273\",,\"8,184\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.237.227.233\"\n\"September 20th 2015, 03:31:35.895\",,\"6,481\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.74.138.136\"\n\"September 20th 2015, 03:31:12.706\",,\"8,157\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.43.124.118\"\n\"September 20th 2015, 03:30:47.877\",,\"1,751\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"4.125.116.118\"\n\"September 20th 2015, 03:30:28.370\",,\"4,456\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"19.15.54.136\"\n\"September 20th 2015, 03:30:19.193\",,\"5,586\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.4.99.92\"\n\"September 20th 2015, 03:30:18.733\",,\"6,981\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.252.46.140\"\n\"September 20th 2015, 03:29:47.421\",,\"2,029\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.201.32.254\"\n\"September 20th 2015, 03:29:41.130\",,\"2,317\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"58.190.216.56\"\n\"September 20th 2015, 03:29:34.528\",,\"4,777\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"40.126.43.84\"\n\"September 20th 2015, 03:29:26.277\",,\"2,126\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.143.125.181\"\n\"September 20th 2015, 03:29:24.716\",,\"5,265\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"12.200.161.41\"\n\"September 20th 2015, 03:29:07.738\",,\"9,616\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"183.139.112.201\"\n\"September 20th 2015, 03:28:52.502\",,\"2,053\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.114.14.197\"\n\"September 20th 2015, 03:28:41.208\",,\"4,214\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.237.64.228\"\n\"September 20th 2015, 03:28:31.421\",,\"3,168\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"51.105.100.214\"\n\"September 20th 2015, 03:28:19.797\",,\"8,699\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"80.252.219.9\"\n\"September 20th 2015, 03:28:13.358\",,\"3,451\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"103.114.14.197\"\n\"September 20th 2015, 03:27:29.166\",,\"6,235\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"81.191.227.104\"\n\"September 20th 2015, 03:27:18.708\",,\"4,813\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.244.150.190\"\n\"September 20th 2015, 03:26:53.019\",,\"1,997\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.123.27.0\"\n\"September 20th 2015, 03:26:44.657\",,\"5,626\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"89.53.114.44\"\n\"September 20th 2015, 03:26:44.000\",,\"3,968\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"239.84.248.187\"\n\"September 20th 2015, 03:25:44.662\",,\"2,457\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"6.183.121.70\"\n\"September 20th 2015, 03:25:37.882\",,\"4,957\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"131.102.224.216\"\n\"September 20th 2015, 03:25:25.446\",,\"5,036\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.243.109.222\"\n\"September 20th 2015, 03:25:19.272\",,\"7,505\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.87.17.249\"\n\"September 20th 2015, 03:25:06.899\",,\"8,357\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"127.63.221.223\"\n\"September 20th 2015, 03:25:05.064\",,\"5,061\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.218.92.179\"\n\"September 20th 2015, 03:24:33.229\",,\"7,232\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.20.91.73\"\n\"September 20th 2015, 03:24:07.871\",,\"11,760\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"120.99.203.64\"\n\"September 20th 2015, 03:23:57.741\",,\"6,970\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"181.41.228.240\"\n\"September 20th 2015, 03:23:50.665\",,\"8,730\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"121.34.210.235\"\n\"September 20th 2015, 03:23:14.495\",,\"2,375\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"181.135.248.113\"\n\"September 20th 2015, 03:23:02.614\",,\"4,834\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"17.191.87.129\"\n\"September 20th 2015, 03:22:54.995\",,\"5,776\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"211.106.232.51\"\n\"September 20th 2015, 03:22:43.768\",,\"2,636\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.151.255.82\"\n\"September 20th 2015, 03:22:24.690\",,\"7,638\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"168.174.35.186\"\n\"September 20th 2015, 03:22:23.639\",,\"4,490\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"27.13.106.139\"\n\"September 20th 2015, 03:22:01.948\",,\"2,464\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"180.37.241.184\"\n\"September 20th 2015, 03:21:44.573\",,\"5,556\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.208.223.252\"\n\"September 20th 2015, 03:21:37.371\",,\"13,129\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.153.166.47\"\n\"September 20th 2015, 03:21:29.550\",,\"5,341\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.11.189.233\"\n\"September 20th 2015, 03:21:23.815\",,\"2,829\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"146.228.193.188\"\n\"September 20th 2015, 03:21:05.821\",,\"4,051\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"76.120.12.168\"\n\"September 20th 2015, 03:20:52.384\",,\"8,296\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.207.16.29\"\n\"September 20th 2015, 03:20:46.499\",,\"6,440\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.221.187.90\"\n\"September 20th 2015, 03:20:43.731\",,\"8,604\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.64.147.41\"\n\"September 20th 2015, 03:20:31.140\",,\"6,586\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"97.220.3.248\"\n\"September 20th 2015, 03:20:07.549\",,\"3,123\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.223.93.34\"\n\"September 20th 2015, 03:20:02.814\",,\"8,324\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"39.74.138.136\"\n\"September 20th 2015, 03:19:55.349\",,\"4,303\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.172.111.30\"\n\"September 20th 2015, 03:19:53.411\",,\"8,533\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"7.179.148.96\"\n\"September 20th 2015, 03:19:33.932\",,\"3,550\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"136.210.127.128\"\n\"September 20th 2015, 03:19:14.108\",,\"2,736\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.42.189.244\"\n\"September 20th 2015, 03:19:05.742\",,\"1,508\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"243.158.217.196\"\n\"September 20th 2015, 03:18:55.890\",,\"6,950\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"183.177.240.217\"\n\"September 20th 2015, 03:18:39.314\",,\"7,928\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"19.15.54.136\"\n\"September 20th 2015, 03:18:21.253\",,\"7,926\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"160.217.241.90\"\n\"September 20th 2015, 03:18:15.800\",,\"7,071\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.127.51.83\"\n\"September 20th 2015, 03:18:12.227\",,\"9,515\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.255.46.138\"\n\"September 20th 2015, 03:17:57.671\",,\"9,719\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"57.79.108.136\"\n\"September 20th 2015, 03:17:51.242\",,\"4,806\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"162.218.161.231\"\n\"September 20th 2015, 03:17:28.171\",,\"6,164\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"5.206.32.88\"\n\"September 20th 2015, 03:16:59.717\",,\"5,551\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.100.60.111\"\n\"September 20th 2015, 03:16:54.917\",,\"1,824\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.227.195.13\"\n\"September 20th 2015, 03:16:34.425\",,\"4,820\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.71.171.141\"\n\"September 20th 2015, 03:16:30.828\",,\"8,764\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"47.141.35.68\"\n\"September 20th 2015, 03:16:24.759\",,\"2,139\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"167.26.56.145\"\n\"September 20th 2015, 03:15:58.519\",,\"8,552\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"20.34.86.255\"\n\"September 20th 2015, 03:15:55.484\",,\"7,658\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.169.199.220\"\n\"September 20th 2015, 03:15:42.053\",,\"5,072\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.53.120.159\"\n\"September 20th 2015, 03:15:00.709\",,\"5,096\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.252.219.9\"\n\"September 20th 2015, 03:14:48.204\",,\"4,574\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"16.148.135.166\"\n\"September 20th 2015, 03:14:35.988\",,\"9,074\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"36.41.204.197\"\n\"September 20th 2015, 03:14:01.538\",,\"4,831\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"38.29.122.137\"\n\"September 20th 2015, 03:13:37.702\",,\"1,874\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"223.237.148.2\"\n\"September 20th 2015, 03:13:36.906\",,\"9,588\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"226.15.162.241\"\n\"September 20th 2015, 03:12:31.666\",,\"9,559\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"94.154.194.208\"\n\"September 20th 2015, 03:12:28.795\",,\"5,773\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"20.34.86.255\"\n\"September 20th 2015, 03:10:58.402\",,\"7,227\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"157.136.137.24\"\n\"September 20th 2015, 03:10:56.812\",,\"14,645\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"149.170.135.63\"\n\"September 20th 2015, 03:10:42.540\",,\"5,257\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.202.168.250\"\n\"September 20th 2015, 03:10:23.794\",,\"2,770\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"160.151.244.234\"\n\"September 20th 2015, 03:09:53.275\",,\"13,008\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"141.241.46.95\"\n\"September 20th 2015, 03:09:32.523\",,\"9,728\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.128.7.74\"\n\"September 20th 2015, 03:09:25.510\",,\"6,447\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"78.216.173.242\"\n\"September 20th 2015, 03:09:04.387\",,\"7,339\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"216.115.81.216\"\n\"September 20th 2015, 03:07:41.886\",,\"4,780\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"45.138.192.138\"\n\"September 20th 2015, 03:07:17.034\",,\"3,621\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.15.162.241\"\n\"September 20th 2015, 03:07:07.280\",,\"9,434\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"83.236.80.152\"\n\"September 20th 2015, 03:07:03.506\",,\"6,744\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"192.224.131.67\"\n\"September 20th 2015, 03:07:01.048\",,\"3,291\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"144.31.154.6\"\n\"September 20th 2015, 03:06:56.448\",,\"8,800\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"229.58.145.175\"\n\"September 20th 2015, 03:06:54.334\",,\"4,695\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.199.194.23\"\n\"September 20th 2015, 03:06:37.576\",,\"3,796\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.204.236.159\"\n\"September 20th 2015, 03:06:27.825\",,\"9,977\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"181.135.248.113\"\n\"September 20th 2015, 03:05:45.110\",,\"4,845\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"126.87.234.213\"\n\"September 20th 2015, 03:05:39.160\",,\"4,231\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"116.126.47.226\"\n\"September 20th 2015, 03:04:29.465\",,\"7,328\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"18.113.253.141\"\n\"September 20th 2015, 03:04:17.056\",,\"4,497\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"100.99.207.174\"\n\"September 20th 2015, 03:03:25.059\",,\"6,795\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.27.68.62\"\n\"September 20th 2015, 03:02:49.813\",,\"6,839\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"173.233.118.214\"\n\"September 20th 2015, 03:02:45.042\",,\"7,947\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"200.72.217.98\"\n\"September 20th 2015, 03:02:41.549\",,\"4,773\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"51.11.189.233\"\n\"September 20th 2015, 03:01:58.657\",,\"7,231\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"41.210.252.157\"\n\"September 20th 2015, 03:01:55.473\",,\"19,499\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"227.83.52.239\"\n\"September 20th 2015, 03:00:22.621\",,\"2,323\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"93.195.18.133\"\n\"September 20th 2015, 02:57:49.572\",,\"9,377\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"121.205.46.255\"\n\"September 20th 2015, 02:57:41.800\",,\"6,195\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"103.62.90.237\"\n\"September 20th 2015, 02:57:34.261\",,\"8,718\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"161.108.174.248\"\n\"September 20th 2015, 02:57:28.341\",,\"9,207\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.205.37.63\"\n\"September 20th 2015, 02:57:21.460\",,\"4,556\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"202.48.108.4\"\n\"September 20th 2015, 02:56:50.857\",,\"3,291\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.112.222.13\"\n\"September 20th 2015, 02:56:27.366\",,\"3,070\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.203.229.1\"\n\"September 20th 2015, 02:56:11.581\",,\"7,010\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.220.227.11\"\n\"September 20th 2015, 02:55:58.209\",,\"4,545\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"238.153.51.78\"\n\"September 20th 2015, 02:55:39.412\",,\"4,772\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"159.137.252.66\"\n\"September 20th 2015, 02:55:31.800\",,\"8,720\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"213.234.255.241\"\n\"September 20th 2015, 02:55:26.787\",,\"5,629\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"35.88.165.183\"\n\"September 20th 2015, 02:55:19.605\",,\"6,224\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"142.17.191.204\"\n\"September 20th 2015, 02:55:19.171\",,\"2,683\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"170.169.199.220\"\n\"September 20th 2015, 02:53:59.739\",,\"9,990\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.111.115.206\"\n\"September 20th 2015, 02:53:58.931\",,\"8,495\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"127.219.223.182\"\n\"September 20th 2015, 02:53:54.301\",,\"6,823\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"248.239.221.43\"\n\"September 20th 2015, 02:52:44.268\",,\"2,163\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"139.104.238.37\"\n\"September 20th 2015, 02:52:38.891\",,\"6,890\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.37.151.239\"\n\"September 20th 2015, 02:52:12.769\",,\"4,166\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"238.171.34.42\"\n\"September 20th 2015, 02:52:03.268\",,\"1,937\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.150.212.12\"\n\"September 20th 2015, 02:52:01.568\",,\"5,050\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"93.207.16.29\"\n\"September 20th 2015, 02:51:59.991\",,\"7,986\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"229.84.238.1\"\n\"September 20th 2015, 02:51:56.388\",,\"5,759\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.43.124.118\"\n\"September 20th 2015, 02:51:49.269\",,\"2,206\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.59.225.31\"\n\"September 20th 2015, 02:51:46.609\",,\"3,585\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.75.209.68\"\n\"September 20th 2015, 02:51:38.772\",,\"3,693\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.188.250.196\"\n\"September 20th 2015, 02:50:49.790\",,\"1,924\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.151.84.213\"\n\"September 20th 2015, 02:50:16.456\",,\"3,798\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"254.75.96.91\"\n\"September 20th 2015, 02:49:51.474\",,\"1,738\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"201.37.94.4\"\n\"September 20th 2015, 02:49:47.889\",,\"3,838\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"23.3.174.206\"\n\"September 20th 2015, 02:49:34.909\",,\"15,776\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"98.94.120.10\"\n\"September 20th 2015, 02:49:33.228\",,\"7,935\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.75.94.8\"\n\"September 20th 2015, 02:49:30.907\",,\"4,753\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.216.205.112\"\n\"September 20th 2015, 02:49:19.838\",,\"8,740\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"244.172.153.74\"\n\"September 20th 2015, 02:49:12.164\",,\"4,047\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"220.120.146.16\"\n\"September 20th 2015, 02:48:47.275\",,\"2,777\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.154.198.225\"\n\"September 20th 2015, 02:48:44.071\",,\"9,931\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"76.120.12.168\"\n\"September 20th 2015, 02:48:18.613\",,\"6,077\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"97.147.119.226\"\n\"September 20th 2015, 02:47:54.238\",,\"7,653\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"208.147.159.107\"\n\"September 20th 2015, 02:47:05.228\",,\"1,734\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"196.131.25.8\"\n\"September 20th 2015, 02:46:58.221\",,\"3,160\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"233.133.22.163\"\n\"September 20th 2015, 02:46:31.898\",,\"2,403\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"245.237.80.177\"\n\"September 20th 2015, 02:46:02.905\",,\"9,744\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.219.233.187\"\n\"September 20th 2015, 02:45:54.536\",,\"5,612\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"187.122.228.77\"\n\"September 20th 2015, 02:45:38.073\",,\"6,635\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"245.69.63.219\"\n\"September 20th 2015, 02:45:23.493\",,\"4,972\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"237.117.73.210\"\n\"September 20th 2015, 02:45:04.886\",,\"6,609\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"217.25.8.4\"\n\"September 20th 2015, 02:44:48.974\",,\"7,704\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"22.87.85.59\"\n\"September 20th 2015, 02:44:07.582\",,\"2,243\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.86.105.212\"\n\"September 20th 2015, 02:41:57.232\",,\"1,542\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"12.200.161.41\"\n\"September 20th 2015, 02:41:16.740\",,\"9,089\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"179.115.77.46\"\n\"September 20th 2015, 02:41:07.335\",,\"6,790\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.208.15.12\"\n\"September 20th 2015, 02:41:00.585\",,\"2,481\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"138.225.141.240\"\n\"September 20th 2015, 02:41:00.141\",,\"2,652\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"152.65.30.133\"\n\"September 20th 2015, 02:39:27.633\",,\"5,024\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"33.42.218.145\"\n\"September 20th 2015, 02:39:25.309\",,\"7,618\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.59.225.31\"\n\"September 20th 2015, 02:39:18.523\",,\"5,041\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"240.87.17.249\"\n\"September 20th 2015, 02:38:32.571\",,\"1,831\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"177.141.61.131\"\n\"September 20th 2015, 02:37:51.184\",,\"4,577\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"10.91.83.148\"\n\"September 20th 2015, 02:37:40.108\",,\"5,051\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"36.185.52.71\"\n\"September 20th 2015, 02:37:16.175\",,\"6,017\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"174.32.230.63\"\n\"September 20th 2015, 02:37:07.315\",,\"1,768\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"38.29.122.137\"\n\"September 20th 2015, 02:36:56.660\",,\"15,545\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"195.76.3.10\"\n\"September 20th 2015, 02:36:38.104\",,\"6,521\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"30.92.50.149\"\n\"September 20th 2015, 02:35:59.954\",,\"8,978\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"155.157.127.149\"\n\"September 20th 2015, 02:35:39.149\",,\"5,225\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"111.93.29.126\"\n\"September 20th 2015, 02:35:22.161\",,\"8,239\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"54.194.215.29\"\n\"September 20th 2015, 02:35:13.631\",,\"8,355\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"10.91.83.148\"\n\"September 20th 2015, 02:34:31.349\",,\"3,350\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.225.247.245\"\n\"September 20th 2015, 02:34:28.087\",,\"7,859\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.183.28.41\"\n\"September 20th 2015, 02:34:10.064\",,\"6,699\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"194.19.117.208\"\n\"September 20th 2015, 02:33:34.638\",,\"8,496\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"2.7.11.95\"\n\"September 20th 2015, 02:33:28.659\",,\"1,888\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"247.174.57.245\"\n\"September 20th 2015, 02:33:03.698\",,\"1,931\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.127.76.132\"\n\"September 20th 2015, 02:33:00.843\",,\"2,046\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.189.88.90\"\n\"September 20th 2015, 02:31:41.355\",,\"2,954\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"32.146.206.24\"\n\"September 20th 2015, 02:30:46.746\",,\"17,162\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"33.53.120.159\"\n\"September 20th 2015, 02:30:36.207\",,\"8,127\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"114.108.62.100\"\n\"September 20th 2015, 02:30:33.923\",,\"6,312\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"43.66.187.127\"\n\"September 20th 2015, 02:30:32.077\",,\"7,510\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"115.207.4.201\"\n\"September 20th 2015, 02:30:20.925\",,\"5,732\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"53.98.200.29\"\n\"September 20th 2015, 02:30:02.028\",,\"2,945\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.105.119.197\"\n\"September 20th 2015, 02:29:33.951\",,\"4,818\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"219.32.94.10\"\n\"September 20th 2015, 02:29:33.611\",,\"3,137\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"187.33.177.173\"\n\"September 20th 2015, 02:29:25.217\",,\"5,454\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"185.170.80.142\"\n\"September 20th 2015, 02:27:46.892\",,\"2,979\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.114.204.184\"\n\"September 20th 2015, 02:27:46.170\",,\"7,718\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.56.90.184\"\n\"September 20th 2015, 02:27:42.911\",,\"3,106\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"49.244.150.190\"\n\"September 20th 2015, 02:27:04.690\",,\"2,929\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"152.43.63.180\"\n\"September 20th 2015, 02:26:36.476\",,\"14,480\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"52.49.164.228\"\n\"September 20th 2015, 02:26:26.303\",,\"8,643\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"154.55.57.32\"\n\"September 20th 2015, 02:26:16.231\",,\"9,201\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"43.123.164.190\"\n\"September 20th 2015, 02:26:12.815\",,\"1,946\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"182.57.70.84\"\n\"September 20th 2015, 02:26:10.475\",,\"8,342\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"206.136.156.225\"\n\"September 20th 2015, 02:26:10.238\",,\"5,355\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"8.248.237.182\"\n\"September 20th 2015, 02:25:48.671\",,\"3,975\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"189.34.180.209\"\n\"September 20th 2015, 02:25:45.377\",,\"9,469\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.106.29.25\"\n\"September 20th 2015, 02:25:38.719\",,\"2,433\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"117.102.170.167\"\n\"September 20th 2015, 02:25:36.736\",,\"2,576\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"91.127.213.244\"\n\"September 20th 2015, 02:25:25.192\",,\"4,469\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"11.195.163.57\"\n\"September 20th 2015, 02:24:35.795\",,\"12,881\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"144.31.154.6\"\n\"September 20th 2015, 02:24:31.029\",,\"5,088\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.62.90.237\"\n\"September 20th 2015, 02:24:30.150\",,\"3,425\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.110.56.1\"\n\"September 20th 2015, 02:24:01.553\",,\"9,151\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"14.54.226.211\"\n\"September 20th 2015, 02:24:01.472\",,\"6,948\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.37.236.61\"\n\"September 20th 2015, 02:23:51.092\",,\"9,168\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"34.27.102.199\"\n\"September 20th 2015, 02:23:07.645\",,\"6,773\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"185.148.221.121\"\n\"September 20th 2015, 02:23:04.522\",,\"2,505\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.86.105.212\"\n\"September 20th 2015, 02:23:01.034\",,\"8,375\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.191.39.198\"\n\"September 20th 2015, 02:22:56.356\",,\"5,534\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.115.81.216\"\n\"September 20th 2015, 02:22:55.024\",,\"2,961\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"133.74.144.217\"\n\"September 20th 2015, 02:22:45.315\",,\"6,546\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.239.0.38\"\n\"September 20th 2015, 02:22:44.569\",,\"6,113\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.84.238.1\"\n\"September 20th 2015, 02:22:25.051\",,\"6,242\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.53.125.87\"\n\"September 20th 2015, 02:22:06.826\",,\"18,970\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"25.140.171.133\"\n\"September 20th 2015, 02:21:40.075\",,\"2,356\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"248.163.75.193\"\n\"September 20th 2015, 02:21:14.124\",,\"7,213\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.207.16.29\"\n\"September 20th 2015, 02:21:08.034\",,\"6,806\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"255.58.31.9\"\n\"September 20th 2015, 02:20:01.099\",,\"2,473\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"36.41.204.197\"\n\"September 20th 2015, 02:19:49.921\",,\"8,658\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"218.186.41.141\"\n\"September 20th 2015, 02:19:49.406\",,\"3,960\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"53.0.188.251\"\n\"September 20th 2015, 02:19:42.699\",,\"6,279\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"36.41.204.197\"\n\"September 20th 2015, 02:19:16.313\",,\"17,055\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"224.240.85.118\"\n\"September 20th 2015, 02:19:09.819\",,\"10,252\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"186.123.19.234\"\n\"September 20th 2015, 02:18:46.756\",,\"9,983\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"79.33.226.187\"\n\"September 20th 2015, 02:18:27.172\",,\"9,026\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.54.151.5\"\n\"September 20th 2015, 02:18:23.345\",,\"4,730\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"194.4.152.176\"\n\"September 20th 2015, 02:18:19.621\",,\"2,534\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"252.185.158.249\"\n\"September 20th 2015, 02:17:39.475\",,\"7,658\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.221.105.131\"\n\"September 20th 2015, 02:17:15.894\",,\"8,053\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.116.186.0\"\n\"September 20th 2015, 02:17:11.010\",,\"8,421\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"80.225.247.245\"\n\"September 20th 2015, 02:17:05.367\",,\"6,577\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.66.60.152\"\n\"September 20th 2015, 02:16:59.118\",,\"5,344\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"69.84.146.72\"\n\"September 20th 2015, 02:16:55.207\",,\"6,490\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.34.187.225\"\n\"September 20th 2015, 02:16:38.223\",,\"2,181\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"103.76.224.154\"\n\"September 20th 2015, 02:16:37.368\",,\"5,044\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.172.111.30\"\n\"September 20th 2015, 02:16:30.968\",,\"6,803\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"123.154.246.27\"\n\"September 20th 2015, 02:15:32.574\",,\"7,485\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"240.87.17.249\"\n\"September 20th 2015, 02:15:11.826\",,\"6,472\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.85.53.125\"\n\"September 20th 2015, 02:13:07.093\",,\"8,700\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"119.201.32.254\"\n\"September 20th 2015, 02:11:36.998\",,\"3,792\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"152.159.75.84\"\n\"September 20th 2015, 02:10:42.517\",,\"8,159\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.183.28.41\"\n\"September 20th 2015, 02:10:27.938\",,\"12,292\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.245.252.224\"\n\"September 20th 2015, 02:09:12.660\",,\"6,132\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"94.218.243.2\"\n\"September 20th 2015, 02:09:02.593\",,\"2,767\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"16.148.135.166\"\n\"September 20th 2015, 02:08:59.241\",,\"8,802\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"223.103.135.183\"\n\"September 20th 2015, 02:07:20.245\",,\"6,674\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"27.127.76.132\"\n\"September 20th 2015, 02:07:19.981\",,\"4,121\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"21.111.249.239\"\n\"September 20th 2015, 02:07:11.369\",,\"7,694\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"3.84.165.54\"\n\"September 20th 2015, 02:06:27.943\",,\"3,262\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"154.79.180.7\"\n\"September 20th 2015, 02:05:10.026\",,\"9,361\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"126.191.39.198\"\n\"September 20th 2015, 02:04:55.799\",,\"6,025\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.206.73.252\"\n\"September 20th 2015, 02:04:41.526\",,\"3,105\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"105.47.117.171\"\n\"September 20th 2015, 02:04:10.819\",,\"4,130\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"0.53.251.53\"\n\"September 20th 2015, 02:04:08.794\",,\"3,477\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"131.102.224.216\"\n\"September 20th 2015, 02:03:53.342\",,\"2,964\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"88.79.189.11\"\n\"September 20th 2015, 02:02:18.805\",,\"6,883\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"94.154.194.208\"\n\"September 20th 2015, 02:01:56.870\",,\"5,178\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"191.29.249.167\"\n\"September 20th 2015, 02:01:41.520\",,\"8,165\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"134.168.180.6\"\n\"September 20th 2015, 02:01:35.190\",,\"4,150\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"190.66.60.152\"\n\"September 20th 2015, 02:00:06.274\",,\"5,549\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.12.231.216\"\n\"September 20th 2015, 02:00:05.673\",,\"7,496\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"81.191.227.104\"\n\"September 20th 2015, 02:00:01.323\",,\"9,284\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"85.62.211.92\"\n\"September 20th 2015, 02:00:00.461\",,\"5,166\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"39.106.29.25\"\n\"September 20th 2015, 01:59:49.937\",,\"1,753\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"201.62.159.102\"\n\"September 20th 2015, 01:59:40.199\",,\"3,286\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"210.210.88.232\"\n\"September 20th 2015, 01:58:38.676\",,\"2,782\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"175.211.243.56\"\n\"September 20th 2015, 01:58:37.582\",,\"2,063\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"98.108.50.221\"\n\"September 20th 2015, 01:58:30.040\",,\"5,497\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"232.167.107.51\"\n\"September 20th 2015, 01:57:55.161\",,\"6,522\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.37.236.61\"\n\"September 20th 2015, 01:57:49.717\",,\"8,244\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"188.28.50.40\"\n\"September 20th 2015, 01:56:52.690\",,\"8,247\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.203.229.1\"\n\"September 20th 2015, 01:56:49.398\",,\"8,050\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"45.102.15.116\"\n\"September 20th 2015, 01:54:52.877\",,\"7,113\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"25.156.46.205\"\n\"September 20th 2015, 01:54:12.664\",,\"2,684\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"31.38.33.47\"\n\"September 20th 2015, 01:54:03.740\",,\"4,698\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"20.178.152.193\"\n\"September 20th 2015, 01:53:40.016\",,\"16,657\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"50.184.86.48\"\n\"September 20th 2015, 01:53:16.984\",,\"1,800\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"33.42.218.145\"\n\"September 20th 2015, 01:52:39.302\",,\"9,523\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"23.178.170.24\"\n\"September 20th 2015, 01:52:37.238\",,\"5,858\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"44.61.116.63\"\n\"September 20th 2015, 01:51:29.489\",,\"8,207\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"151.115.183.40\"\n\"September 20th 2015, 01:51:22.661\",,\"9,217\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.188.141.95\"\n\"September 20th 2015, 01:51:21.282\",,\"5,218\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"189.34.180.209\"\n\"September 20th 2015, 01:51:04.223\",,\"3,880\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"124.187.220.168\"\n\"September 20th 2015, 01:51:04.015\",,\"6,778\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"124.187.220.168\"\n\"September 20th 2015, 01:49:35.702\",,\"3,760\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.219.65.244\"\n\"September 20th 2015, 01:48:16.672\",,\"13,107\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"84.77.230.73\"\n\"September 20th 2015, 01:48:16.591\",,\"8,361\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"6.70.186.143\"\n\"September 20th 2015, 01:48:05.698\",,\"5,684\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.206.73.252\"\n\"September 20th 2015, 01:46:19.200\",,\"2,351\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"215.182.13.142\"\n\"September 20th 2015, 01:45:53.600\",,\"4,628\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"252.185.158.249\"\n\"September 20th 2015, 01:45:27.465\",,\"2,439\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"159.136.76.65\"\n\"September 20th 2015, 01:45:19.952\",,\"6,390\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"150.106.203.143\"\n\"September 20th 2015, 01:45:15.441\",,\"8,856\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.64.147.41\"\n\"September 20th 2015, 01:45:13.001\",,\"2,406\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"89.55.130.114\"\n\"September 20th 2015, 01:44:56.314\",,\"5,554\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"146.228.193.188\"\n\"September 20th 2015, 01:44:45.237\",,\"3,524\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"204.17.159.23\"\n\"September 20th 2015, 01:44:37.735\",,\"6,578\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.99.243.183\"\n\"September 20th 2015, 01:44:05.387\",,\"1,742\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"225.42.74.240\"\n\"September 20th 2015, 01:44:01.837\",,\"3,563\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.224.4.183\"\n\"September 20th 2015, 01:44:01.134\",,\"5,531\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"225.209.251.160\"\n\"September 20th 2015, 01:43:46.912\",,\"4,804\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"149.170.135.63\"\n\"September 20th 2015, 01:43:37.813\",,\"8,682\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.27.102.199\"\n\"September 20th 2015, 01:43:14.991\",,\"3,527\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"242.162.114.49\"\n\"September 20th 2015, 01:42:26.901\",,\"8,061\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"214.164.244.131\"\n\"September 20th 2015, 01:41:29.646\",,\"4,631\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"40.160.62.179\"\n\"September 20th 2015, 01:40:41.713\",,\"1,986\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"122.129.36.56\"\n\"September 20th 2015, 01:38:43.261\",,\"2,015\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"248.239.221.43\"\n\"September 20th 2015, 01:38:43.244\",,\"6,405\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"50.26.210.216\"\n\"September 20th 2015, 01:38:22.021\",,\"4,845\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"125.163.133.47\"\n\"September 20th 2015, 01:38:21.989\",,\"2,640\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"190.5.167.41\"\n\"September 20th 2015, 01:38:03.384\",,\"13,152\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"232.167.107.51\"\n\"September 20th 2015, 01:37:03.345\",,\"8,085\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"130.161.247.172\"\n\"September 20th 2015, 01:34:35.015\",,\"7,424\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.196.54.80\"\n\"September 20th 2015, 01:33:46.203\",,\"18,383\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"48.199.42.50\"\n\"September 20th 2015, 01:32:33.065\",,\"4,872\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"0.254.91.215\"\n\"September 20th 2015, 01:32:22.314\",,\"8,593\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"48.242.153.99\"\n\"September 20th 2015, 01:32:15.664\",,\"8,889\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.246.231.47\"\n\"September 20th 2015, 01:31:57.959\",,\"3,264\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"221.109.118.102\"\n\"September 20th 2015, 01:31:24.972\",,\"9,644\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"85.79.151.78\"\n\"September 20th 2015, 01:30:10.729\",,\"5,032\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.237.108.147\"\n\"September 20th 2015, 01:30:03.611\",,\"7,701\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"153.49.130.46\"\n\"September 20th 2015, 01:29:54.800\",,\"8,754\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"238.210.116.210\"\n\"September 20th 2015, 01:29:36.201\",,\"18,682\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"66.201.249.221\"\n\"September 20th 2015, 01:29:04.867\",,\"5,932\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"241.58.244.165\"\n\"September 20th 2015, 01:28:51.582\",,\"6,171\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"153.34.187.225\"\n\"September 20th 2015, 01:28:30.743\",,\"4,153\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"213.234.255.241\"\n\"September 20th 2015, 01:28:18.254\",,\"3,909\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"206.11.74.125\"\n\"September 20th 2015, 01:28:06.089\",,\"1,602\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"216.122.121.230\"\n\"September 20th 2015, 01:27:21.424\",,\"8,346\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"230.43.124.118\"\n\"September 20th 2015, 01:26:58.957\",,\"4,451\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.225.101.206\"\n\"September 20th 2015, 01:26:45.240\",,\"6,288\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"243.189.88.90\"\n\"September 20th 2015, 01:26:25.116\",,\"2,958\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"26.80.12.188\"\n\"September 20th 2015, 01:26:21.104\",,\"1,609\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"9.59.191.54\"\n\"September 20th 2015, 01:26:17.613\",,\"7,976\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"248.193.114.155\"\n\"September 20th 2015, 01:26:04.819\",,\"3,839\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"226.208.223.252\"\n\"September 20th 2015, 01:25:50.309\",,\"6,976\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.219.108.141\"\n\"September 20th 2015, 01:25:50.187\",,\"6,843\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"250.208.48.188\"\n\"September 20th 2015, 01:24:32.167\",,\"8,936\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"219.33.16.83\"\n\"September 20th 2015, 01:22:46.843\",,\"9,022\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"219.32.94.10\"\n\"September 20th 2015, 01:22:16.106\",,\"4,298\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.55.80.52\"\n\"September 20th 2015, 01:21:58.181\",,\"3,448\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"249.11.43.220\"\n\"September 20th 2015, 01:21:56.249\",,\"5,104\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"56.7.132.13\"\n\"September 20th 2015, 01:21:11.655\",,\"5,478\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"37.92.205.231\"\n\"September 20th 2015, 01:20:29.495\",,\"5,880\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.75.209.68\"\n\"September 20th 2015, 01:20:24.492\",,\"4,446\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.204.140.157\"\n\"September 20th 2015, 01:18:58.365\",,\"9,810\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"11.195.163.57\"\n\"September 20th 2015, 01:18:38.294\",,\"8,203\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.34.210.235\"\n\"September 20th 2015, 01:18:23.549\",,\"8,262\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"57.79.108.136\"\n\"September 20th 2015, 01:16:46.664\",,\"8,103\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"26.225.101.206\"\n\"September 20th 2015, 01:16:38.558\",,\"11,855\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"228.105.204.4\"\n\"September 20th 2015, 01:16:34.818\",,\"8,234\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"117.112.55.75\"\n\"September 20th 2015, 01:16:04.983\",,\"5,816\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"55.2.26.42\"\n\"September 20th 2015, 01:15:19.735\",,\"4,521\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"53.0.188.251\"\n\"September 20th 2015, 01:14:53.012\",,\"8,404\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"179.115.77.46\"\n\"September 20th 2015, 01:14:01.280\",,\"6,251\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"21.224.184.36\"\n\"September 20th 2015, 01:12:51.845\",,\"4,887\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"135.233.238.181\"\n\"September 20th 2015, 01:11:29.981\",,\"7,330\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"177.194.175.66\"\n\"September 20th 2015, 01:11:01.759\",,\"7,003\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"5.83.83.42\"\n\"September 20th 2015, 01:09:15.747\",,\"5,705\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"66.194.157.171\"\n\"September 20th 2015, 01:08:06.703\",,\"5,801\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"63.215.211.142\"\n\"September 20th 2015, 01:06:29.187\",,\"8,181\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"172.225.107.118\"\n\"September 20th 2015, 01:06:18.019\",,\"9,936\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"201.62.159.102\"\n\"September 20th 2015, 01:05:18.613\",,\"8,466\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"251.246.146.22\"\n\"September 20th 2015, 01:04:52.930\",,\"19,941\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"88.11.66.39\"\n\"September 20th 2015, 01:04:51.457\",,\"7,832\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"15.97.87.54\"\n\"September 20th 2015, 01:04:41.369\",,\"8,809\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.68.89.92\"\n\"September 20th 2015, 01:03:10.352\",,\"2,013\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"229.84.238.1\"\n\"September 20th 2015, 01:02:38.338\",,\"9,506\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"64.221.41.27\"\n\"September 20th 2015, 01:02:32.557\",,\"6,617\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"156.7.129.34\"\n\"September 20th 2015, 01:01:44.152\",,\"8,534\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.7.244.68\"\n\"September 20th 2015, 01:01:41.300\",,\"6,437\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"231.169.195.137\"\n\"September 20th 2015, 01:00:45.840\",,\"6,926\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"28.3.30.170\"\n\"September 20th 2015, 00:59:43.846\",,\"2,700\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.223.87.67\"\n\"September 20th 2015, 00:56:05.897\",,\"9,577\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"78.233.202.162\"\n\"September 20th 2015, 00:54:01.773\",,\"7,805\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"54.0.98.104\"\n\"September 20th 2015, 00:36:06.621\",,\"2,751\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"65.135.134.42\"\n\"September 20th 2015, 00:35:38.908\",,\"7,812\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"240.55.195.184\"\n\"September 20th 2015, 00:34:03.271\",,\"1,829\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"251.246.146.22\"\n\"September 20th 2015, 00:32:23.220\",,\"9,026\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"216.122.121.230\"\n\"September 20th 2015, 00:32:06.465\",,\"3,932\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.143.176.28\"\n\"September 20th 2015, 00:31:17.111\",,\"8,475\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"176.37.236.61\"\n\"September 20th 2015, 00:30:57.012\",,\"7,839\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"215.182.13.142\"\n\"September 20th 2015, 00:30:50.265\",,\"5,748\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"134.47.243.34\"\n\"September 20th 2015, 00:29:29.263\",,\"6,217\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"227.83.52.239\"\n\"September 20th 2015, 00:27:23.781\",,\"4,447\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"245.237.80.177\"\n\"September 20th 2015, 00:27:00.165\",,\"6,163\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"233.133.22.163\"\n\"September 20th 2015, 00:25:59.287\",,\"4,813\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"93.195.18.133\"\n\"September 20th 2015, 00:24:33.362\",,\"1,742\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"108.46.176.132\"\n\"September 20th 2015, 00:24:02.907\",,\"1,642\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"164.185.40.249\"\n\"September 20th 2015, 00:23:38.521\",,\"2,820\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.201.32.254\"\n\"September 20th 2015, 00:22:45.702\",,\"7,493\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"232.206.227.106\"\n\"September 20th 2015, 00:22:32.671\",,\"4,567\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"21.111.249.239\"\n\"September 20th 2015, 00:21:38.003\",,\"2,076\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"132.242.0.119\"\n\"September 20th 2015, 00:21:27.492\",,\"16,778\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"137.230.105.32\"\n\"September 20th 2015, 00:21:15.177\",,\"4,878\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"55.60.53.165\"\n\"September 20th 2015, 00:21:12.833\",,\"13,660\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"114.108.62.100\"\n\"September 20th 2015, 00:20:27.297\",,\"4,642\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"162.218.161.231\"\n\"September 20th 2015, 00:19:03.946\",,\"5,056\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"108.46.176.132\"\n\"September 20th 2015, 00:15:02.326\",,\"5,778\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"15.191.218.38\"\n\"September 20th 2015, 00:14:19.866\",,\"3,925\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"126.191.39.198\"\n\"September 20th 2015, 00:12:45.861\",,\"3,999\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"158.179.121.61\"\n\"September 20th 2015, 00:11:49.921\",,\"5,900\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.150.212.12\"\n\"September 20th 2015, 00:10:43.301\",,\"17,966\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"101.130.216.47\"\n\"September 20th 2015, 00:09:39.411\",,\"2,085\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"236.90.86.83\"\n\"September 20th 2015, 00:09:16.425\",,\"9,640\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"194.19.117.208\"\n\"September 20th 2015, 00:07:48.677\",,\"6,107\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"95.128.176.48\"\n\"September 20th 2015, 00:07:12.793\",,\"8,889\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"130.89.226.36\"\n\"September 20th 2015, 00:06:52.520\",,\"9,438\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"220.191.52.177\"\n\"September 20th 2015, 00:06:52.153\",,\"2,032\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"160.161.172.168\"\n\"September 20th 2015, 00:05:57.607\",,\"5,017\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"29.160.128.58\"\n\"September 20th 2015, 00:03:56.916\",,\"9,055\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"213.165.226.140\"\n\"September 20th 2015, 00:02:26.672\",,\"9,977\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"236.90.86.83\"\n\"September 20th 2015, 00:02:14.999\",,\"2,609\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.150.212.12\"\n\"September 20th 2015, 00:02:05.169\",,\"5,012\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"61.73.88.176\"\n\"September 19th 2015, 23:58:54.668\",,\"8,549\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"29.188.141.95\"\n\"September 19th 2015, 23:58:23.645\",,\"6,454\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"125.165.93.2\"\n\"September 19th 2015, 23:58:02.654\",,\"11,645\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"50.46.74.105\"\n\"September 19th 2015, 23:56:14.580\",,\"5,121\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"77.227.154.93\"\n\"September 19th 2015, 23:55:54.416\",,\"8,279\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"234.65.112.109\"\n\"September 19th 2015, 23:55:12.562\",,\"4,744\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"111.47.75.195\"\n\"September 19th 2015, 23:54:53.065\",,\"9,474\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"204.4.99.92\"\n\"September 19th 2015, 23:48:57.375\",,\"9,820\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"172.210.244.94\"\n\"September 19th 2015, 23:48:32.880\",,\"9,685\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"18.106.209.231\"\n\"September 19th 2015, 23:46:06.003\",,\"4,676\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"121.158.36.114\"\n\"September 19th 2015, 23:45:56.373\",,\"7,686\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.180.70.74\"\n\"September 19th 2015, 23:45:05.068\",,\"3,656\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"178.57.229.103\"\n\"September 19th 2015, 23:44:10.788\",,\"4,305\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"230.249.93.77\"\n\"September 19th 2015, 23:43:49.171\",,\"4,954\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"188.56.164.24\"\n\"September 19th 2015, 23:41:16.816\",,\"6,409\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"0.108.3.2\"\n\"September 19th 2015, 23:40:09.060\",,\"11,427\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"17.191.87.129\"\n\"September 19th 2015, 23:37:59.830\",,\"4,410\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"129.32.224.79\"\n\"September 19th 2015, 23:37:25.916\",,\"8,026\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.246.231.47\"\n\"September 19th 2015, 23:30:36.878\",,\"3,852\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"25.213.126.12\"\n\"September 19th 2015, 23:27:30.963\",,\"7,422\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.151.84.213\"\n\"September 19th 2015, 23:23:51.161\",,\"8,773\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"237.192.52.3\"\n\"September 19th 2015, 23:22:54.380\",,\"9,493\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"206.93.219.234\"\n\"September 19th 2015, 23:18:37.062\",,\"11,617\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"176.253.222.16\"\n\"September 19th 2015, 23:18:16.843\",,\"8,712\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"235.115.221.35\"\n\"September 19th 2015, 23:17:54.969\",,\"8,512\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"141.22.228.100\"\n\"September 19th 2015, 23:16:48.063\",,\"4,881\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"228.6.126.193\"\n\"September 19th 2015, 23:04:10.292\",,\"2,699\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"130.161.247.172\"\n\"September 19th 2015, 23:03:57.064\",,\"4,851\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"127.63.221.223\"\n\"September 19th 2015, 22:57:03.761\",,\"4,698\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"174.52.134.54\"\n\"September 19th 2015, 22:56:02.323\",,\"8,955\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"185.39.79.51\"\n\"September 19th 2015, 22:55:18.954\",,\"5,156\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"179.151.84.213\"\n\"September 19th 2015, 22:54:25.048\",,\"2,609\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"34.197.178.155\"\n\"September 19th 2015, 22:54:10.950\",,\"9,297\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"191.188.250.196\"\n\"September 19th 2015, 22:53:44.698\",,\"5,366\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"255.56.89.50\"\n\"September 19th 2015, 22:53:24.492\",,\"8,595\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"140.83.143.132\"\n\"September 19th 2015, 22:48:35.860\",,\"7,081\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"12.196.199.120\"\n\"September 19th 2015, 22:36:38.303\",,\"4,854\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"178.57.229.103\"\n\"September 19th 2015, 22:35:24.133\",,\"4,872\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"167.26.56.145\"\n\"September 19th 2015, 22:35:04.494\",,\"7,694\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"135.156.52.180\"\n\"September 19th 2015, 22:33:45.790\",,\"1,918\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"86.193.157.89\"\n\"September 19th 2015, 22:32:33.656\",,\"3,403\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"232.64.207.109\"\n\"September 19th 2015, 22:31:52.005\",,\"6,757\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"83.3.0.125\"\n\"September 19th 2015, 22:30:17.382\",,\"3,208\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"29.160.128.58\"\n\"September 19th 2015, 22:29:04.933\",,\"4,144\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"170.169.199.220\"\n\"September 19th 2015, 22:21:34.187\",,\"6,887\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"231.224.4.183\"\n\"September 19th 2015, 22:20:41.705\",,\"8,448\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"239.249.202.59\"\n\"September 19th 2015, 22:11:08.953\",,\"8,483\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"111.55.80.52\"\n\"September 19th 2015, 22:04:56.015\",,\"8,660\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"154.79.180.7\"\n\"September 19th 2015, 21:52:15.473\",,\"5,994\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"208.147.159.107\"\n\"September 19th 2015, 21:38:57.533\",,\"4,195\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"119.52.178.194\"\n\"September 19th 2015, 21:31:56.787\",,\"9,398\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"62.97.175.115\"\n\"September 19th 2015, 21:29:25.418\",,\"1,963\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"171.132.193.95\"\n\"September 19th 2015, 21:26:57.833\",,\"9,720\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"40.207.244.57\"\n\"September 19th 2015, 21:26:07.805\",,\"2,799\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"113.43.75.122\"\n\"September 19th 2015, 21:23:52.800\",,\"3,821\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"49.244.150.190\"\n\"September 19th 2015, 21:14:54.192\",,\"9,977\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"208.255.16.81\"\n\"September 19th 2015, 21:03:53.326\",,\"4,915\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"46.163.136.60\"\n\"September 19th 2015, 20:46:01.071\",,\"9,252\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"32.180.30.227\"\n\"September 19th 2015, 20:43:01.353\",,\"9,583\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"255.56.89.50\"\n\"September 19th 2015, 20:35:21.445\",,\"9,790\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"237.56.90.184\"\n\"September 19th 2015, 20:32:42.058\",,\"9,196\",\"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\",\"176.7.244.68\"\n\"September 19th 2015, 20:30:34.206\",,\"8,537\",\"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\",\"193.164.192.47\"\n\"September 19th 2015, 20:00:00.000\",,\"1,623\",\"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\",\"143.84.142.7\"\n", + "content_type": "text/csv", + "max_size_reached": false + }, + "payload": { + "conflictedTypesFields": [ + ], + "fields": [ + "@timestamp", + "_score", + "bytes", + "agent", + "clientip" + ], + "headers": "WYyiedM20sSFluwUvZubYm2XpxYxOEoxcH+qTzSTZb1SForfDZbpkGTPUlAjAdkLEC2bTi9/Qbg7mLlykqXCGY6XYvmWRnEO1XayDuxTotjb587/GctMQmI6heohviqzPT89LqHVSImXjNcO6jtHRXZoBtLwbJ7zo1JCeAOCXgCFG0ONFrqdx8lW2KUruO6K1+sXUn/pL32HjHtxKmzbwsfOp6HtZnfch1NJRIP8rQ3lofNKgytZkxNjOPAzMA6iR91+vjbaJyoGBh3upp+TQtlGoSgbnBz+IPlYkWf7sCD5eJNu8nQWKfR06IxP4iAG/cyrePudeGap3tVij1SiCyp6hWo+SypCNWvkOJYzND2zG674csSg0Zqn3WRfiHMhjCjq3SQmJvjALXl/iClRrSQui+tlx258L7OyIbVKkzJVz6/ccsRec42UIde/1AC0bgMV0VqWZSPS6qCcYHCW6B+ilwTzzNL72bIsqBmIRNsppHRmVEvMQzG9cfQ9xF96KJ4qrWGE4zJpKy7wj4PbIodPvUq6SrPH5Tobz6Sn/eE9LDaVtphxyJDiqI9Cokvxpo4k+tfh0n8fT2W+fFl7hd7gtOpIRGblerAGpIEkR5WqlWqv6jCmpJyO6OKlMsgfAxFjXMxl0fJxoOjfHPaPWa7iR90PD0ou8a48EW1/9CvJb/Xy82cK25TYVcqC2kca7boDEg3/stJQopSb/Yqgm7VAmLDQv51H454I2JbWPQYDHgVrRWPqCBpLaiKYIPOLD4VTgRsXGj2mJ8F7PNAJyaeiRfVGtN9Gf58SQIeYm8jitDlc9hxdZ6LbAEQcTJuMb16pzdt0U+UM5u2pTpOVAlOFzxp2CdQ4+C/pcO3hPMhqMGO7JcKaIxXm3dut7w0+WR3pKsc/rym4MEas8fKWSis7/mWFYSO4T0GootNQ8DvQMVnptoZtDWuPT86zYFvlPKAuf3mAzNUEzeT+HiVFtCRtoq5Sbe2uIBBD+RQtTU7F+dAuionwW4yOPfWkgRl6stxMXqywqJksD05YIAOj+OIjQBj0BX6C3zO9pVWRpuNx5eSOUSNdSUs12M+gDiiUvjyrEfIh1edPJA99ggx797U2w4PwjXQPEyN9Q/DqvUg9M+71pFrv8I7FtOGGb9vMf6a8AcrwufnR7pyp/xSx9VZ4ZslTeoU+BB9uKDkl6o7Rkg+be6jSvQBoqG6NBj52BvcKMsFhjrtx1pqeVW0s4ZsiupdjuKCMNq+nMoz8d6JWVp35ouXnrbA1pYOzEiUTclv6CYQ6t3RgUoYnjaBifzRre6LcFaZGGBdQEQ==", + "indexPatternId": "logstash-*", + "indexPatternSavedObject": { + "attributes": { + "fields": "[{\"name\":\"@message\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"@message.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"@tags\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"@tags.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"@timestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"_id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":1,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"agent\",\"type\":\"string\",\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"agent.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"bytes\",\"type\":\"number\",\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"clientip\",\"type\":\"ip\",\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"extension\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"extension.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"geo.coordinates\",\"type\":\"geo_point\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"geo.dest\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"geo.src\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"geo.srcdest\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"headings\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"headings.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"host\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"host.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"id\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"index.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"ip\",\"type\":\"ip\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"links\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"links.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"machine.os\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"machine.os.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"machine.ram\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"memory\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"meta.char\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"meta.related\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"meta.user.firstname\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"meta.user.lastname\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"phpmemory\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"referer\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.article:modified_time\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.article:published_time\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.article:section\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.article:section.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.article:tag\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.article:tag.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.og:description\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.og:description.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.og:image\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.og:image.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.og:image:height\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.og:image:height.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.og:image:width\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.og:image:width.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.og:site_name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.og:site_name.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.og:title\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.og:title.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.og:type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.og:type.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.og:url\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.og:url.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.twitter:card\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.twitter:card.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.twitter:description\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.twitter:description.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.twitter:image\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.twitter:image.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.twitter:site\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.twitter:site.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.twitter:title\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.twitter:title.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"relatedContent.url\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"relatedContent.url.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"request\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"request.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"response\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"response.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"spaces\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"spaces.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"url\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"url.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"utc_time\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"xss\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"xss.raw\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true}]", + "timeFieldName": "@timestamp", + "title": "logstash-*" + }, + "id": "logstash-*", + "type": "index-pattern", + "updated_at": "2018-03-15T20:53:00.291Z", + "version": 5 + }, + "metaFields": [ + "_source", + "_id", + "_type", + "_index", + "_score" + ], + "searchRequest": { + "body": { + "_source": { + "excludes": [ + ], + "includes": [ + "@timestamp", + "_score", + "bytes", + "agent", + "clientip" + ] + }, + "docvalue_fields": [ + "@timestamp" + ], + "query": { + "bool": { + "filter": [ + ], + "must": [ + { + "query_string": { + "analyze_wildcard": true, + "default_field": "*", + "query": "bytes:>1000" + } + }, + { + "range": { + "@timestamp": { + "format": "epoch_millis", + "gte": 1442620926633, + "lte": 1443076833165 + } + } + } + ], + "must_not": [ + ], + "should": [ + ] + } + }, + "script_fields": { + }, + "sort": [ + { + "@timestamp": { + "order": "desc", + "unmapped_type": "boolean" + } + } + ], + "stored_fields": [ + "@timestamp", + "_score", + "bytes", + "agent", + "clientip" + ], + "version": true + }, + "index": "logstash-*" + }, + "title": "bytes>1000 search", + "type": "search" + }, + "priority": 10, + "process_expiration": "2018-03-15T20:56:33.595Z", + "started_at": "2018-03-15T20:56:03.595Z", + "status": "completed", + "timeout": 30000 + }, + "type": "_doc" + } +} + +{ + "type": "doc", + "value": { + "id": "jeszuysr0k3vbd9ffb4097uc", + "index": ".reporting-2018.03.11", + "source": { + "attempts": 1, + "completed_at": "2018-03-15T20:56:13.059Z", + "created_at": "2018-03-15T20:55:54.796Z", + "created_by": "elastic", + "jobtype": "printable_pdf", + "max_attempts": 3, + "output": { + "content": "JVBERi0xLjMKJf////8KNSAwIG9iago8PAovUHJlZGljdG9yIDE1Ci9Db2xvcnMgMQovQml0c1BlckNvbXBvbmVudCA4Ci9Db2x1bW5zIDU3Nwo+PgplbmRvYmoKMTEgMCBvYmoKPDwKL1R5cGUgL0V4dEdTdGF0ZQovQ0EgMQo+PgplbmRvYmoKOSAwIG9iago8PAovVHlwZSAvUGFnZQovUGFyZW50IDEgMCBSCi9NZWRpYUJveCBbMCAwIDE1ODYgMzMyMV0KL0NvbnRlbnRzIDcgMCBSCi9SZXNvdXJjZXMgOCAwIFIKPj4KZW5kb2JqCjggMCBvYmoKPDwKL1Byb2NTZXQgWy9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUldCi9Gb250IDw8Ci9GMiAxMCAwIFIKL0YzIDEyIDAgUgo+PgovRXh0R1N0YXRlIDw8Ci9HczEgMTEgMCBSCj4+Ci9YT2JqZWN0IDw8Ci9JMSAzIDAgUgovSTIgNCAwIFIKPj4KPj4KZW5kb2JqCjEzIDAgb2JqCjw8Ci9Qcm9kdWNlciAocGRmbWFrZSkKL0NyZWF0b3IgKHBkZm1ha2UpCi9DcmVhdGlvbkRhdGUgKEQ6MjAxODAzMTUyMDU2MTBaKQo+PgplbmRvYmoKMTUgMCBvYmoKPDwKL1R5cGUgL0ZvbnREZXNjcmlwdG9yCi9Gb250TmFtZSAvTVVaTVZGK1JvYm90by1NZWRpdW0KL0ZsYWdzIDQKL0ZvbnRCQm94IFstNzMyLjQyMTg3NSAtMjcwLjk5NjA5NCAxMTkyLjg3MTA5NCAxMDQ3Ljg1MTU2M10KL0l0YWxpY0FuZ2xlIDAKL0FzY2VudCA5MjcuNzM0Mzc1Ci9EZXNjZW50IC0yNDQuMTQwNjI1Ci9DYXBIZWlnaHQgNzEwLjkzNzUKL1hIZWlnaHQgNTI4LjMyMDMxMwovU3RlbVYgMAovRm9udEZpbGUyIDE0IDAgUgo+PgplbmRvYmoKMTYgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL0NJREZvbnRUeXBlMgovQmFzZUZvbnQgL01VWk1WRitSb2JvdG8tTWVkaXVtCi9DSURTeXN0ZW1JbmZvIDw8Ci9SZWdpc3RyeSAoQWRvYmUpCi9PcmRlcmluZyAoSWRlbnRpdHkpCi9TdXBwbGVtZW50IDAKPj4KL0ZvbnREZXNjcmlwdG9yIDE1IDAgUgovVyBbMCBbNTEwIDY1OC42OTE0MDYgNTI5LjI5Njg3NSA1NjYuNDA2MjUgNTY2LjQwNjI1IDM1Ni40NDUzMTMgMzI2LjY2MDE1NiAyNTkuMjc3MzQ0IDU2Ni40MDYyNSA1NjYuNDA2MjUgMjQ5LjAyMzQzOCA2NzIuODUxNTYzIDU0My45NDUzMTMgNTIwLjAxOTUzMSA1NjYuNDA2MjUgNTY2LjQwNjI1IDU2Ni40MDYyNV1dCj4+CmVuZG9iagoxMCAwIG9iago8PAovVHlwZSAvRm9udAovU3VidHlwZSAvVHlwZTAKL0Jhc2VGb250IC9NVVpNVkYrUm9ib3RvLU1lZGl1bQovRW5jb2RpbmcgL0lkZW50aXR5LUgKL0Rlc2NlbmRhbnRGb250cyBbMTYgMCBSXQovVG9Vbmljb2RlIDE3IDAgUgo+PgplbmRvYmoKMTkgMCBvYmoKPDwKL1R5cGUgL0ZvbnREZXNjcmlwdG9yCi9Gb250TmFtZSAvQ1ZCV1VHK1JvYm90by1SZWd1bGFyCi9GbGFncyA0Ci9Gb250QkJveCBbLTY4MS4xNTIzNDQgLTI3MC45OTYwOTQgMTE4MS42NDA2MjUgMTA0Ny44NTE1NjNdCi9JdGFsaWNBbmdsZSAwCi9Bc2NlbnQgOTI3LjczNDM3NQovRGVzY2VudCAtMjQ0LjE0MDYyNQovQ2FwSGVpZ2h0IDcxMC45Mzc1Ci9YSGVpZ2h0IDUyOC4zMjAzMTMKL1N0ZW1WIDAKL0ZvbnRGaWxlMiAxOCAwIFIKPj4KZW5kb2JqCjIwIDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9DSURGb250VHlwZTIKL0Jhc2VGb250IC9DVkJXVUcrUm9ib3RvLVJlZ3VsYXIKL0NJRFN5c3RlbUluZm8gPDwKL1JlZ2lzdHJ5IChBZG9iZSkKL09yZGVyaW5nIChJZGVudGl0eSkKL1N1cHBsZW1lbnQgMAo+PgovRm9udERlc2NyaXB0b3IgMTkgMCBSCi9XIFswIFs1MDcgNjYyLjEwOTM3NSA1MjYuODU1NDY5IDU2Ni40MDYyNSA1NjYuNDA2MjUgMzQ4LjYzMjgxMyAzMTgu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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA2YMDAQAAAAAg/9dGUFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWEPDgQAAAAAgPxfG0FVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWFPTgQAAAAAADyf20EVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVlfbggAAAAABAyP/XDQkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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5/7qV7/6wQ9+IHr7rbfeKr4CPg7rFVdccfPNN99///0/+tGPXn755ZUrVxYWFoqTtuq9CR7RbqWlpatWrfrNb34juvcdd9wxZcqUcb8Ogmi3Rx55RHyJli1bduDAARI1MCnxm/T06dMZGRnil8Lvf//7p59+WnTsz3zmMzfccIM47fv+Fohfr7fffvuXv/zlJ5988te//rU4+WzevPnYsWMR+HVobm7etm3bG2+8IRrwvvvuu+666/w5jVxzzTX33HPPU089Jf6G2b59u/iTRvV+BJvFYtm9e/dbb70l/jB78MEHb7zxRn/a7corrxR/6Ylfc3/84x83btxYX1/PTXL4gytTAABgRuRnoAT5GQAAAINwlxLS9fb2ZmVlvf7669///vc//vGP+/OcZVwf/vCHH3744Zdeeik5OfnMmTOqd9EQdrv98OHDot2+9rWvXX755VLabdq0aU8//fTatWs7OztV71+EslgsSUlJL7744oMPPnjllVdKOawfGslKiW/EX//61/z8/HB9Dn7q1KnFixc//vjj1157rZRGu+qqq7797W8vWLAg9O8wlJeX54Qd4nz+E2119OjR5cuX//rXv/7617/uZ9IjIFOmTLn33nt//vOfr169uqamJlyzDeJP1q1bt77wwgt33nmnrKb73Oc+99vf/jY7O3twcFD1/hllYGBA7ODvf//7e+65x5/4rj9uu+22559/XhyO84yrBu+4MgUAAGZEfsahsfnM4OCQ6ioiSOjf3QIAADAp7lJClqampqVLl37nO9+54oorpDxq8eGee+7505/+dOjQofB45HfixIlXX3319ttvN67FLr/88n/6p3/avHnzwMCA6t2NCI7sx2OPPTbu6BD6XX311eLgbtiw4cKFC6r3W4KOjo5FixY98MADhjbagw8+GBUVde7cOdW7q+3RRx81dPeV6OvrU92uIU38OhO/C1asWPH000/7OcSHRLfeeusLL7yQnp4eHqeRoaGhXbt2PfPMMx/+8IeNa7SbbrrppZdeOnr0qOrdlUZ0wqKiol/84hc33HCDce0mfmc9++yzubm54fEnHOTiyhQAAJgR+Rmhv39gztKY+dGr9+QU9Hq//O/ruxCXnCqmhM3buSLQifwMAACAQbhLCZ16e3vXrVv32GOPyfo/lANyxx13TJ8+vbGxUXUzTIS4TszKyvre974XzBa75ZZb5s2b193drXrvw5BjBKHXXnvti1/8YjCPqdONN974hz/84cSJE6pbYoKqqqqee+65qVOnBq3FrrnmmpdeeqmhoUH1rru75557gtYIQUN+xpvy8vJXX31V/DpTfYiGXXfddeJrWFBQYNI7meIP2sWLFwe5Mb/5zW/u3LnTpC3mMDg4mJCQcP/99wez3cSJLj4+nlgvXHFlCgAAzIj8jFBeWT1rYbSY5ketHvA5VueK+CTHnI3N4TnAeNCQnwEAADAIdykxYe3t7a+99tq0adOC+bRF02WXXfaTn/zk0KFDqpskAHl5eV/72tdUtZg4agsWLAjX9/4E38DAQGJi4pe+9CVVB9TNt7/97YMHD6pulQDU1tb+67/+q5IMnnDFFVe89NJLHR0dqpvhor/5m79R0hSGIj/j5uTJkzNnzvzCF76g+sho+7u/+7tVq1aZaDgaUerixYtvuukmVS320EMP5ebmqm6GgNlstqSkpLvuuktVu4lNp6SkmDp9BIm4MgUAAGZEfkZIy9zrSMVk7sv3PeeenALHnHn7zXQjNwSRnwEAADAIdykxARaL5f/+7/8MfS3CxDz++ONlZWWqm2ccjY2NTz/9tOqmGva3f/u32dnZqtvD3KxW64IFC2699VbVB1PDT3/601OnTqluoXGIXyivvvpqEF76Nq7rrrtuxYoVNptNdZMMD2QUzEF4gob8jIM4vnv37v3BD36g+oD45ZZbbomKigr9sGVmZqbCBIirZ555pqWlRXV7+KukpOSrX/2q6jYb9vd///eVlZWq2wPqcWUKAADMiPyMsH7jNkcqpuq9Wt9zHi6rcMyZvicnKKWFLfIzAAAABuEuJQIyNDQUHR19ww03qH7S4tWkSZN+/vOfh9RQEq62bt360Y9+VHUjXeKFF17gufYENDY2vvLKKx/5yEdUH0Bfrrjiij/84Q8h+7quioqKu+++W3UjXeIb3/hGU1OT2mYRv5FVN4MhOM9cuHBh7dq19957r+pDEbC77rorPT1ddftpE/3qxRdfVN1ClxC/5Tdu3Ki6YcZht9vnz59/+eWXq26ti6ZMmSJKYiCaCMeVKQAAMCPyM0L02g2OVMyZtnFuyR6vOemYM2XbzuDUFq7IzwAAABiEu5TwX1VVVYj8f8rjuvHGG5OSklQ32CX6+/t/97vfqW4YbQ888EB9fb3qFjINq9X6yiuvhMKQKX666667SkpKVDebuzVr1lx11VWq20bDxz72sby8PIUtc/r0adVtYIhIzs8MDg7Gxsaa/bVcTz31VFtbm+q2vERtbe3999+vumG0/eEPfxDHXXULaTt79uwTTzyhuoW0Pf300yGb+UQQcGUKAADMiPyMsDZpi5/jzxwoLnXMuTFtV3BqC1fkZwAAAAzCXUr4w263L1++/Morr1T9XCUwzz77bE9Pj+rGG1ZfX//QQw+pbg9fpk2blpWVpbqdQp34IiQnJ3/iE59QfbgCNnXq1Ojo6BD5//rFb5yf/exnqpvEl8suu2zRokWqmqukpER1AxgiMvMzohdt377985//vOrml+Omm27KyMhQ3aijtmzZEuIjgD322GOhljgSDh48ePvtt6tuG1/E96W6ulp1O0ENrkwBAIAZkZ8RUjP2OFIx4l98z5m4Zbtjzoys3ODU5s35+pLkzWkJW/ObB8aZ09p4NDkhYUlMQlRM3MrkzPIzvcbN4z/yMwAAAAbhLiXG1dvb++///u+qH6dM0Oc///mamhq1DSi+LKYYdmDy5MkrVqxQ21ahrLm5+cknn1R9lHR5+umnxdlebTN2d3d//etfV90SfnnuueeGhoaC30TZ2dmqd90QEZifOXLkyDe/+U3VDS/f66+/brPZ1Lbt8uXLVTeDX2699daQ+oM5KyvLFFnoa6+9Vu04YFCFK1MAAGBG5GeE8spqRypGTAUHj3j7P5LEj5yzHT12PMhFXqo5frSSVSU+h8BsLsl01uyc0iu7jJgnIORnAAAADMJdSvjW3t4e4gOnjOuGG27Yv3+/qgY8fvz4zTffrLoNArBq1SpVbRXKNm3aJDqS6oMjwaOPPqowQmO1Wh955BHVbRCA5557Lvg5gZSUFNX7bYiIys+Inf3jH/84efJk1a1ulH/7t3/r7+9X1bzLli1T3QABuOWWW2prxxnAPDh2795tivCMw9VXX11QUKC6zRBsXJkCAAAzIj/zwchri+dHr3bGQpav3XCopLzudGOnpavzbFddfeOh0vKV8cnOGeYtiz3fq/IuwYHNq8aKiSv3kZ85UzzHMVtMenljZ1tjdXLM6FIlFtnzBIj8DAAAgEG4Swkfmpqa7r77btWPUCT48Ic/nJOTE/wGrKqqMt27fiZNmhQfHx/8tgpZvb29zz//vOrDItM3vvENJe81s1qtDz/8sOq9D9gLL7wQ5AhNdHS06p02ROTkZ/bv3x8evzp9e+KJJ5REaJYuXap61wN222231dfXB7+tXO3atWvq1KmqWyIw11xzzYEDB9S2G4KMK1MAAGBG5GccqmvrPMdX8TYdOFyqsNSz5Y6hYFaOm5+p2hk3PM+StNMXP2tOWDK8C1G7a+TOEyjyMwAAAAbhLiW8aWtr+8xnPqP64Yk0V199dVFRUTAbsLm52VwjzzhNnjw5KSkpmG0Vsurr6++//37VB0S+r3/9693dPkenlW1wcPDRRx9Vvd8T9OKLL3obedgIM2fOVL3HhoiQ/Mxf//rXSZMmqW7sIPnJT34S5HTZ+vXrVe/0BH36059ubGwMZlu5En//mC484/CRj3ykuLhYVbsh+LgyBQAAZkR+xqm4tOLNxSvGDc9k7stXWWV3ddRIGQm5hauX+M7PdCZHDc8ZX9Tq+mlzUerwjkRlnpU5T8DIzwAAABiEu5TQJLrEAw88oPqxiWQ33XRTXV1dcBpwYGDAXO+pcTN16tQjR44Ep61C1t69e2+88UbVh8IoTzzxRDAzIa+88orqPdZl+fLlQWur3/3ud6p31xARkp9ZvXq16pYOqj/+8Y9Ba9ujR49eddVVqvd44h566CElI/a0t7d/8pOfVL33E3fLLbeIXQh+u0EJrkwBAIAZkZ9x1dbRmbB5++xFyzWTM7HrN75XG6R7s170ZsePFJNQPDBQF+V7/Jnu6iUjw9Tknhlw/XigsWiO49VL3fLmCRz5GQAAAINwlxKe7Hb7M888o/qBiSHuvffe3t7eILTh73//e9X7qtcdd9zR1dUVhLYKQeIrsGDBgsmTJ6s+CMaaP39+cNozNTVV9b7qdcUVVwQtUfbss8+q3l1DREh+Rpw9/vEf/1F1YwfV1q1bg9Cw4vfRnXfeqXpf9frtb38bhLZyNTQ09A//8A+q91uv73znO2JHgtx0UIIrUwAAYEbkZzy9f773aGV1/oHijKzc9D05WXmFJeWVbR2dquv64HTByJAvC5Oqzn/wwXlHrMV7fua8Y6SahPLzbp/XXAzeyJoncORnAAAADMJdSnhasWKF6kclBgrC06uUlBTVeynHj370o2AOURIixPnwpz/9qeq2D4bLL798//79RrfniRMnPvKRj6jeVwk+/elPBydR9vjjj6veV0NESH5GaGpquu6661S3d/BMmzattbV1/HbRwWaz/fCHP1S9o3Js3LjR0LZy8+c//1n1Hsvx+uuvB7PdoApXpgAAwIzIz5hGe8n8kWFwtlWO3N4ZjbWMm59ZVWLR/Nw1G6N7nsCRnwEAADAIdynh5tSpU1dffbXq5yQGmjRpUmFhoXEN2NraGh5pAYegDVESImpra++55x7VrR48t95669mzE3vNsl9sNtvDDz+sei+lCU6i7KGHHlK9o4aInPyMEB8fr7q9g+o//uM/DG3P2NhY1bsozbXXXnvixAlDm8tp//79qndXGvHH2549e4LTblCIK1MAAGBG5GdMonNL1HB4Zv7Wo6Mf+JufiS5o1/w8wSUbo3seDyf9MIFWAAAAwLi4Swk3Tz75pOqHJIa7//77bTabQQ34s5/9TPX+yTR16tTIuRzbtWvXRz/6UdVNHmyixxrXpGvWrFG9f5IFYeyIu+66S/VeGiKi8jN2u/2JJ55Q3eRBdejQIYMa8+zZs9OmTVO9fzJ961vfCkISb2ho6Etf+pLqfZXp9ttvF9cgRrcb1OLKFAAAmBH5GVMo35kw/OammEyX/4uszhFfqRrwsoy3fMtY8KakW948HsjPAAAAqMJdSrjKy8tT/XgkSJKTk41owMLCQtV7Jt8TTzxhRFuFmoKCgkmTJqlubDUOHjxoRJNaLJYbb7xR9c5Jdsstt/T09BjRXE7XX3+96r00RETlZ4SWlpZwPZSavv/97xvUkr/+9a9V75x8KSkpBjWXU3R0tOq9lO8vf/mL0e0GtbgyBQAAZkR+JvQNNBbOGhkBZtbqzOx9+em796Xvzk/fnuT4cPX2fek786vaPWI03dVLHPkWt/cudR9b4sy9yJoncORnAAAADMJdSrj61re+pfrZSJDce++90v/v76Ghofvuu0/1nhkiPT1dbluFINEffvrTn6puaTUee+wxI5o0LJ96C//3f/9nRHM5iNNIuOa4Ii0/IyQmJqpu9aA6duyY9DYsKSmZPHmy6j2T75Of/KShSbyOjo6wjG9NnTq1trbWuHaDclyZAgAAMyI/E/qslZmj+RnvU0J5l/tiAw3xIz/aUtmltbakqvPy5gkc+RkAAACDcJcSTkePHg3Cs49rrrnmu9/97quvvrpmzZpdu3YVFhYeOnTo3Xff3bFjx4oVK373u9898sgjU6ZMCUIl+fn5chswJiYmCGUrceedd0bCs+/e3t6HHnpIdWOrIb6DchuzoqIiLJ96C5dffnlVVZXc5nLq7OxUvX9GiYRziBu73f7jH/9YdcMHz29+8xvpbfiNb3xD9W4Z5U9/+pP05nIK1/ii8IMf/MC4doNyXJkCAAAzIj9jApa67N35mftcptzCzJ2bHMmZ+J3ik8ITFo3XOBVvXiVmmJNc7PphQfLK4QUTigekzhMo8jMAAAAG4S4lnF566SXjnndMmjTpiSeeSE9P7+/vH7cSq9W6fv36Rx55xLh6hOeee05i6w0NDd15552GFqzWvHnzJDZXyGptbb3ttttUN7YCP/zhD+W25LPPPqt6nwz0+OOPy20uJ/G7VfXOGSUC8zMfjJxSpk2bprrtg+RjH/uY+FUosfXC8pWITlOmTDl16pTE5nISvW7q1Kmq989Ae/bsMaLdEAq4MgUAAGZEfsasBuqihvMzCVXO/Mr5mqhLB4o5X71vNGNTUOf45ERBquOT5HLJ8wSK/AwAAIBBuEsJB5vN9rGPfcygJx3f+MY3ysrKJlDVvn37vvjFLxpU1fXXXz84OCirATdv3mxQnU533333n//85507d9bX11+4cEFsdGBgoKmpKTs7+4033rj33nsN3fonPvGJCHn8XV5efs011xjamJ4uu+yyadOm3TJC/Iv4zyAXMHny5MbGRllt2NDQcPnllxtasDhf/fKXv9y4cWN1dbX4FWa328VJrKOj48CBA4sXL/72t79t9FuQJnZOG9f+/fsNLVuhCDmBeEpJSZHYjOLk8IUvfOEnP/nJa6+9FhMTs2PHjoKCgtLS0oqKCnHuOnjwoPiNsGHDhrlz5z7//PNf/vKXjf4muiksLJTYdD/60Y8MrVY05ve///2lS5eK84Y4e4hziDiTiPPJ8ePHxVF74YUXjM4+vfTSSxKby0n0DUPLFh5++OG33norNze3paXF8aeU+IKfPHly+/btL7/88u23327o1g165yBCAVemAADAjMjPmFV39ZLhBEtcSffoB+fr8x2Zlsza3rGZBg6MDB0zPHpMTEJUzMrR9z3FF1ovrkjWPIEhPwMAAGAQ7lLCoaioyIhnHJMnT543b57NZptwYQMDA3/605+MqO1D8t5ZY7fbv/KVrxhUpPDVr3517969Yiu+aygsLHzssceMK2PlypVSmiv0paenG/ruIbHyBx988De/+U1cXNzBgwfb2trcviODg4P19fUZGRl//vOf77vvPuMqcfXWW2/JasCXX37ZuDpvu+020W7jjmRVV1f33HPPGZei+bd/+zdZzeVqx44dBhWsXMTmZ4Snn35aT9NNmTLl0UcfnT17dl5envgbLKBNiz/wtm/f/uyzz1511VWyDqUP06dPl9Vo1dXVxn1/L7vsshdffLGhocF3DaLTrlix4hOf+IRBZYiD0t7eLqvFHHp6eq6//nqDChaeeuqpiooK3zWI32ipqamf+9znjCvj0KFDctsNIYIrUwAAYEbkZ8zqfN3KkfFnyseus5uLHGPCpDVfMl9v8dibnhxT1NZij9CLrHkCQH4GAADAINylhMObb74p/enG5ZdfnpqaKqW8devWGZFnmD17tpTy8vLypNfmMGXKlKVLl/ofQLLb7bGxsVdeeaURxdx5551y380RyhYvXiy9AcVx+clPfpKSktLVFdjQrBUVFc8//7zRg9Lcf//9UppO7J1xA/j893//t/iF5X8x77777q233mpEJeJw1NXVSWkxV3FxcUZUGwoiOT/T3t5+0003Bdpi4nfok08+mZiYaLXquaM2qrOz87XXXjPot4PT9773Pf2lOogvu0FF/u3f/u2RI0f8r+TcuXM//elPDSrmL3/5i6wWc1iyZIlBpU6bNi09Pd3/Svr7+43LPz/11FNy2w0hgitTAABgRuRnwoZjiJglO2s8fzTQ3dV8prP5TGtb94DnT+XO4yfyMwAAAAbhLiUcfvjDH0p/urF27VqJFUZHR0uv8Mknn5RS249//GPptQnXXnttbm7uBOopKiq64YYbjCgpJSVFSouFPrvd/stf/lJWu919993Lli07d+6cnpKOHTtm6DBHQktLi/6mW7BggUHlLV68eAL1tLa2GvR2sxdffFF/cxnaen/9618bQ4bvEbTCXkDv+PvUpz41b968jo4O6WXU1tY+9NBDEvuYm49//ONS6jx79uzUqVONqPCRRx6xWCyB1iN67xtvvGFEPddff313d/f4Ffhd5x133GFEnZ/+9KdF55lASRs2bDDiJWKTJk2qrq6W1W4IHVyZAgAAMyI/Ey5aE4aHhVl1IOBLRjXIzwAAABiEu5RwkP7ARfrLTex2+7/8y7/ILVLstf7Curq6rrjiCrmFCWKdeXl5E66quLj46quvll7Vgw8+qL/FzGJgYODb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9ttvv/766ydPnvz000/kZwAAAAAAAK7aGfIznp9++sl1Xdu2g9U9ffr01atXr1+/vu6tBwAAAAAA6IrXr1+/evUqGLbJY9u267o//fRT2/cw5GcAAAAAAADaOk9+5r//+79//PHHf/7zn999993XAAAAAAAAqPXdd9/985///PHHH//7v/+77XuYYAnneacEAAAAAABwHud513HV+ZnXr18HXdD84x//eP78+d/+9reHDx9uNpvr3bcAAAAAAADdsdlsHj58+Le//e358+f/+Mc/gs5nXr9+3fY9TLC087xTAgAAAAAAOI/zvOu46vyM55///KfjOH//+9+fPXv25MmTx48ff/fdd38DAAAAAADA3nfffff48eMnT548e/bs73//u+M4//znP494CXOed0oAAAAAAAC3ydnyM94q4gjN8+fPnz179vTp0//cewIAAAAAAPAGC96QPH369NmzZ8+fP4/DM8e9sSE/AwAAAAAA0NbZ8jMvowjNP/7xjx9++OHFixd///vfvwcAAAAAAMDe3//+9xcvXvzwww//+Mc/jg7PvCQ/AwAAAAAA0N458zOBOEUTcAAAAAAAAN548auSyyRnAuRnAAAAAAAA2jp/fibwLwAAAAAAABRc/q0L+RkAAAAAAIC2ris/AwAAAAAAgKtAfgYAAAAAAKAt8jMAAAAAAAC3CfkZAAAAAACAtsjPAAAAAAAA3CbkZwAAAAAAANoiPwMAAAAAAHCbkJ8BAAAAAABoi/wMAAAAAADAbUJ+BgAAAAAAoC3yMwAAAAAAALcJ+RkAAAAAAIC2yM8AAAAAAADcJuRnAAAAAAAA2iI/AwAAAAAAcJuQnwEAAAAAAGiL/AwAAAAAAMBtQn4GAAAAAACgLfIzAAAAAAAAtwn5GQAAAAAAgLbIzwAAAAAAANwm5GcAAAAAAADaOk9+Jr3GV69ePXv27NGjRw8fPvwaAAAAAAAAew8fPnz06NGzZ89evXqVfpfS9j1MsLTzvmECAAAAAAC42YI3KufJz7x+/frZs2fX9xYKAAAAAADgZnj27Nnr16+DNypt38MES7i+t00AAAAAAAA3T/BG5Qz5mdevXz9+/DhY3dOnT1+9ehW/BQIAAAAAAMDr169fvXr19OnT4P3J48ePg5cnbd/DkJ8BAAAAAABo62z5maDnmW+//fZldjgnAAAAAAAApL18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AAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANsnPAAAAADyG/AwAAABANr3iuc124e+//377Vx8/fvzaxQcAAAB4Hz5+/Pjdd999//338jMAAAAAWfO6/Mxf//rX7V/98ccfX7v4AAAAAO/DH3/88d133/31r3+VnwEAAADImtflZ/7nf/5n+1c//fTT1y4+AAAAwPvw008/HR6nyM8AAAAAZM3r8jP//ve/D3+4/efX/gQAAAAAWRfFWv7973/LzwAAAABkzevyM3/++eePP/64/cO//OUv/xKhAQAAALjtX//611/+8pfvvvvuxx9//PPPP+VnAAAAALLmFfmZrT///HOz2SwWi8Of//TTT3/88cfHjx+/9qcBAAAAyIqPHz/+8ccfh2mbthaLxWaz+fPPP79QbCYiPwMAAACQ1uvyM//973//85///P777z/88MN3AAAAANz1ww8//P777//5z3/++9//fqHYTOSwxa/9zAkAAADgPTk8UUmbn/n48eNhCJrffvvtl19++dvf/vb999/P5/Ov9xQKAAAAIFvm8/n333//t7/97Zdffvntt98Og898/PjxC8VmIoetf+1nTgAAAADvyeGJyivm3f7999/X6/Wvv/76888///jjj3//+99/+OGHvwEAAACw98MPP/z973//8ccff/75519//XW9Xv/+++9fIjBzQX4GAAAAIK1X52e2fxJFaH755Zeff/75p59++p+9HwEAAAC+YYcnJD/99NPPP//8yy+/ROGZVzyBeQX5GQAAAIC0Xp2f+VcYofntt9/++c9//uMf//j111//DwAAAAB7v/766z/+8Y9//vOfv/3228PCM/+SnwEAAABI7y35mYMoRXOwBgAAAPjmRY9KHpmcOZCfAQAAAEjr7fmZg/8LAAAAwJXPEolJRX4GAAAAIK3PlZ8BAAAAIAvkZwAAAADSkp8BAAAAyBP5GQAAAIC05GcAAAAA8kR+BgAAACAt+RkAAACAPJGfAQAAAEhLfgYAAAAgT+RnAAAAANKSnwEAAADIE/kZAAAAgLTkZwAAAADyRH4GAAAAIC35GQAAAIA8kZ8BAAAASEt+BgAAACBP5GcAAAAA0pKfAQAAAMgT+RkAAACAtORnAAAAAPJEfgYAAAAgLfkZAAAAgDyRnwEAAABIS34GAAAAIE/kZwAAAADSkp8BAAAAyBP5GQAAAIC05GcAAAAA8kR+BgAAACAt+RkAAACAPJGfAQAAAEhLfgYAAAAgT+RnAAAAANKSnwEAAADIE/kZAAAAgLTkZwAAAADyRH4GAAAAIC35GQAAAIA8kZ8BAAAASEt+BgAAACBP5GcAAAAA0pKfAQAAAMgT+RkAAACAtORnAAAAAPJEfgYAAAAgLfkZAAAAgDyRnwEAAABIS34GAAAAIE/kZwAAAADSkp8BAAAAyBP5GQAAAIC05GcAAAAA8kR+BgAAACAt+RkAAACAPJGfAQAAAEhLfgYAAAAgT+RnAAAAANKSnwEAAADIE/kZAAAAgLTkZwAAAADyRH4GAAAAIC35GQAAAIA8kZ8BAAAASEt+BgAAACBP5GcAAAAA0pKfAQAAAMgT+RkAAACAtORnAAAAAPJEfgYAAAAgLfkZAAAAgDyRnwEAAABIS34GAAAAIE/kZwAAAADSkp8BAAAAyBP5GQAAAIC05GcAAAAA8kR+BgAAACAt+RkAAACAPJGfAQAAAEhLfgYAAAAgT+RnAAAAANKSnwEAAADIE/kZAAAAgLTkZwAAAADyRH4GAAAAIC35GQAAAIA8kZ8BAAAASEt+BgAAACBP5GcAAAAA0pKfAQAAAMgT+RkAAACAtORnAAAAAPJEfgYAAAAgLfkZAAAAgDyRnwEAAABIS34GAAAAIE/kZwAAAADSkp8BAAAAyBP5GQAAAIC05GcAAAAA8kR+BgAAACAt+RkAAACAPJGfAQAAAEhLfgYAAAAgT+RnAAAAANKSnwEAAADIE/kZAAAAgLTkZwAAAADyRH4GAAAAIC35GQAAAIA8kZ8BAAAASEt+BgAAACBP5GcAAAAA0pKfAQAAAMgT+RkAAACAtORnAAAAAPJEfgYAAAAgLfkZAAAAgDyRnwEAAABIS34GAAAAIE/kZwAAAADSkp8BAAAAyBP5GQAAAIC05GcAAAAA8kR+BgAAACAt+RkAAACAPJGfAQAAAEhLfgYAAAAgT+RnAAAAANKSnwEAAADIE/kZAAAAgLTkZwAAAADyRH4GAAAAIC35GQAAAIA8kZ8BAAAASEt+BgAAACBP5GcAAAAA0pKfAQAAAMgT+RkAAACAtORnAAAAAPJEfgYAAAAgLfkZAAAAgDyRnwEAAABIS34GAAAAIE/kZwAAAADSkp8BAAAAyBP5GQAAAIC05GcAAAAA8kR+BgAAACAt+RkAAACAPJGfAQAAAEhLfgYAAAAgT+RnAAAAANKSnwEAAADIE/kZAAAAgLTkZwAAAADyRH4GAAAAIC35GQAAAIA8kZ8BAAAASEt+BgAAACBP5GcAAAAA0pKfAQAAAMgT+RkAAACAtORnAAAAAPJEfgYAAAAgLfkZAAAAgDyRnwEAAABIS34GAAAAIE/kZwAAAADSkp8BAAAAyBP5GQAAAIC05GcAAAAA8kR+BgAAACAt+RkAAACAPJGfAQAAAEhLfgYAAAAgT+RnAAAAANKSnwEAAADIE/kZAAAAgLTkZwAAAADyRH4GAAAAIC35GQAAAIA8kZ8BAAAASEt+BgAAACBP5GcAAAAA0pKfAQAAAMgT+RkAAACAtORnAAAAAPJEfgYAAAAgLfkZAAAAgDyRnwEAAABIS34GAAAAIE/kZwAAAADSkp8BAAAAyBP5GQAAAIC05GcAAAAA8kR+BgAAACAt+RkAAACAPJGfAQAAAEhLfgYAAAAgT+RnAAAAANKSnwEAAADIE/kZAAAAgLTkZwAAAADyRH4GAAAAIC35GQAAAIA8kZ8BAAAASEt+BgAAACBP5GcAAAAA0pKfAQAAAMgT+RkAAACAtORnAAAAAPJEfgYAAAAgLfkZAAAAgDyRnwEAAABIS34GAAAAIE/kZwAAAADSkp8BAAAAyBP5GQAAAIC05GcAAAAA8kR+BgAAACAt+RkAAACAPJGfAQAAAEhLfgYAAAAgT+RnAAAAANKSnwEAAADIE/kZAAAAgLTkZwAAAADyRH4GAAAAIC35GQAAAIA8kZ8BAAAASEt+BgAAACBP5GcAAAAA0pKfAQAAAMgT+RkAAACAtORn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", + "content_type": "application/pdf" + }, + "payload": { + "browserTimezone": "America/New_York", + "date": "2018-03-15T20:55:54.762Z", + "description": "", + "headers": "4ggI7LMGqwACS8Ah8adsJ8IhSCoh7RDgmu49Ol52zGWsqPfrAH/37cb9aX7ZCx7jFWTFIUtQ17JgwljvR1Rd8+d/5x3HpMtRfoOrAwz2evNOp9+yI674JjRMz52vIa030aMozLGfXAe3peG9WGLuRS/N3kp4KypTAATn8duMeOCgkRyGH81zGUpPlRXjCXTARjysWL+VKKXpAg/iz53AvDf40CqmvOXLp/iFbMJUYZQFOeAkhtgMv2Vci5/mfO0AhcwSlKJ3EfCz5PkDRwz+xCiInLCKkAiWGDuVST+PqfdwUu1EemPoKzp3xgUgWYJoTj5g9APLzElJTRvzXSe7mevKUM/tNfJWPz6VKU8uCQJ3Oc6SqKIcvxiiP/bbJnWHSwdvxGHcZJpgiuDoHrfK8UMpv7fTtzDD2m4Bz+tfKQAva7baAIHqKs7pJPfX+83ZROcRDm3S/YzMxH0UFlCqnPUPNp45fJq6uicXBlsjAerkigrNsRCLXdAC0Rc12rZoLElfYi89zWflToU9LBiUThKcMd7OXMbSzsAHiLKva7WqyvETPNwLoqKpppbNS3kQ8+xyy3h6QPWV+xDvc/VUa209HL23ZYWYb+ngEUgLmdjB4G+sxEn+syvFg7BIaKHAILD+c2iGVxMKPfRhVg2PnYyNzbnbz3UJQg2ouDP6FGJudB/bz10CQ09iDd+8ycdOXZIvwqOVmCHU3XLlPvHEzhiVSO/XKxbZbE7R4muUkNGPGmUM9BE2Cgl+xmKo/SYYNKE73xAWZ4kPMGLS9FK++YQUNY6iw1f5UWQ8GJw271LaRojYUkyP3G77mGEsqLyJZE/hu23FPse+4enU2Dvm33fntqb5uEqWrcFOjBV1HssIknDTHakoEUGjadLTIMHeMgpnxTwnw1at8ch/7uY0ETIk0zgsV99Tm/iRxiL6MPG5X0SkPafatNmlB2RI3zSlhYfRhD8iWhCcygcbezMKbu/DB+qHoMqxqs6Gawwj24xFrl1g449YYKb1nbPsUYD+AC657bN7gzCWppGzmjJPo8UuyaaxDAv+eijskMX/GBhQE5oNK9SXpd1RhptatuxAfkTgAZlIRQmPbDPLPI5zMvFKyADHY9VTj+skq0p+PGQupYHH9L4d/5hqv4888NZ8CwPyXZ5urChihLWk4HQmc2AB9mqwvpfFAko/3bsRJzJBL491BjdX4v1AsoRky3VmTHPW8oY/XKbPY/gqN3kvoy/2sUB+SkeYhyE3ovBTU5/ENv47iw8MpUe2exGhqrdABjO6Nvkw8DST4XyOQAd9WYpYyTNMpf8mhxL82Q==", + "id": "26a65a60-2893-11e8-88fd-5754aa989b85", + "layout": { + "dimensions": { + "height": 3140, + "width": 1504 + }, + "id": "preserve_layout" + }, + "objects": [ + { + "description": "", + "id": "26a65a60-2893-11e8-88fd-5754aa989b85", + "searchSource": { + "filter": [ + ], + "highlightAll": true, + "query": { + "language": "lucene", + "query": "" + }, + "version": true + }, + "title": "Reporting Dashboard", + "type": "dashboard", + "uiState": { + }, + "urlHash": "/dashboard/26a65a60-2893-11e8-88fd-5754aa989b85?_g=(time:(from:'2015-09-19T00:02:06.633Z',interval:auto,mode:absolute,timezone:America%2FNew_York,to:'2015-09-24T06:40:33.165Z'))&_a=(description:'',filters:!(),fullScreenMode:!f,options:(darkTheme:!f,hidePanelTitles:!f,useMargins:!t),panels:!((gridData:(h:2,i:'1',w:3,x:0,y:0),id:Visualization-MetricChart,panelIndex:'1',type:visualization,version:'6.2.3'),(embeddableConfig:(vis:(colors:('0':%233F6833,'120,000':%2399440A,'160,000':%2358140C,'200,000':%23052B51,'240,000':%23511749,'280,000':%233F2B5B,'320,000':%23CCA300,'40,000':%23967302,'80,000':%232F575E),legendOpen:!f)),gridData:(h:2,i:'2',w:3,x:3,y:0),id:Visualization-PieChart,panelIndex:'2',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'3',w:6,x:0,y:2),id:Visualization-TileMap,panelIndex:'3',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'4',w:6,x:6,y:0),id:Visualization%E2%98%BA-VerticalBarChart,panelIndex:'4',type:visualization,version:'6.2.3'),(embeddableConfig:(vis:(params:(sort:(columnIndex:!n,direction:!n)))),gridData:(h:3,i:'5',w:6,x:0,y:5),id:Visualization%E2%98%BA%E6%BC%A2%E5%AD%97-DataTable,panelIndex:'5',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'6',w:6,x:6,y:5),id:Visualization%E6%BC%A2%E5%AD%97-AreaChart,panelIndex:'6',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'7',w:4,x:0,y:8),id:Visualization%E6%BC%A2%E5%AD%97-LineChart,panelIndex:'7',type:visualization,version:'6.2.3'),(gridData:(h:2,i:'8',w:6,x:6,y:3),id:b692cb50-2892-11e8-88fd-5754aa989b85,panelIndex:'8',type:visualization,version:'6.2.3'),(gridData:(h:7,i:'9',w:6,x:0,y:11),id:dae7e680-2891-11e8-88fd-5754aa989b85,panelIndex:'9',type:visualization,version:'6.2.3'),(gridData:(h:2,i:'10',w:3,x:9,y:8),id:c1e5a8b0-2892-11e8-88fd-5754aa989b85,panelIndex:'10',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'11',w:6,x:0,y:18),id:'4746aaf0-2892-11e8-88fd-5754aa989b85',panelIndex:'11',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'12',w:6,x:6,y:11),id:'952200d0-2892-11e8-88fd-5754aa989b85',panelIndex:'12',type:visualization,version:'6.2.3'),(embeddableConfig:(vis:(defaultColors:('0%20-%2050':'rgb(0,104,55)','50%20-%2075':'rgb(255,255,190)','75%20-%20100':'rgb(165,0,38)'),legendOpen:!f)),gridData:(h:3,i:'13',w:6,x:0,y:21),id:'5970a190-2892-11e8-88fd-5754aa989b85',panelIndex:'13',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'14',w:5,x:4,y:8),id:'81b9bdd0-2892-11e8-88fd-5754aa989b85',panelIndex:'14',type:visualization,version:'6.2.3'),(gridData:(h:5,i:'15',w:6,x:0,y:24),id:cb4f53b0-2892-11e8-88fd-5754aa989b85,panelIndex:'15',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'16',w:6,x:6,y:14),id:aae327f0-2892-11e8-88fd-5754aa989b85,panelIndex:'16',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'17',w:6,x:6,y:20),id:'6d584dc0-2892-11e8-88fd-5754aa989b85',panelIndex:'17',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'18',w:6,x:6,y:17),id:'8de68070-2892-11e8-88fd-5754aa989b85',panelIndex:'18',type:visualization,version:'6.2.3'),(gridData:(h:5,i:'19',w:6,x:6,y:23),id:e495f810-2892-11e8-88fd-5754aa989b85,panelIndex:'19',type:search,version:'6.2.3')),query:(language:lucene,query:''),timeRestore:!t,title:'Reporting%20Dashboard',viewMode:view)" + } + ], + "query": { + "_a": "(description:'',filters:!(),fullScreenMode:!f,options:(darkTheme:!f,hidePanelTitles:!f,useMargins:!t),panels:!((gridData:(h:2,i:'1',w:3,x:0,y:0),id:Visualization-MetricChart,panelIndex:'1',type:visualization,version:'6.2.3'),(embeddableConfig:(vis:(colors:('0':#3F6833,'120,000':#99440A,'160,000':#58140C,'200,000':#052B51,'240,000':#511749,'280,000':#3F2B5B,'320,000':#CCA300,'40,000':#967302,'80,000':#2F575E),legendOpen:!f)),gridData:(h:2,i:'2',w:3,x:3,y:0),id:Visualization-PieChart,panelIndex:'2',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'3',w:6,x:0,y:2),id:Visualization-TileMap,panelIndex:'3',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'4',w:6,x:6,y:0),id:Visualization☺-VerticalBarChart,panelIndex:'4',type:visualization,version:'6.2.3'),(embeddableConfig:(vis:(params:(sort:(columnIndex:!n,direction:!n)))),gridData:(h:3,i:'5',w:6,x:0,y:5),id:Visualization☺漢字-DataTable,panelIndex:'5',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'6',w:6,x:6,y:5),id:Visualization漢字-AreaChart,panelIndex:'6',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'7',w:4,x:0,y:8),id:Visualization漢字-LineChart,panelIndex:'7',type:visualization,version:'6.2.3'),(gridData:(h:2,i:'8',w:6,x:6,y:3),id:b692cb50-2892-11e8-88fd-5754aa989b85,panelIndex:'8',type:visualization,version:'6.2.3'),(gridData:(h:7,i:'9',w:6,x:0,y:11),id:dae7e680-2891-11e8-88fd-5754aa989b85,panelIndex:'9',type:visualization,version:'6.2.3'),(gridData:(h:2,i:'10',w:3,x:9,y:8),id:c1e5a8b0-2892-11e8-88fd-5754aa989b85,panelIndex:'10',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'11',w:6,x:0,y:18),id:'4746aaf0-2892-11e8-88fd-5754aa989b85',panelIndex:'11',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'12',w:6,x:6,y:11),id:'952200d0-2892-11e8-88fd-5754aa989b85',panelIndex:'12',type:visualization,version:'6.2.3'),(embeddableConfig:(vis:(defaultColors:('0 - 50':'rgb(0,104,55)','50 - 75':'rgb(255,255,190)','75 - 100':'rgb(165,0,38)'),legendOpen:!f)),gridData:(h:3,i:'13',w:6,x:0,y:21),id:'5970a190-2892-11e8-88fd-5754aa989b85',panelIndex:'13',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'14',w:5,x:4,y:8),id:'81b9bdd0-2892-11e8-88fd-5754aa989b85',panelIndex:'14',type:visualization,version:'6.2.3'),(gridData:(h:5,i:'15',w:6,x:0,y:24),id:cb4f53b0-2892-11e8-88fd-5754aa989b85,panelIndex:'15',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'16',w:6,x:6,y:14),id:aae327f0-2892-11e8-88fd-5754aa989b85,panelIndex:'16',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'17',w:6,x:6,y:20),id:'6d584dc0-2892-11e8-88fd-5754aa989b85',panelIndex:'17',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'18',w:6,x:6,y:17),id:'8de68070-2892-11e8-88fd-5754aa989b85',panelIndex:'18',type:visualization,version:'6.2.3'),(gridData:(h:5,i:'19',w:6,x:6,y:23),id:e495f810-2892-11e8-88fd-5754aa989b85,panelIndex:'19',type:search,version:'6.2.3')),query:(language:lucene,query:''),timeRestore:!t,title:'Reporting Dashboard',viewMode:view)", + "_g": "(time:(from:'2015-09-19T00:02:06.633Z',interval:auto,mode:absolute,timezone:America/New_York,to:'2015-09-24T06:40:33.165Z'))" + }, + "title": "Reporting Dashboard", + "type": "dashboard" + }, + "priority": 10, + "process_expiration": "2018-03-15T20:56:27.593Z", + "started_at": "2018-03-15T20:55:57.593Z", + "status": "completed", + "timeout": 30000 + }, + "type": "_doc" + } +} + +{ + "type": "doc", + "value": { + "id": "jeszv08r0k3vbd9ffb1vi3vf", + "index": ".reporting-2018.03.11", + "source": { + "attempts": 1, + "completed_at": "2018-03-15T20:56:34.595Z", + "created_at": "2018-03-15T20:55:56.667Z", + "created_by": "elastic", + "jobtype": "printable_pdf", + "max_attempts": 3, + "output": { + "content": "JVBERi0xLjMKJf////8KMjMgMCBvYmoKPDwKL1ByZWRpY3RvciAxNQovQ29sb3JzIDEKL0JpdHNQZXJDb21wb25lbnQgOAovQ29sdW1ucyA1NzcKPj4KZW5kb2JqCjMwIDAgb2JqCjw8Ci9UeXBlIC9FeHRHU3RhdGUKL0NBIDEKPj4KZW5kb2JqCjI3IDAgb2JqCjw8Ci9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIKL01lZGlhQm94IFswIDAgNTk1LjI4IDg0MS44OV0KL0NvbnRlbnRzIDI1IDAgUgovUmVzb3VyY2VzIDI2IDAgUgo+PgplbmRvYmoKMjYgMCBvYmoKPDwKL1Byb2NTZXQgWy9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUldCi9Gb250IDw8Ci9GMiAyOCAwIFIKL0YzIDI5IDAgUgovRjUgMzEgMCBSCj4+Ci9FeHRHU3RhdGUgPDwKL0dzMSAzMCAwIFIKPj4KL1hPYmplY3QgPDwKL0kxIDMgMCBSCi9JMiA0IDAgUgovSTIwIDIyIDAgUgo+Pgo+PgplbmRvYmoKMzQgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAxIDAgUgovTWVkaWFCb3ggWzAgMCA1OTUuMjggODQxLjg5XQovQ29udGVudHMgMzIgMCBSCi9SZXNvdXJjZXMgMzMgMCBSCj4+CmVuZG9iagozMyAwIG9iago8PAovUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0KL0ZvbnQgPDwKL0YyIDI4IDAgUgovRjMgMjkgMCBSCi9GNSAzMSAwIFIKPj4KL0V4dEdTdGF0ZSA8PAovR3MxIDMwIDAgUgo+PgovWE9iamVjdCA8PAovSTMgNSAwIFIKL0k0IDYgMCBSCi9JMjAgMjIgMCBSCj4+Cj4+CmVuZG9iagozNyAwIG9iago8PAovVHlwZSAvUGFnZQovUGFyZW50IDEgMCBSCi9NZWRpYUJveCBbMCAwIDU5NS4yOCA4NDEuODldCi9Db250ZW50cyAzNSAwIFIKL1Jlc291cmNlcyAzNiAwIFIKPj4KZW5kb2JqCjM2IDAgb2JqCjw8Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQovRm9udCA8PAovRjIgMjggMCBSCi9GNCAzOCAwIFIKL0YzIDI5IDAgUgovRjUgMzEgMCBSCj4+Ci9FeHRHU3RhdGUgPDwKL0dzMSAzMCAwIFIKPj4KL1hPYmplY3QgPDwKL0k1IDcgMCBSCi9JNiA4IDAgUgovSTIwIDIyIDAgUgo+Pgo+PgplbmRvYmoKNDEgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAxIDAgUgovTWVkaWFCb3ggWzAgMCA1OTUuMjggODQxLjg5XQovQ29udGVudHMgMzkgMCBSCi9SZXNvdXJjZXMgNDAgMCBSCj4+CmVuZG9iago0MCAwIG9iago8PAovUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0KL0ZvbnQgPDwKL0Y0IDM4IDAgUgovRjMgMjkgMCBSCi9GNSAzMSAwIFIKPj4KL0V4dEdTdGF0ZSA8PAovR3MxIDMwIDAgUgo+PgovWE9iamVjdCA8PAovSTcgOSAwIFIKL0kyMCAyMiAwIFIKPj4KPj4KZW5kb2JqCjQ0IDAgb2JqCjw8Ci9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIKL01lZGlhQm94IFswIDAgNTk1LjI4IDg0MS44OV0KL0NvbnRlbnRzIDQyIDAgUgovUmVzb3VyY2VzIDQzIDAgUgo+PgplbmRvYmoKNDMgMCBvYmoKPDwKL1Byb2NTZXQgWy9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUldCi9YT2JqZWN0IDw8Ci9JOCAxMCAwIFIKL0kyMCAyMiAwIFIKPj4KL0V4dEdTdGF0ZSA8PAovR3MxIDMwIDAgUgo+PgovRm9udCA8PAovRjUgMzEgMCBSCj4+Cj4+CmVuZG9iago0NyAwIG9iago8PAovVHlwZSAvUGFnZQovUGFyZW50IDEgMCBSCi9NZWRpYUJveCBbMCAwIDU5NS4yOCA4NDEuODldCi9Db250ZW50cyA0NSAwIFIKL1Jlc291cmNlcyA0NiAwIFIKPj4KZW5kb2JqCjQ2IDAgb2JqCjw8Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQovRm9udCA8PAovRjIgMjggMCBSCi9GNSAzMSAwIFIKPj4KL0V4dEdTdGF0ZSA8PAovR3MxIDMwIDAgUgo+PgovWE9iamVjdCA8PAovSTkgMTEgMCBSCi9JMTAgMTIgMCBSCi9JMjAgMjIgMCBSCj4+Cj4+CmVuZG9iago1MCAwIG9iago8PAovVHlwZSAvUGFnZQovUGFyZW50IDEgMCBSCi9NZWRpYUJveCBbMCAwIDU5NS4yOCA4NDEuODldCi9Db250ZW50cyA0OCAwIFIKL1Jlc291cmNlcyA0OSAwIFIKPj4KZW5kb2JqCjQ5IDAgb2JqCjw8Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQovRm9udCA8PAovRjIgMjggMCBSCi9GNSAzMSAwIFIKPj4KL0V4dEdTdGF0ZSA8PAovR3MxIDMwIDAgUgo+PgovWE9iamVjdCA8PAovSTExIDEzIDAgUgovSTEyIDE0IDAgUgovSTIwIDIyIDAgUgo+Pgo+PgplbmRvYmoKNTMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAxIDAgUgovTWVkaWFCb3ggWzAgMCA1OTUuMjggODQxLjg5XQovQ29udGVudHMgNTEgMCBSCi9SZXNvdXJjZXMgNTIgMCBSCj4+CmVuZG9iago1MiAwIG9iago8PAovUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0KL0ZvbnQgPDwKL0YyIDI4IDAgUgovRjUgMzEgMCBSCj4+Ci9FeHRHU3RhdGUgPDwKL0dzMSAzMCAwIFIKPj4KL1hPYmplY3QgPDwKL0kxMyAxNSAwIFIKL0kxNCAxNiAwIFIKL0kyMCAyMiAwIFIKPj4KPj4KZW5kb2JqCjU2IDAgb2JqCjw8Ci9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIKL01lZGlhQm94IFswIDAgNTk1LjI4IDg0MS44OV0KL0NvbnRlbnRzIDU0IDAgUgovUmVzb3VyY2VzIDU1IDAgUgo+PgplbmRvYmoKNTUgMCBvYmoKPDwKL1Byb2NTZXQgWy9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUldCi9Gb250IDw8Ci9GMiAyOCAwIFIKL0Y1IDMxIDAgUgo+PgovRXh0R1N0YXRlIDw8Ci9HczEgMzAgMCBSCj4+Ci9YT2JqZWN0IDw8Ci9JMTUgMTcgMCBSCi9JMTYgMTggMCBSCi9JMjAgMjIgMCBSCj4+Cj4+CmVuZG9iago1OSAwIG9iago8PAovVHlwZSAvUGFnZQovUGFyZW50IDEgMCBSCi9NZWRpYUJveCBbMCAwIDU5NS4yOCA4NDEuODldCi9Db250ZW50cyA1NyAwIFIKL1Jlc291cmNlcyA1OCAwIFIKPj4KZW5kb2JqCjU4IDAgb2JqCjw8Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQovRm9udCA8PAovRjIgMjggMCBSCi9GNSAzMSAwIFIKPj4KL0V4dEdTdGF0ZSA8PAovR3MxIDMwIDAgUgo+PgovWE9iamVjdCA8PAovSTE3IDE5IDAgUgovSTE4IDIwIDAgUgovSTIwIDIyIDAgUgo+Pgo+PgplbmRvYmoKNjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAxIDAgUgovTWVkaWFCb3ggWzAgMCA1OTUuMjggODQxLjg5XQovQ29udGVudHMgNjAgMCBSCi9SZXNvdXJjZXMgNjEgMCBSCj4+CmVuZG9iago2MSAwIG9iago8PAovUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0KL0ZvbnQgPDwKL0YyIDI4IDAgUgovRjUgMzEgMCBSCj4+Ci9FeHRHU3RhdGUgPDwKL0dzMSAzMCAwIFIKPj4KL1hPYmplY3QgPDwKL0kxOSAyMSAwIFIKL0kyMCAyMiAwIFIKPj4KPj4KZW5kb2JqCjYzIDAgb2JqCjw8Ci9Qcm9kdWNlciAocGRmbWFrZSkKL0NyZWF0b3IgKHBkZm1ha2UpCi9DcmVhdGlvbkRhdGUgKEQ6MjAxODAzMTUyMDU2MzFaKQo+PgplbmRvYmoKNjUgMCBvYmoKPDwKL1R5cGUgL0ZvbnREZXNjcmlwdG9yCi9Gb250TmFtZSAvRENMV1NQK1JvYm90by1NZWRpdW0KL0ZsYWdzIDQKL0ZvbnRCQm94IFstNzMyLjQyMTg3NSAtMjcwLjk5NjA5NCAxMTkyLjg3MTA5NCAxMDQ3Ljg1MTU2M10KL0l0YWxpY0FuZ2xlIDAKL0FzY2VudCA5MjcuNzM0Mzc1Ci9EZXNjZW50IC0yNDQuMTQwNjI1Ci9DYXBIZWlnaHQgNzEwLjkzNzUKL1hIZWlnaHQgNTI4LjMyMDMxMwovU3RlbVYgMAovRm9udEZpbGUyIDY0IDAgUgo+PgplbmRvYmoKNjYgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL0NJREZvbnRUeXBlMgovQmFzZUZvbnQgL0RDTFdTUCtSb2JvdG8tTWVkaXVtCi9DSURTeXN0ZW1JbmZvIDw8Ci9SZWdpc3RyeSAoQWRvYmUpCi9PcmRlcmluZyAoSWRlbnRpdHkpCi9TdXBwbGVtZW50IDAKPj4KL0ZvbnREZXNjcmlwdG9yIDY1IDAgUgovVyBbMCBbNTEwIDY0NS45OTYwOTQgMjU5LjI3NzM0NCA1MjAuMDE5NTMxIDU2Ni40MDYyNSA1NDMuOTQ1MzEzIDI1OS4yNzczNDQgNTA2LjgzNTkzOCAzMjYuNjYwMTU2IDU2Ni40MDYyNSA1NjYuNDA2MjUgMjQ5LjAyMzQzOCA4NzUuOTc2NTYzIDUyOS4yOTY4NzUgMzU2LjQ0NTMxMyA1MjQuOTAyMzQ0IDY0MC42MjUgNTY2LjQwNjI1IDY0NS45OTYwOTQgNjQwLjYyNSA2MTQuMjU3ODEzIDU2Ni40MDYyNSA1NjYuNDA2MjUgODY5LjYyODkwNiA1NjYuNDA2MjUgNTA2LjgzNTkzOCA1MDYuODM1OTM4IDI4Ny41OTc2NTYgNTA2LjgzNTkzOCA1MjAuNTA3ODEzIDU2OC4zNTkzNzUgNTY4LjM1OTM3NSA1NjYuNDA2MjVdXQo+PgplbmRvYmoKMjggMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUwCi9CYXNlRm9udCAvRENMV1NQK1JvYm90by1NZWRpdW0KL0VuY29kaW5nIC9JZGVudGl0eS1ICi9EZXNjZW5kYW50Rm9udHMgWzY2IDAgUl0KL1RvVW5pY29kZSA2NyAwIFIKPj4KZW5kb2JqCjY5IDAgb2JqCjw8Ci9UeXBlIC9Gb250RGVzY3JpcHRvcgovRm9udE5hbWUgL1ZYRElHWCtSb2JvdG8tSXRhbGljCi9GbGFncyA2OAovRm9udEJCb3ggWy02NjAuNjQ0NTMxIC01NTE3LjA4OTg0NCA1MTYzLjU3NDIxOSAxMDQ3Ljg1MTU2M10KL0l0YWxpY0FuZ2xlIDAKL0FzY2VudCA5MjcuNzM0Mzc1Ci9EZXNjZW50IC0yNDQuMTQwNjI1Ci9DYXBIZWlnaHQgNzEwLjkzNzUKL1hIZWlnaHQgNTI4LjMyMDMxMwovU3RlbVYgMAovRm9udEZpbGUyIDY4IDAgUgo+PgplbmRvYmoKNzAgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL0NJREZvbnRUeXBlMgovQmFzZUZvbnQgL1ZYRElHWCtSb2JvdG8tSXRhbGljCi9DSURTeXN0ZW1JbmZvIDw8Ci9SZWdpc3RyeSAoQWRvYmUpCi9PcmRlcmluZyAoSWRlbnRpdHkpCi9TdXBwbGVtZW50IDAKPj4KL0ZvbnREZXNjcmlwdG9yIDY5IDAgUgovVyBbMCBbNDgzIDgyMS4yODkwNjMgNDk2LjU4MjAzMSAzMDEuMjY5NTMxIDMzMC4wNzgxMjUgMjM4LjI4MTI1IDQ5OC4wNDY4NzUgNTk0LjIzODI4MSA1MzMuMjAzMTI1IDUxNS42MjUgNjAwLjA5NzY1NiA2MDcuOTEwMTU2IDIzOC4yODEyNSA1OTkuMTIxMDk0IDU1OS41NzAzMTMgNTMzLjIwMzEyNSA2MTcuMTg3NSA1MzMuMjAzMTI1IDYyNC4wMjM0MzggNTE1LjYyNSA1MzMuMjAzMTI1XV0KPj4KZW5kb2JqCjI5IDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMAovQmFzZUZvbnQgL1ZYRElHWCtSb2JvdG8tSXRhbGljCi9FbmNvZGluZyAvSWRlbnRpdHktSAovRGVzY2VuZGFudEZvbnRzIFs3MCAwIFJdCi9Ub1VuaWNvZGUgNzEgMCBSCj4+CmVuZG9iago3MyAwIG9iago8PAovVHlwZSAvRm9udERlc2NyaXB0b3IKL0ZvbnROYW1lIC9LUFVIWUorTm90b1NhbnNDSktUQy1NZWRpdW0KL0ZsYWdzIDQKL0ZvbnRCQm94IFstMTAwNyAtMTA0NyAyOTI3IDE4MDddCi9JdGFsaWNBbmdsZSAwCi9Bc2NlbnQgMTE2MAovRGVzY2VudCAtMzIwCi9DYXBIZWlnaHQgNzMzCi9YSGVpZ2h0IDU0MwovU3RlbVYgMAovRm9udEZpbGUyIDcyIDAgUgo+PgplbmRvYmoKNzQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL0NJREZvbnRUeXBlMgovQmFzZUZvbnQgL0tQVUhZSitOb3RvU2Fuc0NKS1RDLU1lZGl1bQovQ0lEU3lzdGVtSW5mbyA8PAovUmVnaXN0cnkgKEFkb2JlKQovT3JkZXJpbmcgKElkZW50aXR5KQovU3VwcGxlbWVudCAwCj4+Ci9Gb250RGVzY3JpcHRvciA3MyAwIFIKL1cgWzAgWzEwMDAgNTk0IDI4NyA0ODAgNjIwIDU3NSAyOTggNDkwIDM5NiA2MTQgNjI0IDEwMDAgMTAwMCAyMjUgNjk5IDYxMCA2MjkgNTY1IDYyMiA0MDkgNjQ2IDYyMSA1NTddXQo+PgplbmRvYmoKMzggMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUwCi9CYXNlRm9udCAvS1BVSFlKK05vdG9TYW5zQ0pLVEMtTWVkaXVtCi9FbmNvZGluZyAvSWRlbnRpdHktSAovRGVzY2VuZGFudEZvbnRzIFs3NCAwIFJdCi9Ub1VuaWNvZGUgNzUgMCBSCj4+CmVuZG9iago3NyAwIG9iago8PAovVHlwZSAvRm9udERlc2NyaXB0b3IKL0ZvbnROYW1lIC9BVUdDSlArUm9ib3RvLVJlZ3VsYXIKL0ZsYWdzIDQKL0ZvbnRCQm94IFstNjgxLjE1MjM0NCAtMjcwLjk5NjA5NCAxMTgxLjY0MDYyNSAxMDQ3Ljg1MTU2M10KL0l0YWxpY0FuZ2xlIDAKL0FzY2VudCA5MjcuNzM0Mzc1Ci9EZXNjZW50IC0yNDQuMTQwNjI1Ci9DYXBIZWlnaHQgNzEwLjkzNzUKL1hIZWlnaHQgNTI4LjMyMDMxMwovU3RlbVYgMAovRm9udEZpbGUyIDc2IDAgUgo+PgplbmRvYmoKNzggMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL0NJREZvbnRUeXBlMgovQmFzZUZvbnQgL0FVR0NKUCtSb2JvdG8tUmVndWxhcgovQ0lEU3lzdGVtSW5mbyA8PAovUmVnaXN0cnkgKEFkb2JlKQovT3JkZXJpbmcgKElkZW50aXR5KQovU3VwcGxlbWVudCAwCj4+Ci9Gb250RGVzY3JpcHRvciA3NyAwIFIKL1cgWzAgWzUwNyA2NjIuMTA5Mzc1IDUyNi44NTU0NjkgNTY2LjQwNjI1IDU2Ni40MDYyNSAzNDguNjMyODEzIDMxOC4zNTkzNzUgMjQ4LjA0Njg3NSA1NjYuNDA2MjUgNTY2LjQwNjI1IDI0Ny41NTg1OTQgNjc2LjI2OTUzMSA1NDcuODUxNTYzIDUyMC45OTYwOTQgNTY2LjQwNjI1IDU2Ni40MDYyNSA1NjYuNDA2MjUgODExLjAzNTE1NiA1ODEuNTQyOTY5IDE5Ni4yODkwNjMgNjEwLjgzOTg0NCA1NjEuNTIzNDM4IDU2MS41MjM0MzggNTYxLjUyMzQzOCA1NjEuNTIzNDM4IDU2MS41MjM0MzggMjQ2LjA5Mzc1IDYzNy4yMDcwMzEgODc2LjQ2NDg0NCA1OTYuNjc5Njg4IDU2Ni40MDYyNSA1NjEuNTIzNDM4IDY2MS4xMzI4MTMgMzQyLjc3MzQzOCA1NjEuNTIzNDM4IDU2MS41MjM0MzggNTYxLjUyMzQzOCA1NjEuNTIzNDM4XV0KPj4KZW5kb2JqCjMxIDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMAovQmFzZUZvbnQgL0FVR0NKUCtSb2JvdG8tUmVndWxhcgovRW5jb2RpbmcgL0lkZW50aXR5LUgKL0Rlc2NlbmRhbnRGb250cyBbNzggMCBSXQovVG9Vbmljb2RlIDc5IDAgUgo+PgplbmRvYmoKMiAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMSAwIFIKPj4KZW5kb2JqCjEgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9Db3VudCAxMQovS2lkcyBbMjcgMCBSIDM0IDAgUiAzNyAwIFIgNDEgMCBSIDQ0IDAgUiA0NyAwIFIgNTAgMCBSIDUzIDAgUiA1NiAwIFIgNTkgMCBSIDYyIDAgUl0KPj4KZW5kb2JqCjI0IDAgb2JqCjw8Ci9MZW5ndGggMTQ5Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nCWObQ6DIBBEuaz/TA9QiwYDCKjgB0k9bl9Z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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBgD9AP4KZW5kc3RyZWFtCmVuZG9iagoxNCAwIG9iago8PAovVHlwZSAvWE9iamVjdAovU3VidHlwZSAvSW1hZ2UKL0JpdHNQZXJDb21wb25lbnQgOAovV2lkdGggMTk1MAovSGVpZ2h0IDEyMDAKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0NvbG9yU3BhY2UgL0RldmljZVJHQgovU01hc2sgODEgMCBSCi9MZW5ndGggNTEyNzgKPj4Kc3RyZWFtCnic7N2Je9x3YefxTQIkhHKVI/SAQgsUynZhYSltWY6lDbS70KVQeCgFCm0pkR07juMcYJvcN0kTE0wIdkzInQLGweTUjO7Tsi1LtmTZkmXLki3ZlizJsq7RjKpu9gnBcWx5NDPfOV6v5/MHwHfm+3v/niePPNPTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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8TrEZCtAELKVPPtA7VXBm2J7ueSqix5/+sHQdQMwKCdOnPjba14TvLPtWO57qha6eoaBeAXInngdbrIVIHuylZxbu/+DwZtix7Jv429D1w3AoGxvb08f/FfBe9r28rv7v/f06VOhq2cYiFeA7InX4SZbAbInW8m5R75xT/DWGCvv2P8zH7hm8oY7rgpdNwCD8vAzG8E7245lvvbroetmSIhXgOyJ1+EmWwGyJ1vJudNnTr/5wIuDN8jyvn/yxwf/97/78rvWbvjSoUOHDh8+fN9994WuG4BBefLY5hVffcdl1/1M8O43VvbX50PXzZAQrwDZE6/DTbYCZE+2kn+XH/6/QrXDt+1/6fvX/s8vXP831UPX12q1u+++++GHH97e3g5dJQAZeeiZu66sz85W/9fgA4PzZesb94aukuEhXgFCEa/DSrYChCJbya2bHv5clm3v0n3f+e6DI4vXvnl/9YpDhw7dcccdm5ubR48ePX36dOiaAAjm8WP3H7j/r+du/KXX7vv2UGODtx74sdDVMFTEK0Bw4nXIyFaA4GQreXPs5NFL971g0K3uTZUfeO/af1i+/i+uu2Ht1ltv/frXv/7444+fPHky9NED5MvTJx697siH528eK1e+O+Phwd/c8KrQRz9UxCtAfojX4SBbAfJDtpIff3LdLw6ipV2y76J37v/XC9e89sqv/F3tptpXv/rVRx555NixY6EPF6AAmnO32sOf+dD6q16//59mMzzYf/dC6IMeNuIVIG/Ea9HJVoC8ka0Et3rPn6XYwF6/75/96cFXLH35D689tO/OO+88cuTI008/7YktgN5889Tx2x5d/chtr5k68P0DHR5sPXV/6GMdNuIVILfEa0HJVoDckq2E8sgz9/Tfrt6+/yf+yzX/999fv3Dr+tnPQz/55JOe2AJI0anTJ+954ppP3FZ+28EfS31s8K6rS6GPbwiJV4D8E6/FIlsB8k+2kr3pq3+ih+Z06VXf9UcHX/7Ra992TW313nvvffTRR48fPx76UACG3Okzp7/eqH3y1ql3HPyptIYHn1n/vdCHNZzEK0BRiNeikK0ARSFbycxHD782eSuaqvzQX679p89/5S9vv+uWhx566Jlnngm9+wDfor7+2C2fuvn33nXgX/c5PHigcWvoQxlO4hWgiMRrnslWgCKSrQzU+sNX7t5yLrnqossOvOzya193zS0r9z9wf6PROHXqVOi9BuCsZod875FbP3nDO//wwL+55Kpv73ZsMH31T4Q+gqElXgGKS7zmk2wFKC7ZyoCcPH3idZXvaW8zb9j3z//s4K98tvond3z15scee+yb3/xm6D0FYEff+MY3Nuq3fuor7549OHrpVd+VcHjwqdvfFHrHh5Z4BRgC4jVXZCvAEJCtpO691//KhYsg+3/6b699zdXrn37woSPb29uhdw2ALpw6dao5oVu/4+bPXPenzSne6/b9092HB/VGNfQuDzPxCjAcxGt+yFaA4SBbSdGBr37oPQd/8dOHZu78+o1Hjx49ffp06D0CoC/N+d39999fu/nQFde//31r//F39/2L9rHBWw780OkzOvwBEq8AQ0a8BidbAYaMbKV/p06dOnnyZOi9ACBlzene448/vrGxccMN1S9ef/n8NRNvqfzo88ODT9xxaegdHHLiFWAoideAZCvAUJKtAMBOjh8/vrm5efjw4RsO3fClryx94Jr/751X/093PV4JvV8AUGDiFQDSJVsBgI5Onz795JNP3nPPPTfeeONTTz0VencAYBiIVwBIl2wFAHZy4sSJ0LsAAMNGvAJAumQrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8/+3dMQpDMQxEwfsf2KiQFpIQAk4Tfud8mGndvFosGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbifJ6QQAAAAAALgqSXefrgAAAAAAgKu6u6pOVwAAAAAAwFVVtdYy2wYAAAAA4Ba6e33MzOkcAAAAAAD4ZWbWN8ttAAAAAAD+1r7W3lXV8ynJ6UAAAAAAAHhJ8v4ycr9mPwAQKusVCmVuZHN0cmVhbQplbmRvYmoKODIgMCBvYmoKPDwKL1R5cGUgL1hPYmplY3QKL1N1YnR5cGUgL0ltYWdlCi9IZWlnaHQgMTIwMAovV2lkdGggMTk1MAovQml0c1BlckNvbXBvbmVudCA4Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9Db2xvclNwYWNlIC9EZXZpY2VHcmF5Ci9EZWNvZGUgWzAgMV0KL0xlbmd0aCAyMjkwCj4+CnN0cmVhbQp4nO3BAQ0AAADCoP6pbw8HFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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FqbS7fJzOD+Tz6ncsdeEsHOdbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP/PHhwIAAAAAAD5vzaCqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqSnt3jMJQDANR8P4HNiqkhSSEgNOE3/kHZlo3rxYLBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALinJKcTAAAAAADgqiTdfboCAAAAAACu6u6qOl0BAAAAAABXVdVay2wbAAAAAIC/0N3rY2ZO5wAAAAAAwC8zs75ZbgMAAAAAcFv7WntXVc+nJKcDAQAAAADgJcn7y8j9mv0Ahlqf1wplbmRzdHJlYW0KZW5kb2JqCjgzIDAgb2JqCjw8Ci9UeXBlIC9YT2JqZWN0Ci9TdWJ0eXBlIC9JbWFnZQovSGVpZ2h0IDEyMDAKL1dpZHRoIDE5NTAKL0JpdHNQZXJDb21wb25lbnQgOAovRmlsdGVyIC9GbGF0ZURlY29kZQovQ29sb3JTcGFjZSAvRGV2aWNlR3JheQovRGVjb2RlIFswIDFdCi9MZW5ndGggMjI5MAo+PgpzdHJlYW0KeJztwQENAAAAwqD+qW8PBxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPD/swcHAgAAAABA/q+NoKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtLeHaMwFMNAFLz/gY0KaSEJIeA04XfOh5nWzavFggEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4F6SnE4AAAAAAICrknT36QoAAAAAALiqu6vqdAUAAAAAAFxVVWsts20AAAAAAG6hu9fHzJzOAQAAAACAX2ZmfbPcBgAAAADgb+1r7V1VPZ+SnA4EAAAAAICXJO8vI/dr9gNGvEbICmVuZHN0cmVhbQplbmRvYmoKODQgMCBvYmoKPDwKL1R5cGUgL1hPYmplY3QKL1N1YnR5cGUgL0ltYWdlCi9IZWlnaHQgMTIwMAovV2lkdGggMTk1MAovQml0c1BlckNvbXBvbmVudCA4Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9Db2xvclNwYWNlIC9EZXZpY2VHcmF5Ci9EZWNvZGUgWzAgMV0KL0xlbmd0aCAyMjkwCj4+CnN0cmVhbQp4nO3BAQ0AAADCoP6pbw8HFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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yjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo2wAAAAAAxKJsAwAAAAAQi7INAAAAAEAsyjYAAAAAALEo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AACxSLYBAAAAAIhFsg0AAAAAQCySbQAAAAAAYpFsAwAAAAAQi2QbAAAAAIBYJNsAAAAAAMQi2QYAAAAAIBbJNgAAAAAAsUi2AQAAAACIRbINAAAAAEAskm0AAAAAAGKRbAMAAAAAEItkGwAAAACAWCTbAAAAAADEItkGAAAAACAWyTYAAAAAALFItgEAAAAAiEWyDQAAAABALJJtAAAAAABikWwDAAAAABCLZBsAAAAAgFgk2wAAAAAAxCLZBgAAAAAgFsk2AAAAAACxSLYBAAAAAIhFsg0AAAAAQCySbQAAAAAAYpFsAwAAAAAQi2QbAAAAAIBYJNsAAAAAAMQi2QYAAAAAIBbJNgAAAAAAsUi2AQAAAACIRbINAAAAAEAskm0AAAAAAGKRbAMAAAAAEItkGwAAAACAWCTbAAAAAADEItkGAAAAACAWyTYAAAAAALFItgEAAAAAiEWyDQAAAABALJJtAAAAAABikWwDAAAAABCLZBsAAAAAgFgk2wAAAAAAxCLZBgAAAAAgFsk2AAAAAACxSLYBAAAAAIhFsg0AAAAAQCySbQAAAAAAYpFsAwAAAAAQi2QbAAAAAIBYJNsAAAAAAMQi2QYAAAAAIBbJNgAAAAAAsUi2AQAAAACIRbINAAAAAEAskm0AAAAAAGKRbAMAAAAAEItkGwAAAACAWCTbAAAAAADEItkGAAAAACAWyTYAAAAAALFItgEAAAAAiEWyDQAAAABALJJtAAAAAABikWwDAAAAABCLZBsAAAAAgFgk2wAAAAAAxCLZBgAAAAAgFsk2AAAAAACxSLYBAAAAAIhFsg0AAAAAQCySbQAAAAAAYpFsAwAAAAAQi2QbAAAAAIBYJNsAAAAAAMQi2QYAAAAAIBbJNgAAAAAAsUi2AQAAAACIRbINAAAAAEAskm0AAAAAAGKRbAMAAAAAEItkGwAAAACAWCTbAAAAAADEItkGAAAAACAWyTYAAAAAALFItgEAAAAAiEWyDQAAAABALJJtAAAAAABikWwDAAAAABCLZBsAAAAAgFgk2wAAAAAAxCLZBgAAAAAgFsk2AAAAAACxSLYBAAAAAIhFsg0AAAAAQCySbQAAAAAAYpFsAwAAAAAQi2QbAAAAAIBYJNsAAAAAAMQi2QYAAAAAIBbJNgAAAAAAsUi2AQAAAACIRbINAAAAAEAskm0AAAAAAGKR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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8GAP0A/gplbmRzdHJlYW0KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1hPYmplY3QKL1N1YnR5cGUgL0ltYWdlCi9CaXRzUGVyQ29tcG9uZW50IDgKL1dpZHRoIDE5NTAKL0hlaWdodCAxMjAwCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9Db2xvclNwYWNlIC9EZXZpY2VSR0IKL1NNYXNrIDg1IDAgUgovTGVuZ3RoIDI3NDY5Cj4+CnN0cmVhbQp4nOzd/ZePdf448L+oGcy4Hzc73dEINY01ZBIiZ5XQFE5SUQlJ1OxulGg6PoQKKxltOt3sFmGTMxWlkUnGzZCbhjHv7/e963v6+Jb0nut6vd/XsI/HeZ49Tm3X6/l8Xjc/PN+X1/VDnzk/CCECxf95/j0hhLgiIvEHphBCZBiJPzCFECLDSPyBKYQQGUbiD0wPXiHaYCR+RwshRIaR+ANTCCEyjMQfmEIIkWEk/sAUQogMI/EHpgevEG0wEr+jhRAiw0j8gSmEEBlG4g9MIYTIMBJ/YAohRIaR+APTg1eINhiJ39FCCJFhJP7AFEKIDCPxB6YQQmQYiT8whRAiw0j8gRksAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCelpaWpFMAAAAAAEhGKpU6evTojh071q5d+9e//vXJJ5+srKwcNWrUkCFDysrKBg4cWFJSkv7f8vLy9D+89957J0+ePHfu3Ndee23r1q0NDQ3p/zzpCq5a586dq62t3bhx4wsvvDB16tRhw4YNGDDg+uuvLyoqKigouOaaazp06JD+84033pg+QXfcccf06dNffvnl9957b//+/VfTeTl79uzevXs//PDDNWvWpC/RGTNmjB8/fsyYMcOHD09flrfeemv6Er355pvTfxg8eHC6S+l/NWXKlDlz5ixevDh9Vf/rX/9qbGxMuoi25cyZM998881HH31UU1Ozfv36VatWVVdXL1q0aOHChU8//fSCBQvSl1z6Wvqf//mf119/fcOGDe+88066/zt37qyvr0+fjgQzP3HixPvvv//KK688/vjjf/rTnyoqKtKPqX79+l14Ro0YMSL9+HruuefS5z19zVxNdwEAAAAAaT/++OPmzZvnz58/atSobt26XRNDly5d7rrrrhdffHH37t3eIo4v3cMvv/xy6dKlY8eO7dSpU+TzUlxc/NBDD7311ltX4lA3fX2+9957ixYtqqysHDhwYH5+fpxL9IKioqI777xz3rx5NTU1DQ0NSZeYO+kr6quvvlq9evWsWbPGjx8/aNCgHj16xGxm+gjDhg175JFH1q5dm5sqvvjii7lz55aWlubl5WWeZ+/evdOXUPpZ19zcnJs8I0g/Of/VerW1tUknDgAAAJA79fX11dXVo0aNateuXczR1iUVFRVVVlZ+9NFHRtwRHD58eNGiRX369Al7UvLy8saMGbNly5Y2flKamprSV84zzzxTXl4eZJR9eaWlpQsWLPjss8/aeFuiufDTVbqZI0aM6Ny5c/baeNttt2W1kPTZWbduXVlZWcw8e/Xq9eyzzx4/fjyr2UbwySefRKvo+eefTzp3AAAAgKzbt2/fc889V1paGnM6lLm+ffsuXrz4yJEjSZd+Zfjss88mTJiQpZ8bftanT58lS5acPn066XL/P2fPnn333XcfeOCBjh07ZrX8y7TlhRdeOHToUNKdCODYsWOrV6++++6727dvn5vuZXWyvWXLlgEDBgTMtmvXrosWLUp2N5WLtbS0/PGPf4xQSO/evdvajQwAAAAQUCqV+vTTT++5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wcYc5PugF198ccSIEYGjjdO1117b2toaeLMAAAAAjndtbW33339/WMWWs88+e8+ePeleU7K2bdsWSjamTJmS0jjvuOOOUOIcvKlCYOmtbEcexWeeeWb37t2pWFqHJK9bjWzfkaPfK02fPj2sVScvKyursbExWEL27t07ZsyYYPNmZmY2NTUNNPK6deuSWdSWLVtiDvvzzz9PnDgxwICzZ88e6OuSp556KplQE5KXlxdZQrDNAgAAADjePfPMMyFWWqqrq9O9oBB8/fXXoWTjoosuSmmcd999dyhxrlixIhXhpauyfeGFF7788sv79u1LxaKikm9Z88gjj0TGWbJkSSirDlFOTk7gbwTmz58feN68vLz9+/f3H3Pnzp3nn39+4GEvvvjigaJ97LHHgo050IWbr7zySuA4g7nyyitjJg0AAADgxLZ69eoQayw33nhjito+DLOGhoZQEnLJJZekNM7i4uJQ4ly2bFkqwhvmyva555774IMP/vvf/z58+HAqltNH8gf7ly9fvn79+jTeGjmI+++/P1haVq1alcy8N998865du/rkeebMmcmMWVpaGjPUpqam0aNHBxiwsLAw5oDr1q1Ly24uWLDgxPjFCwAAABCnurq6EC+tO+OMM1JxSV9afP7556Hk5Ne//nVK4ywpKQklzrKyslSENzyV7YsuuigSf2TLhrm49+mnnyYZ+ZgxY9J+a+QgPvroowBpiWx6VlZWMvNGfpMsWrTolVdeeemll+67777A7U2ivvzyy5ih3n777QFGGzVq1LZt2/qP9vPPP0+ePDnJUAOrqKgIsFkAAAAAx6PGxsYJEyaEWFr5+9//nu41hSb5omWHK664IqVxLl68OJQ4lyxZkorwhqeyPWvWrKeeeqqmpmb79u3Dc1q7w1tvvTUMq0ujqVOnBmtz8eCDD6Y79m6//e1vYwa5fv36YAM++uijMQe85557wo08IaeddtrWrVsDbBYAAADA8WXnzp0XXHBBiHWVu+++O91rCtN//vOfUNJy5ZVXpjTOsFo0/+EPf0hFeMPfZ3vcuHGzZ89euHDhv/71r8jsqVhU1PB3VB5+L730UoDMbN68ecSIEemOvdNrr73WP8K2trY5c+YEGG38+PE//fRT/wE/++yz0CNPVOS3jZ4kAAAAwIlt3759s2bNCrGicskll7S2tqZ7WWH68MMPQ8nM7373u5TGWVZWFkqcDz30UCrCS9cNkh1Gjx49f/78ysrKnTt3pmJ1y5YtS+Pqhse5554b7Nj2ggUL0h17u2nTph06dKh/eDU1NcEGfO6552Ku9+qrrw438mDefvvtAJsFAAAAcFw4ePBgQUFBiLWUsWPHfvXVV+leVsjWrVsXSnKOl8p2SUlJKsJLb2U7KjMzc968eZE9DfdE66OPPprulQ2Hl19+OUBytm/fPmrUqHTHfsqaNWv6xxb5HXjRRRcFGO2CCy6IWeevq6sLPfJgLrnkkuFsyAMAAAAwbA4fPnzrrbeGWEgZMWJEzNrR8S6sUtWcOXNSGucf//jHUOJcvHhxKsI7RirbUZHtqK2tDWt1DzzwwHAGP23atHvvvfeJJ5548cUXq6urV69e/de//jXyz/vuuy9YnTZOubm5wfITVqucwGbPnh3zu4xIAoMN+M9//jPmSgsLC8ONPBkn5C9kAAAA4CR3+PDh0O84Ky8vT/eyUiLw7XJ9XH755SmNM6xjw8f1DZKJuuqqqyL7m/zq7r333mGIdsaMGStXrvzmm28GD2bbtm0vvPDClClTUhHDxo0bA+Rn//7906dPT0U88RgzZkxjY2P/qHbv3j1x4sQAA86aNStmnfzHH388Fk6nR82bNy/AZgEAAAAcs9ra2kpKSsItoTzwwAMn6oVlX3zxRSgpmjFjRkrjXLRoUShxlpWVpSK8Y7OyHTFy5Mjnnnsuyaf3zjvvTGmQkYfnrbfeSijIffv2PfPMM+PGjQs3kocffjhYiv773/+eeuqp4QYTp+effz5mSIH/zOGTTz6JOeCKFSuSDHX27NmrV6/etGlT5NfOqlWrpk2bluSAJ157KAAAAOBkFnpngOuuuy7m1Wwnhs2bN4eSpenTp6c0zvvvvz+UOJ9++ulUhHfMVrY73Hzzzbt37w68ut///vcpCiwzM3P58uWBGyZv2bLlnHPOCTGeKVOmBP4W4LXXXgsxkjgtWLAgZsDffPPN6NGjAwx4yy23DLTA2bNnJxPqihUr+oR64MCBJP8cIEV/ggEAAAAw/J5++ulk6iT9zZ49+5dffkn3slJoy5YtoSRq6tSpKY3zrrvuCiXOFStWpCK8Y7yyHXHhhRdu3rw52OrCvYk16uyzz06+Gfj27dvPP//8EKOK2dkjTk899VSIkQxp3rx5Bw4ciBlJsGP2o0aNivxCiDngrl27MjMzA4e6aNGimMMePHgwsorAw1588cWBNwsAAADg2PH8888HrpDElJub+/PPP6d7WanV1NQUSq6mTJmS0jhvu+22UOIcqHVDko79ynbEpEmTvvvuuwCru+aaa1IRzPbt20NJfmNj45gxY8IK7IUXXggcSVtb27Jly8KKZHDXXnvt3r17Y4bx3//+N9iYgzRjSeZE+vjx4/fs2TPI9iVTM//6668D7xcAAADAsWDlypWBayMxTZ8+fdeuXeleVsr99NNPoaRr0qRJKY3z5ptvDiXOV155JRXh7d+//w8DePTRRx966KH77rtvwYIFv//97wsKCq6++uorrrjivPPOS6agF8yMGTMC/A3C3Llzww1j/PjxmzZtCjH/f/nLX8KK7aabbkoymJdeemnkyJFhxRPT3XffffDgwZizt7W1XXXVVQHGPOOMMwb5jVdcXBw42qVLlw6esWS+t3ruueeS2i0AAACAtHr99ddHjBgRuDbS39SpU7///vt0L2s4HD58OJTUTZw4MaVxzp8/P/kgI/71r3+lNM6ERJK/Y8eOzz77LBLVk08+ee21144fPz6UZQ7i+uuvT7Sv9W9/+9sQA8jMzKyrqws3k4cOHbrssstCCe/8889PPp7169dHfoeEEk8fZ5xxRuTX3SDNwN9+++1gIz/77LODrGjGjBmBYx6ow0nUunXrAg8+SGNwAAAAgGNcTU1NuGdfzzvvvKampnQva/iEUk0dO3ZsSoPMz89PPsiIDz/8MKVxJqmtre3rr79etWrVtddeG+6XNT396U9/SiiqsJLfYZCWF8moqqoKK8JkbtuM2rNnzx//+McQ26REfsstWLBgx44dg0x68ODBadOmBRh8ypQp+/fvH2jYffv2Bf4dG08H/kjYZ5xxRrDxJ0+eHGR7AAAAANLt3//+96mnnhqsJBLThRdeeFKVtSPCOlw60GV2ocjNzQ0lyM8//zx1QYbr22+/ffLJJ88777xQFt7TqFGjvvrqq/gjueGGG8KaetKkSaHUjftrbW3NysoKJcgQj5Tv2LHjgQceGDduXDLxjB49+vbbb4/nAtCXXnop2BSrV68eZNj169cHDv7BBx+MJ1G33npr4Ckib0q8+wEAAABwbPjoo49CPBIZcfHFF58kTUh6mjlzZijZS2nqzjnnnFCCDOvWwmGzb9++P/zhD6Gf377++uvjj+H2228Pa94U3eDZYeHChaEE+be//S3cwPbu3btq1ar58+cnVOKOfPiaa655+eWX47zHdvfu3WeeeWaA9V5++eWDtDc5ktz1kStXrown+PLy8sBTvPfee3FtAwAAAMCx4eOPPz7ttNMCF0P6mzFjxs6dO9O9rDS45pprQknghg0bUhRhW1tbWCfz4ywSHms++uijKVOmhJKBqI0bN8Y5+7333hvKjCNGjGhubk5dltasWRNKnE8//XSKIjx48OCnn376yiuvLF68+IYbbpgzZ05ubu60adOmT58+c+bMuXPnFhYWLlmypLKysr6+/tChQwkNHvnBYOsd8ox6WVlZ4GR+8skn8QT//vvvB54ipV+XAAAAAISrrq5u7NixgSsh/c2aNes4rXkm78477wwlhx988EGKIty9e3coEWZmZiZ6eeKxY+vWreHeL3nXXXfFOXVJSUkoM1511VUpTdE333wTSpxxNtA4pnz77bfB/oDl5ptvHnLwZH5FtLS0xBP/999/H3iKhQsXJp0/AAAAgOHwySefnH766YHLIP3NnTv3l19+Sfey0uZPf/pTKGl8/fXXUxThli1bQonweL9s7v333w+xLcm4ceP27dsXz7yBDwP3sXTp0pTmp62t7eyzz04+zhtvvDGlcabCggULAqx05MiRkZdryMHnzJkTLJNZWVlxxh/Zu8CtpfLz85NLHgAAAMBw+PTTT5O8jq2P6667Ls763olq5cqVoWQydT0B6urqQolw9uzZKYpw2IRVZO7w5ptvxjPpsmXLQpnulVdeSXV+5s2bl3ycc+fOTXWc4fr888+DfeVRUlISz/jTp08PlskLL7ww/lUE7rdz2WWXBc0cAAAAwDBZv359VlZWsOpHTDfffPOBAwfSvaw0+/DDD0NJZupO5L755puhRHjbbbelKMJh09LSEuI3O3G23fjf//3fUKZ79913U52fW265Jfk4r7jiilTHGaK2tra5c+cGWGbkd+muXbvimSLwSfhZs2bFv5DAV9lOmjQpaPIAAAAAhkN9fX24Ze0FCxYkekfbCWnr1q2h5DN13W7DqqwuWbIkRREOp7vuuiuUbJxy9NbUeGb897//Hcp0H330UaqTE8pll3Gm5RjxzjvvBFvmihUr4hm/ra0tMzMz2BTz58+PfyGRDwebZdSoUZEgA6YPAAAAIMU+//zzM844I1jdI6aFCxcev5cJhuvgwYOBK1c9XX311SmK8A9/+EPy4UX87//+b4oiHE5r1qwJJRunHL1Sc//+/UPOuG3btlCmi7P5STIeffTR5OOcNm1aquMMy6FDhy6++OIAa5wyZUqcXZj27t0bOJN33HFH/GsJ1iq8w549e4KmEAAAACCFvvjii/HjxwcuevS3ePFiZ/x6CtzhtqfU3c949dVXJx9exHvvvZeiCIdTWHXmDvFcIHjo0KGRI0cmP1dlZWWqkxNKH/KcnJxUxxmWwH/OEP99rz/99FPgTN59993xryWZ8/ZxtlUBAAAAGE4bNmyYMGFC4IpHf2VlZcrafQTuA9DHzz//nIrwJk2aFEp4W7duTUV4w+zw4cOh1Jk7vP/++/FMOnXq1OTnevbZZ1OdnAcffDD5OI+XbiR79uw566yzAixw5syZ8f/FSnNzc+BMFhcXx7+chQsXBp5ox44dgVIIAAAAkCobN26cOHFi4HJHf3G2lj3ZlJWVhZLeTz75JPTYkjky2tO4ceNOmP4zIb4UcZ7dDeXY/GOPPZbqzNx5553Jxzl79uxUxxmKxx9/PNgCP/744/hn+eabbwJn8qGHHop/oocffjjwRNu3b088fwAAAACpsmnTphAreCNGjDgx2iynwltvvRVKkl955ZXQY/vPf/4TSmx5eXmhx5Yu2dnZoeQkYuXKlfHM+MADDyQ/V+o6sUeF8tcH8+bNS3Wcyfvuu+/GjBkTYHU33nhjQhMlc8PsI488Ev9EixcvDjxRY2NjgvkDAAAASJXNmzefeeaZgQsdfWRmZsbfV/Yk9N1334WS55KSktBjq6ioCCW2RYsWhR5bWrS1tYXYjeSFF16IZ9KXXnop+bmysrJSfWx+zpw5ycd5ww03pDTIUNx1110BlhZ5chItAidzZjuhXwiPPPJI4Imc2QYAAACOEV999dXZZ58duMrRx+jRo99+++10r+mY1tbWFsrx+FQcdr3//vuTD+yUuA8nH/taWlpCSUiHl19+OZ5JN2/eHMp0kXFSmpxQfm88+OCDKQ0yeV988cWIESMCLC3A9zs//PBD4EwuXLgw/omS6ZGuzzYAAABwLPj6669DbLZw+umnr1u3Lt1rOg5cd911yWd7zJgxra2tIUbV1tZ27rnnJh9YxPr160MMLI0iL0goCenwj3/8I55Jw/ruIxX9aqK+//775COM+Mtf/pK6IJMX2Yt58+YFWFdWVtbOnTsTnS6Zb1Luueee+Ce67777Ak+0a9euRNcFAAAAEK7GxsZJkyYFrm/0MX78+M8++yzdazo+PPfcc6HkPNzj8Z9//nkoUY0dO/bAgQMhBpZGH3zwQSg56fDWW2/FOe/NN9+c/HRXXnll6jLz7rvvJh/hKXHfqpkua9euDbauZ555JsB0+/btC5zJO++8M/6JioqKAk+0e/fuAEsDAAAACMuWLVtCLGufffbZDQ0N6V7TcSOSq1DSft9994UYVVlZWShRXXPNNSFGlV6PPfZYKDnpEP9fNDz//POhzJi6hiRPPfVUKBF+8sknKYoweYcOHZo+fXqARZ133nn79u0LMGNbW9vo0aODZfKmm26Kf6Jbbrkl2CyZmZmp7t8OAAAAMIitW7eec845wSob/U2ZMmXLli3pXtPxpK2tLZQexZMmTQqxyjRjxozkQ4pYsWJFWCGlXbDC5kC2bdsW57wbNmwIZcaHHnooRZm57LLLkg9vxIgRe/bsSVGEyXvllVeCreu1114LPGng38y//e1v458l8uFgs5x11lmBlwYAAACQpG3btoXVTjli2rRp3377bbrXdPy54447Qsl/fX19KPE0NTWFEk/E559/HkpIaRd5U8LKScSoUaPi/xoi8skJEyYkP2lWVlYquiJ/8cUXyccWMX369NBjC8svv/wS7OunX//618l83xT4C6acnJz4Z7nooouCzXIsbxkAAABwYmtqajrvvPOC1TT6mzFjxo8//pjuNR2XqqqqQtmChQsXhhLPkiVLQoln/PjxJ0yzgpKSklBy0uHiiy9OaPYHHngglHnvvvvuYzYzCxYsCD22sDzxxBPBFlVbW5vMvFdffXWweSdOnBj/LFlZWcFmueqqq5JZHQAAAEAwTU1NU6ZMCVbQ6G/27Nk///xzutd0vNq9e3fghro9jRkzJvkvFyLBBK509XHbbbclNHWwdsTDYMOGDZmZmaHkpMPNN9+cUAD19fVhTR1/f+94/PDDD2E9LS+++GKIgYVox44dkTcrwIoKCgqSnDrwNxojRoyI822KvO/BpogoKipKcoEAAAAAifr222/PP//8wAWNPvLz8/fu3ZvuNYWpra2tqanpvffeW7169UsvvfT8889XVVW98847GzduTNEh5N///veh7EXyvZRLS0tDiSTi7bffTmjqe++995Zbbqmrq4vkP8lVhCiy43l5eWHlpMNf//rXhGKIJOTSSy8NZeqpU6eG+A3CbbfdFkpUpyTSeHyY3XPPPQGWk5mZ+dVXXyU59f/8z/8Ezmfkl1U8U3z66aeBp1i2bFmSCwQAAABIyHfffXfhhRcGrmb0cdNNN+3fvz/dawpHW1vbunXrbrvttsmTJw+03qysrGuvvfYf//jHoUOHQpy6pqYmlO3IzMz873//GziMTZs2jRw5MpRIxo8ff+DAgYRmLyoq6vjZ3/zmN6+99lqiP54Khw8fXrhwYSgJ6enLL79MNJLnnnsurNkLCgpCeXrfe++9sEI6Zjs2b9y4ccSIEQFW9MADDyQ/+7vvvhs4patXr45nipUrVwaeorq6Ovk1AgAAAMRpx44dU6dODVzK6GPBggXhFnjTqLa29le/+lX8a58yZco//vGPsGY/cODA+PHjQ9mUiy66qKWlJUAMe/bsmT59eigxRNx///2JBhCtbHeYNGnSsmXL0ti8/eDBg7fffntYCem5rgCH0nfu3BnWlw6nHO0jkeRfH2zevPmss84KK57S0tJkgkmdYJ2ux40bF8pzu3379sApffzxx+OZIpk26V988UXyawQAAACIx/fff3/RRRcFrmP0ccstt5wY9wNGVvHnP/85WCPl++67L6zeDosWLQpra+bOndva2prQ7JFVXH/99WEFEPHRRx8lmoE+le0OkX256qqrnn/++W+//TbRAZPx9ddfz5s3L8SERAU+zRt540IM48EHHwz8tVRDQ8OZZ54ZYjD19fXBIkmp999/P9hynn766VACaGtrO/vss4PFkJeXF88U06ZNCzb+6NGjj4W/qgAAAABOBs3NzYGLGDHddtttbx57du3alWhmnnjiiWTycNNNN4VS4d+2bVuI1xTOmjUr/lOjP/3005VXXhnW1BE5OTkBchKzst3Tb37zm6effjpAK4+E/PDDDwsXLgz3ysieAp903bRpU7DOGAOZOXPm119/nVAMbW1ta9asmThxYohhRLY1WEJSKvIAX3LJJQGWc84554TYyTzy6yVYViMP8JB/u7Fly5Zgg0dcccUVYa0RAAAAYBA//PDDxRdfHLiIcRypra1NKDNvvPFG8pM++eSToWxTiPfxRUycOLGysnLwc7mHDx9+7bXXQmwr0WHlypUBlj9kZTtq2rRpDz300OrVq3fs2BE02X3t2bPnn//85+233z527Nhws9FTklXcBQsWhBvPmDFjnn322d27d8cz+5dffvm73/0u3AAiVq1alUxOUiRwA+qqqqoQw1ixYkXgxP79738ffPCnn3468OAPP/xwiMsEAAAAiOnHH38MsX/yMS6hyvaBAwfOO++85CfNzMzcvn178ju1YcOG5IPp45xzzlm6dOm6det6Vi9bW1s//vjjJ598csqUKaHPmJ2dHexS0fgr2z1FlnDTTTc9/vjjr7/+eiSBe/bsiXO6SJCbNm365z//GcnDddddN3r06NBT0d+rr74aIDNRTU1Np556auhRjRkz5tZbb3333Xf37t3bZ8ZDhw5t3Lhx2bJlM2fODH3eU47eNJpo55xh8Msvv0yaNCnAcmbMmBFuj6aGhobAub3ssssG6egeSXsyX2m9+eabIS4TAAAAoL+dO3cG+5v641RCle3AxzL7Ky4uDmW/rr322rBC6m/06NFnnXXWaaedlropIp555plgaw9W2e7v9NNPnzZt2ty5c2+88cZbb731rrvuiuzOPffcU1hYeP3111955ZW/+c1vLrzwwtT1GxnI9OnTky97JnPl35BGjBhx/vnnz5w5c86cOZFow+06ElPgpyWlysrKgi1n3bp14UbS1taWzNdPa9asGWjkZA5sR36T9P8SBAAAACBcId5LeFxIqLKdl5cX1ryjR48Opbnupk2bhr/iGqKJEyf+/PPPwdYeVmX7mPXOO+8k/4Ts3Llz3Lhx6V5KOCZPnhxiS+qwfP/998G+/Zk/f34q4knmu4ysrKyYfenfe++9ZH7PXH/99alYKQAAAEBPxcXFgcsXx6P4K9utra2jRo0Kceqwjms++uijIUY1zIJ12O5wYle28/PzB2kNkZBXX3013asJR2VlZSgJCde9994bYC2ZmZkputv0s88+SybJZ555ZiTP0T8WOHDgwPLly8eMGZPMmMfmxgEAAAAnGJXtgUQ+Ge7Ujz/+eChbtnv37uzs7HBjGx6XX355Mt02TuDK9oQJE0K87LKtre32229P95qSNXv27HBbUoeioaEh2GHmhQsXpiikyHbPmDEjyWxnZWVFEj5z5szkL0iNDKUVCQAAADAMVLYHUlVVFe7Ut99+e1i79vrrr4cb2zAYMWJEfX19Mqs+gSvbb7zxRljPRofdu3dfcMEF6V5WcGPHjt26dWu4OQnFNddcE2A5p59++g8//JC6qF5++eXQtyCwBx98MHUrBQAAAIhS2R7I//zP/4Q79TXXXBPWrrW1tR13Zd7HHnssyVUfd0uOU0lJSShPRR/r168fOXJkuhcXUDJda1Ln/fffD7acZcuWpTSw1tbWSZMmhbsFwWRmZn711VcpXSwAAABAB5XtgSxdujTcqWfOnBnixrW2tl5yySXhRpg6V1111aFDh5Jc8glZ2b7jjjtS13PjhRdeSPf6gliwYEFYLcdDFNmmX/3qVwGWM3ny5MjbmurwjpFj23fffXeqVwoAAADQQWV7IH/+85/DnTovLy/cvfv6669PP/30cINMhUmTJoXSiuHEq2zPnz//4MGDyWdmEMuXL0/3KhMzd+7cAwcOpDQnwaxatSrYiv72t78NQ3iHDh3KyckJdy8Sdeqpp37zzTfDsFgAAACAIyrbA6uoqAh36htuuCH07XvnnXdGjRoVbpzhGjNmzCeffBLKYk+wyvYdd9yxf//+UDIzuGXLlqV7rfG6+OKLf/7552HISaL27t0brN3HjBkzhu0ezLq6uhEjRoS+KfFLddMVAAAAgJ5UtgdSXV0d7tT33ntvKnbwzTffPGbbKZ922mnxJ3xIJ1Jle+nSpcPZcOPJJ59M94qHdtlll6X0msVkPPXUU8EW9eGHHw5nnI8++mi4mxK/mTNnJt9xCAAAACB+KtsD2bp1a7hTv/zyyynaxDVr1mRmZoYbbfLGjh370UcfhbjME6OyPW7cuL///e8hpiVOK1asOAYfkqg5c+bs3r17+NMSj+bm5sjDHGBR11133TCHum/fvssvvzz03RlSVlaWiyMBAACAYaayPZC2trYpU6aEOPWWLVtSt4/vvPNOVlZWiNEm6cwzz6yrqwt3jSdAZXvu3LlNTU3hpiV+kR0599xz052DGO644459+/alKy1Duv/++wMsKjMzc/PmzcMf7Q8//BDuL64hjRo1at26dcO/UgAAAOAkp7I9iEWLFoU17/Tp01PdfWLLli2/+tWvwgo4Gb/97W+///770Bd4XFe2J0yY8OKLLw5by+WB/PTTTzfeeGO6k9HttNNOe/XVV4ezMUuiNm/eHOys+/3335+umL/88stgXcEDiCTn9ddfT9dKAQAAgJOZyvYgtm/fHlYDh+Ep/rS2tqa9/LtkyZIUtdt94403fv3rX6d3dQGMGTPmj3/847FzMWJbW9uLL744bty4dCfmlMsvv/zLL79Mdz6GcN111wVY2tixY5ubm9MYduR31wUXXBD6lvVx2mmnvfvuu2lcJgAAAHAyU9ke3D333JP8pJdeeulwHtZdt27dJZdcknzYiZozZ059fX2qV7d58+YlS5Ycm101+sjKyiopKdmxY0eqcxLArl27Fi9ePGbMmLRkZvLkya+99lraT7AP6YMPPgi2wKeeeirdsbe3JcnPzw9343qaOnXq+vXr071KAAAA4OSlsj24PXv2TJ8+PZkZzzjjjJR22I7p0KFDL7744oQJE8LK2+CmTp365ptvDmdPicOHD0e28p577jmmuotHzZgxY+XKlXv37h22hASzY8eOhQsXjhw5ctgyM3ny5GeeeebYz8yRo8/YZZddFmCNkyZNOkYWGFnCs88+O3r06ND3MfLYHCNrBAAAAE5aKttD2rZtW+Cmtaeddtq///3vVGxcPPbt27dq1arUdfDIzMycP3/+22+/naL2I3Gucd26dWVlZfPmzUvXCeSomTNnPv3005s3bz6WG0f3t3379qVLl06dOjWlyZk1a9bq1asPHjyY7uXG629/+1uwlUZeunTH3su33357zz33hNVYKfLKb9iwId1rAgAAAFDZjsuPP/74u9/9LtG5pk6dumnTptC3LID169cvWrQorNJlZmbmrFmznnrqqW+//TbdK+vlwIEDn3766YoVK+bPn3/GGWeEstjBjRgx4tJLL73//vtfffXVY7PrSPza2to+//zzxYsXh9jpJZKfvLy88vLy7du3p3t9iWltbZ08eXKAJf/qV786NrusbNmypbS09Oyzzw62lRMmTIj8Dok8IeleBwAAAACJOXz4cFVV1aWXXhpPFeiss8565pln9uzZk+6o+9q6dWtFRcUtt9xyySWXJNSj4Oyzz87Ly3vooYfeeuut3bt3p3sdQ4vs13fffffRRx9VVlb+6U9/uvXWW2fOnJl8e5bzzjsvPz9/0aJFf/3rXz/44IPjIhWJiqRu06ZNkaf9kUceufLKKxPt9zJp0qT58+c/9dRT77333q5du9K9Gno5ePBg5KVYunRp5HUecmfHjx8feQCeeOKJDz/8cP/+/emOHQAAAIDg2tra/vOf/5SVlc2dO3fixIk9/8B/3Lhxl1xyyaJFi9as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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD/27tjFYRiIIii///BYYvdARURYiOvi+I5bZpbLwMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwL/a2NjYixcvent7Ozs79+/fv3379s2bN69fv37dunWbNm1qa2vbu3fviRMnrl69+vjx40+fPqVdLwAAAAAA/1KDg4OnTp1av359ZWXlgtlYvHhxW1vb6dOnnzx5MjY2lnY/Zjp37lxNLkuXLk27TAAAAAAAYo2Pj1+7dm3NmjWzSrN/pqqq6pdffjl//vyHDx/S7tl/nT59OiacT7tMAAAAAACi3Lhxo7GxMZFMe4ZHjx6l3bn/kmwDAAAAAMwPHz58+OWXX4qRaQf19fUTExNpd/G/JNsAAAAAAPPA48eP6+vrixRrB/v27Uu7i/+QbAMAAABzwvDw8MuXL+/fv9/b29vd3X3mzJmurq6Ojo7wP0+fPn3u3LlLly5dv3793r17z58///PPP0dHR9MuGaB0bt++Pds1Imerv78/7V7+Q7INAAAAlKHJycnXr19fuXJl//79LS0tNTU1eYQw9fX14bO7du3q7Oy8devW27dvw2bT7hlA8vr7+ysqKvK4T8arra0dHx9Pu6P/kGwDAAAA5WNsbOz27dt79uxZtGhRkZKZzZs3d3R0PHz4cGRkJO3uAiRgcHAwv5//ZmX37t1pd/R/SLYBAACAcvDq1asDBw7U1tYWO5yZUllZuWnTpnPnzv3xxx9p9x4gT2NjY83NzSW4Z965cyftvv4PyTYAAACQrqdPn/7yyy8liGWyaG5u7urqevv2bdo7A2B2Tpw4Mds7XkVFRUtLy759+8J979y5c+fPnz916tThw4e3b9++cuXKH07WXV1dXW6LF0i2AQAAgLS8ffu2ra1ttplMUW3YsOHatWvlFuAA/NCff/45q1UjV69eHW5xX79+zbLN8fHxly9fXrp0aefOnfX19ZkPtre3l6xTkSTbAAAAQOlNTEycOnVqVoFMKS1cuPDBgwdp7ySAHPbs2RN5W6upqenp6ZntKrrh3//+++8dHR1leEuUbAMAAAAlNjQ0tH79+sKy56IzMwlQ5t6/f19RURFzQ1u8ePHr16/Trjdhkm0AAACglJ4+fTr1envZamlpSXs/AeQQOcN2TU3N/Iu1/5JsAwAAACV0586dqqqqgoPnouvu7k57VwFkMzk5uWTJkpgbWk9PT9rFFoVkGwAAACiNO3fuRL44n65Q5PDwcNp7CyCbp0+fxtzQ5vEbKJJtZginxOHvPHv2LO26AAAAmNuePn2a4NPa9fX1TU1NK/62fPnyxsbG8P9JKjZvbW1Ne28B5HD8+PGYG9rdu3fTrrRYJNtMNzw8/MNz4MqVK2mXBgAAwBz24cOHRYsWzS5fnmbp0qV79+69fPnykydPwqYmJiZ+1tCXL1/evHnz4MGD8I+PHTu2ZcuWxYsXz7a5vr6+Uu4cgDysWbMm591syZIlWW6Yc51km+l6e3t/eA5ItgEAAMjb5OTkpk2bZhsvB01NTadOnfrjjz8KLODjx4937949fvz4unXrcj7XXVNTMzIykkjHAYok3KZi3lI5fPhw2pUWkWSb6drb2394Dki2AQAAyFsYVOYMH2ZYvnz5zZs3i/Go4devX+/cubN///6fPcu9Z8+exBsFSFbkJNv3799Pu9IikmwzZXx8vLa29ofngGQbAACA/Hz9+nXhwoUxCUxGZWXl6dOnwxC12IVNTk4+e/bs8OHDM6ZJefDgQbGbBijQpUuXYu6oX758SbvSIpJsM+Xhw4c/Owck2wAAAOSns7MzJn6ZiiB+//33Elc4MTFx//79HTt2VFZWhgLm8Zy0wLxx+PDhnHfUpqamtMssLsk2U44cOSLZBgAAIEFjY2PxD2w3NTW9f/8+xWo/ffr06NGjFAsAiNTW1pbzptra2pp2mcUl2WZK+BNCsg0AAECC+vr6ImPturq6wleKBPiXWLVqVc776qFDh9Ius7gk22QMDg5mOQck2wAAAOShtbU1Mtm+detW2sUCzBkzFgj4odOnT6ddZnFJtsk4e/asZBsAAIAEjY6OVlVVxcTaW7duTbtYgLmkoqIi56113gd6km0y1q9f/2++EAAAAEjc48ePY2Lt4MWLF2kXCzBnjI2Nxdxa+/r60q60uCTbBMPDw9nPAck2AAAAs5X97eApa9euTbtSgLnky5cvMXfXu3fvpl1pcUm2Ca5fvy7ZBgAAIFl79uyJyV7OnDmTdqUAc0nOh1Qz7t+/n3alxSXZJmhvb5dsAwAAkKzs815Oef78edqVAswlnz59kmz/Jdnmr7/Gx8dra2sl2wAAACSrqakpJnv59u1b2pUCzCWS7QzJNo8ePcp5Dki2AQAAmK26urqc483wb9IuE2COkWxnxCTbDQ0NaZdJER05ckSyDQAAQOKqqqpyjjebmprSLpP5bHx8/PPnzx/+9vHjx69fv05OTqZd1H99X9vExETaRc1/4QT49u3bp0+f5vSel2xnxCTbvmXmsXDlLl269N+WbM/47vjy5cucu4PFGxsbC50N3cz0N9z65uIdGwAAmItiku1ly5alXSbzRxgCP3ny5OzZs7t27Vq9evXChQt/eNbV19eH/7pjx46TJ0/evn07DJZLUFsYmIe2Tpw4sW3btubm5p9NDBtqXrlyZVtb22+//Xb9+vW3b9+WoLb5anJycnBwMOzG48ePb9++fc2aNYsWLaqoqPjZWbFq1apwdDJ7/s2bN+XzI8j3wumU8+66QLKd77fMxMTE69eve3t7w5nT3t6+bt26sJFwhtTU1ITvterq6nCdNjU1rV27NpwwR48evXLlyu+//x7uP8XoIz/07du3CxcuRE56NqeT7T/++CPckY4dO9ba2prlu2Pqe62jo+POnTufPn1Ku/DZCRfdq1evwkUXviXDRdfS0tLY2Jjlz8iwH8LRD9fmzp07w3V69erVp0+ffv36Ne1+AAAA80dNTU3O8eb8fk88DNP2Rkg9vQwD55g6h4eHE2z03LlzWdoKQ9T4TY2OjoaB/7Zt26qrq2NSju8tX7782LFjv//+e4IdzHj58mUYdDc3N+dXWLBkyZJ9+/Y9ePDAU2qRhoaGLl26FM6HnOvKZVdfX79z587e3t4vX76k3af/+vr1682bN3fv3h0z11Pwyy+/xFzaP/P58+e0e5xDTLIdrr7IrYVb3JUrV9ra2vI7c6qqqjZt2nT27Nmi3tK7u7tjjl04b4tXQ97u378fU3xXV1eWjfz5559HjhyZ1TFav359IRfClGS/BLMYGxu7e/duaHHx4sV5nIoZ4cwv0vdaggYHB8MlE+5UeX99z7B06dJdu3ZdvHhxYGCgnH+dBAAAyt+SJUtyjkHCWCbtMosojOJjBmLPnj1Lt84nT57E1Pnnn38m2GgYyWZp6+TJkzEbGRoaOnr0aIEB5nQrV67s6ekZHx8vsHejo6NXrlwJW0uqsAV/R9ynTp0qn5S13IyMjFy7dm3Dhg0J7vOMysrK7du39/f3p5WTZLL6LVu2hEoS710W79+/T6W/8WKS7dWrV2ffSDis4eC2tbX97Hn+PLS0tIQ7STGe4r5x40ZMAeF2UYa/hUVenuFG98OPh6+qbdu2FXZkCpLsl+APvX379siRI5E/XUVasWLFxYsXy2q17k+fPp09ezYUlmA3v1dfX79r167r16/73gQAAPIQGevN47dHJdtZZE+229rasn/88+fPhw8fLlLQ19jY2NfXl1+/xsfHu7u7C3nQLrva2tozZ84Unr3PJ+FkOHny5M8mn0nQihUrent7SxYYDgwMdHV1rV69utj9+pn5kWy3tLRk2cKdO3dWrVpVpB24aNGi8+fPJ5tvh61FnurlNhdNOJ0i99uMEy90OVx3KV4IU4qabL9586a9vb14xdfV1YXrZXR0tHhdiBH24b59+0r8I11FRUX4k+PatWvz+A9OAAAgcdmjyyll/qpsISTbWWQ/PRobG7N8tre3twQx5tatWz9+/DirTj169Gj58uXFLmzB36+Zv3z5srAjMB+MjY2dPn06wYf2Y6xYsaK/v79IPRofH3/48OHhw4fDJVDKTv3Q/Ei2N23a9MPPvnnzJvynEuzGcCjv3r2bYK+PHj0a0+6OHTsSbLRwZ86ciSl78+bNUx8ZHh7u6uoq3g+Fs1WkZPvLly+HDh1K8JWBLBoaGm7fvl2MXuT07du3cOqWONOeoaqqavfu3eFvnlT2AAAAMLccOHAgZqDR3d2ddqXFItnOIucPHz98ffjr1687duyIqTYRixYtijw6o6OjkSd8UiorK3t6ehI8InPO48ePly1bVsp9Pl17e3via7R1dnaWOKXPbn4k262trd9/8MKFCzFrHCdo165dST0v+scff8S0GG4RJZsXOkbkcgM3btyY+khbW1thez1hxUi2w98JpY/ud+7cWeKnlx8+fNjQ0FDibmZx4sSJUnYfAACYiy5cuBAzvti+fXvalRaLZDuLnMn2909VhQKKPS3n96qqqu7du5e9L6GwZKfUjvezCWnnt/Hx8cjHVotq0aJFyT68vXXr1rT79D/mR7Ld3t4+/SMjIyPhS6cEe+97TU1Nr169SqTjGzdujGkxfAsn0lzhBgYGYgqura2dPl3G/E62JyYmUryPLV269PXr1wl252cmJyc7OzvT6ubPJHUlAgAA89jjx49jxhfV1dXzdeZDyXYWOZPtGQ/zDw4OpvVOemVl5cOHD3/WkefPn5dgapQszp07l+BxKX8fP35ct25dijt8hq6u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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgF4vFkvj/kpOTpS8HAMxCDYkMjwAAZCDto4T0tUASsyYAgB7UPSUmJub06dO7du1av379kiVLZs+ePW3atIkTJ44dOzbw/40bN27y5MnTp08PDQ1dvnz5pk2b9u/ff+HChfj4eOkEcEpUVNSff/45b968YcOG9erV64MPPnjttdeeeeaZihUrFitWLF++fD4+Pg/cLUeOHAULFixdunS1atXq1avXvHnzzp07+/n5BQcHb9myJSIiQjoToAE1uKmBcdu2bYsXL546derw4cN//vnnnj17duzY8aOPPmrZsuVbb73VuHHj1/+f+r/ffvvtVq1atWvXrmvXrj/99NOIESNmzJixevXqgwcP3rx5UzoQskz1gcOHDy9btmzMmDHff/+9atkmTZo899xzVatWffjhhwsUKJA9e/Z7hsds2bLlz5+/RIkS6s+oP/nmm2+2b99e9Rx1A/3999/Pnj2rnu6lYwGAI27dunXy5Ek101MPC+q2qO5xffr0UbfFTp06tWnT5t1331U3wbS3RUWNmc2aNVP/Vdu2bT///HM1z+zbt29AQIB6oFBD644dO86cOZOQkCCdDE65du3a9u3bZ82aNWTIkP/973/vvffeK6+88vTTT1eoUKFo0aJ58+b19va+516ZM2fOwoULly1btnr16vXr11c9pFu3bup/rv6SnTt3RkZGSmeCI+Li4g4dOrR06dLRo0enzJrUgFCnTp0qVapkPGtS/23KrElNrTt06KBmTVOmTFmzZs25c+dY/QYApKXuC3/99dfatWsnTpz43XfftW7dul69eo888kiePHkecI66T6mbUYMGDdS0Vt2J1Fx38+bNapIjnRjpsFgshw8fnjFjhpp5NmzYUE0knGz9dD300EMvvfRS9+7d1ZPL0aNHmZPA5K5evbphwwY1Nn711VctWrR45pln1LOY5p8L9RCn/mb1xOfr6zt37tzjx4+zyGk2Fy5cWLhwYe/evZs1a1axYsV/P4w7T91za9Wq9cknn6jnPvX8zpIOALNR07bw8PBF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Ks2bN4+flaXYu3eve29Hk1bevHlHjRrF2h3Sunnz5oABA9zydVwH1KpVa8uWLdJtYhYREREffPCBdJsYp2PHju69OcmmTZuka+z+WNl2XWrE69evn2sd9ifCy8urTZs2586dk24xs1i7dq16tpJuFoOo6WJISAhPkem6dOnSu+++K91EBlHjQJcuXW7duiVddQDwLLt3765bt670TcBEGjRocOjQIelmkZSYmNi/f3+33H4kYy+99NLp06elyw950dHRAwcOfPDBB6W7pOl06NDhxo0b0u0jbNGiRR7446ayZcuuXbtWuvZ6UW0qXWD3x8q2K1Lz4Y4dO7r9C7fayp07d58+fTx8I6/Y2NiuXbtKN4WAli1b8vL2PebOnVukSBHpljFahQoVPOEnbwBgBjExMT179vT29pYe+00ne/bsvXv39szT086ePfviiy9Kt4CYggULhoaGSjcCxCQlJU2aNIk30zKgirN48WLphpIRFxf3+eefS7eAGC8vrx9++MEtd94OCgqSrq77Y2Xbtezatatx48bSvcaFVaxYcfXq1dLNKGP//v2PP/64dAuIKVWq1Pr166UbwRRiYmI+/fRT6QYR4+3t7evry87bAKCrTZs2qUmX9JBvatWrV9+zZ490Qxnqt99+88Bv1f+tR48et2/flm4NGE09idSoUUO697mGDh06REdHS7eYoU6dOvXUU09JF15e/fr1L1++LN0aGhs6dKh0Xd0fK9uuIjw83KN2W9JV+/bto6KipJvUUNOnT8+dO7d04YV5e3sPGTLEw3cmOXbs2BNPPCHdFPJeffVVXuMHAD0kJib+9NNPvKptjxw5cowYMcITZiYqo7+/P70i1csvv8w8xHNcvnz5ww8/lO50Luaxxx47ePCgdNMZ5Pfff3f7s3TtV6ZMmV27dkm3iZa+++476aK6P1a2zU9Ne3r27KmmvtKdxa088sgjHnKinHrA7N69u3S9TeS9996LjY2VbhYZK1asKFCggHQLmEWFChX27dsn3SYA4FYuXLhQr1496QHexbz99tuRkZHSTacji8XSuXNn6TKbTqVKlY4fPy7dONBXcnLy1KlTWbR0TN68eT1h957g4GAPPHcgY3ny5HGnTWk6duwoXVH3x8q2mcXGxg4ePLhgwYLS3cQ9qTuI278nExcX17RpU+lKm06dOnXc71dOmZoyZQrv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7yT2sK9SpUp9+9vfvu+++2bMmFFMHqRcqA4dOvTWW2+NHTu2Z8+eLVu2vOqqq1Lti5XLly/ftGnTu+6665lnnlmxYkWxrYlnEpITZV1+//vfxw69sJw8efIvf/nLrFmzhg4descdd1x77bWVKlWKkuSzy8jIqFOnTrt27UK7OH369PA7u/cyBeXn53/wwQfjxo0L7WWSN1N96UtfyszMHDZsWHipeuRIighD/bx583r16nXdddcl9i1g4QeFMhFK/MyZM318A6BY+bSnDaVn1KhRYXxu3bp1o0aNLrvssgKvNSVLlqxevXqzZs1C5zx48ODJkyevWbPG1JaywtKsXLny+eefv+eee773ve/VqFGjQN58D81naDnCNZCVlTVnzpzNmzd71EzQuXPnL57bC7B06dLYoUP6CXVz3bp1kyZN6tu3byiadevWLZCprVy5cg0bNmzXrl3//v1DiQw/4sSJE7FjLeJycnJCC/TGG2+EYvfwww937NixRYsW9erVu/TSS7/4gp5FmTJlatWqdeONN/74xz8eOHDg+PHjly1b9vHHH7sr+yzCyyHKDcZhpYpbo/LJJ5+89957s2fPHj16dK9evX70ox+Fa7V27doVK1Ys7GxXqFChTp063/3ud8OLccCAAWPHjl2wYMGWLVvccpmODhw4sGTJkqeffrpbt27hEiqo53JfccUVYZzs1KnT448/Pn/+/A8//NDOmeJC1/T+++9PmDChd+/erVq1Cq/xAtnMy5cv36hRo1tvvTWU7ylTpqxfv94n2gD4N2GC2LFjRyhDixYtmjlz5q9//etRo0b9/Oc/79ev3/3339+9e/ef/vSnP/nJT+78H6HB6Nq16z333NOnT59HH3105MiR48aNC//h4sWLQ6HZvXu3myvSXRgrQve4evXquXPnvvjii0888USYxx944IFwMXTu3PmzKyFcGOFPwp8/8sgj4d8JU8mrr766fPnyzZs3u4/iTOrXr//FG7zzVQyndSgk4aW0Z8+e9957L0zZEydOHD16dKiDvXr16tGjR9gSO3bs+FmhDAN+qKEDBgwYPnz4c889N23atN/97ncbNmw4ePCg2TylhJIXWpeNGzeuWrUqLOvUqVNDOQuNUFZWVhiiH3roodDwhNX8t14o/POnRTCsct++fYcMGfLkk0+OGTMmLPQbb7zx7rvvbtmy5fDh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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKI7y8vJi/woAAAAAAHCu8vLyTp8+Hfu3AAAAAACAc3X69OmcnJzYvwUAAAAAAJyrnJyc7Oxst20DAAAAAJAWTp8+nf0/cnNzY/86AAAAAABwNrm5udn/mzu3AQAAAABIWf96t/a/ysnJCX+Vl5cX+xcEAAAAAIB/ysvL+/QrI//1NPv/ASTTkO0KZW5kc3RyZWFtCmVuZG9iago4OCAwIG9iago8PAovVHlwZSAvWE9iamVjdAovU3VidHlwZSAvSW1hZ2UKL0hlaWdodCAxMjAwCi9XaWR0aCAxOTUwCi9CaXRzUGVyQ29tcG9uZW50IDgKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0NvbG9yU3BhY2UgL0RldmljZUdyYXkKL0RlY29kZSBbMCAxXQovTGVuZ3RoIDIyOTAKPj4Kc3RyZWFtCnic7cEBDQAAAMKg/qlvDwcUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA/7V3xygMxTAQBe9/YKNCWkhCCDjN53dOYKZ182qxYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALiQ5nQAAAAAAAHcl6e7TFQAAAAAAcFd3V9XpCgAAAAAAuKuq1lpm2wAAAAAA/IXuXh8zczoHAAAAAACuzMz6ZrkNAAAAAMDP2tfau6p6PiU5HQgAAAAAAC9J3l9G7tfsB4eRxVwKZW5kc3RyZWFtCmVuZG9iago4OSAwIG9iago8PAovVHlwZSAvWE9iamVjdAovU3VidHlwZSAvSW1hZ2UKL0hlaWdodCAxMjAwCi9XaWR0aCAxOTUwCi9CaXRzUGVyQ29tcG9uZW50IDgKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0NvbG9yU3BhY2UgL0RldmljZUdyYXkKL0RlY29kZSBbMCAxXQovTGVuZ3RoIDIyOTAKPj4Kc3RyZWFtCnic7cEBDQAAAMKg/qlvDwcUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJsh0fZJqFsh0fZJqFsh0fZBhgSRQdacip6xwFKQdmGEaJs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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8GAP0A/gplbmRzdHJlYW0KZW5kb2JqCjE3IDAgb2JqCjw8Ci9UeXBlIC9YT2JqZWN0Ci9TdWJ0eXBlIC9JbWFnZQovQml0c1BlckNvbXBvbmVudCA4Ci9XaWR0aCAxOTUwCi9IZWlnaHQgMTIwMAovRmlsdGVyIC9GbGF0ZURlY29kZQovQ29sb3JTcGFjZSAvRGV2aWNlUkdCCi9TTWFzayA5MCAwIFIKL0xlbmd0aCAyNDA3NAo+PgpzdHJlYW0KeJzs3c9vI+eZJ/D8J7ntyccB9tKXueTgmwe5DJBTdiCsZ5YLMHvRBhBiQAhahyEMcCdCZkEsiAEYGEPDygCcCd0wjaYddrfpbo5ttoc9Nu0QdogYFZtRu+KITtrN1Q8WRYlFkVViS1Hj80FdWsWn3vct375+8NRoBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnMte2H/w4O2bzZs39q9/b9ztfhiEl70nAAAAAACI8fmNV/N//cNnv/Xf/+vs9cyPfvCTN97evewtAgAAAADAob2br15/5vmYQPv09T+/9+Ib76dYIAy69epOqXigVN6pt7qX1AY+bDcO1ButYO5vwm6rvlMeb3anWu8u7llPUQIAAAAA8LQJw/Cjjz66d+9eo9F48803f/nLX965c+f+/fu/+c1vHj9+vNKletd//JeLM+2p69r/+eckzdtBJb+xNiuzWe0MVnqQxXrVXLR8thG3eNCurMfsdW1juzpvrylKAAAAAACeMp988snNmzd/caZ79+599dVXq1itf/1HCTLtyfXtF/95b6nnh5WtTFzuO46Xq73hKk6xnH4te5CoH+1nvTmTO4ednflbXcvkq7N7TVECAAAAAPA0CYKgVqudnWlPe+eddx49enSeFV/5afxU7WWu515+e+Hze7X8JObdLNaDg5x32O808pMu58x2/zwHSCAonmitnk22e/njDH6z1jmYVjIc9Bvl4yPk6/1zlwAAAAAAPD263e7ymfZErVbb21uue3rGp7eup461j66fPHh45gpBITsOeDeKzVPHzUWZ8HZj/sTr1WmVTk1EOZ1sB41CdGvj1I66lWiGSbYQnK8EAAAAAOCp8eGHH6aItSfh9h//+Mfka77//WU+GXn29cO///SMFfq1KL3O92ZuBo3tcdd2rpp888kczwzJ5suFzdhku5Yfp/C56uxm+1FEn6lMjU9JUQIAAAAA8HT47LPP5qXWd+7cuXv37sJw+80330z6WcmP3/jReWPtw+vF+W3bnfLmOE7ebsTcDptRF/VW58lGv93JZyN3umFn3Lx9Mtketjej7Lse12PdKo43u7XTSV8CAAAAAPBU+Prrr2/cuDEv1j76zTvvvLMw3L5//36SZR/+5McriLX3r2d+emPeGq1osPV2/KzpQWn9rGR4VSad1euHE1GiwPlksh02o70U4vfaKkYpfT19CQAAAADAU+HevXuxSfVbb701/bNlwu3d3d1lVw1vXjv/KJKj639dnzeQpFkYR7/lThj7g0lXc6H5pKLt41HYUf4cn2wPGuO9bu7E73UwybGLQeoSAAAAAICrLwzDarW6TLI9WiLcfvvtt5deuPGdVSXbz3/vxu9i1xhELdsbzfjk98kn28cDT7K1aBJ2bLI9aBajvu7WgketFwdpSwAAAAAAngIPHjw4I6m+ffv2qenZZ4fbr7766nC41MTq3Qf/uJpY+yDZ/u68ZDsaNrLemBPsPuFkO9yJBmFvVbozi55MtqPJIeuF5pyHzSTbyUsAAAAAAK66b775pl6vn92GnTTc/vTTeaNBTgia1y8w2V6rxs6hnkq2y+05Xd3n0K1E3408OS3k7GR7basW/7hJTL1ZDtOWAAAAAABcdV999dWrr756drKdNNy+d+/eUmv3f/7MyqaRfLeycBrJuXq2B616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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/5+9O4+zuq4XPw5qatZtud3bcusXt01AR7RQc8GlTNKyFFuUNo2sq2glWRrVTW4blV5Rk6wrpaIywzZsI8oQMIgOggOyCAzI6rAODDPDDLPP+f5GTJz5zpmZc84s34F5Ph/fh4/Cs73P+fz14uPnCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQ08Xq6mpKy6qKSqr2FVfu3V9ZWNRwNfzvuorKIBaL+tMBAAAAANCDxOrry7fv3r3ohU2Pz3jp7r/l3XHXc8NGzv/Cfz117ldn9r888/9dOPlfz0o/Ie2JXie3cqWfeNqkd5459T8GzTrl8qcHDZ1/5U0NL5J3+x8bXnDLpNmFz684uHOPAA4AAAAAQAoqC4t2zstde//4xTf+cu4l103/6GfarNYddTW80fQPXzL30uuX3PI/6x54bOf8xRW798rdAAAAAAA0EYsd2Lht84RZS2/97ZwLvzb53z7ZNRE78Wvyv56V/elvvXDb6M3pWQ0fVegGAAAAAOiB6iqrds5f/OIv75v7mesm/+tZkbfrpK5Jbx8473PfXX3XuH0r1qncAAAAAABHsVhd3a6cJS/+YszTg4Z22ekinX1N+fdzcr78/fwHJ5Ru3Bb1FwwAAAAAQMeoPVixbVr2s9/6yeR3nR15iO7Ua1qfi5+97vZNj01/9WhuAAAAAACONJV796//2+T5X7wx480DIm/OXX317jvngqFrH3isorAo6t8BAAAAAIA2lG/bseaev8+56OsTju0ffWGO+ppwXP+5nx328iOZNQfKo/5lAAAAAABoor6qeuP4aU+fd03kMbl7Xuknnrbg6pu3Tnm64YuK+rcCAAAAAOjpivM3Lbn1t0f9GdoddU182yee/dbtuxcuDWKxqH86AAAAAICepa66ZlP6rDmf+mbkrfgIvbI+fuWGR6Y2fI1R/5IAAAAAAEe/sq3bl/307snvPifyOHwUXFPfd/7KX4+t2lcc9a8KAAAAAHB02rtk5fzPf3fCMf0iD8JH2ZXx5gG53/15ybpNUf/CAAAAAABHj8IlK+ddfkPkBfiov/5x2Xe2z1nkCG4AAAAAgPYoXLpy3uc07S69sk7/YsHsnKh/eQAAAACAI8++5Wvmf+G/Is+8PfbK/vS39uatjnoVAAAAAAAcGYpWrJt/5U2Rp13XE737Lrz21gObC6JeEQAAAAAA3VfZlu05X7ol+qLb6pX+pv7TP3jOnPMuW/TVoctG3LRm9B359/3i5f/71ZbHRr8y5e4dT96/e/5f9i4eN+Mj5888+YLIP20HzHv8qUt+8OuqfcVRrw4AAAAAgO6lvrpm5a/Hpp94WuQht/E18aS0pz/52SXfHbb+/v8umD6mKO+Ryl3Tg9i8IJjf5hX5h+/Ya9LbB6787YN1FZVRrxQAAAAAgG5hxz+em9nvssjj7RO9+077f+fkXPHlFT+/ddukuw+sz0gwYveEsv3aNfX9F2x8dFoQi0W9ZAAAAAAAInNwV+HCa2+NttZO/89znx92/ZbHf1+xY1rKHbuHlO3XrrmXXl+2dXvUawcAAAAAoKvF6urW/mn8pLcPjKTNTnv/2c9945sb//ab8i2TO7Bm95Cy3XBNfOsZ6x54LFZfH/U6AgAAAADoIntfWPXkwCFd3WN7930y7eLV/3NbyZonOqlmH76yTr048vjcBdecC4aWbtgS9WoCAAAAAOhcdRWVS27+nwnH9OvSoH3ap1b/6sel6yZ0XLt+NgheCIJVQbA+CLYEwStBsCMIdgXBniDYFwT7G7/7noVLd85ZtH3mvG2Tnto8fvr6Pz228hf3Lvnefy+88qY553x1xocvmfiW0yNv1Clf6SeetvoP/xerq4t6ZQEAAAAAdIr9q/Jn9r+8y6Lrqzu0f/3j0vz09kXs3EMFe3MQ7A6CkiCoDIK2j+BoXLbb/l5isarCosJnl236+5QX77jrmSE3Z536+fQT0iKv1kl81Wde3fDjdsASAQAAAADoPmKxdX9+Iv3E07piF/EJpzz39W/sfW5cSh07JwjygiA/CLYf6ti1qY2bXNmO+4XV1hWvzN/40KQl3/3F7DOunHBs/0Yz9o08Zcf52o8/9cU772v42KnNCwAAAADQrVTtL1lw9c1dEFdnfOi8Nb+/o2rvzCRr9oIgWHZoV/b+RPZjJ6L9ZTuk9mBF4bPL1v7xoXmXfrs7b+d++vxrD+7Y0yEjAwAAAABEZfdzy6b16dzbKU44tt+Cz129I+u+IDYvmaCdFwSbgqAoCDp+m3GHl+3G6ioqd85ZtPy23z952hWRp+zm15T3nLtzwfMdPjUAAAAAQBeI1dev+t2DE47r33kRdcJx/RZff/2BlycmE7SXB0FBEFR16uydWrYbq9ixZ8ODE/7xqW82vFHkTbvR79J/9V3jglisU2cHAAAAAOhYFbv3zv3MdZ3XTtPf1P/5YdeXbZrUrYL2YV1Wtg+r3LV3/QOPz73w690nced86ZaaA+VdMz4AAAAAQDvtWZQ35T3ndlbTPr7/ku8OK98yOeEztLcGQXUXfwNdX7YPq9ixZ9WvHugmfXtmv8v2v7Shi78BAAAAAIBkbU7P6qRbHL7atL/3nfKtU5K8QeQrXf8lRFi2G6z5w0ONP0C0cTvjLadvmfhk138JAAAAAAAJicVW/u7BTgqk8z97VWl+egIdO/fQJu3Njf4kgrsZRlm2Y7GZH7v08AdY/Zs/r71r3MyPXtqxP0ey19If/iZW2/F36gQAAAAAaI/6mtrnbvhZZ0TRGR8+r2D6mMRO0t4bBK/dtbAmCHIa/aviLv42Iizbu+c//8Z+6RNPqy4qCQ7dzfOVqXOeOvPq1/9VV2/knnvZdw6UlMTcUxIAAAAA6DZqDpTPHfztDs+hE9+StvrXP66vyk6gaTdv1y81esDaLv5CIizbzw790eF3f+5rtzX5d7HYrrnPzbvk8J09u6hvz0r7/N6CHfv37z9w4IC4DQAAAAB0B+UFu2YN+EIH59DefRd9dejBV6a21bRfbHk/9v5GD8sJgtqu/E6iKttV+4ozTjzt8LvvXrAk7sP2LVm58KrhXZO1p7zn3J2r1+1/XWlpaX19fVd+JwAAAAAAIUUr1k19/wUd20Knf/CcXXPHtqNpH7a40eMLuuLreF1UZXvdPQ8ffuuZJw9u/cH7nl8x94KvdWrWTj/xtC3zntvfVElJibgNAAAAAERlx5xFE//l4x27VXvx9dfXHJjdatNecmg/diK2Nn1W14mqbGed8rnDb732jw+1/YRYrGDGvFn9Luuksr320an74ykpKamrc0NJAAAAAKCrvTJrfvrxp3ZgBZ363jMLZtzbatN+5tDW68QPaq4OggWNnl7aed9GSMmalw9fXfamhYvy3tgsffyplXv2JfjEWG3dy39Jn/qe8zo2a+f98t64Wfs1xcXFtbVdekQMAAAAANDDFczOST8hrQMr6KIvX1tVNKvVrJ0fBDXJf9LVjV5hXcd/Ed1J7rduf+P7/MoPkn16zYHyvB/+ZsIx/TrkB1349dv2FxW1UrZfi9s1NSn8pgAAAAAASdue/WwHZu3J/3rGlid+32rTXhYEB1L9sPsavc7CLr6PZFeqLi6deNLph7/VXdnPpvY6RS+snv3xq9r5mz51/rX7du9pPWsfVl1d3bFfBQAAAABAyPZ5uRlvHtBRWfupgZ85uG1qy017YRDsbN/njQVBbqMX3N4x30L3s/5Pjx3+Vmd8+JIglviZLWGx2rp19zw88S2vdfK+yf6m0z9yye6NWxLM2uI2AAAAANDZdi1cmvGW05NNnS1di6+/vr4qO17QXnDony8GQWVHfOotjV75hY54we7oyQFfOPzFvvTbB9v/guVbdyy4/IZkf9NJ7xi4/YWVSWXt1ziWBAAAAADoDHtyl0986xkd0rTTj++/YeydLW/VzknyTpGtq2p6H8mUDzbpvvY9v+KN7/ZNp1TsLOyY143FNvx5QsaJpyX4s044rv/LM+amkLX3u6EkAAAAANAJ9r6wauLbPtEhWTvzfWcVPvtQy1k7LwgOdvTHX/n6iz8TBHs6+sWjt+WJmZPfceZrX+/Cq4Z37IuXrt04+4wrE/llV/1pfGpZ+3Dcrqur69gPDwAAAAD0WPuWr5n0joEdkrXnnHdZxc5pLTTtBYdODumordqN7Q2C5UGwOwjqO+HFu4W6isrNj07LHjR0x5M5Hf7i9VXVy3/yxzbOlvnBr9qTtV9TUlJSX3/U/kYAAAAAQJcp37ZjyrvP7ZCs/erB2jVzW8jazwZBcdSz0ppd/8id+p7z4v+4vfuuHPP39pftBqWlpbF23P4SAAAAAKCm7GBWo1sTpn717vvi7be0egJJVRePVlnyusoOuU9lC+/S6G06+JVLCl/1zwk6cYTGDm7f/fQnv9LSr7x05N37i4raH7cPHDggbgMAAAAAqYnV18//4o3tz9oTjum79u6Rhwr2vHhZO79jDwmp3JwzZvSYfxqXXdL4XxWsyhw7etiQQX16NdGnz6Chw0eOz8pN/M6LoXdpUpYrC3Iyxo4YOiQt9Da9+gwaPGTEqLHZeZtTHm5VTsbI4c1fueG104YMHT56zNixY1qUkZPy+76hvqr6+Rt+Hu+H7tvwz0Xf/mnR3r3tj9tlZWXt/6gAAAAAQA+U99O72p+109/Uf/Ojv2thq3ZOEOzo8I9dmD2yUfAdnv/an1bmjx0+uFkObi5t5LicRDZAN32Xoav++ZyC8aOGJfAuvXoNGpaVX9L6W4TkZ48bkpbQa7ekz4is5L7KlsRiGx6ckP6mU8J/hXEobs+74nv7du1uf9wuLy/vmE8LAAAAAPQYL4+f1v6sPfGktB1Z97WQtZ8LgtLO+OSFOaMaF+RXN20XZA1JqgAPHVOQ3LukZRW++kfDmm+lbtXIzPzEZto8dlj7ovYhg0Zmt/fLbfwNPLuspWO3nzr3q3u2bGt/3K6q6uozagAAAACAI9eexS+mn5DWzqw9+V/P2PvcuBYOIXm+8w7Wbtqc+4zJykxsF3VTg0e3HrebvkuvUZlZI1Jqz2Py2ty5XTimhS4/aPCQoUOHDhkyOMGgPnhUTod9y4eUbS6Y+bFL4/76s9I+v3vjlvbH7dra2o79zAAAAADAUam8YNfU98bfi5tE1n7nGftXjG/5fpE1nff5Q805rM+gYSNGjcvIzM7OyszKyhw/dsTQQXEfmDY8I/V36dVnyLARY8aNz8rOyc3Ly83NHj9mZPwAPWhU64d7549vHubTRo7PLmh6tPeqnPFDm6f1tBFZOTl5q/I3FxR20k0mqwqLnjrz6vhxe8AX9mxu787tkpISd5MEAAAAAFpXe7Ai6+NXtjNrT/qXAfue/1sLWXtBECR3vnSyWm7OaaOz8uL23cqCvFFD4nTn0bktftRWyvaIcdktxOqSnHHD471Ly227Mndos1jd8i7vkvEjmlb6PsNXtfjSHWZPzpL04/o/8fpNJBtfDWup/ceSHDhwoPOHAAAAAACOWLHYwq/8oJ1ZO+PNabsX/KWFrP3atSgIDnbeEC0058GZm1t/XuX44c02PQ8e21JFbuFd0sa1dbpIYc7oZq26xRs7FjS5T+Wrj81s4wTwzSOaFvqh4zq3bRev3jDlXWc3WgDN4vYnrirc+ko743ZFRUWnTgEAAAAAHLnW/zWjnVk7/fj+O2b/qdWsffj2kZ1zOkYLzXlMy7uvGykYFT6YJC2jhR4e911GtbRZu4nKcUOb1ue0Fg8kyRk1uGkDz2zz1fPHN90WPmh0Ip8pNWUbt2W+7/xQ1p7QLG4/eebVhdsK2hm3a2o68QQbAAAAAOAIVbJ+c8ZJA9qTtScc1++VKXe3cMvITYeuxn+yOAiqO2OQOM15SItbr8NWjQs9dfDo3ETfZfDoBN+lJHdM6Jk58Z8ZbuCjchKo1IVZTfJ8W+d4p+zg9t0zPvTpxgtg5X/fu3T4qLhr46nzrtm3a3d7ynZxcXFdXV3njAIAAAAAHJHqa2pnn/WldmXtY/puHj+6hR3aG15/n/VN/3xJZ9xKsnlzHtHWQSSNnz16cNMnt1CGm7/L8Ja2dzdXktP0TQZlxa/PhaE95AmV7ZLspi8+JKHt6kmq2rs/65TPNV4AL3z/1w1/HquvX/LdX8RdIfOHDC/at689cbu0tNTdJAEAAACAw5b/973tPIck/95ftLBbe13Tt1rT9N/mBUEHb8Rt1pyHtLAjOr788cMS2VDdrncpzG5arAe1cIpJ4eimjxu3KoEjXMJlu6Vsnrqa0rKnBg5p/Osvvu6O4PXmHKuvX/ztkYeOJWn0Fx+vPewHv2pP2W5w8GAnntAOAAAAABxB9uQun3Bs//Zk7SXf+04Lu7VfCoLQJtuG/7uq6WOWB0F9B44Tbs7JHsdREsrOaePz4/TkZu+S1HHWm0c2uVlli2V7VNN7Wo7MbuP+kYc+f06n7tmuq6ice+HXG//6zwy5Odb0nJCG/5v7zZ8cPnm78bXi7nHtjNu1tbUdOQ8AAAAAcASqKTs4/SOXtCdrz73oiljtP+Jl7ZXNsvZr6oPgxcQemYpwc04bmUAObiRchuP35GbvMiqZdwltxm6pbFdmDGuStoeNz2/744cO8e7Qc7bra2oXXH5D419/3qXfrq+Kc156rK7umS99P96pNf3y02e2p2yXlJQ4kwQAAAAAerjnvvOz9mTtGR8+r2rfrHhZ+8VWd2LXHTqHpPHj13RU3A415z7DMxI4wqPJC4TOAEmkbPcZOi6Zd0mwbAerxg1tWtmHrWrjlSvHN73pZNqIrCQ+V6ti9fWLvvKDxr/+nPOuqS2vaOnxdRWVc869pvmayXjzgC3zc9sTt51JAgAAAAA92bbpc9uTtSe9bUDJS0/Ey9pLEzg9u+bQHSQbP6vtDcmJCDXnQaOyk32BFMr2oFE57XiLFst2UJDZ9DySXoNGtBbqN2eNbPrwxG46mYhY7Pmmfwky+/QvVheXtv6kqsKiGR/5TPOVk/mBC3dv3NKeuO1MEgAAAADomSp2753y7+eknLUnHNtv+6x742XtRUGQ4P7l6iBY3PS5G9s/V7g5j+ySsp3cuyRctoMgY3iTPdivGjwia1Wzj1SSP27kkPAjh4ztqDO2l434XeNff+bJgyt3703kiQc2bJ3yrrObr585l3yraN++lMu2M0kAAAAAoGda9PXb2rNhe80ffhovay8IgqRiamUQPNfo6S8ksNm7De3bTR10t7IdVOaFTiR5TZ9BQ0aMHDWmwehRw4cOjveQIa29bDJqyw7OPuPKwz/99A9eXL5tR+JP3/vc8vQT0povoaU/vas927YrKlo8CAUAAAAAOCrtfjavPVl74ZVfiZe1G66dyX+Wg4e2eTc8d1kQdMARE+F7Oya9b7mble0GmzObfqIE9BmatTnJ88VbVV1cOue8Vw/Nnvruc0vzNyf79G0TZ8dZSL37bpj6VHvitjNJAAAAAKDnqK+ry/r4lSln7cz3ndXCXSNfTvUTHQiCl9q/W/s14bKdNipOmG5Fsz3S0ZftBgW5I+Puy45n2OjMDtqs3URtecWiL39//4trU3v68tt+33wtTX7nmTtWrU25bJeWljqTBAAAAAB6iHV/fiL147WP6btzzgPxsvaKIOgWjTFctgeNSi7zlmSHNkiPzo3zAl1dtoOCsXEPJWkkbdCQUWMz8zvqZO2OFqutm3vh15uvqKyBQ4oK96YctysrO3JrOgAAAADQPVUWFU+Od0e/BK9lI26Kl7UXd8hBIh0iXLZ7Dc1Lpn0WZoeeHj87d23Zzh/Z5PF9RmXmlZSUFBRsbpDfYHNBYckREHgrd+2d+t7z4hy4PfLulMt2cXGxbdsAAAAAcNR7fviolLP27NM/XV89N95dI0ujHusNzcp2/ONEWlA5flifJk/uMyLuodJdWbazRqQ13po9Nt4e8iPFnmdemHBs//B/CHBsvy0LclOO2wcPHox6LAAAAACgExWtzG/eFRO8Mt6cVrLmiXgbtrdGPVYTzct2n2EZCT85fBRJn+Hxn9t1Zbsyd0jjrj0iK5k36o7W3fNw89U1o99l+3btTjlu19V1zCHtAAAAAEC3E4vNuWBoyhu21z/wy3hZe3k3OV77sOZlu1evQVmJbXPOHhkK271G5cR/ZteV7c0ZjXdsJ7P/vLuKxRZ87rvNF1ju93+VctkuKyuLeioAAAAAoFNsTs9KOWvPveiKeFn7mSDodsc7xyvbvXoNGdNm2y4In7D96o7t/MTepfPKdknu6CafaOjY7nqLyCRU7Ngz+Z1nhpdZ776bZi9IOW7X1naXk94BAAAAgI5SX1Wd+YELU8va6cf3b+Eckj1RjxVH/LL9ahMeE/fE7Ndszh7dp9lTho5bleC7dOKe7ZLwASm90oaMHDMuKzsnNzc3J6zhz3LzVuV3/xtKbo339yzT/vNTe3fsTK1sl5Z2o8PeAQAAAIAOse6Bx1LesP3i7bfEy9pro54pvpbK9msNedS4zFWbCxtl38qCVTljhg+Ol8JHtLRhu/m7dOYdJEvGDumVgrTBQ8dk5HTfDd6x2KKv/KD5Ylty+x9S3rZdXV0d9VQAAAAAQIepq67J/OBFqWXt6R88p+7gnGZZ+7kg6KaHP7Ratt/I1oPS+vTq06ClBwzK3NzatucuLNuvnkgyLK1XqgaPyW6l0Eepau/+qe85L7TeJhx/6vZlq1Ir2yUlJbFY9zr1HQAAAABIWf5DE1PesP1K5j3xNmwndkfGKISa85DRmRnN7gvZlrTxq9rY7NyVZXtzXvaoeJvKEzdsXF4yH6/rbJ85L86h7p8dlvK27crK7n4MCwAAAACQiFhd3fSPfia1rL3g81+Kl7VXRD1Ta5o155yGP8weMyzRCpw2LLug7TrazrI9qmnZzmqpbBfkjBj8z23lLe4uT2yqjFYOGY/UM1ff0nzh5afPTHnbdtQDAQAAAAAd4OXHpqeWtSeelFa+ZXKzrJ0TBBVRz9Salppz5ea8sSNbO9UjbfCwsZm5CW75LcwZ3fi5g0fnJPUZRzfZgz04O16OrczPaL7XfPCwkeMzs3Pz8vJym8g7JCc7a9yYUcMGx5tyyNju2XzLt+7IePOA5reS3Ldrd2px22nbAAAAAHCki9XXzzrl8tTK9qpRP4q3Ybu77v19XVu7qSsL8vOyMzPGjR0zLiNz/NgxY8eNz8rJa3JXye6gMndo0zLdZ8io3AQ2k//z2YV5zQ4wGZpote9yq389tvnyWzry7tTKdmlpadQDAQAAAADtsnXK06ll7Sn/PrC27KlmWXtxENRHPVMb2ndOSHeR23RXd68hY5LecV2SM6TJS7R1n8ro1FVWzfhI+MCcjLecvnvDptTidk1NTdQzAQAAAACpisWyzvhiamV77V0j423Y3hf1SG07Gsp2ZV7TDdtp4/NTeJWSpvep7DNuVXfdtB0EO57MaVh1E5ouwueG35la2T5w4EDUAwEAAAAAKSrIWpBa1s78j7PqKuc0y9qroh4oIUdD2S7MbnqHydEp7bYubFq208bnd9+y3WDhF28MrcMJx5+6c8361OJ2bW1t1AMBAAAAAKl4+vxrUyvb6x/4ZbwN22VRD5SQo6Fsl2Q3PYtkaCpbtoOCUU3uJNl9TyN5Tcmal5/o3Te0FBd9+6eple3y8vKoBwIAAAAAkla85uXUsvb0PufU18xtlrVfinqgRB2FZTttVApNunLVuD5N8vjg7KSP6u5qud/8SdPV2HfCsf23L1+dWtyur+/uZ8IDAAAAACFLfvib1Mr2xr/9plnWXhAEB6MeKFFHQ9kOnUbSKy0j2U3bJblNT+ru1Wvo+G59FskhZZtemXBc/yd6Ndm5nXPtramV7YMHj5hFCwAAAAA0qKuqnvxvn0wha/9t4IXxziFZG/VASTgaynZQMKpp2u7VZ3hewjuuC/Iyhjbdrt1gdG6337F9yNIb7wyftn1Mv+3LVqVQtouLi2OxWNQDAQAAAACJ2pQ+K7UN209n39Vst3bDVRH1QEk4Ksp2kD9+WLhN90obMTYzv6DFQF1SkJ89fszQQc2idq9efYYdARu2X3Nw++6ME04LLctnv/eL1LZtV1VVRT0QAAAAAJCo7Eu+lULWHntS3++n31pQPK1Z3F4fBEdKGT1KynbDHKMHN0/UhzJ12uBhw0eMGj16zKtGjxo5cvjQIfF69uGvYNTmqIdJUNnGbUtvvPPQgSRNVmbGSQP2bN6WQtk+cOBA1DMBAAAAAAk5sLngid59UyjbV509oNeNnzz+lvOuf3T4ul0Tm/XtNUFQFvVwbTtaynYQlOQNb6VXJ2bQ8HEFUc+RiP0r1j177YimTbvJGs67877Utm27jyQAAAAAHBGW//yeFLL2w8f1fev1Z/e68ZOvXcfcdM6U5ffHO3N7ZRB06xObj56y/arCzDEp5u20ISMy846Aqr1n4dIFl9/Q5t/FTHnveft270mhbFdWHjH/uQEAAAAA9Fixurqp778ghbL9nVNOO5y1X7u+/ejw6rpn4sXthmtZEOyLetb4CrNHNg68fUZkRf2J2q1yc9a40UMHpSXQs/sMHjJs1NiMvM3d+m8fXhWLbZ85b85518RdjdPireHVDz6RQtkuKen2XwUAAAAA9HgFWQtSyNqP9zr5/decGSrbn7n3liCIBcGuIFjSQt9eGgS7Dz2mG6ksyMsYn/FP48dnryqM+hN1mMqSwvxVeTk52dlZWZmvj5iZmZWdk5u3Kr+g8MhIuLHaui2PzXgy7fNxl+KTp12x5fGZDY+Z95nrQ/9q1mlX7C8qSiFu19bWRj00AAAAANCaBVcNT6Fs3/neU0JZu+F6cvVzjV5476F92nH79uIg2B4ETjOmDXUVlesfeHz6f34q7iLMPv/a7bPmB7F//kXJzqeeaf6YLfOeS6FsHzx4MNrBAQAAAIBW1JQfTD8hLYWyfdHFZ4Sydt87v1ofax6ri4NgRQt9+9kgcKAxLSrb9MrUd58bZ/n17rvgc9/d88wL4SfEYlmnfC704EXfGZlC2S4uLo7Futd/WQAAAAAAHLZl6pwUsvbf3tT3hBvCG7bHzEtv+X3KguClIFjQ7GQSaFks9uRpVzReeBOO6//s0B/tX7GupWesf+Dx0Fqd9PaB+3btTiFuV1dXd+WsAAAAAEDiFl13ewpl+7v90ppm7XOOv2XQ3rLitt6tIgjygyDn9bK9pysm5Ei25fGZry25jDcPWHrjnWWbXmn98dVFJenHnxparmv/PjmFsl1WVtY1MwIAAAAASYnV109+9zkplO2PDRkY2rB9zbifJ/y21UGwMQhe6G73kaQbitXWzT79iy/ecVflrr0JPmXRV38YWq5zLvlWCmW7uLjNv6kBAAAAACKwZ/GLKWTtMW/r1/zekdlrl0Q9DUepJM+73jF7YdMV23fCMf12rlmfQtyura3tpJkAAAAAgJQtG3l3CmV76BmnhbJ2n59dGe/ekRCBWF1d5n8MCi3avFH3p1C2Kyoqop4GAAAAAAib1fT2fAleH/7SmaGy/fMZD0Y9CrzhxZ+G/8rmyTOvTqFsl5aWRj0KAAAAANDEgS0FKWTte/8lzlEkKwo2RD0NvKF07cbmS3fXupdTiNv19f5jBAAAAADoRtbe92gKZftrpw8IZe2T7/xKLMmTkKGzzep3WWjprhzz9xTKdnV1ddSjAAAAAABvmHvp9SmU7Y8OGegoErq/5geSZH/muhTKdnl5edSjAAAAAAD/VFdZlX5CWrJZ+y8n9u3tKBKOBPueXxFavelvOqXwle3Jlu3i4uKoRwEAAAAA/mn3My+ksGH75o+mhbL2h39xtaNI6IZi9fWZ7zs/tIDXPjwlhW3btbW1UU8DAAAAALxq9R8fSqFsD/r0x0Nl++b0u6IeBeJbeuOdoQWcc80PUyjblZWVUY8CAAAAALxqwdU3J5u1H+998tuuOytUtrNWPxv1KBDfzjmLQmt46vsv2F9UlGzZLisri3oUAAAAAOBVmR+4MNmy/dt/OyWUtY+/ZVB5VUXUo0B8cQ+T3758dbJl21HbAAAAANAdlG/fncJRJF87fUCobH/m3luiHgVa84+LvxFaxqv+ND7Zst2gvr4+6lEAAAAAoKfbOuXpFMr2mZ/9RKhs/zH7sahHgdasGvWnDjlqu6amJupRAAAAAKCne+G20Ukfst0rziHbizevjnoUaM2ehUs75Kjtigqn7gAAAABAxOZcMDTZsn3P2/uHsvYJtwyqrrWRlW6tvqo648TT2n/UtptIAgAAAEC0YrV1GScNSLZs39g3LVS2B939vahHgbb949PfCi3m1X9+PNmy7SaSAAAAABCtfcvXpHDI9qcvPCNUtu/IfCDqUaBtzY/azr3pl8mW7f1uIgkAAAAAkcr/a0YKZfvDV58ZKtszVj4T9SjQtu2z5ocW89ODrk2hbFdXV0c9CgAAAAD0XEtH/C7ZrP1Y777H33B2qGxvLy6MehRo28GCXaH1POntA91EEgAAAACOLPM+d0OyZfvud/QLZe133TY4FotFPQokIBab8q6zQ0t6x4o1yZZtN5EEAAAAgAjN+NilyZbt738kfPvIT4+5Oeo5IFHzLrkutKTXPTYt2bJdUlIS9RwAAAAA0EPV19ROOK5/smX7qrMHhMr2iMn3Rj0KJGr5bb8PLeklt/8h2bLdIOo5AAAAAKCHKlm3KYXbRw687BOhsv3I4qyoR4FEbXlsRmhJz/vCf6VQtuvr66MeBQAAAAB6oleeXJBC2f7AV88Kle28beuiHgUSVbTspdCSnjXgCymU7ZqamqhHAQAAAICeKP/BCclm7cd7nXz8DWeHynZxxYGoR4FEVe8vDa3qSe8YmELZrqqqinoUAAAAAOiJlo28O9myPfakvqGs/c4ffSbqOSA5k94+MLSwC7e+kmzZrqioiHoOAAAAAOiJFn3jx8mW7Tvfe0qobA/83XVRzwHJmX3GlaGFvXXh88mW7fLy8qjnAAAAAICeaM5FX0+2bN90clqobH/l/34W9RyQnIVXDQ8t7LXjM5Mt22VlZVHPAQAAAAA90YyPXZps2b7m4wNCZfv2zAeingOSs2zE70ILe/lv/5xs2S4tLY16DgAAAADoiSa/6+xky/bl550RKttj5qVHPQckZ/3940MLO/emXyZbtouLi6OeAwAAAAB6nFh9/YRj+iVbts+/5OOhsv3E0qejHgWSs23i7NDCzrn21mTLdoOo5wAAAACAHqeqqCTZrN1wnXbFJ0Jle+66pVGPAsnZNfe50MKe+9lhKZTtWCwW9SgAAAAA0LOUbtiSQtnu8+UzQ2X7LT+8+IM/u3LAr79+4f/eeOWDP7nukV/9cNI9d8566N55GY8szpq+YmHOhuUrCjZsK9pVWlke9dAczWpKy8q37ti/Yt2enCUF0/+x6ZHMdWMeWXXn/Xk//M3i6+5Y+MUb51749ScHfGH6By+e+JYzQgv7ybO/lELZrq+vj3poAAAAAOhZChe/mELZfuc3zwqV7aSurUW7op6bo1PZxm0prOfD1/SPXZpC2a6rq4t6bgAAAADoWXZkP5tCADzxO2e3p2yXVJRFPTdHp6p9xe0p21P+/ZwUynZtbW3UcwMAAABAz7Jt+txk69/jvU4+5r9SL9vHDj/XucR0klht3RO9+6Zcticc139/UVGyZbumpibquQEAAACgZ9mckZVs/Xv0mJNDsfpfbr24uOLAln07XyxYv2D9smkrch7OzRozL/3OWQ/9cNI91z3yqysf/MlF/3vj6b/5Rp+fXdlwRT00R7Np779gep+LZ5/+xbkXfWPhlTctvu6OvB/+ZtWd968b88imh6cWTJu7e8GS/S+uLd+yvbq4dMq7zg4t773bdyZbtqurq6MeGgAAAAB6lpcfnpps2f6/E/qGyvZ7br886jkgFZnvOz+0vAu3vqJsAwAAAEA3l//ghGTL9gNv6Rcq2x/6xZCo54BUTPvAhaHlvWfT1mTLdlVVVdRzAAAAAEDPsmbMw8mW7Xve1j9UtvuPuibqOSAV0z94cWh57355s7INAAAAAN3cmnsfSbZsj3lbeM+2ss0RasaHPh0u2+s3KtsAAAAA0M2tve/RZMv2vf8SLtt97/xq1HNAKmZ+9NLQ8t61doOyDQAAAADd3No/jU+2bN//1nDZ/tgvvxz1HJCKWX0/G1reO1evU7YBAAAAoJtb98BjyZbtPzW7g+SHf3F11HNAKmb1uyy0vHesXKtsAwAAAEA3t27s48mW7Qeale0+P7sy6jkgFdP+30Xhc7Y3bEq2bFdXV0c9BwAAAAD0LOsfmphs2f7riX1DZfs9t18e9RyQisnvPDO0vPft3KVsAwAAAEA3tyk9K9my/egxJ4fK9pu/f2HUc0DyYrEJx/Vvsrx7991fVKRsAwAAAEA390rWgmTLdsP1pu+eHYrbNXW1UY8Cyamvqg4t7IlvPSPZrN2gpqYm6lEAAAAAoGfZtXBpCmX7bdedFSrbReWlUY8CyanaVxxa2FPec24KZbu21l/rAAAAAECX2rd8TQpl+z1DzwyV7S37dkY9CiSnfMv20MKe/pFLUijbdXV1UY8CAAAAAD1L6YYtKZTt//zywFDZXv7K+qhHgeTsb/bXOrNOuyKFsl1fXx/1KAAAAADQs1QXl6ZQtgd8Ply2Z7+UG/UokJzts+aHFvacS76VQtmOxWJRjwIAAAAAPUwsln5CWrJl+6KLzwiV7XHPzoh6EkjOy39JDy3shd+4LYWyHfUcAAAAANATTX3/BcmW7avOHhAq27968m9RzwHJWfmLe0MLe+kdf0w2a5eUlEQ9BwAAAAD0RFkfvzLZsn39qaeFyvaNE/4Q9RyQnMXfHhla2CvvfTjZsn3gwIGo5wAAAACAnmjuZ4clW7ZHfOjUUNn+4p9/HPUckJx5l347tLDXT3oy2bJdVlYW9RwAAAAA0BM9e/0dyZbtX7+7f6hsp/3qa1HPAcmZ1f/y0MLetmhpsmX74MGDUc8BAAAAAD3RilH3J1u2/3pC31DZPuGWQXX19VGPAomK1ddnvHlAaGHv3rgl2bJdWVkZ9SgAAAAA0BNtHD8t2bLdcP3L9WeH4vaWfTujHgUSVbZxW2hJT3rHwP1FRcmW7erq6qhHAQAAAICeaPezeSmU7ZOvGhgq20+vWRz1KJCo7TPnhZb07HO+kmzWblBbWxv1KAAAAADQEx3cuSeFsn3hp84Ile3750+KehRI1JrRfw0t6Weuuz2Fsl3vEB4AAAAAiEQs1vzA4Tavaz4+IFS2/+uJ30c9CSQq95s/CS3p5aMfTDZrFxcXRz0HAAAAAPRcs067Itmy/aP/PDVUts8cfX3Uc0CinvrEkNCS3jBtTrJlu7S0NOo5AAAAAKDnWnjND5Mt2/e/tV+obB9/y6Dq2pqoR4G2xerqmv93CrvWvZxs2S4vL496FAAAAADouVb+emyyZfvxXie/7bqzQnF72bb8qEeBthWvWh9az5PeMXB/UVGyZbuysjLqUQAAAACg59o2LTuFm0ie/vlPhMr2/y2aHvUo0LYND04ILeY5F3092azdoKbGf6QAAAAAAJEpfXlrCmX7yrNPD5Xt7z0+OupRoG3PfePHocW85PY/pFC26+vrox4FAAAAAHquWH19xknhY4fbvG79UFqobPcfdU3Uo0DbZnzo0+HbR055KtmsXVxcHPUcAAAAANDTPX3+tcmW7bEn9W1Stm969Z+7S4uiHgVaU7GzMLyYe/ct3PpKsmX7wIEDUY8CAAAAAD3d0hG/S+FAkvddG76J5MS8f0Q9CrTmlSlPh5bxzFMuTzZrN6ioqIh6FAAAAADo6bZMfDKFsv3pC88Ile3h6X9M/E13lOwtqSjrvKHoCaqLSyt2Fib++GW3/ja0jJ+5/o4UyrbbRwIAAABA5Mq2bk+hbN/80fBR26f8z7VtvteWfTv/d+6E8/54wzE3nftAzuQumI6jWP69j044pl/2+deuu+fh8q072nz8rL6fDS3j1Q8+kULZdvtIAAAAAIheLDb1veclW7YfeEu/5kdtF+zfE/cd8ndv/d1Tjwz83XW9bzrn8FM+dc/wLh6Uo8zcC77W+MTsp868es3ovx7YsDXug8s2bmu+jHeuXpds1i4pKeniMQEAAACAuOZfeVMqR20PDR+1/eDCqY1fdtX2jXfOeijtV19rHLQPX8cNP6+wrDiqkTnSVe7aO+HY/nFWZu++Tw74wqpRfypevaHx4/PvezR8yPapn0thw3Z5eXlUIwMAAAAAja1tFv0SuS47L3zU9ucf+FHDq72wde1Pp409+c6vNK/Zh69jbjr3vD/esHrHxqhH50i1f8W6OedeM+GYfq0s0Vl9P7ti5P8W5b3U8Pj5nx0W+reLb/1NCmW7qqoq6tEBAAAAgFcVr92YQtn+2ftPab4N+4Mjv9hK0D52+LkX33PTnxZM2lGyN+qhORocLNi1/v7xcy/6Rvz9269f0/pc3PwBm2YvSKFsO2QbAAAAALqLWGzq+85Ptmw/eszJbx52disd+/D1ppvPH3zfD/66aNqeA/ujHpWjU+XuvS//JX3epd9Of9MpiazeSe8YWFS4N9msXVpaGvWgAAAAAMAbFn3tRyls2z7n0o+3ErRP/P4FV4y97eHcrKJyPZAuUrWveNPfpyz4/PfST0hrZenO/9ItKWzYrqioiHo+AAAAAOANG8ZNSqFs33Ry2uGO/a7bBn/1oZ/3vumck35w0dV/veOJpU+XVrrXHpGpKTmw5fGZzwy5eeJJpz/Ru++ia26d8q6zDy/dl/6ankLZrqmpiXosAAAAAOANB3fsSappzzh58LKf3v1y7pIPjPzC9x4fPXfd0pq62obXeXrN4vIq+1rpRmrLK3Y+vajhf9TX1O6a+9yS7/33tA9cWFFYVFFRUVpamnjWLi4ujsViUU8DAAAAADQxe+CQNoP2rLTPv/jL+4pW5R9+ltbHkafRoq2rq6usrEwkcZeVlUX4kQEAAACAuF785X0tBe0nP3HVyt8+WLJ+c9SfETpLfX19ZWXlgQMHWirbVVVVUX9GAAAAACBs37KXmgTt3n2fOverq+8ad2BLQdQfDbpOfX19VVVV88Td8OdRfzQAAAAAoJlYbOp/DJpwbP/si7+x9v7x5dt3R/2BIEqNE3dJSUnUHwcAAAAAiG/3My9UFhZF/Smge4nFYrW1tVF/CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+f3t3rIJQDARR9P8/OGyxO6AiQmzkdVE8p01z62UgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8nSSnEwAAAAAA4Kok3X26AgAAAAAAruruqjpdAQAAAAAAV1XVWstsGwAAAACAn9Dd62VmTucAAAAAAMAnM7PeWW4DAAAAAPC19rX2rqruT0lOBwIAAAAAwEOS55eR+zX7Bup/BhUKZW5kc3RyZWFtCmVuZG9iago5MSAwIG9iago8PAovVHlwZSAvWE9iamVjdAovU3VidHlwZSAvSW1hZ2UKL0hlaWdodCAxMjAwCi9XaWR0aCAxOTUwCi9CaXRzUGVyQ29tcG9uZW50IDgKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0NvbG9yU3BhY2UgL0RldmljZUdyYXkKL0RlY29kZSBbMCAxXQovTGVuZ3RoIDIyOTAKPj4Kc3RyZWFtCnic7cEBDQAAAMKg/qlvDwcUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwYA/QD+CmVuZHN0cmVhbQplbmRvYmoKMjEgMCBvYmoKPDwKL1R5cGUgL1hPYmplY3QKL1N1YnR5cGUgL0ltYWdlCi9CaXRzUGVyQ29tcG9uZW50IDgKL1dpZHRoIDE5NTAKL0hlaWdodCAxMjAwCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9Db2xvclNwYWNlIC9EZXZpY2VSR0IKL1NNYXNrIDkzIDAgUgovTGVuZ3RoIDU0NDcyCj4+CnN0cmVhbQp4nOzdh5sUVRov4D95gDWs7sreXV0lSlSCZCUIkqMMCEhWQECQSUxgcs65u+eWzl4vzkw33V2nwwzv+3zPPqapOlVdVbP86vR3ZmYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA/2vvjlUQioEgiv7/B4ctdgdURIiNvC4q57Rpbr0MBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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APwpx8fHWWV7d3e36bkA30HjRQwREZGYpn8rAgAAf0q73Z6dnZ2fn296IsA30XgRQ0REJKbp34oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMD/194dqyAUA0EU/f8PDlvsDqiIEBt5hRCFc9o0t14GAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwBUlOJwAAAAAAwFVJuvt0BQAAAAAAXNXdVXW6AgAAAAAArqqqtZbZNgAAAAAAf6G718vMnM4BAAAAAIBPZma9s9wGAAAAAOBn7WvtXVXdn5KcDgQAAAAAgIckzy8j92v2DSe9KfIKZW5kc3RyZWFtCmVuZG9iago5NSAwIG9iago8PAovVHlwZSAvWE9iamVjdAovU3VidHlwZSAvSW1hZ2UKL0hlaWdodCAxMjAwCi9XaWR0aCAxOTUwCi9CaXRzUGVyQ29tcG9uZW50IDgKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0NvbG9yU3BhY2UgL0RldmljZUdyYXkKL0RlY29kZSBbMCAxXQovTGVuZ3RoIDIyOTAKPj4Kc3RyZWFtCnic7cEBDQAAAMKg/qlvDwcUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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KtOQ5DgtiSuiZNrQ9ExDR5RMwyhMGV22qscyiUzDaelQxmjItGFPckAxbSyjDLIGTcpYZjioyTSkMQbLYiyDLmAQPd/jeCIiottFPHUkOztb/aLJZBIz29FodL4CmzVxdzeWGT+Vvnb92tWJK1jwQ+raiWsTVyYuX712+dr1iRm3Hce242NodrN7Fju/4Wfl1xJmXoWjX7uKZcb9i6NfSRMbXhwbH70yMZquXxm2zXzczDGrA0jX98znLfM5v+H1yrTnjHmix+Qero/P+RUhIiIiWvhEJYYlQ22cocLMXDnj9XSr9LS5YYWZuU6bfb8y1od6zMFYZuLytQyVc5q1czKWyeBuH8vMuPPrtzyWmX2/bjnTiIiIFodoNComsYuLi8fGxvCKz+cTr+Tn5893dLdF5uolQ91yw2311EW34laOzn7debcSOREREdHCxwrzzruVyOe3XxzLpFrImUZERHS3qKmpMSSJh5Ok+1pJIiIiIiIiIiIiIqIFoq6uzqCSk5PDaW0iIiIiIiIiIiIiWuDGxsYikUgsFuOcNhERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERES1WAwMDJpOptra2pqamsbERf52xWSwWQwOj0VhVVWWxWDLscGxszOfzhcPh1FXxeByrAilmbDwjHBoBIAwEg5BmbBOJRER38Kf+PWv2gDgRbYYwahLwA/o7h8Hrb3Ynd74IMM/VEExdXZ3YFqHeShiz3moB7nwRYJ6r6czz6xm7eSvB6292J3d+V2OGq+nJcJ1nbHbB6292J3e+CDDP1fTkeTQaVZ+xBZKKzPPMmOdq+isWATEgJLfbPVfB6292J3dORER0Q3iXLy0tNaTAO46mJeoNTZv8/PwZZ3RRW2ZnZ6MB/kxdi/ff1MOla6yBw+Ggmg0RmKZZWVmZpk1hYWGGOepUeNsVG85YPqHYSI0/NYzZBa+z2Z3c+SLAPFdDVovINd3UFJkLMBWZ55kxz9V05rmebs46eOb53GKGq+nJcP1nbHbBM8NvB+a5mp48R1meGgPgoHMSPPP8dmCeq91UxSLJTTJ/Xsk8JyKiRS8nJ0e8ueCH8oQZ327whitfNxqNshTBm5RmhyaTSf2OnHpEVCyykFDDW/8N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OhEREREREREREdHdIN2jNoiIiIiIiIiIiIiIFibObBMRERERERERERHR3YUz20RERERERERERER0dxHfSGixWOY7ECIiIiIiIiIiIiIiXaLRaCAQWPhfy0hEREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREdEMTExPzHQIRERERERERERERkV4TExNXr16d7yiIiIiIiIiIiIiIiPS6evXq6OjofEdBRERERERERERERKTX6OhoPB7nbdtEREREREREREREdFe4evVqPGl8fHy+wyEiIiIiIiIiIiIiymR8fDw+He/cJiIiIiIiIiIiIqIFS323ttro6ChWTUxMzHeARERERERERERERESKiYkJ8ZWR6tns/w/z78w8CmVuZHN0cmVhbQplbmRvYmoKOTcgMCBvYmoKPDwKL1R5cGUgL1hPYmplY3QKL1N1YnR5cGUgL0ltYWdlCi9IZWlnaHQgMTIwMAovV2lkdGggMTk1MAovQml0c1BlckNvbXBvbmVudCA4Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9Db2xvclNwYWNlIC9EZXZpY2VHcmF5Ci9EZWNvZGUgWzAgMV0KL0xlbmd0aCAyMjkwCj4+CnN0cmVhbQp4nO3BAQ0AAADCoP6pbw8HFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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MDc3ODgxMSAwMDAwMCBuIAowMDAwNjU1ODY5IDAwMDAwIG4gCjAwMDAzODI3MTEgMDAwMDAgbiAKMDAwMTE4MjMxMSAwMDAwMCBuIAowMDAwMjAwNDg3IDAwMDAwIG4gCjAwMDEzODE3NjAgMDAwMDAgbiAKMDAwMDU5ODczMSAwMDAwMCBuIAowMDAwMDE3MDE2IDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAwNzExNyAwMDAwMCBuIAowMDAwMDQwOTAyIDAwMDAwIG4gCjAwMDAwMDAyNTIgMDAwMDAgbiAKMDAwMDAwMDEzOSAwMDAwMCBuIAowMDAwMDA0Mjc1IDAwMDAwIG4gCjAwMDAwMDUxMDEgMDAwMDAgbiAKMDAwMDAwMDA5NCAwMDAwMCBuIAowMDAwMDA2NzkwIDAwMDAwIG4gCjAwMDAwNDE3NDggMDAwMDAgbiAKMDAwMDAwMDU1NCAwMDAwMCBuIAowMDAwMDAwNDQxIDAwMDAwIG4gCjAwMDAwNDAwMjIgMDAwMDAgbiAKMDAwMDAwMDg1NiAwMDAwMCBuIAowMDAwMDAwNzQzIDAwMDAwIG4gCjAwMDAwMDU3NjkgMDAwMDAgbiAKMDAwMDAzNTEyMSAwMDAwMCBuIAowMDAwMDAxMTY5IDAwMDAwIG4gCjAwMDAwMDEwNTYgMDAwMDAgbiAKMDAwMDAzMzczOSAwMDAwMCBuIAowMDAwMDAxNDYxIDAwMDAwIG4gCjAwMDAwMDEzNDggMDAwMDAgbiAKMDAwMDAzNTk0MyAwMDAwMCBuIAowMDAwMDAxNzMyIDAwMDAwIG4gCjAwMDAwMDE2MTkgMDAwMDAgbiAKMDAwMDAzNjc2NyAwMDAwMCBuIAowMDAwMDAyMDI2IDAwMDAwIG4gCjAwMDAwMDE5MTMgMDAwMDAgbiAKMDAwMDAzODM5MyAwMDAwMCBuIAowMDAwMDAyMzIxIDAwMDAwIG4gCjAwMDAwMDIyMDggMDAwMDAgbiAKMDAwMDAzNzU3NyAwMDAwMCBuIAowMDAwMDAyNjE2IDAwMDAwIG4gCjAwMDAwMDI1MDMgMDAwMDAgbiAKMDAwMDAzOTIwMSAwMDAwMCBuIAowMDAwMDAyOTExIDAwMDAwIG4gCjAwMDAwMDI3OTggMDAwMDAgbiAKMDAwMDAzNDQwNiAwMDAwMCBuIAowMDAwMDAzMjA2IDAwMDAwIG4gCjAwMDAwMDMwOTMgMDAwMDAgbiAKMDAwMDAwMzM3NiAwMDAwMCBuIAowMDAwMDI4NjM3IDAwMDAwIG4gCjAwMDAwMDM0NzEgMDAwMDAgbiAKMDAwMDAwMzczOCAwMDAwMCBuIAowMDAwMDA3MzM5IDAwMDAwIG4gCjAwMDAwMjUxNjQgMDAwMDAgbiAKMDAwMDAwNDQyMyAwMDAwMCBuIAowMDAwMDA0NjkyIDAwMDAwIG4gCjAwMDAwMDc3MTMgMDAwMDAgbiAKMDAwMDAyNjgxNSAwMDAwMCBuIAowMDAwMDA1MjQ5IDAwMDAwIG4gCjAwMDAwMDU0NzIgMDAwMDAgbiAKMDAwMDAwODA2MyAwMDAwMCBuIAowMDAwMDMwOTEzIDAwMDAwIG4gCjAwMDAwMDU5MjQgMDAwMDAgbiAKMDAwMDAwNjE5MiAwMDAwMCBuIAowMDAwMDA4NDIyIDAwMDAwIG4gCjAwMDAwMDg4MTEgMDAwMDAgbiAKMDAwMDA0MjYzOCAwMDAwMCBuIAowMDAwMDk2NTgyIDAwMDAwIG4gCjAwMDAxMTgyNTggMDAwMDAgbiAKMDAwMDE0MDE1NyAwMDAwMCBuIAowMDAwMTY3ODc1IDAwMDAwIG4gCjAwMDAxOTgwMDkgMDAwMDAgbiAKMDAwMDIzNDA3NSAwMDAwMCBuIAowMDAwMzAyNTYxIDAwMDAwIG4gCjAwMDAzMzA0MTYgMDAwMDAgbiAKMDAwMDM4MDIzMyAwMDAwMCBuIAowMDAwNDA2OTczIDAwMDAwIG4gCjAwMDA0OTI4ODUgMDAwMDAgbiAKMDAwMDU5NjI1MyAwMDAwMCBuIAowMDAwNjUzMzkxIDAwMDAwIG4gCjAwMDA2OTYyODQgMDAwMDAgbiAKMDAwMDc3NjMzMyAwMDAwMCBuIAowMDAwOTQ3NDIxIDAwMDAwIG4gCjAwMDExNzk4MzMgMDAwMDAgbiAKMDAwMTM3OTI4MiAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDEwMAovUm9vdCAyIDAgUgovSW5mbyA2MyAwIFIKPj4Kc3RhcnR4cmVmCjE1NjkyODYKJSVFT0YK", + "content_type": "application/pdf" + }, + "payload": { + "browserTimezone": "America/New_York", + "date": "2018-03-15T20:55:56.648Z", + "description": "", + "headers": "BowmWzzEPTSrk5P6UXCE2H4Z0Cvi5xq/Ie32SSOXi3xCQpeoXIWGPTrbr+mSbPohHvz+oEO1qh20WmGKePPTB+RpKhPCG3pQQr6jkhZVgHjcwV1emxFkct2Ac3EjyvKIKX9ShXvg3S0oXc1npDip9huib0n6nFhGa7H/3tGNXBwUqQF9WJ7uo44qzHoa7Fpx9yyJROsfHfuLvx4/SLMfAK7Pe6hRlkrlXyJZE/FfzmlabKdK/xsMBSfGs0qQ4YIed/wjejEntv6cRmBm60b60FPJ05ih4M5VMTTvQbGEgibX/fY3fKAn5EQee2eGVyPk1jOeNE3vsT9VnGJVDmNJTQKQOsqkCoCeGzGOBMPry8J5lJAfQohrZq/oVy9Gyg5PtL6UEbVoGbVexYM4wbifZxa0PdE3rgUE1kG+dkJexC5AtW7r09vRJPVFmmhwIRyKZ9fodzzC4CZEMIVPG1lSeu8PVvXTvYPdXIL2TkAAM23wDFr36pYju6XTCZVGSjum8keptGXxkuLZ/P+EykPx9KD64HknIF+c8SFnMcM61sQG1+JGsb0pIMl4DMGeNWXo1WSG2KwzVxHNAkDSMFw+RXYRY7ZuDxb70wSCgZjQyBnUW9u/G5NFT/8AlpTuNJpHvzFbJd0cQKCr0eZI+eYCHyNM9h+lMLG+3kbi0c6rhL4EZKdRHF6Gfx46WJzqtx+P9VejQWyreTVZ8gI08CnJdD/mamyFwU39Hjqd1xq8ChhpFapbPUk53VU791Yw7t/YjZ4D2h5Jri3OsIDYeQm6e2uTvYAC2NzxqLRLOYqQoMu43hmkeuxqxx2DvmwnYMo83J2dav7lLoV1SD6tA/MJvSxbzv8jTazPiS/h3S5Fi0DBE1Y1HruJO6oYtT/7WmEOKTzBj+s6ZEJV7AL/oO9jOxwUXlw9KEpQqFg51AgEtyyHeYYSfjtG42XWeDfA6Qb5O8zAo4Jmh3QKNmuNe/rU5TN8SU2Y2l7QrhnerS1ODQvRqWrytnWZCWzJ9MN6LVb0teqyBFDlLUo9eIL75aBz26N8g+0439gL0TzNtTsiD/pD4P7RBZgwy7QGaPL/LH0IqMAkrAZBoq3rXxqOxBEOzovif7uvK8XuUSJa8wA1z/LrxPfgd0dI/mzB65NeIj/EPtEiYhX2Dk/we/W+9r6/H0O4D44v5TS0q74o1ncxepvVMO2jzA3F9iqxyTZ8K2K+XwU5I+bEaezEqVnLfw9eS48+b3gDFIIYhMBDFvcqgXAtESNf51M38n15aNKo1obRU/5GPy8Kh9HppqUO0GW/XoHurG09IXNJTkPiLQ==", + "id": "26a65a60-2893-11e8-88fd-5754aa989b85", + "layout": { + "id": "print" + }, + "objects": [ + { + "description": "", + "id": "26a65a60-2893-11e8-88fd-5754aa989b85", + "searchSource": { + "filter": [ + ], + "highlightAll": true, + "query": { + "language": "lucene", + "query": "" + }, + "version": true + }, + "title": "Reporting Dashboard", + "type": "dashboard", + "uiState": { + }, + "urlHash": "/dashboard/26a65a60-2893-11e8-88fd-5754aa989b85?_g=(time:(from:'2015-09-19T00:02:06.633Z',interval:auto,mode:absolute,timezone:America%2FNew_York,to:'2015-09-24T06:40:33.165Z'))&_a=(description:'',filters:!(),fullScreenMode:!f,options:(darkTheme:!f,hidePanelTitles:!f,useMargins:!t),panels:!((gridData:(h:2,i:'1',w:3,x:0,y:0),id:Visualization-MetricChart,panelIndex:'1',type:visualization,version:'6.2.3'),(embeddableConfig:(vis:(colors:('0':%233F6833,'120,000':%2399440A,'160,000':%2358140C,'200,000':%23052B51,'240,000':%23511749,'280,000':%233F2B5B,'320,000':%23CCA300,'40,000':%23967302,'80,000':%232F575E),legendOpen:!f)),gridData:(h:2,i:'2',w:3,x:3,y:0),id:Visualization-PieChart,panelIndex:'2',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'3',w:6,x:0,y:2),id:Visualization-TileMap,panelIndex:'3',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'4',w:6,x:6,y:0),id:Visualization%E2%98%BA-VerticalBarChart,panelIndex:'4',type:visualization,version:'6.2.3'),(embeddableConfig:(vis:(params:(sort:(columnIndex:!n,direction:!n)))),gridData:(h:3,i:'5',w:6,x:0,y:5),id:Visualization%E2%98%BA%E6%BC%A2%E5%AD%97-DataTable,panelIndex:'5',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'6',w:6,x:6,y:5),id:Visualization%E6%BC%A2%E5%AD%97-AreaChart,panelIndex:'6',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'7',w:4,x:0,y:8),id:Visualization%E6%BC%A2%E5%AD%97-LineChart,panelIndex:'7',type:visualization,version:'6.2.3'),(gridData:(h:2,i:'8',w:6,x:6,y:3),id:b692cb50-2892-11e8-88fd-5754aa989b85,panelIndex:'8',type:visualization,version:'6.2.3'),(gridData:(h:7,i:'9',w:6,x:0,y:11),id:dae7e680-2891-11e8-88fd-5754aa989b85,panelIndex:'9',type:visualization,version:'6.2.3'),(gridData:(h:2,i:'10',w:3,x:9,y:8),id:c1e5a8b0-2892-11e8-88fd-5754aa989b85,panelIndex:'10',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'11',w:6,x:0,y:18),id:'4746aaf0-2892-11e8-88fd-5754aa989b85',panelIndex:'11',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'12',w:6,x:6,y:11),id:'952200d0-2892-11e8-88fd-5754aa989b85',panelIndex:'12',type:visualization,version:'6.2.3'),(embeddableConfig:(vis:(defaultColors:('0%20-%2050':'rgb(0,104,55)','50%20-%2075':'rgb(255,255,190)','75%20-%20100':'rgb(165,0,38)'),legendOpen:!f)),gridData:(h:3,i:'13',w:6,x:0,y:21),id:'5970a190-2892-11e8-88fd-5754aa989b85',panelIndex:'13',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'14',w:5,x:4,y:8),id:'81b9bdd0-2892-11e8-88fd-5754aa989b85',panelIndex:'14',type:visualization,version:'6.2.3'),(gridData:(h:5,i:'15',w:6,x:0,y:24),id:cb4f53b0-2892-11e8-88fd-5754aa989b85,panelIndex:'15',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'16',w:6,x:6,y:14),id:aae327f0-2892-11e8-88fd-5754aa989b85,panelIndex:'16',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'17',w:6,x:6,y:20),id:'6d584dc0-2892-11e8-88fd-5754aa989b85',panelIndex:'17',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'18',w:6,x:6,y:17),id:'8de68070-2892-11e8-88fd-5754aa989b85',panelIndex:'18',type:visualization,version:'6.2.3'),(gridData:(h:5,i:'19',w:6,x:6,y:23),id:e495f810-2892-11e8-88fd-5754aa989b85,panelIndex:'19',type:search,version:'6.2.3')),query:(language:lucene,query:''),timeRestore:!t,title:'Reporting%20Dashboard',viewMode:view)" + } + ], + "query": { + "_a": "(description:'',filters:!(),fullScreenMode:!f,options:(darkTheme:!f,hidePanelTitles:!f,useMargins:!t),panels:!((gridData:(h:2,i:'1',w:3,x:0,y:0),id:Visualization-MetricChart,panelIndex:'1',type:visualization,version:'6.2.3'),(embeddableConfig:(vis:(colors:('0':#3F6833,'120,000':#99440A,'160,000':#58140C,'200,000':#052B51,'240,000':#511749,'280,000':#3F2B5B,'320,000':#CCA300,'40,000':#967302,'80,000':#2F575E),legendOpen:!f)),gridData:(h:2,i:'2',w:3,x:3,y:0),id:Visualization-PieChart,panelIndex:'2',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'3',w:6,x:0,y:2),id:Visualization-TileMap,panelIndex:'3',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'4',w:6,x:6,y:0),id:Visualization☺-VerticalBarChart,panelIndex:'4',type:visualization,version:'6.2.3'),(embeddableConfig:(vis:(params:(sort:(columnIndex:!n,direction:!n)))),gridData:(h:3,i:'5',w:6,x:0,y:5),id:Visualization☺漢字-DataTable,panelIndex:'5',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'6',w:6,x:6,y:5),id:Visualization漢字-AreaChart,panelIndex:'6',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'7',w:4,x:0,y:8),id:Visualization漢字-LineChart,panelIndex:'7',type:visualization,version:'6.2.3'),(gridData:(h:2,i:'8',w:6,x:6,y:3),id:b692cb50-2892-11e8-88fd-5754aa989b85,panelIndex:'8',type:visualization,version:'6.2.3'),(gridData:(h:7,i:'9',w:6,x:0,y:11),id:dae7e680-2891-11e8-88fd-5754aa989b85,panelIndex:'9',type:visualization,version:'6.2.3'),(gridData:(h:2,i:'10',w:3,x:9,y:8),id:c1e5a8b0-2892-11e8-88fd-5754aa989b85,panelIndex:'10',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'11',w:6,x:0,y:18),id:'4746aaf0-2892-11e8-88fd-5754aa989b85',panelIndex:'11',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'12',w:6,x:6,y:11),id:'952200d0-2892-11e8-88fd-5754aa989b85',panelIndex:'12',type:visualization,version:'6.2.3'),(embeddableConfig:(vis:(defaultColors:('0 - 50':'rgb(0,104,55)','50 - 75':'rgb(255,255,190)','75 - 100':'rgb(165,0,38)'),legendOpen:!f)),gridData:(h:3,i:'13',w:6,x:0,y:21),id:'5970a190-2892-11e8-88fd-5754aa989b85',panelIndex:'13',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'14',w:5,x:4,y:8),id:'81b9bdd0-2892-11e8-88fd-5754aa989b85',panelIndex:'14',type:visualization,version:'6.2.3'),(gridData:(h:5,i:'15',w:6,x:0,y:24),id:cb4f53b0-2892-11e8-88fd-5754aa989b85,panelIndex:'15',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'16',w:6,x:6,y:14),id:aae327f0-2892-11e8-88fd-5754aa989b85,panelIndex:'16',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'17',w:6,x:6,y:20),id:'6d584dc0-2892-11e8-88fd-5754aa989b85',panelIndex:'17',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'18',w:6,x:6,y:17),id:'8de68070-2892-11e8-88fd-5754aa989b85',panelIndex:'18',type:visualization,version:'6.2.3'),(gridData:(h:5,i:'19',w:6,x:6,y:23),id:e495f810-2892-11e8-88fd-5754aa989b85,panelIndex:'19',type:search,version:'6.2.3')),query:(language:lucene,query:''),timeRestore:!t,title:'Reporting Dashboard',viewMode:view)", + "_g": "(time:(from:'2015-09-19T00:02:06.633Z',interval:auto,mode:absolute,timezone:America/New_York,to:'2015-09-24T06:40:33.165Z'))" + }, + "title": "Reporting Dashboard", + "type": "dashboard" + }, + "priority": 10, + "process_expiration": "2018-03-15T20:56:46.148Z", + "started_at": "2018-03-15T20:56:16.148Z", + "status": "completed", + "timeout": 30000 + }, + "type": "_doc" + } +} + +{ + "type": "doc", + "value": { + "id": "jeszv7sm0k3vbd9ffbewplx1", + "index": ".reporting-2018.03.11", + "source": { + "attempts": 1, + "completed_at": "2018-03-15T20:56:44.462Z", + "created_at": "2018-03-15T20:56:06.454Z", + "created_by": "elastic", + "jobtype": "printable_pdf", + "max_attempts": 3, + "output": { + "content": "JVBERi0xLjMKJf////8KNSAwIG9iago8PAovUHJlZGljdG9yIDE1Ci9Db2xvcnMgMQovQml0c1BlckNvbXBvbmVudCA4Ci9Db2x1bW5zIDU3Nwo+PgplbmRvYmoKMTEgMCBvYmoKPDwKL1R5cGUgL0V4dEdTdGF0ZQovQ0EgMQo+PgplbmRvYmoKOSAwIG9iago8PAovVHlwZSAvUGFnZQovUGFyZW50IDEgMCBSCi9NZWRpYUJveCBbMCAwIDEyMjYgNzI4XQovQ29udGVudHMgNyAwIFIKL1Jlc291cmNlcyA4IDAgUgo+PgplbmRvYmoKOCAwIG9iago8PAovUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0KL0ZvbnQgPDwKL0YyIDEwIDAgUgovRjMgMTIgMCBSCj4+Ci9FeHRHU3RhdGUgPDwKL0dzMSAxMSAwIFIKPj4KL1hPYmplY3QgPDwKL0kxIDMgMCBSCi9JMiA0IDAgUgo+Pgo+PgplbmRvYmoKMTMgMCBvYmoKPDwKL1Byb2R1Y2VyIChwZGZtYWtlKQovQ3JlYXRvciAocGRmbWFrZSkKL0NyZWF0aW9uRGF0ZSAoRDoyMDE4MDMxNTIwNTY0NFopCj4+CmVuZG9iagoxNSAwIG9iago8PAovVHlwZSAvRm9udERlc2NyaXB0b3IKL0ZvbnROYW1lIC9ZSlJKV0YrUm9ib3RvLU1lZGl1bQovRmxhZ3MgNAovRm9udEJCb3ggWy03MzIuNDIxODc1IC0yNzAuOTk2MDk0IDExOTIuODcxMDk0IDEwNDcuODUxNTYzXQovSXRhbGljQW5nbGUgMAovQXNjZW50IDkyNy43MzQzNzUKL0Rlc2NlbnQgLTI0NC4xNDA2MjUKL0NhcEhlaWdodCA3MTAuOTM3NQovWEhlaWdodCA1MjguMzIwMzEzCi9TdGVtViAwCi9Gb250RmlsZTIgMTQgMCBSCj4+CmVuZG9iagoxNiAwIG9iago8PAovVHlwZSAvRm9udAovU3VidHlwZSAvQ0lERm9udFR5cGUyCi9CYXNlRm9udCAvWUpSSldGK1JvYm90by1NZWRpdW0KL0NJRFN5c3RlbUluZm8gPDwKL1JlZ2lzdHJ5IChBZG9iZSkKL09yZGVyaW5nIChJZGVudGl0eSkKL1N1cHBsZW1lbnQgMAo+PgovRm9udERlc2NyaXB0b3IgMTUgMCBSCi9XIFswIFs1MTAgNTY2LjQwNjI1IDUwNi44MzU5MzggMzI2LjY2MDE1NiA1MjkuMjk2ODc1IDUyMC4wMTk1MzEgMjQ5LjAyMzQzOCA1NjYuNDA2MjUgNTQzLjk0NTMxMyA4NjkuNjI4OTA2IDU2Ni40MDYyNV1dCj4+CmVuZG9iagoxMCAwIG9iago8PAovVHlwZSAvRm9udAovU3VidHlwZSAvVHlwZTAKL0Jhc2VGb250IC9ZSlJKV0YrUm9ib3RvLU1lZGl1bQovRW5jb2RpbmcgL0lkZW50aXR5LUgKL0Rlc2NlbmRhbnRGb250cyBbMTYgMCBSXQovVG9Vbmljb2RlIDE3IDAgUgo+PgplbmRvYmoKMTkgMCBvYmoKPDwKL1R5cGUgL0ZvbnREZXNjcmlwdG9yCi9Gb250TmFtZSAvQ0pDUUhGK1JvYm90by1SZWd1bGFyCi9GbGFncyA0Ci9Gb250QkJveCBbLTY4MS4xNTIzNDQgLTI3MC45OTYwOTQgMTE4MS42NDA2MjUgMTA0Ny44NTE1NjNdCi9JdGFsaWNBbmdsZSAwCi9Bc2NlbnQgOTI3LjczNDM3NQovRGVzY2VudCAtMjQ0LjE0MDYyNQovQ2FwSGVpZ2h0IDcxMC45Mzc1Ci9YSGVpZ2h0IDUyOC4zMjAzMTMKL1N0ZW1WIDAKL0ZvbnRGaWxlMiAxOCAwIFIKPj4KZW5kb2JqCjIwIDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9DSURGb250VHlwZTIKL0Jhc2VGb250IC9DSkNRSEYrUm9ib3RvLVJlZ3VsYXIKL0NJRFN5c3RlbUluZm8gPDwKL1JlZ2lzdHJ5IChBZG9iZSkKL09yZGVyaW5nIChJZGVudGl0eSkKL1N1cHBsZW1lbnQgMAo+PgovRm9udERlc2NyaXB0b3IgMTkgMCBSCi9XIFswIFs1MDcgNTY2LjQwNjI1IDUwMC45NzY1NjMgMzE4LjM1OTM3NSA1MjYuODU1NDY5IDUyMC45OTYwOTQgMjQ3LjU1ODU5NCA1NjYuNDA2MjUgNTQ3Ljg1MTU2MyA4NzUuOTc2NTYzIDU2Ni40MDYyNSA4MTEuMDM1MTU2IDU4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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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zS5dHdyz6rmHw9R05HiUn0rm8tLyWcmlBZPLJ35etVlYuOP1W3fjLFXo/834xBqdJ2feHWo7Fncb2pfVNcU3Xbt5d2lpKZlq/FaJp48BAAAAAACs0/TM7IuXr569eJlcdi/NuYtX4nxETnHVGvmIsbfj0ZZJUZZktXDf4ZHR0bG3oYTG8UyipA8f516/eRv1M/J6LJmdibx89frOg0fhpvU9xX/ou6GurKxMTr0PYUShTv6xxuC3hB6G/nhZQvuvPuvI+MTk06Hh0Cw89Nodrl+IM7xioc/Q8+oXc6Oc6b8cv0kqD7aGxwrxhwcNr975S1d37i9az/sHAAAAAADgHxgZHUuurXfqbH+mI+LfqKO7N36TvHr9JnlTKpXKKa76//lZ5Wuk8wAAAAAAANbv6dBwTnFVcXXD/y5/V7x6dy34/L97n9U0HX78bGhyanp4ZPT8pav7iyrjm6ob2zMdKQAAAAAAsE3cvvdw9eZHa+9XRTa7eOXGdzfPirfrAgAAAAAA+HG3VuWzDp/oyXRQ/HutrKwkp2itLsXVDS9GXmU6TAAAAAAAYPsYeT1WdaituKYhlPbjp0bH3mY6IraAsbfj3WfOVze2l9Q0FlTWh1LV0NbTd8H7BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANhm/g8N8VnpCmVuZHN0cmVhbQplbmRvYmoKeHJlZgowIDI0CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMjIyNCAwMDAwMCBuIAowMDAwMDAyMTc1IDAwMDAwIG4gCjAwMDAwMjYyNzggMDAwMDAgbiAKMDAwMDAxMjQ3OCAwMDAwMCBuIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDIyODEgMDAwMDAgbiAKMDAwMDAyMjk3NSAwMDAwMCBuIAowMDAwMDAwMjQzIDAwMDAwIG4gCjAwMDAwMDAxMzggMDAwMDAgbiAKMDAwMDAwMTA3NiAwMDAwMCBuIAowMDAwMDAwMDkzIDAwMDAwIG4gCjAwMDAwMDIwMjYgMDAwMDAgbiAKMDAwMDAwMDQwOCAwMDAwMCBuIAowMDAwMDAzMjAzIDAwMDAwIG4gCjAwMDAwMDA1MDMgMDAwMDAgbiAKMDAwMDAwMDc3MCAwMDAwMCBuIAowMDAwMDAyODc5IDAwMDAwIG4gCjAwMDAwMjA2MjMgMDAwMDAgbiAKMDAwMDAwMTIyNCAwMDAwMCBuIAowMDAwMDAxNDkyIDAwMDAwIG4gCjAwMDAwMDI1MDIgMDAwMDAgbiAKMDAwMDAwNDI3MyAwMDAwMCBuIAowMDAwMDIzNjQyIDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgMjQKL1Jvb3QgMiAwIFIKL0luZm8gMTMgMCBSCj4+CnN0YXJ0eHJlZgoxMDk2ODYKJSVFT0YK", + "content_type": "application/pdf" + }, + "payload": { + "browserTimezone": "America/New_York", + "date": "2018-03-15T20:56:06.435Z", + "description": "", + "headers": "aDTAvmZwxKzSNgMxpYClo8AceeccP4CUIB7jIAfyPrnGCtxhW15LRpNJOKi1TZzYIpxWmILFrPAMWWpZoSrNzdbR1S7aLjqm9HowjyH5GgnJQBHccy4VEWnFTZLSFVuO5hbnd8l5jNz8cOkRi7l3uTYzwhpljFQl9KQ+0lF45+mI/aoEpJCs7utIxn7xVPy4w+8noP+dKrddrGWI3TmRNa7UBzU4zYr7Y1/rMxwWDAEP6rhQ6v4CAejDQLWWTgDHiXjprNPpg+Z13xGul6AD8LXGu5VZ5ent6vqMI475EedJzvuDf99jYEfMNM7MnMWCeW1EDD8oiLDySWGMfyFm1uuSxsAttIHeug6tzlqwqxoWTSixhQ+W4sir2dCA2hKC6wyhYpu2nZTPEJGik/bXtNcMCaxSYjx/c+AQj0PIyoTm5hlVoVkGQhPT3NbErbx3lGhwDXArIrsTmiJrMADkSOGIujExdN7wvsRfIP0rTbxeojtuXmrHDriSKea6SKergqkSRm+xZfrI4HpsAHPI19q7yPRYrf1t4urBvK0K7Yl4cuSL/xUHIvAs4TSCCJBYRlZDzpbvu8E+QqDFixy3dGIyABwN7T7AqawakbXXnghC8f1RfQTQ4r0iXAHGOfRwqlfheozJqyk1j47Zc9lTHFWd/q4qUsguX2/HJoOE07JOa36E7pBtEA7ob26BNHB5h4tjaRgo8mnLzJPsA8E0BrGl9kIg+ny6H8fzXQ52PB/Eo+HnIXXaSQXc/sGRrMyDbAx/04gDqjp0+3+QyZB386HIfoQwEGZG8wP8uqPfqOd/SrlZnQS4ilRj6yq7Sqzdqkcx1ppb203wG8eW3BiALayKjb13ncka8RJhN4pyI6ZVpcUbjFcacmtOuGb7mHZE4vjHaEDWxNaErt9C0FChKXOfpu4v0pEH6g1THGvlH6KE2JyBFFPjWcEOz9Qape7y/FKuadGsgvBcpEpJLbjVE7iGoFSQ1cMx/Mao0IXBX723c83XVhnSxeS6xdgWET9aOYtPgyvzoYI/Ve/5ocp8ICND+QE/B2SBM+EFBIbD5jpgSyJcNyZW1S0bYmabN7isC6kWVK9ekKKJrJlIZpxkGJMBR89ALaOSvFX4F/rCZSldtDRgRevuU2VENa/RQNWmYxKeatVinyEAyAs5wmQPIgnMlSf7OAM3B0pBMOFPB+gvVJJxVweMdrnSUoYrEIytUvQd7derpCWNILuHcs4EW6+L6L1Xb2k0S6iuKOcGCfiKSUs0Pn5nMiFL2Vz8O5Kot9xg+VBJ84mn3sQW33KRGdj6lWDLMX/bXNqVOA==", + "id": "dae7e680-2891-11e8-88fd-5754aa989b85", + "layout": { + "dimensions": { + "height": 547, + "width": 1144 + }, + "id": "preserve_layout" + }, + "objects": [ + { + "description": "", + "id": "dae7e680-2891-11e8-88fd-5754aa989b85", + "searchSource": { + "filter": [ + ], + "index": "logstash-*", + "query": { + "language": "lucene", + "query": "" + } + }, + "title": "bytes heatmap", + "type": "visualization", + "uiState": { + "vis": { + "defaultColors": { + "0 - 1": "rgb(247,252,245)", + "1 - 2": "rgb(199,233,192)", + "2 - 3": "rgb(116,196,118)", + "3 - 3": "rgb(35,139,69)" + } + } + }, + "urlHash": "/visualize/edit/dae7e680-2891-11e8-88fd-5754aa989b85?_g=(time:(from:'2015-09-19T00:02:06.633Z',interval:auto,mode:absolute,timezone:America%2FNew_York,to:'2015-09-24T06:40:33.165Z'))&_a=(filters:!(),linked:!f,query:(language:lucene,query:''),uiState:(vis:(defaultColors:('0%20-%201':'rgb(247,252,245)','1%20-%202':'rgb(199,233,192)','2%20-%203':'rgb(116,196,118)','3%20-%203':'rgb(35,139,69)'))),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(field:bytes,missingBucket:!f,missingBucketLabel:Missing,order:desc,orderBy:'1',otherBucket:!f,otherBucketLabel:Other,size:5),schema:segment,type:terms),(enabled:!t,id:'3',params:(field:ip,missingBucket:!f,missingBucketLabel:Missing,order:desc,orderBy:'1',otherBucket:!f,otherBucketLabel:Other,size:5),schema:group,type:terms)),params:(addLegend:!t,addTooltip:!t,colorSchema:Greens,colorsNumber:4,colorsRange:!(),enableHover:!f,invertColors:!f,legendPosition:right,percentageMode:!f,setColorRange:!f,times:!(),type:heatmap,valueAxes:!((id:ValueAxis-1,labels:(color:%23555,rotate:0,show:!f),scale:(defaultYExtents:!f,type:linear),show:!f,type:value))),title:'bytes%20heatmap',type:heatmap))" + } + ], + "query": { + "_a": "(filters:!(),linked:!f,query:(language:lucene,query:''),uiState:(vis:(defaultColors:('0 - 1':'rgb(247,252,245)','1 - 2':'rgb(199,233,192)','2 - 3':'rgb(116,196,118)','3 - 3':'rgb(35,139,69)'))),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(field:bytes,missingBucket:!f,missingBucketLabel:Missing,order:desc,orderBy:'1',otherBucket:!f,otherBucketLabel:Other,size:5),schema:segment,type:terms),(enabled:!t,id:'3',params:(field:ip,missingBucket:!f,missingBucketLabel:Missing,order:desc,orderBy:'1',otherBucket:!f,otherBucketLabel:Other,size:5),schema:group,type:terms)),params:(addLegend:!t,addTooltip:!t,colorSchema:Greens,colorsNumber:4,colorsRange:!(),enableHover:!f,invertColors:!f,legendPosition:right,percentageMode:!f,setColorRange:!f,times:!(),type:heatmap,valueAxes:!((id:ValueAxis-1,labels:(color:#555,rotate:0,show:!f),scale:(defaultYExtents:!f,type:linear),show:!f,type:value))),title:'bytes heatmap',type:heatmap))", + "_g": "(time:(from:'2015-09-19T00:02:06.633Z',interval:auto,mode:absolute,timezone:America/New_York,to:'2015-09-24T06:40:33.165Z'))" + }, + "title": "bytes heatmap", + "type": "visualization" + }, + "priority": 10, + "process_expiration": "2018-03-15T20:57:07.849Z", + "started_at": "2018-03-15T20:56:37.849Z", + "status": "completed", + "timeout": 30000 + }, + "type": "_doc" + } +} + +{ + "type": "doc", + "value": { + "id": "jeszv97e0k3vbd9ffbc28usy", + "index": ".reporting-2018.03.11", + "source": { + "attempts": 1, + "completed_at": "2018-03-15T20:56:54.077Z", + "created_at": "2018-03-15T20:56:08.282Z", + "created_by": "elastic", + "jobtype": "printable_pdf", + "max_attempts": 3, + "output": { + "content": "JVBERi0xLjMKJf////8KNSAwIG9iago8PAovUHJlZGljdG9yIDE1Ci9Db2xvcnMgMQovQml0c1BlckNvbXBvbmVudCA4Ci9Db2x1bW5zIDU3Nwo+PgplbmRvYmoKMTEgMCBvYmoKPDwKL1R5cGUgL0V4dEdTdGF0ZQovQ0EgMQo+PgplbmRvYmoKOSAwIG9iago8PAovVHlwZSAvUGFnZQovUGFyZW50IDEgMCBSCi9NZWRpYUJveCBbMCAwIDU5NS4yOCA4NDEuODldCi9Db250ZW50cyA3IDAgUgovUmVzb3VyY2VzIDggMCBSCj4+CmVuZG9iago4IDAgb2JqCjw8Ci9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQovRm9udCA8PAovRjIgMTAgMCBSCi9GMyAxMiAwIFIKPj4KL0V4dEdTdGF0ZSA8PAovR3MxIDExIDAgUgo+PgovWE9iamVjdCA8PAovSTEgMyAwIFIKL0kyIDQgMCBSCj4+Cj4+CmVuZG9iagoxMyAwIG9iago8PAovUHJvZHVjZXIgKHBkZm1ha2UpCi9DcmVhdG9yIChwZGZtYWtlKQovQ3JlYXRpb25EYXRlIChEOjIwMTgwMzE1MjA1NjUzWikKPj4KZW5kb2JqCjE1IDAgb2JqCjw8Ci9UeXBlIC9Gb250RGVzY3JpcHRvcgovRm9udE5hbWUgL0pJVkhSWStSb2JvdG8tTWVkaXVtCi9GbGFncyA0Ci9Gb250QkJveCBbLTczMi40MjE4NzUgLTI3MC45OTYwOTQgMTE5Mi44NzEwOTQgMTA0Ny44NTE1NjNdCi9JdGFsaWNBbmdsZSAwCi9Bc2NlbnQgOTI3LjczNDM3NQovRGVzY2VudCAtMjQ0LjE0MDYyNQovQ2FwSGVpZ2h0IDcxMC45Mzc1Ci9YSGVpZ2h0IDUyOC4zMjAzMTMKL1N0ZW1WIDAKL0ZvbnRGaWxlMiAxNCAwIFIKPj4KZW5kb2JqCjE2IDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9DSURGb250VHlwZTIKL0Jhc2VGb250IC9KSVZIUlkrUm9ib3RvLU1lZGl1bQovQ0lEU3lzdGVtSW5mbyA8PAovUmVnaXN0cnkgKEFkb2JlKQovT3JkZXJpbmcgKElkZW50aXR5KQovU3VwcGxlbWVudCAwCj4+Ci9Gb250RGVzY3JpcHRvciAxNSAwIFIKL1cgWzAgWzUxMCA1NjYuNDA2MjUgNTA2LjgzNTkzOCAzMjYuNjYwMTU2IDUyOS4yOTY4NzUgNTIwLjAxOTUzMSAyNDkuMDIzNDM4IDU2Ni40MDYyNSA1NDMuOTQ1MzEzIDg2OS42Mjg5MDYgNTY2LjQwNjI1XV0KPj4KZW5kb2JqCjEwIDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMAovQmFzZUZvbnQgL0pJVkhSWStSb2JvdG8tTWVkaXVtCi9FbmNvZGluZyAvSWRlbnRpdHktSAovRGVzY2VuZGFudEZvbnRzIFsxNiAwIFJdCi9Ub1VuaWNvZGUgMTcgMCBSCj4+CmVuZG9iagoxOSAwIG9iago8PAovVHlwZSAvRm9udERlc2NyaXB0b3IKL0ZvbnROYW1lIC9EQVRLS1IrUm9ib3RvLVJlZ3VsYXIKL0ZsYWdzIDQKL0ZvbnRCQm94IFstNjgxLjE1MjM0NCAtMjcwLjk5NjA5NCAxMTgxLjY0MDYyNSAxMDQ3Ljg1MTU2M10KL0l0YWxpY0FuZ2xlIDAKL0FzY2VudCA5MjcuNzM0Mzc1Ci9EZXNjZW50IC0yNDQuMTQwNjI1Ci9DYXBIZWlnaHQgNzEwLjkzNzUKL1hIZWlnaHQgNTI4LjMyMDMxMwovU3RlbVYgMAovRm9udEZpbGUyIDE4IDAgUgo+PgplbmRvYmoKMjAgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL0NJREZvbnRUeXBlMgovQmFzZUZvbnQgL0RBVEtLUitSb2JvdG8tUmVndWxhcgovQ0lEU3lzdGVtSW5mbyA8PAovUmVnaXN0cnkgKEFkb2JlKQovT3JkZXJpbmcgKElkZW50aXR5KQovU3VwcGxlbWVudCAwCj4+Ci9Gb250RGVzY3JpcHRvciAxOSAwIFIKL1cgWzAgWzUwNyA1NjYuNDA2MjUgNTAwLjk3NjU2MyAzMTguMzU5Mzc1IDUyNi44NTU0NjkgNTIwLjk5NjA5NCAyNDcuNTU4NTk0IDU2Ni40MDYyNSA1NDcuODUxNTYzIDg3NS45NzY1NjMgNTY2LjQwNjI1IDgxMS4wMzUxNTYgNTgxLjU0Mjk2OSAzNDguNjMyODEzIDI0OC4wNDY4NzUgMTk2LjI4OTA2MyA2MTAuODM5ODQ0IDU2MS41MjM0MzggNTYxLjUyMzQzOCA1NjEuNTIzNDM4IDU2MS41MjM0MzggNTYxLjUyMzQzOCAyNDYuMDkzNzUgNjM3LjIwNzAzMSA4NzYuNDY0ODQ0IDU2Ni40MDYyNSA1OTYuNjc5Njg4IDU2Ni40MDYyNSA1NjEuNTIzNDM4IDY2MS4xMzI4MTMgNTY2LjQwNjI1IDM0Mi43NzM0MzhdXQo+PgplbmRvYmoKMTIgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUwCi9CYXNlRm9udCAvREFUS0tSK1JvYm90by1SZWd1bGFyCi9FbmNvZGluZyAvSWRlbnRpdHktSAovRGVzY2VuZGFudEZvbnRzIFsyMCAwIFJdCi9Ub1VuaWNvZGUgMjEgMCBSCj4+CmVuZG9iagoyIDAgb2JqCjw8Ci9UeXBlIC9DYXRhbG9nCi9QYWdlcyAxIDAgUgo+PgplbmRvYmoKMSAwIG9iago8PAovVHlwZSAvUGFnZXMKL0NvdW50IDEKL0tpZHMgWzkgMCBSXQo+PgplbmRvYmoKNiAwIG9iago8PAovTGVuZ3RoIDE0OQovRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KeJwljm0OgyAQRLms/0wPUIsGAwio4AdJPW5fWbLZPGZmF5RSehyd99u+U9baEOOr71G6rhNx3TbrHJDWlfASwp4zMQ6WMWacJt8YEdfMczkOwC8LUzElWcIUwOaQEqti63IlDJBJVLNyKZJH/GgNA4iikxELoPPcf38pIuac38MgLl8if5znXet131et3+f5AVgZgnYKZW5kc3RyZWFtCmVuZG9iagoxNyAwIG9iago8PAovTGVuZ3RoIDI1MQovRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KeJxdULtuxCAQ7PmKLS/FCdt5SxZSdNe4yENxUkUpMCwW0hkQxoX/PjycuyhIMNrdGXZn6aE7dkYHoG/eih4DKG2kx9kuXiAMOGpD6gakFmGL8ism7giN4n6dA06dURbalgDQ91ieg19h9yTtgFcp9+olem1G2H0e+pzpF+dOOKEJUBHGQKKK3z1z98InBJql+07Gug7rPqoujI/VITQ5rstIwkqcHRfouRmRtFU8rFXxMIJG/itvokH9ZUMCzuDrEt41Ge4fC9yU5G2JrjM0G/OhQF1AFkrFvlP33z5pkLS0s0mxeB/95c1mY8mSNnhevrMuqfL9AdZcgXMKZW5kc3RyZWFtCmVuZG9iagoyMSAwIG9iago8PAovTGVuZ3RoIDMwNAovRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KeJxdUstugzAQvPMVe0wPEQ8TaCWEVKUXDn2otKcqB2KvI0vFWMYc+PvaXppUtYRHuzuza49Jj91Tp5WD9M1OvEcHUmlhcZ4WyxHOeFE6yQsQirstijsfB5OkXtyvs8Ox03KCpkkA0ndfnp1dYfcopjPehdyrFWiVvsDu89jHTL8Y840jagdZ0rYgUPp2z4N5GUaENEr3nfB15da9V90YH6tBKGKc05H4JHA2A0c76AsmTeZX20i/2gS1+FfeRGf5lw0ectnC1y2sigj1A0FJyQNFLEKxMe8JcgJBlFArspx0ZUVJ6llRz4JHOFAzRnJGzRgxGU1gNJYNJKBkSYMqSUkaVG/Mbex2pJqgak/BkN+rB2/CO15954u13vL42NHr4LLSeP0fzGSCKn4/NmqfRwplbmRzdHJlYW0KZW5kb2JqCjE0IDAgb2JqCjw8Ci9MZW5ndGggOTk3Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nG1UfUxbVRS/973XllIGPHxtqQusH1CQbTW07xUtTIqDMWTyJZINwqNggRJbVyZENNnGUPkYQaJbs0kkbvzhotuiAsaPSAxCFplbRowfYUvMkm3WKMbRJ9lw9OHpa03c4k3Offndj3PO73fOfV0HuluRHOmRBTk9rc1uFB1eMLsHFmJ4AizDu/+5f/EFsFRfc48/hn8G07d7X26LYREhctDj6+qJQqofpm0IwwzG11i/bUoqWEXKOGl3/jZtiXwv900e+Dsj/INyOK4FoBIR0jbcUHjFBFgYh91G5bDk579DJc125EL96AsUQiGswbX4DTwvnVShE0iDGpHsgXskYAL1bixTdnkqSgENEGYIk9GcpTDRNlr7BLZZU2gTazYZ5Qo6HZCdo+xLl9vetDHfCWTuEH9lSeg8UuPVG3w1R/bjtZB4q7LyqDw1fA4Xl4oL4p3zl0qLxDxn8fmxKI9ksZxcpxxIDUBre8iAE3EkXJ7kuxBjAw7qyD9xvOjMGXsrvUS/OdGyqcSZmS2+hJV4spNYu2fsPJUQ9yWmnM+2UNsln7qNZcIvK0JaALRNbaIZDTjL00quOdrE2Wh8em4ud6tuG/Owgc99dTQQkBWJa9PhD0rsCvlkMvP2WaJuGitAi30by+RdqhLyS0NIZkQ7MIu01pQ0bJAyjDglQQsDx5qJqt9EAasWr98M18UPHXIPPVm64+uJhq4UPN3O4Ozb2SvYisV7N0YHJh7d/h63k3x3pFvX0RvVoRriXKEqUCYA1pxlwRxrt1k16qjWakajTcdqRh4hYJMiE9cb+y/M3fjqYjDkbqivrx1cnP1j4aeV36lDvMuNzY/vTss5/trwzOzJ4qYKh6No89bAQGDyx2OuZ3ZJ8Q5CByZAjZmI7pGyatS0iY4VFmqN/SR3wvXRjOD2lL1gFgRyCpdXfx8M+4hAn9/Brf8KdxHow0OvYMh7C8pByGDBWVGRWXs+MJBSN0WJQBG0mSAYF6VDqlRJVN47LWem/rr1sdu11y2sLswGaXV4ufZ14ye+7gpjccauvWfHTp1rqmuqdA7Oz3wqbinpKfhwt/2z9rLC0ggHkE7eDbHNUu9IJB6kwtxPC/ObCHb8eW8gy3baf+ZzgXdVdegIwdVU3pYuUI6hPdV8S0PrtWC4ixgZ8dWUJWniwzuJkYEXH+PWf4EuhbchuigWYt73NiKC/f/bYK9e5I9aSWEpmR1tvnQt9Mrhpzv0ek/V4R68tiLeLCzE4Tuyq31P7RG/Ee++v+jMF7WO/KmTkRLB/4IaRL1UIkomxpGOKkD7qEdQdWz9IFWPePkq7MOZfwBP8TzlCmVuZHN0cmVhbQplbmRvYmoKMjIgMCBvYmoKPDwKL1R5cGUgL1hPYmplY3QKL1N1YnR5cGUgL0ltYWdlCi9IZWlnaHQgMTk4Ci9XaWR0aCA1NzcKL0JpdHNQZXJDb21wb25lbnQgOAovRmlsdGVyIC9GbGF0ZURlY29kZQovQ29sb3JTcGFjZSAvRGV2aWNlR3JheQovRGVjb2RlIFswIDFdCi9MZW5ndGggODAxOQo+PgpzdHJlYW0KeJztXS1Mcu8bNrDhCAQCG4G5UdicwUIgECgU9g8UCoFCIjCDiUAxECgECkE3CjMYCAY2N4IzUAyOQtDg3NwMGNQ5x2T8UZ+P+3w8H+c554C+v+dK717hnMM513me+/O6t7bWiMhutnQ0elyuMBu3yrm9aGCdp9f4w4ikayfjx4+lAfOnm9N6Lrbpa9P45Qjs1QYPSyaeRo10aNPXqPFrsVu/+mCz5weLaSutdzMNK0LF81cRexCHrqrRTV+txi9D9HAix54fPLSSm75ijV+ESJ1j+NjjuZ3Y9FVr/BIEq3dO6fNNoSO9kWmskL2yYcdsOjw5OqiUisVytd4+G9/bWdd3pU1fu8bGEWl/mmixmPZqmXjQ+LHwbqE5erJQaKBNof84sibb+W10uM+M9MQKXfNm91RZ59Vq/DIEGu8GOtzURStKON9/NlLoJLKWS9X4hYieQSbMB/mg+DtbW4mGcRm63vf7OjV+J/bh9vXZT0l/MVIzUOip4ONFavxa5KBNPMw4+m6kDr88r/p0iRq/GAWQuFDwxxM96L3VfbhAjV+NEjWfP7tKEcEC3MeOvL4+jU0jsJOtHHV6veN2o5yxFPIUKX8eVE2YWE8z6F9FpNC9fgGPd3bVzMLwTp7yZ+gip1UF26Dexf4dpLt2udHpEQnypGgsp73t5kzZe3p8HVL8R5A9n9vQ5wuvJz8hmx1ivXzWXJ4seU2O/p5zf+0aG0eyv2DQ55tCrZW9HLokz9x9NjQ6Igd/0Imxv4/asy1xKO4KWx1CJy8igJELcuyxrpf+4zDmJuyxOMdL1HvRk5OGKYPanhxQY1PYM5elzqaXw/OL6/s3OyZ9lj06bXRMDpn36JAam0Da4Hs9nx9kYt/Z0UA4WWjfWEwj7/zuBDHK73WR4t9FGqanrms7xr8GM92ZgT89L09N4kFdD4+qsVYkwfozKdtFdxJtEPcbh708eYVsYlkvD6uxPkRAQOaIRY4U8bmf97w9/TEhpqvApMbGQPNSd5xFIIjdtEOPTx8h9rsOSP9JlAl/Lnd4n+v/fGjheRVhFld33Hq6N2qsB3FiAA25JcpBtFA8el/ITMKTXi9uGmtAFz+9Kz4zdlCK/tL7S4g96CXoz2IfV2fcxfkfzKHPdXy4iKq2gv4ssAU9FyXED318xqEb7Ihp+Zc/hgSuHWuJPomYtpDvwHCAEroKHQv6a6jjDUxkGgdQsOjJl4zDNl6CvAxya/iPIH5wwo0pNvN1k8FWkD/81PAL+yhPeissx8mgJ+xTxir6iI6vVTv+FLBl3BB+Ei8RfjUCttHxz3w6voYvGPw8tTdxRSnOWDlrQ5VHGlVj+xCn1PANoVsUQxR/FFV+zfzSew5ga0zX1/8hJFC9obi1L4oqhq59C9QcIQI1/TqBhvfAlrG4nDS18NvNzqAz+JAq0fALhZ9n9iE2gXDZl3/pTrydzrQj/3dQkTZcccLcRwsF1Rt9+mWma3gP5JtPxfJiqKHwhVsx5A41nwMFGt4DEeha+MEwivNNpJTs1JBBdWV+pPs1/EFFlkA4Yu1nmA8nS859PIeGtyjKbmE4W+6nEAuOBN3oko4/A+TG3wsLAVvS/r4LoLD4oy5L/DNI/gQS34RCUcOfZyuR8nCBjv+Guoa3wLEXURlXCIlBiZP2boBqk+Ye951p+IihXHhwd74O+xYHK9O+noWLQILgN3Y5Bnb3MGTc4QCBb1fU+HlkA8HHUMTaZzlMfJYNlrUmHt8wNkhjJuKzOcKLhDGxPbjG8EaNxwYoASVKH+BEp2/X8Y38Oix1PhJUzeY3EmiHKBTMJQgUoiqUbuUI2UCu81Ujx+vqGazFOslqAgmwQ+RzJdKXxMJd+hfdD+aortTsql1M2G+W29Ofj4jdfVfABNpgRZAmkBNEalSW4wdvNycVm5lf+LZe+HIZBHgL22A2VRNIHuED+3Gn87uzw4wxPY+frLB3zB3+93MWfzrP5KAJJI0id1b34xAaRbh5zOeOiZL8vfELmkCSSEhoss7G2ChCH/Ze2MUIVM/hW9m1BDSB5FCUnfX+NlkZRRHkqvndMNH8OY2/4W4+NIFkEGwtAd6HNbuhyhRzPLfb72plpGA19vk0PGgCSSAyAOx4an/HdqLZ+uCeN+jgC35XeqEh9H2fT8ODJpAY8TGlxGsLZL7DqWp/+sEhkM/iPWEUOBV3yfqHf4tAN+8oLfPu4aNLAO9rYLGKt/dKHcO0MIC5z+51Gq2Am+yO/6cItBWLY3gXAY7dkDv0zKLlTsHWKPKZQCkU7l4+tDc3DPzfIpAPCJNxTcsx9zGtjKJzs1Hkq3ZPHlD2Y7CphLwmEB+BU3J/+mKf3GwU+VmPWKGDNL+wONtMOFoTiI86uT0dyRqjb6MIk8g/N6xh2TDfW5uQ6dAE4iJLXnNHVAjgxzsTCLmqYru7tMFkA1l5TSAeIthMXfac1TgS+TB/KhKjMDAF8Hm09gYfTSAesAjY8sJpvS+uSHz0Q/ggAQJTZ/keDCIMXJ4vlMxVGu3jXv+4c1QrpMRH4xCo2mei123Vy9mEsxRMcCdbrre6vdPjbrtZr5ULufReIhbhPpooJZD3rSvh3Vy53uwen/a6zXo5n7L4/ilZSXEr4nhemA/iHClQVdIJbm0l4WSpaxcv2m71bGqYt7h4GrfyfMuKQ6C+/TJJ8TbtV2Qfa7LSn1jDbfO32f30ejTotRu1Up7SPfM/hAq5vHn1fzYwOq+BLPmDqG8rnDu6uDcGkRcv9+OzViWXjKB9IIDnkwolxW2AxTm8n0UA3PdP1Pe6B0oF7hRjQuHyyHZY5/Khy9ubOAQ6tj2cCc99iWq4SGX0Kj4UqOw11/0xcWvo1ZCuic5079nH/Hi8Pv+OGOKqMKWysCS+sV6nM4D7/k4HsRbpqvSgwqBQlZh7VszP2RRyS6DVW3AqWDSjdftCPgsoga7kvmDuUZfMheVHoiToN2UCOIQ4VVpE8ESEG29rLY7oRT7BhXGH2tV3wrZZCzLAqrLDvMPayNwTaPVDuL0rJUn6rItASYnKsO9lgwzlUmvNSc1dfd0eIeC+T40rTYBS69ppQKhuDEraYcKIU3pBoOUne8OICS0pirUQqMgr5CH4Sk9iol0qusZ4SfBQqT56Ti/xymJ+VgkNzhydMkQHMHLwXLD9sicEWi5ZU9F3uXXEJqyDQIefnKMZLoUMVVFtuiIrmGddW0lgG57Z7KslwiAnojIhRlDJjHdbBnlEoFd7wy0pvX19YQ0EOuQcC2Ll3R2gf6rL9OKhu1719qRN7rsVZczZd/lGn4B1j5i/zJ5m1jqnV7uDunHjIUZ2tzks7U19w38CFeXWn+UyRTQOXZSmYS/OIxHMwjO5vE/WCkNekGtp0x1Y5V+47ddyuzuxaDyZLrXGRhbd2hTvcwiUO6gxcdgemmwJO1OxbfzIcvF4PTjptJqdzsnpYDS+uXucvQGHiC6R0sS7c0SghNX+ebm9PDvuNFud49Pzy5t7/N7tkRvjouMhiF0bT2TuqIWzfGVZDGDbkK1SzMF3an6WN+6Me81H8Ge78hT1VEasYnjMNqYi8UO+8TE6SEUMHwqEIrHkfiZfrBwetVYPkF5Ao4dwRg6xGPRs0DQcUEQg02a/GDdzO/BNDYRiyXShctQdxMlkZpEMBw9Y5m7uvt4L+FjLB05cM4zL357lfPkIDP+MbJbKOEzbflrP7CYXFj4C7F1YT34KTr3sK5WrgFSGxA0RECgPr2f52uVeEX6V3cQBQ/jpXOVdemKhE3rhEy4d03ihkpsyBTewI3sFnTLw8ceWj7hLplYBgyzh2gSIPj8rlu16WVQfoLWFK4z4hMbjBt2VhFXI6a7KblIa0SG98EtBXg53IL3tShw4AewqduQD7CQWj9JlNh5YORap0Cr926tqoYqXBMrC3b4t0KvCCrruZJ6h0T45VLamoPt+KiJiBPtqMksQeH4cowkUrw3Nf3NJoAjNKVl0J4HFoZyS9pJAMFwmLA/Do1JOVa4ao2wM8D401ZazDEjctcV7IV72JIrZ8GuywoBz4CBNdHyY1zW39UBgDzXFmcDTnCqngzwkUBS4YGPhBSE9aFctV9ag5euJgiUI3XeZN5FYXgfCj9bIkZ+5txdYj+YAglsC7VM33PTjgAmkXpbnIYGK5G/LuTgwg18M9ZargKEdmpz63Kk9XaMWyKvc1WBaCHMoAbqy8AsOgnQPNbdRuyUQeGamPTdFqaVequshgYAfI+Ga41ur3C0D/SYjHNnTgSb94oPkxeC1Vhg92CNxwheBj0sj+GZLxXVJK/UPTI8lR8+p7sl4R6BtEPCQIDS6Lcr6LKCdfmGptJlK29MwzzmR1lvE3BVlxCgtRKFOSjVzxNg1gTrk+yYpCrpvPqsHc70j0C7dCW4lCpwdnNUOcZqM+ayFcgNDSHWFRzl7OnZBvzKSL6vF764oCUdfftHeGKDtuabNzjWBQBWK8Q+AQOq9Ld4RqET+JNWh445AoAjhx25JnVBLGP3/ifh+w1qGvoN9D4+aeuLXxEdImuJF+ITohmxipWsC0WVwYrTZ6BbmQuvWOwIBk9a+sMUIfFalS89QNSpSNZhsmiWqhPY0OMyy5cj0xqVMfGchQ6xUcckSDeqZ1KxcE+iAfN80AilNf716TZ53BKKlWOJBKSugl1NJvjJPV5s78P3ogaU4asyzp4v0MHOxR24Afij8ynBKCvGanCWfNdnb/hEoSe0u9Wy0ZwQKTljXaQ9sAys4kCB8ODFedKhkqVNh29M1GkV6dfoG4tnS/GA0TZOKE37gaRp54h+B6A67fFd2hj0jUBTEXGVOjGMp7MIJFkD4cGQhR8DGnm7Z/TIYRZJ13ynwbeNb0TQ3KD5BlD5NowXgH4G2QKH/nUxizw6eEQg4YVJNOtgFcBwDBQ/erurUzp5+6VlufRhU802c3zx8I7ijDOndkri3QRqLMN5aHwlEHfzVS1RWmwXkGYHoHi43RmMPEc7h7gvDh13WVmm1pxcmezo2on+7UAmCoJeXO8owTu6tzOB5uhwYszs+EqiwhJgcqqxCnhEIJDJknDCyAU8dER+qcfLWLoE9vQf+2lPKIyKXgVtOuU8WZRmZYBqRMq7gigQKhON72WKteXJOC73NBIqYuj/frpo5p2+TZwQCtSVyFcrIQHAUgohTq4LT6fRzqRx7OqvsvhOgWj7uLEy6KN9IuBXUizW6bI4IFIomU/lKvX06unl4MRuDVu/myPyJ5fLpslXccxAS84xAVChKkhItxoE4AAvHuzjtubKnzY0PP/Z0iWah56pTq3oSBKKLsozONG3HPDb8vxyBthP5w85gfPtk337PIFDMvgF9fnfRrmRiUq+WZwSiOUmpMBC1ouVnVqZtwod8pLo29jTw4p6VA2gyKxAtl5zsikHTHsbKegkC7ZR7Ux5xMKzxlSLn07PrXjUl3Hs9IxAtvZNss8C1VtITkWH4UNoaSFjtafrPe/V2ILThcFMUNIewmItBr8sZgbYLA/NbwoJNgE7Qx7e47Zf564FnBKJdkrKST9gelqymZIcP+bCxpxHcKP1cSvzWOuO8IrQNRxEQqOSgNdAuwlsWdqI/D8ucX+kHgSSVB8ro8zdSfhg3fCi4aqs9/YWhC60xHLXh+pA2JqoUHLjxySHnOBbYpggSPYuxbcFDi7kMeUYg2mLEjY0AkNirhCECy74GCu0X1vj08sSNKgzef7nDXlQJJB9IzEsIWbxRT4KRY7JGXq14bjKWBR8IdCf7ZHAg1NoLZcY2kBFghg/5MNnTn+7EOfEMBO4UFlUCGR1MDoGKTNGY+cvj5PKsU68UMkna8sFMUu7UxAJlE/t0zAZXIBpoE+XDwpLhQz4SR8CelusKZAJHvbgtAaoEMraGsQmUNj/0xex2fH7SPChm9+O0R5kdiTacZuXJ8feyd9udYoM2EA193POtERg+dFh2YUS0RuzpG3fKijiTxhWWUSWQZDY+fGP41rRT2o/aLf5yBFohtFdqDe/Y8YBXOyN+owQivf3c9SDpKHzIR6iM31pXc+9DKD3wyg1BUC9s8eEAL8aUFJNABin9cZFpOEgT6OenJbLVzujedjGyUyTxjEA0s+tAbgNXtH9y7Og0jZY+eaAkha/z3s3YAtyDy5c2ok/ufj/pAMbHzCIQqP9YWXQcu9MZgX4Q3iu1L2mBDuuhb/kSiea/lgYk8DU+MU8Owof3Xkw7Ic3qTjTGzMBRU37hCo1E37vw+FgEAslHfihNhUDfiBc6pn4Xm5yeZwSiC+rcQVUA6dxkyVaqhg/ZwDm4R/VWFjzI8JNfJ0bzBG5mA7MIBApS+BM5lQm0QijXh/lEGyUvzwhEm3gXDqoOiNT48tz2JT2g4cNLj0Zvx3DspKl8iDI6gqBKg2bjXfRdsQhEi41ESkVuCLRCBgbyrT6wZwQCXT1OLJUkCYWdWZ+G2/ChPcigH9XZDqQPWVB6SbvS3WjYMAgEuulP+AdwSaCtONjHrCW8nhGINhk5k4wqkDXGQpEg0O5SDB/agZRRqc4aw1uTqCWJLhJOFmUzGAQCiTbBC+uWQFC2597yGntGINCp7yzWR+/ElXEpDgPB8qaXU5bwbvuqVkgewvEXUfNAmPqPUkWa9mAQiJb2ipoWXRMINNhaS3UogWS61DkEogdyOsiUBgAe4LsUA+FDbyfyhG/VLhSBVEAIWy1ombMLl49BIPpQRbRwTyDg8FmWUkAgCSeZQyAwh0Wm/g4gQPUN5i2yRMLwofPWHz6wf/2uouywi+MAYnVq2vnB95O4YBCIkpOb0N3ygkBgd7Fsl2DhkKiu4nWm0l/k1GkNQoUMtNgDze9nz4ToMcgmpNCQGcTus4Q4NQ1tcNt/+LAnEBBjEJV0uidQnIYULRFfoMEmUSXKIxBlgWOTMQD1rodfOwOoU7j3YdAjNoMVFMpJgkti/6Oekgs37BcQCLSwWnJJICAuUZbDIxAojnRustRAYcJiVCzTPLNC158YRDnMImkpAlH1fJIIAoBnry7HLySQaCv1l0DAdJHwvnkEAn68fJ08/TZj6IdIc1cRZEiCw9b8LGG2jF0GnrJjphIwCAQ08QTbo3sCxThbWIBGiSTkLnkEAqFRlVnccdvJId6FD40gEfBLR1mqNNlZT6WMGupgqsnYfIFhRFMfVZRoc0+gPZqbt75w1PaVqLHiaiSCVn2lBdtmcN6JWr+2BEhwbHJS2ZdlaZbwZypXTw16h5Ur2BgEokEykX3lnkA0y2AT66HFfhJDk7gEAqoHMp2YVkSPTLW5noYPTQBFjou7wWFGghFUT+hZsi4AGA+MeV1iMAgE/A6B8eqeQJSsNk3+dJWVaODmEgjIKyiItnwj0QJV4h6HD01ImUqmnkbNAtcuDjRIRJ9XvmQECFBcKq6mDALRWhGRP+iaQPvUpbGxt+jhJVqSuQQKgS3oQdX2jR9eoyfLGbnkCQyTan7wct0p7zFeo10wDFN+hwaehWrqjUEgENwTZIVpHFlywJAJwRH3N4Csrvi+8EcdwGjOSLkCJojMQ3dtE2LYypSvXqNpv5a2XHzoAMySd1ANG4TDmkXjQ+zBIBBItHGpGUiBlOJYIaZm0OO2iekm6fWJYuIiAu3DXeFSie1btGfP8/izCeC9suBx2MiBNTRQAO2fc0fFBiV42KGKHcQqKANe6ycrVxvYr48NE9jnl41CaifmwPVMwRFMdzbuBlDGEkeCBPPCwCq/eghVtTpOFA5woTwrhbC9MAXF7Kpd/C5PjpRhYytjtjIL24Z58S8dIYWk54VBdShbjcdItjm2zmVd+QxvWFNir3tULWR2Y2GWsxLOnRpMRducMLDzXkUMEhAoYzRMJ4dJ+ysLhmNsixJt7rId9qrAy+UzT9bibdKrtg3RBdZ0dyYMEy9X78VVI5eA73EgGIpE419zJUu1RmcwvjYXL7IIFIL1yp9dAzMju4WjoWGWphHoJfjJ6HzM7m8uTjv1aiGbSsai4WAgEFg9od1crW8KrNi3XxkUPoalne9XYHWAxOo3lQ8aht8jGnlpno/+Nm6XM4mvawpG4sl07use9Yfj6f0zuxQCvVkTH134L+CfXUmWOuOXpSROnJt2HctB3u6vR8PBYHhxMRqPJ9Pbx9nLB9lo5uaoDrOtp2o86GWrUsgXy9VG52z8KGh3R3e/bP7/xdvL4/10MplM722GSjN866ixv/plenl+cb06wNscnusHIgLFzVoq3z/t6XY6mT6+GK6IvRGg+yI2yNwBVcv+zEuJ548uOC8sxp1KW1p4LD4wgKUlgUmgkLOR3QA4230g/igEq3S2y/2W4UkLx34XPjmHgmA/CpTudjOLVwbIXqOlJ9HMwRm3ufe9o1Yan7DMguHBEuvltDYzW+MFwPZlQ/xRgCErYL/LFbcymEVCAoHmDD7Y1hYKBqhVC0oD/xLjQhfar5zc2MsMzNWGGn8hyRIosoXZ0+aIK1Q5h+EBF6aap8ZzYa+p/A1uD7fB8BYTCOq/88CO8qCwg0v1AxGwMLz1NIFEoTUyN2XOVCYhEsRM49C5MFuHPHkXKQmrad28x+DeYebENSte6xybNHTB+aahdUWCQFsFOzvIAnYtIIoQ+0wg7AQzfkYsWx/cUcO2odoBhBCoSQj5IJjz3VyBqYpIleX5rBBaeQxGcwnv22eML1lxzn9/ohwGGbYSGQJtxU/EklfLG+bX10MgtP0vOCWJ4VS1h9wzF00VCPGWLIXM5+JL3KW48dCzMgqHBrNH55Onl7cvMca3V6wJd8n5LsDrQFg1FWox7TFDcZgUgVbWXV/sFzO/vB4CoZdPJCGPrARXo6URYlW+iNN8dnvZb1ZzZlMjQV9Hu0REoDiyixZ+JYdzxh8XjOwkvuRgEwkcZM9UGt3B+NbOYyeYjeQE7FN9hsyZoZQO1C/yE0LJwysmhxazybDDzrSjEL2LPgYJ4NlCogYSVGFg7adTQqLUHt29gNzC/G32OB0Pe63DUnaPkWCIXVxhMILz+4eDO8LN+cvj9aBVScvHYUPRZLpQaXRORzf3M3p1i9WBzhp5+ax4onoGxYbns+moVy+mDBeyfUp+jHBVTxSaq1XzAxzw4WbUa1bzezFuUhFZfP668bgZReTroSCZ0lQze4Ti+9l8cYV8PpvaS8TCntTMhRLpr4MWcpm9HWZiQohAKJrYT+cKqwPlM/sKBwolMsXKYaNeKxcyu1EPflkwmkzlvn5ZPpfajctdEMqS+xtIxGUWQsEzZCY4SqBqbBTINVWtnpMDbiERNpciT7ct+pzGrwEqtXOgc6YAZGiJZ+E21rGhangJtLsoD5SXAW6KETeMrikzp+EdcA+J+iBhMXCjk9g9L8syTeO3APfK+lnSipt6xKIZ5XVYZBqeApU/qPdyioGzkOKy2Zom0J8DqkqTFrxXAIo1SUw2Q4lmvp6vxq8Ceul5aSq3QIucxLzWvjai/xwyKJou0auvCFyEKXbOsbumICSksSngfmCHQmcOgJvyxHY6VoxQlwTWWD9Q+ZW6oIUIuC1YXKWBS+997pLV8BTYR3IzjIALVKQhIanfX0NUU8Nr4GZZNY0PCaAMqXiCBQ44SuhOaPwioAfsVD5MFtjIEkeacM5VoAWv8cuA+5V88n1wU6pgUgHQtHdf0qqxTuByrzd/zGgseCBsE8RNDx4VJGqsDbhd4NiXo7ckLeMkrvIVLlUavwy4YPDND41fPCVApIcexL0qr94MKtNYH4gukx+l9fZNqVaQWVM+N4ho+IAyenaCmYBKwE2pAsk50jesJgynsVGEcDv52HuhX9yUyi+UL5N2LF+1PjV8Qtm/x4fKnOfcVh06a3Osg4h/EUQaTllfmYUAagaec6rJIlSO4NlnqT0Nn5D3awUgAjSvDVZ4Jwe0CFQ0pTR+A4iOs+poU3ukQYP6pGSXbduD4hB+iw1r+IYEadb3si00ZpQLu66ZhFtCuT7U29INhX8YdK/xzpffHi5NmJ0fpH+a9QPh3WLHyK+WLoX+wwgQ2ekHzwxZez3I2fRyeH5x/WDSNfr0rSBJYy3YIcKpU49ieWS8wVBCW+lB5+D/Oqjm68QTBhExyGkk1BLJqA10APrvg+rQTjxIaJLk1uuX1FeWuwjd6SrofwEBOpPpzq3G0za1f37IESgxlbrv6srDhjR+FcJ0mXA45cSMKJ0EQ2I7wfyZjbDfx6ii6fPPIEYHH382XDjVKSr2bQhM7pT7U6Axubg/P9C5i38KcFDAQFmuuUpXmp6ZhqFkvtY87vWOW4cF6fm7Gn8GScCgBzXRoARQ1O5pnY3/GhLQ1u0798YCVaCd39X8+e8hBoX0n5w6SFmo5a573P+TCBkG2d1VHRgq6TMw/OVdftyyxr+FuiFuPD2Uk3AN5M7g9x586nTV+APIG8d3PnUzQp9+p2acFTjUuYn/MuKnBjYsF9dHaU6tYqI8MMYI3xvafP6Po2weRLaY9iopq0m9nSg0LaNeruwm3Wj8t7BjM4hs8XDZa1Tymf29RHIvlS0etM+n1hGeT4fedwdp/EFkmePV5h9vH/OF/d8+utr60fhBoHDFohCTWurTcjX+QQQKFxITNQmeXU3L1fgnke4+ipnzjUldb14aNoiWBubB3FbcdXO6K1mDhXjxZMIeFvty1czqygwNPoK7pdbw1hTxWcxuzhp5l3PeNf47CMVTherxePZVTXjZKuf2o7oZ8D+B/wOHRaokCmVuZHN0cmVhbQplbmRvYmoKNCAwIG9iago8PAovVHlwZSAvWE9iamVjdAovU3VidHlwZSAvSW1hZ2UKL0JpdHNQZXJDb21wb25lbnQgOAovV2lkdGggNTc3Ci9IZWlnaHQgMTk4Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9EZWNvZGVQYXJtcyA1IDAgUgovQ29sb3JTcGFjZSBbL0luZGV4ZWQgL0RldmljZVJHQiA4MSA2IDAgUl0KL1NNYXNrIDIyIDAgUgovTGVuZ3RoIDc5MjIKPj4Kc3RyZWFtCnja7NzbUhpBEAbgBuWkMSByiAgIKgEEFAQMQQQUsEwy3eP7P02CO7sKBpbobqoG+rvRiym92K7tf3qmFv6r5Jdstdw/EX/k4qXi0UUiAIytJOmLPcRPtlFKFM+mv31uDX42jtLA2FKBi9jpWBAhijmIkrDVv/V5gLEFvjR62yRRLIRI0Z2Sjxsa+wvPwaRLKGwhRXv+BDA2I3F1hlKsCOW4FATGLMnGmFD8A6Tm0AuMPQv5O2/rByURSUTz519qqMy9jE1le3PhGZ+eRG5n9FD+nq8eHBT9jeF1vL2NhHPLqFMFtvGSwwzOBeWdcKz2NQQzIl9Sd/0W0uxaPP0GbLNlz2imfLb6VxUPLJBO1TuzeZtaeWAbLHB7j8IicdAIwnKR/cMmobAgPiSBbarEtRQWeXO6H4IVeG87EoWFChVgm6nyqoPJzOExrCoZe715k60UsE101JJCQRzV/nGA1CJhwhs/sM2T6qJQ3rMt94Yz+FKADWCbpmplaMzUE+8qwQ4JE5aBrZvAXjZfPg+Hfw1vi7U0zDmwCkiOU/A+6TAil9CaSqbqhV2UZJAi17vLeuDFvlVANPLCu/lfOiE3snXiq4/fTI9J7JSDoBw3rRY2fIQPyLZf0jjPFtdFdnJDKN5C6j5UYGqvg2YEisHHBAskDHh/BGwNBA+jUixC3VICwHMpzYdehY9K9K0SGvOdoTUQa5JYhjopOFdLsJtyInL9IGGQcb5DrbvEtZyLPyjl7OUejE6i5hvoAJwQsUqIhsC0djFz0C5J5HYuR5MfhfbW62AthSFTdKpu49af3AemMd9YChPK5uR7LR2CPwKRYGo4iM7Fa9kAp3itZN7ma4sa87VQKIiF2B7MCNXqORIvKAzO8ZlzIaoD01VwjEKhs+IjvOUddqVQZDwCDsqj2ceywPSULEhrMFNeVB3HfVRrmhfgqF/m/i7+CExLYWtP3cnCQiF1p0xeOV3AZ6j+PY+m9VS0Dkov92CJQ6OCohVwWDYjnuGnCDD9fDVDEI2SsETIeFXgSRIcZs0p6QqYfurq8cne8tLY2xVTeAmOS4+RX0LaqtyrFtL5CksdoZiic3CeX3IS0pYZo2+OYLkrcu8hewaotmP8dRjdeHdVBCmtWGrRY3BBFXkmpKkGqR5ml48DBSNItxLggscBmuNuppXQAFfsTekcutlnVBLCFp+O6aUSVZsgD9iouXt6lThRpczf9NCLisd0C3b8aqUf3DFUQf0amE5OpZjaCq58elUDd/huxBSe8NcYdOL5ZISbHtiKGytzaXBHwNzQ86V7nXi3xBSVwU6iZVRQIQAuKas2eQdMHyoe4z7YOTYi91MY3FKLmqcmTB8pFFPbQbCTly6ffVodNcf7eY3k5arp9ZxcTynq/lGmBkwbxhYdd0Jg5xLF1O4euCam9vP8RSGNqAoqgJ2IMfDDsxC4ppYxD/+ZNvJyxQqqRN2f96lzEzkBpo0DXLGLVVWQboB71EQIB3zDQx8145m1I2CjROa230WnKtfzRUV9BLeMQw0v2BhZpx8uOiczrTNdqBmMyNqta6PNEb6Dd5U+XwD7zd6ZdiWuBGG42QyLsiMgCCKrKAoqXFxZXK5iV7fz///MHWdCKhBCOiEB7jm8H+bMwkCTfux+q3qp/41euFCeMBOmTptczFpSH9mYJLeibTz+KGUupwqIvFwRcUxP7A8ZZbHcNTsjTupIJqhANib3qWcqH9k+1U7CskICfuKjXJ0qQZxSK44rCcarnpAgTioGaNc3JLcHKN34SKirg+k1FRAWIMjVZfBXv5LEMcl7Kh6fcjWDKMl5h1LYBoLoVhMUorK8fkGX63CeP5CryL3G4ORxmHBLi4fDIEb9DqpAN75DaEeQKaWTVQCqCBh4Bu+lc5fec4VP4qhiYGUb5I6gTREUvevzBSVQebjfu26lF3UtaxBH9S9YOZG2I2hDBCUqyI+m0C49fVEbow5byzmKC44PR1w7gjZCkLuH85cORXCSmhqjHt774qSS3MpW7B1BmyAo8cqQFs7ZPE5ojCq/jVF6AGs5RjFiVhLfO4LWT1CgAYCUjF+Sf0oxcx2KeLjrdX4HM15xBSliRjuC1k9QusxUBZeHf3I8h4VOuRv/1qGIrmfr1yP8+bZZYkY7ggQIYrYSVEspAPH7xoEqOCvuZYNezrQUredyn2gX8PyssHYE6RM0GHv+amxn17krysWtUNZY44/Li2Y1BAuN0YPDUbZPPu5jLuLbEaSvfG0qG1PB+YEC0E1Jr51Hv40RZRzWSlAxKH/e69BMzLcjaL2KXimlUFK6/SQbo7c5Y8QjxEHFbkEx795ygQhrR9A6JU3YFIesYWiuNkaO71AsjYGieLwnPODtCFqnOnzaRU2JGAmNkdfxYOxp3njxcUMw+7QjaI0qjBWATI1cT3/Bg5MacUQfbU41YpUcEdGOoPUpPfWqLCKZvGDM0T2Kh5igAkCW4PhMpJk7gtanodxR/PPD2s0scHpI7JcbE1SsF4uEVPnO8oqf5/LnSk/Dr0j2q3mWPCoerkLQXlZXkXajUy+4XcSMAgeFeqfRjky+2sNRJ1k/yvku3fn00q45RIIOiN2KZnL1zqj9NYm0R516rKhNARTx7nHz+3PBsas7in2sGt4MEOJXFaJiVT+xrMxeL+gBzhjjP798Q/w21YilrRKU/cX19P3zGeAJZkui/eovZSshytlvcfYjzgFo2HPSDVafy5HhU/Iihry3/pVVUpoX3vt3gQqz7qOg/IPbiJ7c2WfXC9ggDvFQN9VrlHL+tDR9v0+Od49bOsqFZQucieKPO3LFTtw4wPsWc0PR+rNHk9ECYPDa9lkj6ItRAwHnN9mWgJsoPd/z78ULSD+SocfNvlUGstSv1IrtByztk261u4vWRQE44+A9rb6VcJuY1X1ifo9DKxsYxcO4jnsH+lhH3ApCrr0g5zrdzB7efHYThGLHE7+B6+v0OafGgph6wVBIEAxYWFmNPWMV1MVU//qDjHQF8qdEVyieAAMXsVNnoAB0m1NbxrKSOu+7iVm1UhyovvhDM20/QbhYnSBLdNFnQOn2EOTvgSHPrDRTxCthza084H+3TS6M4nlwdqyRFLZ4NW026zUGo0dSKTpGEIVj/TkjnwWgdIsIStwafC1cquwxeZOPZPVaBNtrpxy+YRD2qPGge1MOWE8yhWWEU0PxmyPHCKIAdT1zX2GUbhNB18cg2hR3CP+wWiHCGLFJ/qoqio8uGO/HYKE4uavMFnSp9q/GR44RROH+fPE37nO6VQRdC06oPzHeHaMr3ub7zOVkErFHvrkoXqu6DC0dt4iopCyb3+8dDp3cnngpZzDbyy2z0fy3njibi2T4s0S0ilaZNthhSjD/o/USlJAf8KImca5qTxHvQeR7q5zmsvOmzKMbTRSv+yMCVZeJ3CeKw342mcsc5A9rft9FI+VVQwT7eVME5e6SuroevtzOdn9CJ6OLgu/4abX83myMms33Sfk5NeifnnjiFLiclcFBsvprCprquzGtfvVNEeS+hfl98aH9q95Xc9Rofk3ergbdEy/9IYpeyk9mtXMQgRTYeBPeHkbx93WjUgzi+xZzx+qQqxebnRwvR6eqPmARO1c18iW55jraRW0wguLe57tieuZFkiud95+3YonS9Vnjdw9iA54isnphKitejizQSDJD0Ox8z+KpUe7ANdOgvN93VDprl2uE1OUpqGxDFbmHc7KqJFUU/5ojuopOSyXcuIVX/nAmaRGNam3AVxznbF0Xi56p8I1rP3zCEDDIFomOBFc13CvvtI+Bmuj79vIWfdlQ4tIldw88xqQVo/h3jOIrS3n0jbEolbk5DM4CZJHqY8CBImDvyuoeIqTN27rvsW03F5s/qyFdgdq4FYUKFFKP344bogAe69FVovgXDMKuakIXOFJPhhjLfQPK+KKfAXlQmVV7CSJDDA4G0jxeSPd9bgtO+xQQdwrDgGCBwtWug0brDlC5ztsRxU+MSEz3QXwQQqsKS4zTEw6ALzYTlO4qCGvupizjx15vw3mxCBLNm6J1VfiErKD6eMa3v46sDWitLkf0JdGBD05qYhdSy35PWh4SyPJmBAkyHwrCkV53QtC1BQQdYiDGU8YNSoCJkEYwfQns/r24WhR/bcJ9sTuBsgqKz8Dnu9RCso7NBJ3Hlbe+1rNB7GwbzqwmsDcfWgI/GnzVo1hSA6hG7OHNrKlOPmAUL9aaJBNcTpFSgDZ2mQJVULy0zQRhp7G2ZhqQBbltIOidUVlCAbr8bKFgQ/Q0m3w1Z6qlEQ6dr0aNweFWLIlw6aWyQm6j6rLoVuwliLxwnX7JoUPybwFBH0EwRbT8XOLnqx+1jwcpn02DB6/z5hc9eeWSCOqd4YwjxAXvCbMGCZsJaioz6ZXe1HmT3wKCMmHMzX8QY00/9h9iSbVHhjsXXLnyA5s1RKdipjr/iUHYc42IKge4IGf04y82WUsDnO/sJQitNFR1CaptAUEXuJO4SRwnKFPhs96l+H7DYM5U+wTeBgHK4tQnXJnq9nD5OHkK00nMqIvQBMCnvQThQAgVSWcWC19uAUENTdAoRpCltrdeuWYfoX/0ysCcqca3odCQLBQ/pC2ROq0inhuze7DvspegO7Z4nZz4VKuuW0DQG1dZQQGdUut3XMZucNt7UWVw7yowZ6pTy0x1AqP4hztLvcKSy6ng4sNyAdB0r4kgv5cqNm3zBAUqoGqngMrWa7njOhKr/DPbwItHEDbVyWOM4hNmB0GhtbE2E7/nyO9FUNZEEE6ydFzYOEGHquSriTsuKa+vkEdkzxo6pAWmuuHXySZhFG/+uYlY6SsF0YLoIVx0Ac4TRDATDv3MRgnCUEz86E7M6qnlBizZiLrYVIciPo0XzqLzr2Qs1xEfSAYvEo4XAkG8H25dBDUZPqTX+sdmCSqggU0SEV2GcQa2uAujrZkudU11fM5U558xCPu0kgxJgXHxw5rycEUK1mP6+mkdBGF9JFyZzmySoASYCcVwEobgh8U8ImhHL2FTfYlRPI+4iAW9CVw0fR5WhVeG+sSEkB0ESdHaZSGRHL2/9XUdaro7O1Z7Hke5/GYIwmBUvAbFFZhPRdSumOEJKDTVc5lqrpjqgtUoHjXhWD7TMLyCQUCASQzcrBPkOvQXY6XOcPI8eA2FARhuuEeCtMlGhAhurxqJy+gGCOows9mpBjO90R6HDhgvSfKiqfYuNNUX9xjFJ4k1RZgxQQlcLTWRYqLsywJBH+7YdbOc2r/1UOA/2ABQlB5BeRyE1Af5w/3PYamVl9ZK0Ei9Mihopc2WufRp8ohGKrYXmGqM5eDGciZtIkBQSWluJWOsF1DmVbMEHdQjQQ9ouDEkCCHXVqDg9KQa2Su61kMQ7sVDayC8+Sp0YCGPKOwI3KPX71lDFMffdlvEknDOCdWE1tvj/7V3pn2JI0EY73Afch9KQO5LAbmEQRBGRPmpk+p2v/+XWWeFVBRDOiHZXcb8381hJoRn0tXVVU+FtcEyHn0KehIrQ0ZBV+8WMtijOaAsfpJpOKxXENbNoyUUf9MyHejPI6rcK19QbYoTUBe0P2yfSkagd3oU1K5hDpVfQUjjmmrZx6wa6X9XQaeEjwbbhJlPB+cR+YNqhK7SxDD+AMdO8kKnggzs5n0rAAnhVxDiiMw03mCMPTQdlivohckKiuq0QoSErjowWokS3Wwz1QhbC8Q4uSJW3JiuIP6MYkz9BQIA753PTpeqgjAFy2C/9uhwefqvKWgi6HUhS/mJBk+/NPKIuoPq8wszxiWwjAUKYm1eBSXu4SvZUIBwsFztji/7JbHzY840TyxDycV0fywFtJr/372DSGtrANQg+4lq5BH5cFw8MJB1SA7C84oLjtkKghingtxT+JjLiRdPUo/r5U0i36qferVz0kocjUggjMZzu8B94v8WB8kpEBilufOIN+QA0skqbHN8URPmjkkQM1VB/Gfz2H+NRQiX7VZa0D7VUEe4ajdXEyeojAeEqft/p6DCjKdIwqeZR+RHaEw3HyB50GU2JwXTEOHai8VdOgie8SlorhAoSyUErnMxTQRH3nO5GIVhd1FjNcFCBV1y5IPUmxTPE0QV9wjziDFyIBh8jU6JcfLnPNZHN/KNj1o/dODXUBBuRDCqEzhPVjmJXrXvusXPKqIeq3PS+P+SE0cRNtrwceQRRwVyKNjITvsHGanzFLKUUEGC+Z72HoXV/oD7bF4PdfESu2DwfM8iBeErNXyma5YyeluakUfkP4+Dcu7Q0YfSeV6jLRdXdvMVtGDYJEDMVRAiZDMu5Q62Y52Ckrjm66pBeH7dPIVH4ctPj3nEbo6YQm7TLkiXxCgNxlW0kVf0Y5muICw+gqHDfAUhnSpKiF5Yp6A2U25G+fFdy/aoAn8e0Tj4uoRiiBgBW5Rpk7dj3fnDbAUpO+3XxEoFkTr2krJn6xSUBYPTc8VzVY34e9p5RON+KMZnkyWAr1OpHsT3sukKwo0exCxVkNLWB0ZRyxRUiOObzuCIOnrrIEqiY3xISy8xC1xxp2fECMJP4GspiI6weN50BaFNQbBusYLIak8nFyoo3jpIQXghGjHa180eYgTJKfKIA2Im0RPAO9XPgGEDBm/pc990Ba0AdWG1gjwMb2GPggoHKUgYKQry9OGNyB9x1oxiHvFVMR/FTHCbfd8i+jkbAq+LdYbhbslsBaUA/RSsVhAuMBBTV5DUOaxnNWV86+qPUOy8ET+bg8MwRkwF1yE6NhBGLxi3ifWcooWhyQpCpwb2aLmC6kVQbY/O4Z9lD1NQhBoPG7136MQLq/yHEV9s5CamkzBuZX7B+BfrmMKg55gVhM2trL2nUzJhWEFY0ml46mDyHrAMdZFoTOV/qHpGzAa9xdjKqPUnXIf0fPnMY52Cnv9TBWH4Qks6FaS+nX8k+slOqHJqCfBZ8x4+TyFLdJGfAk9Fyu7XvDJbQQrbPK/VCsrtWcW8AeyUPExBdYyoDE3wru+MucIckdngfE7oCkQHbjn/+eLl3WZi7sjUSLoLeOhmmYKwv3hLds+Gs2dQQXglzlc2/6g9tn4i1oBZsuq61Iry/tBWQBBIEx5ETBz3TFbQmGGMZbWC2mxPzqfCcDk9TEFNqjzCNUL6AgtRMY9oERWGLS2TyqCDktD2G4JhQW8AIU1bpipIaXWesFhBqFYopvfYNJ4IhhWE54gYJBjC0bymYEkece9YG2BUul4sxb3BsXd+Dts7SxBOcIfKuk+mKqjEsPPfYgW1pvvmA91odCvzK0iYAFqJGI5/64Pa5qudNoilvLCdbt9g7bJxJagkEtGkDTx6LDvR598sBWGWj+uIGC0N8BBfdwZM3YstphG98CtIOe2MLU6JUfxdwOM1C2nSL7s0w4FM0r1z98LNNUPPB50T0HDWiIkKio6AS5vewhjwFeI26tutfojrk+8PuoYVhK0X+M52HNrMFyNWghVaCC5p5dU8W1d8C2KNoVlDSecENBm2aplYYZahWPglqsmn1U/FQZKBWXcuFkI5gXBT6CoENImqfF/vQMmogrCXXIaVPYLBdSyo3xXGeJ2hqoqgeHuX8Pl/h8ONWwDlRGY9PKWUEgpeamqIb74Y7vPUfSBP80scwqnsCXJuDSeuehcesXOWi3rVHlL2Zaa4AO3vj/VgWjpMQZ2ZhACrDnxf35k/mnvSOMbDjnRrQHuooRPryXcetrMa8dxNAFSmwvMOyUTo7HaedUQJ4vULp+n6j1Yn1k7OLyupWo5TQUJAIaHzXuuDeM7Ei1VZUush3M5LTfxFGUiu4ujn88tl3yPmC75cOur3er1vX9FZNpmZYE++eldWAvBvwKod8m++Y8fbZ2rczHPcCkI1oidW6q7Rcfy+J/9p/Yc7+/sZZVapwGiY18ihoHu2VSTYph7O175MBdVa7YAypnxA61PjQwlQl6PaYlWprJ6fF6lUNXBSLgZdcendLoqFfZoKwggZYc5usyTGEg3P/HKcKu/rHcS6lAaTpym/ew7FncHyKFCtVgOjomvnEtBQnTIiwyAY6D4+194u4AwDAKV5PQqqP8DOFyA5r08C1UA56Hp/Rq8M3hC1tg7QJdaypIrhKvXYxXNZohrd43TSNrJcpuhXPe1vAIMNEhLmni8m1NinZ71pemZabgxxN27EPwNbdj/+Wsv0WNaj4udB5FIQlqyC2j19/K22VqcnqxBreWSfSlHSnZtxIKzePU7vL3PECI4Ak3jArC9v1/M9SIYIX2H1CTd0FVWrmHJK6rASj4KQpIb8OY5x76iB+kHDdr7dj7/bKq1/TmG36xfozMgoZGy65cfNrSDiAYkD2Hm1Oh34qHmh46ih9m7a51YQGsVrwy60RpTQHrEUn0vtuMrrEJuL4scggBXXBWKcXIWBxEueX0GkD6Atn0Af55FjWzE+ah7YtO8lqgjPVF1BTT4FIeIDx23BWMOh0HIFiYB9vF+Qy/crkzjbFNrO5iFyEN4kntZoAFltBSGlKdsrHzYciwIhiZqE0REu3WPGqR/psUD2kVaXEI1wKgipr2eaGoKf/7WC5hSn+KsQLXgiQYwGD6OOJ357PaNemcihIKSwAKZyNQrlcaO+SaDkLx6r10Fn+A3ndOsa1/1rn3snztmqZIkGQvOeqqjvkVtBiDsT3Pe0ABiV/msFjRmX2fwdxYHUB5LzLL6KsOT9U7h40s0sPdnoZwWFGWxABSHexMJFGXx6vuz3SXE2TZT4T0OOszccjvo2gVea9yqpk6JLAvquJfj8RUFxwWd1X8gMKfv040ApwOpjRSOFd/5K7o8yBrf/pFh2r0ghXqyuLgdElQzF7gbL8FeBq68kD9hodziO9t1iEoxL8n457CyWA6lVpDlo569ygsoYxtstKmn61qAymW63vOFguVZpltyoHg4Xc7dYml++uZiPivLdSfG3C43nsTr/p/OMA04J6G9eQQoXA4tIP1H4cCNPL7dbRM3ricu396ZLflrh4sPPRWTpiV3l/GQfPct389ijQiN8M3njBWIWQr2VjyXeiMXyhStHLvpkylUd7t8XFbOdq1DUazhcE9KOljsrvl0o1mkZuJDg6CRKg3k/2RA7Z2kTPpk/7StkY7+fVrZwVue8oea/kVHM8k6M78ImqWFzNPQpVkNZxoDytJ1ibuGO2BwNJZyaYx0ZyjlAd75dU22Ohixgdt8qvDXgbCX1sM2aanM0XIU5OyAPNxR/feEwm9pKzeZYSJctrnLFXh/a51VQwE9sjoYUYJenRXgor91a0lbQ8RGh6I1vET3KMwoNj52hZq9iR0QSj6ysIsU94zVjR9LHRyeOjfwWgJlmVuHdtLExsTkeTst4ZmUNhY1GL3gbR+iS2BwRFaZid2GyCx6IvFZVrEFsjggPxb22JdxRXvf9DNumN22OCJ8TLUAsoQuc0y5yRdi6UtgcE13gNxgzHmixFa/xL10Tm6PihkqW7YCwXZU2ed3vQSQ2R8XWo9hpTSzdBnSV3EufyrMAbI6L8SaW/kWsoEn5wmPfUJ7AYnNkbI2bnGfEAlaMyznd/8w2Xlg+YnNk+FPAP03AeLvqfpZUNtG0OToaTMIpgibjc3ENh/IADoCzOTqEKmx8256I2YjAMwetMQPZot/mCNm+hJjJ3x+2q84KBFEfz8lSdjbxKNm6x8G0RczFu4B3BcWIKqc9kCcLXRGboyRm1TsgCVvTv3lUbStYowqnI5sj5YWih7GJuKcgbXittv1kl6v1DBQ2NTbHimMI6DFrGrkASDIAtWRoZ8C6U+GLbXcaHjNJtl1u8uaFVysqKQFWfLxxv3fye6NnicuAxCQZaNrl0ceM93EroQeTolk0jQTA9wyVioHu6vG59hD+YAwM531ic9SEyvIwJgcxhSbbust36ScPnx0nJvpgn8gfPeK5PCvTFAldyIo8FZoztt9QrGKnov8A5kyWkI8czFLex7sJIfkugLrz28SujP4j8L7QrYQmhUOD6B776M3ubdeAfW1gOemfEps/gqgcr8BQJIeQfqQ7OR5/bDxkDD6qh7oWJVs/fw65nzjXa+4lhilU6ZdT1kKNTMAFdAPER4839jHGn4VipgCrhIhBPEOQ/Y0/61DwxZLLX5HIr+ZAbNn1rH8ePpTQ60PCmArHgAKyXTi+HQ7FOSdkfPrDcQ/a7LOeLaBvSE7huU+v9W6T8gsAWYB2//v3RIgwZarGEyXcuMfn8s/CvYfYfFP6M0ANscAgx7d+ZcczJmEUlSU235bYhCpTxte9jpdoEEqmJKacsGYfU3xr6i8ASg3FaxdugajiaFSGHyaE3c/tGPq709hsqVBEgUipsBtXPznE5W2QMQkBdusmNt+e0HrGPg8Cjj90I/NSrNO6cvy4KuQTN3ePgZ353/R68ERsbHBnrgCAUgZS2OV0heObX3zk1dWzIyCbDV7xFpikh39G7NrYKDT0PKMg8QF0uLb1Y/MZd68MDDjkA9W+vX7ZfEW6XSkChf3ymfSydsOyjSr1xLrqYhg3f5wvG7xd5u1CDRsN/Gft5uokKMFWR8AYxIs/x/NYiNjY8CHUC6LnV6ooSfFRt9nIttJ2l+C34G/5LC8WCmVuZHN0cmVhbQplbmRvYmoKMTggMCBvYmoKPDwKL0xlbmd0aCAyMjc4Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp4nG1WC1gTVxa+j0kiqNXwFgoYQoiooBICFlZrpcWKioii+6G4gIKgvAur+AIqRQykEl62CIhuFelqRd3yGdTiKuILina31QV8rKKrBSu1ylphLntmgv20306+O5M7d+ac//zn/OdOelpGDJKi8cgTzYqLiVqNTEcCDJ84uDE83wfDNSF51at5C4zAxKgNKaYpHgWn8WsSMmOH55MRMsuNS0zfYJqb18MpH2FhCaH1HxxX/WnMH54jsxHianOf3FO4tn18LOqlnv/eLH1ENEzNEDEZQ0iWwMCDWTGs3jBLF+28friIZx8UifLQCdSH+rAVDsWF+CxuxXcJIVZkIllN0sk35CG1o0F0Kd1Iq2krvcNxnCs3i8vlDnIN3FnRrgvahWxQBJL8zguFOUGGoV5OJbVDFsAYwlZE6eKmlinlGrntTKzxspArvd2ULlKZ3AlmPlpO1XkpsVJrUdNIvcrjr3QadYaoLDd1VrQhHz/vY/8JDS2S2vE1OGgBa2H9Z34MX8hUIeEtdaaoHdg82s35IWuY2GqwBr+FBXe+bjZg+10MN/7lRrFlO/NxL821C7SypMEjA2Z6TmPr2nFeEX1/wDl5z0hJGZbOW5fBuZpsOg71kmDJe8gWJnKNtVJuJRjztRVNa+VKrUaO065e9ZliN816nH2EZ2r27t2S99iven5tyLsy6Ta5tb6alOuxDLiIHuqlj7hgwOeIkMQFzcDeCDhwxAoxesEoBS4UWm83EtzNXuAxTV03eQ1XZYgp8Z/rbzwQb7Aib2VbYfUzj17sydidzAOt0zWb/ObR1rrt9plVgDcWfJwFHyrA6+2m9sRabx+Nl421iWdrKxtbJ2xtJRXAa0Sv1Gy14eLfOxrOdBk3xifFhxe3n7vXdO2RUVq6JiUTO70f5jypKCevoak4KDUiIGCus0dpTvHhtpLElWEiPwZI9EvIr5XAuZBSG2u5Uj6cVMgznkd99605etKYvn5Z/uTGRlqLQ/7YepNfTmr12aEfDj6AdxFwkwa4ewG3M5qIkMITq00Ee/v4QwQidKUpEEiArQrI0prCoR7m5sTv0Jq/Hn7RdW1janyO8aemk7dHjeV/jduvup5TGqGZ7To/qu7z6kNJq5JXzdly7sQxvt9vrU9BZOCFzLB5S4QYihCSpoFvSDl2xmIQb4TyFpa9ERT2HU2996akVqi9azPqTjYmpyZnj2xMS4laP76R8yvCC5fGrI1K6nrI/5kU7M/FxcmYX0j0VbqQoMEHUJ5ivAYWCUoKflMXAmH/XxeunZfWlGtp4x4Ln4p1rZ2NRSXLN7lNyIwo3inqIiAA808kHbrgEHaBPW/qCQnk++fMvyLoYmgInSSFkl+oAgWi8UdQbOwsIeYGhLiPJPXQMxBWgF+FtUKu4Ebz0UZ6enCQVJN8foOkvpxxphyTo4B1LDyrHs7rK57IZwlhSU6NByyoR/4KuymjaYk0eO4g4/yq8JKVMk6MdS+8Fw55pkgGuRXED7LB4UY4OD9s1yLqjLWCGjoEPCorqUw9E88AvXqvCI2f6mkMXN0+58O5hrBdJk2GD/VwOsn512vcVeOFflfjnNLFVasR5Uqvll/oZdjy3z9jO+OhL3bX1F388TG733ObfW38R3VlPU6K+2Ta9Kv7D99mrCG3+pOk6Kxp/jdqj3/3sN1g2Cr6vA6BGIEviRiBRKsiRiO7ju9yXSPWx0BksYDJDjDZQRVNFTIqlf0Gwhuq9ZUQ6SuMAqzX//dlJeeUMfZDxxAyZCVufNRy7olhX9bHVbvzcqrddUkpedtTk7dz2oy6SR4ntrZdu/rtVuNk6l6X3tzaNli2qeLzzdn6T6ky5dMdGR/l5Zl4ioAcK0VMyB1rIWFvKgkgYgWnHFyKb+aG56RUGozsYcv9wm0sk1zZRiyLa8PTSisM59idrzMfFbFlaFinPdwosDkaOYCLsVC3ZBweayGUrNpk3dQhtdyonzs7nj3t6PzFWKDboSvcodtBJrN7rAur8Nt4GQw31sG6JzSfOdPMljefPdMiYq4A+3Lg2QkhBwxFSWdiXx8La1Egw9k0RSE7uoR8z1+YOjVt0eV73fdPPT1SkJ5bqM/emGBPDNS5jq1QeRDCBrrvsIELbZu3HdljOB44X9RDDTiKACG6IQWDrRIphoZoBsQmaKIZfJsjS6HbgyhElpQqhcmpAicbietjnn/MyvC6yrKySlZGgvgGSX3PxcuPyvZs2boXDWtLugDsgF7MCBS73FKJ4WcptI4v8E186yejJWUOm9nb1BJqamAhd/RlCJlDVg0s5Q7ye3ihzgSuI2HvVIPuRK4thb0COWIrpHRBw0zABiJSHonR3W6Mh9C97iHUWFpeWr6rrLSUTHiOp7H253b97Dvs2X/01u16u6/u3v1KxOgPserAj+yV/rUKTse0RqblFkrsXz6Q2JeLz+mhL/cDV9DfVcM9GfRr2gQFIdMA6lWd+LezjXGpKTtcjQeq8bIVN5+RLXzOsW3LFlPzgRZT3bwD/haJ3I4Bs8JGKvgEiYNzGc1tazvBJ5LtzfwWfIU64Idl7DBevI4+HZxOLgUK76uFHVPEay4gpkp4VQlXeoPfvfM08aoh7qf5D/CLlziXbZbUA5/jyDF4L5bNp/8FDp0QfGFZCoVqY+sLAUjFLwOxu84wbTZkmFRfuScWSI291bb2Mx+LyqfdS44vmDK7bH5JIfUuXX35tlFXsnKTu3pzREkhMcfm2C900c6Bf/7QO3miTuFetTMeBwZi+yd1LYuDcV/Q4p4mkcfZEMS3Ug/hO0Jsf6ZuYCsTfTmKhPR++eWRv7gETLK19HIMD3vwgB7WFxwxjjQ3SKRxMQX6wcWCnYOkkPZAL6cCC1oF7Rk8TQNIYZmwBt+ceCU6L6wphA678tSp8wgPAPP5yMAR5EAKkSPni6K5SSj2t/vRKE1GUJHwX7oFneRqUQO5jAx4EO3FxfD8PRTObUXXYcTCiICRBqMCv0A1knGoQUZRA7wbybUgf7jqYe0dSRBSw/9Y8g2azRUDZge073/pdkPZCmVuZHN0cmVhbQplbmRvYmoKNyAwIG9iago8PAovTGVuZ3RoIDYwNwovRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KeJzVl81uEzEQx+9+Cr8ArufD9oyEcmgLFRyQILlVPbSbBIEoCEWC12f2g7aJipNL45BootibjX/z35nxGHy09yuwD2EIor67d2eXq19futWnq3PfbVwcfrLpvru1++nguRvOF9M8eI6+FAkaoYD6hf3ZW/TAfrF2169jjDDzKVCBqOz7MZqRGZsls2xWprFM13T6fjvz8cYv3rs3C/fRVvztrm9s0aUhfnX9wmDrZkz+3iWGx+G3px5dzF0MJaEyQMlcYhJBf9jU/OKDO7vagP+8cXMTw4BHOSiWkBUpireFSWKIKinJoOY78Jc/ngMOqWfkCXkYk8DfW1+IeofChNrGGCeOzmGPr5ctjWuOD/DJxAtB7ER6yDsvf9jUockBlEJMWRW9IIYMmFMek4Q8xMOTZCsRju1EtklgianuxD+zuLUDGCkUKZyh7sBdc1BgiwIilTpoN/NglzUR0BAvS7OV2bq5BxQD52LRUvUA4hQr7WODNahQqcc2GDDgSQicU8gJ7dnXgS0BgSfw5hUE1eq6KFqDUIU2hSFP4NQamizFrCQz71Hayh5Ic1g8JIwjzbyGYtds5+/ZtTm3TWJUolwX+XbcX+DuFHKQMgZlLMT/SZEjwcBpv8p90ehOQmGVACgo9R37tKocI4WY9/ZJA3Qele7hG0MzB7FemfYoveyr3Bao/ffDacjaFkhsRcW6eoFsKT2MhsMQjoeho++TJVBCUXNRglhLIvLgFj4W753G2wo5rKa0bbxllv4opMJVfmjN2R+EzTRrldM2GmhfVRCC4VlZqWu6xfgHFe6msAplbmRzdHJlYW0KZW5kb2JqCjIzIDAgb2JqCjw8Ci9UeXBlIC9YT2JqZWN0Ci9TdWJ0eXBlIC9JbWFnZQovSGVpZ2h0IDEyMDAKL1dpZHRoIDE5NTAKL0JpdHNQZXJDb21wb25lbnQgOAovRmlsdGVyIC9GbGF0ZURlY29kZQovQ29sb3JTcGFjZSAvRGV2aWNlR3JheQovRGVjb2RlIFswIDFdCi9MZW5ndGggMjI5MAo+PgpzdHJlYW0KeJztwQENAAAAwqD+qW8PBxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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", + "content_type": "application/pdf" + }, + "payload": { + "browserTimezone": "America/New_York", + "date": "2018-03-15T20:56:08.240Z", + "description": "", + "headers": "ifb7krNqqq5wbSDNd6JUkRvvPX5V8+ddLCFzPViGGXM1+jr5Fs/CNqNMvjOZ76mvG5GIu0Gl+3TldluclvIfuNT9zDdjQVb5baLtVv+McEjpGK0mw1KQv2AXrgUAPGq/owxN6ayI8MHQC7OYfvYQqhFX4yOBDPnNJwGWXY+tGt7UZgHsGBkyBK3GggKB0yBJZj2iGNaBjCm5hkmIVxSMwiYHA3T8mxK9NqEEK30s0zOimg5u5RMX64ChwyUrEWbrJKNPSUCabXz2xCgI3iaj50uptrEBibwwbwXTUQrAPRW6iX8p/B8+iv2e6iOD2+OnfE8W/QyBROiFtB5Ampr6nNnexR0RqKo5G1A0hIp+H7bHaP9Lbi7jumHjI55XJ4NXRzLuQO6Vq4WuH8eEcnMyUSmks8Ws9vkXiNi8uisV8CssRf8qERDGM1sAaOgss9bmaVwnqNslF2PNp2pKq5gcGx20wuPLqGWrOyflITuWZIphyVzyWiGjRZ4RjvFvk37u9FOGm3Ps9lvD0Yw8PgL1an5tR03gbGssdJSeFQlNd1Jf6zpx4HjnXEF5RcgH5sIgfDcXaSGOFU7ceYZymgqVodCH9iRf8C3/Oo5e3BZo2ukP46OY68Z+hnsJyImAlWp/ErORPCcRB33ZKOtbHzsLgB64iYLo+vJBPen0zRATe0y9lr7KisZj/22a8Eh8FqJesewYKlzuygGAmNpGvfpUtuEnoRN5FUF9X4BWh7d63pQqiQ7F4T8lbDV03GlZcx4BfTjIKV6em/jlPWJtYOajZKgk1GgDL6jd9bhoie8zcqkzqrLcSPnxEoSUiqI6jttZ8gqqmqQ0pQG4u9jIKX3Ex8DFE8U0oYEsYiHgsyiVke/CwHduEc+QC3g12BHrgh0uYKrMdJxcSOtnFDosHvytZfHusQf8RWRs/2N3oMAZ1Xd8IAWr9J1AmT4iIwCpSSOEhNChifeLv1Wrd+MeZJeaPlG+P3rL8L8pXAiwHP256c+gUoMi70brZOGWNok5XxVCkpvG4quNPHndx8crJ3tYLzZyyxCrK91fXJx0nYlsejz4GGeJrVcwXuIO5911vAEBKyuUmKxJJ0beNkMi5ZlUFA03WHqeid9WcMRnnrWK8s3MYj8QSJrUb5q5RiHx6DjTXzfoRNVLNqGcRvYVIBiowR0kpsFIX+OOvTvhRuIAoIlsSPw3ypAxIKz1fnG6StRXnRv68E7rJNZoBUdb05zwk9lr/ITA3zj5RUykIxCNVsv5gF3HLiQBKIwXAJBB+9dSCvFy2lJ78hPO4RUvj4gMbELvb3sw32g3MAm6pg==", + "id": "dae7e680-2891-11e8-88fd-5754aa989b85", + "layout": { + "id": "print" + }, + "objects": [ + { + "description": "", + "id": "dae7e680-2891-11e8-88fd-5754aa989b85", + "searchSource": { + "filter": [ + ], + "index": "logstash-*", + "query": { + "language": "lucene", + "query": "" + } + }, + "title": "bytes heatmap", + "type": "visualization", + "uiState": { + "vis": { + "defaultColors": { + "0 - 1": "rgb(247,252,245)", + "1 - 2": "rgb(199,233,192)", + "2 - 3": "rgb(116,196,118)", + "3 - 3": "rgb(35,139,69)" + } + } + }, + "urlHash": "/visualize/edit/dae7e680-2891-11e8-88fd-5754aa989b85?_g=(time:(from:'2015-09-19T00:02:06.633Z',interval:auto,mode:absolute,timezone:America%2FNew_York,to:'2015-09-24T06:40:33.165Z'))&_a=(filters:!(),linked:!f,query:(language:lucene,query:''),uiState:(vis:(defaultColors:('0%20-%201':'rgb(247,252,245)','1%20-%202':'rgb(199,233,192)','2%20-%203':'rgb(116,196,118)','3%20-%203':'rgb(35,139,69)'))),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(field:bytes,missingBucket:!f,missingBucketLabel:Missing,order:desc,orderBy:'1',otherBucket:!f,otherBucketLabel:Other,size:5),schema:segment,type:terms),(enabled:!t,id:'3',params:(field:ip,missingBucket:!f,missingBucketLabel:Missing,order:desc,orderBy:'1',otherBucket:!f,otherBucketLabel:Other,size:5),schema:group,type:terms)),params:(addLegend:!t,addTooltip:!t,colorSchema:Greens,colorsNumber:4,colorsRange:!(),enableHover:!f,invertColors:!f,legendPosition:right,percentageMode:!f,setColorRange:!f,times:!(),type:heatmap,valueAxes:!((id:ValueAxis-1,labels:(color:%23555,rotate:0,show:!f),scale:(defaultYExtents:!f,type:linear),show:!f,type:value))),title:'bytes%20heatmap',type:heatmap))" + } + ], + "query": { + "_a": "(filters:!(),linked:!f,query:(language:lucene,query:''),uiState:(vis:(defaultColors:('0 - 1':'rgb(247,252,245)','1 - 2':'rgb(199,233,192)','2 - 3':'rgb(116,196,118)','3 - 3':'rgb(35,139,69)'))),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(field:bytes,missingBucket:!f,missingBucketLabel:Missing,order:desc,orderBy:'1',otherBucket:!f,otherBucketLabel:Other,size:5),schema:segment,type:terms),(enabled:!t,id:'3',params:(field:ip,missingBucket:!f,missingBucketLabel:Missing,order:desc,orderBy:'1',otherBucket:!f,otherBucketLabel:Other,size:5),schema:group,type:terms)),params:(addLegend:!t,addTooltip:!t,colorSchema:Greens,colorsNumber:4,colorsRange:!(),enableHover:!f,invertColors:!f,legendPosition:right,percentageMode:!f,setColorRange:!f,times:!(),type:heatmap,valueAxes:!((id:ValueAxis-1,labels:(color:#555,rotate:0,show:!f),scale:(defaultYExtents:!f,type:linear),show:!f,type:value))),title:'bytes heatmap',type:heatmap))", + "_g": "(time:(from:'2015-09-19T00:02:06.633Z',interval:auto,mode:absolute,timezone:America/New_York,to:'2015-09-24T06:40:33.165Z'))" + }, + "title": "bytes heatmap", + "type": "visualization" + }, + "priority": 10, + "process_expiration": "2018-03-15T20:57:17.515Z", + "started_at": "2018-03-15T20:56:47.515Z", + "status": "completed", + "timeout": 30000 + }, + "type": "_doc" + } +} + +{ + "type": "doc", + "value": { + "id": "jeszwhln0k3vbd9ffb4fwokz", + "index": ".reporting-2018.03.11", + "source": { + "attempts": 1, + "completed_at": "2018-03-15T20:57:14.679Z", + "created_at": "2018-03-15T20:57:05.819Z", + "created_by": "elastic", + "jobtype": "printable_pdf", + "max_attempts": 3, + "output": { + "content": "JVBERi0xLjMKJf////8KOCAwIG9iago8PAovUHJlZGljdG9yIDE1Ci9Db2xvcnMgMQovQml0c1BlckNvbXBvbmVudCA4Ci9Db2x1bW5zIDU3Nwo+PgplbmRvYmoKMTUgMCBvYmoKPDwKL1R5cGUgL0V4dEdTdGF0ZQovQ0EgMQo+PgplbmRvYmoKMTIgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAxIDAgUgovTWVkaWFCb3ggWzAgMCA1OTUuMjggODQxLjg5XQovQ29udGVudHMgMTAgMCBSCi9SZXNvdXJjZXMgMTEgMCBSCj4+CmVuZG9iagoxMSAwIG9iago8PAovUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0KL0ZvbnQgPDwKL0YyIDEzIDAgUgovRjMgMTQgMCBSCi9GNCAxNiAwIFIKPj4KL0V4dEdTdGF0ZSA8PAovR3MxIDE1IDAgUgo+PgovWE9iamVjdCA8PAovSTEgMyAwIFIKL0kyIDQgMCBSCi9JNSA3IDAgUgo+Pgo+PgplbmRvYmoKMTkgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAxIDAgUgovTWVkaWFCb3ggWzAgMCA1OTUuMjggODQxLjg5XQovQ29udGVudHMgMTcgMCBSCi9SZXNvdXJjZXMgMTggMCBSCj4+CmVuZG9iagoxOCAwIG9iago8PAovUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0KL0ZvbnQgPDwKL0YyIDEzIDAgUgovRjMgMTQgMCBSCi9GNCAxNiAwIFIKPj4KL0V4dEdTdGF0ZSA8PAovR3MxIDE1IDAgUgo+PgovWE9iamVjdCA8PAovSTMgNSAwIFIKL0k0IDYgMCBSCi9JNSA3IDAgUgo+Pgo+PgplbmRvYmoKMjAgMCBvYmoKPDwKL1Byb2R1Y2VyIChwZGZtYWtlKQovQ3JlYXRvciAocGRmbWFrZSkKL0NyZWF0aW9uRGF0ZSAoRDoyMDE4MDMxNTIwNTcxM1opCj4+CmVuZG9iagoyMiAwIG9iago8PAovVHlwZSAvRm9udERlc2NyaXB0b3IKL0ZvbnROYW1lIC9MR09KRkErUm9ib3RvLU1lZGl1bQovRmxhZ3MgNAovRm9udEJCb3ggWy03MzIuNDIxODc1IC0yNzAuOTk2MDk0IDExOTIuODcxMDk0IDEwNDcuODUxNTYzXQovSXRhbGljQW5nbGUgMAovQXNjZW50IDkyNy43MzQzNzUKL0Rlc2NlbnQgLTI0NC4xNDA2MjUKL0NhcEhlaWdodCA3MTAuOTM3NQovWEhlaWdodCA1MjguMzIwMzEzCi9TdGVtViAwCi9Gb250RmlsZTIgMjEgMCBSCj4+CmVuZG9iagoyMyAwIG9iago8PAovVHlwZSAvRm9udAovU3VidHlwZSAvQ0lERm9udFR5cGUyCi9CYXNlRm9udCAvTEdPSkZBK1JvYm90by1NZWRpdW0KL0NJRFN5c3RlbUluZm8gPDwKL1JlZ2lzdHJ5IChBZG9iZSkKL09yZGVyaW5nIChJZGVudGl0eSkKL1N1cHBsZW1lbnQgMAo+PgovRm9udERlc2NyaXB0b3IgMjIgMCBSCi9XIFswIFs1MTAgNjQ1Ljk5NjA5NCAyNTkuMjc3MzQ0IDUyMC4wMTk1MzEgNTY2LjQwNjI1IDU0My45NDUzMTMgMjU5LjI3NzM0NCA1MDYuODM1OTM4IDMyNi42NjAxNTYgNTY2LjQwNjI1IDU2Ni40MDYyNSAyNDkuMDIzNDM4IDY0NS45OTYwOTQgNTI5LjI5Njg3NSA2NDAuNjI1IDU2Ni40MDYyNSAzNTYuNDQ1MzEzIDg3NS45NzY1NjMgNTI0LjkwMjM0NCA2NDAuNjI1IDU2Ni40MDYyNSA1MDYuODM1OTM4IDUyMC41MDc4MTMgNTY4LjM1OTM3NSA1NjguMzU5Mzc1XV0KPj4KZW5kb2JqCjEzIDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMAovQmFzZUZvbnQgL0xHT0pGQStSb2JvdG8tTWVkaXVtCi9FbmNvZGluZyAvSWRlbnRpdHktSAovRGVzY2VuZGFudEZvbnRzIFsyMyAwIFJdCi9Ub1VuaWNvZGUgMjQgMCBSCj4+CmVuZG9iagoyNiAwIG9iago8PAovVHlwZSAvRm9udERlc2NyaXB0b3IKL0ZvbnROYW1lIC9USVVJSFMrUm9ib3RvLUl0YWxpYwovRmxhZ3MgNjgKL0ZvbnRCQm94IFstNjYwLjY0NDUzMSAtNTUxNy4wODk4NDQgNTE2My41NzQyMTkgMTA0Ny44NTE1NjNdCi9JdGFsaWNBbmdsZSAwCi9Bc2NlbnQgOTI3LjczNDM3NQovRGVzY2VudCAtMjQ0LjE0MDYyNQovQ2FwSGVpZ2h0IDcxMC45Mzc1Ci9YSGVpZ2h0IDUyOC4zMjAzMTMKL1N0ZW1WIDAKL0ZvbnRGaWxlMiAyNSAwIFIKPj4KZW5kb2JqCjI3IDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9DSURGb250VHlwZTIKL0Jhc2VGb250IC9USVVJSFMrUm9ib3RvLUl0YWxpYwovQ0lEU3lzdGVtSW5mbyA8PAovUmVnaXN0cnkgKEFkb2JlKQovT3JkZXJpbmcgKElkZW50aXR5KQovU3VwcGxlbWVudCAwCj4+Ci9Gb250RGVzY3JpcHRvciAyNiAwIFIKL1cgWzAgWzQ4MyA2MDAuMDk3NjU2IDIzOC4yODEyNSA0OTYuNTgyMDMxIDU5NC4yMzgyODEgNTMzLjIwMzEyNSA1MTUuNjI1IDMzMC4wNzgxMjUgMzAxLjI2OTUzMSA4MjEuMjg5MDYzIDQ5OC4wNDY4NzUgNjA3LjkxMDE1NiAyMzguMjgxMjUgNTk5LjEyMTA5NF1dCj4+CmVuZG9iagoxNCAwIG9iago8PAovVHlwZSAvRm9udAovU3VidHlwZSAvVHlwZTAKL0Jhc2VGb250IC9USVVJSFMrUm9ib3RvLUl0YWxpYwovRW5jb2RpbmcgL0lkZW50aXR5LUgKL0Rlc2NlbmRhbnRGb250cyBbMjcgMCBSXQovVG9Vbmljb2RlIDI4IDAgUgo+PgplbmRvYmoKMzAgMCBvYmoKPDwKL1R5cGUgL0ZvbnREZXNjcmlwdG9yCi9Gb250TmFtZSAvUURLQldKK1JvYm90by1SZWd1bGFyCi9GbGFncyA0Ci9Gb250QkJveCBbLTY4MS4xNTIzNDQgLTI3MC45OTYwOTQgMTE4MS42NDA2MjUgMTA0Ny44NTE1NjNdCi9JdGFsaWNBbmdsZSAwCi9Bc2NlbnQgOTI3LjczNDM3NQovRGVzY2VudCAtMjQ0LjE0MDYyNQovQ2FwSGVpZ2h0IDcxMC45Mzc1Ci9YSGVpZ2h0IDUyOC4zMjAzMTMKL1N0ZW1WIDAKL0ZvbnRGaWxlMiAyOSAwIFIKPj4KZW5kb2JqCjMxIDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9DSURGb250VHlwZTIKL0Jhc2VGb250IC9RREtCV0orUm9ib3RvLVJlZ3VsYXIKL0NJRFN5c3RlbUluZm8gPDwKL1JlZ2lzdHJ5IChBZG9iZSkKL09yZGVyaW5nIChJZGVudGl0eSkKL1N1cHBsZW1lbnQgMAo+PgovRm9udERlc2NyaXB0b3IgMzAgMCBSCi9XIFswIFs1MDcgNjEwLjgzOTg0NCA4NzUuOTc2NTYzIDU0Ny44NTE1NjMgMjQ4LjA0Njg3NSAyNDcuNTU4NTk0IDY2Mi4xMDkzNzUgNTI2Ljg1NTQ2OSA1NjYuNDA2MjUgNTY2LjQwNjI1IDM0OC42MzI4MTMgMzE4LjM1OTM3NSAyNDguMDQ2ODc1IDU2Ni40MDYyNSA1NjYuNDA2MjUgNjc2LjI2OTUzMSA1MjAuOTk2MDk0IDU2Ni40MDYyNSA1NjYuNDA2MjUgNTY2LjQwNjI1IDgxMS4wMzUxNTYgNTgxLjU0Mjk2OSAxOTYuMjg5MDYzIDU2MS41MjM0MzggNTYxLjUyMzQzOCA1NjEuNTIzNDM4IDU2MS41MjM0MzggNTYxLjUyMzQzOCAyNDYuMDkzNzUgNjM3LjIwNzAzMSA4NzYuNDY0ODQ0IDU5Ni42Nzk2ODggNTY2LjQwNjI1IDU2MS41MjM0MzggNjYxLjEzMjgxMyAzNDIuNzczNDM4XV0KPj4KZW5kb2JqCjE2IDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMAovQmFzZUZvbnQgL1FES0JXSitSb2JvdG8tUmVndWxhcgovRW5jb2RpbmcgL0lkZW50aXR5LUgKL0Rlc2NlbmRhbnRGb250cyBbMzEgMCBSXQovVG9Vbmljb2RlIDMyIDAgUgo+PgplbmRvYmoKMiAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMSAwIFIKPj4KZW5kb2JqCjEgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9Db3VudCAyCi9LaWRzIFsxMiAwIFIgMTkgMCBSXQo+PgplbmRvYmoKOSAwIG9iago8PAovTGVuZ3RoIDE0OQovRmlsdGVyIC9GbGF0ZURl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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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gMWUHWgplD04QBOUbSDFf3t1y3/Z9uzirv97/+7stwUAACym7EBLoezBAZqgbAMplG0AAGCo7EBLoezBAZqgbAMplG0AAGCo7EBLoezBAZqgbAMplG0AAGCo7EBLoezBAZqgbAMplG0AAGCo7EBLoezBAZqgbAMplG0AAGCo7EBLoezBAZqgbAMplG0AAGCo7EBLoezBAZqgbAMplG0AFsvWU8deWuz1zjdj2W8LgB9kB1oKZQ8O0ARlG0ihbAOwWP6P7c8v+v+m/M+/781+WwD8IDvQUih7cIAmKNtACmUbgMWibANULDvQUih7cIAmKNtACmUbgMWibANULDvQUih7cIAmKNtACmUbgMWibANULDvQUih7cIAmKNtACmUbgMWibANULDvQUih7cIAmKNtACmUbgMWibANULDvQUih7cIAmKNtACmUbgMWibANULDvQUih7cIAmKNtACmUbgMWibANULDvQUih7cIAmKNtACmUbgMWibANULDvQUih7cIAmKNtACmUbgMWibANULDvQUih7cIAmKNtACmUbgMWibANULDvQUih7cIAmKNtACmUbgMWibANULDvQUih7cIAmKNtACmUbgMWibANULDvQUih7cIAmKNtACmUbgMWibANULDvQUih7cIAmKNtACmUbgMWibANULDvQUih7cIAmKNtACmUbgMWibANULDvQUih7cIAmKNtACmUbgMWibANULDvQUih7cIAmKNtACmUbIp49PvqXY0cXd73x5T+z3xYsMmUboGLZgZZC2YMDNEHZBlIo2xDxf+58cdH/Tfl///ZW9tuCRaZsA1QsO9BSKHtwgCYo20AKZRsilG2IULYBKpYdaCmUPThAE5RtIIWyDRHKNkQo2wAVyw60FMoeHKAJyjaQQtmGCGUbIpRtgIplB1oKZQ8O0ARlG0ihbEOEsg0RyjZAxbIDLYWyBwdogrINpFC2IULZhghlG6Bi2YGWQtmDAzRB2QZSKNsQoWxDhLINULHsQEuh7MEBmqBsAymUbYhQtiFC2QaoWHagpVD24ABNULaBFMo2RCjbEKFsA1QsO9BSKHtwgCYo20AKZRsilG2IULYBKpYdaCmUPThAE5RtIIWyDRHKNkQo2wAVyw60FMoeHKAJyjaQQtmGCGUbIpRtgIplB1oKZQ8O0ARlG0ihbEOEsg0RyjZAxbIDLYWy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st3/5sfetoG7iIyf+en4zLdD3viegnehbAMD/r939/8a//GubEMBZRsilG2AimUHWgplDw4wRLBsX7x0aeXIIytWjuzed2D28fc//Lh38O7713751deLtafgXSjbwABlu3sp2ywlZRsilG2AimUHWgplDw4wRPyrG59+buuKlSMP//Hp2Qc3PvNC7+DaP/xpampqEfcslLINDFC2u5eyzVJStiFC2QaoWHagpVD24ABDzFe2z0982/+qx5mLqz/85EjvH3tryyuv94+8tntv/8gbb7+zuHsWStkGBijb3UvZZikp2xChbANULDvQUih7cIAhZm58PXCD60+PftGvzQfe+6B/ZHp6+s/PbukfXDnyyH1rH+v//OCjT3x35cri7lkoZRsYoGx3L2WbpaRsQ4SyDVCx7EBLoezBAYY4P/Ht7x54+PobXO/ed2DFypF/X/3QhYsXZw5OT08/t21nP0T31+NPPzuQoxdrz4Io28AAZbt7KdssJWUbIpRtgIplB1oKZQ8OUKh/WfVTm7dc/6tz5yeOnTj1xfGT34yfme/hi7UnSNkGBijb3UvZZikp2xChbANULDvQUih7cIASk5OTq9Y8eteqNZ8fO5H9WkKUbWCAst29lG2WkrINEco2QMWyAy2FsgcHKDE5efXJZ17Y9PzWqamp7NcSomwDA5Tt7qVss5SUbYhQtgEqlh1oKZQ9OEATlG1ggLLdvZRtlpKyDRHKNkDFsgMthbIHB2iCsg0MULa7l7LNUlK2IULZBqhYdqClUPbgAE1QtoEBynb3UrZZSso2RCjbABXLDrQUyh4coAnKNjBA2e5eyjZLSdmGCGUboGLZgZZC2YMDNEHZBgYo291L2WYpKdsQoWwDVCw70FIoe3CAJijbwABlu3sp2ywlZRsilG2AimUHWgplDw7QBGUbGKBsdy9lm6WkbEOEsg1QsexAS6HswQGaoGwDA5Tt7qVss5SUbYhQtgEqlh1oKZQ9OEATlG1ggLLdvZRtlpKyDRHKNkDFsgMthbIHB2iCsg0MULa7l7LNUlK2IULZBqhYdqClUPbgAE1QtoEBynb3UrZZSso2RCjbABXLDrQUyh4coAnKNjBA2e5eyjZLSdmGCGUboGLZgZZC2YMDNEHZBgYo291L2WYpKdsQoWwDVCw70FIoe3CAJijbwABlu3sp2ywlZRsilG2AimUH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2wBdoumClpqaHjhAMx49fnLl2o3LV6/fuz/qKWiVZSrSbEMP0Wyno9km0myno9km0myno9kG6BJNF7TU1PTAAfqCZht6iGY7Hc02kWY7Hc02kWY7Hc02QJdouqClpqYHDtAXNNvQQzTb6Wi2iTTb6Wi2iTTb6Wi2AbpE0wUtNTU9cIC+oNmGHqLZTkezTaTZTkezTaTZTkezDdAlmi5oqanpgQP0Bc029BDNdjqabSLNdjqabSLNdjqabYAu0XRBS01NDxygL2i2oYdottPRbBNpttPRbBNpttPRbAN0iaYLWmpqeuAAfUGzDT1Es52OZptIs52OZptIs52OZhugSzRd0FJT0wMH6Auabeghmu10NNtEmu10NNtEmu10NNsAXaLpgpaamh44QF/QbEMP0Wyno9km0myno9km0myno9kG6BJNF7TU1PTAAfqCZht6iGY7Hc02kWY7Hc02kWY7Hc02QJdouqClpqYHDtAXNNvQQzTb6Wi2iTTb6Wi2iTTb6Wi2AbpE0wUtNTU9cIC+oNmGHqLZTkezTaTZTkezTaTZTkezDdAlmi5oqanpgQP0Bc029BDNdjqabSLNdjqabSLNdjqabYAu0XRBS01NDxygL2i2oYdottPRbBNpttPRbBNpttPRbAN0iaYLWmpqeuAAfUGzDT1Es52OZptIs52OZptIs52OZhugSzRd0FJT0wMH6Auabeghmu10NNtEmu10NNtEmu10NNsAXaLpgpaamh44QF/QbEMP0Wyno9km0myno9km0myno9kG6BJNF7TU1PTAAfqCZht6iGY7Hc02kWY7Hc02kWY7Hc02QJdouqClpqYHDtAXNNvQQzTb6Wi2iTTb6Wi2iTTb6Wi2AbpE0wUtNTU9cIC+oNmGHqLZTkezTaTZTkezTaTZTkezDdAlmi5oqanpgQP0Bc029BDNdjqabSLNdjqabSLNdjqabYAu0XRBS01NDxygL2i2oYdottPRbBNpttPRbBNpttPRbAN0iaYLWmpqeuAAfUGzDT1Es52OZptIs52OZptIs52OZhugSzRd0FJT0wMH6Auabeghmu10NNtEmu10NNtEmu10NNsAXaLpgpaamh44QF/QbEMP0Wyno9km0myno9km0myno9kG6BJNF7TU1PTAAfqCZht6iGY7Hc02kWY7Hc02kWY7Hc02QJdouqClpqYHDtAX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TGVuZ3RoIDIyOTAKPj4Kc3RyZWFtCnic7cEBDQAAAMKg/qlvDwcUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPBgD9AP4KZW5kc3RyZWFtCmVuZG9iago0IDAgb2JqCjw8Ci9UeXBlIC9YT2JqZWN0Ci9TdWJ0eXBlIC9JbWFnZQovQml0c1BlckNvbXBvbmVudCA4Ci9XaWR0aCAxOTUwCi9IZWlnaHQgMTIwMAovRmlsdGVyIC9GbGF0ZURlY29kZQovQ29sb3JTcGFjZSAvRGV2aWNlUkdCCi9TTWFzayAzNSAwIFIKL0xlbmd0aCAyNzczNgo+PgpzdHJlYW0KeJzs3f2XTvX+P/D/qBnMuB83Z7ojQk3jGDIJkXWU0BRWUlEJSW7mnCjRtBxChSMZnbS6OacIJ1lTURqZZNwMuWkYc30+1zm+q49vSdfs/b6uPZzH44fWrLDfz9dr7+v64bX3vPf//A8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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FSfDzJkz46zerVu3OHP1VuL06dOROzBlypTMF5o6dWrkhX788cdMlkilUkOHDo1w/PSpzHAJAAAAALLk3LlzHTp0iDxB+llRUdFVOrWrra2NX37a2LFjs5SwsrIySMLNmzdnKWG2pVKp+Pdfevbs2djYGCdGaWlpnAAPPfRQqIYkKP0xj3yLoaKiIvOFHn744citPn/+fCZLVFdXRzv+q6++GrV/AAAAAITx4YcfRh4fXeq+++5LupSI/vGPfwTpwPTp07OUcO3atUESLl26NEsJs23lypWJl3/q1KmYG55HfsFoKpX66aefjh49euDAgZqamt27d+/bt6+uru748eOJ3E7q1q1btA6MGjUq81Ui737fuXPnTI5//vz5W265JcLx+/Tpk+HkHAAAAIDseeqpp6KNj36hqqoq6VIiWrNmTZAOVFZWZinh1q1bgyTM3uw9qz799NPCwsKYtZeXl1+4cCFOjPj3gI4cOZLhWqlUat++fa+++uoTTzxx1113XWGS3KZNm169eo0YMWLatGnpK/nrr7/Oway7f//+0TpQWlqa+Sp33HFHtFVuueWWTI6f/sqKdvwtW7ZE7RwAAAAAYZw4caJTp07RxjuXysvLO3z4cNLVRLRw4cL4HUhbsWJFlhLu3r07SMLRo0dnKWGW/C97//5nY/U/jv//UTMO4zChGEIhh6gQEYlCVCiVQyIpJKdIqmclT6GUVEonPZ2KipzPhyQ51DiMw0zf69P+3q73fs1h23Pta89G9/sPbmbPtdd6rLWua//w2Gseq6ys7M0338xwp/QN/2ziPXLkSIbBvPzyy5nE0KZNm3TGu3HjxgkTJrRq1SpyR40bN37qqadWr1596dKlDIdclV69ekWLrXnz5un30qxZs2i9dOvW7YqN//nnn8FERWi8Z8+ewTJlMHkAAAAAxGDatGnRckfl9OrVK9dDie7JJ5+MZRI++eSTLEV45MiRWCJs27ZtliLMhgMHDgwdOjSWgceyNH369MkkhiFDhqRo/PLlyytWrLj77rtjGW9CkyZNggf8jz/+yHzs5USugF2nTp00t5QHExL5G42HH374iu1Pnjw5WuM///xzxvMHAAAAQEZOnTrVoEGDaOmdct59991cjya6Bx98MJZJWLduXZYiPH/+fCwRFhQUZCnCGJWVlX333XdxLUrg2WefjSWwm2++OZMwpk+fXlXLa9asadOmTVzjLSdY9GAGTp48GcskJMycOTNyPGlunt+7d2/kLiZPnpy68cOHD9epUydCy9U6ATNZcFcHn7cHDx7cvn37jz/+GFZKz/BIUwAAAIB/p6lTp0bOHSVr2LBhcXFxrkcTXffu3WOZh127dmUvyLi+g7g6M2llZWUHDhxYvHjxyJEjb7nlllhGmjBu3LhY6k6fPn06w0hWrFhRsdmTJ08+8cQTsYw0tUaNGgXTG1cJ7uXLl0eOZPXq1el0sXLlyshdLFq0KHXjw4YNi9BsnTp1Dh8+nOYUBVO9bdu2t95667HHHuvcuXNVz29eXl5ww/fp02fy5MnffvvtmTNn0mwfAAAA4F/r8OHD9erVi5w7Svbiiy/mejQZadeuXSzzcOLEiewFeeutt8YS5G+//Za9IKtSVlZWUlJy+vTpY8eOHThwYOfOnevWrVu6dOnMmTOffPLJ3r17R66onNrzzz8fV0nkTZs2ZRjM7t27y7W5bdu25s2bxzLSNPXp0yeW4iRbtmyJHMObb76ZTheZbAtP/dcTP//8c7Rmr7gVPGH79u2TJk2KtsO/Vq1agwYN+vLLLzM87RQAAADgelVaWtqzZ89o6Z2KqZijR4/mekAZybDKREJeXl5cG2Irdc8992QeZGDHjh3ZCO/s2bN1qxCt7EPmXnrppRhP+lu8eHEmweTn51+8eDG5wa+//rp+/fpxDTZ9zZs3/+mnnzKcjZKSktq1a0cL4LHHHkuni/vvvz/yGFOUXgluiWgffY0bN/7zzz9Tx/zjjz/27ds3ctjJbrnlliVLlshvAwAAAJTz2muvxZJ+CTz99NO5Hk1GysrKIufokjVs2DCrcQ4YMCDzIAPr16/PRnhnz56NJbxYNGrUaMWKFTGmtf/O4MDBhKKiouTWPvnkk8jHI2YuuOFXrVqV4YREruETrM4VE7bFxcWRn8pbb701Rcuff/55tGbfeuutFM2eOHEirtNOk91+++0bN26MsjwAAAAA16MdO3bEtY22oKDg2LFjuR5QRs6dOxfLVDRp0iSrcQ4ePDiWOFeuXJmN8K6ezPZDDz30+++/xz7AoNlMourcuXPY1Pfff5+rfeyhWrVqff7555lMyKRJkyL3fsVs7SeffBK58RSHPF68eDHaSZ233XZbuS33yb7++utY/u6jUvn5+TNmzLh06VL0pQIAAAC4Lly4cKFTp05xZV1mzJiR6wFl6tixY7FMRblNubF79NFHY4nzvffey0Z4V0Nmu7CwcOnSpfFu1Q5Fy4iG+vXrl2hnz549N954Y1xDzkStWrXSPMyxUqtWrYrc9RNPPJGi5WAFe/ToEbnxFJur33777Whtpvg+aMGCBXl5eZGjTdOAAQPOnz8febEAAAAArnVlZWVjx46NK9nStGnTM2fO5HpMmTp06FAss9GqVausxvn444/HEmfqogqR5TazHdyK8+bNKy4uzsbQEjI8bjVYvr//+V6pQ4cOcY06c4WFhfv37482IefOnSsoKIjWb35+/pEjR6pqed26dZkM6sCBA5U2+9dffzVp0iRCgz169Kjq65LZs2dnEmq19OzZMxhCtMUCAAAAuNbNmzcvxkzLJ598kusBxWDfvn2xzEbbtm2zGufTTz8dS5zz58/PRni5ymzfdtttixYtKikpycagQpmXrJk0aVLQzrRp02IZdYxuv/32yN8IDBw4MHK/PXv2vHDhQsU2T5482bp168jNtm/fvqpop0yZEq3Nqg7cfO+99yLHGU3v3r0rnTQAAACA69uKFStizLE8/PDDWSr7UMN27twZy4R07Ngxq3E+88wzscQ5Z86cbIRXw5ntW265Zfz48f/73/9KS0uzMZxyMt/Y/+qrr27evDmHp0amMHbs2GjTsnTp0kz6HTp06KlTp8rNc9euXTNpc+rUqZWGeuTIkbp160Zo8LHHHqu0wXXr1uVkNUeOHHl9fPACAAAApGnjxo0xHlp34403ZuOQvpzYunVrLHNy1113ZTXOiRMnxhLnrFmzshFezWS227ZtG8QfLFkNJ/d++umnDCMvKCjI+amRKWzYsCHCtASLXlhYmEm/wSfJhAkT3nvvvYULF44ZMyZyeZPQnj17Kg11xIgREVqrXbv2oUOHKrb2119/NW/ePMNQI3v33XcjLBYAAADAtWj//v2NGzeOMbXy4Ycf5npMsck8aZlwzz33ZDXOyZMnxxLntGnTshFezWS2u3fvPnv27FWrVh0+fLhmdmsnfPnllzUwuhxq06ZNtDIX48ePz3Xs/8+9995baZCbN2+O1uALL7xQaYOjRo2KN/JqqVev3sGDByMsFgAAAMC15eTJk7feemuMeZWnn34612OK0w8//BDLtPTu3TurccZVovnFF1/MRng1X2e7YcOG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7ogRI9I5AHThwoXRulixYkWKZjdv3hw5+PHjx6czUcOGDYvcRfCkpLseAAAAAFeHDRs2xLglMtC+fft/SRGSZF27do1l9rI6dS1atIglyLhOLawxJSUlL774Yuz7tx966KH0YxgxYkRc/WbpBM+EcePGxRLkBx98EG9g586dW7p06cCBA6uV4g4u7t+//6JFi9I8x7a4uPimm26KMN5u3bqlKG/yd2bHRy5evDid4N94443IXaxevTqtZQAAAAC4Onz//ff16tWLnAypqEuXLidPnsz1sHKgf//+sUzg9u3bsxRhWVlZXDvz00wSXm02bNjQqlWrWGYgtGPHjjR7Hz16dCw95uXlHT9+PHuztHLlyljinDt3bpYivHTp0k8//fTee+9Nnjx58ODBvXr1uvPOO9u1a9ehQ4euXbv26dPnsccemzZt2pIlS7Zs2XL58uVqNR68Mdp4r7hHfebMmZEnc9OmTekE/91330XuIqtflwAAAADEa+PGjfXr14+cCamoe/fu12jOM3NPPPFELHO4Zs2aLEVYXFwcS4T5+fnVPTzx6nHw4MF4z5d86qmn0ux64sSJsfR43333ZXWKfv3111jiTLOAxlXl6NGj0f6AZejQoVdsPJOPiD///DOd+H///ffIXYwbNy7j+QMAAACoCZs2bWrQoEHkNEhFffr0OXv2bK6HlTMvv/xyLNP48ccfZynCAwcOxBLhtX7Y3HfffRdjWZKGDRuWlJSk02/kzcDlzJgxI6vzU1ZW1rRp08zjfPjhh7MaZzaMHDkywkhr1aoVPFxXbLxXr17RZrKwsDDN+IO1i1xaql+/fplNHgAAAEBN+OmnnzI8jq2cBx98MM383vVq8eLFscxk9moCbNy4MZYIe/TokaUIa0xcSeaEL774Ip1O58yZE0t37733Xrbnp2/fvpnH2adPn2zHGa+tW7dG+8pj4sSJ6bTfoUOHaDN52223pT+KyPV2OnfuHHXmAAAAAGrI5s2bCwsLo2U/KjV06NCLFy/melg5tnbt2lgmM3s7cr/44otYIhw+fHiWIqwxf/75Z4zf7KRZduO///1vLN1988032Z6fRx55JPM477nnnmzHGaOysrI+ffpEGGbwWXrq1Kl0uoi8E7579+7pDyTyUbZFRUVRJw8AAACgJmzZsiXetPbIkSOre0bbdengwYOxzGf2qt3GlVmd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QAAAAIDqOnr0aOvWrSMnNMrp16/fuXPncj2mOJWVlR05cmT16tUrVqxYuHDhW2+9tWzZsq+//nrHjh1Z2oT86KOPxrIWmddSnjp1aiyRBL766qtqdT169OhHHnlk48aNwfxnOIoYBSves2fPuOYk4Z133qlWDMGEdOrUKZau27RpE+M3CMOHD48lqhuqU3i8ho0aNSrCcPLz8/fu3Zth1//5z38iz2fwYZVOFz/99FPkLubMmZPhAAEAAACq5bfffrvtttsiZzPKGTJkyIULF3I9pniUlZWtW7du+PDhzZs3r2q8hYWFAwYMWL58+eXLl2PsetWqVbEsR35+/i+//BI5jF27dtWqVSuWSBo1anTx4sVq9f7kk08m3nv33Xd/9NFH1X17NpSWlo4bNy6WCUm2Z8+e6kby5ptvxtX7oEGDYrl7V69eHVdIV23F5h07duTl5UUY0bPPPpt57998803kKV2xYkU6XSxevDhyF5988knmYwQAAABI07Fjx9q0aRM5lVHOyJEj403w5tD69evvuOOO9MfeqlWr5cuXx9X7xYsXGzVqFMuitG3b9s8//4wQw5kzZzp06BBLDIGxY8dWN4Aws51QVFQ0Z86cHBZvv3Tp0ogRI+KakORxRdiUfvLkybi+dLjhnzoSGf71we7du2+++ea44pk6dWomwWRPtErXDRs2jOW+PXz4cOQpnT59ejpdZFImfdu2bZmPEQAAACAdv//+e9u2bSPnMcp55JFHro/zAYNRvPLKK9EKKY8ZMyau2g4TJkyIa2n69Olz/vz5avUejOKhhx6KK4DAhg0bqjsD5TLbCcG63HfffW+99dbRo0er22Am9u3b17dv3xgnJBR5N2/wxMUYxvjx4yN/LbVz586bbropxmC2bNkSLZKs+u6776INZ+7cubEEUFZW1rRp02gx9OzZM50u2rVrF639unXrXg1/VQEAAAD8Gxw/fjxyEqNSw4cP/+Lqc+rUqerOzMyZMzOZhyFDhsSS4T906FCMxxR27949/V2jp0+f7t27d1xdB26//fYIc1JpZjvZ3XffPXfu3AilPKrljz/+GDduXLxHRiaLvNN1165d0SpjVKVr16779u2rVgxlZWUrV65s0qRJjGEEyxptQrIquIE7duwYYTgtWrSIsZJ58PESbVaDG/iKf7tx4MCBaI0H7rnnnrjGCAAAAJDCH3/80b59+8hJjGvI+vXrqzUzn3/+eeadzpo1K5ZlivE8vkCTJk2WLFmSel9uaWnpRx99FGNZiYTFixdHGP4VM9uhdu3aPffccytWrDh27FjUyS7vzJkzn3766YgRI+rXrx/vbCTLMIs7cuTIeOMpKCh4/fXXi4uL0+l9z549999/f7wBBJYuXZrJnGRJ5ALUy5YtizGM+fPnR57YDz/8MHXjc+fOjdz4888/H+MwAQAAACp14sSJGOsnX+Wqldm+ePFiy5YtM+80Pz//8OHDma/U9u3bMw+mnBYtWsyYMWPdunXJ2cvz589///33s2bNatWqVew9NmvWLNqhoulntpMFQxgyZMj06dM//vjjYALPnDmTZndBkLt27fr000+DeXjwwQfr1q0b+1RU9P7770eYmdCRI0fq1KkTe1QFBQXDhg375ptvzp07V67Hy5cv79ixY86cOV27do293xv+OWm0upVzasDZs2eLiooiDKdLly7x1mjauXNn5Lnt3LlzioruwbRn8pXWF198EeMwAQAAACo6efJktL+pv0ZVK7MdeVtmRc8880ws6zVgwIC4Qqqobt26N998c7169bLXRWDevHnRxh4ts11RgwYN2rVr16dPn4cffnjYsGFPPfVUsDqjRo167LHHHnrood69e99999233XZb9uqNVKVDhw6Zpz0zOfLvivLy8lq3bt21a9devXoF0cZbdaRSke+WrIpcoWjdunXxRlJWVpbJ108rV66squVMNmwHnyQVvwQBAAAAiFeM5xJeE6qV2e7Zs2dc/datWzeW4rq7du2q+YxrjJo0afLXX39FG3tcme2r1tdff535HXLy5MmGDRvmeijxaN68eYwlqePy+++/R/v2Z+DAgdmIJ5PvMgoLCyutS7969epMPmceeuihbIwUAAAAINkzzzwTOX1xLUo/s33+/PnatWvH2HVc2zVfeOGFGKOqYdEqbCdc35ntfv36pSgNUS3vv/9+rkcTjyVLlsQyIfEaPXp0hLHk5+dn6WzTn3/+OZNJvummm4J5Dv9Y4OLFi6+++mpBQUEmbV6dCwcAAABcZ2S2qxJcGW/X06dPj2XJiouLmzVrFm9sNaNbt26ZVNu4jjPbjRs3jvGwy7KyshEjRuR6TJnq0aNHvCWpY7Fz585om5nHjRuXpZCC5e7SpUuGs11YWBhMeNeuXTM/IDVo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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8/9q7YxWEYiCIov//wWGL3QEVEWIjr4viOW2aWy8DAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5OktMJAAAAAABwVZLuPl0BAAAAAABXdXdVna4AAAAAAICrqmqtZbYNAAAAAMBP6O71MjOncwAAAAAA4JOZWe8stwEAAAAA+Fr7WntXVfenJKcDAQAAAADgIcnzy8j9mn0DITniRgplbmRzdHJlYW0KZW5kb2JqCjM2IDAgb2JqCjw8Ci9UeXBlIC9YT2JqZWN0Ci9TdWJ0eXBlIC9JbWFnZQovSGVpZ2h0IDEyMDAKL1dpZHRoIDE5NTAKL0JpdHNQZXJDb21wb25lbnQgOAovRmlsdGVyIC9GbGF0ZURlY29kZQovQ29sb3JTcGFjZSAvRGV2aWNlR3JheQovRGVjb2RlIFswIDFdCi9MZW5ndGggMjI5MAo+PgpzdHJlYW0KeJztwQENAAAAwqD+qW8PBxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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CqCacmraiU/KdsweKXYrVeVPy4abdevAoCbH63Lnvzyyrb5dZvR1LZsi2029lawaep0i29ndyZcHGuqfU7u9mCWqj+tgON2b5pgpzUZifziVUzUkNpsLVK/YtPxxWawjUM76WvNY1LENZRQ0vo8tYYGG3/bIiLL858MwA7Dc5wMBhDoWYYryRbdHttujOo8WLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwan/+/PnuUwAAAAAAAAAAwNafP39+/fr13WcBAAAAAAAAAICtX79+RVH03WcBAAAAAAAAAICtKIr+++8/um0DAAAAAAAAAP4Kv379+k/6/fv3d58OAAAAAAAAAABNfv/+/V8RPbcBAAAAAAAAAG9L762ti6Io/qc/f/589wkCAAAAAAAAAJD48+dPtmSkHs3+f+nU7SMKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgMzgKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAzNDk2IDAwMDAwIG4gCjAwMDAwMDM0NDcgMDAwMDAgbiAKMDAwMDExMjgzMSAwMDAwMCBuIAowMDAwMDgyNDMwIDAwMDAwIG4gCjAwMDAwMzEwNjEgMDAwMDAgbiAKMDAwMDIxNjA2NCAwMDAwMCBuIAowMDAwMDE0MzAyIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAwMzU2MSAwMDAwMCBuIAowMDAwMDI3NzI1IDAwMDAwIG4gCjAwMDAwMDAyNTEgMDAwMDAgbiAKMDAwMDAwMDEzOCAwMDAwMCBuIAowMDAwMDAxNTUyIDAwMDAwIG4gCjAwMDAwMDIzMDYgMDAwMDAgbiAKMDAwMDAwMDA5MyAwMDAwMCBuIAowMDAwMDAzMjk4IDAwMDAwIG4gCjAwMDAwMjY4MjMgMDAwMDAgbiAKMDAwMDAwMDU1MSAwMDAwMCBuIAowMDAwMDAwNDM4IDAwMDAwIG4gCjAwMDAwMDA3MzggMDAwMDAgbiAKMDAwMDAyMjQ0NyAwMDAwMCBuIAowMDAwMDAwODMzIDAwMDAwIG4gCjAwMDAwMDExMDAgMDAwMDAgbiAKMDAwMDAwNDExNSAwMDAwMCBuIAowMDAwMDA0ODYwIDAwMDAwIG4gCjAwMDAwMDE3MDAgMDAwMDAgbiAKMDAwMDAwMTk2OSAwMDAwMCBuIAowMDAwMDAzNzgyIDAwMDAwIG4gCjAwMDAwMjQyNDQgMDAwMDAgbiAKMDAwMDAwMjQ1NCAwMDAwMCBuIAowMDAwMDAyNzIyIDAwMDAwIG4gCjAwMDAwMDQ0NzUgMDAwMDAgbiAKMDAwMDAwNjA5NyAwMDAwMCBuIAowMDAwMDI4NTgzIDAwMDAwIG4gCjAwMDAwNzk5NTIgMDAwMDAgbiAKMDAwMDExMDM1MyAwMDAwMCBuIAowMDAwMjEzNTg2IDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgMzgKL1Jvb3QgMiAwIFIKL0luZm8gMjAgMCBSCj4+CnN0YXJ0eHJlZgo0MDM1ODkKJSVFT0YK", + "content_type": "application/pdf" + }, + "payload": { + "browserTimezone": "America/New_York", + "date": "2018-03-15T20:57:05.801Z", + "description": "", + "headers": "894a2W5OfKF31VGzV3oIONtu5v+Hx+k0KUj+JGeIPfSy0jzNGPcMuEkFvSWIYkM++0tvfbT8mc+WIMd8QMSd01KZSnmwKu/3sbo7cYFQhPnaGbOofYvylX4svZG7PoX2FavJLOte0YQNGuFmlmndDBVDqexFvHAXPUuYJLsTqNHOfIWnqCXtByLIZ1yJt7aEnuI79lgLIiUre/O82W3mHLD6osKABeQJ8fr/8dDQfjWDWGrzwxPxui4hemL7JRtZifp0xF6J9NOhn0LUUSOOSi3y1E0LgmCn0Sbf42IMV7OdAK5G2qtu847b0p2yUTgl0rLS9RBpD5DCLNgR07D6qwWR0XqtsTlI4qLuOriGbdZwrqdlEMB7Alm3xuTBNRxjLucxM4Ayqdl7L99IEwx/CkGArqsOT3d7Dx0V90H7zYG6JPYqGJEdi+6cfvAdO6vNxHqB9rLd2PzpgPyo+aOWO5rIn05KToKR6rOm69JcskpNJkQ2oKflQzgmRC4vUMf63kM8xowHxqcOtK6NsvRD4M7xRDoEV5Rijfb5zrDfH83QZ4FwbrkwmnYehIJiFTVmWipV6R/yBGhUxI88um32Pfl+jgbeI55NtddbrU5AHV5YJbwIj6ClbxRH9LtHEAXhuJOtML78FJTPWDa9uJrMNpXwOYSL2VsOBrvnhWmydWXNmI5q/LAVLMvuq1vY0fv13HoMjHnaZx+iOCyT0k+Te+IWAA0CZW8ixu+wPtZNUfZM/Rp5ockinbfgfiJJ9/dbkWmb5/S9QPhjOb0M2ifa9+Xwe2JHSxv9o1f50aIMjyUc+QndhGClmippgPMH+6CHatiifplruC7O9UpoqhNyx1uNkV8jRGogxekSRkHn2/SrAVeTJXVAIdBzlf2AmuJs/z3MAtYjMoZqsQ3tekX+W01kPV1+OQHRVnHHFhZxEVgmwcmetLJ12Bz7UbxN1zQkaCrac5L7O3tC2xkK/ZAlHUdQa0j/0DW6QC4uNHIxNiK0yJ+wwvpT6NJtG6/TDAy0aq5eoEnQe1/kSH9pDvrX0C5zyV9iM2NpPMfrBhdeIPcNEe3fab94IhbaURvJEwL7OXuLCwUwGJM6tPpGpfKrNVQy40o7+4VAhny/AQ+EhfEN6e7pQv++6D6Hq1v/n+/breAGFJ1mUabNKd5bvwdA9ReNpItGLdNXpwglbfj0smsXmwisP/WJsLz/pMc1oZKmIo8xavOHEP9ucXFXSiuFiz33TtnDCIZCIyigQbqZcozBLuYLuSYXM9WHXBwtkp9QDISd2iNmfE1QNXZpv0rfK1Tardiw3NUk26KUiA==", + "id": "6799db00-2893-11e8-88fd-5754aa989b85", + "layout": { + "id": "print" + }, + "objects": [ + { + "description": "", + "id": "6799db00-2893-11e8-88fd-5754aa989b85", + "searchSource": { + "filter": [ + ], + "highlightAll": true, + "query": { + "language": "lucene", + "query": "" + }, + "version": true + }, + "title": "Small Reporting Dashboard", + "type": "dashboard", + "uiState": { + }, + "urlHash": "/dashboard/6799db00-2893-11e8-88fd-5754aa989b85?_g=(time:(from:'2015-09-19T00:02:06.633Z',interval:auto,mode:absolute,timezone:America%2FNew_York,to:'2015-09-24T06:40:33.165Z'))&_a=(description:'',filters:!(),fullScreenMode:!f,options:(darkTheme:!f,hidePanelTitles:!f,useMargins:!t),panels:!((gridData:(h:3,i:'1',w:6,x:0,y:0),id:Visualization-PieChart,panelIndex:'1',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'2',w:6,x:6,y:0),id:Visualization-MetricChart,panelIndex:'2',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'3',w:6,x:0,y:3),id:Visualization%E2%98%BA-VerticalBarChart,panelIndex:'3',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'4',w:6,x:6,y:3),id:e495f810-2892-11e8-88fd-5754aa989b85,panelIndex:'4',type:search,version:'6.2.3')),query:(language:lucene,query:''),timeRestore:!t,title:'Small%20Reporting%20Dashboard',viewMode:view)" + } + ], + "query": { + "_a": "(description:'',filters:!(),fullScreenMode:!f,options:(darkTheme:!f,hidePanelTitles:!f,useMargins:!t),panels:!((gridData:(h:3,i:'1',w:6,x:0,y:0),id:Visualization-PieChart,panelIndex:'1',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'2',w:6,x:6,y:0),id:Visualization-MetricChart,panelIndex:'2',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'3',w:6,x:0,y:3),id:Visualization☺-VerticalBarChart,panelIndex:'3',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'4',w:6,x:6,y:3),id:e495f810-2892-11e8-88fd-5754aa989b85,panelIndex:'4',type:search,version:'6.2.3')),query:(language:lucene,query:''),timeRestore:!t,title:'Small Reporting Dashboard',viewMode:view)", + "_g": "(time:(from:'2015-09-19T00:02:06.633Z',interval:auto,mode:absolute,timezone:America/New_York,to:'2015-09-24T06:40:33.165Z'))" + }, + "title": "Small Reporting Dashboard", + "type": "dashboard" + }, + "priority": 10, + "process_expiration": "2018-03-15T20:57:36.172Z", + "started_at": "2018-03-15T20:57:06.172Z", + "status": "completed", + "timeout": 30000 + }, + "type": "_doc" + } +} + +{ + "type": "doc", + "value": { + "id": "jeszwiof0k3vbd9ffbazspeo", + "index": ".reporting-2018.03.11", + "source": { + "attempts": 1, + "completed_at": "2018-03-15T20:57:25.258Z", + "created_at": "2018-03-15T20:57:07.215Z", + "created_by": "elastic", + "jobtype": "printable_pdf", + "max_attempts": 3, + "output": { + "content": "JVBERi0xLjMKJf////8KNSAwIG9iago8PAovUHJlZGljdG9yIDE1Ci9Db2xvcnMgMQovQml0c1BlckNvbXBvbmVudCA4Ci9Db2x1bW5zIDU3Nwo+PgplbmRvYmoKMTEgMCBvYmoKPDwKL1R5cGUgL0V4dEdTdGF0ZQovQ0EgMQo+PgplbmRvYmoKOSAwIG9iago8PAovVHlwZSAvUGFnZQovUGFyZW50IDEgMCBSCi9NZWRpYUJveCBbMCAwIDE1ODYgODM3XQovQ29udGVudHMgNyAwIFIKL1Jlc291cmNlcyA4IDAgUgo+PgplbmRvYmoKOCAwIG9iago8PAovUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0KL0ZvbnQgPDwKL0YyIDEwIDAgUgovRjMgMTIgMCBSCj4+Ci9FeHRHU3RhdGUgPDwKL0dzMSAxMSAwIFIKPj4KL1hPYmplY3QgPDwKL0kxIDMgMCBSCi9JMiA0IDAgUgo+Pgo+PgplbmRvYmoKMTMgMCBvYmoKPDwKL1Byb2R1Y2VyIChwZGZtYWtlKQovQ3JlYXRvciAocGRmbWFrZSkKL0NyZWF0aW9uRGF0ZSAoRDoyMDE4MDMxNTIwNTcyNFopCj4+CmVuZG9iagoxNSAwIG9iago8PAovVHlwZSAvRm9udERlc2NyaXB0b3IKL0ZvbnROYW1lIC9VVVhJVEwrUm9ib3RvLU1lZGl1bQovRmxhZ3MgNAovRm9udEJCb3ggWy03MzIuNDIxODc1IC0yNzAuOTk2MDk0IDExOTIuODcxMDk0IDEwNDcuODUxNTYzXQovSXRhbGljQW5nbGUgMAovQXNjZW50IDkyNy43MzQzNzUKL0Rlc2NlbnQgLTI0NC4xNDA2MjUKL0NhcEhlaWdodCA3MTAuOTM3NQovWEhlaWdodCA1MjguMzIwMzEzCi9TdGVtViAwCi9Gb250RmlsZTIgMTQgMCBSCj4+CmVuZG9iagoxNiAwIG9iago8PAovVHlwZSAvRm9udAovU3VidHlwZSAvQ0lERm9udFR5cGUyCi9CYXNlRm9udCAvVVVYSVRMK1JvYm90by1NZWRpdW0KL0NJRFN5c3RlbUluZm8gPDwKL1JlZ2lzdHJ5IChBZG9iZSkKL09yZGVyaW5nIChJZGVudGl0eSkKL1N1cHBsZW1lbnQgMAo+PgovRm9udERlc2NyaXB0b3IgMTUgMCBSCi9XIFswIFs1MTAgNjE4LjY1MjM0NCA4NjkuNjI4OTA2IDU0My45NDUzMTMgMjU5LjI3NzM0NCAyNDkuMDIzNDM4IDY1OC42OTE0MDYgNTI5LjI5Njg3NSA1NjYuNDA2MjUgNTY2LjQwNjI1IDM1Ni40NDUzMTMgMzI2LjY2MDE1NiAyNTkuMjc3MzQ0IDU2Ni40MDYyNSA1NjYuNDA2MjUgNjcyLjg1MTU2MyA1MjAuMDE5NTMxIDU2Ni40MDYyNSA1NjYuNDA2MjUgNTY2LjQwNjI1XV0KPj4KZW5kb2JqCjEwIDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMAovQmFzZUZvbnQgL1VVWElUTCtSb2JvdG8tTWVkaXVtCi9FbmNvZGluZyAvSWRlbnRpdHktSAovRGVzY2VuZGFudEZvbnRzIFsxNiAwIFJdCi9Ub1VuaWNvZGUgMTcgMCBSCj4+CmVuZG9iagoxOSAwIG9iago8PAovVHlwZSAvRm9udERlc2NyaXB0b3IKL0ZvbnROYW1lIC9PTU9WWUsrUm9ib3RvLVJlZ3VsYXIKL0ZsYWdzIDQKL0ZvbnRCQm94IFstNjgxLjE1MjM0NCAtMjcwLjk5NjA5NCAxMTgxLjY0MDYyNSAxMDQ3Ljg1MTU2M10KL0l0YWxpY0FuZ2xlIDAKL0FzY2VudCA5MjcuNzM0Mzc1Ci9EZXNjZW50IC0yNDQuMTQwNjI1Ci9DYXBIZWlnaHQgNzEwLjkzNzUKL1hIZWlnaHQgNTI4LjMyMDMxMwovU3RlbVYgMAovRm9udEZpbGUyIDE4IDAgUgo+PgplbmRvYmoKMjAgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL0NJREZvbnRUeXBlMgovQmFzZUZvbnQgL09NT1ZZSytSb2JvdG8tUmVndWxhcgovQ0lEU3lzdGVtSW5mbyA8PAovUmVnaXN0cnkgKEFkb2JlKQovT3JkZXJpbmcgKElkZW50aXR5KQovU3VwcGxlbWVudCAwCj4+Ci9Gb250RGVzY3JpcHRvciAxOSAwIFIKL1cgWzAgWzUwNyA2MTAuODM5ODQ0IDg3NS45NzY1NjMgNTQ3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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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f572RgMAAAAAABTd/fv33Wsp33zzzbr5Ga7DAAAAAAAA5LfxdZh12Qt//Pjx3t6eva5Lly5x6QYAAAAAACDD/fv3L126dOHChb29vcePH6+bn+E6DAAAAAAAQE7HuQ6zAXsVlmUZhuEmdvb39x88eHB4eHja3QAAAAAAAFAUh4eHDx48cMsF2wzDsCzr8ePHXIcBAAAAAADYrm1dh1nXkydPHj58ePfu3atXr14AAAAAAABApqtXr969e/fhw4dPnjzhOgwAAAAAAMDJOc51mHUdHh66P326c+fOwcHBlStXLl68qOv6afcBAAAAAABAUei6fvHixStXrhwcHNy5c8f90dPh4SHXYQAAAAAAALZrW9dhNnD37l3TNG/dunXjxo29vb1r165dvXr1CgAAAAAAABauXr167dq1vb29Gzdu3Lp1yzTNu3fvch0GAAAAAABg67Z4HWZd9+7dE5duDg4O7Abs7+9/ubAHAAAAAADwDHOvkOzv79+4cePg4EBctLl37x7XYQAAAAAAALZo69dhNr50c+fOna+//vr27dt2G24CAAAAAABg4datW7dv3/7666/v3Llz/Is2XIcBAAAAAABIs93rMMe8euMyAQAAAAAAnnniUsl2r9hwHQYAAAAAACDihK7DbHz1BgAAAAAAABFchwEAAAAAANiNk7gOAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8HT5P8Nqv5IKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgMjQKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAyMzYxIDAwMDAwIG4gCjAwMDAwMDIzMTIgMDAwMDAgbiAKMDAwMDAyODcxNyAwMDAwMCBuIAowMDAwMDExNTc2IDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAwMjQxOCAwMDAwMCBuIAowMDAwMDIzOTY0IDAwMDAwIG4gCjAwMDAwMDAyNDMgMDAwMDAgbiAKMDAwMDAwMDEzOCAwMDAwMCBuIAowMDAwMDAxMTcxIDAwMDAwIG4gCjAwMDAwMDAwOTMgMDAwMDAgbiAKMDAwMDAwMjE2MyAwMDAwMCBuIAowMDAwMDAwNDA4IDAwMDAwIG4gCjAwMDAwMTk3MjEgMDAwMDAgbiAKMDAwMDAwMDUwMyAwMDAwMCBuIAowMDAwMDAwNzcwIDAwMDAwIG4gCjAwMDAwMDI2MzkgMDAwMDAgbiAKMDAwMDAyMTM4NSAwMDAwMCBuIAowMDAwMDAxMzE5IDAwMDAwIG4gCjAwMDAwMDE1ODcgMDAwMDAgbiAKMDAwMDAwMjk4NiAwMDAwMCBuIAowMDAwMDAzMzcxIDAwMDAwIG4gCjAwMDAwMjQ2ODIgMDAwMDAgbiAKdHJhaWxlcgo8PAovU2l6ZSAyNAovUm9vdCAyIDAgUgovSW5mbyAxMyAwIFIKPj4Kc3RhcnR4cmVmCjIwNjc4MwolJUVPRgo=", + "content_type": "application/pdf" + }, + "payload": { + "browserTimezone": "America/New_York", + "date": "2018-03-15T20:57:07.201Z", + "description": "", + "headers": "IsTY8Z3WDVNTdJyDTk3wcAwmWjRAx9uhwSafo5e19KVI6QjCsrQKZ0oynk5PVvABcLVfLvA6sZkL5cAf86HbBkZt+pkxQMt8XYD4O/WCO0dGc3xhxyoFvU9TA8qkMLXfTPOrs0qDROFm1hAnayTWKBPN2xy29QTULXMm4uCE79jVTqkui2QNS/nmOVtihV85vfxQeFTIa7ZxdoMNz1MCXkrbJiBlF1oMTgJq6FVWEOOGLIXO5bEfqv7aQvCH9geTdAulT/4vVSEEpmJMDaP2ErPSZ3aDcZxd5o+fP+xjIVYoliFP3QUerm7Kt7Hej0N5VK9AijLjebByniA88zapcg3b8w9rdQ3xypi1QBTi107uSuWPkEniy0L8niXa9G3MOSOHsr9zTP/Ax4FGeYM+s4hp12uWbPmReVFkShQfBUxYoTu7IlXVfEejjZ92l30AmUC8yV+siLaIiiLciIpnE/1LnOZdU8eb8rpqLzODTFB11ByHVxdSV6LIZ4/aDXEy8ZEAk2pR3T3hobqurjhXBfKiAocKfKgpXmbgPZs194A2rPhs5547atfSnLSUhKmSWjU8FVvrwW0EOITO1P0TCnkEsuIX9kdh0bfupSzcJ0rbBOI4gReZtnKGlhtQR4knT+fVLi7eWPqKLsAr5GmBMXFZASi3NlanYUdfUo18sjXfT9w2R/1DONHQIiTbGs/nCZ6deRrJ5YTH3dP1J4kX6uB+5MBN4YVJJhLvh8eQo757UABBMrbmF5DbpcPjS+sF6osHmBAIfnLZqLRqfeojsBnXubwFGYCwQRkRXTkJXO0/loJ2ZoBLOPpUfvsdZKekn1hm8HkcPif6TA4gkQTjST2kDgOf+hY+ov8oZgr9ze0WOTI/ESYrFHlmgFUVqLzdFW9SPx2NywXVicoEMNkyoeqzozk/NTJfDDAGxfoBp1K9LExdzZIxKi3w73fGM3HRlLMaFKfUuk5lYowTjwLw+NXYt/YEjcKKfJkq4lfh/UlMVhcU420ajWEuReWodouTYnAB+nDZjqz3DQN/gGQ5ELNl9Oz7TSEut/U7MDsrHHhawtuaHTh0g8MPekU2E4Qlfgi/WajbI9CuhCFhu0yeV5PzXp3f54nQlYxVjY9jrqrP3GMKdkJNH+iF19ywbdsXNucPuYex2OhVohHj1UkW0ka3cIy6soFGqX7gM8jT3VhZ/Bd7xySuRdVEU+Cv3B50Piu0i6fZUlEh7Tj//6uY5K6ivUskEA/uwZLi31oX0dBqpvrkecIha8VlPCsZBUylS5pv8R3bM6lXnVkP/hdEVIE1fU8DtEuUn4CswA==", + "id": "6799db00-2893-11e8-88fd-5754aa989b85", + "layout": { + "dimensions": { + "height": 656, + "width": 1504 + }, + "id": "preserve_layout" + }, + "objects": [ + { + "description": "", + "id": "6799db00-2893-11e8-88fd-5754aa989b85", + "searchSource": { + "filter": [ + ], + "highlightAll": true, + "query": { + "language": "lucene", + "query": "" + }, + "version": true + }, + "title": "Small Reporting Dashboard", + "type": "dashboard", + "uiState": { + }, + "urlHash": "/dashboard/6799db00-2893-11e8-88fd-5754aa989b85?_g=(time:(from:'2015-09-19T00:02:06.633Z',interval:auto,mode:absolute,timezone:America%2FNew_York,to:'2015-09-24T06:40:33.165Z'))&_a=(description:'',filters:!(),fullScreenMode:!f,options:(darkTheme:!f,hidePanelTitles:!f,useMargins:!t),panels:!((gridData:(h:3,i:'1',w:6,x:0,y:0),id:Visualization-PieChart,panelIndex:'1',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'2',w:6,x:6,y:0),id:Visualization-MetricChart,panelIndex:'2',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'3',w:6,x:0,y:3),id:Visualization%E2%98%BA-VerticalBarChart,panelIndex:'3',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'4',w:6,x:6,y:3),id:e495f810-2892-11e8-88fd-5754aa989b85,panelIndex:'4',type:search,version:'6.2.3')),query:(language:lucene,query:''),timeRestore:!t,title:'Small%20Reporting%20Dashboard',viewMode:view)" + } + ], + "query": { + "_a": "(description:'',filters:!(),fullScreenMode:!f,options:(darkTheme:!f,hidePanelTitles:!f,useMargins:!t),panels:!((gridData:(h:3,i:'1',w:6,x:0,y:0),id:Visualization-PieChart,panelIndex:'1',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'2',w:6,x:6,y:0),id:Visualization-MetricChart,panelIndex:'2',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'3',w:6,x:0,y:3),id:Visualization☺-VerticalBarChart,panelIndex:'3',type:visualization,version:'6.2.3'),(gridData:(h:3,i:'4',w:6,x:6,y:3),id:e495f810-2892-11e8-88fd-5754aa989b85,panelIndex:'4',type:search,version:'6.2.3')),query:(language:lucene,query:''),timeRestore:!t,title:'Small Reporting Dashboard',viewMode:view)", + "_g": "(time:(from:'2015-09-19T00:02:06.633Z',interval:auto,mode:absolute,timezone:America/New_York,to:'2015-09-24T06:40:33.165Z'))" + }, + "title": "Small Reporting Dashboard", + "type": "dashboard" + }, + "priority": 10, + "process_expiration": "2018-03-15T20:57:47.814Z", + "started_at": "2018-03-15T20:57:17.814Z", + "status": "completed", + "timeout": 30000 + }, + "type": "_doc" + } +} + +{ + "type": "doc", + "value": { + "id": "jeszx2v60k3vbd9ffbdp5asw", + "index": ".reporting-2018.03.11", + "source": { + "attempts": 1, + "completed_at": "2018-03-15T20:57:40.343Z", + "created_at": "2018-03-15T20:57:33.378Z", + "created_by": "elastic", + "jobtype": "printable_pdf", + "max_attempts": 3, + "output": { + "content": "JVBERi0xLjMKJf////8KNSAwIG9iago8PAovUHJlZGljdG9yIDE1Ci9Db2xvcnMgMQovQml0c1BlckNvbXBvbmVudCA4Ci9Db2x1bW5zIDU3Nwo+PgplbmRvYmoKMTEgMCBvYmoKPDwKL1R5cGUgL0V4dEdTdGF0ZQovQ0EgMQo+PgplbmRvYmoKOSAwIG9iago8PAovVHlwZSAvUGFnZQovUGFyZW50IDEgMCBSCi9NZWRpYUJveCBbMCAwIDEyMjYgNjg4XQovQ29udGVudHMgNyAwIFIKL1Jlc291cmNlcyA4IDAgUgo+PgplbmRvYmoKOCAwIG9iago8PAovUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0KL0ZvbnQgPDwKL0YyIDEwIDAgUgovRjMgMTIgMCBSCj4+Ci9FeHRHU3RhdGUgPDwKL0dzMSAxMSAwIFIKPj4KL1hPYmplY3QgPDwKL0kxIDMgMCBSCi9JMiA0IDAgUgo+Pgo+PgplbmRvYmoKMTMgMCBvYmoKPDwKL1Byb2R1Y2VyIChwZGZtYWtlKQovQ3JlYXRvciAocGRmbWFrZSkKL0NyZWF0aW9uRGF0ZSAoRDoyMDE4MDMxNTIwNTc0MFopCj4+CmVuZG9iagoxNSAwIG9iago8PAovVHlwZSAvRm9udERlc2NyaXB0b3IKL0ZvbnROYW1lIC9VWE5XVlYrUm9ib3RvLU1lZGl1bQovRmxhZ3MgNAovRm9udEJCb3ggWy03MzIuNDIxODc1IC0yNzAuOTk2MDk0IDExOTIuODcxMDk0IDEwNDcuODUxNTYzXQovSXRhbGljQW5nbGUgMAovQXNjZW50IDkyNy43MzQzNzUKL0Rlc2NlbnQgLTI0NC4xNDA2MjUKL0NhcEhlaWdodCA3MTAuOTM3NQovWEhlaWdodCA1MjguMzIwMzEzCi9TdGVtViAwCi9Gb250RmlsZTIgMTQgMCBSCj4+CmVuZG9iagoxNiAwIG9iago8PAovVHlwZSAvRm9udAovU3VidHlwZSAvQ0lERm9udFR5cGUyCi9CYXNlRm9udCAvVVhOV1ZWK1JvYm90by1NZWRpdW0KL0NJRFN5c3RlbUluZm8gPDwKL1JlZ2lzdHJ5IChBZG9iZSkKL09yZGVyaW5nIChJZGVudGl0eSkKL1N1cHBsZW1lbnQgMAo+PgovRm9udERlc2NyaXB0b3IgMTUgMCBSCi9XIFswIFs1MTAgNTY2LjQwNjI1IDUwNi44MzU5MzggMzI2LjY2MDE1NiA1MjkuMjk2ODc1IDUyMC4wMTk1MzEgMjQ5LjAyMzQzOCA1NjYuNDA2MjUgNTQzLjk0NTMxMyA4NjkuNjI4OTA2IDU2Ni40MDYyNV1dCj4+CmVuZG9iagoxMCAwIG9iago8PAovVHlwZSAvRm9udAovU3VidHlwZSAvVHlwZTAKL0Jhc2VGb250IC9VWE5XVlYrUm9ib3RvLU1lZGl1bQovRW5jb2RpbmcgL0lkZW50aXR5LUgKL0Rlc2NlbmRhbnRGb250cyBbMTYgMCBSXQovVG9Vbmljb2RlIDE3IDAgUgo+PgplbmRvYmoKMTkgMCBvYmoKPDwKL1R5cGUgL0ZvbnREZXNjcmlwdG9yCi9Gb250TmFtZSAvRUhFVEpPK1JvYm90by1SZWd1bGFyCi9GbGFncyA0Ci9Gb250QkJveCBbLTY4MS4xNTIzNDQgLTI3MC45OTYwOTQgMTE4MS42NDA2MjUgMTA0Ny44NTE1NjNdCi9JdGFsaWNBbmdsZSAwCi9Bc2NlbnQgOTI3LjczNDM3NQovRGVzY2VudCAtMjQ0LjE0MDYyNQovQ2FwSGVpZ2h0IDcxMC45Mzc1Ci9YSGVpZ2h0IDUyOC4zMjAzMTMKL1N0ZW1WIDAKL0ZvbnRGaWxlMiAxOCAwIFIKPj4KZW5kb2JqCjIwIDAgb2JqCjw8Ci9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9DSURGb250VHlwZTIKL0Jhc2VGb250IC9FSEVUSk8rUm9ib3RvLVJlZ3VsYXIKL0NJRFN5c3RlbUluZm8gPDwKL1JlZ2lzdHJ5IChBZG9iZSkKL09yZGVyaW5nIChJZGVudGl0eSkKL1N1cHBsZW1lbnQgMAo+PgovRm9udERlc2NyaXB0b3IgMTkgMCBSCi9XIFswIFs1MDcgNTY2LjQwNjI1IDUwMC45NzY1NjMgMzE4LjM1OTM3NSA1MjYuODU1NDY5IDUyMC45OTYwOTQgMjQ3LjU1ODU5NCA1NjYuNDA2MjUgNTQ3Ljg1MTU2MyA4NzUuOTc2NTYzIDU2Ni40MDYyNSA4MTEuMDM1MTU2IDU4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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+BlNSSmwKZW5kc3RyZWFtCmVuZG9i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", + "content_type": "application/pdf" + }, + "payload": { + "browserTimezone": "America/New_York", + "date": "2018-03-15T20:57:33.364Z", + "description": "", + "headers": "TWj5rxBCvBTFGgn74StH4EclxlZJntWBVoLAlMIH+T3B6QR8pC3dJc57YSAUtry0cj+AdxHk990yTIq+CgAM1SKKp7gnhfBKTDU4Hxq3Y25wtveI8jeQWOVvbLFCPMoDc6zcnsIJ0vzNiA2tosGsAvD172y7j9ODf4fJ2J/FG141esWILDfVSXThBNOGFA3GTw/jmaSTTU9lScHk6oey6Dkw/RSbsFpK8qWm/ECDHOR+wRThhXmYf05jNq0RPNo7ufXFnCH+dKCLL4ziqZqfvT0s4/GLXxeL/VITXjiLjPeMWyBa5cDl+c/J9ef+l8BfSNJ9qKx1hEkinWQM/OGk/iFUnNDm9LvnknsqmdgqZt2mVcWNjrlgXKYSrBxapRCCMKQj0hj1PGMjS3xAGRtYrv3MSbD9P97XSvH5Zv/SikMwix8HF0qm5RtPlvMFin+1O6OWpoHXpZ6DG1UnaeIskop/WabherUM9thtNzIxsqInBI2VXlzE4iw7BjYrdXbQUFiZmt4W4xaHVMPZrachZGisa7mKuc7uxXzfd7Lez1984mna1RtrzlWmhRtIoH73cie+M8mp/Y18aNgtHoqsuxTD9LuyZb0MZSmu3ZMiPQZFc5JXA0kuSLEisl/5e5tgYwlhjfbGH2gsm7JzXNKSg3tw7g59vM9/yP4cnv1/4LViw0iaSidcW6onycWsz2iHdx5lmtbMDDIugNtO/VrdJ9WQJ4A6j8ydKPSx/mQTVdDlSdFei9ugulMx3LfOvDLuogSpGy+iBiwRKs/1fHCMSStGYYN+DMpbcz7WPza7GPPU2aexo4L+NjFwzKRqtE8xwG4LI/c8QeInOA8J4VjtY9NzJlqCvir5HMnJfCD4C35OIHwznhf6YuwX8nUloFyPdqA+lvB5BNO6OancSMhFQwQSTighmXutRYlXSixS37zIduMJRMYQ2e7uKqIFXj8S6m/IMb8cgdo8IRizhZeTyg3BSm0b9APWrB3MnsxtXjotkyQ3WhpDBxwiBkX4lZetMll8IX0PyrFGRa8NFNaCimEpsQ9+h2RsaXaXpO461BBNGdDMgFO7nbhVUjwSaAMsIgL0IQNHFw7LDEYqnhBHGCFTT/rJuMM8hcGhoN+VFMNigXWZbJmEO+wwldrAHK2gIaw6yWfqR2m3KAhN+ynLxu9yObd2Sfq3Hd93R5GbjdrrU4FxnDxOy/c9YrqV1KpPIam3WegapN7Q0fBgh8mSo3Wz+kB4f9BLQR3dKuXWCvA5y+f3ekhtOWTxHJ1R7pT4569pmOip26NjSAsOOgIRTP7SCup/35Bf8/BhJQ==", + "id": "dae7e680-2891-11e8-88fd-5754aa989b85", + "layout": { + "dimensions": { + "height": 507, + "width": 1144 + }, + "id": "preserve_layout" + }, + "objects": [ + { + "description": "", + "id": "dae7e680-2891-11e8-88fd-5754aa989b85", + "searchSource": { + "filter": [ + ], + "index": "logstash-*", + "query": { + "language": "lucene", + "query": "" + } + }, + "title": "bytes heatmap", + "type": "visualization", + "uiState": { + "vis": { + "defaultColors": { + "0 - 1": "rgb(247,252,245)", + "1 - 2": "rgb(199,233,192)", + "2 - 3": "rgb(116,196,118)", + "3 - 3": "rgb(35,139,69)" + } + } + }, + "urlHash": "/visualize/edit/dae7e680-2891-11e8-88fd-5754aa989b85?_g=(time:(from:'2015-09-19T00:02:06.633Z',interval:auto,mode:absolute,timezone:America%2FNew_York,to:'2015-09-24T06:40:33.165Z'))&_a=(filters:!(),linked:!f,query:(language:lucene,query:''),uiState:(vis:(defaultColors:('0%20-%201':'rgb(247,252,245)','1%20-%202':'rgb(199,233,192)','2%20-%203':'rgb(116,196,118)','3%20-%203':'rgb(35,139,69)'))),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(field:bytes,missingBucket:!f,missingBucketLabel:Missing,order:desc,orderBy:'1',otherBucket:!f,otherBucketLabel:Other,size:5),schema:segment,type:terms),(enabled:!t,id:'3',params:(field:ip,missingBucket:!f,missingBucketLabel:Missing,order:desc,orderBy:'1',otherBucket:!f,otherBucketLabel:Other,size:5),schema:group,type:terms)),params:(addLegend:!t,addTooltip:!t,colorSchema:Greens,colorsNumber:4,colorsRange:!(),enableHover:!f,invertColors:!f,legendPosition:right,percentageMode:!f,setColorRange:!f,times:!(),type:heatmap,valueAxes:!((id:ValueAxis-1,labels:(color:%23555,rotate:0,show:!f),scale:(defaultYExtents:!f,type:linear),show:!f,type:value))),title:'bytes%20heatmap',type:heatmap))" + } + ], + "query": { + "_a": "(filters:!(),linked:!f,query:(language:lucene,query:''),uiState:(vis:(defaultColors:('0 - 1':'rgb(247,252,245)','1 - 2':'rgb(199,233,192)','2 - 3':'rgb(116,196,118)','3 - 3':'rgb(35,139,69)'))),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(field:bytes,missingBucket:!f,missingBucketLabel:Missing,order:desc,orderBy:'1',otherBucket:!f,otherBucketLabel:Other,size:5),schema:segment,type:terms),(enabled:!t,id:'3',params:(field:ip,missingBucket:!f,missingBucketLabel:Missing,order:desc,orderBy:'1',otherBucket:!f,otherBucketLabel:Other,size:5),schema:group,type:terms)),params:(addLegend:!t,addTooltip:!t,colorSchema:Greens,colorsNumber:4,colorsRange:!(),enableHover:!f,invertColors:!f,legendPosition:right,percentageMode:!f,setColorRange:!f,times:!(),type:heatmap,valueAxes:!((id:ValueAxis-1,labels:(color:#555,rotate:0,show:!f),scale:(defaultYExtents:!f,type:linear),show:!f,type:value))),title:'bytes heatmap',type:heatmap))", + "_g": "(time:(from:'2015-09-19T00:02:06.633Z',interval:auto,mode:absolute,timezone:America/New_York,to:'2015-09-24T06:40:33.165Z'))" + }, + "title": "bytes heatmap", + "type": "visualization" + }, + "priority": 10, + "process_expiration": "2018-03-15T20:58:04.326Z", + "started_at": "2018-03-15T20:57:34.326Z", + "status": "completed", + "timeout": 30000 + }, + "type": "_doc" + } +} diff --git a/x-pack/test/functional/es_archives/reporting/bwc/6_2/data.json.gz b/x-pack/test/functional/es_archives/reporting/bwc/6_2/data.json.gz deleted file mode 100644 index 85949bd32006e..0000000000000 Binary files a/x-pack/test/functional/es_archives/reporting/bwc/6_2/data.json.gz and /dev/null differ diff --git a/x-pack/test/functional/es_archives/reporting/bwc/6_2/mappings.json b/x-pack/test/functional/es_archives/reporting/bwc/6_2/mappings.json index a216ae424d51f..fdeb6387e12fa 100644 --- a/x-pack/test/functional/es_archives/reporting/bwc/6_2/mappings.json +++ b/x-pack/test/functional/es_archives/reporting/bwc/6_2/mappings.json @@ -3,59 +3,57 @@ "value": { "index": ".reporting-2018.03.11", "mappings": { - "esqueue": { - "properties": { - "attempts": { - "type": "short" - }, - "completed_at": { - "type": "date" - }, - "created_at": { - "type": "date" - }, - "created_by": { - "type": "keyword" - }, - "jobtype": { - "type": "keyword" - }, - "max_attempts": { - "type": "short" - }, - "output": { - "properties": { - "content": { - "enabled": false, - "type": "object" - }, - "content_type": { - "type": "keyword" - }, - "max_size_reached": { - "type": "boolean" - } + "properties": { + "attempts": { + "type": "short" + }, + "completed_at": { + "type": "date" + }, + "created_at": { + "type": "date" + }, + "created_by": { + "type": "keyword" + }, + "jobtype": { + "type": "keyword" + }, + "max_attempts": { + "type": "short" + }, + "output": { + "properties": { + "content": { + "enabled": false, + "type": "object" + }, + "content_type": { + "type": "keyword" + }, + "max_size_reached": { + "type": "boolean" } - }, - "payload": { - "enabled": false, - "type": "object" - }, - "priority": { - "type": "byte" - }, - "process_expiration": { - "type": "date" - }, - "started_at": { - "type": "date" - }, - "status": { - "type": "keyword" - }, - "timeout": { - "type": "long" } + }, + "payload": { + "enabled": false, + "type": "object" + }, + "priority": { + "type": "byte" + }, + "process_expiration": { + "type": "date" + }, + "started_at": { + "type": "date" + }, + "status": { + "type": "keyword" + }, + "timeout": { + "type": "long" } } }, @@ -67,4 +65,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/core/server/saved_objects/migrationsv2/actions/integration_tests/archives/7.7.2_xpack_100k_obj.zip b/x-pack/test/functional/es_archives/reporting/bwc/6_3/data.json similarity index 58% rename from src/core/server/saved_objects/migrationsv2/actions/integration_tests/archives/7.7.2_xpack_100k_obj.zip rename to x-pack/test/functional/es_archives/reporting/bwc/6_3/data.json index 13afaa04b06f9..6910c67522801 100644 Binary files a/src/core/server/saved_objects/migrationsv2/actions/integration_tests/archives/7.7.2_xpack_100k_obj.zip and b/x-pack/test/functional/es_archives/reporting/bwc/6_3/data.json differ diff --git a/x-pack/test/functional/es_archives/reporting/bwc/6_3/data.json.gz b/x-pack/test/functional/es_archives/reporting/bwc/6_3/data.json.gz deleted file mode 100644 index ccf2bcc6edc87..0000000000000 Binary files a/x-pack/test/functional/es_archives/reporting/bwc/6_3/data.json.gz and /dev/null differ diff --git a/x-pack/test/functional/es_archives/reporting/bwc/6_3/mappings.json b/x-pack/test/functional/es_archives/reporting/bwc/6_3/mappings.json index 696c83b289d98..c66ac5780eb0c 100644 --- a/x-pack/test/functional/es_archives/reporting/bwc/6_3/mappings.json +++ b/x-pack/test/functional/es_archives/reporting/bwc/6_3/mappings.json @@ -3,81 +3,79 @@ "value": { "index": ".reporting-2018.05.06", "mappings": { - "esqueue": { - "properties": { - "attempts": { - "type": "short" - }, - "completed_at": { - "type": "date" - }, - "created_at": { - "type": "date" - }, - "created_by": { - "type": "keyword" - }, - "jobtype": { - "type": "keyword" - }, - "max_attempts": { - "type": "short" - }, - "meta": { - "properties": { - "layout": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" + "properties": { + "attempts": { + "type": "short" + }, + "completed_at": { + "type": "date" + }, + "created_at": { + "type": "date" + }, + "created_by": { + "type": "keyword" + }, + "jobtype": { + "type": "keyword" + }, + "max_attempts": { + "type": "short" + }, + "meta": { + "properties": { + "layout": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "objectType": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "output": { - "properties": { - "content": { - "enabled": false, - "type": "object" - }, - "content_type": { - "type": "keyword" + "type": "text" + }, + "objectType": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "max_size_reached": { - "type": "boolean" - } + "type": "text" + } + } + }, + "output": { + "properties": { + "content": { + "enabled": false, + "type": "object" + }, + "content_type": { + "type": "keyword" + }, + "max_size_reached": { + "type": "boolean" } - }, - "payload": { - "enabled": false, - "type": "object" - }, - "priority": { - "type": "byte" - }, - "process_expiration": { - "type": "date" - }, - "started_at": { - "type": "date" - }, - "status": { - "type": "keyword" - }, - "timeout": { - "type": "long" } + }, + "payload": { + "enabled": false, + "type": "object" + }, + "priority": { + "type": "byte" + }, + "process_expiration": { + "type": "date" + }, + "started_at": { + "type": "date" + }, + "status": { + "type": "keyword" + }, + "timeout": { + "type": "long" } } }, @@ -89,4 +87,4 @@ } } } -} \ No newline at end of file +} diff --git a/x-pack/test/functional/es_archives/security_solution/README.md b/x-pack/test/functional/es_archives/security_solution/README.md index c832e0835bbbc..5cb3a69162f39 100644 --- a/x-pack/test/functional/es_archives/security_solution/README.md +++ b/x-pack/test/functional/es_archives/security_solution/README.md @@ -9,3 +9,5 @@ or ``` x-pack/test/api_integration/apis/security_solution ``` + +* Folder `telemetry` is for the tests underneath `detection_engine_api_integration/security_and_spaces/tests/telemetry`. \ No newline at end of file diff --git a/x-pack/test/functional/es_archives/security_solution/telemetry/data.json b/x-pack/test/functional/es_archives/security_solution/telemetry/data.json new file mode 100644 index 0000000000000..0c9ec4f289d5b --- /dev/null +++ b/x-pack/test/functional/es_archives/security_solution/telemetry/data.json @@ -0,0 +1,52 @@ +{ + "type": "doc", + "value": { + "id": "1", + "index": "telemetry", + "source": { + "@timestamp": "2020-10-28T05:00:53.000Z", + "keyword": "word one" + }, + "type": "_doc" + } +} + +{ + "type": "doc", + "value": { + "id": "2", + "index": "telemetry", + "source": { + "@timestamp": "2020-10-28T05:01:53.000Z", + "keyword": "word two" + }, + "type": "_doc" + } +} + +{ + "type": "doc", + "value": { + "id": "3", + "index": "telemetry", + "source": { + "@timestamp": "2020-10-28T05:02:53.000Z", + "keyword": "word three" + }, + "type": "_doc" + } +} + +{ + "type": "doc", + "value": { + "id": "4", + "index": "telemetry", + "source": { + "@timestamp": "2020-10-28T05:03:53.000Z", + "keyword": "word four" + }, + "type": "_doc" + } +} + diff --git a/x-pack/test/functional/es_archives/security_solution/telemetry/mappings.json b/x-pack/test/functional/es_archives/security_solution/telemetry/mappings.json new file mode 100644 index 0000000000000..ec48b7b750763 --- /dev/null +++ b/x-pack/test/functional/es_archives/security_solution/telemetry/mappings.json @@ -0,0 +1,20 @@ +{ + "type": "index", + "value": { + "index": "telemetry", + "mappings": { + "properties": { + "@timestamp": { + "type": "date" + }, + "keyword": { "type": "keyword" } + } + }, + "settings": { + "index": { + "number_of_replicas": "1", + "number_of_shards": "1" + } + } + } +} diff --git a/x-pack/test/functional/es_archives/spaces/copy_saved_objects/data.json b/x-pack/test/functional/es_archives/spaces/copy_saved_objects/data.json index 552142d3b190a..061d4bcd93f54 100644 --- a/x-pack/test/functional/es_archives/spaces/copy_saved_objects/data.json +++ b/x-pack/test/functional/es_archives/spaces/copy_saved_objects/data.json @@ -2,7 +2,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "space:default", "source": { "space": { @@ -23,7 +23,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "index-pattern:logstash-*", "source": { "index-pattern": { @@ -44,7 +44,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "sales:index-pattern:logstash-*", "source": { "namespace": "sales", @@ -66,7 +66,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "visualization:75c3e060-1e7c-11e9-8488-65449e65d0ed", "source": { "visualization": { @@ -89,7 +89,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "dashboard:my-dashboard", "source": { "dashboard": { @@ -114,7 +114,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "dashboard:dashboard-foo", "source": { "references": [{ @@ -144,7 +144,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "dashboard:dashboard-bar", "source": { "references": [{ diff --git a/x-pack/test/functional/es_archives/spaces/copy_saved_objects/mappings.json b/x-pack/test/functional/es_archives/spaces/copy_saved_objects/mappings.json index a4124f7a91214..03059a10cfa3a 100644 --- a/x-pack/test/functional/es_archives/spaces/copy_saved_objects/mappings.json +++ b/x-pack/test/functional/es_archives/spaces/copy_saved_objects/mappings.json @@ -6,279 +6,277 @@ }, "index": ".kibana_1", "mappings": { - "doc": { - "dynamic": "strict", - "properties": { - "migrationVersion": { - "dynamic": "true", - "properties": { - "index-pattern": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + "dynamic": "strict", + "properties": { + "migrationVersion": { + "dynamic": "true", + "properties": { + "index-pattern": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } } } - }, - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" - }, - "dateFormat:tz": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "defaultIndex": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "notifications:lifetime:banner": { - "type": "long" - }, - "notifications:lifetime:error": { - "type": "long" + } + }, + "config": { + "dynamic": "true", + "properties": { + "buildNum": { + "type": "keyword" + }, + "dateFormat:tz": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "notifications:lifetime:info": { - "type": "long" + "type": "text" + }, + "defaultIndex": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "notifications:lifetime:warning": { - "type": "long" - } + "type": "text" + }, + "notifications:lifetime:banner": { + "type": "long" + }, + "notifications:lifetime:error": { + "type": "long" + }, + "notifications:lifetime:info": { + "type": "long" + }, + "notifications:lifetime:warning": { + "type": "long" } - }, - "dashboard": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "dashboard": { + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } + } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" + }, + "pause": { + "type": "boolean" + }, + "section": { + "type": "integer" + }, + "value": { + "type": "integer" } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - } + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" } - }, - "search": { - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "search": { + "properties": { + "columns": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "sort": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } + } + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" } - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" - }, - "url": { - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" + } + }, + "type": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + }, + "url": { + "properties": { + "accessCount": { + "type": "long" + }, + "accessDate": { + "type": "date" + }, + "createDate": { + "type": "date" + }, + "url": { + "fields": { + "keyword": { + "ignore_above": 2048, + "type": "keyword" + } }, - "url": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" } - }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" } + }, + "savedSearchId": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" } - }, - "namespace": { - "type": "keyword" - }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "initials": { - "type": "keyword" + } + }, + "namespace": { + "type": "keyword" + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "initials": { + "type": "keyword" + }, + "name": { + "fields": { + "keyword": { + "ignore_above": 2048, + "type": "keyword" + } }, - "name": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" } - }, - "references": { - "type": "nested", - "properties": { - "name": { - "type": "keyword" - }, - "type": { - "type": "keyword" - }, - "id": { - "type": "keyword" - } + } + }, + "references": { + "type": "nested", + "properties": { + "name": { + "type": "keyword" + }, + "type": { + "type": "keyword" + }, + "id": { + "type": "keyword" } } } @@ -292,4 +290,4 @@ } } } -} \ No newline at end of file +} diff --git a/x-pack/test/functional/es_archives/spaces/disabled_features/data.json b/x-pack/test/functional/es_archives/spaces/disabled_features/data.json index 0826c7dcf164b..7931cfea45594 100644 --- a/x-pack/test/functional/es_archives/spaces/disabled_features/data.json +++ b/x-pack/test/functional/es_archives/spaces/disabled_features/data.json @@ -2,7 +2,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "space:default", "source": { "space": { @@ -23,7 +23,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "index-pattern:logstash-*", "source": { "index-pattern": { @@ -44,7 +44,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "custom_space:index-pattern:logstash-*", "source": { "namespace": "custom_space", @@ -66,7 +66,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "custom_space:visualization:75c3e060-1e7c-11e9-8488-65449e65d0ed", "source": { "namespace": "custom_space", @@ -90,7 +90,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "custom_space:dashboard:i-exist", "source": { "namespace": "custom_space", diff --git a/x-pack/test/functional/es_archives/spaces/disabled_features/mappings.json b/x-pack/test/functional/es_archives/spaces/disabled_features/mappings.json index 2779680f8685b..3decd2b5198ce 100644 --- a/x-pack/test/functional/es_archives/spaces/disabled_features/mappings.json +++ b/x-pack/test/functional/es_archives/spaces/disabled_features/mappings.json @@ -13,407 +13,404 @@ } }, "mappings": { - "doc": { - "dynamic": "strict", - "properties": { - "apm-telemetry": { - "properties": { - "has_any_services": { - "type": "boolean" - }, - "services_per_agent": { - "properties": { - "go": { - "type": "long", - "null_value": 0 - }, - "java": { - "type": "long", - "null_value": 0 - }, - "js-base": { - "type": "long", - "null_value": 0 - }, - "nodejs": { - "type": "long", - "null_value": 0 - }, - "python": { - "type": "long", - "null_value": 0 - }, - "ruby": { - "type": "long", - "null_value": 0 - } + "dynamic": "strict", + "properties": { + "apm-telemetry": { + "properties": { + "has_any_services": { + "type": "boolean" + }, + "services_per_agent": { + "properties": { + "go": { + "type": "long", + "null_value": 0 + }, + "java": { + "type": "long", + "null_value": 0 + }, + "js-base": { + "type": "long", + "null_value": 0 + }, + "nodejs": { + "type": "long", + "null_value": 0 + }, + "python": { + "type": "long", + "null_value": 0 + }, + "ruby": { + "type": "long", + "null_value": 0 } } } - }, - "canvas-workpad": { - "dynamic": "false", - "properties": { - "@created": { - "type": "date" - }, - "@timestamp": { - "type": "date" - }, - "id": { - "type": "text", - "index": false - }, - "name": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword" - } + } + }, + "canvas-workpad": { + "dynamic": "false", + "properties": { + "@created": { + "type": "date" + }, + "@timestamp": { + "type": "date" + }, + "id": { + "type": "text", + "index": false + }, + "name": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword" } } } - }, - "config": { - "dynamic": "true", - "properties": { - "accessibility:disableAnimations": { - "type": "boolean" - }, - "buildNum": { - "type": "keyword" - }, - "dateFormat:tz": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "config": { + "dynamic": "true", + "properties": { + "accessibility:disableAnimations": { + "type": "boolean" + }, + "buildNum": { + "type": "keyword" + }, + "dateFormat:tz": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } - }, - "defaultIndex": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "defaultIndex": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } - }, - "telemetry:optIn": { - "type": "boolean" } + }, + "telemetry:optIn": { + "type": "boolean" } - }, - "dashboard": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "dashboard": { + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } + } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" + }, + "pause": { + "type": "boolean" + }, + "section": { + "type": "integer" + }, + "value": { + "type": "integer" } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "map" : { - "properties" : { - "bounds" : { - "type" : "geo_shape", - "tree" : "quadtree" - }, - "description" : { - "type" : "text" - }, - "layerListJSON" : { - "type" : "text" - }, - "mapStateJSON" : { - "type" : "text" - }, - "title" : { - "type" : "text" - }, - "uiStateJSON" : { - "type" : "text" - }, - "version" : { - "type" : "integer" - } + } + }, + "map" : { + "properties" : { + "bounds" : { + "type" : "geo_shape" + }, + "description" : { + "type" : "text" + }, + "layerListJSON" : { + "type" : "text" + }, + "mapStateJSON" : { + "type" : "text" + }, + "title" : { + "type" : "text" + }, + "uiStateJSON" : { + "type" : "text" + }, + "version" : { + "type" : "integer" } - }, - "graph-workspace": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "graph-workspace": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "numLinks": { - "type": "integer" - }, - "numVertices": { - "type": "integer" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "wsState": { - "type": "text" } + }, + "numLinks": { + "type": "integer" + }, + "numVertices": { + "type": "integer" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "wsState": { + "type": "text" } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "type": { - "type": "keyword" - }, - "typeMeta": { - "type": "keyword" - } + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "type": { + "type": "keyword" + }, + "typeMeta": { + "type": "keyword" } - }, - "kql-telemetry": { - "properties": { - "optInCount": { - "type": "long" - }, - "optOutCount": { - "type": "long" - } + } + }, + "kql-telemetry": { + "properties": { + "optInCount": { + "type": "long" + }, + "optOutCount": { + "type": "long" } - }, - "migrationVersion": { - "dynamic": "true", - "properties": { - "index-pattern": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "migrationVersion": { + "dynamic": "true", + "properties": { + "index-pattern": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } - }, - "space": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "space": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } } } - }, - "namespace": { - "type": "keyword" - }, - "search": { - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "namespace": { + "type": "keyword" + }, + "search": { + "properties": { + "columns": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "sort": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } + } + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" } - }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "initials": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 2048 - } + } + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "initials": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 2048 } } } - }, - "spaceId": { - "type": "keyword" - }, - "telemetry": { - "properties": { - "enabled": { - "type": "boolean" - } + } + }, + "spaceId": { + "type": "keyword" + }, + "telemetry": { + "properties": { + "enabled": { + "type": "boolean" } - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" - }, - "url": { - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" - }, - "url": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 2048 - } + } + }, + "type": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + }, + "url": { + "properties": { + "accessCount": { + "type": "long" + }, + "accessDate": { + "type": "date" + }, + "createDate": { + "type": "date" + }, + "url": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 2048 } } } - }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" } + }, + "savedSearchId": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" } } } diff --git a/x-pack/test/functional/es_archives/timelion/feature_controls/mappings.json b/x-pack/test/functional/es_archives/timelion/feature_controls/mappings.json index 2779680f8685b..3decd2b5198ce 100644 --- a/x-pack/test/functional/es_archives/timelion/feature_controls/mappings.json +++ b/x-pack/test/functional/es_archives/timelion/feature_controls/mappings.json @@ -13,407 +13,404 @@ } }, "mappings": { - "doc": { - "dynamic": "strict", - "properties": { - "apm-telemetry": { - "properties": { - "has_any_services": { - "type": "boolean" - }, - "services_per_agent": { - "properties": { - "go": { - "type": "long", - "null_value": 0 - }, - "java": { - "type": "long", - "null_value": 0 - }, - "js-base": { - "type": "long", - "null_value": 0 - }, - "nodejs": { - "type": "long", - "null_value": 0 - }, - "python": { - "type": "long", - "null_value": 0 - }, - "ruby": { - "type": "long", - "null_value": 0 - } + "dynamic": "strict", + "properties": { + "apm-telemetry": { + "properties": { + "has_any_services": { + "type": "boolean" + }, + "services_per_agent": { + "properties": { + "go": { + "type": "long", + "null_value": 0 + }, + "java": { + "type": "long", + "null_value": 0 + }, + "js-base": { + "type": "long", + "null_value": 0 + }, + "nodejs": { + "type": "long", + "null_value": 0 + }, + "python": { + "type": "long", + "null_value": 0 + }, + "ruby": { + "type": "long", + "null_value": 0 } } } - }, - "canvas-workpad": { - "dynamic": "false", - "properties": { - "@created": { - "type": "date" - }, - "@timestamp": { - "type": "date" - }, - "id": { - "type": "text", - "index": false - }, - "name": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword" - } + } + }, + "canvas-workpad": { + "dynamic": "false", + "properties": { + "@created": { + "type": "date" + }, + "@timestamp": { + "type": "date" + }, + "id": { + "type": "text", + "index": false + }, + "name": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword" } } } - }, - "config": { - "dynamic": "true", - "properties": { - "accessibility:disableAnimations": { - "type": "boolean" - }, - "buildNum": { - "type": "keyword" - }, - "dateFormat:tz": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "config": { + "dynamic": "true", + "properties": { + "accessibility:disableAnimations": { + "type": "boolean" + }, + "buildNum": { + "type": "keyword" + }, + "dateFormat:tz": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } - }, - "defaultIndex": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "defaultIndex": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } - }, - "telemetry:optIn": { - "type": "boolean" } + }, + "telemetry:optIn": { + "type": "boolean" } - }, - "dashboard": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "dashboard": { + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } + } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" + }, + "pause": { + "type": "boolean" + }, + "section": { + "type": "integer" + }, + "value": { + "type": "integer" } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "map" : { - "properties" : { - "bounds" : { - "type" : "geo_shape", - "tree" : "quadtree" - }, - "description" : { - "type" : "text" - }, - "layerListJSON" : { - "type" : "text" - }, - "mapStateJSON" : { - "type" : "text" - }, - "title" : { - "type" : "text" - }, - "uiStateJSON" : { - "type" : "text" - }, - "version" : { - "type" : "integer" - } + } + }, + "map" : { + "properties" : { + "bounds" : { + "type" : "geo_shape" + }, + "description" : { + "type" : "text" + }, + "layerListJSON" : { + "type" : "text" + }, + "mapStateJSON" : { + "type" : "text" + }, + "title" : { + "type" : "text" + }, + "uiStateJSON" : { + "type" : "text" + }, + "version" : { + "type" : "integer" } - }, - "graph-workspace": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "graph-workspace": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "numLinks": { - "type": "integer" - }, - "numVertices": { - "type": "integer" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "wsState": { - "type": "text" } + }, + "numLinks": { + "type": "integer" + }, + "numVertices": { + "type": "integer" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "wsState": { + "type": "text" } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "type": { - "type": "keyword" - }, - "typeMeta": { - "type": "keyword" - } + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "type": { + "type": "keyword" + }, + "typeMeta": { + "type": "keyword" } - }, - "kql-telemetry": { - "properties": { - "optInCount": { - "type": "long" - }, - "optOutCount": { - "type": "long" - } + } + }, + "kql-telemetry": { + "properties": { + "optInCount": { + "type": "long" + }, + "optOutCount": { + "type": "long" } - }, - "migrationVersion": { - "dynamic": "true", - "properties": { - "index-pattern": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "migrationVersion": { + "dynamic": "true", + "properties": { + "index-pattern": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } - }, - "space": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "space": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } } } - }, - "namespace": { - "type": "keyword" - }, - "search": { - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "namespace": { + "type": "keyword" + }, + "search": { + "properties": { + "columns": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "sort": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } + } + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" } - }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "initials": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 2048 - } + } + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "initials": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 2048 } } } - }, - "spaceId": { - "type": "keyword" - }, - "telemetry": { - "properties": { - "enabled": { - "type": "boolean" - } + } + }, + "spaceId": { + "type": "keyword" + }, + "telemetry": { + "properties": { + "enabled": { + "type": "boolean" } - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" - }, - "url": { - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" - }, - "url": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 2048 - } + } + }, + "type": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + }, + "url": { + "properties": { + "accessCount": { + "type": "long" + }, + "accessDate": { + "type": "date" + }, + "createDate": { + "type": "date" + }, + "url": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 2048 } } } - }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" } + }, + "savedSearchId": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" } } } diff --git a/x-pack/test/functional/es_archives/uptime/pings/mappings.json b/x-pack/test/functional/es_archives/uptime/pings/mappings.json index 3fd3d239532b2..fa38284a44005 100644 --- a/x-pack/test/functional/es_archives/uptime/pings/mappings.json +++ b/x-pack/test/functional/es_archives/uptime/pings/mappings.json @@ -3,1399 +3,1397 @@ "value": { "index": "heartbeat-7.1.0", "mappings": { - "_doc": { - "_meta": { - "version": "7.1.0" + "_meta": { + "version": "7.1.0" + }, + "date_detection": false, + "dynamic_templates": [ + { + "container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "container.labels.*" + } }, - "date_detection": false, - "dynamic_templates": [ - { - "container.labels": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "container.labels.*" - } - }, - { - "fields": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "fields.*" - } - }, - { - "docker.container.labels": { - "mapping": { - "type": "keyword" - }, - "match_mapping_type": "string", - "path_match": "docker.container.labels.*" - } - }, - { - "strings_as_keyword": { - "mapping": { - "ignore_above": 1024, - "type": "keyword" - }, - "match_mapping_type": "string" - } + { + "fields": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "fields.*" } - ], - "properties": { - "@timestamp": { - "type": "date" - }, - "agent": { - "properties": { - "ephemeral_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + }, + { + "docker.container.labels": { + "mapping": { + "type": "keyword" + }, + "match_mapping_type": "string", + "path_match": "docker.container.labels.*" + } + }, + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "agent": { + "properties": { + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "client": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes": { - "type": "long" - }, - "domain": { - "ignore_above": 1024, - "type": "keyword" - }, - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "client": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "packets": { - "type": "long" - }, - "port": { - "type": "long" } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" } - }, - "cloud": { - "properties": { - "account": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "cloud": { + "properties": { + "account": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" } - }, - "availability_zone": { - "ignore_above": 1024, - "type": "keyword" - }, - "instance": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "availability_zone": { + "ignore_above": 1024, + "type": "keyword" + }, + "instance": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "machine": { - "properties": { - "type": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "machine": { + "properties": { + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "project": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "project": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" } - }, - "provider": { - "ignore_above": 1024, - "type": "keyword" - }, - "region": { - "ignore_above": 1024, - "type": "keyword" } + }, + "provider": { + "ignore_above": 1024, + "type": "keyword" + }, + "region": { + "ignore_above": 1024, + "type": "keyword" } - }, - "container": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "image": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "tag": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "container": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "image": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "tag": { + "ignore_above": 1024, + "type": "keyword" } - }, - "labels": { - "type": "object" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "runtime": { - "ignore_above": 1024, - "type": "keyword" } + }, + "labels": { + "type": "object" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "runtime": { + "ignore_above": 1024, + "type": "keyword" } - }, - "destination": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes": { - "type": "long" - }, - "domain": { - "ignore_above": 1024, - "type": "keyword" - }, - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "destination": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "packets": { - "type": "long" - }, - "port": { - "type": "long" } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" } - }, - "docker": { - "properties": { - "container": { - "properties": { - "labels": { - "type": "object" - } + } + }, + "docker": { + "properties": { + "container": { + "properties": { + "labels": { + "type": "object" } } } - }, - "ecs": { - "properties": { - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "error": { - "properties": { - "code": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "message": { - "norms": false, - "type": "text" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "error": { + "properties": { + "code": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "message": { + "norms": false, + "type": "text" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "event": { - "properties": { - "action": { - "ignore_above": 1024, - "type": "keyword" - }, - "category": { - "ignore_above": 1024, - "type": "keyword" - }, - "created": { - "type": "date" - }, - "dataset": { - "ignore_above": 1024, - "type": "keyword" - }, - "duration": { - "type": "long" - }, - "end": { - "type": "date" - }, - "hash": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "kind": { - "ignore_above": 1024, - "type": "keyword" - }, - "module": { - "ignore_above": 1024, - "type": "keyword" - }, - "original": { - "doc_values": false, - "ignore_above": 1024, - "index": false, - "type": "keyword" - }, - "outcome": { - "ignore_above": 1024, - "type": "keyword" - }, - "risk_score": { - "type": "float" - }, - "risk_score_norm": { - "type": "float" - }, - "severity": { - "type": "long" - }, - "start": { - "type": "date" - }, - "timezone": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "event": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "category": { + "ignore_above": 1024, + "type": "keyword" + }, + "created": { + "type": "date" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "end": { + "type": "date" + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "kind": { + "ignore_above": 1024, + "type": "keyword" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "doc_values": false, + "ignore_above": 1024, + "index": false, + "type": "keyword" + }, + "outcome": { + "ignore_above": 1024, + "type": "keyword" + }, + "risk_score": { + "type": "float" + }, + "risk_score_norm": { + "type": "float" + }, + "severity": { + "type": "long" + }, + "start": { + "type": "date" + }, + "timezone": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "fields": { - "type": "object" - }, - "file": { - "properties": { - "ctime": { - "type": "date" - }, - "device": { - "ignore_above": 1024, - "type": "keyword" - }, - "extension": { - "ignore_above": 1024, - "type": "keyword" - }, - "gid": { - "ignore_above": 1024, - "type": "keyword" - }, - "group": { - "ignore_above": 1024, - "type": "keyword" - }, - "inode": { - "ignore_above": 1024, - "type": "keyword" - }, - "mode": { - "ignore_above": 1024, - "type": "keyword" - }, - "mtime": { - "type": "date" - }, - "owner": { - "ignore_above": 1024, - "type": "keyword" - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "size": { - "type": "long" - }, - "target_path": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "uid": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "fields": { + "type": "object" + }, + "file": { + "properties": { + "ctime": { + "type": "date" + }, + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "extension": { + "ignore_above": 1024, + "type": "keyword" + }, + "gid": { + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "ignore_above": 1024, + "type": "keyword" + }, + "inode": { + "ignore_above": 1024, + "type": "keyword" + }, + "mode": { + "ignore_above": 1024, + "type": "keyword" + }, + "mtime": { + "type": "date" + }, + "owner": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "size": { + "type": "long" + }, + "target_path": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" } - }, - "group": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "group": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "host": { - "properties": { - "architecture": { - "ignore_above": 1024, - "type": "keyword" - }, - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "host": { + "properties": { + "architecture": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "properties": { - "build": { - "ignore_above": 1024, - "type": "keyword" - }, - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "ignore_above": 1024, - "type": "keyword" - }, - "kernel": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "platform": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "build": { + "ignore_above": 1024, + "type": "keyword" + }, + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "type": { - "ignore_above": 1024, - "type": "keyword" } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "http": { - "properties": { - "request": { - "properties": { - "body": { - "properties": { - "bytes": { - "type": "long" - }, - "content": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "http": { + "properties": { + "request": { + "properties": { + "body": { + "properties": { + "bytes": { + "type": "long" + }, + "content": { + "ignore_above": 1024, + "type": "keyword" } - }, - "bytes": { - "type": "long" - }, - "method": { - "ignore_above": 1024, - "type": "keyword" - }, - "referrer": { - "ignore_above": 1024, - "type": "keyword" } + }, + "bytes": { + "type": "long" + }, + "method": { + "ignore_above": 1024, + "type": "keyword" + }, + "referrer": { + "ignore_above": 1024, + "type": "keyword" } - }, - "response": { - "properties": { - "body": { - "properties": { - "bytes": { - "type": "long" - }, - "content": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "response": { + "properties": { + "body": { + "properties": { + "bytes": { + "type": "long" + }, + "content": { + "ignore_above": 1024, + "type": "keyword" } - }, - "bytes": { - "type": "long" - }, - "status_code": { - "type": "long" } + }, + "bytes": { + "type": "long" + }, + "status_code": { + "type": "long" } - }, - "rtt": { - "properties": { - "content": { - "properties": { - "us": { - "type": "long" - } + } + }, + "rtt": { + "properties": { + "content": { + "properties": { + "us": { + "type": "long" } - }, - "response_header": { - "properties": { - "us": { - "type": "long" - } + } + }, + "response_header": { + "properties": { + "us": { + "type": "long" } - }, - "total": { - "properties": { - "us": { - "type": "long" - } + } + }, + "total": { + "properties": { + "us": { + "type": "long" } - }, - "validate": { - "properties": { - "us": { - "type": "long" - } + } + }, + "validate": { + "properties": { + "us": { + "type": "long" } - }, - "validate_body": { - "properties": { - "us": { - "type": "long" - } + } + }, + "validate_body": { + "properties": { + "us": { + "type": "long" } - }, - "write_request": { - "properties": { - "us": { - "type": "long" - } + } + }, + "write_request": { + "properties": { + "us": { + "type": "long" } } } - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "icmp": { - "properties": { - "requests": { - "type": "long" - }, - "rtt": { - "properties": { - "us": { - "type": "long" - } + } + }, + "icmp": { + "properties": { + "requests": { + "type": "long" + }, + "rtt": { + "properties": { + "us": { + "type": "long" } } } - }, - "kubernetes": { - "properties": { - "annotations": { - "type": "object" - }, - "container": { - "properties": { - "image": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "kubernetes": { + "properties": { + "annotations": { + "type": "object" + }, + "container": { + "properties": { + "image": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "labels": { - "type": "object" - }, - "namespace": { - "ignore_above": 1024, - "type": "keyword" - }, - "node": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "labels": { + "type": "object" + }, + "namespace": { + "ignore_above": 1024, + "type": "keyword" + }, + "node": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "pod": { - "properties": { - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "uid": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "pod": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" } } } - }, - "labels": { - "type": "object" - }, - "log": { - "properties": { - "level": { - "ignore_above": 1024, - "type": "keyword" - }, - "original": { - "doc_values": false, - "ignore_above": 1024, - "index": false, - "type": "keyword" - } + } + }, + "labels": { + "type": "object" + }, + "log": { + "properties": { + "level": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "doc_values": false, + "ignore_above": 1024, + "index": false, + "type": "keyword" } - }, - "message": { - "norms": false, - "type": "text" - }, - "monitor": { - "properties": { - "check_group": { - "ignore_above": 1024, - "type": "keyword" - }, - "duration": { - "properties": { - "us": { - "type": "long" - } + } + }, + "message": { + "norms": false, + "type": "text" + }, + "monitor": { + "properties": { + "check_group": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "properties": { + "us": { + "type": "long" } - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "ip": { - "type": "ip" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "status": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" } + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "network": { - "properties": { - "application": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes": { - "type": "long" - }, - "community_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "direction": { - "ignore_above": 1024, - "type": "keyword" - }, - "forwarded_ip": { - "type": "ip" - }, - "iana_number": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "packets": { - "type": "long" - }, - "protocol": { - "ignore_above": 1024, - "type": "keyword" - }, - "transport": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "network": { + "properties": { + "application": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "community_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "direction": { + "ignore_above": 1024, + "type": "keyword" + }, + "forwarded_ip": { + "type": "ip" + }, + "iana_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "protocol": { + "ignore_above": 1024, + "type": "keyword" + }, + "transport": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" } - }, - "observer": { - "properties": { - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "observer": { + "properties": { + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "properties": { - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "ignore_above": 1024, - "type": "keyword" - }, - "kernel": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "platform": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "serial_number": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "vendor": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } + }, + "serial_number": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "vendor": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "organization": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "organization": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "os": { - "properties": { - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "ignore_above": 1024, - "type": "keyword" - }, - "kernel": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "platform": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "process": { - "properties": { - "args": { - "ignore_above": 1024, - "type": "keyword" - }, - "executable": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "pid": { - "type": "long" - }, - "ppid": { - "type": "long" - }, - "start": { - "type": "date" - }, - "thread": { - "properties": { - "id": { - "type": "long" - } + } + }, + "process": { + "properties": { + "args": { + "ignore_above": 1024, + "type": "keyword" + }, + "executable": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "pid": { + "type": "long" + }, + "ppid": { + "type": "long" + }, + "start": { + "type": "date" + }, + "thread": { + "properties": { + "id": { + "type": "long" } - }, - "title": { - "ignore_above": 1024, - "type": "keyword" - }, - "working_directory": { - "ignore_above": 1024, - "type": "keyword" } + }, + "title": { + "ignore_above": 1024, + "type": "keyword" + }, + "working_directory": { + "ignore_above": 1024, + "type": "keyword" } - }, - "related": { - "properties": { - "ip": { - "type": "ip" - } + } + }, + "related": { + "properties": { + "ip": { + "type": "ip" } - }, - "resolve": { - "properties": { - "ip": { - "type": "ip" - }, - "rtt": { - "properties": { - "us": { - "type": "long" - } + } + }, + "resolve": { + "properties": { + "ip": { + "type": "ip" + }, + "rtt": { + "properties": { + "us": { + "type": "long" } } } - }, - "server": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes": { - "type": "long" - }, - "domain": { - "ignore_above": 1024, - "type": "keyword" - }, - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "server": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "packets": { - "type": "long" - }, - "port": { - "type": "long" } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" } - }, - "service": { - "properties": { - "ephemeral_id": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "state": { - "ignore_above": 1024, - "type": "keyword" - }, - "type": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "service": { + "properties": { + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "socks5": { - "properties": { - "rtt": { - "properties": { - "connect": { - "properties": { - "us": { - "type": "long" - } + } + }, + "socks5": { + "properties": { + "rtt": { + "properties": { + "connect": { + "properties": { + "us": { + "type": "long" } } } } } - }, - "source": { - "properties": { - "address": { - "ignore_above": 1024, - "type": "keyword" - }, - "bytes": { - "type": "long" - }, - "domain": { - "ignore_above": 1024, - "type": "keyword" - }, - "geo": { - "properties": { - "city_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "continent_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "country_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "location": { - "type": "geo_point" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_iso_code": { - "ignore_above": 1024, - "type": "keyword" - }, - "region_name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "source": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "bytes": { + "type": "long" + }, + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "geo": { + "properties": { + "city_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "continent_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "country_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "location": { + "type": "geo_point" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_iso_code": { + "ignore_above": 1024, + "type": "keyword" + }, + "region_name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "ip": { - "type": "ip" - }, - "mac": { - "ignore_above": 1024, - "type": "keyword" - }, - "packets": { - "type": "long" - }, - "port": { - "type": "long" } + }, + "ip": { + "type": "ip" + }, + "mac": { + "ignore_above": 1024, + "type": "keyword" + }, + "packets": { + "type": "long" + }, + "port": { + "type": "long" } - }, - "summary": { - "properties": { - "down": { - "type": "long" - }, - "up": { - "type": "long" - } + } + }, + "summary": { + "properties": { + "down": { + "type": "long" + }, + "up": { + "type": "long" } - }, - "tags": { - "ignore_above": 1024, - "type": "keyword" - }, - "tcp": { - "properties": { - "rtt": { - "properties": { - "connect": { - "properties": { - "us": { - "type": "long" - } + } + }, + "tags": { + "ignore_above": 1024, + "type": "keyword" + }, + "tcp": { + "properties": { + "rtt": { + "properties": { + "connect": { + "properties": { + "us": { + "type": "long" } - }, - "validate": { - "properties": { - "us": { - "type": "long" - } + } + }, + "validate": { + "properties": { + "us": { + "type": "long" } } } } } - }, - "tls": { - "properties": { - "certificate_not_valid_after": { - "type": "date" - }, - "certificate_not_valid_before": { - "type": "date" - }, - "rtt": { - "properties": { - "handshake": { - "properties": { - "us": { - "type": "long" - } + } + }, + "tls": { + "properties": { + "certificate_not_valid_after": { + "type": "date" + }, + "certificate_not_valid_before": { + "type": "date" + }, + "rtt": { + "properties": { + "handshake": { + "properties": { + "us": { + "type": "long" } } } } } - }, - "url": { - "properties": { - "domain": { - "ignore_above": 1024, - "type": "keyword" - }, - "fragment": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "ignore_above": 1024, - "type": "keyword" - }, - "hostname": { - "ignore_above": 1024, - "type": "keyword" - }, - "original": { - "ignore_above": 1024, - "type": "keyword" - }, - "password": { - "ignore_above": 1024, - "type": "keyword" - }, - "path": { - "ignore_above": 1024, - "type": "keyword" - }, - "port": { - "type": "long" - }, - "query": { - "ignore_above": 1024, - "type": "keyword" - }, - "scheme": { - "ignore_above": 1024, - "type": "keyword" - }, - "username": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "url": { + "properties": { + "domain": { + "ignore_above": 1024, + "type": "keyword" + }, + "fragment": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "ignore_above": 1024, + "type": "keyword" + }, + "password": { + "ignore_above": 1024, + "type": "keyword" + }, + "path": { + "ignore_above": 1024, + "type": "keyword" + }, + "port": { + "type": "long" + }, + "query": { + "ignore_above": 1024, + "type": "keyword" + }, + "scheme": { + "ignore_above": 1024, + "type": "keyword" + }, + "username": { + "ignore_above": 1024, + "type": "keyword" } - }, - "user": { - "properties": { - "email": { - "ignore_above": 1024, - "type": "keyword" - }, - "full_name": { - "ignore_above": 1024, - "type": "keyword" - }, - "group": { - "properties": { - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "user": { + "properties": { + "email": { + "ignore_above": 1024, + "type": "keyword" + }, + "full_name": { + "ignore_above": 1024, + "type": "keyword" + }, + "group": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "hash": { - "ignore_above": 1024, - "type": "keyword" - }, - "id": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" } - }, - "user_agent": { - "properties": { - "device": { - "ignore_above": 1024, - "type": "keyword" - }, - "major": { - "ignore_above": 1024, - "type": "keyword" - }, - "minor": { - "ignore_above": 1024, - "type": "keyword" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "original": { - "ignore_above": 1024, - "type": "keyword" - }, - "os": { - "properties": { - "family": { - "ignore_above": 1024, - "type": "keyword" - }, - "full": { - "ignore_above": 1024, - "type": "keyword" - }, - "kernel": { - "ignore_above": 1024, - "type": "keyword" - }, - "major": { - "type": "long" - }, - "minor": { - "type": "long" - }, - "name": { - "ignore_above": 1024, - "type": "keyword" - }, - "platform": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" - } + } + }, + "user_agent": { + "properties": { + "device": { + "ignore_above": 1024, + "type": "keyword" + }, + "major": { + "ignore_above": 1024, + "type": "keyword" + }, + "minor": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "original": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "family": { + "ignore_above": 1024, + "type": "keyword" + }, + "full": { + "ignore_above": 1024, + "type": "keyword" + }, + "kernel": { + "ignore_above": 1024, + "type": "keyword" + }, + "major": { + "type": "long" + }, + "minor": { + "type": "long" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } - }, - "patch": { - "ignore_above": 1024, - "type": "keyword" - }, - "version": { - "ignore_above": 1024, - "type": "keyword" } + }, + "patch": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" } } } @@ -1417,4 +1415,4 @@ } } } -} \ No newline at end of file +} diff --git a/x-pack/test/functional/page_objects/gis_page.ts b/x-pack/test/functional/page_objects/gis_page.ts index 629402a0a4768..901fdb336fbff 100644 --- a/x-pack/test/functional/page_objects/gis_page.ts +++ b/x-pack/test/functional/page_objects/gis_page.ts @@ -286,6 +286,14 @@ export class GisPageObject extends FtrService { await this.testSubjects.click('layerVisibilityToggleButton'); } + async openLegend() { + const isOpen = await this.testSubjects.exists('mapLayerTOC'); + if (isOpen === false) { + await this.testSubjects.click('mapExpandLayerControlButton'); + await this.testSubjects.existOrFail('mapLayerTOC'); + } + } + async closeLegend() { const isOpen = await this.testSubjects.exists('mapLayerTOC'); if (isOpen) { @@ -294,6 +302,12 @@ export class GisPageObject extends FtrService { } } + async clickFitToData() { + this.log.debug('Fit to data'); + await this.testSubjects.click('fitToData'); + await this.waitForMapPanAndZoom(); + } + async clickFitToBounds(layerName: string) { this.log.debug(`Fit to bounds, layer: ${layerName}`); const origView = await this.getView(); diff --git a/x-pack/test/functional/page_objects/ingest_pipelines_page.ts b/x-pack/test/functional/page_objects/ingest_pipelines_page.ts index beda5d4410dd0..ff057b6ad8d80 100644 --- a/x-pack/test/functional/page_objects/ingest_pipelines_page.ts +++ b/x-pack/test/functional/page_objects/ingest_pipelines_page.ts @@ -28,14 +28,21 @@ export function IngestPipelinesPageProvider({ getService, getPageObjects }: FtrP version, processors, onFailureProcessors, + emptyState, }: { name: string; description: string; version?: number; processors?: string; onFailureProcessors?: string; + emptyState?: boolean; }) { - await testSubjects.click('createPipelineButton'); + if (emptyState) { + await testSubjects.click('emptyStateCreatePipelineButton'); + } else { + await testSubjects.click('createPipelineButton'); + } + await testSubjects.exists('pipelineForm'); await testSubjects.setValue('nameField > input', name); diff --git a/x-pack/test/functional/page_objects/lens_page.ts b/x-pack/test/functional/page_objects/lens_page.ts index b37cc69cf4eca..c50ea71a5a1fc 100644 --- a/x-pack/test/functional/page_objects/lens_page.ts +++ b/x-pack/test/functional/page_objects/lens_page.ts @@ -203,7 +203,7 @@ export function LensPageProvider({ getService, getPageObjects }: FtrProviderCont testSubjects.getCssSelector('lnsWorkspace') ); await this.waitForLensDragDropToFinish(); - await PageObjects.header.waitUntilLoadingHasFinished(); + await this.waitForVisualization(); }, /** @@ -253,9 +253,7 @@ export function LensPageProvider({ getService, getPageObjects }: FtrProviderCont }, async waitForField(field: string) { - await retry.try(async () => { - await testSubjects.existOrFail(`lnsFieldListPanelField-${field}`); - }); + await testSubjects.existOrFail(`lnsFieldListPanelField-${field}`); }, async waitForMissingDataViewWarning() { @@ -473,6 +471,7 @@ export function LensPageProvider({ getService, getPageObjects }: FtrProviderCont async useFixAction() { await testSubjects.click('errorFixAction'); + await this.waitForVisualization(); }, async isTopLevelAggregation() { diff --git a/x-pack/test/functional/page_objects/snapshot_restore_page.ts b/x-pack/test/functional/page_objects/snapshot_restore_page.ts index 216b2bfff9d7e..e1fc50ed86fa2 100644 --- a/x-pack/test/functional/page_objects/snapshot_restore_page.ts +++ b/x-pack/test/functional/page_objects/snapshot_restore_page.ts @@ -49,12 +49,15 @@ export function SnapshotRestorePageProvider({ getService }: FtrProviderContext) const repoToView = repos.filter((r) => (r.repoName = name))[0]; await repoToView.repoLink.click(); } - await retry.waitForWithTimeout(`Repo title should be ${name}`, 10000, async () => { + await retry.waitForWithTimeout(`Repo title should be ${name}`, 25000, async () => { return (await testSubjects.getVisibleText('title')) === name; }); }, async performRepositoryCleanup() { await testSubjects.click('cleanupRepositoryButton'); + await retry.waitForWithTimeout(`wait for code block to be visible`, 25000, async () => { + return await testSubjects.isDisplayed('cleanupCodeBlock'); + }); return await testSubjects.getVisibleText('cleanupCodeBlock'); }, }; diff --git a/x-pack/test/functional/page_objects/upgrade_assistant_page.ts b/x-pack/test/functional/page_objects/upgrade_assistant_page.ts index f795a5fd441cd..933880dac739e 100644 --- a/x-pack/test/functional/page_objects/upgrade_assistant_page.ts +++ b/x-pack/test/functional/page_objects/upgrade_assistant_page.ts @@ -31,9 +31,9 @@ export class UpgradeAssistantPageObject extends FtrService { async navigateToEsDeprecationLogs() { return await this.retry.try(async () => { - await this.common.navigateToApp('settings'); - await this.testSubjects.click('upgrade_assistant'); - await this.testSubjects.click('viewElasticsearchDeprecationLogs'); + await this.common.navigateToUrl('management', 'stack/upgrade_assistant/es_deprecation_logs', { + shouldUseHashForSubUrl: false, + }); await this.retry.waitFor( 'url to contain /upgrade_assistant/es_deprecation_logs', async () => { @@ -56,6 +56,10 @@ export class UpgradeAssistantPageObject extends FtrService { }); } + async isDeprecationLoggingEnabled(): Promise { + return await this.testSubjects.exists('externalLinksTitle'); + } + async clickResetLastCheckpointButton() { return await this.retry.try(async () => { await this.testSubjects.click('resetLastStoredDate'); diff --git a/x-pack/test/functional/services/ml/alerting.ts b/x-pack/test/functional/services/ml/alerting.ts index 241ffde6f7628..45c4c9ba39ed1 100644 --- a/x-pack/test/functional/services/ml/alerting.ts +++ b/x-pack/test/functional/services/ml/alerting.ts @@ -7,6 +7,7 @@ import expect from '@kbn/expect'; import { FtrProviderContext } from '../../ftr_provider_context'; +import { MlApi } from './api'; import { MlCommonUI } from './common_ui'; import { ML_ALERT_TYPES } from '../../../../plugins/ml/common/constants/alerts'; import { Alert } from '../../../../plugins/alerting/common'; @@ -14,6 +15,7 @@ import { MlAnomalyDetectionAlertParams } from '../../../../plugins/ml/common/typ export function MachineLearningAlertingProvider( { getService }: FtrProviderContext, + mlApi: MlApi, mlCommonUI: MlCommonUI ) { const retry = getService('retry'); @@ -153,16 +155,19 @@ export function MachineLearningAlertingProvider( }, async cleanAnomalyDetectionRules() { - const { body: anomalyDetectionRules } = await supertest + const { body: anomalyDetectionRules, status: findResponseStatus } = await supertest .get(`/api/alerting/rules/_find`) .query({ filter: `alert.attributes.alertTypeId:${ML_ALERT_TYPES.ANOMALY_DETECTION}` }) - .set('kbn-xsrf', 'foo') - .expect(200); + .set('kbn-xsrf', 'foo'); + mlApi.assertResponseStatusCode(200, findResponseStatus, anomalyDetectionRules); for (const rule of anomalyDetectionRules.data as Array< Alert >) { - await supertest.delete(`/api/alerting/rule/${rule.id}`).set('kbn-xsrf', 'foo').expect(204); + const { body, status } = await supertest + .delete(`/api/alerting/rule/${rule.id}`) + .set('kbn-xsrf', 'foo'); + mlApi.assertResponseStatusCode(204, status, body); } }, }; diff --git a/x-pack/test/functional/services/ml/anomalies_table.ts b/x-pack/test/functional/services/ml/anomalies_table.ts index 52dfaa1a70855..3cb5f2966718a 100644 --- a/x-pack/test/functional/services/ml/anomalies_table.ts +++ b/x-pack/test/functional/services/ml/anomalies_table.ts @@ -149,5 +149,29 @@ export function MachineLearningAnomaliesTableProvider({ getService }: FtrProvide await testSubjects.click(`tablePagination-${rowsNumber}-rows`); await this.assertRowsNumberPerPage(rowsNumber); }, + + async ensureDetailsOpen(rowIndex: number) { + await retry.tryForTime(10 * 1000, async () => { + const rowSubj = await this.getRowSubjByRowIndex(rowIndex); + if (!(await testSubjects.exists('mlAnomaliesListRowDetails'))) { + await testSubjects.click(`${rowSubj} > mlAnomaliesListRowDetailsToggle`); + await testSubjects.existOrFail('mlAnomaliesListRowDetails', { timeout: 1000 }); + } + }); + }, + + async ensureDetailsClosed(rowIndex: number) { + await retry.tryForTime(10 * 1000, async () => { + const rowSubj = await this.getRowSubjByRowIndex(rowIndex); + if (await testSubjects.exists('mlAnomaliesListRowDetails')) { + await testSubjects.click(`${rowSubj} > mlAnomaliesListRowDetailsToggle`); + await testSubjects.missingOrFail('mlAnomaliesListRowDetails', { timeout: 1000 }); + } + }); + }, + + async scrollTableIntoView() { + await testSubjects.scrollIntoView('mlAnomaliesTable'); + }, }; } diff --git a/x-pack/test/functional/services/ml/anomaly_explorer.ts b/x-pack/test/functional/services/ml/anomaly_explorer.ts index 22032799020ad..9c48ed24c78a3 100644 --- a/x-pack/test/functional/services/ml/anomaly_explorer.ts +++ b/x-pack/test/functional/services/ml/anomaly_explorer.ts @@ -174,5 +174,13 @@ export function MachineLearningAnomalyExplorerProvider({ `Expect ${expectedChartsCount} charts to appear, got ${actualChartsCount}` ); }, + + async scrollChartsContainerIntoView() { + await testSubjects.scrollIntoView('mlExplorerChartsContainer'); + }, + + async scrollMapContainerIntoView() { + await testSubjects.scrollIntoView('mlAnomaliesMapContainer'); + }, }; } diff --git a/x-pack/test/functional/services/ml/api.ts b/x-pack/test/functional/services/ml/api.ts index 6ffd95f213c41..fcab75b16e631 100644 --- a/x-pack/test/functional/services/ml/api.ts +++ b/x-pack/test/functional/services/ml/api.ts @@ -19,7 +19,6 @@ import { DataFrameTaskStateType } from '../../../../plugins/ml/common/types/data import { DATA_FRAME_TASK_STATE } from '../../../../plugins/ml/common/constants/data_frame_analytics'; import { Datafeed, Job } from '../../../../plugins/ml/common/types/anomaly_detection_jobs'; import { JobType } from '../../../../plugins/ml/common/types/saved_objects'; -export type MlApi = ProvidedType; import { ML_ANNOTATIONS_INDEX_ALIAS_READ, ML_ANNOTATIONS_INDEX_ALIAS_WRITE, @@ -27,6 +26,8 @@ import { import { COMMON_REQUEST_HEADERS } from '../../../functional/services/ml/common_api'; import { PutTrainedModelConfig } from '../../../../plugins/ml/common/types/trained_models'; +export type MlApi = ProvidedType; + type ModelType = 'regression' | 'classification'; export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { @@ -38,6 +39,15 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { const esDeleteAllIndices = getService('esDeleteAllIndices'); return { + assertResponseStatusCode(expectedStatus: number, actualStatus: number, responseBody: object) { + expect(actualStatus).to.eql( + expectedStatus, + `Expected status code ${expectedStatus}, got ${actualStatus} with body '${JSON.stringify( + responseBody + )}'` + ); + }, + async hasJobResults(jobId: string): Promise { const { body } = await es.search({ index: '.ml-anomalies-*', @@ -184,10 +194,10 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { async getADJobStats(jobId: string): Promise { log.debug(`Fetching anomaly detection job stats for job ${jobId}...`); - const jobStats = await esSupertest - .get(`/_ml/anomaly_detectors/${jobId}/_stats`) - .expect(200) - .then((res: any) => res.body); + const { body: jobStats, status } = await esSupertest.get( + `/_ml/anomaly_detectors/${jobId}/_stats` + ); + this.assertResponseStatusCode(200, status, jobStats); log.debug('> AD job stats fetched.'); return jobStats; @@ -210,10 +220,10 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { async getDatafeedState(datafeedId: string): Promise { log.debug(`Fetching datafeed state for datafeed ${datafeedId}`); - const datafeedStats = await esSupertest - .get(`/_ml/datafeeds/${datafeedId}/_stats`) - .expect(200) - .then((res: any) => res.body); + const { body: datafeedStats, status } = await esSupertest.get( + `/_ml/datafeeds/${datafeedId}/_stats` + ); + this.assertResponseStatusCode(200, status, datafeedStats); expect(datafeedStats.datafeeds).to.have.length( 1, @@ -245,10 +255,10 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { async getDFAJobStats(analyticsId: string): Promise { log.debug(`Fetching data frame analytics job stats for job ${analyticsId}...`); - const analyticsStats = await esSupertest - .get(`/_ml/data_frame/analytics/${analyticsId}/_stats`) - .expect(200) - .then((res: any) => res.body); + const { body: analyticsStats, status } = await esSupertest.get( + `/_ml/data_frame/analytics/${analyticsId}/_stats` + ); + this.assertResponseStatusCode(200, status, analyticsStats); log.debug('> DFA job stats fetched.'); return analyticsStats; @@ -357,7 +367,9 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { }, async getCalendar(calendarId: string, expectedCode = 200) { - return await esSupertest.get(`/_ml/calendars/${calendarId}`).expect(expectedCode); + const response = await esSupertest.get(`/_ml/calendars/${calendarId}`); + this.assertResponseStatusCode(expectedCode, response.status, response.body); + return response; }, async createCalendar( @@ -365,7 +377,11 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { requestBody: Partial = { description: '', job_ids: [] } ) { log.debug(`Creating calendar with id '${calendarId}'...`); - await esSupertest.put(`/_ml/calendars/${calendarId}`).send(requestBody).expect(200); + const { body, status } = await esSupertest + .put(`/_ml/calendars/${calendarId}`) + .send(requestBody); + this.assertResponseStatusCode(200, status, body); + await this.waitForCalendarToExist(calendarId); log.debug('> Calendar created.'); }, @@ -400,13 +416,19 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { async createCalendarEvents(calendarId: string, events: estypes.MlCalendarEvent[]) { log.debug(`Creating events for calendar with id '${calendarId}'...`); - await esSupertest.post(`/_ml/calendars/${calendarId}/events`).send({ events }).expect(200); + const { body, status } = await esSupertest + .post(`/_ml/calendars/${calendarId}/events`) + .send({ events }); + this.assertResponseStatusCode(200, status, body); + await this.waitForEventsToExistInCalendar(calendarId, events); log.debug('> Calendar events created.'); }, async getCalendarEvents(calendarId: string, expectedCode = 200) { - return await esSupertest.get(`/_ml/calendars/${calendarId}/events`).expect(expectedCode); + const response = await esSupertest.get(`/_ml/calendars/${calendarId}/events`); + this.assertResponseStatusCode(expectedCode, response.status, response.body); + return response; }, assertAllEventsExistInCalendar: ( @@ -468,7 +490,9 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { }, async getAnomalyDetectionJob(jobId: string) { - return await esSupertest.get(`/_ml/anomaly_detectors/${jobId}`).expect(200); + const response = await esSupertest.get(`/_ml/anomaly_detectors/${jobId}`); + this.assertResponseStatusCode(200, response.status, response.body); + return response; }, async adJobExist(jobId: string) { @@ -493,7 +517,9 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { async waitForAnomalyDetectionJobNotToExist(jobId: string, timeout: number = 5 * 1000) { await retry.waitForWithTimeout(`'${jobId}' to not exist`, timeout, async () => { - if (await esSupertest.get(`/_ml/anomaly_detectors/${jobId}`).expect(404)) { + const { status } = await esSupertest.get(`/_ml/anomaly_detectors/${jobId}`); + + if (status === 404) { return true; } else { throw new Error(`expected anomaly detection job '${jobId}' not to exist`); @@ -509,11 +535,11 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { }...` ); - await kbnSupertest + const { body, status } = await kbnSupertest .put(`${space ? `/s/${space}` : ''}/api/ml/anomaly_detectors/${jobId}`) .set(COMMON_REQUEST_HEADERS) - .send(jobConfig) - .expect(200); + .send(jobConfig); + this.assertResponseStatusCode(200, status, body); await this.waitForAnomalyDetectionJobToExist(jobId); log.debug('> AD job created.'); @@ -523,7 +549,10 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { const jobId = jobConfig.job_id; log.debug(`Creating anomaly detection job with id '${jobId}' via ES API...`); - await esSupertest.put(`/_ml/anomaly_detectors/${jobId}`).send(jobConfig).expect(200); + const { body, status } = await esSupertest + .put(`/_ml/anomaly_detectors/${jobId}`) + .send(jobConfig); + this.assertResponseStatusCode(200, status, body); await this.waitForAnomalyDetectionJobToExist(jobId); log.debug('> AD job created.'); @@ -542,18 +571,19 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { await this.deleteDatafeedES(datafeedId); } - await esSupertest + const { body, status } = await esSupertest .delete(`/_ml/anomaly_detectors/${jobId}`) - .query({ force: true }) - .expect(200); + .query({ force: true }); + this.assertResponseStatusCode(200, status, body); await this.waitForAnomalyDetectionJobNotToExist(jobId); log.debug('> AD job deleted.'); }, async getDatafeed(datafeedId: string) { - return await esSupertest.get(`/_ml/datafeeds/${datafeedId}`).expect(200); - // return await kbnSupertest.get(`/api/ml/datafeeds/${datafeedId}`).expect(200); + const response = await esSupertest.get(`/_ml/datafeeds/${datafeedId}`); + this.assertResponseStatusCode(200, response.status, response.body); + return response; }, async datafeedExist(datafeedId: string) { @@ -590,11 +620,11 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { log.debug( `Creating datafeed with id '${datafeedId}' ${space ? `in space '${space}' ` : ''}...` ); - await kbnSupertest + const { body, status } = await kbnSupertest .put(`${space ? `/s/${space}` : ''}/api/ml/datafeeds/${datafeedId}`) .set(COMMON_REQUEST_HEADERS) - .send(datafeedConfig) - .expect(200); + .send(datafeedConfig); + this.assertResponseStatusCode(200, status, body); await this.waitForDatafeedToExist(datafeedId); log.debug('> Datafeed created.'); @@ -603,7 +633,10 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { async createDatafeedES(datafeedConfig: Datafeed) { const datafeedId = datafeedConfig.datafeed_id; log.debug(`Creating datafeed with id '${datafeedId}' via ES API ...`); - await esSupertest.put(`/_ml/datafeeds/${datafeedId}`).send(datafeedConfig).expect(200); + const { body, status } = await esSupertest + .put(`/_ml/datafeeds/${datafeedId}`) + .send(datafeedConfig); + this.assertResponseStatusCode(200, status, body); await this.waitForDatafeedToExist(datafeedId); log.debug('> Datafeed created.'); @@ -611,7 +644,10 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { async deleteDatafeedES(datafeedId: string) { log.debug(`Deleting datafeed with id '${datafeedId}' ...`); - await esSupertest.delete(`/_ml/datafeeds/${datafeedId}`).query({ force: true }).expect(200); + const { body, status } = await esSupertest + .delete(`/_ml/datafeeds/${datafeedId}`) + .query({ force: true }); + this.assertResponseStatusCode(200, status, body); await this.waitForDatafeedToNotExist(datafeedId); log.debug('> Datafeed deleted.'); @@ -619,12 +655,11 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { async openAnomalyDetectionJob(jobId: string) { log.debug(`Opening anomaly detection job '${jobId}'...`); - const openResponse = await esSupertest + const { body: openResponse, status } = await esSupertest .post(`/_ml/anomaly_detectors/${jobId}/_open`) .send({ timeout: '10s' }) - .set({ 'Content-Type': 'application/json' }) - .expect(200) - .then((res: any) => res.body); + .set({ 'Content-Type': 'application/json' }); + this.assertResponseStatusCode(200, status, openResponse); expect(openResponse) .to.have.property('opened') @@ -634,12 +669,11 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { async closeAnomalyDetectionJob(jobId: string) { log.debug(`Closing anomaly detection job '${jobId}'...`); - const closeResponse = await esSupertest + const { body: closeResponse, status } = await esSupertest .post(`/_ml/anomaly_detectors/${jobId}/_close`) .send({ timeout: '10s' }) - .set({ 'Content-Type': 'application/json' }) - .expect(200) - .then((res: any) => res.body); + .set({ 'Content-Type': 'application/json' }); + this.assertResponseStatusCode(200, status, closeResponse); expect(closeResponse) .to.have.property('closed') @@ -654,12 +688,11 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { log.debug( `Starting datafeed '${datafeedId}' with start: '${startConfig.start}', end: '${startConfig.end}'...` ); - const startResponse = await esSupertest + const { body: startResponse, status } = await esSupertest .post(`/_ml/datafeeds/${datafeedId}/_start`) .send(startConfig) - .set({ 'Content-Type': 'application/json' }) - .expect(200) - .then((res: any) => res.body); + .set({ 'Content-Type': 'application/json' }); + this.assertResponseStatusCode(200, status, startResponse); expect(startResponse) .to.have.property('started') @@ -669,11 +702,10 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { async stopDatafeed(datafeedId: string) { log.debug(`Stopping datafeed '${datafeedId}'...`); - const stopResponse = await esSupertest + const { body: stopResponse, status } = await esSupertest .post(`/_ml/datafeeds/${datafeedId}/_stop`) - .set({ 'Content-Type': 'application/json' }) - .expect(200) - .then((res: any) => res.body); + .set({ 'Content-Type': 'application/json' }); + this.assertResponseStatusCode(200, status, stopResponse); expect(stopResponse) .to.have.property('stopped') @@ -692,9 +724,9 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { async getDataFrameAnalyticsJob(analyticsId: string, statusCode = 200) { log.debug(`Fetching data frame analytics job '${analyticsId}'...`); - const response = await esSupertest - .get(`/_ml/data_frame/analytics/${analyticsId}`) - .expect(statusCode); + const response = await esSupertest.get(`/_ml/data_frame/analytics/${analyticsId}`); + this.assertResponseStatusCode(statusCode, response.status, response.body); + log.debug('> DFA job fetched.'); return response; }, @@ -736,11 +768,11 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { space ? `in space '${space}' ` : '' }...` ); - await kbnSupertest + const { body, status } = await kbnSupertest .put(`${space ? `/s/${space}` : ''}/api/ml/data_frame/analytics/${analyticsId}`) .set(COMMON_REQUEST_HEADERS) - .send(analyticsConfig) - .expect(200); + .send(analyticsConfig); + this.assertResponseStatusCode(200, status, body); await this.waitForDataFrameAnalyticsJobToExist(analyticsId); log.debug('> DFA job created.'); @@ -749,11 +781,11 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { async createDataFrameAnalyticsJobES(jobConfig: DataFrameAnalyticsConfig) { const { id: analyticsId, ...analyticsConfig } = jobConfig; log.debug(`Creating data frame analytic job with id '${analyticsId}' via ES API...`); - await esSupertest + const { body, status } = await esSupertest .put(`/_ml/data_frame/analytics/${analyticsId}`) .set(COMMON_REQUEST_HEADERS) - .send(analyticsConfig) - .expect(200); + .send(analyticsConfig); + this.assertResponseStatusCode(200, status, body); await this.waitForDataFrameAnalyticsJobToExist(analyticsId); log.debug('> DFA job created.'); @@ -767,10 +799,10 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { return; } - await esSupertest + const { body, status } = await esSupertest .delete(`/_ml/data_frame/analytics/${analyticsId}`) - .query({ force: true }) - .expect(200); + .query({ force: true }); + this.assertResponseStatusCode(200, status, body); await this.waitForDataFrameAnalyticsJobNotToExist(analyticsId); log.debug('> DFA job deleted.'); @@ -806,12 +838,15 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { }, async getFilter(filterId: string, expectedCode = 200) { - return await esSupertest.get(`/_ml/filters/${filterId}`).expect(expectedCode); + const response = await esSupertest.get(`/_ml/filters/${filterId}`); + this.assertResponseStatusCode(expectedCode, response.status, response.body); + return response; }, async createFilter(filterId: string, requestBody: object) { log.debug(`Creating filter with id '${filterId}'...`); - await esSupertest.put(`/_ml/filters/${filterId}`).send(requestBody).expect(200); + const { body, status } = await esSupertest.put(`/_ml/filters/${filterId}`).send(requestBody); + this.assertResponseStatusCode(200, status, body); await this.waitForFilterToExist(filterId, `expected filter '${filterId}' to be created`); log.debug('> Filter created.'); @@ -924,11 +959,10 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { async runDFAJob(dfaId: string) { log.debug(`Starting data frame analytics job '${dfaId}'...`); - const startResponse = await esSupertest + const { body: startResponse, status } = await esSupertest .post(`/_ml/data_frame/analytics/${dfaId}/_start`) - .set({ 'Content-Type': 'application/json' }) - .expect(200) - .then((res: any) => res.body); + .set({ 'Content-Type': 'application/json' }); + this.assertResponseStatusCode(200, status, startResponse); expect(startResponse) .to.have.property('acknowledged') @@ -936,11 +970,11 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { log.debug('> DFA job started.'); }, - async createAndRunDFAJob(dfaConfig: DataFrameAnalyticsConfig) { + async createAndRunDFAJob(dfaConfig: DataFrameAnalyticsConfig, timeout?: number) { await this.createDataFrameAnalyticsJob(dfaConfig); await this.runDFAJob(dfaConfig.id); await this.waitForDFAJobTrainingRecordCountToBePositive(dfaConfig.id); - await this.waitForAnalyticsState(dfaConfig.id, DATA_FRAME_TASK_STATE.STOPPED); + await this.waitForAnalyticsState(dfaConfig.id, DATA_FRAME_TASK_STATE.STOPPED, timeout); }, async updateJobSpaces( @@ -950,20 +984,20 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { spacesToRemove: string[], space?: string ) { - const { body } = await kbnSupertest + const { body, status } = await kbnSupertest .post(`${space ? `/s/${space}` : ''}/api/ml/saved_objects/update_jobs_spaces`) .set(COMMON_REQUEST_HEADERS) - .send({ jobType, jobIds: [jobId], spacesToAdd, spacesToRemove }) - .expect(200); + .send({ jobType, jobIds: [jobId], spacesToAdd, spacesToRemove }); + this.assertResponseStatusCode(200, status, body); expect(body).to.eql({ [jobId]: { success: true } }); }, async assertJobSpaces(jobId: string, jobType: JobType, expectedSpaces: string[]) { - const { body } = await kbnSupertest + const { body, status } = await kbnSupertest .get('/api/ml/saved_objects/jobs_spaces') - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + this.assertResponseStatusCode(200, status, body); if (expectedSpaces.length > 0) { // Should list expected spaces correctly @@ -981,11 +1015,10 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { async createTrainedModel(modelId: string, body: PutTrainedModelConfig) { log.debug(`Creating trained model with id "${modelId}"`); - const model = await esSupertest + const { body: model, status } = await esSupertest .put(`/_ml/trained_models/${modelId}`) - .send(body) - .expect(200) - .then((res: any) => res.body); + .send(body); + this.assertResponseStatusCode(200, status, model); log.debug('> Trained model created'); return model; @@ -1043,9 +1076,11 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { async createModelAlias(modelId: string, modelAlias: string) { log.debug(`Creating alias for model "${modelId}"`); - await esSupertest - .put(`/_ml/trained_models/${modelId}/model_aliases/${modelAlias}`) - .expect(200); + const { body, status } = await esSupertest.put( + `/_ml/trained_models/${modelId}/model_aliases/${modelAlias}` + ); + this.assertResponseStatusCode(200, status, body); + log.debug('> Model alias created'); }, @@ -1055,7 +1090,7 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { */ async createIngestPipeline(modelId: string) { log.debug(`Creating ingest pipeline for trained model with id "${modelId}"`); - const ingestPipeline = await esSupertest + const { body: ingestPipeline, status } = await esSupertest .put(`/_ingest/pipeline/pipeline_${modelId}`) .send({ processors: [ @@ -1065,9 +1100,8 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { }, }, ], - }) - .expect(200) - .then((res) => res.body); + }); + this.assertResponseStatusCode(200, status, ingestPipeline); log.debug('> Ingest pipeline crated'); return ingestPipeline; @@ -1075,7 +1109,9 @@ export function MachineLearningAPIProvider({ getService }: FtrProviderContext) { async deleteIngestPipeline(modelId: string) { log.debug(`Deleting ingest pipeline for trained model with id "${modelId}"`); - await esSupertest.delete(`/_ingest/pipeline/pipeline_${modelId}`).expect(200); + const { body, status } = await esSupertest.delete(`/_ingest/pipeline/pipeline_${modelId}`); + this.assertResponseStatusCode(200, status, body); + log.debug('> Ingest pipeline deleted'); }, }; diff --git a/x-pack/test/functional/services/ml/data_frame_analytics.ts b/x-pack/test/functional/services/ml/data_frame_analytics.ts index aafe96c2c4967..97834bc57c4ab 100644 --- a/x-pack/test/functional/services/ml/data_frame_analytics.ts +++ b/x-pack/test/functional/services/ml/data_frame_analytics.ts @@ -51,13 +51,15 @@ export function MachineLearningDataFrameAnalyticsProvider( }, async startAnalyticsCreation() { - await retry.tryForTime(20 * 1000, async () => { - if (await testSubjects.exists('mlNoDataFrameAnalyticsFound', { timeout: 1000 })) { + await retry.tryForTime(30 * 1000, async () => { + if (await testSubjects.exists('mlAnalyticsCreateFirstButton', { timeout: 1000 })) { await testSubjects.click('mlAnalyticsCreateFirstButton'); - } else { + } else if (await testSubjects.exists('mlAnalyticsButtonCreate', { timeout: 1000 })) { await testSubjects.click('mlAnalyticsButtonCreate'); + } else { + throw new Error('No Analytics create button found'); } - await testSubjects.existOrFail('analyticsCreateSourceIndexModal'); + await testSubjects.existOrFail('analyticsCreateSourceIndexModal', { timeout: 5000 }); }); }, diff --git a/x-pack/test/functional/services/ml/data_frame_analytics_creation.ts b/x-pack/test/functional/services/ml/data_frame_analytics_creation.ts index 2c375d47b0b3b..ebba25d2f3a1f 100644 --- a/x-pack/test/functional/services/ml/data_frame_analytics_creation.ts +++ b/x-pack/test/functional/services/ml/data_frame_analytics_creation.ts @@ -23,6 +23,8 @@ export function MachineLearningDataFrameAnalyticsCreationProvider( mlApi: MlApi ) { const headerPage = getPageObject('header'); + const commonPage = getPageObject('common'); + const testSubjects = getService('testSubjects'); const comboBox = getService('comboBox'); const retry = getService('retry'); @@ -33,6 +35,10 @@ export function MachineLearningDataFrameAnalyticsCreationProvider( await testSubjects.existOrFail('mlAnalyticsCreateJobWizardJobTypeSelect'); }, + async scrollJobTypeSelectionIntoView() { + await testSubjects.scrollIntoView('mlAnalyticsCreateJobWizardJobTypeSelect'); + }, + async assertJobTypeSelection(jobTypeAttribute: string) { await retry.tryForTime(5000, async () => { await testSubjects.existOrFail(`${jobTypeAttribute} selectedJobType`); @@ -324,16 +330,24 @@ export function MachineLearningDataFrameAnalyticsCreationProvider( await this.assertDependentVariableSelection([dependentVariable]); }, - async assertScatterplotMatrix(expectedValue: CanvasElementColorStats) { + async assertScatterplotMatrixLoaded() { await testSubjects.existOrFail( 'mlAnalyticsCreateJobWizardScatterplotMatrixPanel > mlScatterplotMatrix loaded', { timeout: 5000, } ); + }, + + async scrollScatterplotMatrixIntoView() { await testSubjects.scrollIntoView( 'mlAnalyticsCreateJobWizardScatterplotMatrixPanel > mlScatterplotMatrix loaded' ); + }, + + async assertScatterplotMatrix(expectedValue: CanvasElementColorStats) { + await this.assertScatterplotMatrixLoaded(); + await this.scrollScatterplotMatrixIntoView(); await mlCommonUI.assertColorsInCanvasElement( 'mlAnalyticsCreateJobWizardScatterplotMatrixPanel', expectedValue, @@ -672,5 +686,21 @@ export function MachineLearningDataFrameAnalyticsCreationProvider( await testSubjects.click('analyticsWizardCardManagement'); await testSubjects.existOrFail('mlPageDataFrameAnalytics'); }, + + async assertQueryBarValue(expectedValue: string) { + const actualQuery = await testSubjects.getAttribute('mlDFAnalyticsQueryInput', 'value'); + expect(actualQuery).to.eql( + expectedValue, + `Query should be '${expectedValue}' (got '${actualQuery}')` + ); + }, + + async setQueryBarValue(query: string) { + await mlCommonUI.setValueWithChecks('mlDFAnalyticsQueryInput', query, { + clearWithKeyboard: true, + }); + await commonPage.pressEnterKey(); + await this.assertQueryBarValue(query); + }, }; } diff --git a/x-pack/test/functional/services/ml/data_frame_analytics_results.ts b/x-pack/test/functional/services/ml/data_frame_analytics_results.ts index cf34a1372157c..dc7ccc9130fab 100644 --- a/x-pack/test/functional/services/ml/data_frame_analytics_results.ts +++ b/x-pack/test/functional/services/ml/data_frame_analytics_results.ts @@ -33,6 +33,10 @@ export function MachineLearningDataFrameAnalyticsResultsProvider( await testSubjects.existOrFail('mlDFAnalyticsExplorationTablePanel'); }, + async scrollRocCurveChartIntoView() { + await testSubjects.scrollIntoView('mlDFAnalyticsClassificationExplorationRocCurveChart'); + }, + async assertClassificationEvaluatePanelElementsExists() { await testSubjects.existOrFail('mlDFExpandableSection-ClassificationEvaluation'); await testSubjects.existOrFail('mlDFAnalyticsClassificationExplorationConfusionMatrix'); @@ -125,11 +129,15 @@ export function MachineLearningDataFrameAnalyticsResultsProvider( }); }, - async assertScatterplotMatrix(expectedValue: CanvasElementColorStats) { + async assertScatterplotMatrixLoaded() { await testSubjects.existOrFail('mlDFExpandableSection-splom > mlScatterplotMatrix loaded', { timeout: 5000, }); - await testSubjects.scrollIntoView('mlDFExpandableSection-splom > mlScatterplotMatrix loaded'); + }, + + async assertScatterplotMatrix(expectedValue: CanvasElementColorStats) { + await this.assertScatterplotMatrixLoaded(); + await this.scrollScatterplotMatrixIntoView(); await mlCommonUI.assertColorsInCanvasElement( 'mlDFExpandableSection-splom', expectedValue, @@ -242,5 +250,47 @@ export function MachineLearningDataFrameAnalyticsResultsProvider( async scrollResultsIntoView() { await this.scrollContentSectionIntoView('results'); }, + + async expandContentSection(sectionId: string, shouldExpand: boolean) { + const contentSubj = `mlDFExpandableSection-${sectionId}-content`; + const expandableContentExists = await testSubjects.exists(contentSubj, { timeout: 1000 }); + + if (expandableContentExists !== shouldExpand) { + await retry.tryForTime(5 * 1000, async () => { + await testSubjects.clickWhenNotDisabled( + `mlDFExpandableSection-${sectionId}-toggle-button` + ); + if (shouldExpand) { + await testSubjects.existOrFail(contentSubj, { timeout: 1000 }); + } else { + await testSubjects.missingOrFail(contentSubj, { timeout: 1000 }); + } + }); + } + }, + + async expandAnalysisSection(shouldExpand: boolean) { + await this.expandContentSection('analysis', shouldExpand); + }, + + async expandRegressionEvaluationSection(shouldExpand: boolean) { + await this.expandContentSection('RegressionEvaluation', shouldExpand); + }, + + async expandClassificationEvaluationSection(shouldExpand: boolean) { + await this.expandContentSection('ClassificationEvaluation', shouldExpand); + }, + + async expandFeatureImportanceSection(shouldExpand: boolean) { + await this.expandContentSection('FeatureImportanceSummary', shouldExpand); + }, + + async expandScatterplotMatrixSection(shouldExpand: boolean) { + await this.expandContentSection('splom', shouldExpand); + }, + + async expandResultsSection(shouldExpand: boolean) { + await this.expandContentSection('results', shouldExpand); + }, }; } diff --git a/x-pack/test/functional/services/ml/data_visualizer_table.ts b/x-pack/test/functional/services/ml/data_visualizer_table.ts index 8094f0ad1f8d2..a9bcbb89e531d 100644 --- a/x-pack/test/functional/services/ml/data_visualizer_table.ts +++ b/x-pack/test/functional/services/ml/data_visualizer_table.ts @@ -295,7 +295,7 @@ export function MachineLearningDataVisualizerTableProvider( } public async setSampleSizeInputValue( - sampleSize: number, + sampleSize: number | 'all', fieldName: string, docCountFormatted: string ) { diff --git a/x-pack/test/functional/services/ml/index.ts b/x-pack/test/functional/services/ml/index.ts index 4b48e4c0269eb..191798902b4cf 100644 --- a/x-pack/test/functional/services/ml/index.ts +++ b/x-pack/test/functional/services/ml/index.ts @@ -119,8 +119,8 @@ export function MachineLearningProvider(context: FtrProviderContext) { dataFrameAnalyticsTable ); const testExecution = MachineLearningTestExecutionProvider(context); - const testResources = MachineLearningTestResourcesProvider(context); - const alerting = MachineLearningAlertingProvider(context, commonUI); + const testResources = MachineLearningTestResourcesProvider(context, api); + const alerting = MachineLearningAlertingProvider(context, api, commonUI); const swimLane = SwimLaneProvider(context); const trainedModels = TrainedModelsProvider(context, api, commonUI); const trainedModelsTable = TrainedModelsTableProvider(context); diff --git a/x-pack/test/functional/services/ml/job_table.ts b/x-pack/test/functional/services/ml/job_table.ts index 67488d88aa120..aec834702324f 100644 --- a/x-pack/test/functional/services/ml/job_table.ts +++ b/x-pack/test/functional/services/ml/job_table.ts @@ -20,6 +20,27 @@ import { export type MlADJobTable = ProvidedType; +export interface DiscoverUrlConfig { + label: string; + indexPattern: string; + queryEntityFieldNames: string[]; + timeRange: TimeRangeType; + timeRangeInterval?: string; +} + +export interface DashboardUrlConfig { + label: string; + dashboardName: string; + queryEntityFieldNames: string[]; + timeRange: TimeRangeType; + timeRangeInterval?: string; +} + +export interface OtherUrlConfig { + label: string; + url: string; +} + export function MachineLearningJobTableProvider( { getService }: FtrProviderContext, mlCommonUI: MlCommonUI, @@ -218,6 +239,7 @@ export function MachineLearningJobTableProvider( public async filterWithSearchString(filter: string, expectedRowCount: number = 1) { await this.waitForJobsToLoad(); + await this.refreshJobList(); const searchBar = await testSubjects.find('mlJobListSearchBar'); const searchBarInput = await searchBar.findByTagName('input'); await searchBarInput.clearValueWithKeyboard(); @@ -554,121 +576,103 @@ export function MachineLearningJobTableProvider( await testSubjects.existOrFail('mlJobCustomUrlForm'); } - public async addDiscoverCustomUrl( - jobId: string, - customUrl: { - label: string; - indexPattern: string; - queryEntityFieldNames: string[]; - timeRange: TimeRangeType; - timeRangeInterval?: string; + public async getExistingCustomUrlCount(): Promise { + const existingCustomUrls = await testSubjects.findAll('mlJobEditCustomUrlItemLabel'); + return existingCustomUrls.length; + } + + public async saveCustomUrl(expectedLabel: string, expectedIndex: number) { + await retry.tryForTime(5000, async () => { + await testSubjects.click('mlJobAddCustomUrl'); + await customUrls.assertCustomUrlLabel(expectedIndex, expectedLabel); + }); + } + + public async fillInDiscoverUrlForm(customUrl: DiscoverUrlConfig) { + await this.clickOpenCustomUrlEditor(); + await customUrls.setCustomUrlLabel(customUrl.label); + await mlCommonUI.selectRadioGroupValue( + `mlJobCustomUrlLinkToTypeInput`, + URL_TYPE.KIBANA_DISCOVER + ); + await mlCommonUI.selectSelectValueByVisibleText( + 'mlJobCustomUrlDiscoverIndexPatternInput', + customUrl.indexPattern + ); + await customUrls.setCustomUrlQueryEntityFieldNames(customUrl.queryEntityFieldNames); + await mlCommonUI.selectSelectValueByVisibleText( + 'mlJobCustomUrlTimeRangeInput', + customUrl.timeRange + ); + if (customUrl.timeRange === TIME_RANGE_TYPE.INTERVAL) { + await customUrls.setCustomUrlTimeRangeInterval(customUrl.timeRangeInterval!); } - ) { + } + + public async fillInDashboardUrlForm(customUrl: DashboardUrlConfig) { + await this.clickOpenCustomUrlEditor(); + await customUrls.setCustomUrlLabel(customUrl.label); + await mlCommonUI.selectRadioGroupValue( + `mlJobCustomUrlLinkToTypeInput`, + URL_TYPE.KIBANA_DASHBOARD + ); + await mlCommonUI.selectSelectValueByVisibleText( + 'mlJobCustomUrlDashboardNameInput', + customUrl.dashboardName + ); + await customUrls.setCustomUrlQueryEntityFieldNames(customUrl.queryEntityFieldNames); + await mlCommonUI.selectSelectValueByVisibleText( + 'mlJobCustomUrlTimeRangeInput', + customUrl.timeRange + ); + if (customUrl.timeRange === TIME_RANGE_TYPE.INTERVAL) { + await customUrls.setCustomUrlTimeRangeInterval(customUrl.timeRangeInterval!); + } + } + + public async fillInOtherUrlForm(customUrl: OtherUrlConfig) { + await this.clickOpenCustomUrlEditor(); + await customUrls.setCustomUrlLabel(customUrl.label); + await mlCommonUI.selectRadioGroupValue(`mlJobCustomUrlLinkToTypeInput`, URL_TYPE.OTHER); + await customUrls.setCustomUrlOtherTypeUrl(customUrl.url); + } + + public async addDiscoverCustomUrl(jobId: string, customUrl: DiscoverUrlConfig) { await retry.tryForTime(30 * 1000, async () => { await this.closeEditJobFlyout(); await this.openEditCustomUrlsForJobTab(jobId); + const existingCustomUrlCount = await this.getExistingCustomUrlCount(); - const existingCustomUrls = await testSubjects.findAll('mlJobEditCustomUrlItemLabel'); - - // Fill-in the form - await this.clickOpenCustomUrlEditor(); - await customUrls.setCustomUrlLabel(customUrl.label); - await mlCommonUI.selectRadioGroupValue( - `mlJobCustomUrlLinkToTypeInput`, - URL_TYPE.KIBANA_DISCOVER - ); - await mlCommonUI.selectSelectValueByVisibleText( - 'mlJobCustomUrlDiscoverIndexPatternInput', - customUrl.indexPattern - ); - await customUrls.setCustomUrlQueryEntityFieldNames(customUrl.queryEntityFieldNames); - await mlCommonUI.selectSelectValueByVisibleText( - 'mlJobCustomUrlTimeRangeInput', - customUrl.timeRange - ); - if (customUrl.timeRange === TIME_RANGE_TYPE.INTERVAL) { - await customUrls.setCustomUrlTimeRangeInterval(customUrl.timeRangeInterval!); - } - - // Save custom URL - await retry.tryForTime(5000, async () => { - await testSubjects.click('mlJobAddCustomUrl'); - const expectedIndex = existingCustomUrls.length; - await customUrls.assertCustomUrlLabel(expectedIndex, customUrl.label); - }); + await this.fillInDiscoverUrlForm(customUrl); + await this.saveCustomUrl(customUrl.label, existingCustomUrlCount); }); // Save the job await this.saveEditJobFlyoutChanges(); } - public async addDashboardCustomUrl( - jobId: string, - customUrl: { - label: string; - dashboardName: string; - queryEntityFieldNames: string[]; - timeRange: TimeRangeType; - timeRangeInterval?: string; - } - ) { + public async addDashboardCustomUrl(jobId: string, customUrl: DashboardUrlConfig) { await retry.tryForTime(30 * 1000, async () => { await this.closeEditJobFlyout(); await this.openEditCustomUrlsForJobTab(jobId); + const existingCustomUrlCount = await this.getExistingCustomUrlCount(); - const existingCustomUrls = await testSubjects.findAll('mlJobEditCustomUrlItemLabel'); - - // Fill-in the form - await this.clickOpenCustomUrlEditor(); - await customUrls.setCustomUrlLabel(customUrl.label); - await mlCommonUI.selectRadioGroupValue( - `mlJobCustomUrlLinkToTypeInput`, - URL_TYPE.KIBANA_DASHBOARD - ); - await mlCommonUI.selectSelectValueByVisibleText( - 'mlJobCustomUrlDashboardNameInput', - customUrl.dashboardName - ); - await customUrls.setCustomUrlQueryEntityFieldNames(customUrl.queryEntityFieldNames); - await mlCommonUI.selectSelectValueByVisibleText( - 'mlJobCustomUrlTimeRangeInput', - customUrl.timeRange - ); - if (customUrl.timeRange === TIME_RANGE_TYPE.INTERVAL) { - await customUrls.setCustomUrlTimeRangeInterval(customUrl.timeRangeInterval!); - } - - // Save custom URL - await retry.tryForTime(5000, async () => { - await testSubjects.click('mlJobAddCustomUrl'); - const expectedIndex = existingCustomUrls.length; - await customUrls.assertCustomUrlLabel(expectedIndex, customUrl.label); - }); + await this.fillInDashboardUrlForm(customUrl); + await this.saveCustomUrl(customUrl.label, existingCustomUrlCount); }); // Save the job await this.saveEditJobFlyoutChanges(); } - public async addOtherTypeCustomUrl(jobId: string, customUrl: { label: string; url: string }) { + public async addOtherTypeCustomUrl(jobId: string, customUrl: OtherUrlConfig) { await retry.tryForTime(30 * 1000, async () => { await this.closeEditJobFlyout(); await this.openEditCustomUrlsForJobTab(jobId); + const existingCustomUrlCount = await this.getExistingCustomUrlCount(); - const existingCustomUrls = await testSubjects.findAll('mlJobEditCustomUrlItemLabel'); - - // Fill-in the form - await this.clickOpenCustomUrlEditor(); - await customUrls.setCustomUrlLabel(customUrl.label); - await mlCommonUI.selectRadioGroupValue(`mlJobCustomUrlLinkToTypeInput`, URL_TYPE.OTHER); - await customUrls.setCustomUrlOtherTypeUrl(customUrl.url); - - // Save custom URL - await retry.tryForTime(5000, async () => { - await testSubjects.click('mlJobAddCustomUrl'); - const expectedIndex = existingCustomUrls.length; - await customUrls.assertCustomUrlLabel(expectedIndex, customUrl.label); - }); + await this.fillInOtherUrlForm(customUrl); + await this.saveCustomUrl(customUrl.label, existingCustomUrlCount); }); // Save the job diff --git a/x-pack/test/functional/services/ml/job_wizard_multi_metric.ts b/x-pack/test/functional/services/ml/job_wizard_multi_metric.ts index 69fd1a6a67ba7..2d25144142baf 100644 --- a/x-pack/test/functional/services/ml/job_wizard_multi_metric.ts +++ b/x-pack/test/functional/services/ml/job_wizard_multi_metric.ts @@ -33,6 +33,10 @@ export function MachineLearningJobWizardMultiMetricProvider({ getService }: FtrP await this.assertSplitFieldSelection([identifier]); }, + async scrollSplitFieldIntoView() { + await testSubjects.scrollIntoView('mlMultiMetricSplitFieldSelect'); + }, + async assertDetectorSplitExists(splitField: string) { await testSubjects.existOrFail(`mlDataSplit > mlDataSplitTitle ${splitField}`); await testSubjects.existOrFail(`mlDataSplit > mlSplitCard front`); diff --git a/x-pack/test/functional/services/ml/navigation.ts b/x-pack/test/functional/services/ml/navigation.ts index ddd0950c610fd..c0523b57d19c3 100644 --- a/x-pack/test/functional/services/ml/navigation.ts +++ b/x-pack/test/functional/services/ml/navigation.ts @@ -212,6 +212,13 @@ export function MachineLearningNavigationProvider({ await testSubjects.existOrFail('collapsibleNav'); }, + async closeKibanaNav() { + if (await testSubjects.exists('collapsibleNav')) { + await testSubjects.click('toggleNavButton'); + } + await testSubjects.missingOrFail('collapsibleNav'); + }, + async assertKibanaNavMLEntryExists() { const navArea = await testSubjects.find('collapsibleNav'); const mlNavLink = await navArea.findAllByCssSelector('[title="Machine Learning"]'); diff --git a/x-pack/test/functional/services/ml/test_resources.ts b/x-pack/test/functional/services/ml/test_resources.ts index 58c33bdeb83d5..1e6e9be3b9a1c 100644 --- a/x-pack/test/functional/services/ml/test_resources.ts +++ b/x-pack/test/functional/services/ml/test_resources.ts @@ -9,6 +9,7 @@ import expect from '@kbn/expect'; import { ProvidedType } from '@kbn/test'; import { savedSearches, dashboards } from './test_resources_data'; import { COMMON_REQUEST_HEADERS } from './common_api'; +import { MlApi } from './api'; import { FtrProviderContext } from '../../ftr_provider_context'; import { JobType } from '../../../../plugins/ml/common/types/saved_objects'; @@ -23,7 +24,10 @@ export enum SavedObjectType { export type MlTestResourcesi = ProvidedType; -export function MachineLearningTestResourcesProvider({ getService }: FtrProviderContext) { +export function MachineLearningTestResourcesProvider( + { getService }: FtrProviderContext, + mlApi: MlApi +) { const kibanaServer = getService('kibanaServer'); const log = getService('log'); const supertest = getService('supertest'); @@ -59,11 +63,10 @@ export function MachineLearningTestResourcesProvider({ getService }: FtrProvider objectType: SavedObjectType ): Promise { log.debug(`Searching for '${objectType}' with title '${title}'...`); - const findResponse = await supertest + const { body: findResponse, status } = await supertest .get(`/api/saved_objects/_find?type=${objectType}&per_page=10000`) - .set(COMMON_REQUEST_HEADERS) - .expect(200) - .then((res: any) => res.body); + .set(COMMON_REQUEST_HEADERS); + mlApi.assertResponseStatusCode(200, status, findResponse); for (const savedObject of findResponse.saved_objects) { const objectTitle = savedObject.attributes.title; @@ -79,11 +82,10 @@ export function MachineLearningTestResourcesProvider({ getService }: FtrProvider const savedObjectIds: string[] = []; log.debug(`Searching for '${objectType}' ...`); - const findResponse = await supertest + const { body: findResponse, status } = await supertest .get(`/api/saved_objects/_find?type=${objectType}&per_page=10000`) - .set(COMMON_REQUEST_HEADERS) - .expect(200) - .then((res: any) => res.body); + .set(COMMON_REQUEST_HEADERS); + mlApi.assertResponseStatusCode(200, status, findResponse); findResponse.saved_objects.forEach((element: any) => { savedObjectIds.push(element.id); @@ -115,12 +117,11 @@ export function MachineLearningTestResourcesProvider({ getService }: FtrProvider }` ); - const createResponse = await supertest + const { body: createResponse, status } = await supertest .post(`/api/saved_objects/${SavedObjectType.INDEX_PATTERN}`) .set(COMMON_REQUEST_HEADERS) - .send({ attributes: { title, timeFieldName } }) - .expect(200) - .then((res: any) => res.body); + .send({ attributes: { title, timeFieldName } }); + mlApi.assertResponseStatusCode(200, status, createResponse); await this.assertIndexPatternExistByTitle(title); @@ -131,12 +132,11 @@ export function MachineLearningTestResourcesProvider({ getService }: FtrProvider async createBulkSavedObjects(body: object[]): Promise { log.debug(`Creating bulk saved objects'`); - const createResponse = await supertest + const { body: createResponse, status } = await supertest .post(`/api/saved_objects/_bulk_create`) .set(COMMON_REQUEST_HEADERS) - .send(body) - .expect(200) - .then((res: any) => res.body); + .send(body); + mlApi.assertResponseStatusCode(200, status, createResponse); log.debug(` > Created bulk saved objects'`); return createResponse; @@ -159,12 +159,11 @@ export function MachineLearningTestResourcesProvider({ getService }: FtrProvider async createSavedSearch(title: string, body: object): Promise { log.debug(`Creating saved search with title '${title}'`); - const createResponse = await supertest + const { body: createResponse, status } = await supertest .post(`/api/saved_objects/${SavedObjectType.SEARCH}`) .set(COMMON_REQUEST_HEADERS) - .send(body) - .expect(200) - .then((res: any) => res.body); + .send(body); + mlApi.assertResponseStatusCode(200, status, createResponse); await this.assertSavedSearchExistByTitle(title); @@ -175,12 +174,11 @@ export function MachineLearningTestResourcesProvider({ getService }: FtrProvider async createDashboard(title: string, body: object): Promise { log.debug(`Creating dashboard with title '${title}'`); - const createResponse = await supertest + const { body: createResponse, status } = await supertest .post(`/api/saved_objects/${SavedObjectType.DASHBOARD}`) .set(COMMON_REQUEST_HEADERS) - .send(body) - .expect(200) - .then((res: any) => res.body); + .send(body); + mlApi.assertResponseStatusCode(200, status, createResponse); log.debug(` > Created with id '${createResponse.id}'`); return createResponse.id; @@ -272,11 +270,11 @@ export function MachineLearningTestResourcesProvider({ getService }: FtrProvider log.debug(`${objectType} with id '${id}' does not exists. Nothing to delete.`); return; } else { - await supertest + const { body, status } = await supertest .delete(`/api/saved_objects/${objectType}/${id}`) .set(COMMON_REQUEST_HEADERS) - .query({ force }) - .expect(200); + .query({ force }); + mlApi.assertResponseStatusCode(200, status, body); await this.assertSavedObjectNotExistsById(id, objectType); @@ -465,7 +463,10 @@ export function MachineLearningTestResourcesProvider({ getService }: FtrProvider async setupFleet() { log.debug(`Setting up Fleet`); await retry.tryForTime(2 * 60 * 1000, async () => { - await supertest.post(`/api/fleet/setup`).set(COMMON_REQUEST_HEADERS).expect(200); + const { body, status } = await supertest + .post(`/api/fleet/setup`) + .set(COMMON_REQUEST_HEADERS); + mlApi.assertResponseStatusCode(200, status, body); }); log.debug(` > Setup done`); }, @@ -477,10 +478,10 @@ export function MachineLearningTestResourcesProvider({ getService }: FtrProvider const packageWithVersion = `${packageName}-${version}`; await retry.tryForTime(30 * 1000, async () => { - await supertest + const { body, status } = await supertest .post(`/api/fleet/epm/packages/${packageWithVersion}`) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + mlApi.assertResponseStatusCode(200, status, body); }); log.debug(` > Installed`); @@ -491,10 +492,10 @@ export function MachineLearningTestResourcesProvider({ getService }: FtrProvider log.debug(`Removing Fleet package '${packageWithVersion}'`); await retry.tryForTime(30 * 1000, async () => { - await supertest + const { body, status } = await supertest .delete(`/api/fleet/epm/packages/${packageWithVersion}`) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + mlApi.assertResponseStatusCode(200, status, body); }); log.debug(` > Removed`); @@ -505,10 +506,10 @@ export function MachineLearningTestResourcesProvider({ getService }: FtrProvider let packageVersion = ''; await retry.tryForTime(10 * 1000, async () => { - const { body } = await supertest + const { body, status } = await supertest .get(`/api/fleet/epm/packages?experimental=true`) - .set(COMMON_REQUEST_HEADERS) - .expect(200); + .set(COMMON_REQUEST_HEADERS); + mlApi.assertResponseStatusCode(200, status, body); packageVersion = body.response.find( @@ -525,5 +526,39 @@ export function MachineLearningTestResourcesProvider({ getService }: FtrProvider log.debug(` > found version '${packageVersion}'`); return packageVersion; }, + + async installKibanaSampleData(sampleDataId: 'ecommerce' | 'flights' | 'logs') { + log.debug(`Installing Kibana sample data '${sampleDataId}'`); + + const { body, status } = await supertest + .post(`/api/sample_data/${sampleDataId}`) + .set(COMMON_REQUEST_HEADERS); + mlApi.assertResponseStatusCode(200, status, body); + + log.debug(` > Installed`); + }, + + async removeKibanaSampleData(sampleDataId: 'ecommerce' | 'flights' | 'logs') { + log.debug(`Removing Kibana sample data '${sampleDataId}'`); + + const { body, status } = await supertest + .delete(`/api/sample_data/${sampleDataId}`) + .set(COMMON_REQUEST_HEADERS); + mlApi.assertResponseStatusCode(204, status, body); + + log.debug(` > Removed`); + }, + + async installAllKibanaSampleData() { + await this.installKibanaSampleData('ecommerce'); + await this.installKibanaSampleData('flights'); + await this.installKibanaSampleData('logs'); + }, + + async removeAllKibanaSampleData() { + await this.removeKibanaSampleData('ecommerce'); + await this.removeKibanaSampleData('flights'); + await this.removeKibanaSampleData('logs'); + }, }; } diff --git a/x-pack/test/functional/services/observability/alerts/common.ts b/x-pack/test/functional/services/observability/alerts/common.ts index 866febc9b9f5b..bada066e3f527 100644 --- a/x-pack/test/functional/services/observability/alerts/common.ts +++ b/x-pack/test/functional/services/observability/alerts/common.ts @@ -27,6 +27,7 @@ export function ObservabilityAlertsCommonProvider({ getPageObjects, getService, }: FtrProviderContext) { + const find = getService('find'); const testSubjects = getService('testSubjects'); const flyoutService = getService('flyout'); const pageObjects = getPageObjects(['common']); @@ -53,6 +54,14 @@ export function ObservabilityAlertsCommonProvider({ return await testSubjects.findAll('dataGridRowCell'); }; + const getAllDisabledCheckBoxInTable = async () => { + return await find.allByCssSelector('.euiDataGridRowCell input[type="checkbox"]:disabled'); + }; + + const getAllEnabledCheckBoxInTable = async () => { + return await find.allByCssSelector('.euiDataGridRowCell input[type="checkbox"]:enabled'); + }; + const getTableCellsInRows = async () => { const columnHeaders = await getTableColumnHeaders(); if (columnHeaders.length <= 0) { @@ -195,6 +204,8 @@ export function ObservabilityAlertsCommonProvider({ getAlertsFlyoutTitle, getAlertsFlyoutViewInAppButtonOrFail, getCopyToClipboardButton, + getAllDisabledCheckBoxInTable, + getAllEnabledCheckBoxInTable, getFilterForValueButton, copyToClipboardButtonExists, getNoDataPageOrFail, diff --git a/x-pack/test/functional/services/transform/api.ts b/x-pack/test/functional/services/transform/api.ts index 73dff415832f6..55dea52b7a8e5 100644 --- a/x-pack/test/functional/services/transform/api.ts +++ b/x-pack/test/functional/services/transform/api.ts @@ -30,6 +30,15 @@ export function TransformAPIProvider({ getService }: FtrProviderContext) { const esDeleteAllIndices = getService('esDeleteAllIndices'); return { + assertResponseStatusCode(expectedStatus: number, actualStatus: number, responseBody: object) { + expect(actualStatus).to.eql( + expectedStatus, + `Expected status code ${expectedStatus}, got ${actualStatus} with body '${JSON.stringify( + responseBody + )}'` + ); + }, + async createIndices(indices: string) { log.debug(`Creating indices: '${indices}'...`); if ((await es.indices.exists({ index: indices, allow_no_indices: false })).body === true) { @@ -93,18 +102,24 @@ export function TransformAPIProvider({ getService }: FtrProviderContext) { async cleanTransformIndices() { // Delete all transforms using the API since we mustn't just delete // all `.transform-*` indices since this might result in orphaned ES tasks. - const { - body: { transforms }, - } = await esSupertest.get(`/_transform/`).expect(200); - const transformIds = transforms.map((t: { id: string }) => t.id); + const { body: getRspBody, status: getRspStatus } = await esSupertest.get(`/_transform/`); + this.assertResponseStatusCode(200, getRspStatus, getRspBody); + + const transformIds = getRspBody.transforms.map((t: { id: string }) => t.id); await asyncForEach(transformIds, async (transformId: string) => { - await esSupertest - .post(`/_transform/${transformId}/_stop?force=true&wait_for_completion`) - .expect(200); + const { body: stopRspBody, status: stopRspStatus } = await esSupertest.post( + `/_transform/${transformId}/_stop?force=true&wait_for_completion` + ); + this.assertResponseStatusCode(200, stopRspStatus, stopRspBody); + await this.waitForTransformState(transformId, TRANSFORM_STATE.STOPPED); - await esSupertest.delete(`/_transform/${transformId}`).expect(200); + const { body: deleteRspBody, status: deleteRspstatus } = await esSupertest.delete( + `/_transform/${transformId}` + ); + this.assertResponseStatusCode(200, deleteRspstatus, deleteRspBody); + await this.waitForTransformNotToExist(transformId); }); @@ -115,10 +130,10 @@ export function TransformAPIProvider({ getService }: FtrProviderContext) { async getTransformStats(transformId: string): Promise { log.debug(`Fetching transform stats for transform ${transformId}`); - const statsResponse = await esSupertest - .get(`/_transform/${transformId}/_stats`) - .expect(200) - .then((res: any) => res.body); + const { body: statsResponse, status } = await esSupertest.get( + `/_transform/${transformId}/_stats` + ); + this.assertResponseStatusCode(200, status, statsResponse); expect(statsResponse.transforms).to.have.length( 1, @@ -178,30 +193,36 @@ export function TransformAPIProvider({ getService }: FtrProviderContext) { }, async getTransformList(size: number = 10): Promise { - return (await esSupertest - .get(`/_transform`) - .expect(200) - .then((response) => response.body)) as GetTransformsResponseSchema; + const { body, status } = await esSupertest.get(`/_transform`); + this.assertResponseStatusCode(200, status, body); + + return body as GetTransformsResponseSchema; }, async getTransform(transformId: string, expectedCode = 200) { - return await esSupertest.get(`/_transform/${transformId}`).expect(expectedCode); + const response = await esSupertest.get(`/_transform/${transformId}`); + this.assertResponseStatusCode(expectedCode, response.status, response.body); + return response; }, async updateTransform( transformId: string, updates: Partial ): Promise { - return await esSupertest + const { body, status } = await esSupertest .post(`/_transform/${transformId}/_update`) - .send(updates) - .expect(200) - .then((response: { body: TransformPivotConfig }) => response.body); + .send(updates); + this.assertResponseStatusCode(200, status, body); + + return body as TransformPivotConfig; }, async createTransform(transformId: string, transformConfig: PutTransformsRequestSchema) { log.debug(`Creating transform with id '${transformId}'...`); - await esSupertest.put(`/_transform/${transformId}`).send(transformConfig).expect(200); + const { body, status } = await esSupertest + .put(`/_transform/${transformId}`) + .send(transformConfig); + this.assertResponseStatusCode(200, status, body); await this.waitForTransformToExist( transformId, @@ -231,12 +252,14 @@ export function TransformAPIProvider({ getService }: FtrProviderContext) { async startTransform(transformId: string) { log.debug(`Starting transform '${transformId}' ...`); - await esSupertest.post(`/_transform/${transformId}/_start`).expect(200); + const { body, status } = await esSupertest.post(`/_transform/${transformId}/_start`); + this.assertResponseStatusCode(200, status, body); }, async stopTransform(transformId: string) { log.debug(`Stopping transform '${transformId}' ...`); - await esSupertest.post(`/_transform/${transformId}/_stop`).expect(200); + const { body, status } = await esSupertest.post(`/_transform/${transformId}/_stop`); + this.assertResponseStatusCode(200, status, body); }, async createAndRunTransform(transformId: string, transformConfig: PutTransformsRequestSchema) { diff --git a/x-pack/test/functional/services/transform/edit_flyout.ts b/x-pack/test/functional/services/transform/edit_flyout.ts index cc230e2c38fca..10e90411b135f 100644 --- a/x-pack/test/functional/services/transform/edit_flyout.ts +++ b/x-pack/test/functional/services/transform/edit_flyout.ts @@ -37,7 +37,7 @@ export function TransformEditFlyoutProvider({ getService }: FtrProviderContext) ); }, - async assertTransformEditFlyoutRetentionPolicySelectEnabled(expectedValue: boolean) { + async assertTransformEditFlyoutRetentionPolicyFieldSelectEnabled(expectedValue: boolean) { await testSubjects.existOrFail(`transformEditFlyoutRetentionPolicyFieldSelect`, { timeout: 1000, }); @@ -52,6 +52,28 @@ export function TransformEditFlyoutProvider({ getService }: FtrProviderContext) ); }, + async assertTransformEditFlyoutRetentionPolicyFieldSelectValue(expectedValue: string) { + await testSubjects.existOrFail(`transformEditFlyoutRetentionPolicyFieldSelect`, { + timeout: 1000, + }); + const actualValue = await testSubjects.getAttribute( + 'transformEditFlyoutRetentionPolicyFieldSelect', + 'value' + ); + expect(actualValue).to.eql( + expectedValue, + `Retention policy field option value should be '${expectedValue}' (got '${actualValue}')` + ); + }, + + async setTransformEditFlyoutRetentionPolicyFieldSelectValue(fieldOptionValue: string) { + await testSubjects.selectValue( + 'transformEditFlyoutRetentionPolicyFieldSelect', + fieldOptionValue + ); + await this.assertTransformEditFlyoutRetentionPolicyFieldSelectValue(fieldOptionValue); + }, + async assertTransformEditFlyoutInputEnabled(input: string, expectedValue: boolean) { await testSubjects.existOrFail(`transformEditFlyout${input}Input`, { timeout: 1000 }); const isEnabled = await testSubjects.isEnabled(`transformEditFlyout${input}Input`); diff --git a/x-pack/test/functional/services/transform/index.ts b/x-pack/test/functional/services/transform/index.ts index c9179cc307aaf..75f0df67f0919 100644 --- a/x-pack/test/functional/services/transform/index.ts +++ b/x-pack/test/functional/services/transform/index.ts @@ -19,10 +19,12 @@ import { TransformTableProvider } from './transform_table'; import { TransformTestExecutionProvider } from './test_execution'; import { TransformWizardProvider } from './wizard'; +import { MachineLearningAPIProvider } from '../ml/api'; import { MachineLearningTestResourcesProvider } from '../ml/test_resources'; export function TransformProvider(context: FtrProviderContext) { const api = TransformAPIProvider(context); + const mlApi = MachineLearningAPIProvider(context); const discover = TransformDiscoverProvider(context); const editFlyout = TransformEditFlyoutProvider(context); const management = TransformManagementProvider(context); @@ -32,7 +34,7 @@ export function TransformProvider(context: FtrProviderContext) { const sourceSelection = TransformSourceSelectionProvider(context); const table = TransformTableProvider(context); const testExecution = TransformTestExecutionProvider(context); - const testResources = MachineLearningTestResourcesProvider(context); + const testResources = MachineLearningTestResourcesProvider(context, mlApi); const wizard = TransformWizardProvider(context); return { diff --git a/x-pack/test/functional/services/transform/security_common.ts b/x-pack/test/functional/services/transform/security_common.ts index f27de80d26b2e..96f4b4044f21d 100644 --- a/x-pack/test/functional/services/transform/security_common.ts +++ b/x-pack/test/functional/services/transform/security_common.ts @@ -31,7 +31,7 @@ export function TransformSecurityCommonProvider({ getService }: FtrProviderConte { name: 'transform_dest', elasticsearch: { - indices: [{ names: ['user-*'], privileges: ['read', 'index', 'manage'] }], + indices: [{ names: ['user-*'], privileges: ['read', 'index', 'manage', 'delete'] }], }, kibana: [], }, diff --git a/x-pack/test/functional/services/transform/wizard.ts b/x-pack/test/functional/services/transform/wizard.ts index 39809d4805064..adf4214590823 100644 --- a/x-pack/test/functional/services/transform/wizard.ts +++ b/x-pack/test/functional/services/transform/wizard.ts @@ -26,6 +26,7 @@ export function TransformWizardProvider({ getService, getPageObjects }: FtrProvi const testSubjects = getService('testSubjects'); const comboBox = getService('comboBox'); const retry = getService('retry'); + const ml = getService('ml'); const PageObjects = getPageObjects(['discover', 'timePicker']); return { @@ -679,7 +680,9 @@ export function TransformWizardProvider({ getService, getPageObjects }: FtrProvi }, async setTransformId(transformId: string) { - await testSubjects.setValue('transformIdInput', transformId, { clearWithKeyboard: true }); + await ml.commonUI.setValueWithChecks('transformIdInput', transformId, { + clearWithKeyboard: true, + }); await this.assertTransformIdValue(transformId); }, @@ -699,7 +702,7 @@ export function TransformWizardProvider({ getService, getPageObjects }: FtrProvi }, async setTransformDescription(transformDescription: string) { - await testSubjects.setValue('transformDescriptionInput', transformDescription, { + await ml.commonUI.setValueWithChecks('transformDescriptionInput', transformDescription, { clearWithKeyboard: true, }); await this.assertTransformDescriptionValue(transformDescription); @@ -721,7 +724,7 @@ export function TransformWizardProvider({ getService, getPageObjects }: FtrProvi }, async setDestinationIndex(destinationIndex: string) { - await testSubjects.setValue('transformDestinationIndexInput', destinationIndex, { + await ml.commonUI.setValueWithChecks('transformDestinationIndexInput', destinationIndex, { clearWithKeyboard: true, }); await this.assertDestinationIndexValue(destinationIndex); @@ -741,6 +744,27 @@ export function TransformWizardProvider({ getService, getPageObjects }: FtrProvi ); }, + async assertDataViewTimeFieldInputExists() { + await testSubjects.existOrFail(`transformIndexPatternTimeFieldSelect`); + }, + + async assertDataViewTimeFieldValue(expectedValue: string) { + const actualValue = await testSubjects.getAttribute( + `transformIndexPatternTimeFieldSelect`, + 'value' + ); + expect(actualValue).to.eql( + expectedValue, + `Data view time field should be ${expectedValue}, got ${actualValue}` + ); + }, + + async setDataViewTimeField(fieldName: string) { + const selectControl = await testSubjects.find('transformIndexPatternTimeFieldSelect'); + await selectControl.type(fieldName); + await this.assertDataViewTimeFieldValue(fieldName); + }, + async assertContinuousModeSwitchExists() { await testSubjects.existOrFail(`transformContinuousModeSwitch`, { allowHidden: true }); }, @@ -755,6 +779,57 @@ export function TransformWizardProvider({ getService, getPageObjects }: FtrProvi ); }, + async assertRetentionPolicySwitchExists() { + await testSubjects.existOrFail(`transformRetentionPolicySwitch`, { allowHidden: true }); + }, + + async assertRetentionPolicySwitchCheckState(expectedCheckState: boolean) { + const actualCheckState = + (await testSubjects.getAttribute('transformRetentionPolicySwitch', 'aria-checked')) === + 'true'; + expect(actualCheckState).to.eql( + expectedCheckState, + `Retention policy switch check state should be '${expectedCheckState}' (got '${actualCheckState}')` + ); + }, + + async assertRetentionPolicyFieldSelectExists() { + await testSubjects.existOrFail(`transformRetentionPolicyDateFieldSelect`, { + allowHidden: true, + }); + }, + + async assertRetentionPolicyFieldSelectValue(expectedValue: string) { + await testSubjects.existOrFail(`transformRetentionPolicyDateFieldSelect`, { + timeout: 1000, + }); + const actualValue = await testSubjects.getAttribute( + 'transformRetentionPolicyDateFieldSelect', + 'value' + ); + expect(actualValue).to.eql( + expectedValue, + `Retention policy field option value should be '${expectedValue}' (got '${actualValue}')` + ); + }, + + async assertRetentionPolicyMaxAgeInputExists() { + await testSubjects.existOrFail(`transformRetentionPolicyMaxAgeInput`, { + allowHidden: true, + }); + }, + + async assertRetentionsPolicyMaxAgeValue(expectedValue: string) { + const actualValue = await testSubjects.getAttribute( + 'transformRetentionPolicyMaxAgeInput', + 'value' + ); + expect(actualValue).to.eql( + expectedValue, + `Transform retention policy max age input text should be '${expectedValue}' (got '${actualValue}')` + ); + }, + async assertTransformAdvancedSettingsAccordionExists() { await testSubjects.existOrFail('transformWizardAccordionAdvancedSettings'); }, diff --git a/x-pack/test/functional_basic/apps/ml/permissions/full_ml_access.ts b/x-pack/test/functional_basic/apps/ml/permissions/full_ml_access.ts index b44c5f08bdbc6..6db82801a5bdd 100644 --- a/x-pack/test/functional_basic/apps/ml/permissions/full_ml_access.ts +++ b/x-pack/test/functional_basic/apps/ml/permissions/full_ml_access.ts @@ -20,7 +20,9 @@ export default function ({ getService }: FtrProviderContext) { { user: USER.ML_POWERUSER_SPACES, discoverAvailable: false }, ]; - describe('for user with full ML access', function () { + // FLAKY: https://github.com/elastic/kibana/issues/124413 + // FLAKY: https://github.com/elastic/kibana/issues/122838 + describe.skip('for user with full ML access', function () { for (const testUser of testUsers) { describe(`(${testUser.user})`, function () { const ecIndexPattern = 'ft_module_sample_ecommerce'; diff --git a/x-pack/test/functional_with_es_ssl/apps/uptime/anomaly_alert.ts b/x-pack/test/functional_with_es_ssl/apps/uptime/anomaly_alert.ts deleted file mode 100644 index 4cb6aaf6d79d8..0000000000000 --- a/x-pack/test/functional_with_es_ssl/apps/uptime/anomaly_alert.ts +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import expect from '@kbn/expect'; -import { FtrProviderContext } from '../../ftr_provider_context'; - -export default ({ getPageObjects, getService }: FtrProviderContext) => { - describe('uptime anomaly alert', () => { - const pageObjects = getPageObjects(['common', 'uptime']); - const supertest = getService('supertest'); - const retry = getService('retry'); - - const monitorId = '0000-intermittent'; - - const uptime = getService('uptime'); - - const DEFAULT_DATE_START = 'Sep 10, 2019 @ 12:40:08.078'; - const DEFAULT_DATE_END = 'Sep 11, 2019 @ 19:40:08.078'; - let alerts: any; - const alertId = 'uptime-anomaly-alert'; - - before(async () => { - alerts = getService('uptime').alerts; - - await uptime.navigation.goToUptime(); - - await uptime.navigation.loadDataAndGoToMonitorPage( - DEFAULT_DATE_START, - DEFAULT_DATE_END, - monitorId - ); - }); - - it('can delete existing job', async () => { - if (await uptime.ml.alreadyHasJob()) { - await uptime.ml.openMLManageMenu(); - await uptime.ml.deleteMLJob(); - await uptime.navigation.refreshApp(); - } - }); - - it('can open ml flyout', async () => { - await uptime.ml.openMLFlyout(); - }); - - it('has permission to create job', async () => { - expect(uptime.ml.canCreateJob()).to.eql(true); - expect(uptime.ml.hasNoLicenseInfo()).to.eql(false); - }); - - it('can create job successfully', async () => { - await uptime.ml.createMLJob(); - await pageObjects.common.closeToast(); - await uptime.ml.cancelAlertFlyout(); - }); - - it('can open ML Manage Menu', async () => { - await uptime.ml.openMLManageMenu(); - }); - - it('can open anomaly alert flyout', async () => { - await uptime.ml.openAlertFlyout(); - }); - - it('can set alert name', async () => { - await alerts.setAlertName(alertId); - }); - - it('can set alert tags', async () => { - await alerts.setAlertTags(['uptime', 'anomaly-alert']); - }); - - it('can change anomaly alert threshold', async () => { - await uptime.ml.changeAlertThreshold('major'); - }); - - it('can save alert', async () => { - await alerts.clickSaveAlertButton(alertId); - await alerts.clickSaveAlertsConfirmButton(); - await pageObjects.common.closeToast(); - }); - - it('has created a valid alert with expected parameters', async () => { - let alert: any; - await retry.tryForTime(15000, async () => { - const apiResponse = await supertest.get(`/api/alerts/_find?search=${alertId}`); - const alertsFromThisTest = apiResponse.body.data.filter( - ({ name }: { name: string }) => name === alertId - ); - expect(alertsFromThisTest).to.have.length(1); - alert = alertsFromThisTest[0]; - }); - - // Ensure the parameters and other stateful data - // on the alert match up with the values we provided - // for our test helper to input into the flyout. - const { actions, alertTypeId, consumer, id, params, tags } = alert; - try { - expect(actions).to.eql([]); - expect(alertTypeId).to.eql('xpack.uptime.alerts.durationAnomaly'); - expect(consumer).to.eql('uptime'); - expect(tags).to.eql(['uptime', 'anomaly-alert']); - expect(params.monitorId).to.eql(monitorId); - expect(params.severity).to.eql(50); - } finally { - await supertest.delete(`/api/alerts/alert/${id}`).set('kbn-xsrf', 'true').expect(204); - } - }); - - it('change button to disable anomaly alert', async () => { - await uptime.ml.openMLManageMenu(); - expect(uptime.ml.manageAnomalyAlertIsVisible()).to.eql(true); - }); - - it('can delete job successfully', async () => { - await uptime.ml.deleteMLJob(); - }); - - it('verifies that alert is also deleted', async () => { - await retry.tryForTime(15000, async () => { - const apiResponse = await supertest.get(`/api/alerts/_find?search=${alertId}`); - const alertsFromThisTest = apiResponse.body.data.filter( - ({ name }: { name: string }) => name === alertId - ); - expect(alertsFromThisTest).to.have.length(0); - }); - }); - }); -}; diff --git a/x-pack/test/functional_with_es_ssl/apps/uptime/index.ts b/x-pack/test/functional_with_es_ssl/apps/uptime/index.ts index 222dcd22d6f86..d2078267bde85 100644 --- a/x-pack/test/functional_with_es_ssl/apps/uptime/index.ts +++ b/x-pack/test/functional_with_es_ssl/apps/uptime/index.ts @@ -24,7 +24,6 @@ export default ({ getService, loadTestFile }: FtrProviderContext) => { after(async () => await esArchiver.unload(ARCHIVE)); loadTestFile(require.resolve('./alert_flyout')); - loadTestFile(require.resolve('./anomaly_alert')); loadTestFile(require.resolve('./simple_down_alert')); }); }); diff --git a/x-pack/test/lists_api_integration/security_and_spaces/tests/delete_lists.ts b/x-pack/test/lists_api_integration/security_and_spaces/tests/delete_lists.ts index 3c01d93380736..2f16095d42c89 100644 --- a/x-pack/test/lists_api_integration/security_and_spaces/tests/delete_lists.ts +++ b/x-pack/test/lists_api_integration/security_and_spaces/tests/delete_lists.ts @@ -165,8 +165,7 @@ export default ({ getService }: FtrProviderContext) => { .expect(200); }); - // Tests in development - it.skip('should delete a single list referenced within an exception list item if ignoreReferences=true', async () => { + it('should delete a single list referenced within an exception list item if ignoreReferences=true', async () => { // create a list const { body: valueListBody } = await supertest .post(LIST_URL) @@ -206,8 +205,7 @@ export default ({ getService }: FtrProviderContext) => { .expect(409); }); - // Tests in development - it.skip('should delete a single list referenced within an exception list item and referenced exception list items if deleteReferences=true', async () => { + it('should delete a single list referenced within an exception list item and referenced exception list items if deleteReferences=true', async () => { // create a list const { body: valueListBody } = await supertest .post(LIST_URL) @@ -240,6 +238,13 @@ export default ({ getService }: FtrProviderContext) => { }) .expect(200); + // sanity check + await supertest + .get(`${LIST_ITEM_URL}/_find?list_id=${LIST_ID}`) + .set('kbn-xsrf', 'true') + .send() + .expect(200); + // delete that list by its auto-generated id and delete referenced list items const deleteListBody = await supertest .delete(`${LIST_URL}?id=${valueListBody.id}&ignoreReferences=true`) @@ -252,7 +257,7 @@ export default ({ getService }: FtrProviderContext) => { .get(`${LIST_ITEM_URL}/_find?list_id=${LIST_ID}`) .set('kbn-xsrf', 'true') .send() - .expect(200); + .expect(404); }); }); }); diff --git a/x-pack/test/lists_api_integration/security_and_spaces/tests/read_list_privileges.ts b/x-pack/test/lists_api_integration/security_and_spaces/tests/read_list_privileges.ts index b90a3f86a290d..e2633eea08e12 100644 --- a/x-pack/test/lists_api_integration/security_and_spaces/tests/read_list_privileges.ts +++ b/x-pack/test/lists_api_integration/security_and_spaces/tests/read_list_privileges.ts @@ -18,8 +18,7 @@ export default ({ getService }: FtrProviderContext) => { const spacesService = getService('spaces'); const supertestWithoutAuth = getService('supertestWithoutAuth'); - // FAILING ES PROMOTION: https://github.com/elastic/kibana/issues/88302 - describe.skip('read_list_privileges', () => { + describe('read_list_privileges', () => { const space1Id = 'space_1'; const user1 = { diff --git a/x-pack/test/observability_api_integration/trial/tests/annotations.ts b/x-pack/test/observability_api_integration/trial/tests/annotations.ts index fae30df753ef5..60a4417fc3a35 100644 --- a/x-pack/test/observability_api_integration/trial/tests/annotations.ts +++ b/x-pack/test/observability_api_integration/trial/tests/annotations.ts @@ -102,9 +102,10 @@ export default function annotationApiTests({ getService }: FtrProviderContext) { const { _source, _id, _index } = response.body; + // the test can be executed against a ES version with or without _type support + delete response.body._type; expect(response.body).to.eql({ _index, - _type: '_doc', _id, _primary_term: 1, _seq_no: 0, diff --git a/x-pack/test/observability_functional/apps/observability/alerts/index.ts b/x-pack/test/observability_functional/apps/observability/alerts/index.ts index a247f42da5821..895e8e17974f6 100644 --- a/x-pack/test/observability_functional/apps/observability/alerts/index.ts +++ b/x-pack/test/observability_functional/apps/observability/alerts/index.ts @@ -17,6 +17,8 @@ async function asyncForEach(array: T[], callback: (item: T, index: number) => const ACTIVE_ALERTS_CELL_COUNT = 48; const RECOVERED_ALERTS_CELL_COUNT = 24; const TOTAL_ALERTS_CELL_COUNT = 72; +const DISABLED_ALERTS_CHECKBOX = 6; +const ENABLED_ALERTS_CHECKBOX = 2; export default ({ getPageObjects, getService }: FtrProviderContext) => { const esArchiver = getService('esArchiver'); @@ -28,6 +30,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const testSubjects = getService('testSubjects'); const retry = getService('retry'); const observability = getService('observability'); + const security = getService('security'); before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/observability/alerts'); @@ -215,6 +218,64 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { }); }); }); + + /* + * ATTENTION FUTURE DEVELOPER + * + * These tests should only be valid for 7.17.x + * You can run this test if you go to this file: + * x-pack/plugins/observability/public/pages/alerts/containers/alerts_table_t_grid/alerts_table_t_grid.tsx + * and at line 397 and change showCheckboxes to true + * + */ + describe('Bulk Actions', () => { + before(async () => { + await security.testUser.setRoles(['global_alerts_logs_all_else_read'], true); + await observability.alerts.common.setWorkflowStatusFilter('open'); + }); + after(async () => { + await observability.alerts.common.submitQuery(''); + await security.testUser.restoreDefaults(); + }); + + it('Only logs alert should be enable for bulk actions', async () => { + const disabledCheckBoxes = + await observability.alerts.common.getAllDisabledCheckBoxInTable(); + const enabledCheckBoxes = + await observability.alerts.common.getAllEnabledCheckBoxInTable(); + + expect(disabledCheckBoxes.length).to.eql(DISABLED_ALERTS_CHECKBOX); + expect(enabledCheckBoxes.length).to.eql(ENABLED_ALERTS_CHECKBOX); + }); + + it('validate formatting of the bulk actions button', async () => { + const selectAll = await testSubjects.find('select-all-events'); + await selectAll.click(); + const bulkActionsButton = await testSubjects.find('selectedShowBulkActionsButton'); + expect(await bulkActionsButton.getVisibleText()).to.be('Selected 2 alerts'); + await selectAll.click(); + }); + + it('validate functionality of the bulk actions button', async () => { + const selectAll = await testSubjects.find('select-all-events'); + await selectAll.click(); + + const bulkActionsButton = await testSubjects.find('selectedShowBulkActionsButton'); + await bulkActionsButton.click(); + + const bulkActionsAcknowledgedAlertStatusButton = await testSubjects.find( + 'acknowledged-alert-status' + ); + await bulkActionsAcknowledgedAlertStatusButton.click(); + await observability.alerts.common.setWorkflowStatusFilter('acknowledged'); + + await retry.try(async () => { + const enabledCheckBoxes = + await observability.alerts.common.getAllEnabledCheckBoxInTable(); + expect(enabledCheckBoxes.length).to.eql(3); + }); + }); + }); }); }); }; diff --git a/x-pack/test/observability_functional/apps/observability/alerts/workflow_status.ts b/x-pack/test/observability_functional/apps/observability/alerts/workflow_status.ts index 879cef01c2ada..0356b64cf31f7 100644 --- a/x-pack/test/observability_functional/apps/observability/alerts/workflow_status.ts +++ b/x-pack/test/observability_functional/apps/observability/alerts/workflow_status.ts @@ -13,7 +13,8 @@ const OPEN_ALERTS_ROWS_COUNT = 12; export default ({ getService }: FtrProviderContext) => { const esArchiver = getService('esArchiver'); - describe('alert workflow status', function () { + // FLAKY: https://github.com/elastic/kibana/issues/117290 + describe.skip('alert workflow status', function () { this.tags('includeFirefox'); const observability = getService('observability'); diff --git a/x-pack/test/performance/config.ts b/x-pack/test/performance/config.playwright.ts similarity index 76% rename from x-pack/test/performance/config.ts rename to x-pack/test/performance/config.playwright.ts index 89b7b52e28670..0b1b9d8d994e1 100644 --- a/x-pack/test/performance/config.ts +++ b/x-pack/test/performance/config.playwright.ts @@ -10,15 +10,17 @@ import { FtrConfigProviderContext } from '@kbn/test'; import { services } from './services'; import { pageObjects } from './page_objects'; -// These "secret" values are intentionally written in the source. We would make the APM server accept annonymous traffic if we could +// These "secret" values are intentionally written in the source. We would make the APM server accept anonymous traffic if we could const APM_SERVER_URL = 'https://2fad4006bf784bb8a54e52f4a5862609.apm.us-west1.gcp.cloud.es.io:443'; const APM_PUBLIC_TOKEN = 'Q5q5rWQEw6tKeirBpw'; export default async function ({ readConfigFile }: FtrConfigProviderContext) { const functionalConfig = await readConfigFile(require.resolve('../functional/config')); + const testFiles = [require.resolve('./tests/playwright/home.ts')]; + return { - testFiles: [require.resolve('./tests/index.ts')], + testFiles, services, pageObjects, servers: functionalConfig.get('servers'), @@ -31,20 +33,14 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { kbnTestServer: { ...functionalConfig.get('kbnTestServer'), env: { - ELASTIC_APM_ACTIVE: 'true', + ELASTIC_APM_ACTIVE: process.env.ELASTIC_APM_ACTIVE, ELASTIC_APM_ENVIRONMENT: process.env.CI ? 'ci' : 'development', ELASTIC_APM_TRANSACTION_SAMPLE_RATE: '1.0', ELASTIC_APM_SERVER_URL: APM_SERVER_URL, ELASTIC_APM_SECRET_TOKEN: APM_PUBLIC_TOKEN, ELASTIC_APM_GLOBAL_LABELS: Object.entries({ - ftrConfig: `x-pack/test/performance`, - jenkinsJobName: process.env.JOB_NAME, - jenkinsBuildNumber: process.env.BUILD_NUMBER, - prId: process.env.PR_NUMBER, - branch: process.env.GIT_BRANCH, - commit: process.env.GIT_COMMIT, - mergeBase: process.env.PR_MERGE_BASE, - targetBranch: process.env.PR_TARGET_BRANCH, + ftrConfig: `x-pack/test/performance/tests/config.playwright`, + performancePhase: process.env.PERF_TEST_PHASE, }) .filter(([, v]) => !!v) .reduce((acc, [k, v]) => (acc ? `${acc},${k}=${v}` : `${k}=${v}`), ''), diff --git a/x-pack/test/performance/tests/reporting_dashboard.ts b/x-pack/test/performance/tests/ftr/reporting_dashboard.ts similarity index 96% rename from x-pack/test/performance/tests/reporting_dashboard.ts rename to x-pack/test/performance/tests/ftr/reporting_dashboard.ts index 93b4010ab27a8..6a696dda5afb9 100644 --- a/x-pack/test/performance/tests/reporting_dashboard.ts +++ b/x-pack/test/performance/tests/ftr/reporting_dashboard.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { FtrProviderContext } from '../ftr_provider_context'; +import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getService, getPageObject }: FtrProviderContext) { const retry = getService('retry'); diff --git a/x-pack/test/performance/tests/home.ts b/x-pack/test/performance/tests/home.ts deleted file mode 100644 index eda690b9b0a19..0000000000000 --- a/x-pack/test/performance/tests/home.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { FtrProviderContext } from '../ftr_provider_context'; - -export default function ({ getService, getPageObjects }: FtrProviderContext) { - const PageObjects = getPageObjects(['common', 'security']); - const testSubjects = getService('testSubjects'); - - describe('Login', () => { - it('login and navigate to homepage', async () => { - await PageObjects.common.navigateToApp('login'); - - await testSubjects.existOrFail('loginSubmit', { timeout: 2000 }); - - await PageObjects.security.login(); - - await testSubjects.existOrFail('homeApp', { timeout: 2000 }); - }); - }); -} diff --git a/x-pack/test/performance/tests/playwright/home.ts b/x-pack/test/performance/tests/playwright/home.ts new file mode 100644 index 0000000000000..2460464c80987 --- /dev/null +++ b/x-pack/test/performance/tests/playwright/home.ts @@ -0,0 +1,55 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import Url from 'url'; +import { ChromiumBrowser, Page } from 'playwright'; +import testSetup from './setup'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +export default function ({ getService }: FtrProviderContext) { + describe('perf_login_and_home', () => { + const config = getService('config'); + const kibanaUrl = Url.format({ + protocol: config.get('servers.kibana.protocol'), + hostname: config.get('servers.kibana.hostname'), + port: config.get('servers.kibana.port'), + }); + + let page: Page | null = null; + let browser: ChromiumBrowser | null = null; + + before(async () => { + const context = await testSetup(); + page = context.page; + browser = context.browser; + }); + + after(async () => { + await browser?.close(); + }); + + it('Go to Kibana login page', async () => { + await page?.goto(`${kibanaUrl}`); + }); + + it('Login to Kibana', async () => { + const usernameLocator = page?.locator('[data-test-subj=loginUsername]'); + const passwordLocator = page?.locator('[data-test-subj=loginPassword]'); + const submitButtonLocator = page?.locator('[data-test-subj=loginSubmit]'); + + await usernameLocator?.type('elastic', { delay: 500 }); + await passwordLocator?.type('changeme', { delay: 500 }); + await submitButtonLocator?.click({ delay: 1000 }); + }); + + it('Dismiss Welcome Screen', async () => { + await page?.waitForLoadState(); + const skipButtonLocator = page?.locator('[data-test-subj=skipWelcomeScreen]'); + await skipButtonLocator?.click({ delay: 1000 }); + await page?.waitForLoadState('networkidle'); + }); + }); +} diff --git a/x-pack/test/performance/tests/playwright/setup.ts b/x-pack/test/performance/tests/playwright/setup.ts new file mode 100644 index 0000000000000..b89335f19c101 --- /dev/null +++ b/x-pack/test/performance/tests/playwright/setup.ts @@ -0,0 +1,34 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import playwright, { ChromiumBrowser, Page } from 'playwright'; + +interface ITestSetup { + browser: ChromiumBrowser; + page: Page; +} + +const headless = process.env.TEST_BROWSER_HEADLESS === '1'; + +export default async (): Promise => { + const browser = await playwright.chromium.launch({ headless }); + const page = await browser.newPage(); + const client = await page.context().newCDPSession(page); + + await client.send('Network.clearBrowserCache'); + await client.send('Network.setCacheDisabled', { cacheDisabled: true }); + await client.send('Network.emulateNetworkConditions', { + latency: 100, + downloadThroughput: 750_000, + uploadThroughput: 750_000, + offline: false, + }); + + await page.route('**', (route) => route.continue()); + + return { browser, page }; +}; diff --git a/x-pack/test/plugin_functional/es_archives/global_search/basic/data.json b/x-pack/test/plugin_functional/es_archives/global_search/basic/data.json index 97064dade912e..c08cbd199a677 100644 --- a/x-pack/test/plugin_functional/es_archives/global_search/basic/data.json +++ b/x-pack/test/plugin_functional/es_archives/global_search/basic/data.json @@ -2,7 +2,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "index-pattern:logstash-*", "source": { "index-pattern": { @@ -23,7 +23,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "visualization:75c3e060-1e7c-11e9-8488-65449e65d0ed", "source": { "visualization": { @@ -46,7 +46,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "dashboard:i-exist", "source": { "dashboard": { @@ -71,7 +71,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "config:6.0.0", "source": { "config": { @@ -88,7 +88,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "map:0b849ed0-70f5-11e9-8625-9580c4904684", "source": { "map": { @@ -139,7 +139,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "dashboard:1c1a87f0-70f5-11e9-8625-9580c4904684", "source": { "dashboard": { @@ -174,7 +174,7 @@ "type": "doc", "value": { "index": ".kibana", - "type": "doc", + "type": "_doc", "id": "query:OKJpgs", "source": { "query": { diff --git a/x-pack/test/plugin_functional/es_archives/global_search/basic/mappings.json b/x-pack/test/plugin_functional/es_archives/global_search/basic/mappings.json index faa4898e6f933..f87503f7e2538 100644 --- a/x-pack/test/plugin_functional/es_archives/global_search/basic/mappings.json +++ b/x-pack/test/plugin_functional/es_archives/global_search/basic/mappings.json @@ -13,464 +13,461 @@ } }, "mappings": { - "doc": { - "dynamic": "strict", - "properties": { - "apm-telemetry": { - "properties": { - "has_any_services": { - "type": "boolean" - }, - "services_per_agent": { - "properties": { - "go": { - "type": "long", - "null_value": 0 - }, - "java": { - "type": "long", - "null_value": 0 - }, - "js-base": { - "type": "long", - "null_value": 0 - }, - "nodejs": { - "type": "long", - "null_value": 0 - }, - "python": { - "type": "long", - "null_value": 0 - }, - "ruby": { - "type": "long", - "null_value": 0 - } + "dynamic": "strict", + "properties": { + "apm-telemetry": { + "properties": { + "has_any_services": { + "type": "boolean" + }, + "services_per_agent": { + "properties": { + "go": { + "type": "long", + "null_value": 0 + }, + "java": { + "type": "long", + "null_value": 0 + }, + "js-base": { + "type": "long", + "null_value": 0 + }, + "nodejs": { + "type": "long", + "null_value": 0 + }, + "python": { + "type": "long", + "null_value": 0 + }, + "ruby": { + "type": "long", + "null_value": 0 } } } - }, - "canvas-workpad": { - "dynamic": "false", - "properties": { - "@created": { - "type": "date" - }, - "@timestamp": { - "type": "date" - }, - "id": { - "type": "text", - "index": false - }, - "name": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword" - } + } + }, + "canvas-workpad": { + "dynamic": "false", + "properties": { + "@created": { + "type": "date" + }, + "@timestamp": { + "type": "date" + }, + "id": { + "type": "text", + "index": false + }, + "name": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword" } } } - }, - "config": { - "dynamic": "true", - "properties": { - "accessibility:disableAnimations": { - "type": "boolean" - }, - "buildNum": { - "type": "keyword" - }, - "dateFormat:tz": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "config": { + "dynamic": "true", + "properties": { + "accessibility:disableAnimations": { + "type": "boolean" + }, + "buildNum": { + "type": "keyword" + }, + "dateFormat:tz": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } - }, - "defaultIndex": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "defaultIndex": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } - }, - "telemetry:optIn": { - "type": "boolean" } + }, + "telemetry:optIn": { + "type": "boolean" } - }, - "dashboard": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "dashboard": { + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } + } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" + }, + "pause": { + "type": "boolean" + }, + "section": { + "type": "integer" + }, + "value": { + "type": "integer" } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "map": { - "properties": { - "bounds": { - "type": "geo_shape", - "tree": "quadtree" - }, - "description": { - "type": "text" - }, - "layerListJSON": { - "type": "text" - }, - "mapStateJSON": { - "type": "text" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - } + } + }, + "map": { + "properties": { + "bounds": { + "type": "geo_shape" + }, + "description": { + "type": "text" + }, + "layerListJSON": { + "type": "text" + }, + "mapStateJSON": { + "type": "text" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "graph-workspace": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "graph-workspace": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "numLinks": { - "type": "integer" - }, - "numVertices": { - "type": "integer" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "wsState": { - "type": "text" } + }, + "numLinks": { + "type": "integer" + }, + "numVertices": { + "type": "integer" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "wsState": { + "type": "text" } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "type": { - "type": "keyword" - }, - "typeMeta": { - "type": "keyword" - } + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "type": { + "type": "keyword" + }, + "typeMeta": { + "type": "keyword" } - }, - "kql-telemetry": { - "properties": { - "optInCount": { - "type": "long" - }, - "optOutCount": { - "type": "long" - } + } + }, + "kql-telemetry": { + "properties": { + "optInCount": { + "type": "long" + }, + "optOutCount": { + "type": "long" } - }, - "migrationVersion": { - "dynamic": "true", - "properties": { - "index-pattern": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } - } - }, - "space": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } + } + }, + "migrationVersion": { + "dynamic": "true", + "properties": { + "index-pattern": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 } } - } - }, - "migrationVersion": { - "dynamic": "true", - "properties": { - "index-pattern": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" + }, + "space": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } } } - }, - "namespace": { - "type": "keyword" - }, - "references": { - "type": "nested", - "properties": { - "name": { - "type": "keyword" - }, - "type": { - "type": "keyword" + } + }, + "migrationVersion": { + "dynamic": "true", + "properties": { + "index-pattern": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "id": { - "type": "keyword" - } + "type": "text" } - }, - "search": { - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "namespace": { + "type": "keyword" + }, + "references": { + "type": "nested", + "properties": { + "name": { + "type": "keyword" + }, + "type": { + "type": "keyword" + }, + "id": { + "type": "keyword" + } + } + }, + "search": { + "properties": { + "columns": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "sort": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } + } + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" } - }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "initials": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 2048 - } + } + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "initials": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 2048 } } } - }, - "spaceId": { - "type": "keyword" - }, - "telemetry": { - "properties": { - "enabled": { - "type": "boolean" - } + } + }, + "spaceId": { + "type": "keyword" + }, + "telemetry": { + "properties": { + "enabled": { + "type": "boolean" } - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" - }, - "url": { - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" - }, - "url": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 2048 - } + } + }, + "type": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + }, + "url": { + "properties": { + "accessCount": { + "type": "long" + }, + "accessDate": { + "type": "date" + }, + "createDate": { + "type": "date" + }, + "url": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 2048 } } } - }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" } + }, + "savedSearchId": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" } - }, - "query": { - "properties": { - "title": { - "type": "text" - }, - "description": { - "type": "text" - }, - "query": { - "properties": { - "language": { - "type": "keyword" - }, - "query": { - "type": "keyword", - "index": false - } + } + }, + "query": { + "properties": { + "title": { + "type": "text" + }, + "description": { + "type": "text" + }, + "query": { + "properties": { + "language": { + "type": "keyword" + }, + "query": { + "type": "keyword", + "index": false } - }, - "filters": { - "type": "object", - "enabled": false - }, - "timefilter": { - "type": "object", - "enabled": false } + }, + "filters": { + "type": "object", + "enabled": false + }, + "timefilter": { + "type": "object", + "enabled": false } } } diff --git a/x-pack/test/plugin_functional/es_archives/global_search/search_syntax/data.json b/x-pack/test/plugin_functional/es_archives/global_search/search_syntax/data.json index 8379290f5d9bb..20bdc4f9b5660 100644 --- a/x-pack/test/plugin_functional/es_archives/global_search/search_syntax/data.json +++ b/x-pack/test/plugin_functional/es_archives/global_search/search_syntax/data.json @@ -12,7 +12,7 @@ "type": "space", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -30,7 +30,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -48,7 +48,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -66,7 +66,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -84,7 +84,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -102,7 +102,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } diff --git a/x-pack/test/plugin_functional/es_archives/global_search/search_syntax/mappings.json b/x-pack/test/plugin_functional/es_archives/global_search/search_syntax/mappings.json index 3feab7130d1db..35537a9755510 100644 --- a/x-pack/test/plugin_functional/es_archives/global_search/search_syntax/mappings.json +++ b/x-pack/test/plugin_functional/es_archives/global_search/search_syntax/mappings.json @@ -6,254 +6,252 @@ }, "index": ".kibana_1", "mappings": { - "doc": { - "dynamic": "strict", - "properties": { - "migrationVersion": { - "dynamic": "true", - "properties": { - "dashboard": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "index-pattern": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "search": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "visualization": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" - }, - "defaultIndex": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "dashboard": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + "dynamic": "strict", + "properties": { + "migrationVersion": { + "dynamic": "true", + "properties": { + "dashboard": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" } }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } + "type": "text" + }, + "index-pattern": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" } }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" + "type": "text" + }, + "search": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "uiStateJSON": { - "type": "text" + "type": "text" + }, + "visualization": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "version": { - "type": "integer" - } + "type": "text" } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, + } + }, + "config": { + "dynamic": "true", + "properties": { + "buildNum": { + "type": "keyword" + }, + "defaultIndex": { "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "title": { - "type": "text" - } + "type": "text" } - }, - "namespace": { - "type": "keyword" - }, - "namespaces": { - "type": "keyword" - }, - "originId": { - "type": "keyword" - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } - } - }, - "tag": { - "properties": { - "name": { - "type": "text" - }, - "description": { - "type": "text" - }, - "color": { - "type": "text" + } + }, + "dashboard": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" + } } - } - }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "initials": { - "type": "keyword" - }, - "name": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" + }, + "pause": { + "type": "boolean" + }, + "section": { + "type": "integer" }, - "type": "text" + "value": { + "type": "integer" + } } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "references": { - "properties": { - "id": { - "type": "keyword" - }, - "name": { - "type": "keyword" + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" + } + } + }, + "namespace": { + "type": "keyword" + }, + "namespaces": { + "type": "keyword" + }, + "originId": { + "type": "keyword" + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" + } + } + }, + "tag": { + "properties": { + "name": { + "type": "text" + }, + "description": { + "type": "text" + }, + "color": { + "type": "text" + } + } + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "initials": { + "type": "keyword" + }, + "name": { + "fields": { + "keyword": { + "ignore_above": 2048, + "type": "keyword" + } }, - "type": { - "type": "keyword" - } + "type": "text" + } + } + }, + "references": { + "properties": { + "id": { + "type": "keyword" }, - "type": "nested" - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" + "name": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + "type": "nested" + }, + "type": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" } + }, + "savedSearchId": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" } } } diff --git a/x-pack/test/reporting_api_integration/reporting_and_security/__snapshots__/download_csv_dashboard.snap b/x-pack/test/reporting_api_integration/reporting_and_security/__snapshots__/download_csv_dashboard.snap index d2f07644c5a1b..b991c66039086 100644 --- a/x-pack/test/reporting_api_integration/reporting_and_security/__snapshots__/download_csv_dashboard.snap +++ b/x-pack/test/reporting_api_integration/reporting_and_security/__snapshots__/download_csv_dashboard.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`Reporting APIs CSV Generation from SearchSource Exports CSV with all fields when using defaults 1`] = ` +exports[`Reporting APIs CSV Generation from SearchSource Exports CSV with all fields when using defaults (ES 7) 1`] = ` "_id,_index,_score,_type,category,category.keyword,currency,customer_first_name,customer_first_name.keyword,customer_full_name,customer_full_name.keyword,customer_gender,customer_id,customer_last_name,customer_last_name.keyword,customer_phone,day_of_week,day_of_week_i,email,geoip.city_name,geoip.continent_name,geoip.country_iso_code,geoip.location,geoip.region_name,manufacturer,manufacturer.keyword,order_date,order_id,products._id,products._id.keyword,products.base_price,products.base_unit_price,products.category,products.category.keyword,products.created_on,products.discount_amount,products.discount_percentage,products.manufacturer,products.manufacturer.keyword,products.min_price,products.price,products.product_id,products.product_name,products.product_name.keyword,products.quantity,products.sku,products.tax_amount,products.taxful_price,products.taxless_price,products.unit_discount_amount,sku,taxful_total_price,taxless_total_price,total_quantity,total_unique_products,type,user 9AMtOW0BH63Xcmy432DJ,ecommerce,-,_doc,Men's Clothing,Men's Clothing,EUR,Boris,Boris,Boris Bradley,Boris Bradley,MALE,36,Bradley,Bradley,(empty),Wednesday,2,boris@bradley-family.zzz,-,Europe,GB,{ \\"coordinates\\": [ @@ -40,7 +40,47 @@ jwMtOW0BH63Xcmy432HJ,ecommerce,-,_doc,Men's Clothing,Men's Clothing,EUR,Jackson, " `; -exports[`Reporting APIs CSV Generation from SearchSource Exports CSV with almost all fields when using fieldsFromSource 1`] = ` +exports[`Reporting APIs CSV Generation from SearchSource Exports CSV with all fields when using defaults (ES 8) 1`] = ` +"_id,_index,_score,_type,category,category.keyword,currency,customer_first_name,customer_first_name.keyword,customer_full_name,customer_full_name.keyword,customer_gender,customer_id,customer_last_name,customer_last_name.keyword,customer_phone,day_of_week,day_of_week_i,email,geoip.city_name,geoip.continent_name,geoip.country_iso_code,geoip.location,geoip.region_name,manufacturer,manufacturer.keyword,order_date,order_id,products._id,products._id.keyword,products.base_price,products.base_unit_price,products.category,products.category.keyword,products.created_on,products.discount_amount,products.discount_percentage,products.manufacturer,products.manufacturer.keyword,products.min_price,products.price,products.product_id,products.product_name,products.product_name.keyword,products.quantity,products.sku,products.tax_amount,products.taxful_price,products.taxless_price,products.unit_discount_amount,sku,taxful_total_price,taxless_total_price,total_quantity,total_unique_products,type,user +9AMtOW0BH63Xcmy432DJ,ecommerce,-,-,Men's Clothing,Men's Clothing,EUR,Boris,Boris,Boris Bradley,Boris Bradley,MALE,36,Bradley,Bradley,(empty),Wednesday,2,boris@bradley-family.zzz,-,Europe,GB,{ + \\"coordinates\\": [ + -0.1, + 51.5 + ], + \\"type\\": \\"Point\\" +},-,Microlutions, Elitelligence,Microlutions, Elitelligence,Jun 25, 2019 @ 00:00:00.000,568397,sold_product_568397_24419, sold_product_568397_20207,sold_product_568397_24419, sold_product_568397_20207,33, 28.984,33, 28.984,Men's Clothing, Men's Clothing,Men's Clothing, Men's Clothing,Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000,0, 0,0, 0,Microlutions, Elitelligence,Microlutions, Elitelligence,17.484, 13.922,33, 28.984,24,419, 20,207,Cargo trousers - oliv, Trousers - black,Cargo trousers - oliv, Trousers - black,1, 1,ZO0112101121, ZO0530405304,0, 0,33, 28.984,33, 28.984,0, 0,ZO0112101121, ZO0530405304,61.969,61.969,2,2,order,boris +9QMtOW0BH63Xcmy432DJ,ecommerce,-,-,Men's Clothing,Men's Clothing,EUR,Oliver,Oliver,Oliver Hubbard,Oliver Hubbard,MALE,7,Hubbard,Hubbard,(empty),Wednesday,2,oliver@hubbard-family.zzz,-,Europe,GB,{ + \\"coordinates\\": [ + -0.1, + 51.5 + ], + \\"type\\": \\"Point\\" +},-,Spritechnologies, Microlutions,Spritechnologies, Microlutions,Jun 25, 2019 @ 00:00:00.000,568044,sold_product_568044_12799, sold_product_568044_18008,sold_product_568044_12799, sold_product_568044_18008,14.992, 16.984,14.992, 16.984,Men's Clothing, Men's Clothing,Men's Clothing, Men's Clothing,Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000,0, 0,0, 0,Spritechnologies, Microlutions,Spritechnologies, Microlutions,6.898, 8.828,14.992, 16.984,12,799, 18,008,Undershirt - dark grey multicolor, Long sleeved top - purple,Undershirt - dark grey multicolor, Long sleeved top - purple,1, 1,ZO0630406304, ZO0120201202,0, 0,14.992, 16.984,14.992, 16.984,0, 0,ZO0630406304, ZO0120201202,31.984,31.984,2,2,order,oliver +OAMtOW0BH63Xcmy432HJ,ecommerce,-,-,Women's Accessories,Women's Accessories,EUR,Betty,Betty,Betty Reese,Betty Reese,FEMALE,44,Reese,Reese,(empty),Wednesday,2,betty@reese-family.zzz,New York,North America,US,{ + \\"coordinates\\": [ + -74, + 40.7 + ], + \\"type\\": \\"Point\\" +},New York,Pyramidustries,Pyramidustries,Jun 25, 2019 @ 00:00:00.000,568229,sold_product_568229_24991, sold_product_568229_12039,sold_product_568229_24991, sold_product_568229_12039,11.992, 10.992,11.992, 10.992,Women's Accessories, Women's Accessories,Women's Accessories, Women's Accessories,Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000,0, 0,0, 0,Pyramidustries, Pyramidustries,Pyramidustries, Pyramidustries,6.352, 5.82,11.992, 10.992,24,991, 12,039,Scarf - rose/white, Scarf - nude/black/turquoise,Scarf - rose/white, Scarf - nude/black/turquoise,1, 1,ZO0192201922, ZO0192801928,0, 0,11.992, 10.992,11.992, 10.992,0, 0,ZO0192201922, ZO0192801928,22.984,22.984,2,2,order,betty +OQMtOW0BH63Xcmy432HJ,ecommerce,-,-,Men's Clothing, Men's Accessories,Men's Clothing, Men's Accessories,EUR,Recip,Recip,Recip Salazar,Recip Salazar,MALE,10,Salazar,Salazar,(empty),Wednesday,2,recip@salazar-family.zzz,Istanbul,Asia,TR,{ + \\"coordinates\\": [ + 29, + 41 + ], + \\"type\\": \\"Point\\" +},Istanbul,Elitelligence,Elitelligence,Jun 25, 2019 @ 00:00:00.000,568292,sold_product_568292_23627, sold_product_568292_11149,sold_product_568292_23627, sold_product_568292_11149,24.984, 10.992,24.984, 10.992,Men's Clothing, Men's Accessories,Men's Clothing, Men's Accessories,Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000,0, 0,0, 0,Elitelligence, Elitelligence,Elitelligence, Elitelligence,12.492, 5.059,24.984, 10.992,23,627, 11,149,Slim fit jeans - grey, Sunglasses - black,Slim fit jeans - grey, Sunglasses - black,1, 1,ZO0534205342, ZO0599605996,0, 0,24.984, 10.992,24.984, 10.992,0, 0,ZO0534205342, ZO0599605996,35.969,35.969,2,2,order,recip +jwMtOW0BH63Xcmy432HJ,ecommerce,-,-,Men's Clothing,Men's Clothing,EUR,Jackson,Jackson,Jackson Harper,Jackson Harper,MALE,13,Harper,Harper,(empty),Wednesday,2,jackson@harper-family.zzz,Los Angeles,North America,US,{ + \\"coordinates\\": [ + -118.2, + 34.1 + ], + \\"type\\": \\"Point\\" +},California,Low Tide Media, Oceanavigations,Low Tide Media, Oceanavigations,Jun 25, 2019 @ 00:00:00.000,568386,sold_product_568386_11959, sold_product_568386_2774,sold_product_568386_11959, sold_product_568386_2774,24.984, 85,24.984, 85,Men's Clothing, Men's Clothing,Men's Clothing, Men's Clothing,Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000,0, 0,0, 0,Low Tide Media, Oceanavigations,Low Tide Media, Oceanavigations,12.742, 45.875,24.984, 85,11,959, 2,774,SLIM FIT - Formal shirt - lila, Classic coat - black,SLIM FIT - Formal shirt - lila, Classic coat - black,1, 1,ZO0422404224, ZO0291702917,0, 0,24.984, 85,24.984, 85,0, 0,ZO0422404224, ZO0291702917,110,110,2,2,order,jackson +" +`; + +exports[`Reporting APIs CSV Generation from SearchSource Exports CSV with almost all fields when using fieldsFromSource (ES 7) 1`] = ` "_id,_index,_score,_type,category,currency,customer_first_name,customer_full_name,customer_gender,customer_id,customer_last_name,customer_phone,day_of_week,day_of_week_i,email,geoip,manufacturer,order_date,order_id,products,products.created_on,sku,taxful_total_price,taxless_total_price,total_quantity,total_unique_products,type,user 9AMtOW0BH63Xcmy432DJ,ecommerce,-,_doc,Men's Clothing,EUR,Boris,Boris Bradley,MALE,36,Bradley,-,Wednesday,2,boris@bradley-family.zzz,{\\"continent_name\\":\\"Europe\\",\\"country_iso_code\\":\\"GB\\",\\"location\\":{\\"lat\\":51.5,\\"lon\\":-0.1}},Microlutions, Elitelligence,Jun 25, 2019 @ 00:00:00.000,568397,{\\"_id\\":\\"sold_product_568397_24419\\",\\"base_price\\":32.99,\\"base_unit_price\\":32.99,\\"category\\":\\"Men's Clothing\\",\\"created_on\\":\\"2016-12-14T00:00:00+00:00\\",\\"discount_amount\\":0,\\"discount_percentage\\":0,\\"manufacturer\\":\\"Microlutions\\",\\"min_price\\":17.48,\\"price\\":32.99,\\"product_id\\":24419,\\"product_name\\":\\"Cargo trousers - oliv\\",\\"quantity\\":1,\\"sku\\":\\"ZO0112101121\\",\\"tax_amount\\":0,\\"taxful_price\\":32.99,\\"taxless_price\\":32.99,\\"unit_discount_amount\\":0}, {\\"_id\\":\\"sold_product_568397_20207\\",\\"base_price\\":28.99,\\"base_unit_price\\":28.99,\\"category\\":\\"Men's Clothing\\",\\"created_on\\":\\"2016-12-14T00:00:00+00:00\\",\\"discount_amount\\":0,\\"discount_percentage\\":0,\\"manufacturer\\":\\"Elitelligence\\",\\"min_price\\":13.92,\\"price\\":28.99,\\"product_id\\":20207,\\"product_name\\":\\"Trousers - black\\",\\"quantity\\":1,\\"sku\\":\\"ZO0530405304\\",\\"tax_amount\\":0,\\"taxful_price\\":28.99,\\"taxless_price\\":28.99,\\"unit_discount_amount\\":0},Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000,ZO0112101121, ZO0530405304,61.98,61.98,2,2,order,boris 9QMtOW0BH63Xcmy432DJ,ecommerce,-,_doc,Men's Clothing,EUR,Oliver,Oliver Hubbard,MALE,7,Hubbard,-,Wednesday,2,oliver@hubbard-family.zzz,{\\"continent_name\\":\\"Europe\\",\\"country_iso_code\\":\\"GB\\",\\"location\\":{\\"lat\\":51.5,\\"lon\\":-0.1}},Spritechnologies, Microlutions,Jun 25, 2019 @ 00:00:00.000,568044,{\\"_id\\":\\"sold_product_568044_12799\\",\\"base_price\\":14.99,\\"base_unit_price\\":14.99,\\"category\\":\\"Men's Clothing\\",\\"created_on\\":\\"2016-12-14T00:00:00+00:00\\",\\"discount_amount\\":0,\\"discount_percentage\\":0,\\"manufacturer\\":\\"Spritechnologies\\",\\"min_price\\":6.9,\\"price\\":14.99,\\"product_id\\":12799,\\"product_name\\":\\"Undershirt - dark grey multicolor\\",\\"quantity\\":1,\\"sku\\":\\"ZO0630406304\\",\\"tax_amount\\":0,\\"taxful_price\\":14.99,\\"taxless_price\\":14.99,\\"unit_discount_amount\\":0}, {\\"_id\\":\\"sold_product_568044_18008\\",\\"base_price\\":16.99,\\"base_unit_price\\":16.99,\\"category\\":\\"Men's Clothing\\",\\"created_on\\":\\"2016-12-14T00:00:00+00:00\\",\\"discount_amount\\":0,\\"discount_percentage\\":0,\\"manufacturer\\":\\"Microlutions\\",\\"min_price\\":8.83,\\"price\\":16.99,\\"product_id\\":18008,\\"product_name\\":\\"Long sleeved top - purple\\",\\"quantity\\":1,\\"sku\\":\\"ZO0120201202\\",\\"tax_amount\\":0,\\"taxful_price\\":16.99,\\"taxless_price\\":16.99,\\"unit_discount_amount\\":0},Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000,ZO0630406304, ZO0120201202,31.98,31.98,2,2,order,oliver @@ -49,6 +89,15 @@ OQMtOW0BH63Xcmy432HJ,ecommerce,-,_doc,Men's Clothing, Men's Accessories,EUR,Reci " `; +exports[`Reporting APIs CSV Generation from SearchSource Exports CSV with almost all fields when using fieldsFromSource (ES 8) 1`] = ` +"_id,_index,_score,_type,category,currency,customer_first_name,customer_full_name,customer_gender,customer_id,customer_last_name,customer_phone,day_of_week,day_of_week_i,email,geoip,manufacturer,order_date,order_id,products,products.created_on,sku,taxful_total_price,taxless_total_price,total_quantity,total_unique_products,type,user +9AMtOW0BH63Xcmy432DJ,ecommerce,-,-,Men's Clothing,EUR,Boris,Boris Bradley,MALE,36,Bradley,-,Wednesday,2,boris@bradley-family.zzz,{\\"continent_name\\":\\"Europe\\",\\"country_iso_code\\":\\"GB\\",\\"location\\":{\\"lat\\":51.5,\\"lon\\":-0.1}},Microlutions, Elitelligence,Jun 25, 2019 @ 00:00:00.000,568397,{\\"_id\\":\\"sold_product_568397_24419\\",\\"base_price\\":32.99,\\"base_unit_price\\":32.99,\\"category\\":\\"Men's Clothing\\",\\"created_on\\":\\"2016-12-14T00:00:00+00:00\\",\\"discount_amount\\":0,\\"discount_percentage\\":0,\\"manufacturer\\":\\"Microlutions\\",\\"min_price\\":17.48,\\"price\\":32.99,\\"product_id\\":24419,\\"product_name\\":\\"Cargo trousers - oliv\\",\\"quantity\\":1,\\"sku\\":\\"ZO0112101121\\",\\"tax_amount\\":0,\\"taxful_price\\":32.99,\\"taxless_price\\":32.99,\\"unit_discount_amount\\":0}, {\\"_id\\":\\"sold_product_568397_20207\\",\\"base_price\\":28.99,\\"base_unit_price\\":28.99,\\"category\\":\\"Men's Clothing\\",\\"created_on\\":\\"2016-12-14T00:00:00+00:00\\",\\"discount_amount\\":0,\\"discount_percentage\\":0,\\"manufacturer\\":\\"Elitelligence\\",\\"min_price\\":13.92,\\"price\\":28.99,\\"product_id\\":20207,\\"product_name\\":\\"Trousers - black\\",\\"quantity\\":1,\\"sku\\":\\"ZO0530405304\\",\\"tax_amount\\":0,\\"taxful_price\\":28.99,\\"taxless_price\\":28.99,\\"unit_discount_amount\\":0},Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000,ZO0112101121, ZO0530405304,61.98,61.98,2,2,order,boris +9QMtOW0BH63Xcmy432DJ,ecommerce,-,-,Men's Clothing,EUR,Oliver,Oliver Hubbard,MALE,7,Hubbard,-,Wednesday,2,oliver@hubbard-family.zzz,{\\"continent_name\\":\\"Europe\\",\\"country_iso_code\\":\\"GB\\",\\"location\\":{\\"lat\\":51.5,\\"lon\\":-0.1}},Spritechnologies, Microlutions,Jun 25, 2019 @ 00:00:00.000,568044,{\\"_id\\":\\"sold_product_568044_12799\\",\\"base_price\\":14.99,\\"base_unit_price\\":14.99,\\"category\\":\\"Men's Clothing\\",\\"created_on\\":\\"2016-12-14T00:00:00+00:00\\",\\"discount_amount\\":0,\\"discount_percentage\\":0,\\"manufacturer\\":\\"Spritechnologies\\",\\"min_price\\":6.9,\\"price\\":14.99,\\"product_id\\":12799,\\"product_name\\":\\"Undershirt - dark grey multicolor\\",\\"quantity\\":1,\\"sku\\":\\"ZO0630406304\\",\\"tax_amount\\":0,\\"taxful_price\\":14.99,\\"taxless_price\\":14.99,\\"unit_discount_amount\\":0}, {\\"_id\\":\\"sold_product_568044_18008\\",\\"base_price\\":16.99,\\"base_unit_price\\":16.99,\\"category\\":\\"Men's Clothing\\",\\"created_on\\":\\"2016-12-14T00:00:00+00:00\\",\\"discount_amount\\":0,\\"discount_percentage\\":0,\\"manufacturer\\":\\"Microlutions\\",\\"min_price\\":8.83,\\"price\\":16.99,\\"product_id\\":18008,\\"product_name\\":\\"Long sleeved top - purple\\",\\"quantity\\":1,\\"sku\\":\\"ZO0120201202\\",\\"tax_amount\\":0,\\"taxful_price\\":16.99,\\"taxless_price\\":16.99,\\"unit_discount_amount\\":0},Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000,ZO0630406304, ZO0120201202,31.98,31.98,2,2,order,oliver +OAMtOW0BH63Xcmy432HJ,ecommerce,-,-,Women's Accessories,EUR,Betty,Betty Reese,FEMALE,44,Reese,-,Wednesday,2,betty@reese-family.zzz,{\\"city_name\\":\\"New York\\",\\"continent_name\\":\\"North America\\",\\"country_iso_code\\":\\"US\\",\\"location\\":{\\"lat\\":40.7,\\"lon\\":-74},\\"region_name\\":\\"New York\\"},Pyramidustries,Jun 25, 2019 @ 00:00:00.000,568229,{\\"_id\\":\\"sold_product_568229_24991\\",\\"base_price\\":11.99,\\"base_unit_price\\":11.99,\\"category\\":\\"Women's Accessories\\",\\"created_on\\":\\"2016-12-14T00:00:00+00:00\\",\\"discount_amount\\":0,\\"discount_percentage\\":0,\\"manufacturer\\":\\"Pyramidustries\\",\\"min_price\\":6.35,\\"price\\":11.99,\\"product_id\\":24991,\\"product_name\\":\\"Scarf - rose/white\\",\\"quantity\\":1,\\"sku\\":\\"ZO0192201922\\",\\"tax_amount\\":0,\\"taxful_price\\":11.99,\\"taxless_price\\":11.99,\\"unit_discount_amount\\":0}, {\\"_id\\":\\"sold_product_568229_12039\\",\\"base_price\\":10.99,\\"base_unit_price\\":10.99,\\"category\\":\\"Women's Accessories\\",\\"created_on\\":\\"2016-12-14T00:00:00+00:00\\",\\"discount_amount\\":0,\\"discount_percentage\\":0,\\"manufacturer\\":\\"Pyramidustries\\",\\"min_price\\":5.82,\\"price\\":10.99,\\"product_id\\":12039,\\"product_name\\":\\"Scarf - nude/black/turquoise\\",\\"quantity\\":1,\\"sku\\":\\"ZO0192801928\\",\\"tax_amount\\":0,\\"taxful_price\\":10.99,\\"taxless_price\\":10.99,\\"unit_discount_amount\\":0},Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000,ZO0192201922, ZO0192801928,22.98,22.98,2,2,order,betty +OQMtOW0BH63Xcmy432HJ,ecommerce,-,-,Men's Clothing, Men's Accessories,EUR,Recip,Recip Salazar,MALE,10,Salazar,-,Wednesday,2,recip@salazar-family.zzz,{\\"city_name\\":\\"Istanbul\\",\\"continent_name\\":\\"Asia\\",\\"country_iso_code\\":\\"TR\\",\\"location\\":{\\"lat\\":41,\\"lon\\":29},\\"region_name\\":\\"Istanbul\\"},Elitelligence,Jun 25, 2019 @ 00:00:00.000,568292,{\\"_id\\":\\"sold_product_568292_23627\\",\\"base_price\\":24.99,\\"base_unit_price\\":24.99,\\"category\\":\\"Men's Clothing\\",\\"created_on\\":\\"2016-12-14T00:00:00+00:00\\",\\"discount_amount\\":0,\\"discount_percentage\\":0,\\"manufacturer\\":\\"Elitelligence\\",\\"min_price\\":12.49,\\"price\\":24.99,\\"product_id\\":23627,\\"product_name\\":\\"Slim fit jeans - grey\\",\\"quantity\\":1,\\"sku\\":\\"ZO0534205342\\",\\"tax_amount\\":0,\\"taxful_price\\":24.99,\\"taxless_price\\":24.99,\\"unit_discount_amount\\":0}, {\\"_id\\":\\"sold_product_568292_11149\\",\\"base_price\\":10.99,\\"base_unit_price\\":10.99,\\"category\\":\\"Men's Accessories\\",\\"created_on\\":\\"2016-12-14T00:00:00+00:00\\",\\"discount_amount\\":0,\\"discount_percentage\\":0,\\"manufacturer\\":\\"Elitelligence\\",\\"min_price\\":5.06,\\"price\\":10.99,\\"product_id\\":11149,\\"product_name\\":\\"Sunglasses - black\\",\\"quantity\\":1,\\"sku\\":\\"ZO0599605996\\",\\"tax_amount\\":0,\\"taxful_price\\":10.99,\\"taxless_price\\":10.99,\\"unit_discount_amount\\":0},Dec 14, 2016 @ 00:00:00.000, Dec 14, 2016 @ 00:00:00.000,ZO0534205342, ZO0599605996,35.98,35.98,2,2,order,recip +" +`; + exports[`Reporting APIs CSV Generation from SearchSource date formatting Formatted date_nanos data, UTC timezone 1`] = ` "date,message \\"Jan 1, 2015 @ 12:10:30.123456789\\",\\"Hello 2\\" @@ -215,7 +264,7 @@ exports[`Reporting APIs CSV Generation from SearchSource non-timebased With filt " `; -exports[`Reporting APIs CSV Generation from SearchSource validation Searches large amount of data, stops at Max Size Reached 1`] = ` +exports[`Reporting APIs CSV Generation from SearchSource validation Searches large amount of data, stops at Max Size Reached (ES 7) 1`] = ` "\\"_id\\",\\"_index\\",\\"_score\\",\\"_type\\",category,\\"category.keyword\\",currency,\\"customer_first_name\\",\\"customer_first_name.keyword\\",\\"customer_full_name\\",\\"customer_full_name.keyword\\",\\"customer_gender\\",\\"customer_id\\",\\"customer_last_name\\",\\"customer_last_name.keyword\\",\\"customer_phone\\",\\"day_of_week\\",\\"day_of_week_i\\",email,\\"geoip.city_name\\",\\"geoip.continent_name\\",\\"geoip.country_iso_code\\",\\"geoip.location\\",\\"geoip.region_name\\",manufacturer,\\"manufacturer.keyword\\",\\"order_date\\",\\"order_id\\",\\"products._id\\",\\"products._id.keyword\\",\\"products.base_price\\",\\"products.base_unit_price\\",\\"products.category\\",\\"products.category.keyword\\",\\"products.created_on\\",\\"products.discount_amount\\",\\"products.discount_percentage\\",\\"products.manufacturer\\",\\"products.manufacturer.keyword\\",\\"products.min_price\\",\\"products.price\\",\\"products.product_id\\",\\"products.product_name\\",\\"products.product_name.keyword\\",\\"products.quantity\\",\\"products.sku\\",\\"products.tax_amount\\",\\"products.taxful_price\\",\\"products.taxless_price\\",\\"products.unit_discount_amount\\",sku,\\"taxful_total_price\\",\\"taxless_total_price\\",\\"total_quantity\\",\\"total_unique_products\\",type,user 3AMtOW0BH63Xcmy432DJ,ecommerce,\\"-\\",\\"_doc\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",\\"Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories\\",EUR,\\"Sultan Al\\",\\"Sultan Al\\",\\"Sultan Al Boone\\",\\"Sultan Al Boone\\",MALE,19,Boone,Boone,\\"(empty)\\",Saturday,5,\\"sultan al@boone-family.zzz\\",\\"Abu Dhabi\\",Asia,AE,\\"{ \\"\\"coordinates\\"\\": [ @@ -240,3 +289,36 @@ BgMtOW0BH63Xcmy432LJ,ecommerce,\\"-\\",\\"_doc\\",\\"Women's Clothing\\",\\"Wome }\\",\\"New York\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"Jul 12, 2019 @ 00:00:00.000\\",591709,\\"sold_product_591709_20734, sold_product_591709_7539\\",\\"sold_product_591709_20734, sold_product_591709_7539\\",\\"7.988, 33\\",\\"7.988, 33\\",\\"Women's Clothing, Women's Clothing\\",\\"Women's Clothing, Women's Clothing\\",\\"Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Tigress Enterprises\\",\\"Spherecords, Tigress Enterprises\\",\\"3.6, 17.484\\",\\"7.988, 33\\",\\"20,734, 7,539\\",\\"Basic T-shirt - dark blue, Summer dress - scarab\\",\\"Basic T-shirt - dark blue, Summer dress - scarab\\",\\"1, 1\\",\\"ZO0638206382, ZO0038800388\\",\\"0, 0\\",\\"7.988, 33\\",\\"7.988, 33\\",\\"0, 0\\",\\"ZO0638206382, ZO0038800388\\",\\"40.969\\",\\"40.969\\",2,2,order,brigitte " `; + +exports[`Reporting APIs CSV Generation from SearchSource validation Searches large amount of data, stops at Max Size Reached (ES 8) 1`] = ` +"_id,_index,_score,_type,category,category.keyword,currency,customer_first_name,customer_first_name.keyword,customer_full_name,customer_full_name.keyword,customer_gender,customer_id,customer_last_name,customer_last_name.keyword,customer_phone,day_of_week,day_of_week_i,email,geoip.city_name,geoip.continent_name,geoip.country_iso_code,geoip.location,geoip.region_name,manufacturer,manufacturer.keyword,order_date,order_id,products._id,products._id.keyword,products.base_price,products.base_unit_price,products.category,products.category.keyword,products.created_on,products.discount_amount,products.discount_percentage,products.manufacturer,products.manufacturer.keyword,products.min_price,products.price,products.product_id,products.product_name,products.product_name.keyword,products.quantity,products.sku,products.tax_amount,products.taxful_price,products.taxless_price,products.unit_discount_amount,sku,taxful_total_price,taxless_total_price,total_quantity,total_unique_products,type,user +3AMtOW0BH63Xcmy432DJ,ecommerce,-,-,Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories,Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories,EUR,Sultan Al,Sultan Al,Sultan Al Boone,Sultan Al Boone,MALE,19,Boone,Boone,(empty),Saturday,5,sultan al@boone-family.zzz,Abu Dhabi,Asia,AE,{ + \\"coordinates\\": [ + 54.4, + 24.5 + ], + \\"type\\": \\"Point\\" +},Abu Dhabi,Angeldale, Oceanavigations, Microlutions,Angeldale, Oceanavigations, Microlutions,Jul 12, 2019 @ 00:00:00.000,716724,sold_product_716724_23975, sold_product_716724_6338, sold_product_716724_14116, sold_product_716724_15290,sold_product_716724_23975, sold_product_716724_6338, sold_product_716724_14116, sold_product_716724_15290,80, 60, 21.984, 11.992,80, 60, 21.984, 11.992,Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories,Men's Shoes, Men's Clothing, Women's Accessories, Men's Accessories,Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000,0, 0, 0, 0,0, 0, 0, 0,Angeldale, Oceanavigations, Microlutions, Oceanavigations,Angeldale, Oceanavigations, Microlutions, Oceanavigations,42.375, 33, 10.344, 6.109,80, 60, 21.984, 11.992,23,975, 6,338, 14,116, 15,290,Winter boots - cognac, Trenchcoat - black, Watch - black, Hat - light grey multicolor,Winter boots - cognac, Trenchcoat - black, Watch - black, Hat - light grey multicolor,1, 1, 1, 1,ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085,0, 0, 0, 0,80, 60, 21.984, 11.992,80, 60, 21.984, 11.992,0, 0, 0, 0,ZO0687606876, ZO0290502905, ZO0126701267, ZO0308503085,174,174,4,4,order,sultan +9gMtOW0BH63Xcmy432DJ,ecommerce,-,-,Women's Shoes, Women's Clothing,Women's Shoes, Women's Clothing,EUR,Pia,Pia,Pia Richards,Pia Richards,FEMALE,45,Richards,Richards,(empty),Saturday,5,pia@richards-family.zzz,Cannes,Europe,FR,{ + \\"coordinates\\": [ + 7, + 43.6 + ], + \\"type\\": \\"Point\\" +},Alpes-Maritimes,Tigress Enterprises, Pyramidustries,Tigress Enterprises, Pyramidustries,Jul 12, 2019 @ 00:00:00.000,591503,sold_product_591503_14761, sold_product_591503_11632,sold_product_591503_14761, sold_product_591503_11632,20.984, 20.984,20.984, 20.984,Women's Shoes, Women's Clothing,Women's Shoes, Women's Clothing,Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000,0, 0,0, 0,Tigress Enterprises, Pyramidustries,Tigress Enterprises, Pyramidustries,10.703, 9.867,20.984, 20.984,14,761, 11,632,Classic heels - blue, Summer dress - coral/pink,Classic heels - blue, Summer dress - coral/pink,1, 1,ZO0006400064, ZO0150601506,0, 0,20.984, 20.984,20.984, 20.984,0, 0,ZO0006400064, ZO0150601506,41.969,41.969,2,2,order,pia +BgMtOW0BH63Xcmy432LJ,ecommerce,-,-,Women's Clothing,Women's Clothing,EUR,Brigitte,Brigitte,Brigitte Meyer,Brigitte Meyer,FEMALE,12,Meyer,Meyer,(empty),Saturday,5,brigitte@meyer-family.zzz,New York,North America,US,{ + \\"coordinates\\": [ + -74, + 40.8 + ], + \\"type\\": \\"Point\\" +},New York,Spherecords, Tigress Enterprises,Spherecords, Tigress Enterprises,Jul 12, 2019 @ 00:00:00.000,591709,sold_product_591709_20734, sold_product_591709_7539,sold_product_591709_20734, sold_product_591709_7539,7.988, 33,7.988, 33,Women's Clothing, Women's Clothing,Women's Clothing, Women's Clothing,Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000,0, 0,0, 0,Spherecords, Tigress Enterprises,Spherecords, Tigress Enterprises,3.6, 17.484,7.988, 33,20,734, 7,539,Basic T-shirt - dark blue, Summer dress - scarab,Basic T-shirt - dark blue, Summer dress - scarab,1, 1,ZO0638206382, ZO0038800388,0, 0,7.988, 33,7.988, 33,0, 0,ZO0638206382, ZO0038800388,40.969,40.969,2,2,order,brigitte +KQMtOW0BH63Xcmy432LJ,ecommerce,-,-,Men's Clothing,Men's Clothing,EUR,Abd,Abd,Abd Mccarthy,Abd Mccarthy,MALE,52,Mccarthy,Mccarthy,(empty),Saturday,5,abd@mccarthy-family.zzz,Cairo,Africa,EG,{ + \\"coordinates\\": [ + 31.3, + 30.1 + ], + \\"type\\": \\"Point\\" +},Cairo Governorate,Oceanavigations, Elitelligence,Oceanavigations, Elitelligence,Jul 12, 2019 @ 00:00:00.000,590937,sold_product_590937_14438, sold_product_590937_23607,sold_product_590937_14438, sold_product_590937_23607,28.984, 12.992,28.984, 12.992,Men's Clothing, Men's Clothing,Men's Clothing, Men's Clothing,Dec 31, 2016 @ 00:00:00.000, Dec 31, 2016 @ 00:00:00.000,0, 0,0, 0,Oceanavigations, Elitelligence,Oceanavigations, Elitelligence,13.344, 6.109,28.984, 12.992,14,438, 23,607,Jumper - dark grey multicolor, Print T-shirt - black,Jumper - dark grey multicolor, Print T-shirt - black,1, 1,ZO0297602976, ZO0565605656,0, 0,28.984, 12.992,28.984, 12.992,0, 0,ZO0297602976, ZO0565605656,41.969,41.969,2,2,order,abd +" +`; diff --git a/x-pack/test/reporting_api_integration/reporting_and_security/__snapshots__/generate_csv_discover.snap b/x-pack/test/reporting_api_integration/reporting_and_security/__snapshots__/generate_csv_discover.snap index 7054b596d9575..614a29253a214 100644 --- a/x-pack/test/reporting_api_integration/reporting_and_security/__snapshots__/generate_csv_discover.snap +++ b/x-pack/test/reporting_api_integration/reporting_and_security/__snapshots__/generate_csv_discover.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`Reporting APIs Generate CSV from SearchSource exported CSV file matches snapshot 1`] = ` +exports[`Reporting APIs Generate CSV from SearchSource exported CSV file matches snapshot (7.17) 1`] = ` "\\"_id\\",\\"_index\\",\\"_score\\",\\"_type\\",category,\\"category.keyword\\",currency,\\"customer_first_name\\",\\"customer_first_name.keyword\\",\\"customer_full_name\\",\\"customer_full_name.keyword\\",\\"customer_gender\\",\\"customer_id\\",\\"customer_last_name\\",\\"customer_last_name.keyword\\",\\"customer_phone\\",\\"day_of_week\\",\\"day_of_week_i\\",email,\\"geoip.city_name\\",\\"geoip.continent_name\\",\\"geoip.country_iso_code\\",\\"geoip.location\\",\\"geoip.region_name\\",manufacturer,\\"manufacturer.keyword\\",\\"order_date\\",\\"order_id\\",\\"products._id\\",\\"products._id.keyword\\",\\"products.base_price\\",\\"products.base_unit_price\\",\\"products.category\\",\\"products.category.keyword\\",\\"products.created_on\\",\\"products.discount_amount\\",\\"products.discount_percentage\\",\\"products.manufacturer\\",\\"products.manufacturer.keyword\\",\\"products.min_price\\",\\"products.price\\",\\"products.product_id\\",\\"products.product_name\\",\\"products.product_name.keyword\\",\\"products.quantity\\",\\"products.sku\\",\\"products.tax_amount\\",\\"products.taxful_price\\",\\"products.taxless_price\\",\\"products.unit_discount_amount\\",sku,\\"taxful_total_price\\",\\"taxless_total_price\\",\\"total_quantity\\",\\"total_unique_products\\",type,user NwMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"_doc\\",\\"Men's Accessories, Men's Clothing\\",\\"Men's Accessories, Men's Clothing\\",EUR,Mostafa,Mostafa,\\"Mostafa Lambert\\",\\"Mostafa Lambert\\",MALE,9,Lambert,Lambert,\\"(empty)\\",Tuesday,1,\\"mostafa@lambert-family.zzz\\",Cairo,Africa,EG,\\"{ \\"\\"coordinates\\"\\": [ @@ -32,3 +32,43 @@ bwMtOW0BH63Xcmy432HJ,ecommerce,\\"-\\",\\"_doc\\",\\"Men's Clothing, Men's Shoes }\\",Istanbul,\\"Spherecords, Spritechnologies\\",\\"Spherecords, Spritechnologies\\",\\"Jun 24, 2019 @ 00:00:00.000\\",567736,\\"sold_product_567736_24718, sold_product_567736_24306\\",\\"sold_product_567736_24718, sold_product_567736_24306\\",\\"11.992, 75\\",\\"11.992, 75\\",\\"Men's Clothing, Men's Clothing\\",\\"Men's Clothing, Men's Clothing\\",\\"Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000\\",\\"0, 0\\",\\"0, 0\\",\\"Spherecords, Spritechnologies\\",\\"Spherecords, Spritechnologies\\",\\"6.109, 36.75\\",\\"11.992, 75\\",\\"24,718, 24,306\\",\\"Pyjama bottoms - light grey multicolor, Waterproof trousers - scarlet\\",\\"Pyjama bottoms - light grey multicolor, Waterproof trousers - scarlet\\",\\"1, 1\\",\\"ZO0663706637, ZO0620906209\\",\\"0, 0\\",\\"11.992, 75\\",\\"11.992, 75\\",\\"0, 0\\",\\"ZO0663706637, ZO0620906209\\",87,87,2,2,order,kamal " `; + +exports[`Reporting APIs Generate CSV from SearchSource exported CSV file matches snapshot (8.0) 1`] = ` +"_id,_index,_score,_type,category,category.keyword,currency,customer_first_name,customer_first_name.keyword,customer_full_name,customer_full_name.keyword,customer_gender,customer_id,customer_last_name,customer_last_name.keyword,customer_phone,day_of_week,day_of_week_i,email,geoip.city_name,geoip.continent_name,geoip.country_iso_code,geoip.location,geoip.region_name,manufacturer,manufacturer.keyword,order_date,order_id,products._id,products._id.keyword,products.base_price,products.base_unit_price,products.category,products.category.keyword,products.created_on,products.discount_amount,products.discount_percentage,products.manufacturer,products.manufacturer.keyword,products.min_price,products.price,products.product_id,products.product_name,products.product_name.keyword,products.quantity,products.sku,products.tax_amount,products.taxful_price,products.taxless_price,products.unit_discount_amount,sku,taxful_total_price,taxless_total_price,total_quantity,total_unique_products,type,user +NwMtOW0BH63Xcmy432HJ,ecommerce,-,-,Men's Accessories, Men's Clothing,Men's Accessories, Men's Clothing,EUR,Mostafa,Mostafa,Mostafa Lambert,Mostafa Lambert,MALE,9,Lambert,Lambert,(empty),Tuesday,1,mostafa@lambert-family.zzz,Cairo,Africa,EG,{ + \\"coordinates\\": [ + 31.3, + 30.1 + ], + \\"type\\": \\"Point\\" +},Cairo Governorate,Oceanavigations, Low Tide Media,Oceanavigations, Low Tide Media,Jun 24, 2019 @ 00:00:00.000,567868,sold_product_567868_15827, sold_product_567868_6221,sold_product_567868_15827, sold_product_567868_6221,20.984, 28.984,20.984, 28.984,Men's Accessories, Men's Clothing,Men's Accessories, Men's Clothing,Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000,0, 0,0, 0,Oceanavigations, Low Tide Media,Oceanavigations, Low Tide Media,9.867, 15.07,20.984, 28.984,15,827, 6,221,Belt - black/brown, Shirt - dark blue,Belt - black/brown, Shirt - dark blue,1, 1,ZO0310403104, ZO0416604166,0, 0,20.984, 28.984,20.984, 28.984,0, 0,ZO0310403104, ZO0416604166,49.969,49.969,2,2,order,mostafa +SgMtOW0BH63Xcmy432HJ,ecommerce,-,-,Women's Shoes,Women's Shoes,EUR,Selena,Selena,Selena Lewis,Selena Lewis,FEMALE,42,Lewis,Lewis,(empty),Tuesday,1,selena@lewis-family.zzz,Marrakesh,Africa,MA,{ + \\"coordinates\\": [ + -8, + 31.6 + ], + \\"type\\": \\"Point\\" +},Marrakech-Tensift-Al Haouz,Gnomehouse, Tigress Enterprises,Gnomehouse, Tigress Enterprises,Jun 24, 2019 @ 00:00:00.000,567446,sold_product_567446_12751, sold_product_567446_12494,sold_product_567446_12751, sold_product_567446_12494,65, 24.984,65, 24.984,Women's Shoes, Women's Shoes,Women's Shoes, Women's Shoes,Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000,0, 0,0, 0,Gnomehouse, Tigress Enterprises,Gnomehouse, Tigress Enterprises,31.844, 11.25,65, 24.984,12,751, 12,494,Lace-ups - black, Classic heels - cognac/beige,Lace-ups - black, Classic heels - cognac/beige,1, 1,ZO0322803228, ZO0002700027,0, 0,65, 24.984,65, 24.984,0, 0,ZO0322803228, ZO0002700027,90,90,2,2,order,selena +bwMtOW0BH63Xcmy432HJ,ecommerce,-,-,Men's Clothing, Men's Shoes,Men's Clothing, Men's Shoes,EUR,Oliver,Oliver,Oliver Martin,Oliver Martin,MALE,7,Martin,Martin,(empty),Tuesday,1,oliver@martin-family.zzz,-,Europe,GB,{ + \\"coordinates\\": [ + -0.1, + 51.5 + ], + \\"type\\": \\"Point\\" +},-,Spritechnologies, Elitelligence,Spritechnologies, Elitelligence,Jun 24, 2019 @ 00:00:00.000,567340,sold_product_567340_3840, sold_product_567340_14835,sold_product_567340_3840, sold_product_567340_14835,16.984, 42,16.984, 42,Men's Clothing, Men's Shoes,Men's Clothing, Men's Shoes,Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000,0, 0,0, 0,Spritechnologies, Elitelligence,Spritechnologies, Elitelligence,7.82, 21.406,16.984, 42,3,840, 14,835,Sports shirt - dark grey multicolor, High-top trainers - grey,Sports shirt - dark grey multicolor, High-top trainers - grey,1, 1,ZO0615606156, ZO0514905149,0, 0,16.984, 42,16.984, 42,0, 0,ZO0615606156, ZO0514905149,58.969,58.969,2,2,order,oliver +5AMtOW0BH63Xcmy432HJ,ecommerce,-,-,Men's Clothing,Men's Clothing,EUR,Kamal,Kamal,Kamal Salazar,Kamal Salazar,MALE,39,Salazar,Salazar,(empty),Tuesday,1,kamal@salazar-family.zzz,Istanbul,Asia,TR,{ + \\"coordinates\\": [ + 29, + 41 + ], + \\"type\\": \\"Point\\" +},Istanbul,Spherecords, Spritechnologies,Spherecords, Spritechnologies,Jun 24, 2019 @ 00:00:00.000,567736,sold_product_567736_24718, sold_product_567736_24306,sold_product_567736_24718, sold_product_567736_24306,11.992, 75,11.992, 75,Men's Clothing, Men's Clothing,Men's Clothing, Men's Clothing,Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000,0, 0,0, 0,Spherecords, Spritechnologies,Spherecords, Spritechnologies,6.109, 36.75,11.992, 75,24,718, 24,306,Pyjama bottoms - light grey multicolor, Waterproof trousers - scarlet,Pyjama bottoms - light grey multicolor, Waterproof trousers - scarlet,1, 1,ZO0663706637, ZO0620906209,0, 0,11.992, 75,11.992, 75,0, 0,ZO0663706637, ZO0620906209,87,87,2,2,order,kamal +EQMtOW0BH63Xcmy432LJ,ecommerce,-,-,Men's Clothing, Men's Shoes,Men's Clothing, Men's Shoes,EUR,Kamal,Kamal,Kamal Fleming,Kamal Fleming,MALE,39,Fleming,Fleming,(empty),Tuesday,1,kamal@fleming-family.zzz,Istanbul,Asia,TR,{ + \\"coordinates\\": [ + 29, + 41 + ], + \\"type\\": \\"Point\\" +},Istanbul,Elitelligence, Oceanavigations,Elitelligence, Oceanavigations,Jun 24, 2019 @ 00:00:00.000,567755,sold_product_567755_16941, sold_product_567755_1820,sold_product_567755_16941, sold_product_567755_1820,16.984, 75,16.984, 75,Men's Clothing, Men's Shoes,Men's Clothing, Men's Shoes,Dec 13, 2016 @ 00:00:00.000, Dec 13, 2016 @ 00:00:00.000,0, 0,0, 0,Elitelligence, Oceanavigations,Elitelligence, Oceanavigations,8.492, 36.75,16.984, 75,16,941, 1,820,Vibrant Pattern Polo, Smart slip-ons - oro,Vibrant Pattern Polo, Smart slip-ons - oro,1, 1,ZO0571405714, ZO0255402554,0, 0,16.984, 75,16.984, 75,0, 0,ZO0571405714, ZO0255402554,92,92,2,2,order,kamal +" +`; diff --git a/x-pack/test/reporting_api_integration/reporting_and_security/download_csv_dashboard.ts b/x-pack/test/reporting_api_integration/reporting_and_security/download_csv_dashboard.ts index 3515602342db5..1ed6e5439a6df 100644 --- a/x-pack/test/reporting_api_integration/reporting_and_security/download_csv_dashboard.ts +++ b/x-pack/test/reporting_api_integration/reporting_and_security/download_csv_dashboard.ts @@ -23,6 +23,7 @@ export default function ({ getService }: FtrProviderContext) { const esArchiver = getService('esArchiver'); const supertestSvc = getService('supertest'); const reportingAPI = getService('reportingAPI'); + const esVersion = getService('esVersion'); const generateAPI = { getCSVFromSearchSource: async (job: JobParamsDownloadCSV) => { @@ -36,7 +37,10 @@ export default function ({ getService }: FtrProviderContext) { const fromTime = '2019-06-20T00:00:00.000Z'; const toTime = '2019-06-25T00:00:00.000Z'; - describe('CSV Generation from SearchSource', () => { + const itIfEs7 = esVersion.matchRange('<8') ? it : it.skip; + const itIfEs8 = esVersion.matchRange('>=8') ? it : it.skip; + + describe('CSV Generation from SearchSource', function () { before(async () => { await kibanaServer.uiSettings.update({ 'csv:quoteValues': false, @@ -50,149 +54,171 @@ export default function ({ getService }: FtrProviderContext) { await reportingAPI.deleteAllReports(); }); - it('Exports CSV with almost all fields when using fieldsFromSource', async () => { - const { - status: resStatus, - text: resText, - type: resType, - } = (await generateAPI.getCSVFromSearchSource( - getMockJobParams({ - searchSource: { - query: { query: '', language: 'kuery' }, - index: '5193f870-d861-11e9-a311-0fa548c5f953', - sort: [{ order_date: 'desc' }], - fieldsFromSource: [ - '_id', - '_index', - '_score', - '_source', - '_type', - 'category', - 'category.keyword', - 'currency', - 'customer_birth_date', - 'customer_first_name', - 'customer_first_name.keyword', - 'customer_full_name', - 'customer_full_name.keyword', - 'customer_gender', - 'customer_id', - 'customer_last_name', - 'customer_last_name.keyword', - 'customer_phone', - 'day_of_week', - 'day_of_week_i', - 'email', - 'geoip.city_name', - 'geoip.continent_name', - 'geoip.country_iso_code', - 'geoip.location', - 'geoip.region_name', - 'manufacturer', - 'manufacturer.keyword', - 'order_date', - 'order_id', - 'products._id', - 'products._id.keyword', - 'products.base_price', - 'products.base_unit_price', - 'products.category', - 'products.category.keyword', - 'products.created_on', - 'products.discount_amount', - 'products.discount_percentage', - 'products.manufacturer', - 'products.manufacturer.keyword', - 'products.min_price', - 'products.price', - 'products.product_id', - 'products.product_name', - 'products.product_name.keyword', - 'products.quantity', - 'products.sku', - 'products.tax_amount', - 'products.taxful_price', - 'products.taxless_price', - 'products.unit_discount_amount', - 'sku', - 'taxful_total_price', - 'taxless_total_price', - 'total_quantity', - 'total_unique_products', - 'type', - 'user', - ], - filter: [], - parent: { - query: { language: 'kuery', query: '' }, + describe('Exports CSV with almost all fields when using fieldsFromSource', () => { + let resText: string; + before(async () => { + const { + status: resStatus, + type: resType, + text, + } = (await generateAPI.getCSVFromSearchSource( + getMockJobParams({ + searchSource: { + query: { query: '', language: 'kuery' }, + index: '5193f870-d861-11e9-a311-0fa548c5f953', + sort: [{ order_date: 'desc' }], + fieldsFromSource: [ + '_id', + '_index', + '_score', + '_source', + 'category', + 'category.keyword', + 'currency', + 'customer_birth_date', + 'customer_first_name', + 'customer_first_name.keyword', + 'customer_full_name', + 'customer_full_name.keyword', + 'customer_gender', + 'customer_id', + 'customer_last_name', + 'customer_last_name.keyword', + 'customer_phone', + 'day_of_week', + 'day_of_week_i', + 'email', + 'geoip.city_name', + 'geoip.continent_name', + 'geoip.country_iso_code', + 'geoip.location', + 'geoip.region_name', + 'manufacturer', + 'manufacturer.keyword', + 'order_date', + 'order_id', + 'products._id', + 'products._id.keyword', + 'products.base_price', + 'products.base_unit_price', + 'products.category', + 'products.category.keyword', + 'products.created_on', + 'products.discount_amount', + 'products.discount_percentage', + 'products.manufacturer', + 'products.manufacturer.keyword', + 'products.min_price', + 'products.price', + 'products.product_id', + 'products.product_name', + 'products.product_name.keyword', + 'products.quantity', + 'products.sku', + 'products.tax_amount', + 'products.taxful_price', + 'products.taxless_price', + 'products.unit_discount_amount', + 'sku', + 'taxful_total_price', + 'taxless_total_price', + 'total_quantity', + 'total_unique_products', + 'type', + 'user', + ], filter: [], parent: { - filter: [ - { - meta: { index: '5193f870-d861-11e9-a311-0fa548c5f953', params: {} }, - range: { - order_date: { - gte: fromTime, - lte: toTime, - format: 'strict_date_optional_time', + query: { language: 'kuery', query: '' }, + filter: [], + parent: { + filter: [ + { + meta: { index: '5193f870-d861-11e9-a311-0fa548c5f953', params: {} }, + range: { + order_date: { + gte: fromTime, + lte: toTime, + format: 'strict_date_optional_time', + }, }, }, - }, - ], + ], + }, }, }, - }, - browserTimezone: 'UTC', - title: 'testfooyu78yt90-', - }) - )) as supertest.Response; - expect(resStatus).to.eql(200); - expect(resType).to.eql('text/csv'); - expectSnapshot(resText).toMatch(); + browserTimezone: 'UTC', + title: 'testfooyu78yt90-', + }) + )) as supertest.Response; + expect(resStatus).to.eql(200); + expect(resType).to.eql('text/csv'); + resText = text; + }); + + itIfEs7('(ES 7)', async () => { + expectSnapshot(resText).toMatch(); + }); + + itIfEs8('(ES 8)', async () => { + expectSnapshot(resText).toMatch(); + }); }); - it('Exports CSV with all fields when using defaults', async () => { - const { - status: resStatus, - text: resText, - type: resType, - } = await generateAPI.getCSVFromSearchSource( - getMockJobParams({ - searchSource: { - query: { query: '', language: 'kuery' }, - index: '5193f870-d861-11e9-a311-0fa548c5f953', - sort: [{ order_date: 'desc' }], - fields: ['*'], - filter: [], - parent: { - query: { language: 'kuery', query: '' }, + describe('Exports CSV with all fields when using defaults', () => { + let resText: string; + before(async () => { + const { + status: resStatus, + type: resType, + text, + } = await generateAPI.getCSVFromSearchSource( + getMockJobParams({ + searchSource: { + query: { query: '', language: 'kuery' }, + index: '5193f870-d861-11e9-a311-0fa548c5f953', + sort: [{ order_date: 'desc' }], + fields: ['*'], filter: [], parent: { - filter: [ - { - meta: { index: '5193f870-d861-11e9-a311-0fa548c5f953', params: {} }, - range: { - order_date: { - gte: fromTime, - lte: toTime, - format: 'strict_date_optional_time', + query: { language: 'kuery', query: '' }, + filter: [], + parent: { + filter: [ + { + meta: { index: '5193f870-d861-11e9-a311-0fa548c5f953', params: {} }, + range: { + order_date: { + gte: fromTime, + lte: toTime, + format: 'strict_date_optional_time', + }, }, }, - }, - ], + ], + }, }, }, - }, - browserTimezone: 'UTC', - title: 'testfooyu78yt90-', - }) - ); - expect(resStatus).to.eql(200); - expect(resType).to.eql('text/csv'); - expectSnapshot(resText).toMatch(); + browserTimezone: 'UTC', + title: 'testfooyu78yt90-', + }) + ); + expect(resStatus).to.eql(200); + expect(resType).to.eql('text/csv'); + resText = text; + }); + + itIfEs7('(ES 7)', async () => { + expectSnapshot(resText).toMatch(); + }); + + itIfEs8('(ES 8)', async () => { + expectSnapshot(resText).toMatch(); + }); }); - describe('date formatting', () => { + const describeIfEs7 = esVersion.matchRange('<8') ? describe : describe.skip; + describeIfEs7('date formatting', () => { before(async () => { // load test data that contains a saved search and documents await esArchiver.load('x-pack/test/functional/es_archives/reporting/logs'); @@ -328,7 +354,7 @@ export default function ({ getService }: FtrProviderContext) { }); }); - describe('non-timebased', () => { + describeIfEs7('non-timebased', () => { it('Handle _id and _index columns', async () => { await esArchiver.load('x-pack/test/functional/es_archives/reporting/nanos'); @@ -404,51 +430,62 @@ export default function ({ getService }: FtrProviderContext) { }); // NOTE: this test requires having the test server run with `xpack.reporting.csv.maxSizeBytes=6000` - it(`Searches large amount of data, stops at Max Size Reached`, async () => { - await reportingAPI.initEcommerce(); - - const { - status: resStatus, - text: resText, - type: resType, - } = (await generateAPI.getCSVFromSearchSource( - getMockJobParams({ - searchSource: { - version: true, - query: { query: '', language: 'kuery' }, - index: '5193f870-d861-11e9-a311-0fa548c5f953', - sort: [{ order_date: 'desc' }], - fields: ['*'], - filter: [], - parent: { - query: { language: 'kuery', query: '' }, + describe(`Searches large amount of data, stops at Max Size Reached`, () => { + let resText: string; + before(async () => { + await reportingAPI.initEcommerce(); + + const { + status: resStatus, + type: resType, + text, + } = (await generateAPI.getCSVFromSearchSource( + getMockJobParams({ + searchSource: { + version: true, + query: { query: '', language: 'kuery' }, + index: '5193f870-d861-11e9-a311-0fa548c5f953', + sort: [{ order_date: 'desc' }], + fields: ['*'], filter: [], parent: { - filter: [ - { - meta: { index: '5193f870-d861-11e9-a311-0fa548c5f953', params: {} }, - range: { - order_date: { - gte: '2019-03-23T00:00:00.000Z', - lte: '2019-10-04T00:00:00.000Z', - format: 'strict_date_optional_time', + query: { language: 'kuery', query: '' }, + filter: [], + parent: { + filter: [ + { + meta: { index: '5193f870-d861-11e9-a311-0fa548c5f953', params: {} }, + range: { + order_date: { + gte: '2019-03-23T00:00:00.000Z', + lte: '2019-10-04T00:00:00.000Z', + format: 'strict_date_optional_time', + }, }, }, - }, - ], + ], + }, }, }, - }, - browserTimezone: 'UTC', - title: 'Ecommerce Data', - }) - )) as supertest.Response; + browserTimezone: 'UTC', + title: 'Ecommerce Data', + }) + )) as supertest.Response; - expect(resStatus).to.eql(200); - expect(resType).to.eql('text/csv'); - expectSnapshot(resText).toMatch(); + expect(resStatus).to.eql(200); + expect(resType).to.eql('text/csv'); + + await reportingAPI.teardownEcommerce(); + resText = text; + }); + + itIfEs7('(ES 7)', async () => { + expectSnapshot(resText).toMatch(); + }); - await reportingAPI.teardownEcommerce(); + itIfEs8('(ES 8)', async () => { + expectSnapshot(resText).toMatch(); + }); }); }); }); diff --git a/x-pack/test/reporting_api_integration/reporting_and_security/generate_csv_discover.ts b/x-pack/test/reporting_api_integration/reporting_and_security/generate_csv_discover.ts index e16c9063aa497..1f99bac389a9c 100644 --- a/x-pack/test/reporting_api_integration/reporting_and_security/generate_csv_discover.ts +++ b/x-pack/test/reporting_api_integration/reporting_and_security/generate_csv_discover.ts @@ -13,9 +13,12 @@ import { FtrProviderContext } from '../ftr_provider_context'; // eslint-disable-next-line import/no-default-export export default function ({ getService }: FtrProviderContext) { const reportingAPI = getService('reportingAPI'); + const esVersion = getService('esVersion'); - describe('Generate CSV from SearchSource', () => { - it(`exported CSV file matches snapshot`, async () => { + describe('Generate CSV from SearchSource', function () { + let csvFile: string; + + before(async () => { await reportingAPI.initEcommerce(); const fromTime = '2019-06-20T00:00:00.000Z'; @@ -65,11 +68,23 @@ export default function ({ getService }: FtrProviderContext) { // wait for the the pending job to complete await reportingAPI.waitForJobToFinish(downloadPath); - const csvFile = await reportingAPI.getCompletedJobOutput(downloadPath); - expectSnapshot(csvFile).toMatch(); + csvFile = (await reportingAPI.getCompletedJobOutput(downloadPath)) as string; + }); + after(async () => { await reportingAPI.teardownEcommerce(); await reportingAPI.deleteAllReports(); }); + + const itIf7 = esVersion.matchRange('<8') ? it : it.skip; + const itIf8 = esVersion.matchRange('>=8') ? it : it.skip; + + itIf7(`exported CSV file matches snapshot (7.17)`, async () => { + expectSnapshot(csvFile).toMatch(); + }); + + itIf8(`exported CSV file matches snapshot (8.0)`, async () => { + expectSnapshot(csvFile).toMatch(); + }); }); } diff --git a/x-pack/test/reporting_api_integration/reporting_and_security/ilm_migration_apis.ts b/x-pack/test/reporting_api_integration/reporting_and_security/ilm_migration_apis.ts index 994523ce78eff..eb005e6c84325 100644 --- a/x-pack/test/reporting_api_integration/reporting_and_security/ilm_migration_apis.ts +++ b/x-pack/test/reporting_api_integration/reporting_and_security/ilm_migration_apis.ts @@ -6,76 +6,133 @@ */ import expect from '@kbn/expect'; -import { JOB_PARAMS_RISON_CSV_DEPRECATED } from '../services/fixtures'; import { FtrProviderContext } from '../ftr_provider_context'; import { ILM_POLICY_NAME } from '../../../plugins/reporting/common/constants'; // eslint-disable-next-line import/no-default-export export default function ({ getService }: FtrProviderContext) { - const esArchiver = getService('esArchiver'); const es = getService('es'); - const supertest = getService('supertest'); + const log = getService('log'); const supertestWithoutAuth = getService('supertestWithoutAuth'); const reportingAPI = getService('reportingAPI'); const security = getService('security'); - describe('ILM policy migration APIs', () => { + const JOB_PARAMS_RISON_CSV = + `(columns:!(order_date,category,customer_full_name,taxful_total_price,currency)` + + `,objectType:search,searchSource:(fields:!((field:'*',include_unmapped:true))` + + `,filter:!((meta:(field:order_date,index:aac3e500-f2c7-11ea-8250-fb138aa491e7` + + `,params:()),query:(range:(order_date:(format:strict_date_optional_time` + + `,gte:'2019-06-02T12:28:40.866Z',lte:'2019-07-18T20:59:57.136Z')))))` + + `,index:aac3e500-f2c7-11ea-8250-fb138aa491e7,parent:(filter:!(),highlightAll:!t` + + `,index:aac3e500-f2c7-11ea-8250-fb138aa491e7,query:(language:kuery,query:'')` + + `,version:!t),sort:!((order_date:desc)),trackTotalHits:!t),title:'EC SEARCH from DEFAULT')`; + + const runMigrate = async () => { + await reportingAPI.migrateReportingIndices( + reportingAPI.REPORTING_USER_USERNAME, + reportingAPI.REPORTING_USER_PASSWORD + ); + }; + const checkMigrationStatus = async () => { + return await reportingAPI.checkIlmMigrationStatus( + reportingAPI.REPORTING_USER_USERNAME, + reportingAPI.REPORTING_USER_PASSWORD + ); + }; + + describe('ILM policy migration APIs', function () { before(async () => { - await esArchiver.load('x-pack/test/functional/es_archives/reporting/logs'); - await esArchiver.load('x-pack/test/functional/es_archives/logstash_functional'); - await reportingAPI.migrateReportingIndices(); // ensure that the ILM policy exists for the first test + await security.role.create(reportingAPI.REPORTING_ROLE, { + metadata: {}, + elasticsearch: { + cluster: ['manage_ilm'], + indices: [ + { names: ['ecommerce'], privileges: ['read'], allow_restricted_indices: false }, + { + names: ['.reporting-*'], + privileges: ['all', 'manage'], + allow_restricted_indices: true, + }, + ], + run_as: [], + }, + kibana: [ + { + base: [], + feature: { + dashboard: ['minimal_read', 'download_csv_report', 'generate_report'], + discover: ['minimal_read', 'generate_report'], + canvas: ['minimal_read', 'generate_report'], + visualize: ['minimal_read', 'generate_report'], + }, + spaces: ['*'], + }, + ], + }); + await reportingAPI.createTestReportingUser(); + + log.debug(`Deleting all reports`); + await reportingAPI.initEcommerce(); + log.debug(`Running migration`); + await runMigrate(); // ensure that the ILM policy exists for the first test }); after(async () => { - await esArchiver.unload('x-pack/test/functional/es_archives/reporting/logs'); - await esArchiver.unload('x-pack/test/functional/es_archives/logstash_functional'); + await reportingAPI.teardownEcommerce(); }); afterEach(async () => { await reportingAPI.deleteAllReports(); - await reportingAPI.migrateReportingIndices(); // ensure that the ILM policy exists + await runMigrate(); // ensure that the ILM policy exists }); it('detects when no migration is needed', async () => { - expect(await reportingAPI.checkIlmMigrationStatus()).to.eql('ok'); + expect(await checkMigrationStatus()).to.eql('ok'); // try creating a report - await supertest - .post(`/api/reporting/generate/csv`) + await supertestWithoutAuth + .post(`/api/reporting/generate/csv_searchsource`) + .auth(reportingAPI.REPORTING_USER_USERNAME, reportingAPI.REPORTING_USER_PASSWORD) .set('kbn-xsrf', 'xxx') - .send({ jobParams: JOB_PARAMS_RISON_CSV_DEPRECATED }); + .send({ jobParams: JOB_PARAMS_RISON_CSV }); - expect(await reportingAPI.checkIlmMigrationStatus()).to.eql('ok'); + expect(await checkMigrationStatus()).to.eql('ok'); }); it('detects when reporting indices should be migrated due to missing ILM policy', async () => { + log.debug(`Making reporting indices unmanaged`); await reportingAPI.makeAllReportingIndicesUnmanaged(); + // TODO: Remove "any" when no longer through type issue "policy_id" missing + log.debug(`Deleting ILM policy`); await es.ilm.deleteLifecycle({ policy: ILM_POLICY_NAME } as any); - await supertest - .post(`/api/reporting/generate/csv`) + log.debug(`Creating report job`); + await supertestWithoutAuth + .post(`/api/reporting/generate/csv_searchsource`) + .auth(reportingAPI.REPORTING_USER_USERNAME, reportingAPI.REPORTING_USER_PASSWORD) .set('kbn-xsrf', 'xxx') - .send({ jobParams: JOB_PARAMS_RISON_CSV_DEPRECATED }); + .send({ jobParams: JOB_PARAMS_RISON_CSV }); - expect(await reportingAPI.checkIlmMigrationStatus()).to.eql('policy-not-found'); + expect(await checkMigrationStatus()).to.eql('policy-not-found'); // assert that migration fixes this - await reportingAPI.migrateReportingIndices(); - expect(await reportingAPI.checkIlmMigrationStatus()).to.eql('ok'); + await runMigrate(); + expect(await checkMigrationStatus()).to.eql('ok'); }); it('detects when reporting indices should be migrated due to unmanaged indices', async () => { await reportingAPI.makeAllReportingIndicesUnmanaged(); - await supertest - .post(`/api/reporting/generate/csv`) + await supertestWithoutAuth + .post(`/api/reporting/generate/csv_searchsource`) + .auth(reportingAPI.REPORTING_USER_USERNAME, reportingAPI.REPORTING_USER_PASSWORD) .set('kbn-xsrf', 'xxx') - .send({ jobParams: JOB_PARAMS_RISON_CSV_DEPRECATED }); + .send({ jobParams: JOB_PARAMS_RISON_CSV }); - expect(await reportingAPI.checkIlmMigrationStatus()).to.eql('indices-not-managed-by-policy'); + expect(await checkMigrationStatus()).to.eql('indices-not-managed-by-policy'); // assert that migration fixes this - await reportingAPI.migrateReportingIndices(); - expect(await reportingAPI.checkIlmMigrationStatus()).to.eql('ok'); + await runMigrate(); + expect(await checkMigrationStatus()).to.eql('ok'); }); it('does not override an existing ILM policy', async () => { @@ -104,7 +161,7 @@ export default function ({ getService }: FtrProviderContext) { body: customLifecycle, }); - await reportingAPI.migrateReportingIndices(); + await runMigrate(); const { body: { diff --git a/x-pack/test/reporting_api_integration/reporting_and_security/index.ts b/x-pack/test/reporting_api_integration/reporting_and_security/index.ts index 7110b0e664d4c..fc1092487eb42 100644 --- a/x-pack/test/reporting_api_integration/reporting_and_security/index.ts +++ b/x-pack/test/reporting_api_integration/reporting_and_security/index.ts @@ -12,9 +12,14 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) { describe('Reporting APIs', function () { this.tags('ciGroup2'); + const esVersion = getService('esVersion'); + before(async () => { const reportingAPI = getService('reportingAPI'); - await reportingAPI.logTaskManagerHealth(); + if (esVersion.matchRange('<=7')) { + await reportingAPI.logTaskManagerHealth(); + } + await reportingAPI.createDataAnalystRole(); await reportingAPI.createTestReportingUserRole(); await reportingAPI.createDataAnalyst(); diff --git a/x-pack/test/reporting_api_integration/reporting_and_security/search_frozen_indices.ts b/x-pack/test/reporting_api_integration/reporting_and_security/search_frozen_indices.ts index daa749649e250..8441e8bb8bb8f 100644 --- a/x-pack/test/reporting_api_integration/reporting_and_security/search_frozen_indices.ts +++ b/x-pack/test/reporting_api_integration/reporting_and_security/search_frozen_indices.ts @@ -47,7 +47,9 @@ export default function ({ getService }: FtrProviderContext) { .send(job); } - describe('Frozen indices search', () => { + describe('Frozen indices search', function () { + this.onlyEsVersion('<=7'); + const reset = async () => { await kibanaServer.uiSettings.replace({ 'search:includeFrozen': false }); try { diff --git a/x-pack/test/reporting_api_integration/services/index.ts b/x-pack/test/reporting_api_integration/services/index.ts index c0c3da4dd6ba1..12af413b80e63 100644 --- a/x-pack/test/reporting_api_integration/services/index.ts +++ b/x-pack/test/reporting_api_integration/services/index.ts @@ -21,6 +21,7 @@ export function ReportingAPIProvider(context: FtrProviderContext) { export const services = { ...xpackServices, supertestWithoutAuth: apiIntegrationServices.supertestWithoutAuth, + esSupertestWithoutAuth: apiIntegrationServices.esSupertestWithoutAuth, usageAPI: apiIntegrationServices.usageAPI, reportingAPI: ReportingAPIProvider, }; diff --git a/x-pack/test/reporting_api_integration/services/scenarios.ts b/x-pack/test/reporting_api_integration/services/scenarios.ts index a596b61ea00d1..bd87a786b6a24 100644 --- a/x-pack/test/reporting_api_integration/services/scenarios.ts +++ b/x-pack/test/reporting_api_integration/services/scenarios.ts @@ -35,6 +35,7 @@ export function createScenarios({ getService }: Pick { // Check task manager health for analyzing test failures. See https://github.com/elastic/kibana/issues/114946 @@ -79,7 +80,7 @@ export function createScenarios({ getService }: Pick { - await security.role.create('test_reporting_user', { + await security.role.create(REPORTING_ROLE, { metadata: {}, elasticsearch: { cluster: [], @@ -116,9 +117,9 @@ export function createScenarios({ getService }: Pick { - await security.user.create('reporting_user', { - password: 'reporting_user-password', - roles: ['test_reporting_user'], + await security.user.create(REPORTING_USER_USERNAME, { + password: REPORTING_USER_PASSWORD, + roles: [REPORTING_ROLE], full_name: 'Reporting User', }); }; @@ -191,18 +192,29 @@ export function createScenarios({ getService }: Pick { + const checkIlmMigrationStatus = async (username: string, password: string) => { log.debug('ReportingAPI.checkIlmMigrationStatus'); - const { body } = await supertest + const { body } = await supertestWithoutAuth .get(API_GET_ILM_POLICY_STATUS) + .auth(username, password) .set('kbn-xsrf', 'xxx') .expect(200); return body.status; }; - const migrateReportingIndices = async () => { + const migrateReportingIndices = async (username: string, password: string) => { log.debug('ReportingAPI.migrateReportingIndices'); - await supertest.put(API_MIGRATE_ILM_POLICY_URL).set('kbn-xsrf', 'xxx').expect(200); + try { + await supertestWithoutAuth + .put(API_MIGRATE_ILM_POLICY_URL) + .auth(username, password) + .set('kbn-xsrf', 'xxx') + .expect(200); + } catch (err) { + log.error(`Could not migrate Reporting indices!`); + log.error(err); + throw err; + } }; const makeAllReportingIndicesUnmanaged = async () => { @@ -210,8 +222,10 @@ export function createScenarios({ getService }: Pick { _id: 'NoxgpHkBqbdrfX07MqXV', result: 'updated', _shards: { total: 2, successful: 1, failed: 0 }, - _type: '_doc', _primary_term: 1, }); }); diff --git a/x-pack/test/saved_object_api_integration/common/fixtures/es_archiver/saved_objects/spaces/data.json b/x-pack/test/saved_object_api_integration/common/fixtures/es_archiver/saved_objects/spaces/data.json index d83c550c15ff6..bed217fa41440 100644 --- a/x-pack/test/saved_object_api_integration/common/fixtures/es_archiver/saved_objects/spaces/data.json +++ b/x-pack/test/saved_object_api_integration/common/fixtures/es_archiver/saved_objects/spaces/data.json @@ -12,7 +12,7 @@ "type": "space", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -29,7 +29,7 @@ "type": "space", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -46,7 +46,7 @@ "type": "space", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -64,7 +64,7 @@ "type": "index-pattern", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -81,7 +81,7 @@ "type": "config", "updated_at": "2017-09-21T18:49:16.302Z" }, - "type": "doc" + "type": "_doc" } } @@ -104,7 +104,7 @@ "visState": "{\"title\":\"Count of requests\",\"type\":\"area\",\"params\":{\"type\":\"area\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Count\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"area\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"@timestamp\",\"interval\":\"auto\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}}]}" } }, - "type": "doc" + "type": "_doc" } } @@ -137,7 +137,7 @@ "type": "dashboard", "updated_at": "2017-09-21T18:57:40.826Z" }, - "type": "doc" + "type": "_doc" } } @@ -156,7 +156,7 @@ "type": "index-pattern", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -174,7 +174,7 @@ "type": "config", "updated_at": "2017-09-21T18:49:16.302Z" }, - "type": "doc" + "type": "_doc" } } @@ -198,7 +198,7 @@ "visState": "{\"title\":\"Count of requests\",\"type\":\"area\",\"params\":{\"type\":\"area\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Count\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"area\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"@timestamp\",\"interval\":\"auto\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}}]}" } }, - "type": "doc" + "type": "_doc" } } @@ -232,7 +232,7 @@ "type": "dashboard", "updated_at": "2017-09-21T18:57:40.826Z" }, - "type": "doc" + "type": "_doc" } } @@ -251,7 +251,7 @@ "type": "index-pattern", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -269,7 +269,7 @@ "type": "config", "updated_at": "2017-09-21T18:49:16.302Z" }, - "type": "doc" + "type": "_doc" } } @@ -293,7 +293,7 @@ "visState": "{\"title\":\"Count of requests\",\"type\":\"area\",\"params\":{\"type\":\"area\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Count\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"area\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"linear\",\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"@timestamp\",\"interval\":\"auto\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}}]}" } }, - "type": "doc" + "type": "_doc" } } @@ -327,7 +327,7 @@ "type": "dashboard", "updated_at": "2017-09-21T18:57:40.826Z" }, - "type": "doc" + "type": "_doc" } } @@ -343,7 +343,7 @@ "type": "globaltype", "updated_at": "2017-09-21T18:59:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -360,7 +360,7 @@ "namespaces": ["*"], "updated_at": "2017-09-21T18:59:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -377,7 +377,7 @@ "namespaces": ["default", "space_1"], "updated_at": "2017-09-21T18:59:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -394,7 +394,7 @@ "namespaces": ["space_1"], "updated_at": "2017-09-21T18:59:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -411,7 +411,7 @@ "namespaces": ["space_2"], "updated_at": "2017-09-21T18:59:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -428,7 +428,7 @@ "namespaces": ["default", "space_1", "space_2"], "updated_at": "2017-09-21T18:59:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -446,7 +446,7 @@ "namespaces": ["default", "space_1", "space_2"], "updated_at": "2017-09-21T18:59:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -464,7 +464,7 @@ "namespaces": ["default", "space_1", "space_2"], "updated_at": "2017-09-21T18:59:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -481,7 +481,7 @@ "namespaces": ["default", "space_1", "space_2"], "updated_at": "2017-09-21T18:59:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -499,7 +499,7 @@ "namespaces": ["default", "space_1", "space_2"], "updated_at": "2017-09-21T18:59:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -635,7 +635,7 @@ "namespaces": ["default"], "updated_at": "2017-09-21T18:59:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -652,6 +652,6 @@ "namespaces": ["space_1"], "updated_at": "2017-09-21T18:59:16.270Z" }, - "type": "doc" + "type": "_doc" } } diff --git a/x-pack/test/saved_object_api_integration/common/fixtures/es_archiver/saved_objects/spaces/mappings.json b/x-pack/test/saved_object_api_integration/common/fixtures/es_archiver/saved_objects/spaces/mappings.json index 56db744fbce36..12606562ab33b 100644 --- a/x-pack/test/saved_object_api_integration/common/fixtures/es_archiver/saved_objects/spaces/mappings.json +++ b/x-pack/test/saved_object_api_integration/common/fixtures/es_archiver/saved_objects/spaces/mappings.json @@ -7,18 +7,16 @@ }, "index": ".kibana_$KIBANA_PACKAGE_VERSION_001", "mappings": { - "doc": { - "dynamic": "false", - "properties": { - "space": { - "dynamic": false, - "type": "object" - }, - "type": { "type": "keyword" }, - "migrationVersion": { - "dynamic": "true", - "type": "object" - } + "dynamic": "false", + "properties": { + "space": { + "dynamic": false, + "type": "object" + }, + "type": { "type": "keyword" }, + "migrationVersion": { + "dynamic": "true", + "type": "object" } } }, diff --git a/x-pack/test/saved_object_tagging/api_integration/tagging_api/apis/usage_collection.ts b/x-pack/test/saved_object_tagging/api_integration/tagging_api/apis/usage_collection.ts index 03494edccd648..77c7754d6f169 100644 --- a/x-pack/test/saved_object_tagging/api_integration/tagging_api/apis/usage_collection.ts +++ b/x-pack/test/saved_object_tagging/api_integration/tagging_api/apis/usage_collection.ts @@ -42,6 +42,7 @@ export default function ({ getService }: FtrProviderContext) { it('collects the expected data', async () => { const [{ stats: telemetryStats }] = (await usageAPI.getTelemetryStats({ unencrypted: true, + refreshCache: true, })) as any; const taggingStats = telemetryStats.stack_stats.kibana.plugins.saved_objects_tagging; diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/bulk_assign/data.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/bulk_assign/data.json index 6f8cf9b67cbf7..804771cb241d4 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/bulk_assign/data.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/bulk_assign/data.json @@ -12,7 +12,7 @@ "type": "space", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -30,7 +30,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -48,7 +48,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -66,7 +66,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -84,7 +84,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/bulk_assign/mappings.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/bulk_assign/mappings.json index 77800230f8d6a..2e465869f9ae5 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/bulk_assign/mappings.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/bulk_assign/mappings.json @@ -6,254 +6,252 @@ }, "index": ".kibana_1", "mappings": { - "doc": { - "dynamic": "strict", - "properties": { - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" - }, - "defaultIndex": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "migrationVersion": { - "dynamic": "true", - "properties": { - "dashboard": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "index-pattern": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "search": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" + "dynamic": "strict", + "properties": { + "config": { + "dynamic": "true", + "properties": { + "buildNum": { + "type": "keyword" + }, + "defaultIndex": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "visualization": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" } - }, - "dashboard": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "migrationVersion": { + "dynamic": "true", + "properties": { + "dashboard": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" } }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } + "type": "text" + }, + "index-pattern": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" } }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, + "type": "text" + }, + "search": { "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "timeFieldName": { - "type": "keyword" + "type": "text" + }, + "visualization": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "title": { - "type": "text" - } + "type": "text" } - }, - "namespace": { - "type": "keyword" - }, - "namespaces": { - "type": "keyword" - }, - "originId": { - "type": "keyword" - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } - } - }, - "tag": { - "properties": { - "name": { - "type": "text" - }, - "description": { - "type": "text" - }, - "color": { - "type": "text" + } + }, + "dashboard": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" + } } - } - }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "initials": { - "type": "keyword" - }, - "name": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" + }, + "pause": { + "type": "boolean" + }, + "section": { + "type": "integer" }, - "type": "text" + "value": { + "type": "integer" + } } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "references": { - "properties": { - "id": { - "type": "keyword" - }, - "name": { - "type": "keyword" + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" + } + } + }, + "namespace": { + "type": "keyword" + }, + "namespaces": { + "type": "keyword" + }, + "originId": { + "type": "keyword" + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" + } + } + }, + "tag": { + "properties": { + "name": { + "type": "text" + }, + "description": { + "type": "text" + }, + "color": { + "type": "text" + } + } + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "initials": { + "type": "keyword" + }, + "name": { + "fields": { + "keyword": { + "ignore_above": 2048, + "type": "keyword" + } }, - "type": { - "type": "keyword" - } + "type": "text" + } + } + }, + "references": { + "properties": { + "id": { + "type": "keyword" }, - "type": "nested" - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" + "name": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + "type": "nested" + }, + "type": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" } + }, + "savedSearchId": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" } } } diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/dashboard/data.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/dashboard/data.json index 2f1f4c1c8d894..c087f9d87b402 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/dashboard/data.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/dashboard/data.json @@ -12,7 +12,7 @@ "type": "space", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -30,7 +30,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -48,7 +48,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -66,7 +66,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/dashboard/mappings.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/dashboard/mappings.json index cb787b4ee9bb3..6caac5e31e1f6 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/dashboard/mappings.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/dashboard/mappings.json @@ -6,474 +6,472 @@ }, "index": ".kibana_1", "mappings": { - "doc": { - "_meta": { - "migrationMappingPropertyHashes": { - "application_usage_totals": "c897e4310c5f24b07caaff3db53ae2c1", - "application_usage_transactional": "965839e75f809fefe04f92dc4d99722a", - "config": "ae24d22d5986d04124cc6568f771066f", - "dashboard": "d00f614b29a80360e1190193fd333bab", - "index-pattern": "66eccb05066c5a89924f48a9e9736499", - "kql-telemetry": "d12a98a6f19a2d273696597547e064ee", - "migrationVersion": "4a1746014a75ade3a714e1db5763276f", - "namespace": "2f4316de49999235636386fe51dc06c1", - "namespaces": "2f4316de49999235636386fe51dc06c1", - "query": "11aaeb7f5f7fa5bb43f25e18ce26e7d9", - "references": "7997cf5a56cc02bdc9c93361bde732b0", - "sample-data-telemetry": "7d3cfeb915303c9641c59681967ffeb4", - "search": "181661168bbadd1eff5902361e2a0d5c", - "telemetry": "36a616f7026dfa617d6655df850fe16d", - "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", - "type": "2f4316de49999235636386fe51dc06c1", - "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", - "updated_at": "00da57df13e94e9d98437d13ace4bfe0", - "url": "b675c3be8d76ecf029294d51dc7ec65d", - "visualization": "52d7a13ad68a150c4525b292d23e12cc" + "_meta": { + "migrationMappingPropertyHashes": { + "application_usage_totals": "c897e4310c5f24b07caaff3db53ae2c1", + "application_usage_transactional": "965839e75f809fefe04f92dc4d99722a", + "config": "ae24d22d5986d04124cc6568f771066f", + "dashboard": "d00f614b29a80360e1190193fd333bab", + "index-pattern": "66eccb05066c5a89924f48a9e9736499", + "kql-telemetry": "d12a98a6f19a2d273696597547e064ee", + "migrationVersion": "4a1746014a75ade3a714e1db5763276f", + "namespace": "2f4316de49999235636386fe51dc06c1", + "namespaces": "2f4316de49999235636386fe51dc06c1", + "query": "11aaeb7f5f7fa5bb43f25e18ce26e7d9", + "references": "7997cf5a56cc02bdc9c93361bde732b0", + "sample-data-telemetry": "7d3cfeb915303c9641c59681967ffeb4", + "search": "181661168bbadd1eff5902361e2a0d5c", + "telemetry": "36a616f7026dfa617d6655df850fe16d", + "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", + "type": "2f4316de49999235636386fe51dc06c1", + "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", + "updated_at": "00da57df13e94e9d98437d13ace4bfe0", + "url": "b675c3be8d76ecf029294d51dc7ec65d", + "visualization": "52d7a13ad68a150c4525b292d23e12cc" + } + }, + "dynamic": "strict", + "properties": { + "application_usage_totals": { + "properties": { + "appId": { + "type": "keyword" + }, + "minutesOnScreen": { + "type": "float" + }, + "numberOfClicks": { + "type": "long" + } } }, - "dynamic": "strict", - "properties": { - "application_usage_totals": { - "properties": { - "appId": { - "type": "keyword" - }, - "minutesOnScreen": { - "type": "float" - }, - "numberOfClicks": { - "type": "long" - } + "application_usage_transactional": { + "properties": { + "appId": { + "type": "keyword" + }, + "minutesOnScreen": { + "type": "float" + }, + "numberOfClicks": { + "type": "long" + }, + "timestamp": { + "type": "date" } - }, - "application_usage_transactional": { - "properties": { - "appId": { - "type": "keyword" - }, - "minutesOnScreen": { - "type": "float" + } + }, + "config": { + "dynamic": "true", + "properties": { + "accessibility:disableAnimations": { + "type": "boolean" + }, + "buildNum": { + "type": "keyword" + }, + "dateFormat:tz": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "numberOfClicks": { - "type": "long" + "type": "text" + }, + "defaultIndex": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "timestamp": { - "type": "date" - } + "type": "text" + }, + "notifications:lifetime:banner": { + "type": "long" + }, + "notifications:lifetime:error": { + "type": "long" + }, + "notifications:lifetime:info": { + "type": "long" + }, + "notifications:lifetime:warning": { + "type": "long" + }, + "xPackMonitoring:showBanner": { + "type": "boolean" } - }, - "config": { - "dynamic": "true", - "properties": { - "accessibility:disableAnimations": { - "type": "boolean" - }, - "buildNum": { - "type": "keyword" - }, - "dateFormat:tz": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } + } + }, + "dashboard": { + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" + } + } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" }, - "type": "text" - }, - "defaultIndex": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } + "pause": { + "type": "boolean" }, - "type": "text" - }, - "notifications:lifetime:banner": { - "type": "long" - }, - "notifications:lifetime:error": { - "type": "long" - }, - "notifications:lifetime:info": { - "type": "long" - }, - "notifications:lifetime:warning": { - "type": "long" - }, - "xPackMonitoring:showBanner": { - "type": "boolean" + "section": { + "type": "integer" + }, + "value": { + "type": "integer" + } } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "dashboard": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "type": { + "type": "keyword" + }, + "typeMeta": { + "type": "keyword" + } + } + }, + "kql-telemetry": { + "properties": { + "optInCount": { + "type": "long" + }, + "optOutCount": { + "type": "long" + } + } + }, + "migrationVersion": { + "dynamic": "true", + "properties": { + "dashboard": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" } }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } + "type": "text" + }, + "index-pattern": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" } }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, + "type": "text" + }, + "search": { "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "type": { - "type": "keyword" + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "typeMeta": { - "type": "keyword" - } - } - }, - "kql-telemetry": { - "properties": { - "optInCount": { - "type": "long" + "type": "text" + }, + "visualization": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "optOutCount": { - "type": "long" - } + "type": "text" } - }, - "migrationVersion": { - "dynamic": "true", - "properties": { - "dashboard": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "index-pattern": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "search": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "visualization": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } + } + }, + "namespace": { + "type": "keyword" + }, + "namespaces": { + "type": "keyword" + }, + "query": { + "properties": { + "description": { + "type": "text" + }, + "filters": { + "enabled": false, + "type": "object" + }, + "query": { + "properties": { + "language": { + "type": "keyword" }, - "type": "text" - } - } - }, - "namespace": { - "type": "keyword" - }, - "namespaces": { - "type": "keyword" - }, - "query": { - "properties": { - "description": { - "type": "text" - }, - "filters": { - "enabled": false, - "type": "object" - }, - "query": { - "properties": { - "language": { - "type": "keyword" - }, - "query": { - "index": false, - "type": "keyword" - } + "query": { + "index": false, + "type": "keyword" } - }, - "timefilter": { - "enabled": false, - "type": "object" - }, - "title": { - "type": "text" } + }, + "timefilter": { + "enabled": false, + "type": "object" + }, + "title": { + "type": "text" } - }, - "references": { - "properties": { - "id": { - "type": "keyword" - }, - "name": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } + } + }, + "references": { + "properties": { + "id": { + "type": "keyword" }, - "type": "nested" - }, - "sample-data-telemetry": { - "properties": { - "installCount": { - "type": "long" - }, - "unInstallCount": { - "type": "long" - } + "name": { + "type": "keyword" + }, + "type": { + "type": "keyword" } }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "initials": { - "type": "keyword" - }, - "name": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } + "type": "nested" + }, + "sample-data-telemetry": { + "properties": { + "installCount": { + "type": "long" + }, + "unInstallCount": { + "type": "long" } - }, - "tag": { - "properties": { - "name": { - "type": "text" - }, - "description": { - "type": "text" + } + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "initials": { + "type": "keyword" + }, + "name": { + "fields": { + "keyword": { + "ignore_above": 2048, + "type": "keyword" + } }, - "color": { - "type": "text" - } + "type": "text" } - }, - "search": { - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "tag": { + "properties": { + "name": { + "type": "text" + }, + "description": { + "type": "text" + }, + "color": { + "type": "text" + } + } + }, + "search": { + "properties": { + "columns": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "sort": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } + } + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" } - }, - "telemetry": { - "properties": { - "allowChangingOptInStatus": { - "type": "boolean" - }, - "enabled": { - "type": "boolean" - }, - "lastReported": { - "type": "date" - }, - "lastVersionChecked": { - "type": "keyword" - }, - "reportFailureCount": { - "type": "integer" - }, - "reportFailureVersion": { - "type": "keyword" - }, - "sendUsageFrom": { - "type": "keyword" - }, - "userHasSeenNotice": { - "type": "boolean" - } + } + }, + "telemetry": { + "properties": { + "allowChangingOptInStatus": { + "type": "boolean" + }, + "enabled": { + "type": "boolean" + }, + "lastReported": { + "type": "date" + }, + "lastVersionChecked": { + "type": "keyword" + }, + "reportFailureCount": { + "type": "integer" + }, + "reportFailureVersion": { + "type": "keyword" + }, + "sendUsageFrom": { + "type": "keyword" + }, + "userHasSeenNotice": { + "type": "boolean" } - }, - "tsvb-validation-telemetry": { - "properties": { - "failedRequests": { - "type": "long" - } + } + }, + "tsvb-validation-telemetry": { + "properties": { + "failedRequests": { + "type": "long" } - }, - "type": { - "type": "keyword" - }, - "ui-metric": { - "properties": { - "count": { - "type": "integer" - } + } + }, + "type": { + "type": "keyword" + }, + "ui-metric": { + "properties": { + "count": { + "type": "integer" } - }, - "updated_at": { - "type": "date" - }, - "url": { - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" + } + }, + "updated_at": { + "type": "date" + }, + "url": { + "properties": { + "accessCount": { + "type": "long" + }, + "accessDate": { + "type": "date" + }, + "createDate": { + "type": "date" + }, + "url": { + "fields": { + "keyword": { + "type": "keyword" + } }, - "url": { - "fields": { - "keyword": { - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" } - }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "savedSearchRefName": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" } + }, + "savedSearchRefName": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" } } } diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/delete_with_references/data.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/delete_with_references/data.json index 5b986c3061a81..57a3b007e675a 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/delete_with_references/data.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/delete_with_references/data.json @@ -12,7 +12,7 @@ "type": "space", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -30,7 +30,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -48,7 +48,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -66,7 +66,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/delete_with_references/mappings.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/delete_with_references/mappings.json index 12a8d187683c8..5ccad08bc21fa 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/delete_with_references/mappings.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/delete_with_references/mappings.json @@ -6,213 +6,211 @@ }, "index": ".kibana_1", "mappings": { - "doc": { - "dynamic": "strict", - "properties": { - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" + "dynamic": "strict", + "properties": { + "config": { + "dynamic": "true", + "properties": { + "buildNum": { + "type": "keyword" + }, + "defaultIndex": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "defaultIndex": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" } - }, - "dashboard": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "dashboard": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } + } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" + }, + "pause": { + "type": "boolean" + }, + "section": { + "type": "integer" + }, + "value": { + "type": "integer" } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - } + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" } - }, - "namespace": { - "type": "keyword" - }, - "namespaces": { - "type": "keyword" - }, - "originId": { - "type": "keyword" - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } + } + }, + "namespace": { + "type": "keyword" + }, + "namespaces": { + "type": "keyword" + }, + "originId": { + "type": "keyword" + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" } - }, - "tag": { - "properties": { - "name": { - "type": "text" - }, - "description": { - "type": "text" - }, - "color": { - "type": "text" - } + } + }, + "tag": { + "properties": { + "name": { + "type": "text" + }, + "description": { + "type": "text" + }, + "color": { + "type": "text" } - }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "initials": { - "type": "keyword" + } + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "initials": { + "type": "keyword" + }, + "name": { + "fields": { + "keyword": { + "ignore_above": 2048, + "type": "keyword" + } }, - "name": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" } - }, - "references": { - "properties": { - "id": { - "type": "keyword" - }, - "name": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } + } + }, + "references": { + "properties": { + "id": { + "type": "keyword" }, - "type": "nested" - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" + "name": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + "type": "nested" + }, + "type": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" } + }, + "savedSearchId": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" } } } diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/functional_base/data.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/functional_base/data.json index 9d791a8b65998..120e5ed82a2a6 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/functional_base/data.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/functional_base/data.json @@ -12,7 +12,7 @@ "type": "space", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -30,7 +30,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -48,7 +48,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -66,7 +66,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -84,7 +84,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -102,7 +102,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/functional_base/mappings.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/functional_base/mappings.json index 12a8d187683c8..5ccad08bc21fa 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/functional_base/mappings.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/functional_base/mappings.json @@ -6,213 +6,211 @@ }, "index": ".kibana_1", "mappings": { - "doc": { - "dynamic": "strict", - "properties": { - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" + "dynamic": "strict", + "properties": { + "config": { + "dynamic": "true", + "properties": { + "buildNum": { + "type": "keyword" + }, + "defaultIndex": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "defaultIndex": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" } - }, - "dashboard": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "dashboard": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } + } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" + }, + "pause": { + "type": "boolean" + }, + "section": { + "type": "integer" + }, + "value": { + "type": "integer" } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - } + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" } - }, - "namespace": { - "type": "keyword" - }, - "namespaces": { - "type": "keyword" - }, - "originId": { - "type": "keyword" - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } + } + }, + "namespace": { + "type": "keyword" + }, + "namespaces": { + "type": "keyword" + }, + "originId": { + "type": "keyword" + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" } - }, - "tag": { - "properties": { - "name": { - "type": "text" - }, - "description": { - "type": "text" - }, - "color": { - "type": "text" - } + } + }, + "tag": { + "properties": { + "name": { + "type": "text" + }, + "description": { + "type": "text" + }, + "color": { + "type": "text" } - }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "initials": { - "type": "keyword" + } + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "initials": { + "type": "keyword" + }, + "name": { + "fields": { + "keyword": { + "ignore_above": 2048, + "type": "keyword" + } }, - "name": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" } - }, - "references": { - "properties": { - "id": { - "type": "keyword" - }, - "name": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } + } + }, + "references": { + "properties": { + "id": { + "type": "keyword" }, - "type": "nested" - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" + "name": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + "type": "nested" + }, + "type": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" } + }, + "savedSearchId": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" } } } diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/logstash_functional/data.json.gz b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/logstash_functional/data.json.gz index a4f889da61128..08d0c6e652352 100644 Binary files a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/logstash_functional/data.json.gz and b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/logstash_functional/data.json.gz differ diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/logstash_functional/mappings.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/logstash_functional/mappings.json index c9ed811b8478e..a7130076ed438 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/logstash_functional/mappings.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/logstash_functional/mappings.json @@ -3,355 +3,354 @@ "value": { "index": "logstash-2015.09.22", "mappings": { - "doc": { - "dynamic_templates": [ - { - "string_fields": { - "mapping": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "dynamic_templates": [ + { + "string_fields": { + "mapping": { + "fields": { + "raw": { + "type": "keyword" + } }, - "match": "*", - "match_mapping_type": "string" - } - } - ], - "properties": { - "@message": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" - }, - "@tags": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" - }, - "@timestamp": { - "type": "date" - }, - "agent": { - "fields": { - "raw": { - "type": "keyword" - } + "type": "text" }, - "type": "text" - }, - "bytes": { - "type": "long" + "match": "*", + "match_mapping_type": "string" + } + } + ], + "runtime": { + "runtime_number": { + "type": "long", + "script" : { "source" : "emit(doc['bytes'].value)" } + } + }, + "properties": { + "@message": { + "fields": { + "raw": { + "type": "keyword" + } }, - "clientip": { - "type": "ip" + "type": "text" + }, + "@tags": { + "fields": { + "raw": { + "type": "keyword" + } }, - "extension": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "@timestamp": { + "type": "date" + }, + "agent": { + "fields": { + "raw": { + "type": "keyword" + } }, - "geo": { - "properties": { - "coordinates": { - "type": "geo_point" - }, - "dest": { - "type": "keyword" - }, - "src": { - "type": "keyword" - }, - "srcdest": { - "type": "keyword" - } + "type": "text" + }, + "bytes": { + "type": "long" + }, + "clientip": { + "type": "ip" + }, + "extension": { + "fields": { + "raw": { + "type": "keyword" } }, - "headings": { - "fields": { - "raw": { - "type": "keyword" - } + "type": "text" + }, + "geo": { + "properties": { + "coordinates": { + "type": "geo_point" }, - "type": "text" - }, - "host": { - "fields": { - "raw": { - "type": "keyword" - } + "dest": { + "type": "keyword" }, - "type": "text" - }, - "id": { - "type": "integer" - }, - "index": { - "fields": { - "raw": { - "type": "keyword" - } + "src": { + "type": "keyword" }, - "type": "text" - }, - "ip": { - "type": "ip" + "srcdest": { + "type": "keyword" + } + } + }, + "headings": { + "fields": { + "raw": { + "type": "keyword" + } }, - "links": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "host": { + "fields": { + "raw": { + "type": "keyword" + } }, - "machine": { - "properties": { - "os": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" - }, - "ram": { - "type": "long" - } + "type": "text" + }, + "id": { + "type": "integer" + }, + "index": { + "fields": { + "raw": { + "type": "keyword" } }, - "memory": { - "type": "double" + "type": "text" + }, + "ip": { + "type": "ip" + }, + "links": { + "fields": { + "raw": { + "type": "keyword" + } }, - "meta": { - "properties": { - "char": { - "type": "keyword" - }, - "related": { - "type": "text" - }, - "user": { - "properties": { - "firstname": { - "type": "text" - }, - "lastname": { - "type": "integer" - } + "type": "text" + }, + "machine": { + "properties": { + "os": { + "fields": { + "raw": { + "type": "keyword" } - } + }, + "type": "text" + }, + "ram": { + "type": "long" + }, + "ram_range": { + "type": "long_range" } - }, - "nestedField": { - "type": "nested", - "properties": { - "child": { - "type": "keyword" + } + }, + "memory": { + "type": "double" + }, + "meta": { + "properties": { + "char": { + "type": "keyword" + }, + "related": { + "type": "text" + }, + "user": { + "properties": { + "firstname": { + "type": "text" + }, + "lastname": { + "type": "integer" + } } } - }, - "phpmemory": { - "type": "long" - }, - "referer": { - "type": "keyword" - }, - "relatedContent": { - "properties": { - "article:modified_time": { - "type": "date" - }, - "article:published_time": { - "type": "date" + } + }, + "phpmemory": { + "type": "long" + }, + "referer": { + "type": "keyword" + }, + "relatedContent": { + "properties": { + "article:modified_time": { + "type": "date" + }, + "article:published_time": { + "type": "date" + }, + "article:section": { + "fields": { + "raw": { + "type": "keyword" + } }, - "article:section": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "article:tag": { + "fields": { + "raw": { + "type": "keyword" + } }, - "article:tag": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "og:description": { + "fields": { + "raw": { + "type": "keyword" + } }, - "og:description": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "og:image": { + "fields": { + "raw": { + "type": "keyword" + } }, - "og:image": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "og:image:height": { + "fields": { + "raw": { + "type": "keyword" + } }, - "og:image:height": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "og:image:width": { + "fields": { + "raw": { + "type": "keyword" + } }, - "og:image:width": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "og:site_name": { + "fields": { + "raw": { + "type": "keyword" + } }, - "og:site_name": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "og:title": { + "fields": { + "raw": { + "type": "keyword" + } }, - "og:title": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "og:type": { + "fields": { + "raw": { + "type": "keyword" + } }, - "og:type": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "og:url": { + "fields": { + "raw": { + "type": "keyword" + } }, - "og:url": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "twitter:card": { + "fields": { + "raw": { + "type": "keyword" + } }, - "twitter:card": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "twitter:description": { + "fields": { + "raw": { + "type": "keyword" + } }, - "twitter:description": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "twitter:image": { + "fields": { + "raw": { + "type": "keyword" + } }, - "twitter:image": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "twitter:site": { + "fields": { + "raw": { + "type": "keyword" + } }, - "twitter:site": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "twitter:title": { + "fields": { + "raw": { + "type": "keyword" + } }, - "twitter:title": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "url": { + "fields": { + "raw": { + "type": "keyword" + } }, - "url": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" + } + } + }, + "request": { + "fields": { + "raw": { + "type": "keyword" } }, - "request": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" - }, - "response": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" - }, - "spaces": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "response": { + "fields": { + "raw": { + "type": "keyword" + } }, - "type": { - "type": "keyword" + "type": "text" + }, + "spaces": { + "fields": { + "raw": { + "type": "keyword" + } }, - "url": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" + "type": "text" + }, + "type": { + "type": "keyword" + }, + "url": { + "fields": { + "raw": { + "type": "keyword" + } }, - "utc_time": { - "type": "date" + "type": "text" + }, + "utc_time": { + "type": "date" + }, + "xss": { + "fields": { + "raw": { + "type": "keyword" + } }, - "xss": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" } } }, @@ -394,6 +393,12 @@ } } ], + "runtime": { + "runtime_number": { + "type": "long", + "script" : { "source" : "emit(doc['bytes'].value)" } + } + }, "properties": { "@message": { "fields": { @@ -528,14 +533,6 @@ } } }, - "nestedField": { - "type": "nested", - "properties": { - "child": { - "type": "keyword" - } - } - }, "phpmemory": { "type": "long" }, @@ -767,6 +764,12 @@ } } ], + "runtime": { + "runtime_number": { + "type": "long", + "script" : { "source" : "emit(doc['bytes'].value)" } + } + }, "properties": { "@message": { "fields": { @@ -901,14 +904,6 @@ } } }, - "nestedField": { - "type": "nested", - "properties": { - "child": { - "type": "keyword" - } - } - }, "phpmemory": { "type": "long" }, diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/maps/data.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/maps/data.json index cdaf4fe171ec0..eecf2690cd3e4 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/maps/data.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/maps/data.json @@ -12,7 +12,7 @@ "type": "space", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -30,7 +30,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -48,7 +48,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -66,7 +66,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/maps/mappings.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/maps/mappings.json index 24708acc08047..d77e8145dfca7 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/maps/mappings.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/maps/mappings.json @@ -4,538 +4,536 @@ "aliases": {}, "index": ".kibana", "mappings": { - "doc": { - "_meta": { - "migrationMappingPropertyHashes": { - "application_usage_totals": "c897e4310c5f24b07caaff3db53ae2c1", - "application_usage_transactional": "965839e75f809fefe04f92dc4d99722a", - "config": "ae24d22d5986d04124cc6568f771066f", - "dashboard": "d00f614b29a80360e1190193fd333bab", - "index-pattern": "66eccb05066c5a89924f48a9e9736499", - "kql-telemetry": "d12a98a6f19a2d273696597547e064ee", - "migrationVersion": "4a1746014a75ade3a714e1db5763276f", - "namespace": "2f4316de49999235636386fe51dc06c1", - "namespaces": "2f4316de49999235636386fe51dc06c1", - "query": "11aaeb7f5f7fa5bb43f25e18ce26e7d9", - "references": "7997cf5a56cc02bdc9c93361bde732b0", - "sample-data-telemetry": "7d3cfeb915303c9641c59681967ffeb4", - "search": "181661168bbadd1eff5902361e2a0d5c", - "telemetry": "36a616f7026dfa617d6655df850fe16d", - "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", - "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", - "type": "2f4316de49999235636386fe51dc06c1", - "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", - "updated_at": "00da57df13e94e9d98437d13ace4bfe0", - "url": "b675c3be8d76ecf029294d51dc7ec65d", - "visualization": "52d7a13ad68a150c4525b292d23e12cc" + "_meta": { + "migrationMappingPropertyHashes": { + "application_usage_totals": "c897e4310c5f24b07caaff3db53ae2c1", + "application_usage_transactional": "965839e75f809fefe04f92dc4d99722a", + "config": "ae24d22d5986d04124cc6568f771066f", + "dashboard": "d00f614b29a80360e1190193fd333bab", + "index-pattern": "66eccb05066c5a89924f48a9e9736499", + "kql-telemetry": "d12a98a6f19a2d273696597547e064ee", + "migrationVersion": "4a1746014a75ade3a714e1db5763276f", + "namespace": "2f4316de49999235636386fe51dc06c1", + "namespaces": "2f4316de49999235636386fe51dc06c1", + "query": "11aaeb7f5f7fa5bb43f25e18ce26e7d9", + "references": "7997cf5a56cc02bdc9c93361bde732b0", + "sample-data-telemetry": "7d3cfeb915303c9641c59681967ffeb4", + "search": "181661168bbadd1eff5902361e2a0d5c", + "telemetry": "36a616f7026dfa617d6655df850fe16d", + "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", + "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", + "type": "2f4316de49999235636386fe51dc06c1", + "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", + "updated_at": "00da57df13e94e9d98437d13ace4bfe0", + "url": "b675c3be8d76ecf029294d51dc7ec65d", + "visualization": "52d7a13ad68a150c4525b292d23e12cc" + } + }, + "dynamic": "strict", + "properties": { + "application_usage_totals": { + "properties": { + "appId": { + "type": "keyword" + }, + "minutesOnScreen": { + "type": "float" + }, + "numberOfClicks": { + "type": "long" + } } }, - "dynamic": "strict", - "properties": { - "application_usage_totals": { - "properties": { - "appId": { - "type": "keyword" - }, - "minutesOnScreen": { - "type": "float" - }, - "numberOfClicks": { - "type": "long" - } + "application_usage_transactional": { + "properties": { + "appId": { + "type": "keyword" + }, + "minutesOnScreen": { + "type": "float" + }, + "numberOfClicks": { + "type": "long" + }, + "timestamp": { + "type": "date" } - }, - "application_usage_transactional": { - "properties": { - "appId": { - "type": "keyword" - }, - "minutesOnScreen": { - "type": "float" + } + }, + "config": { + "dynamic": "true", + "properties": { + "accessibility:disableAnimations": { + "type": "boolean" + }, + "buildNum": { + "type": "keyword" + }, + "dateFormat:tz": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "numberOfClicks": { - "type": "long" + "type": "text" + }, + "defaultIndex": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "timestamp": { - "type": "date" - } + "type": "text" + }, + "notifications:lifetime:banner": { + "type": "long" + }, + "notifications:lifetime:error": { + "type": "long" + }, + "notifications:lifetime:info": { + "type": "long" + }, + "notifications:lifetime:warning": { + "type": "long" + }, + "xPackMonitoring:showBanner": { + "type": "boolean" } - }, - "config": { - "dynamic": "true", - "properties": { - "accessibility:disableAnimations": { - "type": "boolean" - }, - "buildNum": { - "type": "keyword" - }, - "dateFormat:tz": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } + } + }, + "dashboard": { + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" + } + } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" }, - "type": "text" - }, - "defaultIndex": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } + "pause": { + "type": "boolean" }, - "type": "text" - }, - "notifications:lifetime:banner": { - "type": "long" - }, - "notifications:lifetime:error": { - "type": "long" - }, - "notifications:lifetime:info": { - "type": "long" - }, - "notifications:lifetime:warning": { - "type": "long" - }, - "xPackMonitoring:showBanner": { - "type": "boolean" - } - } - }, - "dashboard": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } - } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } + "section": { + "type": "integer" + }, + "value": { + "type": "integer" } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "type": { - "type": "keyword" - }, - "typeMeta": { - "type": "keyword" - } + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "type": { + "type": "keyword" + }, + "typeMeta": { + "type": "keyword" } - }, - "kql-telemetry": { - "properties": { - "optInCount": { - "type": "long" - }, - "optOutCount": { - "type": "long" - } + } + }, + "kql-telemetry": { + "properties": { + "optInCount": { + "type": "long" + }, + "optOutCount": { + "type": "long" } - }, - "map": { - "properties": { - "description": { - "type": "text" - }, - "layerListJSON": { - "type": "text" + } + }, + "map": { + "properties": { + "description": { + "type": "text" + }, + "layerListJSON": { + "type": "text" + }, + "mapStateJSON": { + "type": "text" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + } + } + }, + "migrationVersion": { + "dynamic": "true", + "properties": { + "dashboard": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "mapStateJSON": { - "type": "text" + "type": "text" + }, + "index-pattern": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "title": { - "type": "text" + "type": "text" + }, + "search": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "uiStateJSON": { - "type": "text" + "type": "text" + }, + "visualization": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "version": { - "type": "integer" - } + "type": "text" } - }, - "migrationVersion": { - "dynamic": "true", - "properties": { - "dashboard": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "index-pattern": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "search": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "visualization": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } + } + }, + "namespace": { + "type": "keyword" + }, + "namespaces": { + "type": "keyword" + }, + "query": { + "properties": { + "description": { + "type": "text" + }, + "filters": { + "enabled": false, + "type": "object" + }, + "query": { + "properties": { + "language": { + "type": "keyword" }, - "type": "text" - } - } - }, - "namespace": { - "type": "keyword" - }, - "namespaces": { - "type": "keyword" - }, - "query": { - "properties": { - "description": { - "type": "text" - }, - "filters": { - "enabled": false, - "type": "object" - }, - "query": { - "properties": { - "language": { - "type": "keyword" - }, - "query": { - "index": false, - "type": "keyword" - } + "query": { + "index": false, + "type": "keyword" } - }, - "timefilter": { - "enabled": false, - "type": "object" - }, - "title": { - "type": "text" } + }, + "timefilter": { + "enabled": false, + "type": "object" + }, + "title": { + "type": "text" } - }, - "references": { - "properties": { - "id": { - "type": "keyword" - }, - "name": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } + } + }, + "references": { + "properties": { + "id": { + "type": "keyword" }, - "type": "nested" - }, - "sample-data-telemetry": { - "properties": { - "installCount": { - "type": "long" - }, - "unInstallCount": { - "type": "long" - } + "name": { + "type": "keyword" + }, + "type": { + "type": "keyword" } }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "initials": { - "type": "keyword" - }, - "name": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } + "type": "nested" + }, + "sample-data-telemetry": { + "properties": { + "installCount": { + "type": "long" + }, + "unInstallCount": { + "type": "long" } - }, - "tag": { - "properties": { - "name": { - "type": "text" - }, - "description": { - "type": "text" + } + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "initials": { + "type": "keyword" + }, + "name": { + "fields": { + "keyword": { + "ignore_above": 2048, + "type": "keyword" + } }, - "color": { - "type": "text" - } + "type": "text" } - }, - "search": { - "properties": { - "columns": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "tag": { + "properties": { + "name": { + "type": "text" + }, + "description": { + "type": "text" + }, + "color": { + "type": "text" + } + } + }, + "search": { + "properties": { + "columns": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "sort": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "sort": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } + } + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" } - }, - "telemetry": { - "properties": { - "allowChangingOptInStatus": { - "type": "boolean" - }, - "enabled": { - "type": "boolean" - }, - "lastReported": { - "type": "date" - }, - "lastVersionChecked": { - "type": "keyword" - }, - "reportFailureCount": { - "type": "integer" - }, - "reportFailureVersion": { - "type": "keyword" - }, - "sendUsageFrom": { - "type": "keyword" - }, - "userHasSeenNotice": { - "type": "boolean" - } + } + }, + "telemetry": { + "properties": { + "allowChangingOptInStatus": { + "type": "boolean" + }, + "enabled": { + "type": "boolean" + }, + "lastReported": { + "type": "date" + }, + "lastVersionChecked": { + "type": "keyword" + }, + "reportFailureCount": { + "type": "integer" + }, + "reportFailureVersion": { + "type": "keyword" + }, + "sendUsageFrom": { + "type": "keyword" + }, + "userHasSeenNotice": { + "type": "boolean" } - }, - "timelion-sheet": { - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "timelion-sheet": { + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "timelion_chart_height": { - "type": "integer" - }, - "timelion_columns": { - "type": "integer" - }, - "timelion_interval": { - "type": "keyword" - }, - "timelion_other_interval": { - "type": "keyword" - }, - "timelion_rows": { - "type": "integer" - }, - "timelion_sheet": { - "type": "text" - }, - "title": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "timelion_chart_height": { + "type": "integer" + }, + "timelion_columns": { + "type": "integer" + }, + "timelion_interval": { + "type": "keyword" + }, + "timelion_other_interval": { + "type": "keyword" + }, + "timelion_rows": { + "type": "integer" + }, + "timelion_sheet": { + "type": "text" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "tsvb-validation-telemetry": { - "properties": { - "failedRequests": { - "type": "long" - } + } + }, + "tsvb-validation-telemetry": { + "properties": { + "failedRequests": { + "type": "long" } - }, - "type": { - "type": "keyword" - }, - "ui-metric": { - "properties": { - "count": { - "type": "integer" - } + } + }, + "type": { + "type": "keyword" + }, + "ui-metric": { + "properties": { + "count": { + "type": "integer" } - }, - "updated_at": { - "type": "date" - }, - "url": { - "properties": { - "accessCount": { - "type": "long" - }, - "accessDate": { - "type": "date" - }, - "createDate": { - "type": "date" + } + }, + "updated_at": { + "type": "date" + }, + "url": { + "properties": { + "accessCount": { + "type": "long" + }, + "accessDate": { + "type": "date" + }, + "createDate": { + "type": "date" + }, + "url": { + "fields": { + "keyword": { + "type": "keyword" + } }, - "url": { - "fields": { - "keyword": { - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" } - }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "savedSearchRefName": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" } + }, + "savedSearchRefName": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" } } } diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/rbac_tags/data.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/rbac_tags/data.json index 0027754ff1e26..873059e8cf645 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/rbac_tags/data.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/rbac_tags/data.json @@ -12,7 +12,7 @@ "type": "space", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -29,7 +29,7 @@ "type": "space", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -46,7 +46,7 @@ "type": "space", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -64,7 +64,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -82,7 +82,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -101,6 +101,6 @@ "namespace": "space_1", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/rbac_tags/mappings.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/rbac_tags/mappings.json index 5d99ac7170e64..cd57c26dfc337 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/rbac_tags/mappings.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/rbac_tags/mappings.json @@ -6,172 +6,170 @@ }, "index": ".kibana_1", "mappings": { - "doc": { - "dynamic": "strict", - "properties": { - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" + "dynamic": "strict", + "properties": { + "config": { + "dynamic": "true", + "properties": { + "buildNum": { + "type": "keyword" + }, + "defaultIndex": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "defaultIndex": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" } - }, - "dashboard": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "dashboard": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } + } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" + }, + "pause": { + "type": "boolean" + }, + "section": { + "type": "integer" + }, + "value": { + "type": "integer" } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - } + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" } - }, - "namespace": { - "type": "keyword" - }, - "namespaces": { - "type": "keyword" - }, - "originId": { - "type": "keyword" - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } + } + }, + "namespace": { + "type": "keyword" + }, + "namespaces": { + "type": "keyword" + }, + "originId": { + "type": "keyword" + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" } - }, - "tag": { - "properties": { - "name": { - "type": "text" - }, - "description": { - "type": "text" - }, - "color": { - "type": "text" - } + } + }, + "tag": { + "properties": { + "name": { + "type": "text" + }, + "description": { + "type": "text" + }, + "color": { + "type": "text" } - }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "initials": { - "type": "keyword" + } + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "initials": { + "type": "keyword" + }, + "name": { + "fields": { + "keyword": { + "ignore_above": 2048, + "type": "keyword" + } }, - "name": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" } - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" } + }, + "type": { + "type": "keyword" + }, + "updated_at": { + "type": "date" } } }, diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/so_management/data.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/so_management/data.json index f20435d7afc99..e4b1200dcb314 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/so_management/data.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/so_management/data.json @@ -12,7 +12,7 @@ "type": "space", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -30,7 +30,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -48,7 +48,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -66,7 +66,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/so_management/mappings.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/so_management/mappings.json index 12a8d187683c8..5ccad08bc21fa 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/so_management/mappings.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/so_management/mappings.json @@ -6,213 +6,211 @@ }, "index": ".kibana_1", "mappings": { - "doc": { - "dynamic": "strict", - "properties": { - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" + "dynamic": "strict", + "properties": { + "config": { + "dynamic": "true", + "properties": { + "buildNum": { + "type": "keyword" + }, + "defaultIndex": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "defaultIndex": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" } - }, - "dashboard": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "dashboard": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } + } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" + }, + "pause": { + "type": "boolean" + }, + "section": { + "type": "integer" + }, + "value": { + "type": "integer" } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - } + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" } - }, - "namespace": { - "type": "keyword" - }, - "namespaces": { - "type": "keyword" - }, - "originId": { - "type": "keyword" - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } + } + }, + "namespace": { + "type": "keyword" + }, + "namespaces": { + "type": "keyword" + }, + "originId": { + "type": "keyword" + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" } - }, - "tag": { - "properties": { - "name": { - "type": "text" - }, - "description": { - "type": "text" - }, - "color": { - "type": "text" - } + } + }, + "tag": { + "properties": { + "name": { + "type": "text" + }, + "description": { + "type": "text" + }, + "color": { + "type": "text" } - }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "initials": { - "type": "keyword" + } + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "initials": { + "type": "keyword" + }, + "name": { + "fields": { + "keyword": { + "ignore_above": 2048, + "type": "keyword" + } }, - "name": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" } - }, - "references": { - "properties": { - "id": { - "type": "keyword" - }, - "name": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } + } + }, + "references": { + "properties": { + "id": { + "type": "keyword" }, - "type": "nested" - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" + "name": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + "type": "nested" + }, + "type": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" } + }, + "savedSearchId": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" } } } diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/usage_collection/data.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/usage_collection/data.json index a9535ae9e40b2..ac5d9c6ea1a1e 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/usage_collection/data.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/usage_collection/data.json @@ -12,7 +12,7 @@ "type": "space", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -30,7 +30,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -48,7 +48,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -66,7 +66,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -84,7 +84,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -102,7 +102,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/usage_collection/mappings.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/usage_collection/mappings.json index 77800230f8d6a..2e465869f9ae5 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/usage_collection/mappings.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/usage_collection/mappings.json @@ -6,254 +6,252 @@ }, "index": ".kibana_1", "mappings": { - "doc": { - "dynamic": "strict", - "properties": { - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" - }, - "defaultIndex": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } - } - }, - "migrationVersion": { - "dynamic": "true", - "properties": { - "dashboard": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "index-pattern": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - }, - "search": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" + "dynamic": "strict", + "properties": { + "config": { + "dynamic": "true", + "properties": { + "buildNum": { + "type": "keyword" + }, + "defaultIndex": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "visualization": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" } - }, - "dashboard": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "migrationVersion": { + "dynamic": "true", + "properties": { + "dashboard": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" } }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } + "type": "text" + }, + "index-pattern": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" } }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - } - } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, + "type": "text" + }, + "search": { "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "timeFieldName": { - "type": "keyword" + "type": "text" + }, + "visualization": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "title": { - "type": "text" - } + "type": "text" } - }, - "namespace": { - "type": "keyword" - }, - "namespaces": { - "type": "keyword" - }, - "originId": { - "type": "keyword" - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } - } - }, - "tag": { - "properties": { - "name": { - "type": "text" - }, - "description": { - "type": "text" - }, - "color": { - "type": "text" + } + }, + "dashboard": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" + } } - } - }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "initials": { - "type": "keyword" - }, - "name": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" + }, + "pause": { + "type": "boolean" + }, + "section": { + "type": "integer" }, - "type": "text" + "value": { + "type": "integer" + } } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "references": { - "properties": { - "id": { - "type": "keyword" - }, - "name": { - "type": "keyword" + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" + } + } + }, + "namespace": { + "type": "keyword" + }, + "namespaces": { + "type": "keyword" + }, + "originId": { + "type": "keyword" + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" + } + } + }, + "tag": { + "properties": { + "name": { + "type": "text" + }, + "description": { + "type": "text" + }, + "color": { + "type": "text" + } + } + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "initials": { + "type": "keyword" + }, + "name": { + "fields": { + "keyword": { + "ignore_above": 2048, + "type": "keyword" + } }, - "type": { - "type": "keyword" - } + "type": "text" + } + } + }, + "references": { + "properties": { + "id": { + "type": "keyword" }, - "type": "nested" - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" + "name": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + "type": "nested" + }, + "type": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" } + }, + "savedSearchId": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" } } } diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/visualize/data.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/visualize/data.json index 5b504f085b1a0..c3f9c7bbfd5ab 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/visualize/data.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/visualize/data.json @@ -12,7 +12,7 @@ "type": "space", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -30,7 +30,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -48,7 +48,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } @@ -66,7 +66,7 @@ "type": "tag", "updated_at": "2017-09-21T18:49:16.270Z" }, - "type": "doc" + "type": "_doc" } } diff --git a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/visualize/mappings.json b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/visualize/mappings.json index 12a8d187683c8..5ccad08bc21fa 100644 --- a/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/visualize/mappings.json +++ b/x-pack/test/saved_object_tagging/common/fixtures/es_archiver/visualize/mappings.json @@ -6,213 +6,211 @@ }, "index": ".kibana_1", "mappings": { - "doc": { - "dynamic": "strict", - "properties": { - "config": { - "dynamic": "true", - "properties": { - "buildNum": { - "type": "keyword" + "dynamic": "strict", + "properties": { + "config": { + "dynamic": "true", + "properties": { + "buildNum": { + "type": "keyword" + }, + "defaultIndex": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } }, - "defaultIndex": { - "fields": { - "keyword": { - "ignore_above": 256, - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" } - }, - "dashboard": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "hits": { - "type": "integer" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + } + }, + "dashboard": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "optionsJSON": { - "type": "text" - }, - "panelsJSON": { - "type": "text" - }, - "refreshInterval": { - "properties": { - "display": { - "type": "keyword" - }, - "pause": { - "type": "boolean" - }, - "section": { - "type": "integer" - }, - "value": { - "type": "integer" - } + } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" + }, + "pause": { + "type": "boolean" + }, + "section": { + "type": "integer" + }, + "value": { + "type": "integer" } - }, - "timeFrom": { - "type": "keyword" - }, - "timeRestore": { - "type": "boolean" - }, - "timeTo": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" } - }, - "index-pattern": { - "properties": { - "fieldFormatMap": { - "type": "text" - }, - "fields": { - "type": "text" - }, - "intervalName": { - "type": "keyword" - }, - "notExpandable": { - "type": "boolean" - }, - "sourceFilters": { - "type": "text" - }, - "timeFieldName": { - "type": "keyword" - }, - "title": { - "type": "text" - } + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" } - }, - "namespace": { - "type": "keyword" - }, - "namespaces": { - "type": "keyword" - }, - "originId": { - "type": "keyword" - }, - "server": { - "properties": { - "uuid": { - "type": "keyword" - } + } + }, + "namespace": { + "type": "keyword" + }, + "namespaces": { + "type": "keyword" + }, + "originId": { + "type": "keyword" + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" } - }, - "tag": { - "properties": { - "name": { - "type": "text" - }, - "description": { - "type": "text" - }, - "color": { - "type": "text" - } + } + }, + "tag": { + "properties": { + "name": { + "type": "text" + }, + "description": { + "type": "text" + }, + "color": { + "type": "text" } - }, - "space": { - "properties": { - "_reserved": { - "type": "boolean" - }, - "color": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "disabledFeatures": { - "type": "keyword" - }, - "initials": { - "type": "keyword" + } + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "initials": { + "type": "keyword" + }, + "name": { + "fields": { + "keyword": { + "ignore_above": 2048, + "type": "keyword" + } }, - "name": { - "fields": { - "keyword": { - "ignore_above": 2048, - "type": "keyword" - } - }, - "type": "text" - } + "type": "text" } - }, - "references": { - "properties": { - "id": { - "type": "keyword" - }, - "name": { - "type": "keyword" - }, - "type": { - "type": "keyword" - } + } + }, + "references": { + "properties": { + "id": { + "type": "keyword" }, - "type": "nested" - }, - "type": { - "type": "keyword" - }, - "updated_at": { - "type": "date" + "name": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } }, - "visualization": { - "properties": { - "description": { - "type": "text" - }, - "kibanaSavedObjectMeta": { - "properties": { - "searchSourceJSON": { - "type": "text" - } + "type": "nested" + }, + "type": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" } - }, - "savedSearchId": { - "type": "keyword" - }, - "title": { - "type": "text" - }, - "uiStateJSON": { - "type": "text" - }, - "version": { - "type": "integer" - }, - "visState": { - "type": "text" } + }, + "savedSearchId": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" } } } diff --git a/x-pack/test/performance/tests/index.ts b/x-pack/test/screenshot_creation/apps/index.ts similarity index 77% rename from x-pack/test/performance/tests/index.ts rename to x-pack/test/screenshot_creation/apps/index.ts index d784fa3031739..b02cf516a0088 100644 --- a/x-pack/test/performance/tests/index.ts +++ b/x-pack/test/screenshot_creation/apps/index.ts @@ -8,9 +8,7 @@ import { FtrProviderContext } from '../ftr_provider_context'; export default function ({ loadTestFile }: FtrProviderContext) { - describe('performance', function () { - this.tags('ciGroup8'); - - loadTestFile(require.resolve('./home')); + describe('apps', function () { + loadTestFile(require.resolve('./ml_docs')); }); } diff --git a/x-pack/test/screenshot_creation/apps/ml_docs/anomaly_detection/custom_urls.ts b/x-pack/test/screenshot_creation/apps/ml_docs/anomaly_detection/custom_urls.ts new file mode 100644 index 0000000000000..6906fa5dfc38a --- /dev/null +++ b/x-pack/test/screenshot_creation/apps/ml_docs/anomaly_detection/custom_urls.ts @@ -0,0 +1,100 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../../ftr_provider_context'; +import { Job, Datafeed } from '../../../../../plugins/ml/common/types/anomaly_detection_jobs'; +import { TIME_RANGE_TYPE } from '../../../../../plugins/ml/public/application/jobs/components/custom_url_editor/constants'; + +import { ECOMMERCE_INDEX_PATTERN } from '../index'; + +export default function ({ getService }: FtrProviderContext) { + const ml = getService('ml'); + const mlScreenshots = getService('mlScreenshots'); + + const screenshotDirectories = ['ml_docs', 'anomaly_detection']; + + const ecommerceJobConfig = { + job_id: `ecommerce-custom-url`, + analysis_config: { + bucket_span: '2h', + influencers: ['geoip.country_iso_code', 'day_of_week', 'category.keyword', 'user'], + detectors: [ + { + detector_description: 'mean("products.base_price") over "customer_full_name.keyword"', + function: 'mean', + field_name: 'products.base_price', + over_field_name: 'customer_full_name.keyword', + }, + ], + }, + data_description: { time_field: 'order_date' }, + }; + + const ecommerceDatafeedConfig = { + datafeed_id: 'datafeed-ecommerce-custom-url', + indices: [ECOMMERCE_INDEX_PATTERN], + job_id: 'ecommerce-custom-url', + query: { bool: { must: [{ match_all: {} }] } }, + }; + + const testDashboardCustomUrl = { + label: 'Data dashboard', + dashboardName: '[eCommerce] Revenue Dashboard', + queryEntityFieldNames: ['customer_full_name.keyword'], + timeRange: TIME_RANGE_TYPE.AUTO, + }; + + describe('custom urls', function () { + before(async () => { + await ml.api.createAndRunAnomalyDetectionLookbackJob( + ecommerceJobConfig as Job, + ecommerceDatafeedConfig as Datafeed + ); + }); + + after(async () => { + await ml.api.deleteAnomalyDetectionJobES(ecommerceJobConfig.job_id); + await ml.api.cleanMlIndices(); + }); + + it('custom url config screenshot', async () => { + await ml.testExecution.logTestStep('navigate to job list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToJobManagement(); + + await ml.testExecution.logTestStep( + 'fill in the dashboard custom url form and take screenshot' + ); + await ml.jobTable.closeEditJobFlyout(); + await ml.jobTable.openEditCustomUrlsForJobTab(ecommerceJobConfig.job_id); + const existingCustomUrlCount = await ml.jobTable.getExistingCustomUrlCount(); + await ml.jobTable.fillInDashboardUrlForm(testDashboardCustomUrl); + await mlScreenshots.takeScreenshot('ml-customurl-edit', screenshotDirectories); + + await ml.testExecution.logTestStep('add the custom url and save the job'); + await ml.jobTable.saveCustomUrl(testDashboardCustomUrl.label, existingCustomUrlCount); + await ml.jobTable.saveEditJobFlyoutChanges(); + }); + + it('anomaly list screenshot', async () => { + await ml.testExecution.logTestStep('navigate to job list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToJobManagement(); + + await ml.testExecution.logTestStep('open job in anomaly explorer'); + await ml.jobTable.filterWithSearchString(ecommerceJobConfig.job_id, 1); + await ml.jobTable.clickOpenJobInAnomalyExplorerButton(ecommerceJobConfig.job_id); + await ml.commonUI.waitForMlLoadingIndicatorToDisappear(); + + await ml.testExecution.logTestStep('open anomaly list actions and take screenshot'); + await ml.anomaliesTable.scrollTableIntoView(); + await ml.anomaliesTable.ensureAnomalyActionsMenuOpen(0); + + await mlScreenshots.takeScreenshot('ml-population-results', screenshotDirectories); + }); + }); +} diff --git a/x-pack/test/screenshot_creation/apps/ml_docs/anomaly_detection/geographic_data.ts b/x-pack/test/screenshot_creation/apps/ml_docs/anomaly_detection/geographic_data.ts new file mode 100644 index 0000000000000..868e649950ba5 --- /dev/null +++ b/x-pack/test/screenshot_creation/apps/ml_docs/anomaly_detection/geographic_data.ts @@ -0,0 +1,292 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../../ftr_provider_context'; +import { Job, Datafeed } from '../../../../../plugins/ml/common/types/anomaly_detection_jobs'; +import { ML_JOB_FIELD_TYPES } from '../../../../../plugins/ml/common/constants/field_types'; + +import { ECOMMERCE_INDEX_PATTERN, LOGS_INDEX_PATTERN } from '../index'; + +export default function ({ getPageObject, getService }: FtrProviderContext) { + const elasticChart = getService('elasticChart'); + const maps = getPageObject('maps'); + const ml = getService('ml'); + const mlScreenshots = getService('mlScreenshots'); + const renderable = getService('renderable'); + + const screenshotDirectories = ['ml_docs', 'anomaly_detection']; + + const ecommerceGeoJobConfig = { + job_id: `ecommerce-geo`, + analysis_config: { + bucket_span: '15m', + influencers: ['geoip.country_iso_code', 'day_of_week', 'category.keyword', 'user'], + detectors: [ + { + detector_description: 'Unusual coordinates by user', + function: 'lat_long', + field_name: 'geoip.location', + by_field_name: 'user', + }, + ], + }, + data_description: { time_field: 'order_date' }, + }; + + const ecommerceGeoDatafeedConfig = { + datafeed_id: 'datafeed-ecommerce-geo', + indices: [ECOMMERCE_INDEX_PATTERN], + job_id: 'ecommerce-geo', + query: { bool: { must: [{ match_all: {} }] } }, + }; + + const weblogGeoJobConfig = { + job_id: `weblogs-geo`, + analysis_config: { + bucket_span: '15m', + influencers: ['geo.src', 'extension.keyword', 'geo.dest'], + detectors: [ + { + detector_description: 'Unusual coordinates', + function: 'lat_long', + field_name: 'geo.coordinates', + }, + { + function: 'high_sum', + field_name: 'bytes', + }, + ], + }, + data_description: { time_field: 'timestamp', time_format: 'epoch_ms' }, + }; + + const weblogGeoDatafeedConfig = { + datafeed_id: 'datafeed-weblogs-geo', + indices: [LOGS_INDEX_PATTERN], + job_id: 'weblogs-geo', + query: { bool: { must: [{ match_all: {} }] } }, + }; + + const cellSize = 15; + const overallSwimLaneTestSubj = 'mlAnomalyExplorerSwimlaneOverall'; + + describe('geographic data', function () { + before(async () => { + await ml.api.createAndRunAnomalyDetectionLookbackJob( + ecommerceGeoJobConfig as Job, + ecommerceGeoDatafeedConfig as Datafeed + ); + await ml.api.createAndRunAnomalyDetectionLookbackJob( + weblogGeoJobConfig as Job, + weblogGeoDatafeedConfig as Datafeed + ); + }); + + after(async () => { + await elasticChart.setNewChartUiDebugFlag(false); + await ml.api.deleteAnomalyDetectionJobES(ecommerceGeoJobConfig.job_id); + await ml.api.deleteAnomalyDetectionJobES(weblogGeoJobConfig.job_id); + await ml.api.cleanMlIndices(); + }); + + it('data visualizer screenshot', async () => { + await ml.testExecution.logTestStep('open index in data visualizer'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToDataVisualizer(); + await ml.dataVisualizer.navigateToIndexPatternSelection(); + await ml.jobSourceSelection.selectSourceForIndexBasedDataVisualizer(LOGS_INDEX_PATTERN); + + await ml.testExecution.logTestStep('set data visualizer options'); + await ml.dataVisualizerIndexBased.assertTimeRangeSelectorSectionExists(); + await ml.dataVisualizerIndexBased.clickUseFullDataButton('14,074'); + await ml.dataVisualizerTable.setSampleSizeInputValue( + 'all', + 'geo.coordinates', + '14074 (100%)' + ); + await ml.dataVisualizerTable.setFieldTypeFilter([ML_JOB_FIELD_TYPES.GEO_POINT]); + + await ml.testExecution.logTestStep('set maps options and take screenshot'); + await ml.dataVisualizerTable.ensureDetailsOpen('geo.coordinates'); + await renderable.waitForRender(); + + // setView only works with displayed legend + await maps.openLegend(); + await maps.setView(44.1, -68.9, 4.5); + await maps.closeLegend(); + + await mlScreenshots.takeScreenshot('weblogs-data-visualizer-geopoint', screenshotDirectories); + }); + + it('ecommerce wizard screenshot', async () => { + await ml.testExecution.logTestStep('navigate to job list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToJobManagement(); + + await ml.testExecution.logTestStep('load the advanced wizard'); + await ml.jobManagement.navigateToNewJobSourceSelection(); + await ml.jobSourceSelection.selectSourceForAnomalyDetectionJob(ECOMMERCE_INDEX_PATTERN); + await ml.jobTypeSelection.selectAdvancedJob(); + + await ml.testExecution.logTestStep('continue to the pick fields step'); + await ml.jobWizardCommon.assertConfigureDatafeedSectionExists(); + await ml.jobWizardCommon.advanceToPickFieldsSection(); + + await ml.testExecution.logTestStep('add detector'); + await ml.jobWizardAdvanced.openCreateDetectorModal(); + await ml.jobWizardAdvanced.selectDetectorFunction('lat_long'); + await ml.jobWizardAdvanced.selectDetectorField('geoip.location'); + await ml.jobWizardAdvanced.selectDetectorByField('user'); + await ml.jobWizardAdvanced.confirmAddDetectorModal(); + + await ml.testExecution.logTestStep('set the bucket span'); + await ml.jobWizardCommon.assertBucketSpanInputExists(); + await ml.jobWizardCommon.setBucketSpan('15m'); + + await ml.testExecution.logTestStep('set influencers'); + await ml.jobWizardCommon.assertInfluencerInputExists(); + await ml.jobWizardCommon.assertInfluencerSelection([]); + for (const influencer of ['geoip.country_iso_code', 'day_of_week', 'category.keyword']) { + await ml.jobWizardCommon.addInfluencer(influencer); + } + + await ml.testExecution.logTestStep('set the model memory limit'); + await ml.jobWizardCommon.assertModelMemoryLimitInputExists({ + withAdvancedSection: false, + }); + await ml.jobWizardCommon.setModelMemoryLimit('12MB', { + withAdvancedSection: false, + }); + + await ml.testExecution.logTestStep('take screenshot'); + await mlScreenshots.removeFocusFromElement(); + await mlScreenshots.takeScreenshot( + 'ecommerce-advanced-wizard-geopoint', + screenshotDirectories + ); + }); + + it('weblogs wizard screenshot', async () => { + await ml.testExecution.logTestStep('navigate to job list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToJobManagement(); + + await ml.testExecution.logTestStep('load the advanced wizard'); + await ml.jobManagement.navigateToNewJobSourceSelection(); + await ml.jobSourceSelection.selectSourceForAnomalyDetectionJob(LOGS_INDEX_PATTERN); + await ml.jobTypeSelection.selectAdvancedJob(); + + await ml.testExecution.logTestStep('continue to the pick fields step'); + await ml.jobWizardCommon.assertConfigureDatafeedSectionExists(); + await ml.jobWizardCommon.advanceToPickFieldsSection(); + + await ml.testExecution.logTestStep('add detectors'); + await ml.jobWizardAdvanced.openCreateDetectorModal(); + await ml.jobWizardAdvanced.selectDetectorFunction('lat_long'); + await ml.jobWizardAdvanced.selectDetectorField('geo.coordinates'); + await ml.jobWizardAdvanced.setDetectorDescription('lat_long("geo.coordinates")'); + await ml.jobWizardAdvanced.confirmAddDetectorModal(); + + await ml.jobWizardAdvanced.openCreateDetectorModal(); + await ml.jobWizardAdvanced.selectDetectorFunction('high_sum'); + await ml.jobWizardAdvanced.selectDetectorField('bytes'); + await ml.jobWizardAdvanced.setDetectorDescription('sum(bytes)'); + await ml.jobWizardAdvanced.confirmAddDetectorModal(); + + await ml.testExecution.logTestStep('set the bucket span'); + await ml.jobWizardCommon.assertBucketSpanInputExists(); + await ml.jobWizardCommon.setBucketSpan('15m'); + + await ml.testExecution.logTestStep('set influencers'); + await ml.jobWizardCommon.assertInfluencerInputExists(); + await ml.jobWizardCommon.assertInfluencerSelection([]); + for (const influencer of ['geo.src', 'geo.dest', 'extension.keyword']) { + await ml.jobWizardCommon.addInfluencer(influencer); + } + + await ml.testExecution.logTestStep('set the model memory limit'); + await ml.jobWizardCommon.assertModelMemoryLimitInputExists({ + withAdvancedSection: false, + }); + await ml.jobWizardCommon.setModelMemoryLimit('11MB', { + withAdvancedSection: false, + }); + + await ml.testExecution.logTestStep('take screenshot'); + await mlScreenshots.removeFocusFromElement(); + await mlScreenshots.takeScreenshot('weblogs-advanced-wizard-geopoint', screenshotDirectories); + }); + + // the job stopped to produce an anomaly, needs investigation + it.skip('ecommerce anomaly explorer screenshots', async () => { + await ml.testExecution.logTestStep('navigate to job list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToJobManagement(); + await elasticChart.setNewChartUiDebugFlag(true); + + await ml.testExecution.logTestStep('open job in anomaly explorer'); + await ml.jobTable.filterWithSearchString(ecommerceGeoJobConfig.job_id, 1); + await ml.jobTable.clickOpenJobInAnomalyExplorerButton(ecommerceGeoJobConfig.job_id); + await ml.commonUI.waitForMlLoadingIndicatorToDisappear(); + + await ml.testExecution.logTestStep('select swim lane tile'); + const cells = await ml.swimLane.getCells(overallSwimLaneTestSubj); + const sampleCell = cells[0]; + await ml.swimLane.selectSingleCell(overallSwimLaneTestSubj, { + x: sampleCell.x + cellSize, + y: sampleCell.y + cellSize, + }); + await ml.swimLane.waitForSwimLanesToLoad(); + + await ml.testExecution.logTestStep('take screenshot'); + await ml.anomaliesTable.ensureDetailsOpen(0); + await ml.anomalyExplorer.scrollChartsContainerIntoView(); + + await mlScreenshots.takeScreenshot( + 'ecommerce-anomaly-explorer-geopoint', + screenshotDirectories + ); + }); + + it('weblogs anomaly explorer screenshots', async () => { + await ml.testExecution.logTestStep('navigate to job list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToJobManagement(); + await elasticChart.setNewChartUiDebugFlag(true); + + await ml.testExecution.logTestStep('open job in anomaly explorer'); + await ml.jobTable.filterWithSearchString(weblogGeoJobConfig.job_id, 1); + await ml.jobTable.clickOpenJobInAnomalyExplorerButton(weblogGeoJobConfig.job_id); + await ml.commonUI.waitForMlLoadingIndicatorToDisappear(); + + await ml.testExecution.logTestStep('select swim lane tile'); + const cells = await ml.swimLane.getCells(overallSwimLaneTestSubj); + const sampleCell1 = cells[11]; + const sampleCell2 = cells[12]; + await ml.swimLane.selectCells(overallSwimLaneTestSubj, { + x1: sampleCell1.x + cellSize, + y1: sampleCell1.y + cellSize, + x2: sampleCell2!.x + cellSize, + y2: sampleCell2!.y + cellSize, + }); + await ml.swimLane.waitForSwimLanesToLoad(); + + await ml.testExecution.logTestStep('set map options and take screenshot'); + await ml.anomalyExplorer.scrollChartsContainerIntoView(); + + // clickFitToData only works with displayed legend + await maps.openLegend(); + await maps.clickFitToData(); + await maps.closeLegend(); + + await mlScreenshots.takeScreenshot( + 'weblogs-anomaly-explorer-geopoint', + screenshotDirectories + ); + }); + }); +} diff --git a/x-pack/test/screenshot_creation/apps/ml_docs/anomaly_detection/index.ts b/x-pack/test/screenshot_creation/apps/ml_docs/anomaly_detection/index.ts new file mode 100644 index 0000000000000..389a240eaa464 --- /dev/null +++ b/x-pack/test/screenshot_creation/apps/ml_docs/anomaly_detection/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ loadTestFile }: FtrProviderContext) { + describe('anomaly detection', function () { + loadTestFile(require.resolve('./geographic_data')); + loadTestFile(require.resolve('./population_analysis')); + loadTestFile(require.resolve('./custom_urls')); + loadTestFile(require.resolve('./mapping_anomalies')); + }); +} diff --git a/x-pack/test/screenshot_creation/apps/ml_docs/anomaly_detection/mapping_anomalies.ts b/x-pack/test/screenshot_creation/apps/ml_docs/anomaly_detection/mapping_anomalies.ts new file mode 100644 index 0000000000000..e1859c5ae0a76 --- /dev/null +++ b/x-pack/test/screenshot_creation/apps/ml_docs/anomaly_detection/mapping_anomalies.ts @@ -0,0 +1,128 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../../ftr_provider_context'; +import { Job, Datafeed } from '../../../../../plugins/ml/common/types/anomaly_detection_jobs'; + +import { LOGS_INDEX_PATTERN } from '../index'; + +export default function ({ getPageObject, getService }: FtrProviderContext) { + const header = getPageObject('header'); + const maps = getPageObject('maps'); + const ml = getService('ml'); + const mlScreenshots = getService('mlScreenshots'); + const renderable = getService('renderable'); + + const screenshotDirectories = ['ml_docs', 'anomaly_detection']; + + const weblogVectorJobConfig = { + job_id: `weblogs-vectors`, + analysis_config: { + bucket_span: '15m', + influencers: ['geo.src', 'agent.keyword', 'geo.dest'], + detectors: [ + { + detector_description: 'Sum of bytes', + function: 'sum', + field_name: 'bytes', + partition_field_name: 'geo.dest', + }, + ], + }, + data_description: { time_field: 'timestamp', time_format: 'epoch_ms' }, + custom_settings: { created_by: 'multi-metric-wizard' }, + }; + + const weblogVectorDatafeedConfig = { + datafeed_id: 'datafeed-weblogs-vectors', + indices: [LOGS_INDEX_PATTERN], + job_id: 'weblogs-vectors', + query: { bool: { must: [{ match_all: {} }] } }, + }; + + describe('mapping anomalies', function () { + before(async () => { + await ml.api.createAndRunAnomalyDetectionLookbackJob( + weblogVectorJobConfig as Job, + weblogVectorDatafeedConfig as Datafeed + ); + }); + + after(async () => { + await ml.api.deleteAnomalyDetectionJobES(weblogVectorJobConfig.job_id); + await ml.api.cleanMlIndices(); + }); + + it('data visualizer screenshot', async () => { + await ml.testExecution.logTestStep('open index in data visualizer'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToDataVisualizer(); + await ml.dataVisualizer.navigateToIndexPatternSelection(); + await ml.jobSourceSelection.selectSourceForIndexBasedDataVisualizer(LOGS_INDEX_PATTERN); + + await ml.testExecution.logTestStep('set data visualizer options'); + await ml.dataVisualizerIndexBased.assertTimeRangeSelectorSectionExists(); + await ml.dataVisualizerIndexBased.clickUseFullDataButton('14,074'); + await ml.dataVisualizerTable.setSampleSizeInputValue( + 'all', + 'geo.coordinates', + '14074 (100%)' + ); + await ml.dataVisualizerTable.setFieldNameFilter(['geo.dest']); + + await ml.testExecution.logTestStep('set maps options and take screenshot'); + await ml.dataVisualizerTable.ensureDetailsOpen('geo.dest'); + await renderable.waitForRender(); + await maps.openLegend(); + + await mlScreenshots.takeScreenshot( + 'weblogs-data-visualizer-choropleth', + screenshotDirectories + ); + }); + + it('wizard screenshot', async () => { + await ml.testExecution.logTestStep('navigate to job list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToJobManagement(); + + await ml.testExecution.logTestStep('load job in the multi-metric wizard'); + await ml.navigation.navigateToJobManagement(); + await ml.jobTable.filterWithSearchString(weblogVectorJobConfig.job_id, 1); + await ml.jobTable.clickCloneJobAction(weblogVectorJobConfig.job_id); + await ml.jobTypeSelection.assertMultiMetricJobWizardOpen(); + + await ml.testExecution.logTestStep('navigate to pick fields step'); + await ml.jobWizardCommon.advanceToPickFieldsSection(); + await header.awaitGlobalLoadingIndicatorHidden(); + await ml.jobWizardMultiMetric.scrollSplitFieldIntoView(); + + await ml.testExecution.logTestStep('take screenshot'); + await mlScreenshots.takeScreenshot( + 'weblogs-multimetric-wizard-vector', + screenshotDirectories + ); + }); + + it('anomaly explorer screenshot', async () => { + await ml.testExecution.logTestStep('navigate to job list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToJobManagement(); + + await ml.testExecution.logTestStep('open job in anomaly explorer'); + await ml.jobTable.filterWithSearchString(weblogVectorJobConfig.job_id, 1); + await ml.jobTable.clickOpenJobInAnomalyExplorerButton(weblogVectorJobConfig.job_id); + await ml.commonUI.waitForMlLoadingIndicatorToDisappear(); + + await ml.testExecution.logTestStep('scroll map into view and take screenshot'); + await ml.anomalyExplorer.scrollMapContainerIntoView(); + await renderable.waitForRender(); + await maps.openLegend(); + await mlScreenshots.takeScreenshot('weblogs-anomaly-explorer-vectors', screenshotDirectories); + }); + }); +} diff --git a/x-pack/test/screenshot_creation/apps/ml_docs/anomaly_detection/population_analysis.ts b/x-pack/test/screenshot_creation/apps/ml_docs/anomaly_detection/population_analysis.ts new file mode 100644 index 0000000000000..23ef7ce03ce09 --- /dev/null +++ b/x-pack/test/screenshot_creation/apps/ml_docs/anomaly_detection/population_analysis.ts @@ -0,0 +1,116 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../../ftr_provider_context'; +import { Job, Datafeed } from '../../../../../plugins/ml/common/types/anomaly_detection_jobs'; + +import { LOGS_INDEX_PATTERN } from '../index'; + +export default function ({ getService }: FtrProviderContext) { + const elasticChart = getService('elasticChart'); + const ml = getService('ml'); + const mlScreenshots = getService('mlScreenshots'); + const testSubjects = getService('testSubjects'); + + const screenshotDirectories = ['ml_docs', 'anomaly_detection']; + + const populationJobConfig = { + job_id: `population`, + analysis_config: { + bucket_span: '15m', + influencers: ['clientip'], + detectors: [ + { + function: 'mean', + field_name: 'bytes', + over_field_name: 'clientip', + }, + ], + }, + data_description: { time_field: 'timestamp', time_format: 'epoch_ms' }, + custom_settings: { created_by: 'population-wizard' }, + }; + + const populationDatafeedConfig = { + datafeed_id: 'datafeed-population', + indices: [LOGS_INDEX_PATTERN], + job_id: 'population', + query: { bool: { must: [{ match_all: {} }] } }, + }; + + const cellSize = 15; + const viewBySwimLaneTestSubj = 'mlAnomalyExplorerSwimlaneViewBy'; + + describe('population analysis', function () { + before(async () => { + await ml.api.createAndRunAnomalyDetectionLookbackJob( + populationJobConfig as Job, + populationDatafeedConfig as Datafeed + ); + }); + + after(async () => { + await elasticChart.setNewChartUiDebugFlag(false); + await ml.api.deleteAnomalyDetectionJobES(populationJobConfig.job_id); + await ml.api.cleanMlIndices(); + }); + + it('wizard screenshot', async () => { + await ml.testExecution.logTestStep('navigate to job list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToJobManagement(); + + await ml.testExecution.logTestStep('open job in wizard'); + await ml.jobTable.filterWithSearchString(populationJobConfig.job_id, 1); + await ml.jobTable.clickCloneJobAction(populationJobConfig.job_id); + await ml.jobTypeSelection.assertPopulationJobWizardOpen(); + + await ml.testExecution.logTestStep('continue to the pick fields step and take screenshot'); + await ml.jobWizardCommon.advanceToPickFieldsSection(); + await mlScreenshots.removeFocusFromElement(); + await mlScreenshots.takeScreenshot('ml-population-job', screenshotDirectories); + }); + + it('anomaly explorer screenshots', async () => { + await ml.testExecution.logTestStep('navigate to job list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToJobManagement(); + await elasticChart.setNewChartUiDebugFlag(true); + + await ml.testExecution.logTestStep('open job in anomaly explorer'); + await ml.jobTable.filterWithSearchString(populationJobConfig.job_id, 1); + await ml.jobTable.clickOpenJobInAnomalyExplorerButton(populationJobConfig.job_id); + await ml.commonUI.waitForMlLoadingIndicatorToDisappear(); + + await ml.testExecution.logTestStep('open tooltip and take screenshot'); + const viewBySwimLanes = await testSubjects.find(viewBySwimLaneTestSubj); + const cells = await ml.swimLane.getCells(viewBySwimLaneTestSubj); + const sampleCell = cells[0]; + + await viewBySwimLanes.moveMouseTo({ + xOffset: Math.floor(cellSize / 2.0), + yOffset: Math.floor(cellSize / 2.0), + }); + + await mlScreenshots.takeScreenshot('ml-population-results', screenshotDirectories); + + await ml.testExecution.logTestStep( + 'select swim lane tile, expand anomaly row and take screenshot' + ); + await ml.swimLane.selectSingleCell(viewBySwimLaneTestSubj, { + x: sampleCell.x + cellSize, + y: sampleCell.y + cellSize, + }); + await ml.swimLane.waitForSwimLanesToLoad(); + + await ml.anomalyExplorer.scrollChartsContainerIntoView(); + await ml.anomaliesTable.ensureDetailsOpen(0); + await ml.testExecution.logTestStep('take screenshot'); + await mlScreenshots.takeScreenshot('ml-population-anomaly', screenshotDirectories); + }); + }); +} diff --git a/x-pack/test/screenshot_creation/apps/ml_docs/data_frame_analytics/classification.ts b/x-pack/test/screenshot_creation/apps/ml_docs/data_frame_analytics/classification.ts new file mode 100644 index 0000000000000..ba78775a3a2d5 --- /dev/null +++ b/x-pack/test/screenshot_creation/apps/ml_docs/data_frame_analytics/classification.ts @@ -0,0 +1,163 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../../ftr_provider_context'; + +import { FLIGHTS_INDEX_PATTERN } from '../index'; +import { DataFrameAnalyticsConfig } from '../../../../../plugins/ml/public/application/data_frame_analytics/common'; +import { DeepPartial } from '../../../../../plugins/ml/common/types/common'; + +export default function ({ getService }: FtrProviderContext) { + const ml = getService('ml'); + const mlScreenshots = getService('mlScreenshots'); + + const screenshotDirectories = ['ml_docs', 'data_frame_analytics']; + + const classificationJobConfig: DeepPartial = { + id: 'model-flight-delays-classification', + source: { + index: FLIGHTS_INDEX_PATTERN, + }, + dest: { index: 'model-flight-delays-classification', results_field: 'ml' }, + analysis: { + classification: { + dependent_variable: 'FlightDelay', + training_percent: 10, + num_top_feature_importance_values: 10, + }, + }, + analyzed_fields: { + includes: [], + excludes: ['Cancelled', 'FlightDelayMin', 'FlightDelayType'], + }, + model_memory_limit: '1gb', + }; + + describe('classification job', function () { + before(async () => { + await ml.api.createAndRunDFAJob(classificationJobConfig as DataFrameAnalyticsConfig); + await ml.testResources.createIndexPatternIfNeeded(classificationJobConfig.dest!.index!); + }); + + after(async () => { + await ml.api.deleteDataFrameAnalyticsJobES(classificationJobConfig.id as string); + await ml.testResources.deleteIndexPatternByTitle(classificationJobConfig.dest!.index!); + await ml.api.deleteIndices(classificationJobConfig.dest!.index!); + await ml.api.cleanMlIndices(); + }); + + it('wizard screenshots', async () => { + await ml.testExecution.logTestStep('navigate to data frame analytics list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToDataFrameAnalytics(); + + await ml.testExecution.logTestStep('start new classification job creation in wizard'); + await ml.dataFrameAnalytics.startAnalyticsCreation(); + await ml.jobSourceSelection.selectSourceForAnalyticsJob(FLIGHTS_INDEX_PATTERN); + await ml.dataFrameAnalyticsCreation.assertConfigurationStepActive(); + + await ml.testExecution.logTestStep('select job type and set options'); + await ml.dataFrameAnalyticsCreation.assertJobTypeSelectExists(); + await ml.dataFrameAnalyticsCreation.selectJobType('classification'); + await ml.dataFrameAnalyticsCreation.assertDependentVariableInputExists(); + await ml.dataFrameAnalyticsCreation.selectDependentVariable('FlightDelay'); + + await ml.dataFrameAnalyticsCreation.assertSourceDataPreviewExists(); + await ml.dataFrameAnalyticsCreation.assertIncludeFieldsSelectionExists(); + + await ml.testExecution.logTestStep('take screenshot'); + await mlScreenshots.removeFocusFromElement(); + await ml.dataFrameAnalyticsCreation.scrollJobTypeSelectionIntoView(); + await mlScreenshots.takeScreenshot('flights-classification-job-1', screenshotDirectories); + + await ml.testExecution.logTestStep('scroll to scatterplot matrix and take screenshot'); + await ml.dataFrameAnalyticsCreation.assertScatterplotMatrixLoaded(); + await ml.dataFrameAnalyticsCreation.scrollScatterplotMatrixIntoView(); + await mlScreenshots.takeScreenshot( + 'flights-classification-scatterplot', + screenshotDirectories + ); + }); + + it('list row screenshot', async () => { + await ml.testExecution.logTestStep('navigate to data frame analytics list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToDataFrameAnalytics(); + + await ml.testExecution.logTestStep('open job row details'); + await ml.dataFrameAnalyticsTable.refreshAnalyticsTable(); + await ml.dataFrameAnalyticsTable.ensureDetailsOpen(classificationJobConfig.id as string); + await ml.dataFrameAnalyticsTable.ensureDetailsTabOpen( + classificationJobConfig.id as string, + 'job-details' + ); + + await ml.testExecution.logTestStep('take screenshot'); + await mlScreenshots.removeFocusFromElement(); + await mlScreenshots.takeScreenshot('flights-classification-details', screenshotDirectories); + }); + + it('results view screenshots', async () => { + await ml.testExecution.logTestStep('navigate to data frame analytics list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToDataFrameAnalytics(); + + await ml.testExecution.logTestStep('open job results view'); + await ml.dataFrameAnalyticsTable.refreshAnalyticsTable(); + await ml.dataFrameAnalyticsTable.filterWithSearchString( + classificationJobConfig.id as string, + 1 + ); + await ml.dataFrameAnalyticsTable.openResultsView(classificationJobConfig.id as string); + await ml.dataFrameAnalyticsResults.assertClassificationEvaluatePanelElementsExists(); + await ml.dataFrameAnalyticsResults.assertClassificationTablePanelExists(); + await ml.dataFrameAnalyticsResults.assertResultsTableExists(); + await ml.dataFrameAnalyticsResults.assertResultsTableNotEmpty(); + + await ml.testExecution.logTestStep('fold sections and take screenshot'); + await ml.dataFrameAnalyticsResults.expandAnalysisSection(false); + await ml.dataFrameAnalyticsResults.expandClassificationEvaluationSection(false); + await ml.dataFrameAnalyticsResults.expandFeatureImportanceSection(false); + await ml.dataFrameAnalyticsResults.expandScatterplotMatrixSection(false); + await ml.dataFrameAnalyticsResults.scrollAnalysisIntoView(); + await mlScreenshots.removeFocusFromElement(); + await mlScreenshots.takeScreenshot('flights-classification-results', screenshotDirectories); + + await ml.testExecution.logTestStep('expand feature importance section and take screenshot'); + await ml.dataFrameAnalyticsResults.expandFeatureImportanceSection(true); + await ml.dataFrameAnalyticsResults.scrollFeatureImportanceIntoView(); + await mlScreenshots.removeFocusFromElement(); + await mlScreenshots.takeScreenshot( + 'flights-classification-total-importance', + screenshotDirectories + ); + await ml.dataFrameAnalyticsResults.expandFeatureImportanceSection(false); + + await ml.testExecution.logTestStep('expand evaluation section and take screenshot'); + await ml.dataFrameAnalyticsResults.expandClassificationEvaluationSection(true); + await ml.dataFrameAnalyticsResults.scrollClassificationEvaluationIntoView(); + await mlScreenshots.removeFocusFromElement(); + await mlScreenshots.takeScreenshot( + 'flights-classification-evaluation', + screenshotDirectories + ); + await mlScreenshots.takeScreenshot('confusion-matrix-binary', screenshotDirectories); + await mlScreenshots.takeScreenshot('confusion-matrix-binary-accuracy', screenshotDirectories); + await ml.dataFrameAnalyticsResults.scrollRocCurveChartIntoView(); + await mlScreenshots.takeScreenshot('flights-classification-roc-curve', screenshotDirectories); + await ml.dataFrameAnalyticsResults.expandClassificationEvaluationSection(false); + + await ml.testExecution.logTestStep('open decision path popover and take screenshot'); + await ml.dataFrameAnalyticsResults.scrollResultsIntoView(); + await ml.dataFrameAnalyticsResults.openFeatureImportancePopover(); + await mlScreenshots.takeScreenshot( + 'flights-classification-importance', + screenshotDirectories + ); + }); + }); +} diff --git a/x-pack/test/screenshot_creation/apps/ml_docs/data_frame_analytics/index.ts b/x-pack/test/screenshot_creation/apps/ml_docs/data_frame_analytics/index.ts new file mode 100644 index 0000000000000..526d90c1c48bb --- /dev/null +++ b/x-pack/test/screenshot_creation/apps/ml_docs/data_frame_analytics/index.ts @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../../ftr_provider_context'; + +export default function ({ loadTestFile }: FtrProviderContext) { + describe('data frame analytics', function () { + loadTestFile(require.resolve('./outlier_detection')); + loadTestFile(require.resolve('./regression')); + loadTestFile(require.resolve('./classification')); + }); +} diff --git a/x-pack/test/screenshot_creation/apps/ml_docs/data_frame_analytics/outlier_detection.ts b/x-pack/test/screenshot_creation/apps/ml_docs/data_frame_analytics/outlier_detection.ts new file mode 100644 index 0000000000000..0571535432ef7 --- /dev/null +++ b/x-pack/test/screenshot_creation/apps/ml_docs/data_frame_analytics/outlier_detection.ts @@ -0,0 +1,132 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../../ftr_provider_context'; + +import { LOGS_INDEX_PATTERN } from '../index'; +import { DataFrameAnalyticsConfig } from '../../../../../plugins/ml/public/application/data_frame_analytics/common'; +import { DeepPartial } from '../../../../../plugins/ml/common/types/common'; + +export default function ({ getService }: FtrProviderContext) { + const ml = getService('ml'); + const mlScreenshots = getService('mlScreenshots'); + const transform = getService('transform'); + + const screenshotDirectories = ['ml_docs', 'data_frame_analytics']; + + const transformConfig = { + id: `logs-by-clientip`, + source: { index: LOGS_INDEX_PATTERN }, + pivot: { + group_by: { clientip: { terms: { field: 'clientip' } } }, + aggregations: { + '@timestamp.value_count': { value_count: { field: '@timestamp' } }, + 'bytes.max': { max: { field: 'bytes' } }, + 'bytes.sum': { sum: { field: 'bytes' } }, + 'request.value_count': { value_count: { field: 'request.keyword' } }, + }, + }, + description: 'Web logs by client IP', + dest: { index: 'weblog-clientip' }, + }; + + const outlierJobConfig: DeepPartial = { + id: 'weblog-outliers', + source: { index: 'weblog-clientip' }, + dest: { index: 'weblog-outliers', results_field: 'ml' }, + analysis: { outlier_detection: {} }, + analyzed_fields: { + includes: ['@timestamp.value_count', 'bytes.max', 'bytes.sum', 'request.value_count'], + excludes: [], + }, + model_memory_limit: '20mb', + }; + + describe('outlier detection job', function () { + before(async () => { + await transform.api.createAndRunTransform(transformConfig.id, transformConfig); + await ml.testResources.createIndexPatternIfNeeded(transformConfig.dest.index); + + await ml.api.createAndRunDFAJob(outlierJobConfig as DataFrameAnalyticsConfig); + await ml.testResources.createIndexPatternIfNeeded(outlierJobConfig.dest!.index!); + }); + + after(async () => { + await ml.testResources.deleteIndexPatternByTitle(transformConfig.dest.index); + await transform.api.deleteIndices(transformConfig.dest.index); + await transform.api.cleanTransformIndices(); + + await ml.api.deleteDataFrameAnalyticsJobES(outlierJobConfig.id as string); + await ml.testResources.deleteIndexPatternByTitle(outlierJobConfig.dest!.index!); + await ml.api.deleteIndices(outlierJobConfig.dest!.index!); + await ml.api.cleanMlIndices(); + }); + + it('transform screenshot', async () => { + await ml.testExecution.logTestStep('navigate to transform list'); + await transform.navigation.navigateTo(); + + await transform.testExecution.logTestStep('open transform in wizard'); + await transform.management.assertTransformListPageExists(); + await transform.table.refreshTransformList(); + await transform.table.filterWithSearchString(transformConfig.id, 1); + await transform.table.assertTransformRowActions(transformConfig.id, false); + await transform.table.clickTransformRowAction(transformConfig.id, 'Clone'); + await transform.wizard.assertDefineStepActive(); + + await ml.testExecution.logTestStep('take screenshot'); + await mlScreenshots.takeScreenshot('logs-transform-preview', screenshotDirectories); + }); + + it('wizard screenshots', async () => { + await ml.testExecution.logTestStep('navigate to data frame analytics list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToDataFrameAnalytics(); + + await ml.testExecution.logTestStep('open outlier detection job in wizard'); + await ml.dataFrameAnalyticsTable.waitForAnalyticsToLoad(); + await ml.dataFrameAnalyticsTable.filterWithSearchString(outlierJobConfig.id as string, 1); + await ml.dataFrameAnalyticsTable.cloneJob(outlierJobConfig.id as string); + await ml.dataFrameAnalyticsCreation.assertSourceDataPreviewExists(); + await ml.dataFrameAnalyticsCreation.assertIncludeFieldsSelectionExists(); + + await ml.testExecution.logTestStep('take screenshot'); + await mlScreenshots.takeScreenshot('weblog-outlier-job-1', screenshotDirectories); + + await ml.testExecution.logTestStep('scroll to scatterplot matrix and take screenshot'); + await ml.dataFrameAnalyticsCreation.assertScatterplotMatrixLoaded(); + await ml.dataFrameAnalyticsCreation.scrollScatterplotMatrixIntoView(); + await mlScreenshots.takeScreenshot('weblog-outlier-scatterplot', screenshotDirectories); + }); + + it('results view screenshots', async () => { + await ml.testExecution.logTestStep('navigate to data frame analytics list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToDataFrameAnalytics(); + + await ml.testExecution.logTestStep('open job results view'); + await ml.dataFrameAnalyticsTable.refreshAnalyticsTable(); + await ml.dataFrameAnalyticsTable.filterWithSearchString(outlierJobConfig.id as string, 1); + await ml.dataFrameAnalyticsTable.openResultsView(outlierJobConfig.id as string); + await ml.dataFrameAnalyticsResults.assertOutlierTablePanelExists(); + await ml.dataFrameAnalyticsResults.assertResultsTableExists(); + await ml.dataFrameAnalyticsResults.assertResultsTableNotEmpty(); + + await ml.testExecution.logTestStep('fold scatterplot section and take screenshot'); + await ml.dataFrameAnalyticsResults.expandScatterplotMatrixSection(false); + await mlScreenshots.removeFocusFromElement(); + await mlScreenshots.takeScreenshot('outliers', screenshotDirectories); + + await ml.testExecution.logTestStep('scroll to scatterplot matrix and take screenshot'); + await ml.dataFrameAnalyticsResults.expandScatterplotMatrixSection(true); + await mlScreenshots.removeFocusFromElement(); + await ml.dataFrameAnalyticsResults.assertScatterplotMatrixLoaded(); + await ml.dataFrameAnalyticsResults.scrollScatterplotMatrixIntoView(); + await mlScreenshots.takeScreenshot('outliers-scatterplot', screenshotDirectories); + }); + }); +} diff --git a/x-pack/test/screenshot_creation/apps/ml_docs/data_frame_analytics/regression.ts b/x-pack/test/screenshot_creation/apps/ml_docs/data_frame_analytics/regression.ts new file mode 100644 index 0000000000000..9b9f5f7a29b31 --- /dev/null +++ b/x-pack/test/screenshot_creation/apps/ml_docs/data_frame_analytics/regression.ts @@ -0,0 +1,152 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../../ftr_provider_context'; + +import { FLIGHTS_INDEX_PATTERN } from '../index'; +import { DataFrameAnalyticsConfig } from '../../../../../plugins/ml/public/application/data_frame_analytics/common'; +import { DeepPartial } from '../../../../../plugins/ml/common/types/common'; + +export default function ({ getService }: FtrProviderContext) { + const ml = getService('ml'); + const mlScreenshots = getService('mlScreenshots'); + + const screenshotDirectories = ['ml_docs', 'data_frame_analytics']; + + const regressionJobConfig: DeepPartial = { + id: 'model-flight-delays-regression', + source: { + index: FLIGHTS_INDEX_PATTERN, + query: { range: { DistanceKilometers: { gt: 0 } } }, + }, + dest: { index: 'model-flight-delays-regression', results_field: 'ml' }, + analysis: { + regression: { + dependent_variable: 'FlightDelayMin', + training_percent: 10, + num_top_feature_importance_values: 5, + }, + }, + analyzed_fields: { + includes: [], + excludes: ['Cancelled', 'FlightDelay', 'FlightDelayType'], + }, + model_memory_limit: '1gb', + }; + + describe('regression job', function () { + before(async () => { + await ml.api.createAndRunDFAJob(regressionJobConfig as DataFrameAnalyticsConfig); + await ml.testResources.createIndexPatternIfNeeded(regressionJobConfig.dest!.index!); + }); + + after(async () => { + await ml.api.deleteDataFrameAnalyticsJobES(regressionJobConfig.id as string); + await ml.testResources.deleteIndexPatternByTitle(regressionJobConfig.dest!.index!); + await ml.api.deleteIndices(regressionJobConfig.dest!.index!); + await ml.api.cleanMlIndices(); + }); + + it('wizard screenshots', async () => { + await ml.testExecution.logTestStep('navigate to data frame analytics list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToDataFrameAnalytics(); + + await ml.testExecution.logTestStep('start new regression job creation in wizard'); + await ml.dataFrameAnalytics.startAnalyticsCreation(); + await ml.jobSourceSelection.selectSourceForAnalyticsJob(FLIGHTS_INDEX_PATTERN); + await ml.dataFrameAnalyticsCreation.assertConfigurationStepActive(); + + await ml.testExecution.logTestStep('select job type and set options'); + await ml.dataFrameAnalyticsCreation.assertJobTypeSelectExists(); + await ml.dataFrameAnalyticsCreation.selectJobType('regression'); + await ml.dataFrameAnalyticsCreation.setQueryBarValue('DistanceKilometers > 0'); + await ml.dataFrameAnalyticsCreation.assertDependentVariableInputExists(); + await ml.dataFrameAnalyticsCreation.selectDependentVariable('FlightDelayMin'); + + await ml.dataFrameAnalyticsCreation.assertSourceDataPreviewExists(); + await ml.dataFrameAnalyticsCreation.assertIncludeFieldsSelectionExists(); + + await ml.testExecution.logTestStep('take screenshot'); + await mlScreenshots.removeFocusFromElement(); + await ml.dataFrameAnalyticsCreation.scrollJobTypeSelectionIntoView(); + await mlScreenshots.takeScreenshot('flights-regression-job-1', screenshotDirectories); + + await ml.testExecution.logTestStep('scroll to scatterplot matrix and take screenshot'); + await ml.dataFrameAnalyticsCreation.assertScatterplotMatrixLoaded(); + await ml.dataFrameAnalyticsCreation.scrollScatterplotMatrixIntoView(); + await mlScreenshots.takeScreenshot( + 'flightdata-regression-scatterplot', + screenshotDirectories + ); + }); + + it('list row screenshot', async () => { + await ml.testExecution.logTestStep('navigate to data frame analytics list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToDataFrameAnalytics(); + + await ml.testExecution.logTestStep('open job row details'); + await ml.dataFrameAnalyticsTable.refreshAnalyticsTable(); + await ml.dataFrameAnalyticsTable.ensureDetailsOpen(regressionJobConfig.id as string); + await ml.dataFrameAnalyticsTable.ensureDetailsTabOpen( + regressionJobConfig.id as string, + 'job-details' + ); + + await ml.testExecution.logTestStep('take screenshot'); + await mlScreenshots.removeFocusFromElement(); + await mlScreenshots.takeScreenshot('flights-regression-details', screenshotDirectories); + }); + + it('results view screenshots', async () => { + await ml.testExecution.logTestStep('navigate to data frame analytics list'); + await ml.navigation.navigateToMl(); + await ml.navigation.navigateToDataFrameAnalytics(); + + await ml.testExecution.logTestStep('open job results view'); + await ml.dataFrameAnalyticsTable.refreshAnalyticsTable(); + await ml.dataFrameAnalyticsTable.filterWithSearchString(regressionJobConfig.id as string, 1); + await ml.dataFrameAnalyticsTable.openResultsView(regressionJobConfig.id as string); + await ml.dataFrameAnalyticsResults.assertRegressionEvaluatePanelElementsExists(); + await ml.dataFrameAnalyticsResults.assertRegressionTablePanelExists(); + await ml.dataFrameAnalyticsResults.assertResultsTableExists(); + await ml.dataFrameAnalyticsResults.assertResultsTableNotEmpty(); + + await ml.testExecution.logTestStep('fold sections and take screenshot'); + await ml.dataFrameAnalyticsResults.expandAnalysisSection(false); + await ml.dataFrameAnalyticsResults.expandRegressionEvaluationSection(false); + await ml.dataFrameAnalyticsResults.expandFeatureImportanceSection(false); + await ml.dataFrameAnalyticsResults.expandScatterplotMatrixSection(false); + await ml.dataFrameAnalyticsResults.scrollAnalysisIntoView(); + await mlScreenshots.removeFocusFromElement(); + await mlScreenshots.takeScreenshot('flights-regression-results', screenshotDirectories); + + await ml.testExecution.logTestStep('expand feature importance section and take screenshot'); + await ml.dataFrameAnalyticsResults.expandFeatureImportanceSection(true); + await ml.dataFrameAnalyticsResults.scrollFeatureImportanceIntoView(); + await mlScreenshots.removeFocusFromElement(); + await mlScreenshots.takeScreenshot( + 'flights-regression-total-importance', + screenshotDirectories + ); + await ml.dataFrameAnalyticsResults.expandFeatureImportanceSection(false); + + await ml.testExecution.logTestStep('expand evaluation section and take screenshot'); + await ml.dataFrameAnalyticsResults.expandRegressionEvaluationSection(true); + await ml.dataFrameAnalyticsResults.scrollRegressionEvaluationIntoView(); + await mlScreenshots.removeFocusFromElement(); + await mlScreenshots.takeScreenshot('flights-regression-evaluation', screenshotDirectories); + await ml.dataFrameAnalyticsResults.expandRegressionEvaluationSection(false); + + await ml.testExecution.logTestStep('open decision path popover and take screenshot'); + await ml.dataFrameAnalyticsResults.scrollResultsIntoView(); + await ml.dataFrameAnalyticsResults.openFeatureImportancePopover(); + await mlScreenshots.takeScreenshot('flights-regression-importance', screenshotDirectories); + }); + }); +} diff --git a/x-pack/test/screenshot_creation/apps/ml_docs/index.ts b/x-pack/test/screenshot_creation/apps/ml_docs/index.ts new file mode 100644 index 0000000000000..9a12153682618 --- /dev/null +++ b/x-pack/test/screenshot_creation/apps/ml_docs/index.ts @@ -0,0 +1,35 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../ftr_provider_context'; + +export const ECOMMERCE_INDEX_PATTERN = 'kibana_sample_data_ecommerce'; +export const FLIGHTS_INDEX_PATTERN = 'kibana_sample_data_flights'; +export const LOGS_INDEX_PATTERN = 'kibana_sample_data_logs'; + +export default function ({ getService, loadTestFile }: FtrProviderContext) { + const browser = getService('browser'); + const ml = getService('ml'); + + describe('machine learning docs', function () { + this.tags(['mlqa']); + + before(async () => { + await ml.testResources.installAllKibanaSampleData(); + await ml.testResources.setKibanaTimeZoneToUTC(); + await browser.setWindowSize(1920, 1080); + }); + + after(async () => { + await ml.testResources.removeAllKibanaSampleData(); + await ml.testResources.resetKibanaTimeZone(); + }); + + loadTestFile(require.resolve('./anomaly_detection')); + loadTestFile(require.resolve('./data_frame_analytics')); + }); +} diff --git a/x-pack/test/screenshot_creation/config.ts b/x-pack/test/screenshot_creation/config.ts new file mode 100644 index 0000000000000..659034e9fbe8b --- /dev/null +++ b/x-pack/test/screenshot_creation/config.ts @@ -0,0 +1,24 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrConfigProviderContext } from '@kbn/test'; +import { services } from './services'; + +export default async function ({ readConfigFile }: FtrConfigProviderContext) { + const xpackFunctionalConfig = await readConfigFile(require.resolve('../functional/config.js')); + + return { + // default to the xpack functional config + ...xpackFunctionalConfig.getAll(), + services, + testFiles: [require.resolve('./apps')], + junit: { + ...xpackFunctionalConfig.get('junit'), + reportName: 'Chrome X-Pack UI Screenshot Creation', + }, + }; +} diff --git a/x-pack/test/screenshot_creation/ftr_provider_context.d.ts b/x-pack/test/screenshot_creation/ftr_provider_context.d.ts new file mode 100644 index 0000000000000..2cd67b6698a70 --- /dev/null +++ b/x-pack/test/screenshot_creation/ftr_provider_context.d.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { GenericFtrProviderContext } from '@kbn/test'; + +import { pageObjects } from '../functional/page_objects'; +import { services } from './services'; + +export type FtrProviderContext = GenericFtrProviderContext; diff --git a/x-pack/test/screenshot_creation/services/index.ts b/x-pack/test/screenshot_creation/services/index.ts new file mode 100644 index 0000000000000..dc5a107414415 --- /dev/null +++ b/x-pack/test/screenshot_creation/services/index.ts @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { services as kibanaFunctionalServices } from '../../functional/services'; + +import { MachineLearningScreenshotsProvider } from './ml_screenshots'; + +export const services = { + ...kibanaFunctionalServices, + + mlScreenshots: MachineLearningScreenshotsProvider, +}; diff --git a/x-pack/test/screenshot_creation/services/ml_screenshots.ts b/x-pack/test/screenshot_creation/services/ml_screenshots.ts new file mode 100644 index 0000000000000..c0228c6a2b8b1 --- /dev/null +++ b/x-pack/test/screenshot_creation/services/ml_screenshots.ts @@ -0,0 +1,25 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../ftr_provider_context'; + +export function MachineLearningScreenshotsProvider({ getService }: FtrProviderContext) { + const ml = getService('ml'); + const screenshot = getService('screenshots'); + + return { + async takeScreenshot(name: string, subDirectories: string[]) { + await screenshot.take(`${name}_new`, undefined, subDirectories); + }, + + async removeFocusFromElement() { + // open and close the Kibana nav to un-focus the last used element + await ml.navigation.openKibanaNav(); + await ml.navigation.closeKibanaNav(); + }, + }; +} diff --git a/x-pack/test/security_api_integration/kerberos.config.ts b/x-pack/test/security_api_integration/kerberos.config.ts index a34d1efa3f14e..e8fc8d4cec85a 100644 --- a/x-pack/test/security_api_integration/kerberos.config.ts +++ b/x-pack/test/security_api_integration/kerberos.config.ts @@ -29,6 +29,8 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { ...xPackAPITestsConfig.get('esTestCluster.serverArgs'), 'xpack.security.authc.token.enabled=true', 'xpack.security.authc.token.timeout=15s', + 'xpack.security.authc.realms.native.native1.order=0', + 'xpack.security.authc.realms.kerberos.kerb1.order=1', `xpack.security.authc.realms.kerberos.kerb1.keytab.path=${kerberosKeytabPath}`, ], diff --git a/x-pack/test/security_api_integration/oidc.config.ts b/x-pack/test/security_api_integration/oidc.config.ts index b2822a49b2042..5edf6fdc7bca6 100644 --- a/x-pack/test/security_api_integration/oidc.config.ts +++ b/x-pack/test/security_api_integration/oidc.config.ts @@ -30,7 +30,8 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { ...xPackAPITestsConfig.get('esTestCluster.serverArgs'), 'xpack.security.authc.token.enabled=true', 'xpack.security.authc.token.timeout=15s', - 'xpack.security.authc.realms.oidc.oidc1.order=0', + 'xpack.security.authc.realms.native.native1.order=0', + 'xpack.security.authc.realms.oidc.oidc1.order=1', `xpack.security.authc.realms.oidc.oidc1.rp.client_id=0oa8sqpov3TxMWJOt356`, `xpack.security.authc.realms.oidc.oidc1.rp.client_secret=0oa8sqpov3TxMWJOt356`, `xpack.security.authc.realms.oidc.oidc1.rp.response_type=code`, diff --git a/x-pack/test/security_api_integration/saml.config.ts b/x-pack/test/security_api_integration/saml.config.ts index 8874dd9228c01..d468a8fd002a2 100644 --- a/x-pack/test/security_api_integration/saml.config.ts +++ b/x-pack/test/security_api_integration/saml.config.ts @@ -30,7 +30,8 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { ...xPackAPITestsConfig.get('esTestCluster.serverArgs'), 'xpack.security.authc.token.enabled=true', 'xpack.security.authc.token.timeout=15s', - 'xpack.security.authc.realms.saml.saml1.order=0', + 'xpack.security.authc.realms.native.native1.order=0', + 'xpack.security.authc.realms.saml.saml1.order=1', `xpack.security.authc.realms.saml.saml1.idp.metadata.path=${idpPath}`, 'xpack.security.authc.realms.saml.saml1.idp.entity_id=http://www.elastic.co/saml1', `xpack.security.authc.realms.saml.saml1.sp.entity_id=http://localhost:${kibanaPort}`, diff --git a/x-pack/test/security_api_integration/session_idle.config.ts b/x-pack/test/security_api_integration/session_idle.config.ts index 77d91f6df3cef..98b3322a3ffcb 100644 --- a/x-pack/test/security_api_integration/session_idle.config.ts +++ b/x-pack/test/security_api_integration/session_idle.config.ts @@ -27,7 +27,8 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { ...xPackAPITestsConfig.get('esTestCluster.serverArgs'), 'xpack.security.authc.token.enabled=true', 'xpack.security.authc.token.timeout=15s', - 'xpack.security.authc.realms.saml.saml1.order=0', + 'xpack.security.authc.realms.native.native1.order=0', + 'xpack.security.authc.realms.saml.saml1.order=1', `xpack.security.authc.realms.saml.saml1.idp.metadata.path=${idpPath}`, 'xpack.security.authc.realms.saml.saml1.idp.entity_id=http://www.elastic.co/saml1', `xpack.security.authc.realms.saml.saml1.sp.entity_id=http://localhost:${kibanaPort}`, @@ -41,13 +42,13 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { ...xPackAPITestsConfig.get('kbnTestServer'), serverArgs: [ ...xPackAPITestsConfig.get('kbnTestServer.serverArgs'), - '--xpack.security.session.idleTimeout=5s', - '--xpack.security.session.cleanupInterval=10s', + '--xpack.security.session.idleTimeout=10s', + '--xpack.security.session.cleanupInterval=20s', `--xpack.security.authc.providers=${JSON.stringify({ basic: { basic1: { order: 0 } }, saml: { saml_fallback: { order: 1, realm: 'saml1' }, - saml_override: { order: 2, realm: 'saml1', session: { idleTimeout: '1m' } }, + saml_override: { order: 2, realm: 'saml1', session: { idleTimeout: '2m' } }, saml_disable: { order: 3, realm: 'saml1', session: { idleTimeout: 0 } }, }, })}`, diff --git a/x-pack/test/security_api_integration/session_lifespan.config.ts b/x-pack/test/security_api_integration/session_lifespan.config.ts index b692f10bad5a6..9f5c745ddfb8c 100644 --- a/x-pack/test/security_api_integration/session_lifespan.config.ts +++ b/x-pack/test/security_api_integration/session_lifespan.config.ts @@ -27,7 +27,8 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { ...xPackAPITestsConfig.get('esTestCluster.serverArgs'), 'xpack.security.authc.token.enabled=true', 'xpack.security.authc.token.timeout=15s', - 'xpack.security.authc.realms.saml.saml1.order=0', + 'xpack.security.authc.realms.native.native1.order=0', + 'xpack.security.authc.realms.saml.saml1.order=1', `xpack.security.authc.realms.saml.saml1.idp.metadata.path=${idpPath}`, 'xpack.security.authc.realms.saml.saml1.idp.entity_id=http://www.elastic.co/saml1', `xpack.security.authc.realms.saml.saml1.sp.entity_id=http://localhost:${kibanaPort}`, @@ -41,13 +42,13 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { ...xPackAPITestsConfig.get('kbnTestServer'), serverArgs: [ ...xPackAPITestsConfig.get('kbnTestServer.serverArgs'), - '--xpack.security.session.lifespan=5s', - '--xpack.security.session.cleanupInterval=10s', + '--xpack.security.session.lifespan=10s', + '--xpack.security.session.cleanupInterval=20s', `--xpack.security.authc.providers=${JSON.stringify({ basic: { basic1: { order: 0 } }, saml: { saml_fallback: { order: 1, realm: 'saml1' }, - saml_override: { order: 2, realm: 'saml1', session: { lifespan: '1m' } }, + saml_override: { order: 2, realm: 'saml1', session: { lifespan: '2m' } }, saml_disable: { order: 3, realm: 'saml1', session: { lifespan: 0 } }, }, })}`, diff --git a/x-pack/test/security_api_integration/tests/session_idle/cleanup.ts b/x-pack/test/security_api_integration/tests/session_idle/cleanup.ts index 86b1cff3568f3..21fc826651e03 100644 --- a/x-pack/test/security_api_integration/tests/session_idle/cleanup.ts +++ b/x-pack/test/security_api_integration/tests/session_idle/cleanup.ts @@ -28,11 +28,13 @@ export default function ({ getService }: FtrProviderContext) { username: string, provider: AuthenticationProvider ) { + log.debug(`Verifying session cookie for ${username}.`); const apiResponse = await supertest .get('/internal/security/me') .set('kbn-xsrf', 'xxx') .set('Cookie', sessionCookie.cookieString()) .expect(200); + log.debug(`Session cookie for ${username} is valid.`); expect(apiResponse.body.username).to.be(username); expect(apiResponse.body.authentication_provider).to.eql(provider); @@ -81,8 +83,9 @@ export default function ({ getService }: FtrProviderContext) { }); it('should properly clean up session expired because of idle timeout', async function () { - this.timeout(60000); + this.timeout(100000); + log.debug(`Log in as ${basicUsername} using ${basicPassword} password.`); const response = await supertest .post('/internal/security/login') .set('kbn-xsrf', 'xxx') @@ -98,13 +101,16 @@ export default function ({ getService }: FtrProviderContext) { await checkSessionCookie(sessionCookie, basicUsername, { type: 'basic', name: 'basic1' }); expect(await getNumberOfSessionDocuments()).to.be(1); - // Cleanup routine runs every 10s, and idle timeout threshold is three times larger than 5s - // idle timeout, let's wait for 40s to make sure cleanup routine runs when idle timeout + // Cleanup routine runs every 20s, and idle timeout threshold is three times larger than 10s + // idle timeout, let's wait for 60s to make sure cleanup routine runs when idle timeout // threshold is exceeded. - await delay(40000); + log.debug('Waiting for cleanup job to run...'); + await delay(60000); // Session info is removed from the index and cookie isn't valid anymore expect(await getNumberOfSessionDocuments()).to.be(0); + + log.debug(`Authenticating as ${basicUsername} with invalid session cookie.`); await supertest .get('/internal/security/me') .set('kbn-xsrf', 'xxx') @@ -113,7 +119,7 @@ export default function ({ getService }: FtrProviderContext) { }); it('should properly clean up session expired because of idle timeout when providers override global session config', async function () { - this.timeout(60000); + this.timeout(100000); const [samlDisableSessionCookie, samlOverrideSessionCookie, samlFallbackSessionCookie] = await Promise.all([ @@ -140,10 +146,11 @@ export default function ({ getService }: FtrProviderContext) { }); expect(await getNumberOfSessionDocuments()).to.be(4); - // Cleanup routine runs every 10s, and idle timeout threshold is three times larger than 5s - // idle timeout, let's wait for 40s to make sure cleanup routine runs when idle timeout + // Cleanup routine runs every 20s, and idle timeout threshold is three times larger than 10s + // idle timeout, let's wait for 60s to make sure cleanup routine runs when idle timeout // threshold is exceeded. - await delay(40000); + log.debug('Waiting for cleanup job to run...'); + await delay(60000); // Session for basic and SAML that used global session settings should not be valid anymore. expect(await getNumberOfSessionDocuments()).to.be(2); @@ -170,7 +177,7 @@ export default function ({ getService }: FtrProviderContext) { }); it('should not clean up session if user is active', async function () { - this.timeout(60000); + this.timeout(100000); const response = await supertest .post('/internal/security/login') @@ -187,17 +194,17 @@ export default function ({ getService }: FtrProviderContext) { await checkSessionCookie(sessionCookie, basicUsername, { type: 'basic', name: 'basic1' }); expect(await getNumberOfSessionDocuments()).to.be(1); - // Run 20 consequent requests with 1.5s delay, during this time cleanup procedure should run at + // Run 20 consequent requests with 3s delay, during this time cleanup procedure should run at // least twice. for (const counter of [...Array(20).keys()]) { - // Session idle timeout is 15s, let's wait 10s and make a new request that would extend the session. - await delay(1500); + // Session idle timeout is 10s, let's wait 3s and make a new request that would extend the session. + await delay(3000); sessionCookie = (await checkSessionCookie(sessionCookie, basicUsername, { type: 'basic', name: 'basic1', }))!; - log.debug(`Session is still valid after ${(counter + 1) * 1.5}s`); + log.debug(`Session is still valid after ${(counter + 1) * 3}s`); } // Session document should still be present. diff --git a/x-pack/test/security_api_integration/tests/session_lifespan/cleanup.ts b/x-pack/test/security_api_integration/tests/session_lifespan/cleanup.ts index 69bbe9ea00341..4abf0e7cce6a5 100644 --- a/x-pack/test/security_api_integration/tests/session_lifespan/cleanup.ts +++ b/x-pack/test/security_api_integration/tests/session_lifespan/cleanup.ts @@ -76,7 +76,7 @@ export default function ({ getService }: FtrProviderContext) { }); it('should properly clean up session expired because of lifespan', async function () { - this.timeout(60000); + this.timeout(100000); const response = await supertest .post('/internal/security/login') @@ -96,9 +96,9 @@ export default function ({ getService }: FtrProviderContext) { }); expect(await getNumberOfSessionDocuments()).to.be(1); - // Cleanup routine runs every 10s, let's wait for 40s to make sure it runs multiple times and + // Cleanup routine runs every 20s, let's wait for 60s to make sure it runs multiple times and // when lifespan is exceeded. - await delay(40000); + await delay(60000); // Session info is removed from the index and cookie isn't valid anymore expect(await getNumberOfSessionDocuments()).to.be(0); @@ -110,7 +110,7 @@ export default function ({ getService }: FtrProviderContext) { }); it('should properly clean up session expired because of lifespan when providers override global session config', async function () { - this.timeout(60000); + this.timeout(100000); const [samlDisableSessionCookie, samlOverrideSessionCookie, samlFallbackSessionCookie] = await Promise.all([ @@ -136,9 +136,9 @@ export default function ({ getService }: FtrProviderContext) { }); expect(await getNumberOfSessionDocuments()).to.be(4); - // Cleanup routine runs every 10s, let's wait for 40s to make sure it runs multiple times and + // Cleanup routine runs every 20s, let's wait for 40s to make sure it runs multiple times and // when lifespan is exceeded. - await delay(40000); + await delay(60000); // Session for basic and SAML that used global session settings should not be valid anymore. expect(await getNumberOfSessionDocuments()).to.be(2); diff --git a/x-pack/test/security_functional/oidc.config.ts b/x-pack/test/security_functional/oidc.config.ts index 9c00960671e03..16561f014da07 100644 --- a/x-pack/test/security_functional/oidc.config.ts +++ b/x-pack/test/security_functional/oidc.config.ts @@ -42,7 +42,8 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { from: 'snapshot', serverArgs: [ 'xpack.security.authc.token.enabled=true', - 'xpack.security.authc.realms.oidc.oidc1.order=0', + 'xpack.security.authc.realms.native.native1.order=0', + 'xpack.security.authc.realms.oidc.oidc1.order=1', `xpack.security.authc.realms.oidc.oidc1.rp.client_id=0oa8sqpov3TxMWJOt356`, `xpack.security.authc.realms.oidc.oidc1.rp.client_secret=0oa8sqpov3TxMWJOt356`, `xpack.security.authc.realms.oidc.oidc1.rp.response_type=code`, diff --git a/x-pack/test/security_functional/saml.config.ts b/x-pack/test/security_functional/saml.config.ts index 264197c961123..b402df5d4e438 100644 --- a/x-pack/test/security_functional/saml.config.ts +++ b/x-pack/test/security_functional/saml.config.ts @@ -45,7 +45,8 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { from: 'snapshot', serverArgs: [ 'xpack.security.authc.token.enabled=true', - 'xpack.security.authc.realms.saml.saml1.order=0', + 'xpack.security.authc.realms.native.native1.order=0', + 'xpack.security.authc.realms.saml.saml1.order=1', `xpack.security.authc.realms.saml.saml1.idp.metadata.path=${idpPath}`, 'xpack.security.authc.realms.saml.saml1.idp.entity_id=http://www.elastic.co/saml1', `xpack.security.authc.realms.saml.saml1.sp.entity_id=http://localhost:${kibanaPort}`, diff --git a/x-pack/test/security_solution_cypress/es_archives/auditbeat/data.json.gz b/x-pack/test/security_solution_cypress/es_archives/auditbeat/data.json.gz index f1a4baefa5adf..23c45b5e86499 100644 Binary files a/x-pack/test/security_solution_cypress/es_archives/auditbeat/data.json.gz and b/x-pack/test/security_solution_cypress/es_archives/auditbeat/data.json.gz differ diff --git a/x-pack/test/security_solution_endpoint/apps/endpoint/index.ts b/x-pack/test/security_solution_endpoint/apps/endpoint/index.ts index 70d60ba5c1b67..f65917d1a31a8 100644 --- a/x-pack/test/security_solution_endpoint/apps/endpoint/index.ts +++ b/x-pack/test/security_solution_endpoint/apps/endpoint/index.ts @@ -16,6 +16,9 @@ export default function (providerContext: FtrProviderContext) { const { loadTestFile, getService } = providerContext; describe('endpoint', function () { + // SKIPPED: https://github.com/elastic/kibana/issues/127197 + this.onlyEsVersion('<=7'); + const ingestManager = getService('ingestManager'); const log = getService('log'); const endpointTestResources = getService('endpointTestResources'); diff --git a/x-pack/test/security_solution_endpoint/apps/endpoint/policy_details.ts b/x-pack/test/security_solution_endpoint/apps/endpoint/policy_details.ts index 690874f104660..1ebc2fd0bce97 100644 --- a/x-pack/test/security_solution_endpoint/apps/endpoint/policy_details.ts +++ b/x-pack/test/security_solution_endpoint/apps/endpoint/policy_details.ts @@ -6,15 +6,9 @@ */ import expect from '@kbn/expect'; -import { DeepPartial } from 'utility-types'; -import { merge } from 'lodash'; import { FtrProviderContext } from '../../ftr_provider_context'; import { PolicyTestResourceInfo } from '../../services/endpoint_policy'; import { IndexedHostsAndAlertsResponse } from '../../../../plugins/security_solution/common/endpoint/index_data'; -import { FullAgentPolicyInput } from '../../../../plugins/fleet/common'; -import { PolicyConfig } from '../../../../plugins/security_solution/common/endpoint/types'; -import { ManifestSchema } from '../../../../plugins/security_solution/common/endpoint/schema/manifest'; -import { policyFactory } from '../../../../plugins/security_solution/common/endpoint/models/policy_config'; export default function ({ getPageObjects, getService }: FtrProviderContext) { const browser = getService('browser'); @@ -31,210 +25,6 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { const policyTestResources = getService('policyTestResources'); const endpointTestResources = getService('endpointTestResources'); - type FullAgentPolicyEndpointInput = Omit & { - policy: PolicyConfig; - artifact_manifest: ManifestSchema; - }; - - /** - * Returns the Fleet Agent Policy Input that represents an Endpoint Policy. Use it to - * validate expecte output when looking at the Fleet Agent policy to validate that updates - * to the Endpoint Policy are making it through to the overall Fleet Agent Policy - * - * @param overrides - */ - const getExpectedAgentPolicyEndpointInput = ( - overrides: DeepPartial = {} - ): FullAgentPolicyInput => { - return merge( - { - id: '123', - revision: 2, - data_stream: { namespace: 'default' }, - name: 'Protect East Coast', - meta: { - package: { - name: 'endpoint', - version: '1.0', - }, - }, - artifact_manifest: { - artifacts: { - 'endpoint-exceptionlist-linux-v1': { - compression_algorithm: 'zlib', - decoded_sha256: 'd801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - decoded_size: 14, - encoded_sha256: 'f8e6afa1d5662f5b37f83337af774b5785b5b7f1daee08b7b00c2d6813874cda', - encoded_size: 22, - encryption_algorithm: 'none', - relative_url: - '/api/fleet/artifacts/endpoint-exceptionlist-linux-v1/d801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - }, - 'endpoint-exceptionlist-macos-v1': { - compression_algorithm: 'zlib', - decoded_sha256: 'd801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - decoded_size: 14, - encoded_sha256: 'f8e6afa1d5662f5b37f83337af774b5785b5b7f1daee08b7b00c2d6813874cda', - encoded_size: 22, - encryption_algorithm: 'none', - relative_url: - '/api/fleet/artifacts/endpoint-exceptionlist-macos-v1/d801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - }, - 'endpoint-exceptionlist-windows-v1': { - compression_algorithm: 'zlib', - decoded_sha256: 'd801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - decoded_size: 14, - encoded_sha256: 'f8e6afa1d5662f5b37f83337af774b5785b5b7f1daee08b7b00c2d6813874cda', - encoded_size: 22, - encryption_algorithm: 'none', - relative_url: - '/api/fleet/artifacts/endpoint-exceptionlist-windows-v1/d801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - }, - 'endpoint-hostisolationexceptionlist-linux-v1': { - compression_algorithm: 'zlib', - decoded_sha256: 'd801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - decoded_size: 14, - encoded_sha256: 'f8e6afa1d5662f5b37f83337af774b5785b5b7f1daee08b7b00c2d6813874cda', - encoded_size: 22, - encryption_algorithm: 'none', - relative_url: - '/api/fleet/artifacts/endpoint-hostisolationexceptionlist-linux-v1/d801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - }, - 'endpoint-hostisolationexceptionlist-macos-v1': { - compression_algorithm: 'zlib', - decoded_sha256: 'd801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - decoded_size: 14, - encoded_sha256: 'f8e6afa1d5662f5b37f83337af774b5785b5b7f1daee08b7b00c2d6813874cda', - encoded_size: 22, - encryption_algorithm: 'none', - relative_url: - '/api/fleet/artifacts/endpoint-hostisolationexceptionlist-macos-v1/d801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - }, - 'endpoint-hostisolationexceptionlist-windows-v1': { - compression_algorithm: 'zlib', - decoded_sha256: 'd801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - decoded_size: 14, - encoded_sha256: 'f8e6afa1d5662f5b37f83337af774b5785b5b7f1daee08b7b00c2d6813874cda', - encoded_size: 22, - encryption_algorithm: 'none', - relative_url: - '/api/fleet/artifacts/endpoint-hostisolationexceptionlist-windows-v1/d801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - }, - 'endpoint-trustlist-linux-v1': { - compression_algorithm: 'zlib', - decoded_sha256: 'd801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - decoded_size: 14, - encoded_sha256: 'f8e6afa1d5662f5b37f83337af774b5785b5b7f1daee08b7b00c2d6813874cda', - encoded_size: 22, - encryption_algorithm: 'none', - relative_url: - '/api/fleet/artifacts/endpoint-trustlist-linux-v1/d801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - }, - 'endpoint-trustlist-macos-v1': { - compression_algorithm: 'zlib', - decoded_sha256: 'd801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - decoded_size: 14, - encoded_sha256: 'f8e6afa1d5662f5b37f83337af774b5785b5b7f1daee08b7b00c2d6813874cda', - encoded_size: 22, - encryption_algorithm: 'none', - relative_url: - '/api/fleet/artifacts/endpoint-trustlist-macos-v1/d801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - }, - 'endpoint-trustlist-windows-v1': { - compression_algorithm: 'zlib', - decoded_sha256: 'd801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - decoded_size: 14, - encoded_sha256: 'f8e6afa1d5662f5b37f83337af774b5785b5b7f1daee08b7b00c2d6813874cda', - encoded_size: 22, - encryption_algorithm: 'none', - relative_url: - '/api/fleet/artifacts/endpoint-trustlist-windows-v1/d801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - }, - 'endpoint-eventfilterlist-linux-v1': { - compression_algorithm: 'zlib', - decoded_sha256: 'd801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - decoded_size: 14, - encoded_sha256: 'f8e6afa1d5662f5b37f83337af774b5785b5b7f1daee08b7b00c2d6813874cda', - encoded_size: 22, - encryption_algorithm: 'none', - relative_url: - '/api/fleet/artifacts/endpoint-eventfilterlist-linux-v1/d801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - }, - 'endpoint-eventfilterlist-macos-v1': { - compression_algorithm: 'zlib', - decoded_sha256: 'd801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - decoded_size: 14, - encoded_sha256: 'f8e6afa1d5662f5b37f83337af774b5785b5b7f1daee08b7b00c2d6813874cda', - encoded_size: 22, - encryption_algorithm: 'none', - relative_url: - '/api/fleet/artifacts/endpoint-eventfilterlist-macos-v1/d801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - }, - 'endpoint-eventfilterlist-windows-v1': { - compression_algorithm: 'zlib', - decoded_sha256: 'd801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - decoded_size: 14, - encoded_sha256: 'f8e6afa1d5662f5b37f83337af774b5785b5b7f1daee08b7b00c2d6813874cda', - encoded_size: 22, - encryption_algorithm: 'none', - relative_url: - '/api/fleet/artifacts/endpoint-eventfilterlist-windows-v1/d801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658', - }, - }, - manifest_version: '1', - schema_version: 'v1', - }, - policy: merge(policyFactory(), { - windows: { - popup: { - malware: { - message: 'Elastic Security {action} {filename}', - }, - ransomware: { - message: 'Elastic Security {action} {filename}', - }, - memory_protection: { - message: 'Elastic Security {action} {rule}', - }, - behavior_protection: { - message: 'Elastic Security {action} {rule}', - }, - }, - }, - mac: { - popup: { - malware: { - message: 'Elastic Security {action} {filename}', - }, - behavior_protection: { - message: 'Elastic Security {action} {rule}', - }, - memory_protection: { - message: 'Elastic Security {action} {rule}', - }, - }, - }, - linux: { - popup: { - malware: { - message: 'Elastic Security {action} {filename}', - }, - behavior_protection: { - message: 'Elastic Security {action} {rule}', - }, - memory_protection: { - message: 'Elastic Security {action} {rule}', - }, - }, - }, - }), - type: 'endpoint', - use_output: 'default', - }, - overrides - ); - }; - describe('When on the Endpoint Policy Details Page', function () { let indexedData: IndexedHostsAndAlertsResponse; @@ -330,8 +120,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }); }); - // FLAKY: https://github.com/elastic/kibana/issues/92567 - describe.skip('and the save button is clicked', () => { + describe('and the save button is clicked', () => { let policyInfo: PolicyTestResourceInfo; beforeEach(async () => { @@ -360,7 +149,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { await pageObjects.policy.confirmAndSave(); await testSubjects.existOrFail('policyDetailsSuccessMessage'); - await pageObjects.common.closeToast(); + await testSubjects.waitForHidden('toastCloseButton'); await pageObjects.endpoint.navigateToEndpointList(); await pageObjects.policy.navigateToPolicyDetails(policyInfo.packagePolicy.id); @@ -388,41 +177,19 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { await pageObjects.policy.confirmAndSave(); await testSubjects.existOrFail('policyDetailsSuccessMessage'); + await testSubjects.waitForHidden('toastCloseButton'); const agentFullPolicy = await policyTestResources.getFullAgentPolicy( policyInfo.agentPolicy.id ); - expect(agentFullPolicy.inputs).to.eql([ - getExpectedAgentPolicyEndpointInput({ - id: policyInfo.packagePolicy.id, - name: policyInfo.packagePolicy.name, - meta: { - package: { - version: policyInfo.packageInfo.version, - }, - }, - artifact_manifest: { - manifest_version: agentFullPolicy.inputs[0].artifact_manifest.manifest_version, - }, - policy: { - linux: { - events: { - file: false, - }, - advanced: { - agent: { - connection_delay: 'true', - }, - }, - }, - mac: { - events: { file: false }, - }, - windows: { events: { file: false } }, - }, - }), - ]); + expect(agentFullPolicy.inputs[0].id).to.eql(policyInfo.packagePolicy.id); + expect(agentFullPolicy.inputs[0].policy.linux.advanced.agent.connection_delay).to.eql( + 'true' + ); + expect(agentFullPolicy.inputs[0].policy.linux.events.file).to.eql(false); + expect(agentFullPolicy.inputs[0].policy.mac.events.file).to.eql(false); + expect(agentFullPolicy.inputs[0].policy.windows.events.file).to.eql(false); }); it('should have cleared the advanced section when the user deletes the value', async () => { @@ -435,41 +202,21 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { await pageObjects.policy.confirmAndSave(); await testSubjects.existOrFail('policyDetailsSuccessMessage'); + await testSubjects.waitForHidden('toastCloseButton'); const agentFullPolicy = await policyTestResources.getFullAgentPolicy( policyInfo.agentPolicy.id ); - expect(agentFullPolicy.inputs).to.eql([ - getExpectedAgentPolicyEndpointInput({ - id: policyInfo.packagePolicy.id, - name: policyInfo.packagePolicy.name, - meta: { - package: { - version: policyInfo.packageInfo.version, - }, - }, - artifact_manifest: { - manifest_version: agentFullPolicy.inputs[0].artifact_manifest.manifest_version, - }, - policy: { - linux: { - advanced: { - agent: { - connection_delay: 'true', - }, - }, - }, - }, - }), - ]); + expect(agentFullPolicy.inputs[0].policy.linux.advanced.agent.connection_delay).to.eql( + 'true' + ); // Clear the value await advancedPolicyField.click(); await advancedPolicyField.clearValueWithKeyboard(); // Make sure the toast button closes so the save button on the sticky footer is visible - await (await testSubjects.find('toastCloseButton')).click(); await testSubjects.waitForHidden('toastCloseButton'); await pageObjects.policy.confirmAndSave(); @@ -479,21 +226,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { policyInfo.agentPolicy.id ); - expect(agentFullPolicyUpdated.inputs).to.eql([ - getExpectedAgentPolicyEndpointInput({ - id: policyInfo.packagePolicy.id, - name: policyInfo.packagePolicy.name, - revision: 3, - meta: { - package: { - version: policyInfo.packageInfo.version, - }, - }, - artifact_manifest: { - manifest_version: agentFullPolicy.inputs[0].artifact_manifest.manifest_version, - }, - }), - ]); + expect(agentFullPolicyUpdated.inputs[0].policy.linux.advanced).to.eql(undefined); }); }); @@ -530,7 +263,8 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { await pageObjects.policy.waitForCheckboxSelectionChange('policyWindowsEvent_dns', false); }); - it('should preserve updates done from the Fleet form', async () => { + // Failing: See https://github.com/elastic/kibana/issues/100236 + it.skip('should preserve updates done from the Fleet form', async () => { // Fleet has its own form inputs, like description. When those are updated, the changes // are also dispatched to the embedded endpoint Policy form. Update to the Endpoint Policy // form after that should preserve the changes done on the Fleet form diff --git a/x-pack/test/security_solution_endpoint_api_int/apis/metadata.ts b/x-pack/test/security_solution_endpoint_api_int/apis/metadata.ts index afdc364ffd970..b00fa69395172 100644 --- a/x-pack/test/security_solution_endpoint_api_int/apis/metadata.ts +++ b/x-pack/test/security_solution_endpoint_api_int/apis/metadata.ts @@ -241,7 +241,7 @@ export default function ({ getService }: FtrProviderContext) { (ip: string) => ip === targetEndpointIp ); expect(resultIp).to.eql([targetEndpointIp]); - expect(body.hosts[0].metadata.event.created).to.eql(1634656952181); + expect(body.hosts[0].metadata.event.created).to.eql(1642522686057); expect(body.hosts.length).to.eql(1); expect(body.request_page_size).to.eql(10); expect(body.request_page_index).to.eql(0); @@ -283,7 +283,7 @@ export default function ({ getService }: FtrProviderContext) { const resultElasticAgentId: string = body.hosts[0].metadata.elastic.agent.id; expect(resultHostId).to.eql(targetEndpointId); expect(resultElasticAgentId).to.eql(targetElasticAgentId); - expect(body.hosts[0].metadata.event.created).to.eql(1634656952181); + expect(body.hosts[0].metadata.event.created).to.eql(1642522686057); expect(body.hosts[0].host_status).to.eql('unhealthy'); expect(body.hosts.length).to.eql(1); expect(body.request_page_size).to.eql(10); diff --git a/x-pack/test/security_solution_endpoint_api_int/apis/package.ts b/x-pack/test/security_solution_endpoint_api_int/apis/package.ts index a8fd5a612b306..db8c034a3b2d8 100644 --- a/x-pack/test/security_solution_endpoint_api_int/apis/package.ts +++ b/x-pack/test/security_solution_endpoint_api_int/apis/package.ts @@ -66,7 +66,9 @@ export default function ({ getService }: FtrProviderContext) { }); }; - describe('Endpoint package', () => { + describe('Endpoint package', function () { + this.onlyEsVersion('<=7'); + describe('network processors', () => { let networkIndexData: InsertedEvents; diff --git a/x-pack/test/spaces_api_integration/common/fixtures/es_archiver/saved_objects/spaces/mappings.json b/x-pack/test/spaces_api_integration/common/fixtures/es_archiver/saved_objects/spaces/mappings.json index 56db744fbce36..12606562ab33b 100644 --- a/x-pack/test/spaces_api_integration/common/fixtures/es_archiver/saved_objects/spaces/mappings.json +++ b/x-pack/test/spaces_api_integration/common/fixtures/es_archiver/saved_objects/spaces/mappings.json @@ -7,18 +7,16 @@ }, "index": ".kibana_$KIBANA_PACKAGE_VERSION_001", "mappings": { - "doc": { - "dynamic": "false", - "properties": { - "space": { - "dynamic": false, - "type": "object" - }, - "type": { "type": "keyword" }, - "migrationVersion": { - "dynamic": "true", - "type": "object" - } + "dynamic": "false", + "properties": { + "space": { + "dynamic": false, + "type": "object" + }, + "type": { "type": "keyword" }, + "migrationVersion": { + "dynamic": "true", + "type": "object" } } }, diff --git a/x-pack/test/stack_functional_integration/apps/alerts/alerts_encryption_keys.js b/x-pack/test/stack_functional_integration/apps/alerts/alerts_encryption_keys.js index 076ad6b4880bd..7a82025d516df 100644 --- a/x-pack/test/stack_functional_integration/apps/alerts/alerts_encryption_keys.js +++ b/x-pack/test/stack_functional_integration/apps/alerts/alerts_encryption_keys.js @@ -44,7 +44,7 @@ export default ({ getPageObjects, getService }) => { await retry.try(async () => { const executionFailureResultCallout = await testSubjects.find('executionFailureResult'); expect(await executionFailureResultCallout.getVisibleText()).to.be( - 'Test failed to run\nThe following error was found:\nerror sending email\nDetails:\nMail command failed: 550 5.7.1 Relaying denied' + "Test failed to run\nThe following error was found:\nerror sending email\nDetails:\nCan't send mail - all recipients were rejected: 550 5.7.1 Relaying denied" ); }); expect(true).to.be(true); diff --git a/x-pack/test/upgrade/apps/reporting/reporting_smoke_tests.ts b/x-pack/test/upgrade/apps/reporting/reporting_smoke_tests.ts index 20fc34f77dbf8..14136b23abfd5 100644 --- a/x-pack/test/upgrade/apps/reporting/reporting_smoke_tests.ts +++ b/x-pack/test/upgrade/apps/reporting/reporting_smoke_tests.ts @@ -71,14 +71,27 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { } const advOpt = await find.byXPath(`//button[descendant::*[text()='Advanced options']]`); await advOpt.click(); + // Workaround for: https://github.com/elastic/kibana/issues/126540 + const isUrlTooLong = await testSubjects.exists('urlTooLongErrorMessage'); + if (isUrlTooLong) { + // Save dashboard + await PageObjects.dashboard.switchToEditMode(); + await PageObjects.dashboard.clickQuickSave(); + await PageObjects.share.openShareMenuItem(link); + if (type === 'pdf_optimize') { + await testSubjects.click('usePrintLayout'); + } + const advOpt2 = await find.byXPath( + `//button[descendant::*[text()='Advanced options']]` + ); + await advOpt2.click(); + } const postUrl = await find.byXPath(`//button[descendant::*[text()='Copy POST URL']]`); await postUrl.click(); const url = await browser.getClipboardValue(); - await reportingAPI.expectAllJobsToFinishSuccessfully( - await Promise.all([ - reportingAPI.postJob(parse(url).pathname + '?' + parse(url).query), - ]) - ); + await reportingAPI.expectAllJobsToFinishSuccessfully([ + await reportingAPI.postJob(parse(url).pathname + '?' + parse(url).query), + ]); usage = (await usageAPI.getUsageStats()) as UsageStats; reportingAPI.expectCompletedReportCount(usage, completedReportCount + 1); }); diff --git a/x-pack/test/upgrade/config.ts b/x-pack/test/upgrade/config.ts index 472b83fe7a934..dee3afb63e020 100644 --- a/x-pack/test/upgrade/config.ts +++ b/x-pack/test/upgrade/config.ts @@ -35,6 +35,10 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { reportName: 'Upgrade Tests', }, + timeouts: { + kibanaReportCompletion: 120000, + }, + security: { disableTestUser: true, }, diff --git a/x-pack/test/upgrade/reporting_services.ts b/x-pack/test/upgrade/reporting_services.ts index 13186cb9b2a75..2de3b72bc9a47 100644 --- a/x-pack/test/upgrade/reporting_services.ts +++ b/x-pack/test/upgrade/reporting_services.ts @@ -47,33 +47,34 @@ export function ReportingAPIProvider({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const esSupertest = getService('esSupertest'); const retry = getService('retry'); + const config = getService('config'); return { - async waitForJobToFinish(downloadReportPath: string) { - log.debug(`Waiting for job to finish: ${downloadReportPath}`); - const JOB_IS_PENDING_CODE = 503; - - const statusCode = await new Promise((resolve) => { - const intervalId = setInterval(async () => { - const response = (await supertest + async waitForJobToFinish(downloadReportPath: string, options?: { timeout?: number }) { + await retry.waitForWithTimeout( + `job ${downloadReportPath} finished`, + options?.timeout ?? config.get('timeouts.kibanaReportCompletion'), + async () => { + const response = await supertest .get(downloadReportPath) .responseType('blob') - .set('kbn-xsrf', 'xxx')) as any; - if (response.statusCode === 503) { + .set('kbn-xsrf', 'xxx'); + + if (response.status === 503) { log.debug(`Report at path ${downloadReportPath} is pending`); - } else if (response.statusCode === 200) { - log.debug(`Report at path ${downloadReportPath} is complete`); - } else { - log.debug(`Report at path ${downloadReportPath} returned code ${response.statusCode}`); + return false; } - if (response.statusCode !== JOB_IS_PENDING_CODE) { - clearInterval(intervalId); - resolve(response.statusCode); + + log.debug(`Report at path ${downloadReportPath} returned code ${response.status}`); + + if (response.status === 200) { + log.debug(`Report at path ${downloadReportPath} is complete`); + return true; } - }, 1500); - }); - expect(statusCode).to.be(200); + throw new Error(`unexpected status code ${response.status}`); + } + ); }, async expectAllJobsToFinishSuccessfully(jobPaths: string[]) { diff --git a/x-pack/test/upgrade_assistant_integration/upgrade_assistant/index.js b/x-pack/test/upgrade_assistant_integration/upgrade_assistant/index.js index 1a7090a3cbdfb..453ae5022972a 100644 --- a/x-pack/test/upgrade_assistant_integration/upgrade_assistant/index.js +++ b/x-pack/test/upgrade_assistant_integration/upgrade_assistant/index.js @@ -8,6 +8,7 @@ export default function ({ loadTestFile }) { describe('upgrade assistant', function () { this.tags('ciGroup7'); + this.onlyEsVersion('<=7'); loadTestFile(require.resolve('./reindexing')); }); diff --git a/x-pack/test/upgrade_assistant_integration/upgrade_assistant/reindexing.js b/x-pack/test/upgrade_assistant_integration/upgrade_assistant/reindexing.js index 025bd8d899e92..e3b4995bf07f6 100644 --- a/x-pack/test/upgrade_assistant_integration/upgrade_assistant/reindexing.js +++ b/x-pack/test/upgrade_assistant_integration/upgrade_assistant/reindexing.js @@ -83,6 +83,32 @@ export default function ({ getService }) { }); }); + it('can resume after reindexing was stopped right after creating the new index', async () => { + await esArchiver.load('x-pack/test/functional/es_archives/upgrade_assistant/reindex'); + + // This new index is the new soon to be created reindexed index. We create it + // upfront to simulate a situation in which the user restarted kibana half + // way through the reindex process and ended up with an extra index. + await es.indices.create({ index: 'reindexed-v7-dummydata' }); + + const { body } = await supertest + .post(`/api/upgrade_assistant/reindex/dummydata`) + .set('kbn-xsrf', 'xxx') + .expect(200); + + expect(body.indexName).to.equal('dummydata'); + expect(body.status).to.equal(ReindexStatus.inProgress); + + const lastState = await waitForReindexToComplete('dummydata'); + expect(lastState.errorMessage).to.equal(null); + expect(lastState.status).to.equal(ReindexStatus.completed); + + // Cleanup newly created index + await es.indices.delete({ + index: lastState.newIndexName, + }); + }); + it('should update any aliases', async () => { await esArchiver.load('x-pack/test/functional/es_archives/upgrade_assistant/reindex'); diff --git a/yarn.lock b/yarn.lock index 7f688fcac3bc0..c87d786bcdd3f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1312,10 +1312,10 @@ resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz#371ba8be66d556812dc7fb169ebc3c08378f69d4" integrity sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA== -"@bazel/ibazel@^0.15.10": - version "0.15.10" - resolved "https://registry.yarnpkg.com/@bazel/ibazel/-/ibazel-0.15.10.tgz#cf0cff1aec6d8e7bb23e1fc618d09fbd39b7a13f" - integrity sha512-0v+OwCQ6fsGFa50r6MXWbUkSGuWOoZ22K4pMSdtWiL5LKFIE4kfmMmtQS+M7/ICNwk2EIYob+NRreyi/DGUz5A== +"@bazel/ibazel@^0.16.2": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@bazel/ibazel/-/ibazel-0.16.2.tgz#05dd7f06659759fda30f87b15534f1e42f1201bb" + integrity sha512-KgqAWMH0emL6f3xH6nqyTryoBMqlJ627LBIe9PT1PRRQPz2FtHib3FIHJPukp1slzF3hJYZvdiVwgPnHbaSOOA== "@bazel/typescript@^3.8.0": version "3.8.0" @@ -1520,10 +1520,10 @@ dependencies: object-hash "^1.3.0" -"@elastic/charts@38.0.5": - version "38.0.5" - resolved "https://registry.yarnpkg.com/@elastic/charts/-/charts-38.0.5.tgz#b6ca7a41903a5b31589294d141f84134daa590d5" - integrity sha512-Utr1n+j71qQbscCucO7frnMC1j1TgftzqSLoUE0CezFRcwgcy1i3KhSCtdnSthXtvLUvh341WpkKOqp7UyOuhw== +"@elastic/charts@40.3.0": + version "40.3.0" + resolved "https://registry.yarnpkg.com/@elastic/charts/-/charts-40.3.0.tgz#f7e8fb0e7770251484807b33dae01e36ff336b89" + integrity sha512-ZY5PQiwmsMaJo2u9h7XbrGcuV8A3yO7pdgbSne8nICIaOfEz3qpH6JjGXxOXerb0els/Y9nTyYh/i1mQd8S/dA== dependencies: "@popperjs/core" "^2.4.0" chroma-js "^2.1.0" @@ -1533,7 +1533,8 @@ d3-collection "^1.0.7" d3-interpolate "^1.4.0" d3-scale "^1.0.7" - d3-shape "^1.3.4" + d3-shape "^2.0.0" + luxon "^1.25.0" prop-types "^15.7.2" re-reselect "^3.4.0" react-redux "^7.1.0" @@ -1716,14 +1717,14 @@ "@elastic/react-search-ui-views" "1.6.0" "@elastic/search-ui" "1.6.0" -"@elastic/request-crypto@1.1.4": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@elastic/request-crypto/-/request-crypto-1.1.4.tgz#2189d5fea65f7afe1de9f5fa3d0dd420e93e3124" - integrity sha512-D5CzSGKkM6BdrVB/HRRTheMsNQOcd2FMUup0O/1hIGUBE8zHh2AYbmSNSpD6LyQAgY39mGkARUi/x+SO0ccVvg== +"@elastic/request-crypto@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@elastic/request-crypto/-/request-crypto-2.0.0.tgz#a3988be98ed63398c3d0177948c7ac2a857835bb" + integrity sha512-jIReBeHzgUKNsYwdhnTyLFSGHyLsJgQIIw+AMEnq1lcONA/uKG7hhFUK2Z8XxjJ86/oXt1TwJ4BIagZR3mzq7w== dependencies: "@elastic/node-crypto" "1.1.1" - "@types/node-jose" "1.1.0" - node-jose "1.1.0" + "@types/node-jose" "1.1.8" + node-jose "2.0.0" "@elastic/safer-lodash-set@link:bazel-bin/packages/elastic-safer-lodash-set": version "0.0.0" @@ -4863,10 +4864,10 @@ dependencies: defer-to-connect "^2.0.0" -"@testim/chrome-version@^1.0.7": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@testim/chrome-version/-/chrome-version-1.0.7.tgz#0cd915785ec4190f08a3a6acc9b61fc38fb5f1a9" - integrity sha512-8UT/J+xqCYfn3fKtOznAibsHpiuDshCb0fwgWxRazTT19Igp9ovoXMPhXyLD6m3CKQGTMHgqoxaFfMWaL40Rnw== +"@testim/chrome-version@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@testim/chrome-version/-/chrome-version-1.1.2.tgz#092005c5b77bd3bb6576a4677110a11485e11864" + integrity sha512-1c4ZOETSRpI0iBfIFUqU4KqwBAB2lHUAlBjZz/YqOHqwM9dTTzjV6Km0ZkiEiSCx/tLr1BtESIKyWWMww+RUqw== "@testing-library/dom@^7.28.1", "@testing-library/dom@^7.30.3": version "7.30.3" @@ -5230,10 +5231,10 @@ resolved "https://registry.yarnpkg.com/@types/chroma-js/-/chroma-js-2.0.0.tgz#b0fc98c8625d963f14e8138e0a7961103303ab22" integrity sha512-iomunXsXjDxhm2y1OeJt8NwmgC7RyNkPAOddlYVGsbGoX8+1jYt84SG4/tf6RWcwzROLx1kPXPE95by1s+ebIg== -"@types/chromedriver@^81.0.0": - version "81.0.0" - resolved "https://registry.yarnpkg.com/@types/chromedriver/-/chromedriver-81.0.0.tgz#d7c97bd2b1de34270f44e60f4eee43bfdba3a8e2" - integrity sha512-Oqwo24DPn5lYI66aA74ApKrfAqVFEjC66raiB/2eHhhryYiumlMpRTR/++riaRcXmfrLXrIiNTtE+Op4vGCIFQ== +"@types/chromedriver@^81.0.1": + version "81.0.1" + resolved "https://registry.yarnpkg.com/@types/chromedriver/-/chromedriver-81.0.1.tgz#bff3e4cdc7830dc0f115a9c0404f6979771064d4" + integrity sha512-I7ma6bBzfWc5YiMV/OZ6lYMZIANAwGbDH+QRYKnbXRptdAvUhSoFP5iHzQHas6QZCRDtefMvbxCjySUyXhxafQ== dependencies: "@types/node" "*" @@ -5757,7 +5758,7 @@ "@types/parse5" "*" "@types/tough-cookie" "*" -"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== @@ -5849,12 +5850,13 @@ resolved "https://registry.yarnpkg.com/@types/lz-string/-/lz-string-1.3.34.tgz#69bfadde419314b4a374bf2c8e58659c035ed0a5" integrity sha512-j6G1e8DULJx3ONf6NdR5JiR2ZY3K3PaaqiEuKYkLQO0Czfi1AzrtjfnfCROyWGeDd5IVMKCwsgSmMip9OWijow== -"@types/markdown-it@^0.0.7": - version "0.0.7" - resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-0.0.7.tgz#75070485a3d8ad11e7deb8287f4430be15bf4d39" - integrity sha512-WyL6pa76ollQFQNEaLVa41ZUUvDvPY+qAUmlsphnrpL6I9p1m868b26FyeoOmo7X3/Ta/S9WKXcEYXUSHnxoVQ== +"@types/markdown-it@^12.2.3": + version "12.2.3" + resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-12.2.3.tgz#0d6f6e5e413f8daaa26522904597be3d6cd93b51" + integrity sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ== dependencies: "@types/linkify-it" "*" + "@types/mdurl" "*" "@types/markdown-to-jsx@^6.11.3": version "6.11.3" @@ -5877,6 +5879,11 @@ dependencies: "@types/unist" "*" +"@types/mdurl@*": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.2.tgz#e2ce9d83a613bacf284c7be7d491945e39e1f8e9" + integrity sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA== + "@types/memoize-one@^4.1.0": version "4.1.1" resolved "https://registry.yarnpkg.com/@types/memoize-one/-/memoize-one-4.1.1.tgz#41dd138a4335b5041f7d8fc038f9d593d88b3369" @@ -5919,10 +5926,10 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-2.0.29.tgz#5002e14f75e2d71e564281df0431c8c1b4a2a36a" integrity sha1-UALhT3Xi1x5WQoHfBDHIwbSio2o= -"@types/minimist@^1.2.0", "@types/minimist@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256" - integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg== +"@types/minimist@^1.2.0", "@types/minimist@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" + integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== "@types/minipass@*": version "2.2.0" @@ -5931,10 +5938,10 @@ dependencies: "@types/node" "*" -"@types/mocha@^8.2.0": - version "8.2.0" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-8.2.0.tgz#3eb56d13a1de1d347ecb1957c6860c911704bc44" - integrity sha512-/Sge3BymXo4lKc31C8OINJgXLaw+7vL1/L1pGiBNpGrBiT8FQiaFpSYV0uhTaG4y78vcMBTMFsWaHDvuD+xGzQ== +"@types/mocha@^9.1.0": + version "9.1.0" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-9.1.0.tgz#baf17ab2cca3fcce2d322ebc30454bff487efad5" + integrity sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg== "@types/mock-fs@^4.13.1": version "4.13.1" @@ -5969,32 +5976,32 @@ dependencies: "@types/node" "*" -"@types/node-fetch@^2.5.7": - version "2.5.7" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.7.tgz#20a2afffa882ab04d44ca786449a276f9f6bbf3c" - integrity sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw== +"@types/node-fetch@^2.5.7", "@types/node-fetch@^2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.0.tgz#bf854a36a0d0d99436fd199e06612ef4e73591b6" + integrity sha512-HT+uU6V27wJFXgEqTk/+rVE1MWcp5bg7Yuz//43TZ2PjpQbQ8vDLwVmB+fSpgs83j/+p+rMIlDRo9TL3IexWMA== dependencies: "@types/node" "*" - form-data "^3.0.0" + form-data "^2.3.3" -"@types/node-forge@^0.10.5": - version "0.10.5" - resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-0.10.5.tgz#f79925c88202817a7ec0958c3a9d3a915d362b4f" - integrity sha512-P+Q+MPSDr0RgIzv5h0gJuJDCm1e4RaSu/EMJZTUS4ZzboWH2uX/T7TiqAAcEFTHzCKtgMRqCgTVTX9SD72fMTQ== +"@types/node-forge@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.0.1.tgz#0df103639da9d5ec6a708d462020f0df70679f37" + integrity sha512-96ELNKv9tQJ19afdBUiM5iDw7OYEc53iUc51gAPR2aGaqRsO1DBROjqgZRjZa1tkPj7TnEOR0EnyAX6iryGkzA== dependencies: "@types/node" "*" -"@types/node-jose@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@types/node-jose/-/node-jose-1.1.0.tgz#26e1d234b41a39035482443ef35414bf34ba5d8b" - integrity sha512-ws1RJCQmIDww6/OEW1WcLCqDXZmNMWLoGgW5TEIR7pqJDaGrOkgH8hVw96Wx4rmu65r3/ZiDsb9LjpoizAnlww== +"@types/node-jose@1.1.8": + version "1.1.8" + resolved "https://registry.yarnpkg.com/@types/node-jose/-/node-jose-1.1.8.tgz#26b7ae96e3309acb426ea5393ff5d6a0c1c38625" + integrity sha512-AFcArbplUaO+DqGVEPaiz/guw3uUA+dRHjaj26EEDF0DmTEPUd3dEdfdJMUx4kD65EAR3TnI1iHIcb31+Ko87Q== dependencies: "@types/node" "*" -"@types/node@*", "@types/node@12.20.24", "@types/node@16.10.2", "@types/node@>= 8", "@types/node@>=8.9.0", "@types/node@^10.1.0", "@types/node@^14.0.10", "@types/node@^14.14.31": - version "16.10.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.10.2.tgz#5764ca9aa94470adb4e1185fe2e9f19458992b2e" - integrity sha512-zCclL4/rx+W5SQTzFs9wyvvyCwoK9QtBpratqz2IYJ3O8Umrn0m3nsTv0wQBk9sRGpvUe9CwPDrQFB10f1FIjQ== +"@types/node@*", "@types/node@12.20.24", "@types/node@16.11.7", "@types/node@>= 8", "@types/node@>=8.9.0", "@types/node@^10.1.0", "@types/node@^14.0.10", "@types/node@^14.14.31": + version "16.11.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.7.tgz#36820945061326978c42a01e56b61cd223dfdc42" + integrity sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw== "@types/nodemailer@^6.4.0": version "6.4.0" @@ -6347,10 +6354,10 @@ resolved "https://registry.yarnpkg.com/@types/seedrandom/-/seedrandom-2.4.28.tgz#9ce8fa048c1e8c85cb71d7fe4d704e000226036f" integrity sha512-SMA+fUwULwK7sd/ZJicUztiPs8F1yCPwF3O23Z9uQ32ME5Ha0NmDK9+QTsYE4O2tHXChzXomSWWeIhCnoN1LqA== -"@types/selenium-webdriver@^4.0.15": - version "4.0.15" - resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.0.15.tgz#03012b84155cf6bbae2f64aa9dccf2a84c78c7c8" - integrity sha512-5760PIZkzhPejy3hsKAdCKe5LJygGdxLKOLxmZL9GEUcFlO5OgzM6G2EbdbvOnaw4xvUSa9Uip6Ipwkih12BPA== +"@types/selenium-webdriver@^4.0.18": + version "4.0.18" + resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-4.0.18.tgz#98f6e1ccd2d92f6fddaccfc7c148d2e158da0f92" + integrity sha512-gkrUo3QldGr8V9im/DjgKkX4UVd1rtflfEBuPG9hPSA1keu7A0rF8h/MQjpTMm2EPVhBCd2K8tn5nlC9Vsd5Xw== "@types/semver@^7": version "7.3.4" @@ -7093,10 +7100,10 @@ address@1.1.2, address@^1.0.1: resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== -adm-zip@0.5.5: - version "0.5.5" - resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.5.5.tgz#b6549dbea741e4050309f1bb4d47c47397ce2c4f" - integrity sha512-IWwXKnCbirdbyXSfUDvCCrmYrOHANRZcc8NcRrvTlIApdl7PwE9oGcsYvNeJPAVY1M+70b4PxXGKIf8AEuiQ6w== +adm-zip@0.5.9: + version "0.5.9" + resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.5.9.tgz#b33691028333821c0cf95c31374c5462f2905a83" + integrity sha512-s+3fXLkeeLjZ2kLjCBwQufpI5fuN+kIGBxu6530nVQZGVol0d7Y/M88/xw9HGGUcJjKf8LutN3VPRUBq6N7Ajg== after-all-results@^2.0.0: version "2.0.0" @@ -7351,7 +7358,7 @@ ansi-regex@^4.0.0, ansi-regex@^4.1.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== -ansi-regex@^5.0.0: +ansi-regex@^5.0.0, ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== @@ -7563,6 +7570,11 @@ argparse@^1.0.7, argparse@~1.0.9: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + argsplit@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/argsplit/-/argsplit-1.0.5.tgz#9319a6ef63411716cfeb216c45ec1d13b35c5e99" @@ -7942,10 +7954,10 @@ async@^2.1.4, async@^2.6.2: dependencies: lodash "^4.17.14" -async@^3.1.0, async@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" - integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== +async@^3.2.0, async@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" + integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== asynckit@^0.4.0: version "0.4.0" @@ -8054,12 +8066,12 @@ axios@^0.21.1: dependencies: follow-redirects "^1.10.0" -axios@^0.21.2: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== +axios@^0.24.0: + version "0.24.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6" + integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA== dependencies: - follow-redirects "^1.14.0" + follow-redirects "^1.14.4" axobject-query@^2.2.0: version "2.2.0" @@ -8474,7 +8486,7 @@ base64-js@^1.0.2, base64-js@^1.1.2, base64-js@^1.2.0, base64-js@^1.3.0, base64-j resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== -base64url@^3.0.0: +base64url@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d" integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== @@ -8746,10 +8758,10 @@ broadcast-channel@^3.4.1: rimraf "3.0.2" unload "2.2.0" -broadcast-channel@^4.7.1: - version "4.7.1" - resolved "https://registry.yarnpkg.com/broadcast-channel/-/broadcast-channel-4.7.1.tgz#f2a5129cf4bf69c9f944b34e777a4fc907be407e" - integrity sha512-liKNu7gwUtBVyTzqx3Thg//7ZooKXfnXxFm/pjLPaxG3t8CquwqnobH8jtFe2FQenFduC2dUzkL1bIrld7auqg== +broadcast-channel@^4.10.0: + version "4.10.0" + resolved "https://registry.yarnpkg.com/broadcast-channel/-/broadcast-channel-4.10.0.tgz#d19fb902df227df40b1b580351713d30c302d198" + integrity sha512-hOUh312XyHk6JTVyX9cyXaH1UYs+2gHVtnW16oQAu9FL7ALcXGXc/YoJWqlkV8vUn14URQPMmRi4A9q4UrwVEQ== dependencies: "@babel/runtime" "^7.16.0" detect-node "^2.1.0" @@ -8993,24 +9005,13 @@ browserslist@4.14.2: escalade "^3.0.2" node-releases "^1.1.61" -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.6.0: - version "4.17.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.1.tgz#a98d104f54af441290b7d592626dd541fa642eb9" - integrity sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ== - dependencies: - caniuse-lite "^1.0.30001259" - electron-to-chromium "^1.3.846" - escalade "^3.1.1" - nanocolors "^0.1.5" - node-releases "^1.1.76" - -browserslist@^4.17.5, browserslist@^4.17.6: - version "4.18.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" - integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.17.5, browserslist@^4.17.6, browserslist@^4.6.0: + version "4.19.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" + integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== dependencies: - caniuse-lite "^1.0.30001280" - electron-to-chromium "^1.3.896" + caniuse-lite "^1.0.30001286" + electron-to-chromium "^1.4.17" escalade "^3.1.1" node-releases "^2.0.1" picocolors "^1.0.0" @@ -9347,10 +9348,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001097, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001259, caniuse-lite@^1.0.30001280: - version "1.0.30001280" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001280.tgz#066a506046ba4be34cde5f74a08db7a396718fb7" - integrity sha512-kFXwYvHe5rix25uwueBxC569o53J6TpnGu0BEEn+6Lhl2vsnAumRFWEBhDft1fwyo6m1r4i+RqA4+163FpeFcA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001097, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001286: + version "1.0.30001309" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001309.tgz#e0ee78b9bec0704f67304b00ff3c5c0c768a9f62" + integrity sha512-Pl8vfigmBXXq+/yUz1jUwULeq9xhMJznzdc/xwl4WclDAuebcTHVefpz8lE/bMI+UN7TOkSSe7B7RnZd6+dzjA== capture-exit@^2.0.0: version "2.0.0" @@ -9447,6 +9448,14 @@ chalk@^4.0.0, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chalk@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174" @@ -9537,7 +9546,7 @@ cheerio@^1.0.0-rc.10, cheerio@^1.0.0-rc.3: parse5-htmlparser2-tree-adapter "^6.0.1" tslib "^2.2.0" -chokidar@3.4.3, chokidar@^2.0.0, chokidar@^2.0.4, chokidar@^2.1.1, chokidar@^2.1.2, chokidar@^2.1.8, chokidar@^3.2.2, chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.4.2, chokidar@^3.4.3: +chokidar@3.5.3, chokidar@^2.0.0, chokidar@^2.0.4, chokidar@^2.1.1, chokidar@^2.1.2, chokidar@^2.1.8, chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.4.2, chokidar@^3.4.3, chokidar@^3.5.2: version "3.5.1" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== @@ -9581,13 +9590,13 @@ chrome-trace-event@^1.0.2: dependencies: tslib "^1.9.0" -chromedriver@^96.0.0: - version "96.0.0" - resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-96.0.0.tgz#c8473498e4c94950fa168187b112019cce9e5c6c" - integrity sha512-4g6Hn5RHGsbaBmOrJbDlz/hdVPOc22eRsbvoAAMqkZxR2NJCcddHzCw2FAQeW8lX/C7xWVz3nyDsKX3fE9lIIw== +chromedriver@^100.0.0: + version "100.0.0" + resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-100.0.0.tgz#1b4bf5c89cea12c79f53bc94d8f5bb5aa79ed7be" + integrity sha512-oLfB0IgFEGY9qYpFQO/BNSXbPw7bgfJUN5VX8Okps9W2qNT4IqKh5hDwKWtpUIQNI6K3ToWe2/J5NdpurTY02g== dependencies: - "@testim/chrome-version" "^1.0.7" - axios "^0.21.2" + "@testim/chrome-version" "^1.1.2" + axios "^0.24.0" del "^6.0.0" extract-zip "^2.0.1" https-proxy-agent "^5.0.0" @@ -10003,12 +10012,7 @@ color@^3.1.3: color-convert "^1.9.3" color-string "^1.6.0" -colorette@^1.2.0, colorette@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" - integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== - -colorette@^1.2.2: +colorette@^1.2.0, colorette@^1.2.1, colorette@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== @@ -10018,7 +10022,7 @@ colors@1.0.3: resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= -colors@^1.1.2, colors@^1.2.1, colors@^1.3.2: +colors@1.4.0, colors@^1.1.2, colors@^1.3.2: version "1.4.0" resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== @@ -10103,6 +10107,11 @@ commander@^7.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== +commander@^8.2.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + common-tags@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" @@ -10418,9 +10427,9 @@ core-js@^2.4.0, core-js@^2.5.0, core-js@^2.6.9: integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== core-js@^3.0.4, core-js@^3.19.1, core-js@^3.6.5, core-js@^3.8.2: - version "3.19.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.19.1.tgz#f6f173cae23e73a7d88fa23b6e9da329276c6641" - integrity sha512-Tnc7E9iKd/b/ff7GFbhwPVzJzPztGrChB8X8GLqoYGdEOG8IpLnK1xPyo3ZoO3HsK6TodJS58VGPOxA+hLHQMg== + version "3.20.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.20.1.tgz#eb1598047b7813572f1dc24b7c6a95528c99eef3" + integrity sha512-btdpStYFQScnNVQ5slVcr858KP0YWYjV16eGJQw8Gg7CWtu/2qNvIM3qVRIR3n1pK2R9NNOrTevbvAYxajwEjg== core-util-is@1.0.2, core-util-is@^1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -11321,7 +11330,7 @@ d3-selection@^1.0.2, d3-selection@^1.1.0: resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.4.1.tgz#98eedbbe085fbda5bafa2f9e3f3a2f4d7d622a98" integrity sha512-BTIbRjv/m5rcVTfBs4AMBLKs4x8XaaLkwm28KWu9S2vKNqXkXt2AH2Qf0sdPZHjFxcWg/YL53zcqAz+3g4/7PA== -d3-shape@^1.1.0, d3-shape@^1.2.0, d3-shape@^1.3.4: +d3-shape@^1.1.0, d3-shape@^1.2.0: version "1.3.7" resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.7.tgz#df63801be07bc986bc54f63789b4fe502992b5d7" integrity sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw== @@ -11466,10 +11475,10 @@ date-now@^0.1.4: resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= -dateformat@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" - integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== +dateformat@^4.5.1: + version "4.6.3" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-4.6.3.tgz#556fa6497e5217fedb78821424f8a1c22fa3f4b5" + integrity sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA== dayjs@^1.10.4: version "1.10.4" @@ -11499,17 +11508,17 @@ debug@3.1.0: dependencies: ms "2.0.0" -debug@3.X, debug@^3.0.0, debug@^3.0.1, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6, debug@^3.2.7: +debug@3.X, debug@^3.0.0, debug@^3.0.1, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" -debug@4, debug@4.3.1, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== +debug@4, debug@4.3.3, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.2: + version "4.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== dependencies: ms "2.1.2" @@ -11527,14 +11536,14 @@ debug@4.1.1: dependencies: ms "^2.1.1" -debug@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" - integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== +debug@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: ms "2.1.2" -debug@4.3.2, debug@^4.3.2: +debug@4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== @@ -12004,10 +12013,10 @@ diff-sequences@^27.0.6: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== -diff@4.0.2, diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +diff@5.0.0, diff@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== diff@^1.3.2: version "1.4.0" @@ -12019,6 +12028,11 @@ diff@^3.0.0, diff@^3.5.0: resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + diffie-hellman@^5.0.0: version "5.0.2" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" @@ -12174,13 +12188,20 @@ domhandler@2.1: dependencies: domelementtype "1" -domhandler@^2.3.0, domhandler@^2.4.2: +domhandler@^2.3.0: version "2.4.2" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== dependencies: domelementtype "1" +domhandler@^4.0, domhandler@^4.2.2: + version "4.3.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" + integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== + dependencies: + domelementtype "^2.2.0" + domhandler@^4.0.0, domhandler@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059" @@ -12211,7 +12232,7 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" -domutils@^2.5.2, domutils@^2.6.0, domutils@^2.7.0: +domutils@^2.5.2, domutils@^2.6.0, domutils@^2.7.0, domutils@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== @@ -12461,20 +12482,10 @@ elasticsearch@^16.4.0: chalk "^1.0.0" lodash "^4.17.10" -electron-to-chromium@^1.3.564: - version "1.3.642" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.642.tgz#8b884f50296c2ae2a9997f024d0e3e57facc2b94" - integrity sha512-cev+jOrz/Zm1i+Yh334Hed6lQVOkkemk2wRozfMF4MtTR7pxf3r3L5Rbd7uX1zMcEqVJ7alJBnJL7+JffkC6FQ== - -electron-to-chromium@^1.3.846: - version "1.3.853" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.853.tgz#f3ed1d31f092cb3a17af188bca6c6a3ec91c3e82" - integrity sha512-W4U8n+U8I5/SUaFcqZgbKRmYZwcyEIQVBDf+j5QQK6xChjXnQD+wj248eGR9X4u+dDmDR//8vIfbu4PrdBBIoQ== - -electron-to-chromium@^1.3.896: - version "1.3.899" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.899.tgz#4d7d040e73def3d5f5bd6b8a21049025dce6fce0" - integrity sha512-w16Dtd2zl7VZ4N4Db+FIa7n36sgPGCKjrKvUUmp5ialsikvcQLjcJR9RWnlYNxIyEHLdHaoIZEqKsPxU9MdyBg== +electron-to-chromium@^1.3.564, electron-to-chromium@^1.4.17: + version "1.4.66" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.66.tgz#d7453d363dcd7b06ed1757adcde34d724e27b367" + integrity sha512-f1RXFMsvwufWLwYUxTiP7HmjprKXrqEWHiQkjAYa9DJeVIlZk5v8gBGcaV+FhtXLly6C1OTVzQY+2UQrACiLlg== elegant-spinner@^1.0.1: version "1.0.1" @@ -12621,11 +12632,21 @@ entities@^2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== +entities@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" + integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== + entities@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== +entities@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" + integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== + env-paths@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" @@ -12838,10 +12859,10 @@ es6-promise-pool@^2.5.0: resolved "https://registry.yarnpkg.com/es6-promise-pool/-/es6-promise-pool-2.5.0.tgz#147c612b36b47f105027f9d2bf54a598a99d9ccb" integrity sha1-FHxhKza0fxBQJ/nSv1SlmKmdnMs= -es6-promise@^4.0.3, es6-promise@^4.2.5: - version "4.2.6" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.6.tgz#b685edd8258886365ea62b57d30de28fadcd974f" - integrity sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q== +es6-promise@^4.0.3, es6-promise@^4.2.8: + version "4.2.8" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== es6-promisify@^5.0.0: version "5.0.0" @@ -13083,10 +13104,10 @@ eslint-plugin-jsx-a11y@^6.4.1: jsx-ast-utils "^3.1.0" language-tags "^1.0.5" -eslint-plugin-mocha@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-9.0.0.tgz#b4457d066941eecb070dc06ed301c527d9c61b60" - integrity sha512-d7knAcQj1jPCzZf3caeBIn3BnW6ikcvfz0kSqQpwPYcVGLoJV5sz0l0OJB2LR8I7dvTDbqq1oV6ylhSgzA10zg== +eslint-plugin-mocha@^10.0.3: + version "10.0.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-10.0.3.tgz#a4ecf2351828e852156316b7e936e7336fc0ff5e" + integrity sha512-9mM7PZGxfejpjey+MrG0Cu3Lc8MyA5E2s7eUCdHXgS4SY/H9zLuwa7wVAjnEaoDjbBilA+0bPEB+iMO7lBUPcg== dependencies: eslint-utils "^3.0.0" ramda "^0.27.1" @@ -13377,9 +13398,9 @@ events@^2.0.0: integrity sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg== events@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" - integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== eventsource@^1.0.7: version "1.0.7" @@ -13737,10 +13758,10 @@ fast-redact@^3.0.0: resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.0.0.tgz#ac2f9e36c9f4976f5db9fb18c6ffbaf308cf316d" integrity sha512-a/S/Hp6aoIjx7EmugtzLqXmcNsyFszqbt6qQ99BdG61QjBZF6shNis0BYR6TsZOQ1twYc0FN2Xdhwwbv6+KD0w== -fast-safe-stringify@2.x.x, fast-safe-stringify@^2.0.4, fast-safe-stringify@^2.0.7: - version "2.0.8" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.8.tgz#dc2af48c46cf712b683e849b2bbd446b32de936f" - integrity sha512-lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag== +fast-safe-stringify@2.x.x, fast-safe-stringify@^2.0.7: + version "2.1.1" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== fast-shallow-equal@^1.0.0: version "1.0.0" @@ -14151,15 +14172,10 @@ follow-redirects@1.12.1: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.12.1.tgz#de54a6205311b93d60398ebc01cf7015682312b6" integrity sha512-tmRv0AVuR7ZyouUHLeNSiO6pqulF7dYa3s19c6t+wz9LD69/uSzdMxJ2S91nTI9U3rt/IldxpzMOFejp6f0hjg== -follow-redirects@^1.0.0, follow-redirects@^1.10.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db" - integrity sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA== - -follow-redirects@^1.14.0: - version "1.14.3" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.3.tgz#6ada78118d8d24caee595595accdc0ac6abd022e" - integrity sha512-3MkHxknWMUtb23apkgz/83fDoe+y+qr0TdgacGIA7bew+QLBo3vdgEN2xEsuXNivpFy4CyDhBBZnNZOtalmenw== +follow-redirects@^1.0.0, follow-redirects@^1.10.0, follow-redirects@^1.14.4: + version "1.14.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7" + integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w== font-awesome@4.7.0: version "4.7.0" @@ -14257,7 +14273,7 @@ fork-ts-checker-webpack-plugin@^6.0.4: semver "^7.3.2" tapable "^1.0.0" -form-data@^2.3.1: +form-data@^2.3.1, form-data@^2.3.3: version "2.5.0" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.0.tgz#094ec359dc4b55e7d62e0db4acd76e89fe874d37" integrity sha512-WXieX3G/8side6VIqx44ablyULoGruSde5PNTxoUyo5CeyAMX6nVWUd0rgist/EuX655cjhUhTo1Fo3tRYqbcA== @@ -14266,15 +14282,6 @@ form-data@^2.3.1: combined-stream "^1.0.6" mime-types "^2.1.12" -form-data@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" - integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - form-data@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" @@ -14383,6 +14390,15 @@ fs-extra@^0.30.0: path-is-absolute "^1.0.0" rimraf "^2.2.8" +fs-extra@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" + integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^7.0.0, fs-extra@^7.0.1, fs-extra@~7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" @@ -14401,17 +14417,7 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.0, fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -fs-extra@^9.1.0: +fs-extra@^9.0.0, fs-extra@^9.0.1, fs-extra@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== @@ -14466,7 +14472,7 @@ fsevents@^2.1.2, fsevents@~2.3.1: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== -fsu@^1.0.2: +fsu@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/fsu/-/fsu-1.1.1.tgz#bd36d3579907c59d85b257a75b836aa9e0c31834" integrity sha512-xQVsnjJ/5pQtcKh+KjUoZGzVWn4uNkchxTF6Lwjr4Gf7nQr8fmUfhKJ62zE77+xQg9xnxi5KUps7XGs+VC986A== @@ -14522,16 +14528,16 @@ gaze@^1.0.0: dependencies: globule "^1.0.0" -geckodriver@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/geckodriver/-/geckodriver-2.0.4.tgz#2f644ede43ce7bea10336d57838179da0f7374d9" - integrity sha512-3Fu75v6Ov8h5Vt25+djJU56MJA2gRctgjhvG5xGzLFTQjltPz7nojQdBHbmgWznUt3CHl8VaiDn8MaepY7B0dA== +geckodriver@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/geckodriver/-/geckodriver-3.0.1.tgz#ded3512f3c6ddc490139b9d5e8fd6925d41c5631" + integrity sha512-cHmbNFqt4eelymsuVt7B5nh+qYGpPCltM7rd+k+CBaTvxGGr4j6STeOYahXMNdSeUbCVhqP345OuqWnvHYAz4Q== dependencies: - adm-zip "0.5.5" + adm-zip "0.5.9" bluebird "3.7.2" got "11.8.2" https-proxy-agent "5.0.0" - tar "6.1.9" + tar "6.1.11" generic-pool@^3.7.1: version "3.7.1" @@ -14787,9 +14793,9 @@ glob-to-regexp@^0.3.0: integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= glob-to-regexp@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.0.tgz#49bd677b1671022bd10921c3788f23cdebf9c7e6" - integrity sha512-fyPCII4vn9Gvjq2U/oDAfP433aiE64cyP/CJjRJcpVGjqqNdioUYn9+r0cSzT1XPwmGAHuTT7iv+rQT8u/YHKQ== + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== glob-watcher@5.0.3, glob-watcher@^5.0.3: version "5.0.3" @@ -14803,10 +14809,10 @@ glob-watcher@5.0.3, glob-watcher@^5.0.3: just-debounce "^1.0.0" object.defaults "^1.1.0" -glob@7.1.6, glob@^7.0.0, glob@^7.0.3, glob@^7.1.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1, glob@~7.1.4: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== +glob@7.2.0, glob@^7.0.0, glob@^7.0.3, glob@^7.1.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -14826,6 +14832,18 @@ glob@^6.0.1, glob@^6.0.4: once "^1.3.0" path-is-absolute "^1.0.0" +glob@~7.1.1, glob@~7.1.4: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + global-dirs@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz#acdf3bb6685bcd55cb35e8a052266569e9469201" @@ -15736,15 +15754,14 @@ html-tags@^3.1.0: integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== html-to-react@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/html-to-react/-/html-to-react-1.3.4.tgz#647b3a54fdec73a6461864b129fb0d1eec7d4589" - integrity sha512-/tWDdb/8Koi/QEP5YUY1653PcDpBnnMblXRhotnTuhFDjI1Fc6Wzox5d4sw73Xk5rM2OdM5np4AYjT/US/Wj7Q== + version "1.4.8" + resolved "https://registry.yarnpkg.com/html-to-react/-/html-to-react-1.4.8.tgz#1a78fe0ad50fe30b7e62f4e90fdff2f2c043eb1a" + integrity sha512-BDOPUYTej5eiOco0V0wxJ5FS+Zckp2O0kb13X1SxQFzyusIeUmnxAK0Cl5M6692bmGBs1WBjh9qF3oQ2AJUZmg== dependencies: - domhandler "^2.4.2" - escape-string-regexp "^1.0.5" - htmlparser2 "^3.10.0" + domhandler "^4.0" + htmlparser2 "^7.0" lodash.camelcase "^4.3.0" - ramda "^0.26" + ramda "^0.28.0" html-void-elements@^1.0.0: version "1.0.5" @@ -15800,6 +15817,16 @@ htmlparser2@^6.1.0: domutils "^2.5.2" entities "^2.0.0" +htmlparser2@^7.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-7.2.0.tgz#8817cdea38bbc324392a90b1990908e81a65f5a5" + integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.2" + domutils "^2.8.0" + entities "^3.0.1" + htmlparser2@~3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.3.0.tgz#cc70d05a59f6542e43f0e685c982e14c924a9efe" @@ -15985,9 +16012,9 @@ iconv-lite@^0.5.1: safer-buffer ">= 2.1.2 < 3" iconv-lite@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" - integrity sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ== + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== dependencies: safer-buffer ">= 2.1.2 < 3.0.0" @@ -16926,6 +16953,11 @@ is-unc-path@^1.0.0: dependencies: unc-path-regex "^0.1.2" +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + is-url@^1.2.2: version "1.2.4" resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" @@ -17841,9 +17873,9 @@ jpeg-js@^0.4.2: integrity sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q== jquery@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.5.0.tgz#9980b97d9e4194611c36530e7dc46a58d7340fc9" - integrity sha512-Xb7SVYMvygPxbFMpTFQiHh1J7HClEaThguL15N/Gg37Lri/qKyhRGZYzHRyLH8Stq3Aow0LsHO2O2ci86fCrNQ== + version "3.6.0" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470" + integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw== js-base64@^2.1.8: version "2.4.5" @@ -17906,15 +17938,22 @@ js-tokens@^4.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@3.14.0, js-yaml@^3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== +js-yaml@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.13.1, js-yaml@^3.14.1, js-yaml@^3.9.0: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^3.13.1, js-yaml@^3.9.0, js-yaml@~3.13.1: +js-yaml@~3.13.1: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -18529,13 +18568,6 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= -linkify-it@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.0.3.tgz#d94a4648f9b1c179d64fa97291268bdb6ce9434f" - integrity sha1-2UpGSPmxwXnWT6lykSaL22zpQ08= - dependencies: - uc.micro "^1.0.1" - linkify-it@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-3.0.2.tgz#f55eeb8bc1d3ae754049e124ab3bb56d97797fb8" @@ -18718,30 +18750,20 @@ locate-path@^6.0.0: p-locate "^5.0.0" lodash-es@^4.17.11: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.15.tgz#21bd96839354412f23d7a10340e5eac6ee455d78" - integrity sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ== + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= -lodash.assign@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" - integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc= - lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= -lodash.clone@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6" - integrity sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y= - lodash.clonedeep@4.5.0, lodash.clonedeep@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" @@ -18767,11 +18789,6 @@ lodash.escape@^4.0.1: resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98" integrity sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg= -lodash.fill@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/lodash.fill/-/lodash.fill-3.4.0.tgz#a3c74ae640d053adf0dc2079f8720788e8bfef85" - integrity sha1-o8dK5kDQU63w3CB5+HIHiOi/74U= - lodash.flatmap@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz#ef8cbf408f6e48268663345305c6acc0b778702e" @@ -18817,7 +18834,7 @@ lodash.isequal@^4.0.0, lodash.isequal@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= -lodash.isfunction@^3.0.8, lodash.isfunction@^3.0.9: +lodash.isfunction@^3.0.9: version "3.0.9" resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051" integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== @@ -18857,31 +18874,16 @@ lodash.memoize@~3.0.3: resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f" integrity sha1-LcvSwofLwKVcxCMovQxzYVDVPj8= -lodash.merge@^4.6.1, lodash.merge@^4.6.2: +lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.omit@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" - integrity sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA= - lodash.once@^4.0.0, lodash.once@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= -lodash.partialright@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/lodash.partialright/-/lodash.partialright-4.2.1.tgz#0130d80e83363264d40074f329b8a3e7a8a1cc4b" - integrity sha1-ATDYDoM2MmTUAHTzKbij56ihzEs= - -lodash.pick@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" - integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= - lodash.set@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" @@ -18940,12 +18942,13 @@ log-ok@^0.1.1: ansi-green "^0.1.1" success-symbol "^0.1.0" -log-symbols@4.0.0, log-symbols@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" - integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== +log-symbols@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== dependencies: - chalk "^4.0.0" + chalk "^4.1.0" + is-unicode-supported "^0.1.0" log-symbols@^1.0.2: version "1.0.2" @@ -18961,6 +18964,13 @@ log-symbols@^3.0.0: dependencies: chalk "^2.4.2" +log-symbols@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== + dependencies: + chalk "^4.0.0" + log-update@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" @@ -18980,15 +18990,15 @@ log-update@^4.0.0: slice-ansi "^4.0.0" wrap-ansi "^6.2.0" -logform@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/logform/-/logform-2.2.0.tgz#40f036d19161fc76b68ab50fdc7fe495544492f2" - integrity sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg== +logform@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/logform/-/logform-2.3.2.tgz#68babe6a74ab09a1fd15a9b1e6cbc7713d41cb5b" + integrity sha512-V6JiPThZzTsbVRspNO6TmHkR99oqYTs8fivMBYQkjZj6rxW92KxtDCPE6IkAk1DNBnYKNkjm4jYBm6JDUcyhOA== dependencies: - colors "^1.2.1" - fast-safe-stringify "^2.0.4" + colors "1.4.0" fecha "^4.2.0" ms "^2.1.1" + safe-stable-stringify "^1.1.0" triple-beam "^1.3.0" loglevel@^1.6.8: @@ -19089,6 +19099,11 @@ lru-queue@0.1: dependencies: es5-ext "~0.10.2" +luxon@^1.25.0: + version "1.28.0" + resolved "https://registry.yarnpkg.com/luxon/-/luxon-1.28.0.tgz#e7f96daad3938c06a62de0fb027115d251251fbf" + integrity sha512-TfTiyvZhwBYM/7QdAVDh+7dBTBA29v4ik0Ce9zda3Mnf8on1S5KJI8P2jKFZ8+5C0jhmr0KwJEO/Wdpm0VeWJQ== + lz-string@^1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" @@ -19244,17 +19259,6 @@ markdown-escapes@^1.0.0: resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.1.tgz#1994df2d3af4811de59a6714934c2b2292734518" integrity sha1-GZTfLTr0gR3lmmcUk0wrIpJzRRg= -markdown-it@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-10.0.0.tgz#abfc64f141b1722d663402044e43927f1f50a8dc" - integrity sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg== - dependencies: - argparse "^1.0.7" - entities "~2.0.0" - linkify-it "^2.0.0" - mdurl "^1.0.1" - uc.micro "^1.0.5" - markdown-it@^11.0.0: version "11.0.1" resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-11.0.1.tgz#b54f15ec2a2193efa66dda1eb4173baea08993d6" @@ -19266,6 +19270,17 @@ markdown-it@^11.0.0: mdurl "^1.0.1" uc.micro "^1.0.5" +markdown-it@^12.3.2: + version "12.3.2" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.3.2.tgz#bf92ac92283fe983fe4de8ff8abfb5ad72cd0c90" + integrity sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg== + dependencies: + argparse "^2.0.1" + entities "~2.1.0" + linkify-it "^3.0.1" + mdurl "^1.0.1" + uc.micro "^1.0.5" + markdown-table@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b" @@ -19743,10 +19758,10 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== +"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.2, minimatch@~3.0.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" @@ -19759,10 +19774,10 @@ minimist-options@4.1.0, minimist-options@^4.0.2: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@0.0.8, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@~1.2.0: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimist@0.0.8, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6, minimist@~1.2.0: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== minipass-collect@^1.0.2: version "1.0.2" @@ -19885,91 +19900,89 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mocha-junit-reporter@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mocha-junit-reporter/-/mocha-junit-reporter-2.0.0.tgz#3bf990fce7a42c0d2b718f188553a25d9f24b9a2" - integrity sha512-20HoWh2HEfhqmigfXOKUhZQyX23JImskc37ZOhIjBKoBEsb+4cAFRJpAVhFpnvsztLklW/gFVzsrobjLwmX4lA== +mocha-junit-reporter@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/mocha-junit-reporter/-/mocha-junit-reporter-2.0.2.tgz#d521689b651dc52f52044739f8ffb368be415731" + integrity sha512-vYwWq5hh3v1lG0gdQCBxwNipBfvDiAM1PHroQRNp96+2l72e9wEUTw+mzoK+O0SudgfQ7WvTQZ9Nh3qkAYAjfg== dependencies: debug "^2.2.0" md5 "^2.1.0" mkdirp "~0.5.1" - strip-ansi "^4.0.0" + strip-ansi "^6.0.1" xml "^1.0.0" -mocha@^8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.2.1.tgz#f2fa68817ed0e53343d989df65ccd358bc3a4b39" - integrity sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w== +mocha@^9.1.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.2.0.tgz#2bfba73d46e392901f877ab9a47b7c9c5d0275cc" + integrity sha512-kNn7E8g2SzVcq0a77dkphPsDSN7P+iYkqE0ZsGCYWRsoiKjOt+NvXfaagik8vuDa6W5Zw3qxe8Jfpt5qKf+6/Q== dependencies: "@ungap/promise-all-settled" "1.1.2" ansi-colors "4.1.1" browser-stdout "1.3.1" - chokidar "3.4.3" - debug "4.2.0" - diff "4.0.2" + chokidar "3.5.3" + debug "4.3.3" + diff "5.0.0" escape-string-regexp "4.0.0" find-up "5.0.0" - glob "7.1.6" + glob "7.2.0" growl "1.10.5" he "1.2.0" - js-yaml "3.14.0" - log-symbols "4.0.0" + js-yaml "4.1.0" + log-symbols "4.1.0" minimatch "3.0.4" - ms "2.1.2" - nanoid "3.1.12" - serialize-javascript "5.0.1" + ms "2.1.3" + nanoid "3.2.0" + serialize-javascript "6.0.0" strip-json-comments "3.1.1" - supports-color "7.2.0" + supports-color "8.1.1" which "2.0.2" - wide-align "1.1.3" - workerpool "6.0.2" - yargs "13.3.2" - yargs-parser "13.1.2" + workerpool "6.2.0" + yargs "16.2.0" + yargs-parser "20.2.4" yargs-unparser "2.0.0" -mochawesome-merge@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/mochawesome-merge/-/mochawesome-merge-4.2.0.tgz#970ea141165039bfdd6772b1232a1ef6ba99af1a" - integrity sha512-FSMzagh+8hTShhFXdBLE4/zS2WALcDruoD0bmtiwHEjfyQszR/iEGFTgbuM5ewA5At3qeSGwGsT0k2Stt64NdQ== +mochawesome-merge@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/mochawesome-merge/-/mochawesome-merge-4.2.1.tgz#484e5c500dd5d88b33adb440e6dfef80d9109a18" + integrity sha512-G7+LqIKgixShKG4FyWDn1PIrzpKEwCofrJip/VzdqghNGqZl4S5MNoXx5YDfk9KLe+pr4qGa1TOzCc/oVw/8Kw== dependencies: fs-extra "^7.0.1" glob "^7.1.6" - uuid "^3.3.2" yargs "^15.3.1" -mochawesome-report-generator@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/mochawesome-report-generator/-/mochawesome-report-generator-5.1.0.tgz#b8809e7661ac31732fa7ae7210380f704f7c68f6" - integrity sha512-5cI4Jh+sD+jIxc7q94961vnm/6VKDI7TFUPt9dps6oAc4y4WMpEeeOlmgKKM81q2eGaviNUYw+acFalGK6EJ9g== +mochawesome-report-generator@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/mochawesome-report-generator/-/mochawesome-report-generator-6.0.1.tgz#7314f43c3e61247b0ea48ce2dda0813ca6fdd705" + integrity sha512-/+RoE/lD7QTJBh7VsymdQOTqS8QuB94xKJCJXxZ3fy3JsDdPNgTBgUlEOR99r+2W1zPgEWVhRBU1Tl9fe6kI+w== dependencies: - chalk "^2.4.2" - dateformat "^3.0.2" + chalk "^4.1.2" + dateformat "^4.5.1" escape-html "^1.0.3" - fs-extra "^7.0.0" - fsu "^1.0.2" - lodash.isfunction "^3.0.8" - opener "^1.4.2" + fs-extra "^10.0.0" + fsu "^1.1.1" + lodash.isfunction "^3.0.9" + opener "^1.5.2" prop-types "^15.7.2" tcomb "^3.2.17" tcomb-validation "^3.3.0" - validator "^10.11.0" - yargs "^13.2.2" + validator "^13.6.0" + yargs "^17.2.1" -mochawesome@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/mochawesome/-/mochawesome-6.2.1.tgz#38ed75cf1b2ff86e7c894d6f33499183a49dd0b7" - integrity sha512-zew/N1Gb4JYCTl3scu9i8OW0ay7b0ZOGczCrSW/P+XdBrLntqI5/JlJiYV1/Nn/SY4qahddsIE+qWL8ACNerPA== +mochawesome@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/mochawesome/-/mochawesome-7.0.1.tgz#c7c65350232bed7c3ae5f6bb79a2d55b71f51baa" + integrity sha512-2FTU7KVNDiKohi4IG3IVmJ2OTy0Nm0Q2RjueK9hsj7blbkcrpFVH209cP8P4egi+LBidKdX+QmtN3thJde2yiQ== dependencies: - chalk "^4.0.0" - diff "^4.0.1" + chalk "^4.1.2" + diff "^5.0.0" json-stringify-safe "^5.0.1" lodash.isempty "^4.4.0" lodash.isfunction "^3.0.9" lodash.isobject "^3.0.2" lodash.isstring "^4.0.1" - mochawesome-report-generator "^5.1.0" - strip-ansi "^6.0.0" - uuid "^7.0.3" + mochawesome-report-generator "^6.0.1" + strip-ansi "^6.0.1" + uuid "^8.3.2" mock-fs@^5.1.1: version "5.1.1" @@ -20063,10 +20076,10 @@ move-concurrently@^1.0.1: rimraf "^2.5.4" run-queue "^1.0.3" -ms-chromium-edge-driver@^0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/ms-chromium-edge-driver/-/ms-chromium-edge-driver-0.4.2.tgz#d339b0c6a8b85c4cb8c3dc9ca11bd8ed6a8edc93" - integrity sha512-eMQsPyNq3Nv2Dt0tPHsBYDPhabcl1QO+EvLxVfAtoSN+OSfM+eO+m0WY5asAIo2CZzh5XfkW15tVhrspPsDAFg== +ms-chromium-edge-driver@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/ms-chromium-edge-driver/-/ms-chromium-edge-driver-0.4.3.tgz#808723efaf24da086ebc2a2feb0975162164d2ff" + integrity sha512-+UcyDNaNjvk17+Yx12WaiOCFB0TUgQ9dh5lHFVRaHn6sCGoMO1MWsO4+Ut6hdZHoJSKqk+dIOgHoAyWkpfsTaw== dependencies: extract-zip "^2.0.1" got "^11.8.2" @@ -20088,7 +20101,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.1.3: +ms@2.1.3, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -20227,15 +20240,10 @@ nano-time@1.0.0: dependencies: big-integer "^1.6.16" -nanocolors@^0.1.5: - version "0.1.12" - resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.1.12.tgz#8577482c58cbd7b5bb1681db4cf48f11a87fd5f6" - integrity sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ== - -nanoid@3.1.12: - version "3.1.12" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.12.tgz#6f7736c62e8d39421601e4a0c77623a97ea69654" - integrity sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A== +nanoid@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" + integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== nanomatch@^1.2.9: version "1.2.9" @@ -20425,15 +20433,17 @@ node-emoji@^1.10.0: dependencies: lodash.toarray "^4.4.0" -node-fetch@2.6.1, node-fetch@^1.0.1, node-fetch@^2.3.0, node-fetch@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== +node-fetch@2.6.1, node-fetch@^1.0.1, node-fetch@^2.3.0, node-fetch@^2.6.1, node-fetch@^2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" -node-forge@^0.10.0, node-forge@^0.7.6: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== +node-forge@^0.10.0, node-forge@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.0.tgz#37a874ea723855f37db091e6c186e5b67a01d4b2" + integrity sha512-08ARB91bUi6zNKzVmaj3QO7cr397uiDT2nJ63cHjyNtCTWIgvS47j3eT0WfzUwS9+6Z5YshRaoasFkXCKrIYbA== node-gyp-build@^4.2.3: version "4.2.3" @@ -20477,26 +20487,20 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= -node-jose@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/node-jose/-/node-jose-1.1.0.tgz#15b0808ed7cf40cc6114c95c1a4d7394051c472a" - integrity sha512-Ux5MDElyiAlBQyOdFcwznK2TWMJbG8ZUfIZ28UtBvTB/VUz5HA/1WJV7s+YCah5NilPhkMkNi6xjnFRI+MQAVg== - dependencies: - base64url "^3.0.0" - es6-promise "^4.2.5" - lodash.assign "^4.2.0" - lodash.clone "^4.5.0" - lodash.fill "^3.4.0" - lodash.flatten "^4.4.0" - lodash.intersection "^4.4.0" - lodash.merge "^4.6.1" - lodash.omit "^4.5.0" - lodash.partialright "^4.2.1" - lodash.pick "^4.4.0" - lodash.uniq "^4.5.0" +node-jose@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/node-jose/-/node-jose-2.0.0.tgz#541c6b52c387a3f18fc06cd502baad759af9c470" + integrity sha512-j8zoFze1gijl8+DK/dSXXqX7+o2lMYv1XS+ptnXgGV/eloQaqq1YjNtieepbKs9jBS4WTnMOqyKSaQuunJzx0A== + dependencies: + base64url "^3.0.1" + buffer "^5.5.0" + es6-promise "^4.2.8" + lodash "^4.17.15" long "^4.0.0" - node-forge "^0.7.6" - uuid "^3.3.2" + node-forge "^0.10.0" + pako "^1.0.11" + process "^0.11.10" + uuid "^3.3.3" node-libs-browser@^2.2.1: version "2.2.1" @@ -20556,11 +20560,6 @@ node-releases@^1.1.61: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.61.tgz#707b0fca9ce4e11783612ba4a2fcba09047af16e" integrity sha512-DD5vebQLg8jLCOzwupn954fbIiZht05DAZs0k2u8NStSe6h9XdsuIQL8hSRKYiU8WUQRznmSDrKGbv3ObOmC7g== -node-releases@^1.1.76: - version "1.1.76" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e" - integrity sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA== - node-releases@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" @@ -20593,20 +20592,20 @@ nodemailer@^6.6.2: integrity sha512-YSzu7TLbI+bsjCis/TZlAXBoM4y93HhlIgo0P5oiA2ua9Z4k+E2Fod//ybIzdJxOlXGRcHIh/WaeCBehvxZb/Q== nodemon@^2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.6.tgz#1abe1937b463aaf62f0d52e2b7eaadf28cc2240d" - integrity sha512-4I3YDSKXg6ltYpcnZeHompqac4E6JeAMpGm8tJnB9Y3T0ehasLa4139dJOcCrB93HHrUMsCrKtoAlXTqT5n4AQ== + version "2.0.15" + resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.15.tgz#504516ce3b43d9dc9a955ccd9ec57550a31a8d4e" + integrity sha512-gdHMNx47Gw7b3kWxJV64NI+Q5nfl0y5DgDbiVtShiwa7Z0IZ07Ll4RLFo6AjrhzMtoEZn5PDE3/c2AbVsiCkpA== dependencies: - chokidar "^3.2.2" - debug "^3.2.6" + chokidar "^3.5.2" + debug "^3.2.7" ignore-by-default "^1.0.1" minimatch "^3.0.4" - pstree.remy "^1.1.7" + pstree.remy "^1.1.8" semver "^5.7.1" supports-color "^5.5.0" touch "^3.1.0" - undefsafe "^2.0.3" - update-notifier "^4.1.0" + undefsafe "^2.0.5" + update-notifier "^5.1.0" nopt@^2.2.0: version "2.2.1" @@ -21035,9 +21034,9 @@ onetime@^2.0.0: mimic-fn "^1.0.0" onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" @@ -21049,10 +21048,10 @@ open@^7.0.2, open@^7.0.3: is-docker "^2.0.0" is-wsl "^2.1.1" -opener@^1.4.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" - integrity sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA== +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== opentracing@^0.14.3: version "0.14.4" @@ -21405,16 +21404,11 @@ pako@^0.2.5: resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" integrity sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU= -pako@^1.0.3: +pako@^1.0.11, pako@^1.0.3, pako@^1.0.5, pako@~1.0.2, pako@~1.0.5: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== -pako@^1.0.5, pako@~1.0.2, pako@~1.0.5: - version "1.0.10" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" - integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== - papaparse@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/papaparse/-/papaparse-5.2.0.tgz#97976a1b135c46612773029153dc64995caa3b7b" @@ -21968,6 +21962,35 @@ playwright-chromium@=1.14.0: ws "^7.4.6" yazl "^2.5.1" +playwright-core@=1.17.1: + version "1.17.1" + resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.17.1.tgz#a16e0f89284a0ed8ae6d77e1c905c84b8a2ba022" + integrity sha512-C3c8RpPiC3qr15fRDN6dx6WnUkPLFmST37gms2aoHPDRvp7EaGDPMMZPpqIm/QWB5J40xDrQCD4YYHz2nBTojQ== + dependencies: + commander "^8.2.0" + debug "^4.1.1" + extract-zip "^2.0.1" + https-proxy-agent "^5.0.0" + jpeg-js "^0.4.2" + mime "^2.4.6" + pngjs "^5.0.0" + progress "^2.0.3" + proper-lockfile "^4.1.1" + proxy-from-env "^1.1.0" + rimraf "^3.0.2" + socks-proxy-agent "^6.1.0" + stack-utils "^2.0.3" + ws "^7.4.6" + yauzl "^2.10.0" + yazl "^2.5.1" + +playwright@^1.17.1: + version "1.17.1" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.17.1.tgz#a6d63302ee40f41283c4bf869de261c4743a787c" + integrity sha512-DisCkW9MblDJNS3rG61p8LiLA2WA7IY/4A4W7DX4BphWe/HuWjKmGQptuk4NVIh5UuSwXpW/jaH2+ZgjHs3GMA== + dependencies: + playwright-core "=1.17.1" + plugin-error@^1.0.0, plugin-error@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c" @@ -22628,10 +22651,10 @@ printj@~1.1.0: resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== -prismjs@^1.22.0, prismjs@~1.25.0: - version "1.25.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.25.0.tgz#6f822df1bdad965734b310b315a23315cf999756" - integrity sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg== +prismjs@^1.22.0, prismjs@~1.25.0, prismjs@~1.27.0: + version "1.27.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057" + integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA== private@^0.1.8, private@~0.1.5: version "0.1.8" @@ -22842,10 +22865,10 @@ psl@^1.1.28, psl@^1.1.33: resolved "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz#5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2" integrity sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw== -pstree.remy@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.7.tgz#c76963a28047ed61542dc361aa26ee55a7fa15f3" - integrity sha512-xsMgrUwRpuGskEzBFkH8NmTimbZ5PcPup0LA8JJkHIm2IMUbQcpo3yeLNWVrufEYjh8YwtSVh0xz6UeWc5Oh5A== +pstree.remy@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a" + integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== public-encrypt@^4.0.0: version "4.0.0" @@ -23072,16 +23095,16 @@ ramda@^0.21.0: resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.21.0.tgz#a001abedb3ff61077d4ff1d577d44de77e8d0a35" integrity sha1-oAGr7bP/YQd9T/HVd9RN536NCjU= -ramda@^0.26: - version "0.26.1" - resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.26.1.tgz#8d41351eb8111c55353617fc3bbffad8e4d35d06" - integrity sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ== - ramda@^0.27.1, ramda@~0.27.1: version "0.27.1" resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.1.tgz#66fc2df3ef873874ffc2da6aa8984658abacf5c9" integrity sha512-PgIdVpn5y5Yns8vqb8FzBUEYn98V3xcPgawAkkgj0YJ0qDsnHCiNmZYfOGMgOvoB0eWFLpYbhxUR3mxfDIMvpw== +ramda@^0.28.0: + version "0.28.0" + resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.28.0.tgz#acd785690100337e8b063cab3470019be427cc97" + integrity sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA== + randexp@0.4.6: version "0.4.6" resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3" @@ -23987,7 +24010,7 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -"readable-stream@1 || 2", "readable-stream@2 || 3", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@^2.3.7, readable-stream@~2.3.3, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.3, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -24010,7 +24033,7 @@ readable-stream@1.0, "readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0 isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@3, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: +"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -25068,6 +25091,16 @@ safe-squel@^5.12.5: dependencies: sql-escape-string "^1.1.0" +safe-stable-stringify@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz#c8a220ab525cd94e60ebf47ddc404d610dc5d84a" + integrity sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw== + +safe-stable-stringify@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz#ab67cbe1fe7d40603ca641c5e765cb942d04fc73" + integrity sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg== + "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -25186,11 +25219,11 @@ schema-utils@^0.4.5: ajv-keywords "^3.1.0" schema-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" - integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA== + version "3.1.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== dependencies: - "@types/json-schema" "^7.0.6" + "@types/json-schema" "^7.0.8" ajv "^6.12.5" ajv-keywords "^3.5.2" @@ -25240,13 +25273,12 @@ select-hose@^2.0.0: resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= -selenium-webdriver@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.0.0.tgz#7dc8969facee3be634459e173f557b7e34308e73" - integrity sha512-tOlu6FnTjPq2FKpd153pl8o2cB7H40Rvl/ogiD2sapMv4IDjQqpIxbd+swDJe9UDLdszeh5CDis6lgy4e9UG1w== +selenium-webdriver@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-4.1.1.tgz#da083177d811f36614950e809e2982570f67d02e" + integrity sha512-Fr9e9LC6zvD6/j7NO8M1M/NVxFX67abHcxDJoP5w2KN/Xb1SyYLjMVPGgD14U2TOiKe4XKHf42OmFw9g2JgCBQ== dependencies: jszip "^3.6.0" - rimraf "^3.0.2" tmp "^0.2.1" ws ">=7.4.6" @@ -25298,12 +25330,7 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semve resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.2, semver@~7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -semver@^7.3.4, semver@^7.3.5, semver@~7.3.0: +semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@~7.3.0, semver@~7.3.2: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -25334,10 +25361,10 @@ serialize-error@^2.1.0: resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-2.1.0.tgz#50b679d5635cdf84667bdc8e59af4e5b81d5f60a" integrity sha1-ULZ51WNc34Rme9yOWa9OW4HV9go= -serialize-javascript@5.0.1, serialize-javascript@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" - integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== +serialize-javascript@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== dependencies: randombytes "^2.1.0" @@ -25348,6 +25375,13 @@ serialize-javascript@^3.0.0, serialize-javascript@^3.1.0: dependencies: randombytes "^2.1.0" +serialize-javascript@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== + dependencies: + randombytes "^2.1.0" + serve-favicon@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/serve-favicon/-/serve-favicon-2.5.0.tgz#935d240cdfe0f5805307fdfe967d88942a2cbcf0" @@ -25575,9 +25609,9 @@ sigmund@^1.0.1: integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== simple-concat@^1.0.0: version "1.0.1" @@ -25767,7 +25801,16 @@ socks-proxy-agent@^5.0.0: debug "4" socks "^2.3.3" -socks@^2.3.3: +socks-proxy-agent@^6.1.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz#e664e8f1aaf4e1fb3df945f09e3d94f911137f87" + integrity sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew== + dependencies: + agent-base "^6.0.2" + debug "^4.3.1" + socks "^2.6.1" + +socks@^2.3.3, socks@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.1.tgz#989e6534a07cf337deb1b1c94aaa44296520d30e" integrity sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA== @@ -25853,18 +25896,10 @@ source-map-support@^0.3.2: dependencies: source-map "0.1.32" -source-map-support@^0.5.16, source-map-support@^0.5.19, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.19: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@^0.5.20: - version "0.5.20" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" - integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== +source-map-support@^0.5.16, source-map-support@^0.5.19, source-map-support@^0.5.20, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.19, source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -26413,14 +26448,6 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" @@ -26430,6 +26457,14 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" +string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" @@ -26439,6 +26474,15 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + "string.prototype.matchall@^4.0.0 || ^3.0.1", string.prototype.matchall@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da" @@ -26568,6 +26612,13 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-bom-string@1.X: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" @@ -26829,10 +26880,10 @@ supertest@^3.1.0: methods "~1.1.2" superagent "3.8.2" -supports-color@7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== +supports-color@8.1.1, supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" @@ -26867,13 +26918,6 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - supports-hyperlinks@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz#71daedf36cc1060ac5100c351bb3da48c29c0ef7" @@ -27086,19 +27130,7 @@ tar-stream@^2.1.4: inherits "^2.0.3" readable-stream "^3.1.1" -tar@6.1.9: - version "6.1.9" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.9.tgz#5646ef51342ac55456b2466e44da810439978db1" - integrity sha512-XjLaMNl76o07zqZC/aW4lwegdY07baOH1T8w3AEfrHAdyg/oYO4ctjzEBq9Gy9fEP9oHqLIgvx6zuGDGe+bc8Q== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -tar@^6.0.2, tar@^6.1.11, tar@^6.1.2: +tar@6.1.11, tar@^6.0.2, tar@^6.1.11, tar@^6.1.2: version "6.1.11" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== @@ -27220,13 +27252,13 @@ terser@^4.1.2, terser@^4.6.3: source-map-support "~0.5.12" terser@^5.3.4, terser@^5.7.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.1.tgz#2dc7a61009b66bb638305cb2a824763b116bf784" - integrity sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg== + version "5.10.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" + integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== dependencies: commander "^2.20.0" source-map "~0.7.2" - source-map-support "~0.5.19" + source-map-support "~0.5.20" test-exclude@^6.0.0: version "6.0.0" @@ -27614,6 +27646,11 @@ tr46@^2.0.2: dependencies: punycode "^2.1.1" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + traceparent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/traceparent/-/traceparent-1.0.0.tgz#9b14445cdfe5c19f023f1c04d249c3d8e003a5ce" @@ -27656,7 +27693,7 @@ trim@0.0.1, trim@1.0.1: resolved "https://registry.yarnpkg.com/trim/-/trim-1.0.1.tgz#68e78f6178ccab9687a610752f4f5e5a7022ee8c" integrity sha512-3JVP2YVqITUisXblCDq/Bi4P9457G/sdEamInkyvCsjbTcXLXIiG7XCb4kGMFWh6JGXesS3TKxOPtrncN/xe8w== -triple-beam@^1.2.0, triple-beam@^1.3.0: +triple-beam@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9" integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw== @@ -28021,12 +28058,10 @@ undeclared-identifiers@^1.1.2: simple-concat "^1.0.0" xtend "^4.0.1" -undefsafe@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.3.tgz#6b166e7094ad46313b2202da7ecc2cd7cc6e7aae" - integrity sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A== - dependencies: - debug "^2.2.0" +undefsafe@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c" + integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== underscore@^1.13.1, underscore@^1.8.3: version "1.13.1" @@ -28503,9 +28538,9 @@ url-parse-lax@^3.0.0: prepend-http "^2.0.0" url-parse@^1.4.3, url-parse@^1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862" - integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ== + version "1.5.9" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.9.tgz#05ff26484a0b5e4040ac64dcee4177223d74675e" + integrity sha512-HpOvhKBvre8wYez+QhHcYiVvVmeF6DVnuSOOPhe3cTum3BnqHhvKaZm8FU5yTiOu/Jut2ZpB2rA/SbBA1JIGlQ== dependencies: querystringify "^2.1.1" requires-port "^1.0.0" @@ -28677,11 +28712,6 @@ uuid@^3.0.0, uuid@^3.3.2, uuid@^3.3.3, uuid@^3.4.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -uuid@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" - integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== - uuid@^8.3.0, uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" @@ -28724,10 +28754,10 @@ validate-npm-package-license@^3.0.1: spdx-correct "~1.0.0" spdx-expression-parse "~1.0.0" -validator@^10.11.0: - version "10.11.0" - resolved "https://registry.yarnpkg.com/validator/-/validator-10.11.0.tgz#003108ea6e9a9874d31ccc9e5006856ccd76b228" - integrity sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw== +validator@^13.6.0: + version "13.7.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857" + integrity sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw== validator@^8.0.0: version "8.2.0" @@ -29365,6 +29395,11 @@ web-streams-polyfill@^3.0.0: resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.0.1.tgz#1f836eea307e8f4af15758ee473c7af755eb879e" integrity sha512-M+EmTdszMWINywOZaqpZ6VIEDUmNpRaTOuizF0ZKPjSDC8paMRe/jBBwFv0Yeyn5WYnM5pMqMQa82vpaE+IJRw== +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" @@ -29563,6 +29598,14 @@ whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + whatwg-url@^6.5.0: version "6.5.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" @@ -29647,13 +29690,6 @@ which@^1.2.14, which@^1.2.9, which@^1.3.1: dependencies: isexe "^2.0.0" -wide-align@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - wide-align@^1.1.0: version "1.1.5" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" @@ -29692,28 +29728,30 @@ windows-release@^3.1.0: dependencies: execa "^1.0.0" -winston-transport@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.4.0.tgz#17af518daa690d5b2ecccaa7acf7b20ca7925e59" - integrity sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw== +winston-transport@^4.4.2: + version "4.5.0" + resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.5.0.tgz#6e7b0dd04d393171ed5e4e4905db265f7ab384fa" + integrity sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q== dependencies: - readable-stream "^2.3.7" - triple-beam "^1.2.0" + logform "^2.3.2" + readable-stream "^3.6.0" + triple-beam "^1.3.0" winston@^3.0.0, winston@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/winston/-/winston-3.3.3.tgz#ae6172042cafb29786afa3d09c8ff833ab7c9170" - integrity sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw== + version "3.5.1" + resolved "https://registry.yarnpkg.com/winston/-/winston-3.5.1.tgz#b25cc899d015836dbf8c583dec8c4c4483a0da2e" + integrity sha512-tbRtVy+vsSSCLcZq/8nXZaOie/S2tPXPFt4be/Q3vI/WtYwm7rrwidxVw2GRa38FIXcJ1kUM6MOZ9Jmnk3F3UA== dependencies: "@dabh/diagnostics" "^2.0.2" - async "^3.1.0" + async "^3.2.3" is-stream "^2.0.0" - logform "^2.2.0" + logform "^2.3.2" one-time "^1.0.0" readable-stream "^3.4.0" + safe-stable-stringify "^2.3.1" stack-trace "0.0.x" triple-beam "^1.3.0" - winston-transport "^4.4.0" + winston-transport "^4.4.2" word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" @@ -29744,10 +29782,10 @@ worker-rpc@^0.1.0: dependencies: microevent.ts "~0.1.1" -workerpool@6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.2.tgz#e241b43d8d033f1beb52c7851069456039d1d438" - integrity sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q== +workerpool@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.0.tgz#827d93c9ba23ee2019c3ffaff5c27fccea289e8b" + integrity sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A== wrap-ansi@^2.0.0: version "2.1.0" @@ -30001,13 +30039,10 @@ yaml@^1.10.0, yaml@^1.7.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== -yargs-parser@13.1.2, yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" +yargs-parser@20.2.4, yargs-parser@^20.2.3: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== yargs-parser@5.0.0-security.0: version "5.0.0-security.0" @@ -30017,6 +30052,14 @@ yargs-parser@5.0.0-security.0: camelcase "^3.0.0" object.assign "^4.1.0" +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^18.1.2, yargs-parser@^18.1.3: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" @@ -30030,10 +30073,10 @@ yargs-parser@^20.2.2: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.2.tgz#84562c6b1c41ccec2f13d346c7dd83f8d1a0dc70" integrity sha512-XmrpXaTl6noDsf1dKpBuUNCOHqjs0g3jRMXf/ztRxdOmb+er8kE5z5b55Lz3p5u2T8KJ59ENBnASS8/iapVJ5g== -yargs-parser@^20.2.3: - version "20.2.4" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== +yargs-parser@^21.0.0: + version "21.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55" + integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA== yargs-unparser@2.0.0: version "2.0.0" @@ -30045,7 +30088,20 @@ yargs-unparser@2.0.0: flat "^5.0.2" is-plain-obj "^2.1.0" -yargs@13.3.2, yargs@^13.2.2, yargs@^13.3.0, yargs@^13.3.2: +yargs@16.2.0, yargs@^16.2.0, yargs@~16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^13.3.0, yargs@^13.3.2: version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== @@ -30078,31 +30134,18 @@ yargs@^15.0.2, yargs@^15.3.1, yargs@^15.4.1: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^16.2.0, yargs@~16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yargs@^17.0.1: - version "17.1.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.1.1.tgz#c2a8091564bdb196f7c0a67c1d12e5b85b8067ba" - integrity sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ== +yargs@^17.0.1, yargs@^17.2.1: + version "17.3.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" + integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== dependencies: cliui "^7.0.2" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" - string-width "^4.2.0" + string-width "^4.2.3" y18n "^5.0.5" - yargs-parser "^20.2.2" + yargs-parser "^21.0.0" yargs@^3.15.0: version "3.32.0"